T_CONN_REQ(7tpi) T_CONN_REQ(7tpi)
NAME
T_CONN_REQ - Connect Request
SYNOPSIS
This message consists of one M_PROTO message block followed by
zero or more M_DATA blocks if any user data is specified by
the transport user. The format of the M_PROTO message block
is as follows:
struct T_conn_req {
long PRIM_type; /* always T_CONN_REQ */
long DEST_length; /* dest addr length */
long DEST_offset; /* dest addr offset */
long OPT_length; /* options length */
long OPT_offset; /* options offset */
}
DESCRIPTION
This primitive requests that the transport provider connect to
the specified destination.
Parameters
PRIM_type
identifies the primitive type.
DEST_length
is the length of the destination address
DEST_offset
is the offset (from the beginning of the M_PROTO message
block) where the destination address begins.
OPT_length
is the length of the requested options associated with
the primitive.
OPT_offset
is the offset (from the beginning of the M_PROTO message
block) of the requested options associated with the
primitive.
The proper alignment of the destination address and options in
the M_PROTO message block is not guaranteed.
Copyright 1994 Novell, Inc. Page 1
T_CONN_REQ(7tpi) T_CONN_REQ(7tpi)
Note that the information located by the defined
structures may not be in the proper alignment in the
message blocks, so the casting of structure definitions
over these fields may produce incorrect results. It is
advised that the transport providers supply exact format
specifications for the appropriate information to the
transport users.
The destination address and options in the M_PROTO message
block are however, aligned the same as they were received from
the transport user.
Rules
This primitive requires the transport provider to generate one
of the following acknowledgments on receipt of the primitive,
and the transport user must wait for the acknowledgment before
issuing any other primitives:
Successful
Correct acknowledgment of the primitive is indicated via
the T_OK_ACK primitive described in the section
``Transport Service Interface Sequence of Primitives''
of the book STREAMS Modules and Drivers.
Non-fatal errors
These errors will be indicated via the T_ERROR_ACK
primitive described in the section ``Overview of Error
Handling Capabilities'' of the book STREAMS Modules and
Drivers.
Errors
The allowable errors are as follows:
TACCES
This indicates that the user did not have proper
permissions for the use of the requested address or
options.
TBADADDR
This indicates that the protocol address was in an
incorrect format or the address contained invalid
information. It is not intended to indicate protocol
connection errors, such as an unreachable destination.
Those error types are indicated via the T_DISCON_IND
primitive.
Copyright 1994 Novell, Inc. Page 2
T_CONN_REQ(7tpi) T_CONN_REQ(7tpi)
TBADOPT
This indicates that the options were in an incorrect
format, or they contained invalid information.
TOUTSTATE
The primitive would place the transport interface out of
state.
TBADDATA
The amount of user data specified was invalid.
TSYSERR
A system error has occurred and the UNIX system error is
indicated in the primitive.
TNOTSUPPORT
This primitive is not supported by the transport
provider.
TADDRBUSY
The transport provider does not support multiple
connections to the same destination address. This error
indicates that a connection already exists for the
requested destination.
Modes
Only connection-mode.
Originator
Transport user.
Copyright 1994 Novell, Inc. Page 3