recvmmsg man page on Fedora

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

RECVMMSG(2)		   Linux Programmer's Manual		   RECVMMSG(2)

NAME
       recvmmsg - receive multiple messages on a socket

SYNOPSIS
       #define _GNU_SOURCE
       #include <sys/socket.h>

       int recvmmsg(int sockfd, struct mmsghdr *msgvec, unsigned int vlen,
		    unsigned int flags, struct timespec *timeout);

DESCRIPTION
       The  recvmmsg()	system	call is an extension of recvmsg(2) that allows
       the caller to receive multiple messages from a socket  using  a	single
       system call.  (This has performance benefits for some applications.)  A
       further extension over recvmsg(2) is  support  for  a  timeout  on  the
       receive operation.

       The  sockfd  argument  is  the file descriptor of the socket to receive
       data from.

       The msgvec argument is a pointer to an  array  of  mmsghdr  structures.
       The size of this array is specified in vlen.

       The mmsghdr structure is defined in <sys/socket.h> as:

	   struct mmsghdr {
	       struct msghdr msg_hdr;  /* Message header */
	       unsigned int  msg_len;  /* Number of received bytes for header */
	   };

       The  msg_hdr  field  is a msghdr structure, as described in recvmsg(2).
       The msg_len field is the number of bytes returned for  the  message  in
       the entry.  This field has the same value as the return value of a sin‐
       gle recvmsg(2) on the header.

       The flags argument contains flags ORed together.	  The  flags  are  the
       same as documented for recvmsg(2), with the following addition:

       MSG_WAITFORONE
	      Turns on MSG_DONTWAIT after the first message has been received.

       The timeout argument points to a struct timespec (see clock_gettime(2))
       defining a timeout (seconds plus nanoseconds) for  the  receive	opera‐
       tion.  If timeout is NULL then the operation blocks indefinitely.

       A  blocking  recvmmsg()	call  blocks  until  vlen  messages  have been
       received or until the timeout expires.  A  nonblocking  call  reads  as
       many  messages as are available (up to the limit specified by vlen) and
       returns immediately.

       On return from recvmmsg(), successive elements of msgvec are updated to
       contain	information  about each received message: msg_len contains the
       size of the received message; the subfields of msg_hdr are  updated  as
       described  in  recvmsg(2).   The return value of the call indicates the
       number of elements of msgvec that have been updated.

RETURN VALUE
       On success, recvmmsg() returns  the  number  of	messages  received  in
       msgvec;	on  error,  -1	is  returned, and errno is set to indicate the
       error.

ERRORS
       Errors are as for recvmsg(2).  In addition,  the	 following  error  can
       occur:

       EINVAL timeout is invalid.

VERSIONS
       The recvmmsg() system call was added in Linux 2.6.32.  Support in glibc
       was added in version 2.12.

CONFORMING TO
       recvmmsg() is Linux-specific.

SEE ALSO
       clock_gettime(2),  recvmsg(2),  sendmmsg(2),   sendmsg(2),   socket(2),
       socket(7)

COLOPHON
       This  page  is  part of release 3.35 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://man7.org/linux/man-pages/.

Linux				  2011-10-04			   RECVMMSG(2)
[top]

List of man pages available for Fedora

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