recv man page on SunOS

Man page or keyword search:  
man Server   20652 pages
apropos Keyword Search (all sections)
Output format
SunOS logo
[printable version]

recv(3XNET)	 X/Open Networking Services Library Functions	   recv(3XNET)

NAME
       recv - receive a message from a connected socket

SYNOPSIS
       cc [ flag ... ] file ... -lxnet [ library ... ]
       #include <sys/socket.h>

       ssize_t recv(int socket, void *buffer, size_t length, int flags);

DESCRIPTION
       The   recv() function receives a message from a connection-mode or con‐
       nectionless-mode socket. It is normally	used  with  connected  sockets
       because	it  does  not  permit  the  application to retrieve the source
       address of received data. The function takes the following arguments:

       socket	       Specifies the socket file descriptor.

       buffer	       Points to a buffer where the message should be stored.

       length	       Specifies the length in bytes of the buffer pointed  to
		       by the buffer argument.

       flags	       Specifies  the  type  of	 message reception.  Values of
		       this argument are formed by logically  OR'ing  zero  or
		       more of the following values:

		       MSG_PEEK		       Peeks  at  an incoming message.
					       The data is treated  as	unread
					       and  the next recv() or similar
					       function will still return this
					       data.

		       MSG_OOB		       Requests	 out-of-band data. The
					       significance and	 semantics  of
					       out-of-band  data are protocol-
					       specific.

		       MSG_WAITALL	       Requests	 that	the   function
					       block  until the full amount of
					       data requested can be returned.
					       The   function	may  return  a
					       smaller amount  of  data	 if  a
					       signal  is  caught, if the con‐
					       nection	is   terminated,    if
					       MSG_PEEK	 was  specified, or if
					       an error	 is  pending  for  the
					       socket.

       The  recv()  function  returns the length of the message written to the
       buffer pointed to by the buffer argument.   For	message-based  sockets
       such  as SOCK_DGRAM and SOCK_SEQPACKET, the entire message must be read
       in a single operation.  If a message is too long to fit in the supplied
       buffer, and MSG_PEEK is not set in the flags argument, the excess bytes
       are discarded.  For stream-based sockets such as	 SOCK_STREAM,  message
       boundaries  are ignored.	 In this case, data is returned to the user as
       soon as it becomes available, and no data is discarded.

       If the MSG_WAITALL flag is not set, data will be returned  only	up  to
       the end of the first message.

       If no messages are available at the socket and O_NONBLOCK is not set on
       the socket's file descriptor, recv() blocks until  a  message  arrives.
       If no messages are available at the socket and O_NONBLOCK is set on the
       socket's file descriptor, recv() fails and  sets	 errno	to  EAGAIN  or
       EWOULDBLOCK.

USAGE
       The  recv()  function  is  identical  to	 recvfrom(3XNET)  with	a zero
       address_len argument, and to read() if no flags are used.

       The select(3C) and poll(2) functions can be used to determine when data
       is available to be received.

RETURN VALUES
       Upon successful completion, recv() returns the length of the message in
       bytes.  If no messages are available to be received and	the  peer  has
       performed  an  orderly  shutdown,  recv()  returns 0.  Otherwise, -1 is
       returned and errno is set to indicate the error.

ERRORS
       The recv() function will fail if:

       EAGAIN		       The socket's file descriptor is	marked	O_NON‐
       EWOULDBLOCK	       BLOCK and no data is waiting to be received; or
			       MSG_OOB is  set	and  no	 out-of-band  data  is
			       available and either the socket's file descrip‐
			       tor is marked O_NONBLOCK or the socket does not
			       support blocking to await out-of-band data.

       EBADF		       The   socket  argument  is  not	a  valid  file
			       descriptor.

       ECONNRESET	       A connection was forcibly closed by a peer.

       EFAULT		       The  buffer parameter can not  be  accessed  or
			       written.

       EINTR		       The recv() function was interrupted by a signal
			       that was caught, before any data was available.

       EINVAL		       The MSG_OOB flag is set and no out-of-band data
			       is available.

       ENOTCONN		       A  receive  is  attempted  on a connection-mode
			       socket that is not connected.

       ENOTSOCK		       The socket argument does not refer to a socket.

       EOPNOTSUPP	       The specified flags are not supported for  this
			       socket type or protocol.

       ETIMEDOUT	       The  connection	timed  out  during  connection
			       establishment, or due to a transmission timeout
			       on active connection.

       The recv() function may fail if:

       EIO		       An  I/O	error  occurred	 while reading from or
			       writing to the file system.

       ENOBUFS		       Insufficient resources were  available  in  the
			       system to perform the operation.

       ENOMEM		       Insufficient  memory  was  available to fulfill
			       the request.

       ENOSR		       There  were  insufficient   STREAMS   resources
			       available for the operation to complete.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌─────────────────────────────┬─────────────────────────────┐
       │      ATTRIBUTE TYPE	     │	    ATTRIBUTE VALUE	   │
       ├─────────────────────────────┼─────────────────────────────┤
       │Interface Stability	     │Standard			   │
       ├─────────────────────────────┼─────────────────────────────┤
       │MT-Level		     │MT-Safe			   │
       └─────────────────────────────┴─────────────────────────────┘

SEE ALSO
       poll(2),	  recvmsg(3XNET),  recvfrom(3XNET),  select(3C),  send(3XNET),
       sendmsg(3XNET),	  sendto(3XNET),    shutdown(3XNET),	socket(3XNET),
       attributes(5), standards(5)

SunOS 5.10			  10 Jun 2002			   recv(3XNET)
[top]

List of man pages available for SunOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net