17#include <oqs/oqsconfig.h>
19#if defined(__cplusplus)
27#define OQS_EXIT_IF_NULLPTR(x, loc) \
29 if ( (x) == (void*)0 ) { \
30 fprintf(stderr, "Unexpected NULL returned from %s API. Exiting.\n", loc); \
47#ifdef OPENSSL_NO_STDIO
48#define OQS_OPENSSL_GUARD(x) \
51 fprintf(stderr, "Error return value from OpenSSL API: %d. Exiting.\n", x); \
56#define OQS_OPENSSL_GUARD(x) \
59 fprintf(stderr, "Error return value from OpenSSL API: %d. Exiting.\n", x); \
60 OSSL_FUNC(ERR_print_errors_fp)(stderr); \
73#define SIZE_T_TO_INT_OR_EXIT(size_t_var_name, int_var_name) \
74 int int_var_name = 0; \
75 if (size_t_var_name <= INT_MAX) { \
76 int_var_name = (int)size_t_var_name; \
90#define OQS_API __declspec(dllexport)
92#define OQS_API __attribute__((visibility("default")))
95#if defined(OQS_SYS_UEFI)
136 OQS_CPU_EXT_PCLMULQDQ,
137 OQS_CPU_EXT_VPCLMULQDQ,
143 OQS_CPU_EXT_ARM_SHA2,
144 OQS_CPU_EXT_ARM_SHA3,
145 OQS_CPU_EXT_ARM_NEON,
290#if defined(__cplusplus)
void * OQS_MEM_checked_aligned_alloc(size_t alignment, size_t size)
OQS_API void OQS_MEM_cleanse(void *ptr, size_t len)
OQS_API const char * OQS_version(void)
OQS_CPU_EXT
Definition common.h:126
void * OQS_MEM_aligned_alloc(size_t alignment, size_t size)
void * OQS_MEM_checked_malloc(size_t len)
OQS_API int OQS_CPU_has_extension(OQS_CPU_EXT ext)
OQS_API void OQS_MEM_secure_free(void *ptr, size_t len)
OQS_API int OQS_MEM_secure_bcmp(const void *a, const void *b, size_t len)
void OQS_MEM_aligned_free(void *ptr)
#define OQS_API
Definition common.h:92
OQS_STATUS
Definition common.h:114
@ OQS_EXTERNAL_LIB_ERROR_OPENSSL
Definition common.h:120
@ OQS_ERROR
Definition common.h:116
@ OQS_SUCCESS
Definition common.h:118
OQS_API void OQS_init(void)
OQS_API void OQS_destroy(void)
OQS_API void OQS_MEM_insecure_free(void *ptr)