QSC Post Quantum Cryptographic Library 1.1.0.2 (B2)
A post quantum secure library written in Ansi C
Loading...
Searching...
No Matches
qsccommon.h File Reference

Contains common definitions for the Quantum Secure Cryptographic (QSC) library. More...

#include <assert.h>
#include <errno.h>
#include <limits.h>
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Macros

#define QSC_CPLUSPLUS_ENABLED_START
#define QSC_CPLUSPLUS_ENABLED_END
#define QSC_ASSERT(expr)
#define QSC_PRAGMA_STR(x)
 The stringify function.
#define QSC_NO_INLINE
 Tells the compiler not to inline a function.
#define QSC_SYSTEM_SOCKETS_BERKELEY
 Defined when using Berkeley sockets.
#define QSC_ATTRIBUTE(a)
#define QSC_EXPORT_API
 API export macro for Microsoft compilers when importing from a DLL.
#define QSC_SYSTEM_IS_X86
 Defined when the target system is 32-bit.
#define QSC_SIZE_MAX   UINT32_MAX
 The maximum integer size for a 32-bit system.
#define QSC_SYSTEM_IS_LITTLE_ENDIAN
 Defined if the system is little endian.
#define QSC_SYSTEM_MAX_NAME   260ULL
 The maximum system name length supported by the system.
#define QSC_SYSTEM_MAX_PATH   260ULL
 The maximum path length supported by the system.
#define QSC_SYSTEM_SECMEMALLOC_DEFAULT   4096ULL
 Default secure memory buffer allocation size (in bytes).
#define QSC_SYSTEM_SECMEMALLOC_MIN   16ULL
 Minimum secure memory allocation size (in bytes).
#define QSC_SYSTEM_SECMEMALLOC_MAX   131072ULL
 Maximum secure memory allocation size (in bytes).
#define QSC_SYSTEM_SECMEMALLOC_MAXKB   512ULL
 Maximum secure memory allocation in kilobytes.
#define QSC_SYSTEM_OPTIMIZE_IGNORE
 Compiler hint to disable optimization in MSVC.
#define QSC_SYSTEM_OPTIMIZE_RESUME
 Compiler hint to resume optimization in MSVC.
#define QSC_SYSTEM_CONDITION_IGNORE(x)
 A macro to disable a specific warning condition.
#define QSC_SYSTEM_CONDITION_RESUME(x)
 A macro to re-enable a specific warning condition.
#define QSC_ALIGN(x)
 Macro for aligning data to 'x' bytes using GCC/Clang.
#define QSC_SIMD_ALIGNMENT   8
 Alignment value for enabled intrinsic.
#define QSC_SIMD_ALIGN
 Macro to align data on supported intrinsics size.
#define QSC_STATUS_SUCCESS   0LL
 Function return value indicating successful operation.
#define QSC_STATUS_FAILURE   -1LL
 Function return value indicating failed operation.
#define QSC_EDDH_RFC_7748_COMPLIANT
#define QSC_EDDH_S1EC25519
 Enable the EDDH S1EC25519 parameter set.
#define QSC_KYBER_S5K4P1024
 Enable the Kyber S5K4P1024 parameter set.
#define QSC_HQC_S5N7333
 Enable the HQC S5N57637 parameter set.
#define QSC_MCELIECE_S5N6688T128
 Enable the McEliece S5-N6688T128 parameter set.
#define QSC_DILITHIUM_S5P87
 Enable the Dilithium S5P87 parameter set.
#define QSC_ECDSA_S5P521
 Enable the ECDSA S1P521 (NIST P-521) parameter set.
#define QSC_EDDSA_S1EC25519
 Enable the EDDSA S1EC25519 parameter set.
#define QSC_FALCON_S5SHAKE256F1024
 Enable the Falcon S5SHAKE256F1024 parameter set.
#define QSC_SPHINCSPLUS_S5S256SHAKERS
 Enable the SphincsPlus S5S256SHAKERS robust small parameter set.

Typedefs

typedef int errno_t

Detailed Description

Contains common definitions for the Quantum Secure Cryptographic (QSC) library.

This file provides common macros, type definitions, compiler/OS/architecture detection, API export macros, alignment macros, secure memory allocation definitions, and other utility macros. These definitions are used throughout the QSC library to ensure portability and performance.

Macro Definition Documentation

◆ QSC_ASSERT

#define QSC_ASSERT ( expr)
Value:
((void)0)

◆ QSC_PRAGMA_STR

#define QSC_PRAGMA_STR ( x)
Value:
_Pragma(#x)

The stringify function.