File: netread.man

package info (click to toggle)
lcgdm 1.8.2-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 14,044 kB
  • sloc: ansic: 149,126; sh: 13,441; perl: 11,498; python: 5,778; cpp: 5,113; sql: 1,805; makefile: 1,388; fortran: 113
file content (63 lines) | stat: -rw-r--r-- 1,440 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
.\" @(#)$RCSfile: netread.man,v $ $Revision: 1.1 $ $Date: 2005/03/29 09:27:19 $ CERN IT-PDP/DM Jean-Philippe Baud
.\" Copyright (C) 1991-2001 by CERN/IT/PDP/DM
.\" All rights reserved
.\"
.TH NETREAD 3 "$Date: 2005/03/29 09:27:19 $" CASTOR "Common Library Functions"
.SH NAME
netread \- receive a message from a socket
.SH SYNOPSIS
\fB#include "net.h"\fR
.sp
.BI "int netread (int " s ,
.BI "char *" buf ,
.BI "int " nbytes );
.sp
.BI "ssize_t netread_timeout (int " s ,
.BI "void *" buf ,
.BI "size_t " nbytes ,
.BI "int " timeout );
.SH DESCRIPTION
.B 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.
.SH 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,
.B serrno
is set appropriately.
.SH ERRORS
.TP 1.2i
.B EINTR
The function was interrupted by a signal.
.TP
.B EBADF
.I s
is not a valid descriptor.
.TP
.B EAGAIN
The socket is non-blocking and there is no message available.
.TP
.B EFAULT
.I buf
is not a valid pointer.
.TP
.B EINVAL
.I nbytes
is negative or zero.
.TP
.B ENOTSOCK
.I s
is not a socket.
.TP
.B SECONNDROP
Connection closed by remote end.
.TP
.B SETIMEDOUT
Timed out.
.SH SEE ALSO
.BR recv(2) ,
.B neterror(3)
.SH AUTHOR
\fBCASTOR\fP Team <castor.support@cern.ch>