PRSocketOptionData
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_ttlIP time-to-live.
mcast_ttlIP multicast time-to-live.
tosIP type-of-service and precedence.
non_blockingNonblocking (network) I/O.
reuse_addrAllow local address reuse.
keep_alivePeriodically test whether connection is still alive.
mcast_loopbackIP multicast loopback.
no_delayDisable Nagle algorithm. Don’t delay send to coalesce packets.
max_segmentTCP maximum segment size.
recv_buffer_sizeReceive buffer size.
send_buffer_sizeSend buffer size.
lingerTime to linger on close if data are present in socket send buffer.
add_memberJoin an IP multicast group.
drop_memberLeave an IP multicast group.
mcast_ifIP 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.