T_BIND_REQ - Bind Protocol Address Request
These messages consist of one M_PROTO message block formatted as follows:
struct T_bind_req { t_scalar_t PRIM_type; /* Always T_BIND_REQ */ t_scalar_t ADDR_length; t_scalar_t ADDR_offset; t_uscalar_t CONIND_number; };
These primitives request that the transport provider bind a protocol address to the stream, negotiate the number of connect indications allowed to be outstanding by the transport provider for the specified protocol address, and activate the stream associated with the protocol address.
- Note that a stream is viewed as active when the transport provider may receive and transmit TPDUs (transport protocol data units) associated with the stream.
- PRIM_type
indicates the primitive type.
- ADDR_length
is the length of the protocol address to be bound to the stream.
- ADDR_offset
- M_PROTO block where the protocol address begins.
is the offset from the beginning of theNote that all lengths, offsets, and sizes in all structures refer to the number of bytes.
- CONIND_number
is the requested number of connect indications allowed to be outstanding by the transport provider for the specified protocol address.Note that the CONIND_number should be ignored by those providing a connectionless transport service.
Also note that if the number of outstanding connect indications equals CONIND_number, the transport provider need not discard further incoming connect indications, but may choose to queue them internally until the number of outstanding connect indications drops below CONIND_number.
The proper alignment of the address in the M_PROTO message block is not guaranteed. The address in the M_PROTO message block is however, aligned the same as it was received from the transport user.
For rules governing the requests made by these primitives, see the T_BIND_ACK primitive.These primitives require 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_BIND_ACK primitive.
- Non-fatal errors
These errors will be indicated via the T_ERROR_ACK primitive described in reference TPI-SMD.
The allowable errors are as follows:
- [TACCES]
- [TADDRBUSY]
This indicates that the user did not have proper permissions for the use of the requested address.
- [TBADADDR]
This indicates that the requested address is in use.
- [TNOADDR]
This indicates that the protocol address was in an incorrect format or the address contained invalid information. It is not intended to indicate protocol errors.
- [TOUTSTATE]
This indicates that the transport provider could not allocate an address.
- [TSYSERR]
The primitive would place the transport interface out of state.
A system error has occurred and the UNIX system error is indicated in the primitive.
Both connection-mode and connectionless-mode.
Transport user.
Contents | Next section | Index |