Query: t_rcvudata
OS: ultrix
Section: 3xti
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
t_rcvudata(3xti) t_rcvudata(3xti) Name t_rcvudata - receive a data unit Syntax #include <xti.h> int t_rcvudata(fd, unitdata, flags) int fd; struct t_unitdata *unitdata; int *flags: Arguments fd Identifies the local transport endpoint through which data is received. unitdata Holds information associated with the received data unit. The unitdata argument points to a t_unitdata structure containing the following members: struct netbuf addr; struct netbuf opt; struct netbuf udata On return from this call, the members have the following meanings: addr Specifies the protocol address of the sending unit. opt Identifies protocol-specific options that were associated with this data unit. udata Specifies the user data that was received. flags Set on return to indicate that the complete data unit was not received. Description This function is used in connectionless mode to receive a data unit from another transport user. By default, operates in synchronous mode waits for a data unit to arrive if none is currently available. However, if O_NONBLOCK is set by means of or udata executes in asynchronous mode and fails if no data units are available. The maxlen field of addr, opt, and udata must be set before issuing this function to indicate the maximum size of the buffer for each. If the buffer defined in the udata field of unitdata is not large enough to hold the current data unit, the buffer fills and T_MORE sets in flags on return to indicate that another should be issued to retrieve the rest of the data unit. Subsequent calls return zero for the length of the address and options until the full data unit has been received. -------------------------------------------------- Parameters Before Call After Call -------------------------------------------------- fd x / unitdata->addr.maxlen x / unitdata->addr.len / x unitdata->addr.buf x (x) unitdata->opt.maxlen x / unitdata->opt.len / x unitdata->opt.buf x (x) unitdata->udata.maxlen x / unitdata->udata.len / x unitdata->udata.buf x (x) flags / x -------------------------------------------------- Return Values Upon successful completion, a value of 0 is returned. On failure, a value of -1 is returned, and t_errno is set to indicate the error. Diagnostics On failure, t_errno is set to one of the following: [TBADF] The specified file descriptor does not refer to a transport endpoint. [TOUTSTATE] The function was issued in the wrong sequence on the transport endpoint referenced by fd. [TNODATA] O_NONBLOCK was set, but no data units are currently available from the transport provider. [TBUFOVFLW] The number of bytes allocated for the incoming protocol address or options is not sufficient to store the information. The unit data information to be returned in unitdata is discarded. [TLOOK] An asynchronous event has occurred on the transport endpoint and requires immediate attention. [TNOTSUPPORT] This function is not supported by the underlying transport provider. [TSYSERR] A system error has occurred during execution of this function. See Also fcntl(2), t_alloc(3xti), t_open(3xti), t_rcvuderr(3xti), t_sndudata(3xti) t_rcvudata(3xti)
Related Man Pages |
---|
t_rcvudata(3nsl) - sunos |
t_rcvudata(3) - osf1 |
t_rcvudata(3nsl) - suse |
t_rcvudata(3nsl) - centos |
t_rcvudata(3nsl) - xfree86 |
Similar Topics in the Unix Linux Community |
---|
PHP Write Man Pages to MySQL DB |