cosmopolitan/third_party/mbedtls/platform.h
Justine Tunney e51034bab3 Make GCM AES faster
13.22% mbedtls_aesni_gcm_mult
    13.03% mbedtls_gcm_update
     9.85% mbedtls_aesni_crypt_ecb

Overhead improvement (perf record)

    10.97% mbedtls_aesni_gcm_mult
    10.59% mbedtls_aesni_crypt_ecb
     2.26% mbedtls_gcm_update
2021-07-06 08:27:16 -07:00

62 lines
2 KiB
C

#ifndef COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PLATFORM_H_
#define COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PLATFORM_H_
#include "libc/assert.h"
#include "libc/bits/likely.h"
#include "libc/calls/weirdtypes.h"
#include "libc/fmt/fmt.h"
#include "libc/mem/mem.h"
#include "libc/runtime/runtime.h"
#include "libc/stdio/stdio.h"
#include "libc/time/time.h"
#include "third_party/mbedtls/config.h"
COSMOPOLITAN_C_START_
#define MBEDTLS_EXIT_SUCCESS 0
#define MBEDTLS_EXIT_FAILURE 1
#define mbedtls_free free
#define mbedtls_calloc calloc
#define mbedtls_snprintf snprintf
#define mbedtls_vsnprintf vsnprintf
#define mbedtls_exit exit
#define mbedtls_time_t time_t
#define mbedtls_time time
#define mbedtls_platform_gmtime_r gmtime_r
#define mbedtls_fprintf(...) ((void)0)
#define mbedtls_printf(...) ((void)0)
#ifdef MBEDTLS_CHECK_PARAMS
#define MBEDTLS_PARAM_FAILED(cond) \
mbedtls_param_failed(#cond, __FILE__, __LINE__)
#else
#define MBEDTLS_PARAM_FAILED(cond) unreachable
#endif
#define MBEDTLS_INTERNAL_VALIDATE_RET(cond, ret) \
do { \
if (UNLIKELY(!(cond))) { \
MBEDTLS_PARAM_FAILED(cond); \
return ret; \
} \
} while (0)
#define MBEDTLS_INTERNAL_VALIDATE(cond) \
do { \
if (UNLIKELY(!(cond))) { \
MBEDTLS_PARAM_FAILED(cond); \
return; \
} \
} while (0)
typedef struct mbedtls_platform_context {
char dummy;
} mbedtls_platform_context;
void mbedtls_platform_zeroize(void *, size_t);
int mbedtls_platform_setup(mbedtls_platform_context *);
void mbedtls_platform_teardown(mbedtls_platform_context *);
void mbedtls_param_failed(const char *, const char *, int) relegated;
COSMOPOLITAN_C_END_
#endif /* COSMOPOLITAN_THIRD_PARTY_MBEDTLS_PLATFORM_H_ */