DL_CONNECT_REQ(7dlpi) DL_CONNECT_REQ(7dlpi)
NAME
DL_CONNECT_REQ - Message Type
SYNOPSIS
The message consists of one M_PROTO message block containing
the structure shown below.
typedef struct {
ulong dl_primitive;
ulong dl_dest_addr_length;
ulong dl_dest_addr_offset;
ulong dl_qos_length;
ulong dl_qos_offset;
ulong dl_growth;
} dl_connect_req_t;
DESCRIPTION
Requests the DLS provider establish a data link connection
with a remote DLS user. The request contains the DLSAP
address of the remote (called) DLS user and quality of service
parameters to be negotiated during connection establishment.
Parameters
dl_primitive conveys DL_CONNECT_REQ.
dl_dest_addr_length
conveys the length of the DLSAP address that
identifies the DLS user with whom a connection is
to be established. If the called user is
implemented using DLPI, this address is the full
DLSAP address returned on the DL_BIND_ACK.
dl_dest_addr_offset
conveys the offset from the beginning of the
M_PROTO message block where the destination DLSAP
address begins.
dl_qos_length
conveys the length of the quality of service
(QOS) parameter values desired by the DLS user
initiating a connection.
If the DLS user does not want to specify a particular QOS
value, the value DL_QOS_DONT_CARE may be specified. If the
DLS user does not care to specify any QOS parameter values,
this field may be set to zero.
Copyright 1994 Novell, Inc. Page 1
DL_CONNECT_REQ(7dlpi) DL_CONNECT_REQ(7dlpi)
dl_qos_offset
conveys the offset from the beginning of the
M_PROTO message block where the quality of
service parameters begin.
dl_growth defines a growth field for future enhancements to
this primitive. Its value must be set to zero.
State
The message is valid in state DL_IDLE.
New State
The resulting state is DL_OUTCON_PENDING.
Response
There is no immediate response to the connect request.
However, if the connect request is accepted by the called DLS
user, DL_CONNECT_CON is sent to the calling DLS user,
resulting in state DL_DATAXFER.
If the connect request is rejected by the called DLS user, the
called DLS user cannot be reached, or the DLS provider and/or
called DLS user do not agree on the specified quality of
service, a DL_DISCONNECT_IND is sent to the calling DLS user,
resulting in state DL_IDLE.
If the request is erroneous, message DL_ERROR_ACK is returned
and the resulting state is unchanged.
Reasons for Failure
DL_BADADDR The destination DLSAP address was in an incorrect
format or contained invalid information.
DL_BADQOSPARAM
The quality of service parameters contained
invalid values.
DL_BADQOSTYPE
The quality of service structure type was not
supported by the DLS provider.
DL_ACCESS The DLS user did not have proper permission to use
the requested DLSAP address.
Copyright 1994 Novell, Inc. Page 2
DL_CONNECT_REQ(7dlpi) DL_CONNECT_REQ(7dlpi)
DL_OUTSTATE The primitive was issued from an invalid state.
DL_SYSERR A system error has occurred and the UNIX system
error is indicated in the DL_ERROR_ACK.
Mode
Connection-mode.
REFERENCES
the section ``QOS Data Structures'' of the book STREAMS
Modules and Drivers
the section ``Quality of Data Link Service'' of the book
STREAMS Modules and Drivers for details of QOS parameters and
rules for negotiating their values.
Copyright 1994 Novell, Inc. Page 3