summaryrefslogtreecommitdiffstats
path: root/docs/nspr/reference/prsockoption.rst
blob: daaa20cb219c4a69dca348ebfe9ddad586936d44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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`.