[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Communications Programming Concepts

DLCETHER Programming Interfaces

The Standard Ethernet data link control (DLCETHER) conforms to the generic data link control (GDLC) guidelines except as follows:

Note: The dlc prefix is replaced with the edl prefix for the DLCETHER device manager.
edlclose DLCETHER is fully compatible with the dlcclose GDLC interface.
edlconfig DLCETHER is fully compatible with the dlcconfig GDLC interface. No initialization parameters are required.
edlmpx DLCETHER is fully compatible with the dlcmpx GDLC interface.
edlopen DLCETHER is fully compatible with the dlcopen GDLC interface.
edlread DLCETHER is compatible with the dlcread GDLC interface with the following conditions:
  • The readx subroutines can have DLCETHER data link header information prefixed to the I-field being passed to the application. This is optional based on the readx subroutine data link header length extension parameter in the gdl_io_ext structure.
  • If this field is nonzero, DLCETHER copies the data link header and the I-field to user space and sets the actual length of the data link header into the length field.
  • If the field is 0, no data link header information is copied to user space. See the DLCETHER Frame Encapsulation figure for more details.

The following kernel receive packet subroutines always have the DLCETHER data link header information within the communications memory buffer (mbuf) and can locate it by subtracting the length passed (in the gdl_io_ext structure) from the data offset field of the mbuf structure.

edlselect DLCETHER is fully compatible with the dlcselect GDLC interface.
edlwrite DLCETHER is compatible with the dlcwrite GDLC interface with the exception that network data can only be written as an unnumbered information (UI) packet and must have the complete data link header prefixed to the data. DLCETHER verifies that the local (source) service access point (SAP) is enabled and that the control byte is UI (0x03). See the DLCETHER Frame Encapsulation figure for more details.
edlioctl DLCETHER is compatible with the dlcioctl GDLC interface with conditions on these operations (described in the following sections):

DLC_ENABLE_SAP

The ioctl subroutine argument structure for enabling a SAP (dlc_esap_arg) has the following specifics:

DLC_START_LS

The ioctl subroutine argument structure for starting a link station (dlc_sls_arg) has the following specifics:

DLC_ALTER

The ioctl subroutine argument structure for altering a link station (dlc_alter_arg) has the following specifics:

DLC_QUERY_SAP

The device driver-dependent data returned from DLCETHER for this ioctl operation is the ent_ndd_stats_t structure defined in the /usr/include/sys/cdli_entuser.h file.

DLC_QUERY_LS

No protocol-specific data area is supported by DLCETHER for this ioctl operation.

DLC_ENTER_SHOLD

The enter_short_hold option is not supported by the DLCETHER device manager.

DLC_EXIT_SHOLD

The exit_short_hold option is not supported by the DLCETHER device manager.

DLC_ADD_GRP

The add_group or multicast address option is supported by the DLCETHER device manager as a six-byte value as described above in DLC_ENABLE_SAP (group address) ioctl operation.

DLC_ADD_FUNC_ADDR

The add_functional_address option is not supported by DLCETHER.

DLC_DEL_FUNC_ADDR

The delete_functional_address option is not supported by DLCETHER.

DLC_DEL_GRP

The delete group or multicast option is supported by the DLCETHER device manager. The address being removed must match an address that was added with a DLC_ENABLE_SAP or DLC_ADD_GRP ioctl operation.

IOCINFO

The ioctype variable returned is defined as DD_DLC definition and the subtype returned is DS_DLCETHER.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]