Files

1.7 KiB

PRSocketOptionData

Type for structure used with {ref}PR_GetSocketOption and {ref}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

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