QSC Post Quantum Cryptographic Library 1.0.0.6c (A6)
A post quantum secure library written in Ansi C
 
Loading...
Searching...
No Matches
socketflags.h File Reference

The socket flags enumerations. More...

#include "common.h"

Go to the source code of this file.

Enumerations

enum  qsc_ipv6_address_prefix_types {
  qsc_ipv6_prefix_none = 0x00U , qsc_ipv6_prefix_link_local = 0x01U , qsc_ipv6_prefix_multicast = 0x02U , qsc_ipv6_prefix_global = 0x03U ,
  qsc_ipv6_prefix_unique_local = 0x04U
}
 IPv6 address prefixes. More...
 
enum  qsc_socket_address_families { qsc_socket_address_family_none = 0x00000000L , qsc_socket_address_family_unix = 0x00000001L , qsc_socket_address_family_ipv4 = 0x00000002L , qsc_socket_address_family_ipv6 = 0x00000017L }
 The socket address family type. More...
 
enum  qsc_socket_states { qsc_socket_state_none = 0x00U , qsc_socket_state_connected = 0x01U , qsc_socket_state_listening = 0x02U , qsc_socket_state_connectionless = 0x03U }
 The socket instance current connection state. More...
 
enum  qsc_socket_options {
  qsc_socket_option_none = 0x00000000L , qsc_socket_option_broadcast = 0x00000020L , qsc_socket_option_ipv6_only = 0x0000001BL , qsc_socket_option_keepalive = 0x00000008L ,
  qsc_socket_option_linger = 0x00000080L , qsc_socket_option_no_route = 0x00000010L , qsc_socket_option_out_of_band = 0x00000100L , qsc_socket_option_reuse_address = 0x00000004L ,
  qsc_socket_option_receive_time_out = 0x00001006L , qsc_socket_option_send_time_out = 0x00001005L , qsc_socket_option_tcp_no_delay = 0x00000001L
}
 TCP socket options. More...
 
enum  qsc_socket_protocols {
  qsc_socket_protocol_none = 0x00000000L , qsc_socket_protocol_ipv4 = 0x00000004L , qsc_socket_protocol_socket = 0x0000FFFFL , qsc_socket_protocol_tcp = 0x00000006L ,
  qsc_socket_protocol_udp = 0x00000011L , qsc_socket_protocol_ipv6 = 0x00000029L , qsc_socket_protocol_ipv6_routing = 0x0000002BL , qsc_socket_protocol_ipv6_fragment = 0x0000002CL ,
  qsc_socket_protocol_icmpv6 = 0x0000003AL , qsc_socket_protocol_ipv6_no_header = 0x0000003BL , qsc_socket_protocol_dstopts = 0x0000003CL , qsc_socket_protocol_raw = 0x000000FFL
}
 The socket IP protocol type. More...
 
enum  qsc_socket_receive_flags { qsc_socket_receive_flag_none = 0x00000000L , qsc_socket_receive_flag_out_of_band = 0x00000001L , qsc_socket_receive_flag_peek = 0x00000002L , qsc_socket_receive_flag_wait_all = 0x00000100L }
 The socket receive api flags. More...
 
enum  qsc_socket_send_flags { qsc_socket_send_flag_none = 0x00000000L , qsc_socket_send_flag_send_oob = 0x00000001L , qsc_socket_send_flag_peek_message = 0x00000002L , qsc_socket_send_flag_no_routing = 0x00000004L }
 The socket send api flags. More...
 
enum  qsc_socket_shut_down_flags { qsc_socket_shut_down_flag_receive = 0x00000000L , qsc_socket_shut_down_flag_send = 0x00000001L , qsc_socket_shut_down_flag_both = 0x00000002L }
 The socket shutdown api flags. More...
 
enum  qsc_socket_transports {
  qsc_socket_transport_none = 0x00000000L , qsc_socket_transport_stream = 0x00000001L , qsc_socket_transport_datagram = 0x00000002L , qsc_socket_transport_raw = 0x00000003L ,
  qsc_socket_transport_reliable = 0x00000004L , qsc_socket_transport_sequenced = 0x00000005L
}
 The socket transmission type. More...
 

Detailed Description

The socket flags enumerations.

Enumeration Type Documentation

◆ qsc_ipv6_address_prefix_types

IPv6 address prefixes.

Enumerator
qsc_ipv6_prefix_none 

No prefix is set

qsc_ipv6_prefix_link_local 

An link local address type, not globally routable, prefix: fe80

qsc_ipv6_prefix_multicast 

A qsc_ipv6_prefix_multicast address type, prefix: ff00

qsc_ipv6_prefix_global 

A globally routable address type, prefix: 2000

qsc_ipv6_prefix_unique_local 

A unique local address type, not globally routable, prefix: fc00-fd00

◆ qsc_socket_address_families

The socket address family type.

Enumerator
qsc_socket_address_family_none 

