83 lines
1.9 KiB
ReStructuredText
83 lines
1.9 KiB
ReStructuredText
PRSocketOptionData
|
|
==================
|
|
|
|
Type for structure used with :ref:`PR_GetSocketOption` and
|
|
:ref:`PR_SetSocketOption` to specify options for file descriptors that
|
|
represent sockets.
|
|
|
|
|
|
Syntax
|
|
------
|
|
|
|
.. code::
|
|
|
|
#include <prio.h>
|
|
|
|
typedef struct PRSocketOptionData
|
|
{
|
|
PRSockOption option;
|
|
union
|
|
{
|
|
PRUintn ip_ttl;
|
|
PRUintn mcast_ttl;
|
|
PRUintn tos;
|
|
PRBool non_blocking;
|
|
PRBool reuse_addr;
|
|
PRBool keep_alive;
|
|
PRBool mcast_loopback;
|
|
PRBool no_delay;
|
|
PRSize max_segment;
|
|
PRSize recv_buffer_size;
|
|
PRSize send_buffer_size;
|
|
PRLinger linger;
|
|
PRMcastRequest add_member;
|
|
PRMcastRequest drop_member;
|
|
PRNetAddr mcast_if;
|
|
} value;
|
|
} PRSocketOptionData;
|
|
|
|
|
|
Fields
|
|
~~~~~~
|
|
|
|
The structure has the following fields:
|
|
|
|
``ip_ttl``
|
|
IP time-to-live.
|
|
``mcast_ttl``
|
|
IP multicast time-to-live.
|
|
``tos``
|
|
IP type-of-service and precedence.
|
|
``non_blocking``
|
|
Nonblocking (network) I/O.
|
|
``reuse_addr``
|
|
Allow local address reuse.
|
|
``keep_alive``
|
|
Periodically test whether connection is still alive.
|
|
``mcast_loopback``
|
|
IP multicast loopback.
|
|
``no_delay``
|
|
Disable Nagle algorithm. Don't delay send to coalesce packets.
|
|
``max_segment``
|
|
TCP maximum segment size.
|
|
``recv_buffer_size``
|
|
Receive buffer size.
|
|
``send_buffer_size``
|
|
Send buffer size.
|
|
``linger``
|
|
Time to linger on close if data are present in socket send buffer.
|
|
``add_member``
|
|
Join an IP multicast group.
|
|
``drop_member``
|
|
Leave an IP multicast group.
|
|
``mcast_if``
|
|
IP multicast interface address.
|
|
|
|
|
|
Description
|
|
~~~~~~~~~~~
|
|
|
|
:ref:`PRSocketOptionData` is a name-value pair for a socket option. The
|
|
``option`` field (of enumeration type :ref:`PRSockOption`) specifies the
|
|
name of the socket option, and the ``value`` field (a union of all
|
|
possible values) specifies the value of the option.
|