netread(3)

netread3

Receive a message from a socket

Usage

#include "net.h"

int netread (int s, char *buf, int nbytes);

ssize_t netread_timeout (int s, void *buf, size_t nbytes, int timeout);

Overview

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.

Releases

Unchanged in 5 releases since Debian 6.0 (Squeeze).

  1. 6.0–10

Author

LCG Grid Deployment Team

From liblcgdm-dev 1.10.0-2+b3 in Debian 10 (Buster). Parsed by carta from the page's man source.