t_look Subroutine for X/Open Transport Interface

Purpose

Look at the current event on a transport endpoint.

Library

X/Open Transport Interface Library (libxti.a)

Syntax

#include <xti.h>
int t_look (fd)
int fd;

Description

The t_look subroutine returns the current event on the transport endpoint specified by the fd parameter. This subroutine enables a transport provider to notify a transport user of an asynchronous event when the user is calling subroutines in synchronous mode. Certain events require immediate notification of the user and are indicated by a specific error, TLOOK, on the current or next subroutine to be executed. Details on events which cause subroutines to fail, T_LOOK, may be found in Section 4.6, Events and TLOOK Error Indication.

This subroutine also enables a transport user to poll a transport endpoint periodically for asynchronous events.

Additional functionality is provided through the Event Management (EM) interface.

Parameter

Item Description
fd Specifies the transport endpoint.

Valid States

ALL - apart from T_UNINIT.

Return Values

Upon success, the t_look subroutine returns a value that indicates which of the allowable events has occurred, or returns zero if no event exists. One of the following events is returned:

Event Description
T_LISTEN Connection indication received.
T_CONNECT Connect confirmation received.
T_DATA Normal data received.
T_EXDATA Expedited data received.
T_DISCONNECT Disconnect received.
T_UDERR Datagram error indication.
T_ORDREL Orderly release indication.
T_GODATA Flow control restrictions on normal data flow that led to a TFLOW error have been lifted. Normal data may be sent again.
T_GOEXDATA Flow control restrictions on expedited data flow that led to a TFLOW error have been lifted. Expedited data may be sent again.

On failure, -1 is returned and t_errno is set to indicate the error.

Error Codes

On failure, t_errno is set to one of the following:

Value Description
TBADF The specified file descriptor does not refer to a transport endpoint.
TSYSERR A system error has occurred during execution of this subroutine.
TPROTO This error indicates that a communication problem has been detected between the X/Open Transport Interface and the transport provider for which there is no other suitable X/Open Transport Interface (t_errno).