Type for structure used with PR_GetSocketOption and PR_SetSocketOption to specify options for file descriptors that represent sockets.
Syntax
#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
PRSocketOptionData is a name-value pair for a socket option. The option field (of enumeration type PRSockOption) specifies the name of the socket option, and the value field (a union of all possible values) specifies the value of the option.