recv man page on SmartOS

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

RECV(3XNET)							   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 simi‐
				lar function will still return this data.

		 MSG_OOB
				Requests  out-of-band  data.  The significance
				and semantics of out-of-band data  are	proto‐
				col-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  connection
				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
       EWOULDBLOCK
		      The socket's file descriptor is marked O_NONBLOCK 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 descriptor 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 establish‐
		      ment, or due to a transmission timeout on active connec‐
		      tion.

       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  per‐
		  form 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)

				 Jun 10, 2002			   RECV(3XNET)
[top]

List of man pages available for SmartOS

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