Starts a session with the Multiprotocol Quad Port (MPQP) device handler.
The CIO_START operation registers a network ID in the network ID table and establishes the physical connection with the MPQP device. Once this start operation completes successfully, the port is ready to transmit and receive data.
Note: The CIO_START operation defines the protocol- and configuration-specific attributes of the selected port. All bits that are not defined must be set to 0 (zero).
For the MPQP CIO_START operation, the extptr parameter points to a t_start_dev structure. This structure contains pointers to the session_blk structure.
The session_blk structure contains the netid and status fields. The t_start_dev device-dependent information for an MPQP device follows the session block. All of these structures can be found in the /usr/include/sys/mpqp.h file.
The t_start_dev structure contains the following fields:
phys_link | Indicates the physical link protocol. Only one type of physical link is valid at a time. The six supported values are:
Note: When using the X.21 physical interface, X.21 centralized multiport (multidrop) operation on a leased-circuit public data network is not supported. If the phys_link field is PL_SMART_MODEM or PL_V25, the dial_proto and dial_flags fields are applicable. Otherwise, these fields are ignored. If no dial protocol or flags are supplied when the PL_SMART_MODEM or PL_V25 link is selected, defaults are used. The defaults for the dial phase for a PL_SMART_MODEM link is an asynchronous protocol at 2400 baud with even parity, 7 bits per character, and 1 stop bit. A PL_V25 link has the same defaults. | ||||||||||||||
dial_proto | Identifies the autodial protocol, which communicates with the modem to send information such as dial sequence or register settings. Most modems use an asynchronous protocol during the connect phase of call establishment. If no value is set, the default mode is asynchronous.
Note: The dial_proto field is ignored if the physical link is not an autodial protocol. | ||||||||||||||
data_proto | Identifies the possible data protocol selections during the data transfer phase. The data_flags
field has different meanings depending on what protocol is selected. The data_proto
field accepts the following values:
| ||||||||||||||
modem_flags | Establishes modem characteristics. This field accepts the following values:
Note: The MF_DRS_ON and MF_DRS_OFF modem characteristics are not currently supported. The default is full speed. | ||||||||||||||
poll_addr | Identifies the address-compare value for a Binary Synchronous Communication (BSC) polling frame or an Synchronous Data Link Control (SDLC) frame. If using BSC, a value for the selection address must also be provided or the address-compare is not enabled. If a frame is received that does not match the poll address (or select address for BSC), the frame is not passed to the system. | ||||||||||||||
select_addr | Specifies a valid select address for BSC only. | ||||||||||||||
modem_int_mask | Reserved. This value must be 0. | ||||||||||||||
baud_rate | Specifies the baud rate for transmit and receive clock. This field is used for date terminal equipment (DTE) clocking only (that is, when the modem does not supply the clock). Acceptable baud rates range from 150 baud to a maximum speed of 38400 baud. If this field contains a value that does not match one of the following choices, the next lowest baud rate is used:
A value of 0 indicates the port is to be externally clocked (that is, use modem clocking). The on-board baud rate generator is limited to a speed of 38400. All higher baud rates up to the maximum of 64000 bits must be accomplished with modem clocking. For RS232, the adapter drives a clock signal on the DTE clock. Most modems provide their own clocking. If the physical link is set to the PL_SMART_MODEM or PL_V25 link, the baud rate is the speed of the dial sequence and modem clocking is used for data transfer. | ||||||||||||||
rcv_timeout | Indicates the period of time, expressed in 100-msec units (0.10 sec), used for setting the receive timer. The MPQP device driver starts the receive timer whenever the CIO_START operation completes and a final transmit occurs.
If a receive occurs that is not a receive final frame, the timer is restarted. The timer is stopped when the receive final occurs. If the timer expires before a receive occurs, an error is reported to the logical link control (LLC) protocol. After the CIO_START operation completes, the receive time out value can be changed by the MP_CHANGE_PARAMS operation. A value of zero indicates that a receive timer should not be activated. Final frames in SDLC are all frames with the poll or final bit set. In BSC, all frames are final frames except intermediate text block (ITB) frames. | ||||||||||||||
rcv_data_offset | Reserved | ||||||||||||||
dial_data_length | Specifies the length of the dial data. Dial data for Hayes-style dial data can be up to 256 bytes. |
Flag fields in the t_start_dev structure take different values depending on the type of autodial protocol selected.
If BSC is selected in the data_proto field, either ASCII or EBCDIC character sets can be used. Control characters are stripped automatically on reception. Data link escape (DLE) characters are automatically inserted and deleted in transparent mode. If BSC Address Check mode is selected, values for both poll and select addresses must be supplied. Odd parity is used if ASCII is selected.
The following are the default values:
The data flags for the BSC autodial protocol are:
If ASC and the parity enable bit is set, the value for parity select is honored. A value of 0 equals even parity. A value of 1 equals odd parity. If parity enable is set to 0, no parity type is enforced. The following are acceptable ASC dial flags:
For the Synchronous Data Link Control (SDLC) protocol, the flag for NRZ or NRZI must match the data-encoding method that is used by the remote DTE. If SDLC Address Check mode is selected, the poll address byte must also be specified. The receive timer (RT) is started whenever a final block is transmitted. If RT is set to 1, the receive timer is restarted after expiration. If RT is set to 0, the receive timer is not restarted after expiration. The receive timer value is specified by the 16-bit rcv_time out field. The following are the acceptable SDLC data flags:
The t_auto_data structure contains the following fields that specify aspects of the X.21 call progress signal retry and logging data format:
The t_x21_data structure contains the following fields that specify aspects of the X.21 call progress signal retry and logging data format:
Specify the retry and netlog fields for a cps-particular group. The bits definitions are as follows:
Call progress signals are divided into groups of 10; for example, cps 43 is group 4, signal 3. To indicate retries for cps 43, the value for signal 3 should be ORed into the retry unsigned short for group 4. Possible values for retry groups are the following:
The t_err_threshold structure describes the format for defining thresholds for transmit and receive errors. Counters track the total number of transmit and receive errors. Individual counters track certain types of errors. Thresholds can be set for individual errors, total errors, or a percentage of transmit and receive errors from all frames received.
When a counter reaches its threshold value, a status block is returned by the driver. The status block indicates the type of error counter that reached its threshold. If multiple thresholds are reached at the same time, the first expired threshold in the list is reported as having expired and its counter is reset to 0. The user can issue a CIO_QUERY operation call to retrieve the values of all counters.
If no thresholding is desired, the threshold should be set to 0. A value of 0 indicates that LLC should not be notified of an error at any time. To indicate that the LLC should be notified of every occurrence of an error, the threshold should be set to 1.
The t_err_threshold structure contains the following fields:
tx_err_thresh | Specifies the threshold for all transmit errors. Transmit errors include transmit underrun, CTS dropped, CTS time out, and transmit failsafe time out. |
rx_err_thresh | Specifies the threshold for all receive errors. Receive errors include overrun errors, break/abort errors, framing/cyclic redundancy check (CRC)/frame check sequence (FCS) errors, parity errors, bad frame synchronization, and receive-DMA-buffer-not-allocated errors. |
tx_err_percent | Specifies the percentage of transmit errors that must occur before a status block is sent to the LLC. |
rx_err_percent | Specifies the percentage of receive errors that must occur before a status block is sent to the LLC. |
The CIO_START operation can be called from the process environment only.
The CIO_START operation functions with a 4-Port Multiprotocol Interface adapter that has been correctly configured for use on a qualified network. Consult adapter specifications for more information on configuring the adapter and network qualifications.
The ddioctl CIO_GET_FASTWRT entry point, mpioctl entry point.
The CIO_GET_STAT mpioctl MPQP Device Handler Operation, CIO_HALT mpioctl MPQP Device Handler Operation, CIO_QUERY mpioctl MPQP Device Handler Operation, MP_CHG_PARMS mpioctl MPQP Device Handler Operation, MP_START_AR and MP_STOP_AR mpioctl MPQP Device Handler Operations.