Receive data that arrives at the transport connection with read(). tirdwr, which passes data from the transport provider. Any other event or request passed to the user from the provider is processed by tirdwr as follows:
read() cannot identify expedited data to the user. If an expedited data request is received, tirdwr generates a fatal protocol error, EPROTO, on the stream. The error causes further system calls to fail. Do not use read() to receive expedited data.
tirdwr discards an abortive disconnect request and generates a hang-up condition on the stream. Subsequent read() calls retrieve any remaining data, then return zero for all further calls (indicating end of file).
tirdwr discards an orderly release request and delivers a zero-length message to the user. As described in read(), this notifies the user of end of file by returning 0.
If any other XTI/TLI request is received, tirdwr generates a fatal protocol error, EPROTO, on the stream. This causes further system calls to fail. If a user pushes tirdwr onto a stream after the connection has been established, no request is generated.