Previous section.

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

NAME

T_BIND_REQ - Bind Protocol Address Request

SYNOPSIS

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;
};


DESCRIPTION

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.

PARAMETERS

PRIM_type

indicates the primitive type.

ADDR_length

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

ADDR_offset

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.

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.

RULES

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.

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.

[TADDRBUSY]

This indicates that the requested address is in use.

[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 errors.

[TNOADDR]

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

[TOUTSTATE]

The primitive would place the transport interface out of state.

[TSYSERR]

A system error has occurred and the UNIX system error is indicated in the primitive.

MODES

Both connection-mode and connectionless-mode.

ORIGINATOR

Transport user.

Contents Next section Index