No address family is specified AF_UNSPEC

qsc_socket_address_family_unix 

Unix local to host (pipes, portals) AF_UNIX

qsc_socket_address_family_ipv4 

The Internet Protocol 4 address family AF_INET

qsc_socket_address_family_ipv6 

The Internet Protocol 6 address family AF_INET6

◆ qsc_socket_options

TCP socket options.

Enumerator
qsc_socket_option_none 

No flag is used

qsc_socket_option_broadcast 

Configures a socket for sending broadcast data SO_BROADCAST

qsc_socket_option_ipv6_only 

Flag used to enable a dual stack configuration IPV6_V6ONLY

qsc_socket_option_keepalive 

Enables sending keep-alive packets for a socket connection SO_KEEPALIVE

qsc_socket_option_linger 

Lingers on close if unsent data is present SO_LINGER

qsc_socket_option_no_route 

Sets whether outgoing data should be sent on interface the socket is bound to and not a routed on some other interface SO_DONTROUTE

qsc_socket_option_out_of_band 

Indicates that out-of-bound data should be returned in-line with regular data SO_OOBINLINE

qsc_socket_option_reuse_address 

Enables or disables the reuse of a bound address

qsc_socket_option_receive_time_out 

The timeout, in milliseconds, for blocking received calls SO_RCVTIMEO

qsc_socket_option_send_time_out 

The timeout, in milliseconds, for blocking send calls SO_SNDTIMEO

qsc_socket_option_tcp_no_delay 

Enables or disables the Nagle algorithm for TCP sockets. This option is disabled (set to FALSE) by default TCP_NODELAY

◆ qsc_socket_protocols

The socket IP protocol type.

Enumerator
qsc_socket_protocol_none 

No protocol type specified

qsc_socket_protocol_ipv4 

Internet Protocol version 4 IPPROTO_IPV4

qsc_socket_protocol_socket 

Enables or disables a socket level option

qsc_socket_protocol_tcp 

Transport Control Protocol IPPROTO_TCP

qsc_socket_protocol_udp 

Unreliable Delivery Protocol IPPROTO_UDP

qsc_socket_protocol_ipv6 

IPv6 header IPPROTO_IPV6

qsc_socket_protocol_ipv6_routing 

IPv6 Routing header IPPROTO_ROUTING

qsc_socket_protocol_ipv6_fragment 

IPv6 fragmentation header IPPROTO_FRAGMENT

qsc_socket_protocol_icmpv6 

ICMPv6 IPPROTO_ICMPV6

qsc_socket_protocol_ipv6_no_header 

IPv6 no next header IPPROTO_NONE

qsc_socket_protocol_dstopts 

IPv6 Destination options IPPROTO_DSTOPTS

qsc_socket_protocol_raw 

Raw Packet IPPROTO_RAW

◆ qsc_socket_receive_flags

The socket receive api flags.

Enumerator
qsc_socket_receive_flag_none 

No flag is used

qsc_socket_receive_flag_out_of_band 

Process out of band data MSG_OOB

qsc_socket_receive_flag_peek 

Peeks at the incoming data MSG_PEEK

qsc_socket_receive_flag_wait_all 

Request completes only when buffer is full MSG_WAITALL

◆ qsc_socket_send_flags

The socket send api flags.

Enumerator
qsc_socket_send_flag_none 

No flag is used

qsc_socket_send_flag_send_oob 

Sends OOB data on a stream type socket MSG_OOB

qsc_socket_send_flag_peek_message 

Sends a partial message

qsc_socket_send_flag_no_routing 

The data packets should not be routed MSG_DONTROUTE

◆ qsc_socket_shut_down_flags

The socket shutdown api flags.

Enumerator
qsc_socket_shut_down_flag_receive 

Shut down the receiving channel QSC_SOCKET_SD_RECEIVE

qsc_socket_shut_down_flag_send 

Shut down the sending channel QSC_SOCKET_SD_SEND

qsc_socket_shut_down_flag_both 

Shut down both channels QSC_SOCKET_SD_BOTH

◆ qsc_socket_states

The socket instance current connection state.

Enumerator
qsc_socket_state_none 

The socket instance is not initialized

qsc_socket_state_connected 

The socket instance is connected

qsc_socket_state_listening 

The socket instance is listening

qsc_socket_state_connectionless 

The socket is in connection-less mode

◆ qsc_socket_transports

The socket transmission type.

Enumerator
qsc_socket_transport_none 

No flag is used

qsc_socket_transport_stream 

Streaming connection SOCK_STREAM

qsc_socket_transport_datagram 

Datagram connection SOCK_DGRAM

qsc_socket_transport_raw 

TCP Raw socket SOCK_RAW

qsc_socket_transport_reliable 

Reliable protocol SOCK_RDM

qsc_socket_transport_sequenced 

Sequenced packets SOCK_SEQPACKET