#ifndef WOLFSSL_USER_SETTINGS_CRYPTOCB_ONLY_H
#define WOLFSSL_USER_SETTINGS_CRYPTOCB_ONLY_H
#define WOLF_CRYPTO_CB
#define WOLF_CRYPTO_CB_ONLY_ECC
#define WOLF_CRYPTO_CB_ONLY_RSA
#define SINGLE_THREADED
#define NO_FILESYSTEM
#define NO_WRITEV
#define WOLFSSL_USER_IO
#define NO_MAIN_DRIVER
#define NO_SESSION_CACHE
#define XMALLOC_USER
int caliptra_generate_random_block(unsigned char* output, unsigned int sz);
#define CUSTOM_RAND_GENERATE_BLOCK caliptra_generate_random_block
#define NO_STDLIB_H
#define STRING_USER
#define XMEMCPY(d,s,n) __builtin_memcpy((d),(s),(n))
#define XMEMSET(d,v,n) __builtin_memset((d),(v),(n))
#define XMEMCMP(a,b,n) __builtin_memcmp((a),(b),(n))
#define XMEMMOVE(d,s,n) __builtin_memmove((d),(s),(n))
#define XSTRLEN(s) __builtin_strlen(s)
#define XSTRNCPY(d,s,n) __builtin_strncpy((d),(s),(n))
#define XSTRNCMP(a,b,n) __builtin_strncmp((a),(b),(n))
#define XSTRCMP(a,b) __builtin_strcmp((a),(b))
#include <stddef.h>
#include <stdint.h>
typedef long time_t;
#define memcpy __builtin_memcpy
#define memset __builtin_memset
#define memcmp __builtin_memcmp
#define memmove __builtin_memmove
#define XSNPRINTF(buf,sz,...) 0
#define XSTRTOK(s,d,c) ((char*)0)
#define XATOI(s) 0
#define XSTRSTR(h,n) wolfssl_strstr((h),(n))
#define XSTRNCASECMP(a,b,n) wolfssl_strncasecmp((a),(b),(n))
const char *wolfssl_strstr(const char *h, const char *n);
int wolfssl_strncasecmp(const char *a, const char *b, size_t n);
#define WOLFSSL_IP4 2
#define WOLFSSL_IP6 10
#define XINET_PTON(af,src,dst) 0
#define CTYPE_USER
#define XTOUPPER(c) (((c) >= 'a' && (c) <= 'z') ? ((c) - 'a' + 'A') : (c))
#define XISALPHA(c) (((c) >= 'a' && (c) <= 'z') || ((c) >= 'A' && (c) <= 'Z'))
#define XISDIGIT(c) ((c) >= '0' && (c) <= '9')
#define XISALNUM(c) (XISALPHA(c) || XISDIGIT(c))
#define XISASCII(c) ((c) >= 0 && (c) <= 127)
#define XISSPACE(c) ((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) == '\r')
#define XTOLOWER(c) (((c) >= 'A' && (c) <= 'Z') ? ((c) - 'A' + 'a') : (c))
#define XSTRNCAT(d,s,n) wolfssl_strncat((d),(s),(n))
#define XSTRNSTR(h,n,l) wolfssl_strnstr((h),(n),(l))
#define XSTRCASECMP(a,b) wolfssl_strcasecmp((a),(b))
#define XSTRCAT(d,s) wolfssl_strncat((d),(s),0x7FFFFFFF)
#define XSTRCHR(s,c) wolfssl_strchr((s),(c))
char *wolfssl_strncat(char *d, const char *s, size_t n);
const char *wolfssl_strnstr(const char *h, const char *n, size_t len);
int wolfssl_strcasecmp(const char *a, const char *b);
char *wolfssl_strchr(const char *s, int c);
#define WOLFSSL_NO_ASSERT_H
#define NO_STDIO_FILESYSTEM
#define WOLFSSL_NO_LOGGING
#define WOLFSSL_USER_LOG
#define NO_WOLFSSL_DIR
#define WOLFSSL_NO_SOCK
#define NO_ASN_TIME
#define USER_TIME
#ifndef XTIME
#define XTIME(t) (0)
#endif
#ifndef XGMTIME
#define XGMTIME(c, t) (NULL)
#endif
#define NO_WOLFSSL_STUB
#define HAVE_ECC
#define ECC_TIMING_RESISTANT
#define WOLFSSL_SHA224
#define WOLFSSL_SHA384
#define WOLFSSL_SHA512
#define HAVE_HKDF
#define WC_KDF_NIST_SP_800_56C
#define WOLFSSL_ASN_ORIGINAL
#define NO_RSA
#define NO_DH
#define NO_DES3
#define NO_MD4
#define NO_MD5
#define NO_SHA
#define NO_RC4
#define NO_PSK
#define NO_PWDBASED
#define NO_DSA
#define NO_OLD_TLS
#define NO_SESSION_CACHE
#define NO_ERROR_STRINGS
#define NO_WOLFSSL_MEMORY
#define NO_SIG_WRAPPER
#define NO_CODING
#define NO_BIO
#endif