NAME¶
netread - receive a message from a socket
SYNOPSIS¶
#include "net.h"
int netread (int s, char *buf, int
nbytes);
ssize_t netread_timeout (int s, void
*buf, size_t nbytes, int
timeout);
DESCRIPTION¶
netread receives a message from a socket. It overcomes the message
fragmentation problem and always waits for all requested bytes to arrive or a
timeout/error occurs.
RETURN VALUE¶
This routine returns the number of bytes if the operation was successful, 0 if
the connection was closed by the remote end or -1 if the operation failed. In
the latter case,
serrno is set appropriately.
ERRORS¶
- EINTR
- The function was interrupted by a signal.
- EBADF
- s is not a valid descriptor.
- EAGAIN
- The socket is non-blocking and there is no message available.
- EFAULT
- buf is not a valid pointer.
- EINVAL
- nbytes is negative or zero.
- ENOTSOCK
- s is not a socket.
- SECONNDROP
- Connection closed by remote end.
- SETIMEDOUT
- Timed out.
SEE ALSO¶
recv(2),
neterror(3)
AUTHOR¶
LCG Grid Deployment Team