read Subroutine Extended Parameters for DLC

Purpose

Provide generic data link control (GDLC) with a structure to return data types and service access point (SAP) and link station (LS) correlator.

Syntax

#define  DLC_INFO   0x80000000
#define  DLC_XIDD   0x40000000
#define  DLC_DGRM   0x20000000
#define  DLC_NETD   0x10000000
#define  DLC_OFLO   0x00000002
#define  DLC_RSPP   0x00000001
struct dlc_io_ext
{
   __ulong32_t  sap_corr;
   __ulong32_t  ls_corr;
   __ulong32_t  flags;
   __ulong32_t  dlh_len;
};

Description

An extended read or readx subroutine must be issued by an application user to provide GDLC with a structure to return the type of data and the SAP and LS correlator.

Parameters

sap_corr
Specifies the user's SAP identifier of the received data.
ls_corr
Specifies the user's LS identifier of the received data.
flags
Specifies flags for the readx subroutine. The following flags are supported:
DLC_INFO
Indicates that normal sequenced data has been received for a link station using an I-Frame Data Received routine. If buffer overflow (OFLO) is indicated, the received data has been truncated because the received data length exceeds either the maximum I-field size derived at completion of DLC_START_LS ioctl operation or the application user's buffer size.
DLC_XIDD
Indicates that exchange identification (XID) data has been received for a link station using an XID Data Received routine. If buffer overflow (OFLO) is indicated, the received XID has been truncated because the received data length exceeds either the maximum I-field size derived at DLC_START_LS completion or the application user's buffer size. If response pending (RSPP) is indicated, an XID response is required and must be provided to GDLC using a write XID as soon as possible to avoid repolling and possible termination of the remote LS.
DLC_DGRM
Indicates that a datagram has been received for an LS using a Datagram Data Received routine. If buffer overflow (OFLO) is indicated, the received data has been truncated because the received data length exceeds either the maximum I-field size derived at DLC_START_LS completion or the application user's buffer size.
DLC_NETD
Indicates that data has been received from the network for a service access point using a Network Data Received routine. This may be link-establishment data such as X.21 call-progress signals or Smartmodem command responses. It can also be data destined for the user's SAP when no link station has been started that fits the addressing of the packet received. If buffer overflow (OFLO) is indicated, the received data has been truncated because the received data length exceeds either the maximum packet size derived at DLC_ENABLE_SAP completion or the application user's buffer size.

Network data contains the entire MAC layer packet, excluding any fields stripped by the adapter such as Preamble or CRC.

DLC_OFLO
Indicates that overflow of the user data area has occurred and the data was truncated. This error does not set a u.u_error indication.
DLC_RSPP
Indicates that the XID received requires an XID response to be sent back to the remote link station.
dlh_len
Specifies data link header length. This field has a different meaning depending on whether the extension is for a readx subroutine call to GDLC or a response from GDLC.

On the application readx subroutine, this field indicates whether the user wishes to have datalink header information prefixed to the data. If this field is set to 0 (zero), the data link header is not to be copied (only the I-field is copied). If this field is set to any nonzero value, the data link header information is included in the read operation.

On the response to an application readx subroutine, this field contains the number of data link header bytes received and copied into the data link header information field.

On asynchronous receive function handlers to the kernel user, this field contains the length of the data link header within the communications memory buffer (mbuf) .

These DLC extended parameters for the read subroutine are part of the data link control in BOS Extensions 2 for the device manager you are using.