DLbind_req(3dlpi) DLbind_req(3dlpi)
NAME
DLbind_req - process DL_BIND_REQ primitive
SYNOPSIS
DLbind_req(queue_t *q, mblk_t *mp)
Parameters
q pointer to the write queue
mp message pointer
DESCRIPTION
This function processes the DL_BIND_REQ primitive. The latter
is used to request the provider to bind a SAP to the Stream.
It also activates the Stream for data transfer requests. It
is an error if the Stream is already bound to another SAP. In
this example a DL_OUTSTATE error is returned by calling
DLerror_ack().
Only a privileged user can bind to a promiscuous SAP, or, to a
SAP that is already bound. If the user is not privileged, a
DL_ACCESS error is returned in the former case and DL_BOUND
error in the latter, by calling DLerror_ack().
The mac_type field of the DL_sap_t structure is updated to
reflect the SAP type as either DL_ETHER or DL_CSMACD. The
max_spdu field is initialized based on the SAP type. The SAP
is also added to the list of valid SAPS. The state of the SAP
is initialized and a reply is sent back in the form of a
DL_BIND_ACK message. If enough memory is not present for a
reply, the request is dropped. The dl_sap field of the
dl_bind_ack_t structure contains the address of the SAP bound
to the Stream in host order.
Response
error codes DL_OUTSTATE, DL_ACCESS, DL_BOUND, DL_BADADDR
DL_BIND_ACK sent upstream
Layer
Hardware Independent.
REFERENCES
Hardware Independent Layer Functions Called
Copyright 1994 Novell, Inc. Page 1
DLbind_req(3dlpi) DLbind_req(3dlpi)
DLerror_ack()
Hardware Dependent Layer Functions Called
none
Copyright 1994 Novell, Inc. Page 2