53 #ifndef OPENSSL_HEADER_BASE_H 54 #define OPENSSL_HEADER_BASE_H 61 #include <sys/types.h> 63 #if defined(__MINGW32__) 70 #if defined(BORINGSSL_PREFIX) 71 #include <boringssl_prefix_symbols.h> 74 #if defined(__cplusplus) 79 #if defined(__x86_64) || defined(_M_AMD64) || defined(_M_X64) 80 #define OPENSSL_64_BIT 81 #define OPENSSL_X86_64 82 #elif defined(__x86) || defined(__i386) || defined(__i386__) || defined(_M_IX86) 83 #define OPENSSL_32_BIT 85 #elif defined(__aarch64__) 86 #define OPENSSL_64_BIT 87 #define OPENSSL_AARCH64 88 #elif defined(__arm) || defined(__arm__) || defined(_M_ARM) 89 #define OPENSSL_32_BIT 91 #elif (defined(__PPC64__) || defined(__powerpc64__)) && defined(_LITTLE_ENDIAN) 92 #define OPENSSL_64_BIT 93 #define OPENSSL_PPC64LE 94 #elif defined(__mips__) && !defined(__LP64__) 95 #define OPENSSL_32_BIT 97 #elif defined(__mips__) && defined(__LP64__) 98 #define OPENSSL_64_BIT 99 #define OPENSSL_MIPS64 100 #elif defined(__pnacl__) 101 #define OPENSSL_32_BIT 102 #define OPENSSL_PNACL 103 #elif defined(__myriad2__) 104 #define OPENSSL_32_BIT 106 #error "Unknown target CPU" 109 #if defined(__APPLE__) 110 #define OPENSSL_APPLE 114 #define OPENSSL_WINDOWS 118 #define OPENSSL_TRUSTY 119 #define OPENSSL_NO_THREADS 122 #define OPENSSL_IS_BORINGSSL 123 #define BORINGSSL_201512 124 #define BORINGSSL_201603 125 #define OPENSSL_VERSION_NUMBER 0x100020af 126 #define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER 136 #define BORINGSSL_API_VERSION 2 138 #if defined(BORINGSSL_SHARED_LIBRARY) 140 #if defined(OPENSSL_WINDOWS) 142 #if defined(BORINGSSL_IMPLEMENTATION) 143 #define OPENSSL_EXPORT __declspec(dllexport) 145 #define OPENSSL_EXPORT __declspec(dllimport) 150 #if defined(BORINGSSL_IMPLEMENTATION) 151 #define OPENSSL_EXPORT __attribute__((visibility("default"))) 153 #define OPENSSL_EXPORT 160 #define OPENSSL_EXPORT 165 #if defined(__GNUC__) 169 #if defined(__MINGW_PRINTF_FORMAT) 170 #define OPENSSL_PRINTF_FORMAT_FUNC(string_index, first_to_check) \ 172 (__format__(__MINGW_PRINTF_FORMAT, string_index, first_to_check))) 174 #define OPENSSL_PRINTF_FORMAT_FUNC(string_index, first_to_check) \ 175 __attribute__((__format__(__printf__, string_index, first_to_check))) 178 #define OPENSSL_PRINTF_FORMAT_FUNC(string_index, first_to_check) 182 #if defined(_MSC_VER) 183 #define OPENSSL_MSVC_PRAGMA(arg) __pragma(arg) 185 #define OPENSSL_MSVC_PRAGMA(arg) 315 #if defined(__cplusplus) 321 #if !defined(BORINGSSL_NO_CXX) && __cplusplus < 201103L && !defined(_MSC_VER) 322 #define BORINGSSL_NO_CXX 325 #if !defined(BORINGSSL_NO_CXX) 331 #if defined(_STLPORT_VERSION) 332 #define BORINGSSL_NO_CXX 336 #endif // !BORINGSSL_NO_CXX 338 #if defined(BORINGSSL_NO_CXX) 340 #define BORINGSSL_MAKE_DELETER(type, deleter) 341 #define BORINGSSL_MAKE_STACK_DELETER(type, deleter) 353 template <
typename T>
354 struct DeleterImpl {};
356 template <
typename T>
358 void operator()(
T *ptr) {
367 DeleterImpl<T>::Free(ptr);
371 template <
typename T,
typename CleanupRet,
void (*
init)(
T *),
372 CleanupRet (*cleanup)(
T *)>
373 class StackAllocated {
375 StackAllocated() {
init(&ctx_); }
376 ~StackAllocated() { cleanup(&ctx_); }
378 StackAllocated(
const StackAllocated<T, CleanupRet, init, cleanup> &) =
delete;
379 T& operator=(
const StackAllocated<T, CleanupRet, init, cleanup> &) =
delete;
381 T *
get() {
return &ctx_; }
382 const T *
get()
const {
return &ctx_; }
395 #define BORINGSSL_MAKE_DELETER(type, deleter) \ 396 namespace internal { \ 398 struct DeleterImpl<type> { \ 399 static void Free(type *ptr) { deleter(ptr); } \ 405 #define BORINGSSL_MAKE_STACK_DELETER(type, deleter) \ 406 namespace internal { \ 408 struct DeleterImpl<STACK_OF(type)> { \ 409 static void Free(STACK_OF(type) *ptr) { \ 410 sk_##type##_pop_free(ptr, deleter); \ 418 template <
typename T>
419 using UniquePtr = std::unique_ptr<T, internal::Deleter<T>>;
425 #endif // !BORINGSSL_NO_CXX
struct st_ERR_FNS ERR_FNS
Definition: base.h:298
int CRYPTO_THREADID
Definition: base.h:190
void Reset()
Definition: metrics_default.cc:285
void * OPENSSL_BLOCK
Definition: base.h:312
Definition: internal.h:67
Definition: internal.h:196
Definition: x509_vfy.h:163
Definition: internal.h:181
Definition: pcy_int.h:115
Definition: spake25519.c:273
Definition: internal.h:69
Definition: internal.h:34
Definition: internal.h:232
void
Definition: AVFoundationCFSoftLinking.h:81
Definition: internal.h:74
Definition: bytestring.h:286
TestSubObjConstructor T
Definition: TestTypedefs.idl:84
int ASN1_NULL
Definition: base.h:193
Definition: x509_vfy.h:215
int ASN1_BOOLEAN
Definition: base.h:192
Definition: bytestring.h:37
struct asn1_pctx_st ASN1_PCTX
Definition: base.h:196
Definition: x509_vfy.h:181
Definition: internal.h:1207
Definition: internal.h:138
Definition: document.h:393
void init()
Definition: HTMLNames.cpp:1637
Definition: internal.h:510
Definition: internal.h:114
Definition: bytestring_test.cc:31
Definition: pcy_int.h:149
Definition: pcy_int.h:140
Definition: pcy_int.h:163
Definition: x509_vfy.h:228
#define T(a)
Definition: row_common.cc:1964