16#include <oqs/oqsconfig.h>
18#if defined(__cplusplus)
26#define OQS_EXIT_IF_NULLPTR(x, loc) \
28 if ((x) == (void *)0) { \
29 fprintf(stderr, "Unexpected NULL returned from %s API. Exiting.\n", \
47#ifdef OPENSSL_NO_STDIO
48#define OQS_OPENSSL_GUARD(x) \
51 fprintf(stderr, "Error return value from OpenSSL API: %d. Exiting.\n", \
57#define OQS_OPENSSL_GUARD(x) \
60 fprintf(stderr, "Error return value from OpenSSL API: %d. Exiting.\n", \
62 OSSL_FUNC(ERR_print_errors_fp)(stderr); \
75#define SIZE_T_TO_INT_OR_EXIT(size_t_var_name, int_var_name) \
76 int int_var_name = 0; \
77 if (size_t_var_name <= INT_MAX) { \
78 int_var_name = (int)size_t_var_name; \
92#define OQS_API __declspec(dllexport)
94#define OQS_API __attribute__((visibility("default")))
97#if defined(OQS_SYS_UEFI)
138 OQS_CPU_EXT_PCLMULQDQ,
139 OQS_CPU_EXT_VPCLMULQDQ,
145 OQS_CPU_EXT_ARM_SHA2,
146 OQS_CPU_EXT_ARM_SHA3,
147 OQS_CPU_EXT_ARM_NEON,
277#if defined(__cplusplus)
OQS_API void OQS_MEM_cleanse(void *ptr, size_t len)
OQS_API const char * OQS_version(void)
OQS_CPU_EXT
Definition common.h:128
void * OQS_MEM_aligned_alloc(size_t alignment, size_t size)
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:94
OQS_STATUS
Definition common.h:116
@ OQS_EXTERNAL_LIB_ERROR_OPENSSL
Definition common.h:122
@ OQS_ERROR
Definition common.h:118
@ OQS_SUCCESS
Definition common.h:120
OQS_API void * OQS_MEM_malloc(size_t size)
Memory allocation and deallocation functions.
OQS_API void OQS_init(void)
OQS_API void * OQS_MEM_calloc(size_t num_elements, size_t element_size)
OQS_API void OQS_thread_stop(void)
OQS_API char * OQS_MEM_strdup(const char *str)
OQS_API void OQS_destroy(void)
OQS_API void OQS_MEM_insecure_free(void *ptr)