Previous section.

Transport Provider Interface (TPI), Version 2 Draft 2
Copyright © 1999 The Open Group


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.



indicates the primitive type.


is the length of the protocol address to be bound to the stream.


is the offset from the beginning of the
M_PROTO block where the protocol address begins.

Note that all lengths, offsets, and sizes in all structures refer to the number of bytes.


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:


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:


This indicates that the user did not have proper permissions for the use of the requested address.


This indicates that the requested address is in use.


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.


This indicates that the transport provider could not allocate an address.


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