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_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.