Source code

Revision control

Copy as Markdown

Other Tools

PRSockOption
============
Enumeration type used in the ``option`` field of :ref:`PRSocketOptionData`
to form the name portion of a name-value pair.
Syntax
------
.. code::
#include <prio.h>
typedef enum PRSockOption {
PR_SockOpt_Nonblocking,
PR_SockOpt_Linger,
PR_SockOpt_Reuseaddr,
PR_SockOpt_Keepalive,
PR_SockOpt_RecvBufferSize,
PR_SockOpt_SendBufferSize,
PR_SockOpt_IpTimeToLive,
PR_SockOpt_IpTypeOfService,
PR_SockOpt_AddMember,
PR_SockOpt_DropMember,
PR_SockOpt_McastInterface,
PR_SockOpt_McastTimeToLive,
PR_SockOpt_McastLoopback,
PR_SockOpt_NoDelay,
PR_SockOpt_MaxSegment,
PR_SockOpt_Last
} PRSockOption;
Enumerators
~~~~~~~~~~~
The enumeration has the following enumerators:
``PR_SockOpt_Nonblocking``
Nonblocking I/O.
``PR_SockOpt_Linger``
Time to linger on close if data is present in the socket send buffer.
``PR_SockOpt_Reuseaddr``
Allow local address reuse.
``PR_SockOpt_Keepalive``
Periodically test whether connection is still alive.
``PR_SockOpt_RecvBufferSize``
Receive buffer size.
``PR_SockOpt_SendBufferSize``
Send buffer size.
``PR_SockOpt_IpTimeToLive``
IP time-to-live.
``PR_SockOpt_IpTypeOfService``
IP type-of-service and precedence.
``PR_SockOpt_AddMember``
Join an IP multicast group.
``PR_SockOpt_DropMember``
Leave an IP multicast group.
``PR_SockOpt_McastInterface``
IP multicast interface address.
``PR_SockOpt_McastTimeToLive``
IP multicast time-to-live.
``PR_SockOpt_McastLoopback``
IP multicast loopback.
``PR_SockOpt_NoDelay``
Disable Nagle algorithm. Don't delay send to coalesce packets.
``PR_SockOpt_MaxSegment``
Maximum segment size.
``PR_SockOpt_Last``
Always one greater than the maximum valid socket option numerator.
Description
-----------
The :ref:`PRSockOption` enumeration consists of all the socket options
supported by NSPR. The ``option`` field of :ref:`PRSocketOptionData` should
be set to an enumerator of type :ref:`PRSockOption`.