recvfrom man page on SmartOS

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

RECVFROM(3XNET)						       RECVFROM(3XNET)

NAME
       recvfrom - receive a message from a socket

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

       ssize_t recvfrom(int socket, void *restrict buffer, size_t length,
	    int flags, struct sockaddr *restrict address,
	    socklen_t *restrict address_len);

DESCRIPTION
       The  recvfrom()	function  receives a message from a connection-mode or
       connectionless-mode socket.  It is normally used	 with  connectionless-
       mode  sockets because it permits 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 the 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
				     recvfrom() or similar function will still
				     return this data.

		      MSG_OOB
				     Requests out-of-band data.	 The  signifi‐
				     cance  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 connection is terminated,
				     if MSG_PEEK was specified, or if an error
				     is pending for the socket.

       address
		      A null pointer, or points to  a  sockaddr	 structure  in
		      which  the  sending address is to be stored.  The length
		      and format of the address depend on the  address	family
		      of the socket.

       address_len
		      Specifies	 the  length of the sockaddr structure pointed
		      to by the address argument.

       The recvfrom() function returns the length of the  message  written  to
       the  buffer pointed to by the buffer argument.  For message-based sock‐
       ets 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.

       Not  all	 protocols  provide  the  source address for messages.	If the
       address argument is not a null pointer and the  protocol	 provides  the
       source  address of messages, the source address of the received message
       is stored in the sockaddr structure pointed to by the address argument,
       and  the	 length	 of this address is stored in the object pointed to by
       the address_len argument.

       If the actual length of the address is greater than the length  of  the
       supplied sockaddr structure, the stored address will be truncated.

       If the address argument is not a null pointer and the protocol does not
       provide the source address of messages, the the	value  stored  in  the
       object pointed to by address is unspecified.

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

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

RETURN VALUES
       Upon successful completion, recvfrom() returns the length of  the  mes‐
       sage  in	 bytes.	  If  no messages are available to be received and the
       peer has performed an orderly shutdown, recvfrom() returns  0.	Other‐
       wise the function returns −1 and sets errno to indicate the error.

ERRORS
       The recvfrom() 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,  address or	 address_len parameter can not
		      be accessed or written.

       EINTR
		      A signal interrupted  recvfrom()	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.

       ETIMEDOUT
		      The connection timed out	during	connection  establish‐
		      ment, or due to a transmission timeout on active connec‐
		      tion.

       The recvfrom() 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),	   recv(3XNET),	   recvmsg(3XNET),   select(3C)	  send(3XNET),
       sendmsg(3XNET),	  sendto(3XNET),    shutdown(3XNET),	socket(3XNET),
       attributes(5), standards(5)

				 Jun 10, 2002		       RECVFROM(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