xs_getmsgopt man page on DragonFly

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

XS_GETMSGOPT(3)		     Crossroads I/O Manual	       XS_GETMSGOPT(3)

NAME
       xs_getmsgopt - retrieve message option

SYNOPSIS
       int xs_getmsgopt (xs_msg_t *message, int option_name, void
       *option_value, size_t *option_len);

DESCRIPTION
       The xs_getmsgopt() function shall retrieve the value for the option
       specified by the option_name argument for the message pointed to by the
       message argument, and store it in the buffer pointed to by the
       option_value argument. The option_len argument is the size in bytes of
       the buffer pointed to by option_value; upon successful completion
       xs_getsockopt() shall modify the option_len argument to indicate the
       actual size of the option value stored in the buffer.

       The following options can be retrieved with the xs_getmsgopt()
       function:

       XS_MORE
	   Indicates that there are more message parts to follow after the
	   message. The type of this option is int. 0 means that this is the
	   last message part of a multipart message. 1 means that more message
	   parts will follow.

RETURN VALUE
       The xs_getmsgopt() function shall return zero if successful. Otherwise
       it shall return -1 and set errno to one of the values defined below.

ERRORS
       EINVAL
	   The requested option option_name is unknown, or the requested
	   option_size or option_value is invalid, or the size of the buffer
	   pointed to by option_value, as specified by option_len, is
	   insufficient for storing the option value.

EXAMPLE
       Receiving a multi-part message.

	   xs_msg_t part;
	   int more;
	   size_t more_size = sizeof (more);
	   while (true) {
	       /* Create an empty message to hold the message part */
	       int rc = xs_msg_init (&part);
	       assert (rc == 0);
	       /* Block until a message is available to be received from socket */
	       rc = xs_recvmsg (socket, &part, 0);
	       assert (rc != -1);
	       rc = getmsgopt (&part, XS_MORE, &more, &more_size);
	       assert (rc == 0);
	       if (more) {
		 fprintf (stderr, "more\n");
	       }
	       else {
		 fprintf (stderr, "end\n");
		 break;
	       }
	       xs_msg_close (part);
	   }

SEE ALSO
       xs_msg_data(3) xs_msg_init(3) xs_msg_init_size(3) xs_msg_init_data(3)
       xs_msg_close(3) xs(7)

AUTHORS
       This manual page was written by Chuck Remes <cremes@mac.com[1]>.

NOTES
	1. cremes@mac.com
	   mailto:cremes@mac.com

Crossroads I/O 1.2.0		  02/17/2016		       XS_GETMSGOPT(3)
[top]

List of man pages available for DragonFly

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