Previous section.

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

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 {
    t_scalar_t   PRIM_type;      /* Always T_CONN_REQ */
    t_scalar_t   DEST_length;
    t_scalar_t   DEST_offset;
    t_scalar_t   OPT_length;
    t_scalar_t   OPT_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. The destination address and options in the M_PROTO message block are however, aligned the same as they were received from the transport user.

Note:
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.

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 reference TPI-SMD.

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 or options.

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

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

[TBADDATA]

The amount of user data specified was invalid.

[TBADOPT]

This indicates that the options were in an incorrect format, or they contained invalid information.

[TNOTSUPPORT]

This primitive is not supported by the transport provider.

[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

Only connection-mode.

ORIGINATOR

Transport user.

Contents Next section Index