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
Go to the documentation of this file.
1/* 2025 Quantum Resistant Cryptographic Solutions Corporation
2 * All Rights Reserved.
3 *
4 * NOTICE: This software and all accompanying materials are the exclusive
5 * property of Quantum Resistant Cryptographic Solutions Corporation (QRCS).
6 * The intellectual and technical concepts contained within this implementation
7 * are proprietary to QRCS and its authorized licensors and are protected under
8 * applicable U.S. and international copyright, patent, and trade secret laws.
9 *
10 * CRYPTOGRAPHIC STANDARDS:
11 * - This software includes implementations of cryptographic algorithms such as
12 * SHA3, AES, and others. These algorithms are public domain or standardized
13 * by organizations such as NIST and are NOT the property of QRCS.
14 * - However, all source code, optimizations, and implementations in this library
15 * are original works of QRCS and are protected under this license.
16 *
17 * RESTRICTIONS:
18 * - Redistribution, modification, or unauthorized distribution of this software,
19 * in whole or in part, is strictly prohibited.
20 * - This software is provided for non-commercial, educational, and research
21 * purposes only. Commercial use in any form is expressly forbidden.
22 * - Licensing and authorized distribution are solely at the discretion of QRCS.
23 * - Any use of this software implies acceptance of these restrictions.
24 *
25 * DISCLAIMER:
26 * This software is provided "as is," without warranty of any kind, express or
27 * implied, including but not limited to warranties of merchantability or fitness
28 * for a particular purpose. QRCS disclaims all liability for any direct, indirect,
29 * incidental, or consequential damages resulting from the use or misuse of this software.
30 *
31 * FULL LICENSE:
32 * This software is subject to the **Quantum Resistant Cryptographic Solutions
33 * Proprietary License (QRCS-PL)**. The complete license terms are included
34 * in the LICENSE.txt file distributed with this software.
35 *
36 * Written by: John G. Underhill
37 * Contact: john.underhill@protonmail.com
38 */
39
40#ifndef QSC_SOCKFLAGS_H
41#define QSC_SOCKFLAGS_H
42
43#include "common.h"
44
45QSC_CPLUSPLUS_ENABLED_START
46
51
63
74
85
103
122
126typedef enum
127{
130 qsc_socket_receive_flag_peek = 0x00000002L, //0x40
131#if defined(QSC_SYSTEM_OS_WINDOWS)
133#elif defined(QSC_SYSTEM_OS_APPLE)
135#else
137#endif
139
150
160
173
174QSC_CPLUSPLUS_ENABLED_END
175
176#endif
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
qsc_socket_options
TCP socket options.
Definition socketflags.h:90
@ qsc_socket_option_tcp_no_delay
Definition socketflags.h:101
@ qsc_socket_option_broadcast
Definition socketflags.h:92
@ qsc_socket_option_out_of_band
Definition socketflags.h:97
@ qsc_socket_option_none
Definition socketflags.h:91
@ qsc_socket_option_linger
Definition socketflags.h:95
@ qsc_socket_option_keepalive
Definition socketflags.h:94
@ qsc_socket_option_no_route
Definition socketflags.h:96
@ qsc_socket_option_ipv6_only
Definition socketflags.h:93
@ qsc_socket_option_reuse_address
Definition socketflags.h:98
@ qsc_socket_option_send_time_out
Definition socketflags.h:100
@ qsc_socket_option_receive_time_out
Definition socketflags.h:99
qsc_socket_transports
The socket transmission type.
Definition socketflags.h:165
@ qsc_socket_transport_raw
Definition socketflags.h:169
@ qsc_socket_transport_sequenced
Definition socketflags.h:171
@ qsc_socket_transport_datagram
Definition socketflags.h:168
@ qsc_socket_transport_reliable
Definition socketflags.h:170
@ qsc_socket_transport_none
Definition socketflags.h:166
@ qsc_socket_transport_stream
Definition socketflags.h:167
qsc_socket_shut_down_flags
The socket shutdown api flags.
Definition socketflags.h:155
@ qsc_socket_shut_down_flag_both
Definition socketflags.h:158
@ qsc_socket_shut_down_flag_send
Definition socketflags.h:157
@ qsc_socket_shut_down_flag_receive
Definition socketflags.h:156
qsc_socket_states
The socket instance current connection state.
Definition socketflags.h:79
@ qsc_socket_state_none
Definition socketflags.h:80
@ qsc_socket_state_listening
Definition socketflags.h:82
@ qsc_socket_state_connectionless
Definition socketflags.h:83
@ qsc_socket_state_connected
Definition socketflags.h:81
qsc_ipv6_address_prefix_types
IPv6 address prefixes.
Definition socketflags.h:56
@ qsc_ipv6_prefix_unique_local
Definition socketflags.h:61
@ qsc_ipv6_prefix_multicast
Definition socketflags.h:59
@ qsc_ipv6_prefix_link_local
Definition socketflags.h:58
@ qsc_ipv6_prefix_none
Definition socketflags.h:57
@ qsc_ipv6_prefix_global
Definition socketflags.h:60
qsc_socket_address_families
The socket address family type.
Definition socketflags.h:68
@ qsc_socket_address_family_ipv6
Definition socketflags.h:72
@ qsc_socket_address_family_none
Definition socketflags.h:69
@ qsc_socket_address_family_unix
Definition socketflags.h:70
@ qsc_socket_address_family_ipv4
Definition socketflags.h:71
qsc_socket_receive_flags
The socket receive api flags.
Definition socketflags.h:127
@ qsc_socket_receive_flag_peek
Definition socketflags.h:130
@ qsc_socket_receive_flag_out_of_band
Definition socketflags.h:129
@ qsc_socket_receive_flag_wait_all
Definition socketflags.h:136
@ qsc_socket_receive_flag_none
Definition socketflags.h:128
qsc_socket_send_flags
The socket send api flags.
Definition socketflags.h:144
@ qsc_socket_send_flag_none
Definition socketflags.h:145
@ qsc_socket_send_flag_no_routing
Definition socketflags.h:148
@ qsc_socket_send_flag_send_oob
Definition socketflags.h:146
@ qsc_socket_send_flag_peek_message
Definition socketflags.h:147
qsc_socket_protocols
The socket IP protocol type.
Definition socketflags.h:108
@ qsc_socket_protocol_raw
Definition socketflags.h:120
@ qsc_socket_protocol_icmpv6
Definition socketflags.h:117
@ qsc_socket_protocol_tcp
Definition socketflags.h:112
@ qsc_socket_protocol_dstopts
Definition socketflags.h:119
@ qsc_socket_protocol_udp
Definition socketflags.h:113
@ qsc_socket_protocol_ipv6_routing
Definition socketflags.h:115
@ qsc_socket_protocol_socket
Definition socketflags.h:111
@ qsc_socket_protocol_ipv6
Definition socketflags.h:114
@ qsc_socket_protocol_ipv6_no_header
Definition socketflags.h:118
@ qsc_socket_protocol_ipv4
Definition socketflags.h:110
@ qsc_socket_protocol_none
Definition socketflags.h:109
@ qsc_socket_protocol_ipv6_fragment
Definition socketflags.h:116