Read Data
Receive data arrives at the transport connection with read(). The
tirdwr module passes data from the transport provider. The
tirdwr module processes any other event or request passed to the
user from the provider as follows:
-
read() cannot identify expedited data to the user. Ifread() receives an expedited data request,tirdwrgenerates a fatal protocol error,EPROTO, on the stream. The error causes further system calls to fail. Do not useread() to receive expedited data. -
tirdwrdiscards an abortive disconnect request and generates a hang-up condition on the stream. Subsequentread() calls retrieve any remaining data, then return zero for all further calls, indicating end of file. -
tirdwrdiscards an orderly release request and delivers a zero-length message to the user. As described in theread() man page, this notifies the user of end of file by returning 0. -
If
read() receives any other XTI/TLI request,tirdwrgenerates a fatal protocol error,EPROTO, on the stream. This causes further system calls to fail. If a user pushestirdwronto a stream after establishing the connection,tirdwrgenerates no request. For more information, see theread(2) man page.