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.