Skip to content

Instantly share code, notes, and snippets.

@genotrance
Created July 12, 2020 18:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save genotrance/53d3ae50434ad73365d45bdd6a0ff97d to your computer and use it in GitHub Desktop.
Save genotrance/53d3ae50434ad73365d45bdd6a0ff97d to your computer and use it in GitHub Desktop.
Nim wrapper for pkcs7 using nimterop
# nim c -d:FLAGS pkcs.nim
#
# FLAGS
# -d:pkcs7Std | -d:pkcs7Conan | -d:pkcs7JBB
# -d:pkcs7Static
import strutils
import nimterop/[build, cimport]
const
baseDir = getProjectCacheDir("nimpkcs7")
getHeader(
header = "openssl/pkcs7.h",
conanuri = "openssl",
jbburi = "openssl",
outdir = baseDir,
altNames = "crypto"
)
cOverride:
type
ASN1_ITEM_st {.importc.} = object
cPlugin:
import strutils
proc onSymbol*(sym: var Symbol) {.exportc, dynlib.} =
sym.name = sym.name.strip(chars = {'_'}).replace("__", "_")
# Rename consts since they are stylistic duplicates
if sym.name in [
"BIO_CTRL_PENDING", "BIO_CTRL_WPENDING",
"BN_F_BNRAND", "BN_F_BNRAND_RANGE",
"CRYPTO_LOCK", "CRYPTO_NUM_LOCKS", "CRYPTO_THREADID",
"OPENSSL_VERSION",
"PKCS7_ENCRYPT", "PKCS7_STREAM",
"SMIME_TEXT",
]:
sym.name = "C_" & sym.name
const
dynlib = when isDefined(pkcs7Static): "" else: pkcs7LPath
cImport(pkcs7Path, recurse = true, dynlib = dynlib, flags = "-c -s")
# Generated @ 2020-07-12T12:57:37-05:00
# Command line:
# /home/gt/nimterop/nimterop/toast --preprocess -m:c --recurse -c -s --pnim --dynlib=/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 --symOverride=ASN1_ITEM_st --nim:/home/gt/nimdevel/bin/nim --pluginSourcePath=/home/gt/.cache/nim/nimterop/cPlugins/nimterop_673224222.nim /usr/include/openssl/pkcs7.h -o /home/gt/.cache/nim/nimterop/toastCache/nimterop_1619730413.nim
# const 'OPENSSL_UNISTD_IO' has unsupported value 'OPENSSL_UNISTD'
# const 'OPENSSL_EXPORT' has unsupported value 'extern'
# const 'OPENSSL_EXTERN' has unsupported value 'extern'
# const 'ossl_ssize_t' has unsupported value 'ssize_t'
# const 'OSSL_SSIZE_MAX' has unsupported value '((ssize_t)(SIZE_MAX>>1))'
# const 'ossl_inline' has unsupported value 'inline'
# const 'ossl_noreturn' has unsupported value '_Noreturn'
# const '_STACK' has unsupported value 'OPENSSL_STACK'
# const 'sk_num' has unsupported value 'OPENSSL_sk_num'
# const 'sk_value' has unsupported value 'OPENSSL_sk_value'
# const 'sk_set' has unsupported value 'OPENSSL_sk_set'
# const 'sk_new' has unsupported value 'OPENSSL_sk_new'
# const 'sk_new_null' has unsupported value 'OPENSSL_sk_new_null'
# const 'sk_free' has unsupported value 'OPENSSL_sk_free'
# const 'sk_pop_free' has unsupported value 'OPENSSL_sk_pop_free'
# const 'sk_deep_copy' has unsupported value 'OPENSSL_sk_deep_copy'
# const 'sk_insert' has unsupported value 'OPENSSL_sk_insert'
# const 'sk_delete' has unsupported value 'OPENSSL_sk_delete'
# const 'sk_delete_ptr' has unsupported value 'OPENSSL_sk_delete_ptr'
# const 'sk_find' has unsupported value 'OPENSSL_sk_find'
# const 'sk_find_ex' has unsupported value 'OPENSSL_sk_find_ex'
# const 'sk_push' has unsupported value 'OPENSSL_sk_push'
# const 'sk_unshift' has unsupported value 'OPENSSL_sk_unshift'
# const 'sk_shift' has unsupported value 'OPENSSL_sk_shift'
# const 'sk_pop' has unsupported value 'OPENSSL_sk_pop'
# const 'sk_zero' has unsupported value 'OPENSSL_sk_zero'
# const 'sk_set_cmp_func' has unsupported value 'OPENSSL_sk_set_cmp_func'
# const 'sk_dup' has unsupported value 'OPENSSL_sk_dup'
# const 'sk_sort' has unsupported value 'OPENSSL_sk_sort'
# const 'sk_is_sorted' has unsupported value 'OPENSSL_sk_is_sorted'
# const 'SSLeay' has unsupported value 'OpenSSL_version_num'
# const 'SSLeay_version' has unsupported value 'OpenSSL_version'
# const 'SSLEAY_VERSION_NUMBER' has unsupported value 'OPENSSL_VERSION_NUMBER'
# const 'SSLEAY_VERSION' has unsupported value 'OPENSSL_VERSION'
# const 'SSLEAY_CFLAGS' has unsupported value 'OPENSSL_CFLAGS'
# const 'SSLEAY_BUILT_ON' has unsupported value 'OPENSSL_BUILT_ON'
# const 'SSLEAY_PLATFORM' has unsupported value 'OPENSSL_PLATFORM'
# const 'SSLEAY_DIR' has unsupported value 'OPENSSL_DIR'
# const 'CRYPTO_ONCE_STATIC_INIT' has unsupported value 'PTHREAD_ONCE_INIT'
# const 'BIO_BIND_REUSEADDR' has unsupported value 'BIO_SOCK_REUSEADDR'
# const 'BIO_BIND_REUSEADDR_IF_UNUSED' has unsupported value 'BIO_SOCK_REUSEADDR'
# const 'ossl_bio__attr__' has unsupported value '__attribute__'
# const 'ossl_bio__printf__' has unsupported value '__gnu_printf__'
# const 'BN_ULONG' has unsupported value 'unsigned long'
# const 'BN_TBIT' has unsupported value '((BN_ULONG)1 << (BN_BITS2 - 1))'
# const 'BN_FLG_EXP_CONSTTIME' has unsupported value 'BN_FLG_CONSTTIME'
# const 'get_rfc2409_prime_768' has unsupported value 'BN_get_rfc2409_prime_768'
# const 'get_rfc2409_prime_1024' has unsupported value 'BN_get_rfc2409_prime_1024'
# const 'get_rfc3526_prime_1536' has unsupported value 'BN_get_rfc3526_prime_1536'
# const 'get_rfc3526_prime_2048' has unsupported value 'BN_get_rfc3526_prime_2048'
# const 'get_rfc3526_prime_3072' has unsupported value 'BN_get_rfc3526_prime_3072'
# const 'get_rfc3526_prime_4096' has unsupported value 'BN_get_rfc3526_prime_4096'
# const 'get_rfc3526_prime_6144' has unsupported value 'BN_get_rfc3526_prime_6144'
# const 'get_rfc3526_prime_8192' has unsupported value 'BN_get_rfc3526_prime_8192'
# const 'V_ASN1_PRIMATIVE_TAG' has unsupported value 'V_ASN1_PRIMITIVE_TAG'
# const 'STABLE_FLAGS_CLEAR' has unsupported value 'STABLE_FLAGS_MALLOC'
# const 'SMIME_NOCERTS' has unsupported value 'PKCS7_NOCERTS'
# const 'SMIME_NOSIGS' has unsupported value 'PKCS7_NOSIGS'
# const 'SMIME_NOCHAIN' has unsupported value 'PKCS7_NOCHAIN'
# const 'SMIME_NOINTERN' has unsupported value 'PKCS7_NOINTERN'
# const 'SMIME_NOVERIFY' has unsupported value 'PKCS7_NOVERIFY'
# const 'SMIME_DETACHED' has unsupported value 'PKCS7_DETACHED'
# const 'SMIME_BINARY' has unsupported value 'PKCS7_BINARY'
# const 'SMIME_NOATTR' has unsupported value 'PKCS7_NOATTR'
{.push hint[ConvFromXtoItselfNotNeeded]: off.}
import std/time_t as std_time_t
type time_t* = std_time_t.Time
import macros
macro defineEnum(typ: untyped): untyped =
result = newNimNode(nnkStmtList)
# Enum mapped to distinct cint
result.add quote do:
type `typ`* = distinct cint
for i in ["+", "-", "*", "div", "mod", "shl", "shr", "or", "and", "xor", "<", "<=", "==", ">", ">="]:
let
ni = newIdentNode(i)
typout = if i[0] in "<=>": newIdentNode("bool") else: typ # comparisons return bool
if i[0] == '>': # cannot borrow `>` and `>=` from templates
let
nopp = if i.len == 2: newIdentNode("<=") else: newIdentNode("<")
result.add quote do:
proc `ni`*(x: `typ`, y: cint): `typout` = `nopp`(y, x)
proc `ni`*(x: cint, y: `typ`): `typout` = `nopp`(y, x)
proc `ni`*(x, y: `typ`): `typout` = `nopp`(y, x)
else:
result.add quote do:
proc `ni`*(x: `typ`, y: cint): `typout` {.borrow.}
proc `ni`*(x: cint, y: `typ`): `typout` {.borrow.}
proc `ni`*(x, y: `typ`): `typout` {.borrow.}
result.add quote do:
proc `ni`*(x: `typ`, y: int): `typout` = `ni`(x, y.cint)
proc `ni`*(x: int, y: `typ`): `typout` = `ni`(x.cint, y)
let
divop = newIdentNode("/") # `/`()
dlrop = newIdentNode("$") # `$`()
notop = newIdentNode("not") # `not`()
result.add quote do:
proc `divop`*(x, y: `typ`): `typ` = `typ`((x.float / y.float).cint)
proc `divop`*(x: `typ`, y: cint): `typ` = `divop`(x, `typ`(y))
proc `divop`*(x: cint, y: `typ`): `typ` = `divop`(`typ`(x), y)
proc `divop`*(x: `typ`, y: int): `typ` = `divop`(x, y.cint)
proc `divop`*(x: int, y: `typ`): `typ` = `divop`(x.cint, y)
proc `dlrop`*(x: `typ`): string {.borrow.}
proc `notop`*(x: `typ`): `typ` {.borrow.}
type va_list* {.importc, header:"<stdarg.h>".} = object
{.pragma: imppkcs7Hdr, header: "/usr/include/openssl/pkcs7.h".}
{.pragma: imppkcs7Dyn, dynlib: "/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1".}
{.experimental: "codeReordering".}
defineEnum(BIO_hostserv_priorities)
defineEnum(BIO_lookup_type)
defineEnum(BIO_sock_info_type)
const
OPENSSL_VERSION_NUMBER* = 0x1010100F'i32
OPENSSL_VERSION_TEXT* = "OpenSSL 1.1.1 11 Sep 2018"
SHLIB_VERSION_HISTORY* = ""
SHLIB_VERSION_NUMBER* = "1.1"
CRYPTO_F_CMAC_CTX_NEW* = 120
CRYPTO_F_CRYPTO_DUP_EX_DATA* = 110
CRYPTO_F_CRYPTO_FREE_EX_DATA* = 111
CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX* = 100
CRYPTO_F_CRYPTO_MEMDUP* = 115
CRYPTO_F_CRYPTO_NEW_EX_DATA* = 112
CRYPTO_F_CRYPTO_OCB128_COPY_CTX* = 121
CRYPTO_F_CRYPTO_OCB128_INIT* = 122
CRYPTO_F_CRYPTO_SET_EX_DATA* = 102
CRYPTO_F_FIPS_MODE_SET* = 109
CRYPTO_F_GET_AND_LOCK* = 113
CRYPTO_F_OPENSSL_ATEXIT* = 114
CRYPTO_F_OPENSSL_BUF2HEXSTR* = 117
CRYPTO_F_OPENSSL_FOPEN* = 119
CRYPTO_F_OPENSSL_HEXSTR2BUF* = 118
CRYPTO_F_OPENSSL_INIT_CRYPTO* = 116
CRYPTO_F_OPENSSL_LH_NEW* = 126
CRYPTO_F_OPENSSL_SK_DEEP_COPY* = 127
CRYPTO_F_OPENSSL_SK_DUP* = 128
CRYPTO_F_PKEY_HMAC_INIT* = 123
CRYPTO_F_PKEY_POLY1305_INIT* = 124
CRYPTO_F_PKEY_SIPHASH_INIT* = 125
CRYPTO_F_SK_RESERVE* = 129
CRYPTO_R_FIPS_MODE_NOT_SUPPORTED* = 101
CRYPTO_R_ILLEGAL_HEX_DIGIT* = 102
CRYPTO_R_ODD_NUMBER_OF_DIGITS* = 103
CRYPTO_MEM_CHECK_OFF* = 0x00000000
CRYPTO_MEM_CHECK_ON* = 0x00000001
CRYPTO_MEM_CHECK_ENABLE* = 0x00000002
CRYPTO_MEM_CHECK_DISABLE* = 0x00000003
CRYPTO_EX_INDEX_SSL* = 0
CRYPTO_EX_INDEX_SSL_CTX* = 1
CRYPTO_EX_INDEX_SSL_SESSION* = 2
CRYPTO_EX_INDEX_X509* = 3
CRYPTO_EX_INDEX_X509_STORE* = 4
CRYPTO_EX_INDEX_X509_STORE_CTX* = 5
CRYPTO_EX_INDEX_DH* = 6
CRYPTO_EX_INDEX_DSA* = 7
CRYPTO_EX_INDEX_EC_KEY* = 8
CRYPTO_EX_INDEX_RSA* = 9
CRYPTO_EX_INDEX_ENGINE* = 10
CRYPTO_EX_INDEX_UI* = 11
CRYPTO_EX_INDEX_BIO* = 12
CRYPTO_EX_INDEX_APP* = 13
CRYPTO_EX_INDEX_UI_METHOD* = 14
CRYPTO_EX_INDEX_DRBG* = 15
CRYPTO_EX_INDEX_COUNT* = 16
C_OPENSSL_VERSION* = 0
OPENSSL_CFLAGS* = 1
OPENSSL_BUILT_ON* = 2
OPENSSL_PLATFORM* = 3
OPENSSL_DIR* = 4
OPENSSL_ENGINES_DIR* = 5
C_CRYPTO_LOCK* = 1
CRYPTO_UNLOCK* = 2
CRYPTO_READ* = 4
CRYPTO_WRITE* = 8
OPENSSL_INIT_NO_LOAD_CRYPTO_STRINGS* = 0x00000001'i32
OPENSSL_INIT_LOAD_CRYPTO_STRINGS* = 0x00000002'i32
OPENSSL_INIT_ADD_ALL_CIPHERS* = 0x00000004'i32
OPENSSL_INIT_ADD_ALL_DIGESTS* = 0x00000008'i32
OPENSSL_INIT_NO_ADD_ALL_CIPHERS* = 0x00000010'i32
OPENSSL_INIT_NO_ADD_ALL_DIGESTS* = 0x00000020'i32
OPENSSL_INIT_LOAD_CONFIG* = 0x00000040'i32
OPENSSL_INIT_NO_LOAD_CONFIG* = 0x00000080'i32
OPENSSL_INIT_ASYNC* = 0x00000100'i32
OPENSSL_INIT_ENGINE_RDRAND* = 0x00000200'i32
OPENSSL_INIT_ENGINE_DYNAMIC* = 0x00000400'i32
OPENSSL_INIT_ENGINE_OPENSSL* = 0x00000800'i32
OPENSSL_INIT_ENGINE_CRYPTODEV* = 0x00001000'i32
OPENSSL_INIT_ENGINE_CAPI* = 0x00002000'i32
OPENSSL_INIT_ENGINE_PADLOCK* = 0x00004000'i32
OPENSSL_INIT_ENGINE_AFALG* = 0x00008000'i32
OPENSSL_INIT_ATFORK* = 0x00020000'i32
OPENSSL_INIT_ENGINE_ALL_BUILTIN* = (OPENSSL_INIT_ENGINE_RDRAND or
typeof(OPENSSL_INIT_ENGINE_RDRAND)(OPENSSL_INIT_ENGINE_DYNAMIC) or
typeof(OPENSSL_INIT_ENGINE_RDRAND)(OPENSSL_INIT_ENGINE_CRYPTODEV) or
typeof(OPENSSL_INIT_ENGINE_RDRAND)(OPENSSL_INIT_ENGINE_CAPI) or
typeof(OPENSSL_INIT_ENGINE_RDRAND)(OPENSSL_INIT_ENGINE_PADLOCK))
BIO_F_ACPT_STATE* = 100
BIO_F_ADDRINFO_WRAP* = 148
BIO_F_ADDR_STRINGS* = 134
BIO_F_BIO_ACCEPT* = 101
BIO_F_BIO_ACCEPT_EX* = 137
BIO_F_BIO_ACCEPT_NEW* = 152
BIO_F_BIO_ADDR_NEW* = 144
BIO_F_BIO_BIND* = 147
BIO_F_BIO_CALLBACK_CTRL* = 131
BIO_F_BIO_CONNECT* = 138
BIO_F_BIO_CONNECT_NEW* = 153
BIO_F_BIO_CTRL* = 103
BIO_F_BIO_GETS* = 104
BIO_F_BIO_GET_HOST_IP* = 106
BIO_F_BIO_GET_NEW_INDEX* = 102
BIO_F_BIO_GET_PORT* = 107
BIO_F_BIO_LISTEN* = 139
BIO_F_BIO_LOOKUP* = 135
BIO_F_BIO_LOOKUP_EX* = 143
BIO_F_BIO_MAKE_PAIR* = 121
BIO_F_BIO_METH_NEW* = 146
BIO_F_BIO_NEW* = 108
BIO_F_BIO_NEW_DGRAM_SCTP* = 145
BIO_F_BIO_NEW_FILE* = 109
BIO_F_BIO_NEW_MEM_BUF* = 126
BIO_F_BIO_NREAD* = 123
BIO_F_BIO_NREAD0* = 124
BIO_F_BIO_NWRITE* = 125
BIO_F_BIO_NWRITE0* = 122
BIO_F_BIO_PARSE_HOSTSERV* = 136
BIO_F_BIO_PUTS* = 110
BIO_F_BIO_READ* = 111
BIO_F_BIO_READ_EX* = 105
BIO_F_BIO_READ_INTERN* = 120
BIO_F_BIO_SOCKET* = 140
BIO_F_BIO_SOCKET_NBIO* = 142
BIO_F_BIO_SOCK_INFO* = 141
BIO_F_BIO_SOCK_INIT* = 112
BIO_F_BIO_WRITE* = 113
BIO_F_BIO_WRITE_EX* = 119
BIO_F_BIO_WRITE_INTERN* = 128
BIO_F_BUFFER_CTRL* = 114
BIO_F_CONN_CTRL* = 127
BIO_F_CONN_STATE* = 115
BIO_F_DGRAM_SCTP_NEW* = 149
BIO_F_DGRAM_SCTP_READ* = 132
BIO_F_DGRAM_SCTP_WRITE* = 133
BIO_F_DOAPR_OUTCH* = 150
BIO_F_FILE_CTRL* = 116
BIO_F_FILE_READ* = 130
BIO_F_LINEBUFFER_CTRL* = 129
BIO_F_LINEBUFFER_NEW* = 151
BIO_F_MEM_WRITE* = 117
BIO_F_NBIOF_NEW* = 154
BIO_F_SLG_WRITE* = 155
BIO_F_SSL_NEW* = 118
BIO_R_ACCEPT_ERROR* = 100
BIO_R_ADDRINFO_ADDR_IS_NOT_AF_INET* = 141
BIO_R_AMBIGUOUS_HOST_OR_SERVICE* = 129
BIO_R_BAD_FOPEN_MODE* = 101
BIO_R_BROKEN_PIPE* = 124
BIO_R_CONNECT_ERROR* = 103
BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET* = 107
BIO_R_GETSOCKNAME_ERROR* = 132
BIO_R_GETSOCKNAME_TRUNCATED_ADDRESS* = 133
BIO_R_GETTING_SOCKTYPE* = 134
BIO_R_INVALID_ARGUMENT* = 125
BIO_R_INVALID_SOCKET* = 135
BIO_R_IN_USE* = 123
BIO_R_LENGTH_TOO_LONG* = 102
BIO_R_LISTEN_V6_ONLY* = 136
BIO_R_LOOKUP_RETURNED_NOTHING* = 142
BIO_R_MALFORMED_HOST_OR_SERVICE* = 130
BIO_R_NBIO_CONNECT_ERROR* = 110
BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED* = 143
BIO_R_NO_HOSTNAME_OR_SERVICE_SPECIFIED* = 144
BIO_R_NO_PORT_DEFINED* = 113
BIO_R_NO_SUCH_FILE* = 128
BIO_R_NULL_PARAMETER* = 115
BIO_R_UNABLE_TO_BIND_SOCKET* = 117
BIO_R_UNABLE_TO_CREATE_SOCKET* = 118
BIO_R_UNABLE_TO_KEEPALIVE* = 137
BIO_R_UNABLE_TO_LISTEN_SOCKET* = 119
BIO_R_UNABLE_TO_NODELAY* = 138
BIO_R_UNABLE_TO_REUSEADDR* = 139
BIO_R_UNAVAILABLE_IP_FAMILY* = 145
BIO_R_UNINITIALIZED* = 120
BIO_R_UNKNOWN_INFO_TYPE* = 140
BIO_R_UNSUPPORTED_IP_FAMILY* = 146
BIO_R_UNSUPPORTED_METHOD* = 121
BIO_R_UNSUPPORTED_PROTOCOL_FAMILY* = 131
BIO_R_WRITE_TO_READ_ONLY_BIO* = 126
BIO_R_WSASTARTUP* = 122
BIO_TYPE_DESCRIPTOR* = 0x00000100
BIO_TYPE_FILTER* = 0x00000200
BIO_TYPE_SOURCE_SINK* = 0x00000400
BIO_TYPE_NONE* = 0
BIO_TYPE_MEM* = (1 or typeof(1)(BIO_TYPE_SOURCE_SINK))
BIO_TYPE_FILE* = (2 or typeof(2)(BIO_TYPE_SOURCE_SINK))
BIO_TYPE_FD* = (
4 or typeof(4)(BIO_TYPE_SOURCE_SINK) or typeof(4)(BIO_TYPE_DESCRIPTOR))
BIO_TYPE_SOCKET* = (
5 or typeof(5)(BIO_TYPE_SOURCE_SINK) or typeof(5)(BIO_TYPE_DESCRIPTOR))
BIO_TYPE_NULL* = (6 or typeof(6)(BIO_TYPE_SOURCE_SINK))
BIO_TYPE_SSL* = (7 or typeof(7)(BIO_TYPE_FILTER))
BIO_TYPE_MD* = (8 or typeof(8)(BIO_TYPE_FILTER))
BIO_TYPE_BUFFER* = (9 or typeof(9)(BIO_TYPE_FILTER))
BIO_TYPE_CIPHER* = (10 or typeof(10)(BIO_TYPE_FILTER))
BIO_TYPE_BASE64* = (11 or typeof(11)(BIO_TYPE_FILTER))
BIO_TYPE_CONNECT* = (
12 or typeof(12)(BIO_TYPE_SOURCE_SINK) or typeof(12)(BIO_TYPE_DESCRIPTOR))
BIO_TYPE_ACCEPT* = (
13 or typeof(13)(BIO_TYPE_SOURCE_SINK) or typeof(13)(BIO_TYPE_DESCRIPTOR))
BIO_TYPE_NBIO_TEST* = (16 or typeof(16)(BIO_TYPE_FILTER))
BIO_TYPE_NULL_FILTER* = (17 or typeof(17)(BIO_TYPE_FILTER))
BIO_TYPE_BIO* = (19 or typeof(19)(BIO_TYPE_SOURCE_SINK))
BIO_TYPE_LINEBUFFER* = (20 or typeof(20)(BIO_TYPE_FILTER))
BIO_TYPE_DGRAM* = (
21 or typeof(21)(BIO_TYPE_SOURCE_SINK) or typeof(21)(BIO_TYPE_DESCRIPTOR))
BIO_TYPE_ASN1* = (22 or typeof(22)(BIO_TYPE_FILTER))
BIO_TYPE_COMP* = (23 or typeof(23)(BIO_TYPE_FILTER))
BIO_TYPE_START* = 128
BIO_NOCLOSE* = 0x00000000
BIO_CLOSE* = 0x00000001
BIO_CTRL_RESET* = 1
BIO_CTRL_EOF* = 2
BIO_CTRL_INFO* = 3
BIO_CTRL_SET* = 4
BIO_CTRL_GET* = 5
BIO_CTRL_PUSH* = 6
BIO_CTRL_POP* = 7
BIO_CTRL_GET_CLOSE* = 8
BIO_CTRL_SET_CLOSE* = 9
C_BIO_CTRL_PENDING* = 10
BIO_CTRL_FLUSH* = 11
BIO_CTRL_DUP* = 12
C_BIO_CTRL_WPENDING* = 13
BIO_CTRL_SET_CALLBACK* = 14
BIO_CTRL_GET_CALLBACK* = 15
BIO_CTRL_PEEK* = 29
BIO_CTRL_SET_FILENAME* = 30
BIO_CTRL_DGRAM_CONNECT* = 31
BIO_CTRL_DGRAM_SET_CONNECTED* = 32
BIO_CTRL_DGRAM_SET_RECV_TIMEOUT* = 33
BIO_CTRL_DGRAM_GET_RECV_TIMEOUT* = 34
BIO_CTRL_DGRAM_SET_SEND_TIMEOUT* = 35
BIO_CTRL_DGRAM_GET_SEND_TIMEOUT* = 36
BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP* = 37
BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP* = 38
BIO_CTRL_DGRAM_MTU_DISCOVER* = 39
BIO_CTRL_DGRAM_QUERY_MTU* = 40
BIO_CTRL_DGRAM_GET_FALLBACK_MTU* = 47
BIO_CTRL_DGRAM_GET_MTU* = 41
BIO_CTRL_DGRAM_SET_MTU* = 42
BIO_CTRL_DGRAM_MTU_EXCEEDED* = 43
BIO_CTRL_DGRAM_GET_PEER* = 46
BIO_CTRL_DGRAM_SET_PEER* = 44
BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT* = 45
BIO_CTRL_DGRAM_SET_DONT_FRAG* = 48
BIO_CTRL_DGRAM_GET_MTU_OVERHEAD* = 49
BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE* = 50
BIO_CTRL_DGRAM_SET_PEEK_MODE* = 71
BIO_FP_READ* = 0x00000002
BIO_FP_WRITE* = 0x00000004
BIO_FP_APPEND* = 0x00000008
BIO_FP_TEXT* = 0x00000010
BIO_FLAGS_READ* = 0x00000001
BIO_FLAGS_WRITE* = 0x00000002
BIO_FLAGS_IO_SPECIAL* = 0x00000004
BIO_FLAGS_RWS* = (BIO_FLAGS_READ or typeof(BIO_FLAGS_READ)(BIO_FLAGS_WRITE) or
typeof(BIO_FLAGS_READ)(BIO_FLAGS_IO_SPECIAL))
BIO_FLAGS_SHOULD_RETRY* = 0x00000008
BIO_FLAGS_UPLINK* = 0
BIO_FLAGS_BASE64_NO_NL* = 0x00000100
BIO_FLAGS_MEM_RDONLY* = 0x00000200
BIO_FLAGS_NONCLEAR_RST* = 0x00000400
BIO_RR_SSL_X509_LOOKUP* = 0x00000001
BIO_RR_CONNECT* = 0x00000002
BIO_RR_ACCEPT* = 0x00000003
BIO_CB_FREE* = 0x00000001
BIO_CB_READ* = 0x00000002
BIO_CB_WRITE* = 0x00000003
BIO_CB_PUTS* = 0x00000004
BIO_CB_GETS* = 0x00000005
BIO_CB_CTRL* = 0x00000006
BIO_CB_RETURN* = 0x00000080
BIO_C_SET_CONNECT* = 100
BIO_C_DO_STATE_MACHINE* = 101
BIO_C_SET_NBIO* = 102
BIO_C_SET_FD* = 104
BIO_C_GET_FD* = 105
BIO_C_SET_FILE_PTR* = 106
BIO_C_GET_FILE_PTR* = 107
BIO_C_SET_FILENAME* = 108
BIO_C_SET_SSL* = 109
BIO_C_GET_SSL* = 110
BIO_C_SET_MD* = 111
BIO_C_GET_MD* = 112
BIO_C_GET_CIPHER_STATUS* = 113
BIO_C_SET_BUF_MEM* = 114
BIO_C_GET_BUF_MEM_PTR* = 115
BIO_C_GET_BUFF_NUM_LINES* = 116
BIO_C_SET_BUFF_SIZE* = 117
BIO_C_SET_ACCEPT* = 118
BIO_C_SSL_MODE* = 119
BIO_C_GET_MD_CTX* = 120
BIO_C_SET_BUFF_READ_DATA* = 122
BIO_C_GET_CONNECT* = 123
BIO_C_GET_ACCEPT* = 124
BIO_C_SET_SSL_RENEGOTIATE_BYTES* = 125
BIO_C_GET_SSL_NUM_RENEGOTIATES* = 126
BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT* = 127
BIO_C_FILE_SEEK* = 128
BIO_C_GET_CIPHER_CTX* = 129
BIO_C_SET_BUF_MEM_EOF_RETURN* = 130
BIO_C_SET_BIND_MODE* = 131
BIO_C_GET_BIND_MODE* = 132
BIO_C_FILE_TELL* = 133
BIO_C_GET_SOCKS* = 134
BIO_C_SET_SOCKS* = 135
BIO_C_SET_WRITE_BUF_SIZE* = 136
BIO_C_GET_WRITE_BUF_SIZE* = 137
BIO_C_MAKE_BIO_PAIR* = 138
BIO_C_DESTROY_BIO_PAIR* = 139
BIO_C_GET_WRITE_GUARANTEE* = 140
BIO_C_GET_READ_REQUEST* = 141
BIO_C_SHUTDOWN_WR* = 142
BIO_C_NREAD0* = 143
BIO_C_NREAD* = 144
BIO_C_NWRITE0* = 145
BIO_C_NWRITE* = 146
BIO_C_RESET_READ_REQUEST* = 147
BIO_C_SET_MD_CTX* = 148
BIO_C_SET_PREFIX* = 149
BIO_C_GET_PREFIX* = 150
BIO_C_SET_SUFFIX* = 151
BIO_C_GET_SUFFIX* = 152
BIO_C_SET_EX_ARG* = 153
BIO_C_GET_EX_ARG* = 154
BIO_C_SET_CONNECT_MODE* = 155
BIO_FAMILY_IPV4* = 4
BIO_FAMILY_IPV6* = 6
BIO_FAMILY_IPANY* = 256
BIO_BIND_NORMAL* = 0
BIO_PARSE_PRIO_HOST* = (0).BIO_hostserv_priorities
BIO_PARSE_PRIO_SERV* = (BIO_PARSE_PRIO_HOST + 1).BIO_hostserv_priorities
BIO_LOOKUP_CLIENT* = (0).BIO_lookup_type
BIO_LOOKUP_SERVER* = (BIO_LOOKUP_CLIENT + 1).BIO_lookup_type
BIO_SOCK_INFO_ADDRESS* = (0).BIO_sock_info_type
BIO_SOCK_REUSEADDR* = 0x00000001
BIO_SOCK_V6_ONLY* = 0x00000002
BIO_SOCK_KEEPALIVE* = 0x00000004
BIO_SOCK_NONBLOCK* = 0x00000008
BIO_SOCK_NODELAY* = 0x00000010
ASN1_F_A2D_ASN1_OBJECT* = 100
ASN1_F_A2I_ASN1_INTEGER* = 102
ASN1_F_A2I_ASN1_STRING* = 103
ASN1_F_APPEND_EXP* = 176
ASN1_F_ASN1_BIO_INIT* = 113
ASN1_F_ASN1_BIT_STRING_SET_BIT* = 183
ASN1_F_ASN1_CB* = 177
ASN1_F_ASN1_CHECK_TLEN* = 104
ASN1_F_ASN1_COLLECT* = 106
ASN1_F_ASN1_D2I_EX_PRIMITIVE* = 108
ASN1_F_ASN1_D2I_FP* = 109
ASN1_F_ASN1_D2I_READ_BIO* = 107
ASN1_F_ASN1_DIGEST* = 184
ASN1_F_ASN1_DO_ADB* = 110
ASN1_F_ASN1_DO_LOCK* = 233
ASN1_F_ASN1_DUP* = 111
ASN1_F_ASN1_ENC_SAVE* = 115
ASN1_F_ASN1_EX_C2I* = 204
ASN1_F_ASN1_FIND_END* = 190
ASN1_F_ASN1_GENERALIZEDTIME_ADJ* = 216
ASN1_F_ASN1_GENERATE_V3* = 178
ASN1_F_ASN1_GET_INT64* = 224
ASN1_F_ASN1_GET_OBJECT* = 114
ASN1_F_ASN1_GET_UINT64* = 225
ASN1_F_ASN1_I2D_BIO* = 116
ASN1_F_ASN1_I2D_FP* = 117
ASN1_F_ASN1_ITEM_D2I_FP* = 206
ASN1_F_ASN1_ITEM_DUP* = 191
ASN1_F_ASN1_ITEM_EMBED_D2I* = 120
ASN1_F_ASN1_ITEM_EMBED_NEW* = 121
ASN1_F_ASN1_ITEM_FLAGS_I2D* = 118
ASN1_F_ASN1_ITEM_I2D_BIO* = 192
ASN1_F_ASN1_ITEM_I2D_FP* = 193
ASN1_F_ASN1_ITEM_PACK* = 198
ASN1_F_ASN1_ITEM_SIGN* = 195
ASN1_F_ASN1_ITEM_SIGN_CTX* = 220
ASN1_F_ASN1_ITEM_UNPACK* = 199
ASN1_F_ASN1_ITEM_VERIFY* = 197
ASN1_F_ASN1_MBSTRING_NCOPY* = 122
ASN1_F_ASN1_OBJECT_NEW* = 123
ASN1_F_ASN1_OUTPUT_DATA* = 214
ASN1_F_ASN1_PCTX_NEW* = 205
ASN1_F_ASN1_PRIMITIVE_NEW* = 119
ASN1_F_ASN1_SCTX_NEW* = 221
ASN1_F_ASN1_SIGN* = 128
ASN1_F_ASN1_STR2TYPE* = 179
ASN1_F_ASN1_STRING_GET_INT64* = 227
ASN1_F_ASN1_STRING_GET_UINT64* = 230
ASN1_F_ASN1_STRING_SET* = 186
ASN1_F_ASN1_STRING_TABLE_ADD* = 129
ASN1_F_ASN1_STRING_TO_BN* = 228
ASN1_F_ASN1_STRING_TYPE_NEW* = 130
ASN1_F_ASN1_TEMPLATE_EX_D2I* = 132
ASN1_F_ASN1_TEMPLATE_NEW* = 133
ASN1_F_ASN1_TEMPLATE_NOEXP_D2I* = 131
ASN1_F_ASN1_TIME_ADJ* = 217
ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING* = 134
ASN1_F_ASN1_TYPE_GET_OCTETSTRING* = 135
ASN1_F_ASN1_UTCTIME_ADJ* = 218
ASN1_F_ASN1_VERIFY* = 137
ASN1_F_B64_READ_ASN1* = 209
ASN1_F_B64_WRITE_ASN1* = 210
ASN1_F_BIO_NEW_NDEF* = 208
ASN1_F_BITSTR_CB* = 180
ASN1_F_BN_TO_ASN1_STRING* = 229
ASN1_F_C2I_ASN1_BIT_STRING* = 189
ASN1_F_C2I_ASN1_INTEGER* = 194
ASN1_F_C2I_ASN1_OBJECT* = 196
ASN1_F_C2I_IBUF* = 226
ASN1_F_C2I_UINT64_INT* = 101
ASN1_F_COLLECT_DATA* = 140
ASN1_F_D2I_ASN1_OBJECT* = 147
ASN1_F_D2I_ASN1_UINTEGER* = 150
ASN1_F_D2I_AUTOPRIVATEKEY* = 207
ASN1_F_D2I_PRIVATEKEY* = 154
ASN1_F_D2I_PUBLICKEY* = 155
ASN1_F_DO_BUF* = 142
ASN1_F_DO_CREATE* = 124
ASN1_F_DO_DUMP* = 125
ASN1_F_DO_TCREATE* = 222
ASN1_F_I2A_ASN1_OBJECT* = 126
ASN1_F_I2D_ASN1_BIO_STREAM* = 211
ASN1_F_I2D_ASN1_OBJECT* = 143
ASN1_F_I2D_DSA_PUBKEY* = 161
ASN1_F_I2D_EC_PUBKEY* = 181
ASN1_F_I2D_PRIVATEKEY* = 163
ASN1_F_I2D_PUBLICKEY* = 164
ASN1_F_I2D_RSA_PUBKEY* = 165
ASN1_F_LONG_C2I* = 166
ASN1_F_NDEF_PREFIX* = 127
ASN1_F_NDEF_SUFFIX* = 136
ASN1_F_OID_MODULE_INIT* = 174
ASN1_F_PARSE_TAGGING* = 182
ASN1_F_PKCS5_PBE2_SET_IV* = 167
ASN1_F_PKCS5_PBE2_SET_SCRYPT* = 231
ASN1_F_PKCS5_PBE_SET* = 202
ASN1_F_PKCS5_PBE_SET0_ALGOR* = 215
ASN1_F_PKCS5_PBKDF2_SET* = 219
ASN1_F_PKCS5_SCRYPT_SET* = 232
ASN1_F_SMIME_READ_ASN1* = 212
ASN1_F_SMIME_TEXT* = 213
ASN1_F_STABLE_GET* = 138
ASN1_F_STBL_MODULE_INIT* = 223
ASN1_F_UINT32_C2I* = 105
ASN1_F_UINT32_NEW* = 139
ASN1_F_UINT64_C2I* = 112
ASN1_F_UINT64_NEW* = 141
ASN1_F_X509_CRL_ADD0_REVOKED* = 169
ASN1_F_X509_INFO_NEW* = 170
ASN1_F_X509_NAME_ENCODE* = 203
ASN1_F_X509_NAME_EX_D2I* = 158
ASN1_F_X509_NAME_EX_NEW* = 171
ASN1_F_X509_PKEY_NEW* = 173
ASN1_R_ADDING_OBJECT* = 171
ASN1_R_ASN1_PARSE_ERROR* = 203
ASN1_R_ASN1_SIG_PARSE_ERROR* = 204
ASN1_R_AUX_ERROR* = 100
ASN1_R_BAD_OBJECT_HEADER* = 102
ASN1_R_BMPSTRING_IS_WRONG_LENGTH* = 214
ASN1_R_BN_LIB* = 105
ASN1_R_BOOLEAN_IS_WRONG_LENGTH* = 106
ASN1_R_BUFFER_TOO_SMALL* = 107
ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER* = 108
ASN1_R_CONTEXT_NOT_INITIALISED* = 217
ASN1_R_DATA_IS_WRONG* = 109
ASN1_R_DECODE_ERROR* = 110
ASN1_R_DEPTH_EXCEEDED* = 174
ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED* = 198
ASN1_R_ENCODE_ERROR* = 112
ASN1_R_ERROR_GETTING_TIME* = 173
ASN1_R_ERROR_LOADING_SECTION* = 172
ASN1_R_ERROR_SETTING_CIPHER_PARAMS* = 114
ASN1_R_EXPECTING_AN_INTEGER* = 115
ASN1_R_EXPECTING_AN_OBJECT* = 116
ASN1_R_EXPLICIT_LENGTH_MISMATCH* = 119
ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED* = 120
ASN1_R_FIELD_MISSING* = 121
ASN1_R_FIRST_NUM_TOO_LARGE* = 122
ASN1_R_HEADER_TOO_LONG* = 123
ASN1_R_ILLEGAL_BITSTRING_FORMAT* = 175
ASN1_R_ILLEGAL_BOOLEAN* = 176
ASN1_R_ILLEGAL_CHARACTERS* = 124
ASN1_R_ILLEGAL_FORMAT* = 177
ASN1_R_ILLEGAL_HEX* = 178
ASN1_R_ILLEGAL_IMPLICIT_TAG* = 179
ASN1_R_ILLEGAL_INTEGER* = 180
ASN1_R_ILLEGAL_NEGATIVE_VALUE* = 226
ASN1_R_ILLEGAL_NESTED_TAGGING* = 181
ASN1_R_ILLEGAL_NULL* = 125
ASN1_R_ILLEGAL_NULL_VALUE* = 182
ASN1_R_ILLEGAL_OBJECT* = 183
ASN1_R_ILLEGAL_OPTIONAL_ANY* = 126
ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE* = 170
ASN1_R_ILLEGAL_PADDING* = 221
ASN1_R_ILLEGAL_TAGGED_ANY* = 127
ASN1_R_ILLEGAL_TIME_VALUE* = 184
ASN1_R_ILLEGAL_ZERO_CONTENT* = 222
ASN1_R_INTEGER_NOT_ASCII_FORMAT* = 185
ASN1_R_INTEGER_TOO_LARGE_FOR_LONG* = 128
ASN1_R_INVALID_BIT_STRING_BITS_LEFT* = 220
ASN1_R_INVALID_BMPSTRING_LENGTH* = 129
ASN1_R_INVALID_DIGIT* = 130
ASN1_R_INVALID_MIME_TYPE* = 205
ASN1_R_INVALID_MODIFIER* = 186
ASN1_R_INVALID_NUMBER* = 187
ASN1_R_INVALID_OBJECT_ENCODING* = 216
ASN1_R_INVALID_SCRYPT_PARAMETERS* = 227
ASN1_R_INVALID_SEPARATOR* = 131
ASN1_R_INVALID_STRING_TABLE_VALUE* = 218
ASN1_R_INVALID_UNIVERSALSTRING_LENGTH* = 133
ASN1_R_INVALID_UTF8STRING* = 134
ASN1_R_INVALID_VALUE* = 219
ASN1_R_LIST_ERROR* = 188
ASN1_R_MIME_NO_CONTENT_TYPE* = 206
ASN1_R_MIME_PARSE_ERROR* = 207
ASN1_R_MIME_SIG_PARSE_ERROR* = 208
ASN1_R_MISSING_EOC* = 137
ASN1_R_MISSING_SECOND_NUMBER* = 138
ASN1_R_MISSING_VALUE* = 189
ASN1_R_MSTRING_NOT_UNIVERSAL* = 139
ASN1_R_MSTRING_WRONG_TAG* = 140
ASN1_R_NESTED_ASN1_STRING* = 197
ASN1_R_NESTED_TOO_DEEP* = 201
ASN1_R_NON_HEX_CHARACTERS* = 141
ASN1_R_NOT_ASCII_FORMAT* = 190
ASN1_R_NOT_ENOUGH_DATA* = 142
ASN1_R_NO_CONTENT_TYPE* = 209
ASN1_R_NO_MATCHING_CHOICE_TYPE* = 143
ASN1_R_NO_MULTIPART_BODY_FAILURE* = 210
ASN1_R_NO_MULTIPART_BOUNDARY* = 211
ASN1_R_NO_SIG_CONTENT_TYPE* = 212
ASN1_R_NULL_IS_WRONG_LENGTH* = 144
ASN1_R_OBJECT_NOT_ASCII_FORMAT* = 191
ASN1_R_ODD_NUMBER_OF_CHARS* = 145
ASN1_R_SECOND_NUMBER_TOO_LARGE* = 147
ASN1_R_SEQUENCE_LENGTH_MISMATCH* = 148
ASN1_R_SEQUENCE_NOT_CONSTRUCTED* = 149
ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG* = 192
ASN1_R_SHORT_LINE* = 150
ASN1_R_SIG_INVALID_MIME_TYPE* = 213
ASN1_R_STREAMING_NOT_SUPPORTED* = 202
ASN1_R_STRING_TOO_LONG* = 151
ASN1_R_STRING_TOO_SHORT* = 152
ASN1_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD* = 154
ASN1_R_TIME_NOT_ASCII_FORMAT* = 193
ASN1_R_TOO_LARGE* = 223
ASN1_R_TOO_LONG* = 155
ASN1_R_TOO_SMALL* = 224
ASN1_R_TYPE_NOT_CONSTRUCTED* = 156
ASN1_R_TYPE_NOT_PRIMITIVE* = 195
ASN1_R_UNEXPECTED_EOC* = 159
ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH* = 215
ASN1_R_UNKNOWN_FORMAT* = 160
ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM* = 161
ASN1_R_UNKNOWN_OBJECT_TYPE* = 162
ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE* = 163
ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM* = 199
ASN1_R_UNKNOWN_TAG* = 194
ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE* = 164
ASN1_R_UNSUPPORTED_CIPHER* = 228
ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE* = 167
ASN1_R_UNSUPPORTED_TYPE* = 196
ASN1_R_WRONG_INTEGER_TYPE* = 225
ASN1_R_WRONG_PUBLIC_KEY_TYPE* = 200
ASN1_R_WRONG_TAG* = 168
C_BN_F_BNRAND* = 127
C_BN_F_BNRAND_RANGE* = 138
BN_F_BN_BLINDING_CONVERT_EX* = 100
BN_F_BN_BLINDING_CREATE_PARAM* = 128
BN_F_BN_BLINDING_INVERT_EX* = 101
BN_F_BN_BLINDING_NEW* = 102
BN_F_BN_BLINDING_UPDATE* = 103
BN_F_BN_BN2DEC* = 104
BN_F_BN_BN2HEX* = 105
BN_F_BN_COMPUTE_WNAF* = 142
BN_F_BN_CTX_GET* = 116
BN_F_BN_CTX_NEW* = 106
BN_F_BN_CTX_START* = 129
BN_F_BN_DIV* = 107
BN_F_BN_DIV_RECP* = 130
BN_F_BN_EXP* = 123
BN_F_BN_EXPAND_INTERNAL* = 120
BN_F_BN_GENCB_NEW* = 143
BN_F_BN_GENERATE_DSA_NONCE* = 140
BN_F_BN_GENERATE_PRIME_EX* = 141
BN_F_BN_GF2M_MOD* = 131
BN_F_BN_GF2M_MOD_EXP* = 132
BN_F_BN_GF2M_MOD_MUL* = 133
BN_F_BN_GF2M_MOD_SOLVE_QUAD* = 134
BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR* = 135
BN_F_BN_GF2M_MOD_SQR* = 136
BN_F_BN_GF2M_MOD_SQRT* = 137
BN_F_BN_LSHIFT* = 145
BN_F_BN_MOD_EXP2_MONT* = 118
BN_F_BN_MOD_EXP_MONT* = 109
BN_F_BN_MOD_EXP_MONT_CONSTTIME* = 124
BN_F_BN_MOD_EXP_MONT_WORD* = 117
BN_F_BN_MOD_EXP_RECP* = 125
BN_F_BN_MOD_EXP_SIMPLE* = 126
BN_F_BN_MOD_INVERSE* = 110
BN_F_BN_MOD_INVERSE_NO_BRANCH* = 139
BN_F_BN_MOD_LSHIFT_QUICK* = 119
BN_F_BN_MOD_SQRT* = 121
BN_F_BN_MONT_CTX_NEW* = 149
BN_F_BN_MPI2BN* = 112
BN_F_BN_NEW* = 113
BN_F_BN_POOL_GET* = 147
BN_F_BN_RAND* = 114
BN_F_BN_RAND_RANGE* = 122
BN_F_BN_RECP_CTX_NEW* = 150
BN_F_BN_RSHIFT* = 146
BN_F_BN_SET_WORDS* = 144
BN_F_BN_STACK_PUSH* = 148
BN_F_BN_USUB* = 115
BN_R_ARG2_LT_ARG3* = 100
BN_R_BAD_RECIPROCAL* = 101
BN_R_BIGNUM_TOO_LONG* = 114
BN_R_BITS_TOO_SMALL* = 118
BN_R_CALLED_WITH_EVEN_MODULUS* = 102
BN_R_DIV_BY_ZERO* = 103
BN_R_ENCODING_ERROR* = 104
BN_R_EXPAND_ON_STATIC_BIGNUM_DATA* = 105
BN_R_INPUT_NOT_REDUCED* = 110
BN_R_INVALID_LENGTH* = 106
BN_R_INVALID_RANGE* = 115
BN_R_INVALID_SHIFT* = 119
BN_R_NOT_A_SQUARE* = 111
BN_R_NOT_INITIALIZED* = 107
BN_R_NO_INVERSE* = 108
BN_R_NO_SOLUTION* = 116
BN_R_PRIVATE_KEY_TOO_LARGE* = 117
BN_R_P_IS_NOT_PRIME* = 112
BN_R_TOO_MANY_ITERATIONS* = 113
BN_R_TOO_MANY_TEMPORARY_VARIABLES* = 109
BN_BYTES* = 8
BN_BITS2* = (BN_BYTES * typeof(BN_BYTES)(8))
BN_BITS* = (BN_BITS2 * typeof(BN_BITS2)(2))
BN_FLG_MALLOCED* = 0x00000001
BN_FLG_STATIC_DATA* = 0x00000002
BN_FLG_CONSTTIME* = 0x00000004
BN_FLG_SECURE* = 0x00000008
BN_FLG_FREE* = 0x00008000
BN_RAND_TOP_ANY* = -1
BN_RAND_TOP_ONE* = 0
BN_RAND_TOP_TWO* = 1
BN_RAND_BOTTOM_ANY* = 0
BN_RAND_BOTTOM_ODD* = 1
BN_prime_checks* = 0
BN_BLINDING_NO_UPDATE* = 0x00000001
BN_BLINDING_NO_RECREATE* = 0x00000002
V_ASN1_UNIVERSAL* = 0x00000000
V_ASN1_APPLICATION* = 0x00000040
V_ASN1_CONTEXT_SPECIFIC* = 0x00000080
V_ASN1_PRIVATE* = 0x000000C0
V_ASN1_CONSTRUCTED* = 0x00000020
V_ASN1_PRIMITIVE_TAG* = 0x0000001F
V_ASN1_APP_CHOOSE* = -2
V_ASN1_OTHER* = -3
V_ASN1_ANY* = -4
V_ASN1_UNDEF* = -1
V_ASN1_EOC* = 0
V_ASN1_BOOLEAN* = 1
V_ASN1_INTEGER* = 2
V_ASN1_BIT_STRING* = 3
V_ASN1_OCTET_STRING* = 4
V_ASN1_NULL* = 5
V_ASN1_OBJECT* = 6
V_ASN1_OBJECT_DESCRIPTOR* = 7
V_ASN1_EXTERNAL* = 8
V_ASN1_REAL* = 9
V_ASN1_ENUMERATED* = 10
V_ASN1_UTF8STRING* = 12
V_ASN1_SEQUENCE* = 16
V_ASN1_SET* = 17
V_ASN1_NUMERICSTRING* = 18
V_ASN1_PRINTABLESTRING* = 19
V_ASN1_T61STRING* = 20
V_ASN1_TELETEXSTRING* = 20
V_ASN1_VIDEOTEXSTRING* = 21
V_ASN1_IA5STRING* = 22
V_ASN1_UTCTIME* = 23
V_ASN1_GENERALIZEDTIME* = 24
V_ASN1_GRAPHICSTRING* = 25
V_ASN1_ISO64STRING* = 26
V_ASN1_VISIBLESTRING* = 26
V_ASN1_GENERALSTRING* = 27
V_ASN1_UNIVERSALSTRING* = 28
V_ASN1_BMPSTRING* = 30
V_ASN1_NEG* = 0x00000100
V_ASN1_NEG_INTEGER* = (2 or typeof(2)(V_ASN1_NEG))
V_ASN1_NEG_ENUMERATED* = (10 or typeof(10)(V_ASN1_NEG))
B_ASN1_NUMERICSTRING* = 0x00000001
B_ASN1_PRINTABLESTRING* = 0x00000002
B_ASN1_T61STRING* = 0x00000004
B_ASN1_TELETEXSTRING* = 0x00000004
B_ASN1_VIDEOTEXSTRING* = 0x00000008
B_ASN1_IA5STRING* = 0x00000010
B_ASN1_GRAPHICSTRING* = 0x00000020
B_ASN1_ISO64STRING* = 0x00000040
B_ASN1_VISIBLESTRING* = 0x00000040
B_ASN1_GENERALSTRING* = 0x00000080
B_ASN1_UNIVERSALSTRING* = 0x00000100
B_ASN1_OCTET_STRING* = 0x00000200
B_ASN1_BIT_STRING* = 0x00000400
B_ASN1_BMPSTRING* = 0x00000800
B_ASN1_UNKNOWN* = 0x00001000
B_ASN1_UTF8STRING* = 0x00002000
B_ASN1_UTCTIME* = 0x00004000
B_ASN1_GENERALIZEDTIME* = 0x00008000
B_ASN1_SEQUENCE* = 0x00010000
MBSTRING_FLAG* = 0x00001000
MBSTRING_UTF8* = (MBSTRING_FLAG)
MBSTRING_ASC* = (MBSTRING_FLAG or typeof(MBSTRING_FLAG)(1))
MBSTRING_BMP* = (MBSTRING_FLAG or typeof(MBSTRING_FLAG)(2))
MBSTRING_UNIV* = (MBSTRING_FLAG or typeof(MBSTRING_FLAG)(4))
SMIME_OLDMIME* = 0x00000400
SMIME_CRLFEOL* = 0x00000800
SMIME_STREAM* = 0x00001000
ASN1_STRING_FLAG_BITS_LEFT* = 0x00000008
ASN1_STRING_FLAG_NDEF* = 0x00000010
ASN1_STRING_FLAG_CONT* = 0x00000020
ASN1_STRING_FLAG_MSTRING* = 0x00000040
ASN1_STRING_FLAG_EMBED* = 0x00000080
ASN1_STRING_FLAG_X509_TIME* = 0x00000100
ASN1_LONG_UNDEF* = 0x7FFFFFFF'i32
STABLE_FLAGS_MALLOC* = 0x00000001
STABLE_NO_MASK* = 0x00000002
DIRSTRING_TYPE* = (B_ASN1_PRINTABLESTRING or
typeof(B_ASN1_PRINTABLESTRING)(B_ASN1_T61STRING) or
typeof(B_ASN1_PRINTABLESTRING)(B_ASN1_BMPSTRING) or
typeof(B_ASN1_PRINTABLESTRING)(B_ASN1_UTF8STRING))
PKCS9STRING_TYPE* = (DIRSTRING_TYPE or typeof(DIRSTRING_TYPE)(B_ASN1_IA5STRING))
ub_name* = 32768
ub_common_name* = 64
ub_locality_name* = 128
ub_state_name* = 128
ub_organization_name* = 64
ub_organization_unit_name* = 64
ub_title* = 64
ub_email_address* = 128
ASN1_STRFLGS_ESC_2253* = 1
ASN1_STRFLGS_ESC_CTRL* = 2
ASN1_STRFLGS_ESC_MSB* = 4
ASN1_STRFLGS_ESC_QUOTE* = 8
CHARTYPE_PRINTABLESTRING* = 0x00000010
CHARTYPE_FIRST_ESC_2253* = 0x00000020
CHARTYPE_LAST_ESC_2253* = 0x00000040
ASN1_STRFLGS_UTF8_CONVERT* = 0x00000010
ASN1_STRFLGS_IGNORE_TYPE* = 0x00000020
ASN1_STRFLGS_SHOW_TYPE* = 0x00000040
ASN1_STRFLGS_DUMP_ALL* = 0x00000080
ASN1_STRFLGS_DUMP_UNKNOWN* = 0x00000100
ASN1_STRFLGS_DUMP_DER* = 0x00000200
ASN1_STRFLGS_ESC_2254* = 0x00000400
ASN1_STRFLGS_RFC2253* = (ASN1_STRFLGS_ESC_2253 or
typeof(ASN1_STRFLGS_ESC_2253)(ASN1_STRFLGS_ESC_CTRL) or
typeof(ASN1_STRFLGS_ESC_2253)(ASN1_STRFLGS_ESC_MSB) or
typeof(ASN1_STRFLGS_ESC_2253)(ASN1_STRFLGS_UTF8_CONVERT) or
typeof(ASN1_STRFLGS_ESC_2253)(ASN1_STRFLGS_DUMP_UNKNOWN) or
typeof(ASN1_STRFLGS_ESC_2253)(ASN1_STRFLGS_DUMP_DER))
B_ASN1_TIME* = B_ASN1_UTCTIME or typeof(B_ASN1_UTCTIME)(B_ASN1_GENERALIZEDTIME)
B_ASN1_PRINTABLE* = B_ASN1_NUMERICSTRING or
typeof(B_ASN1_NUMERICSTRING)(B_ASN1_PRINTABLESTRING) or
typeof(B_ASN1_NUMERICSTRING)(B_ASN1_T61STRING) or
typeof(B_ASN1_NUMERICSTRING)(B_ASN1_IA5STRING) or
typeof(B_ASN1_NUMERICSTRING)(B_ASN1_BIT_STRING) or
typeof(B_ASN1_NUMERICSTRING)(B_ASN1_UNIVERSALSTRING) or
typeof(B_ASN1_NUMERICSTRING)(B_ASN1_BMPSTRING) or
typeof(B_ASN1_NUMERICSTRING)(B_ASN1_UTF8STRING) or
typeof(B_ASN1_NUMERICSTRING)(B_ASN1_SEQUENCE) or
typeof(B_ASN1_NUMERICSTRING)(B_ASN1_UNKNOWN)
B_ASN1_DIRECTORYSTRING* = B_ASN1_PRINTABLESTRING or
typeof(B_ASN1_PRINTABLESTRING)(B_ASN1_TELETEXSTRING) or
typeof(B_ASN1_PRINTABLESTRING)(B_ASN1_BMPSTRING) or
typeof(B_ASN1_PRINTABLESTRING)(B_ASN1_UNIVERSALSTRING) or
typeof(B_ASN1_PRINTABLESTRING)(B_ASN1_UTF8STRING)
B_ASN1_DISPLAYTEXT* = B_ASN1_IA5STRING or
typeof(B_ASN1_IA5STRING)(B_ASN1_VISIBLESTRING) or
typeof(B_ASN1_IA5STRING)(B_ASN1_BMPSTRING) or
typeof(B_ASN1_IA5STRING)(B_ASN1_UTF8STRING)
ASN1_PCTX_FLAGS_SHOW_ABSENT* = 0x00000001
ASN1_PCTX_FLAGS_SHOW_SEQUENCE* = 0x00000002
ASN1_PCTX_FLAGS_SHOW_SSOF* = 0x00000004
ASN1_PCTX_FLAGS_SHOW_TYPE* = 0x00000008
ASN1_PCTX_FLAGS_NO_ANY_TYPE* = 0x00000010
ASN1_PCTX_FLAGS_NO_MSTRING_TYPE* = 0x00000020
ASN1_PCTX_FLAGS_NO_FIELD_NAME* = 0x00000040
ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME* = 0x00000080
ASN1_PCTX_FLAGS_NO_STRUCT_NAME* = 0x00000100
PKCS7_F_DO_PKCS7_SIGNED_ATTRIB* = 136
PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME* = 135
PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP* = 118
PKCS7_F_PKCS7_ADD_CERTIFICATE* = 100
PKCS7_F_PKCS7_ADD_CRL* = 101
PKCS7_F_PKCS7_ADD_RECIPIENT_INFO* = 102
PKCS7_F_PKCS7_ADD_SIGNATURE* = 131
PKCS7_F_PKCS7_ADD_SIGNER* = 103
PKCS7_F_PKCS7_BIO_ADD_DIGEST* = 125
PKCS7_F_PKCS7_COPY_EXISTING_DIGEST* = 138
PKCS7_F_PKCS7_CTRL* = 104
PKCS7_F_PKCS7_DATADECODE* = 112
PKCS7_F_PKCS7_DATAFINAL* = 128
PKCS7_F_PKCS7_DATAINIT* = 105
PKCS7_F_PKCS7_DATAVERIFY* = 107
PKCS7_F_PKCS7_DECRYPT* = 114
PKCS7_F_PKCS7_DECRYPT_RINFO* = 133
PKCS7_F_PKCS7_ENCODE_RINFO* = 132
PKCS7_F_PKCS7_ENCRYPT* = 115
PKCS7_F_PKCS7_FINAL* = 134
PKCS7_F_PKCS7_FIND_DIGEST* = 127
PKCS7_F_PKCS7_GET0_SIGNERS* = 124
PKCS7_F_PKCS7_RECIP_INFO_SET* = 130
PKCS7_F_PKCS7_SET_CIPHER* = 108
PKCS7_F_PKCS7_SET_CONTENT* = 109
PKCS7_F_PKCS7_SET_DIGEST* = 126
PKCS7_F_PKCS7_SET_TYPE* = 110
PKCS7_F_PKCS7_SIGN* = 116
PKCS7_F_PKCS7_SIGNATUREVERIFY* = 113
PKCS7_F_PKCS7_SIGNER_INFO_SET* = 129
PKCS7_F_PKCS7_SIGNER_INFO_SIGN* = 139
PKCS7_F_PKCS7_SIGN_ADD_SIGNER* = 137
PKCS7_F_PKCS7_SIMPLE_SMIMECAP* = 119
PKCS7_F_PKCS7_VERIFY* = 117
PKCS7_R_CERTIFICATE_VERIFY_ERROR* = 117
PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER* = 144
PKCS7_R_CIPHER_NOT_INITIALIZED* = 116
PKCS7_R_CONTENT_AND_DATA_PRESENT* = 118
PKCS7_R_CTRL_ERROR* = 152
PKCS7_R_DECRYPT_ERROR* = 119
PKCS7_R_DIGEST_FAILURE* = 101
PKCS7_R_ENCRYPTION_CTRL_FAILURE* = 149
PKCS7_R_ENCRYPTION_NOT_SUPPORTED_FOR_THIS_KEY_TYPE* = 150
PKCS7_R_ERROR_ADDING_RECIPIENT* = 120
PKCS7_R_ERROR_SETTING_CIPHER* = 121
PKCS7_R_INVALID_NULL_POINTER* = 143
PKCS7_R_INVALID_SIGNED_DATA_TYPE* = 155
PKCS7_R_NO_CONTENT* = 122
PKCS7_R_NO_DEFAULT_DIGEST* = 151
PKCS7_R_NO_MATCHING_DIGEST_TYPE_FOUND* = 154
PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE* = 115
PKCS7_R_NO_SIGNATURES_ON_DATA* = 123
PKCS7_R_NO_SIGNERS* = 142
PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE* = 104
PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR* = 124
PKCS7_R_PKCS7_ADD_SIGNER_ERROR* = 153
PKCS7_R_PKCS7_DATASIGN* = 145
PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE* = 127
PKCS7_R_SIGNATURE_FAILURE* = 105
PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND* = 128
PKCS7_R_SIGNING_CTRL_FAILURE* = 147
PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE* = 148
PKCS7_R_SMIME_TEXT_ERROR* = 129
PKCS7_R_UNABLE_TO_FIND_CERTIFICATE* = 106
PKCS7_R_UNABLE_TO_FIND_MEM_BIO* = 107
PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST* = 108
PKCS7_R_UNKNOWN_DIGEST_TYPE* = 109
PKCS7_R_UNKNOWN_OPERATION* = 110
PKCS7_R_UNSUPPORTED_CIPHER_TYPE* = 111
PKCS7_R_UNSUPPORTED_CONTENT_TYPE* = 112
PKCS7_R_WRONG_CONTENT_TYPE* = 113
PKCS7_R_WRONG_PKCS7_TYPE* = 114
PKCS7_OP_SET_DETACHED_SIGNATURE* = 1
PKCS7_OP_GET_DETACHED_SIGNATURE* = 2
PKCS7_TEXT* = 0x00000001
PKCS7_NOCERTS* = 0x00000002
PKCS7_NOSIGS* = 0x00000004
PKCS7_NOCHAIN* = 0x00000008
PKCS7_NOINTERN* = 0x00000010
PKCS7_NOVERIFY* = 0x00000020
PKCS7_DETACHED* = 0x00000040
PKCS7_BINARY* = 0x00000080
PKCS7_NOATTR* = 0x00000100
PKCS7_NOSMIMECAP* = 0x00000200
PKCS7_NOOLDMIMETYPE* = 0x00000400
PKCS7_CRLFEOL* = 0x00000800
C_PKCS7_STREAM* = 0x00001000
PKCS7_NOCRL* = 0x00002000
PKCS7_PARTIAL* = 0x00004000
PKCS7_REUSE_DIGEST* = 0x00008000
PKCS7_NO_DUAL_CONTENT* = 0x00010000
C_SMIME_TEXT* = PKCS7_TEXT
SMIME_ASCIICRLF* = 0x00080000
type
stack_st = object
asn1_object_st = object
asn1_pctx_st = object
asn1_sctx_st = object
bio_st = object
bignum_st = object
bignum_ctx = object
bn_blinding_st = object
bn_mont_ctx_st = object
bn_recp_ctx_st = object
bn_gencb_st = object
buf_mem_st = object
evp_cipher_st = object
evp_cipher_ctx_st = object
evp_md_st = object
evp_md_ctx_st = object
evp_pkey_st = object
evp_pkey_asn1_method_st = object
evp_pkey_method_st = object
evp_pkey_ctx_st = object
evp_Encode_Ctx_st = object
hmac_ctx_st = object
dh_st = object
dh_method = object
dsa_st = object
dsa_method = object
rsa_st = object
rsa_meth_st = object
ec_key_st = object
ec_key_method_st = object
rand_meth_st = object
rand_drbg_st = object
ssl_dane_st = object
x509_st = object
X509_crl_st = object
x509_crl_method_st = object
x509_revoked_st = object
X509_name_st = object
X509_pubkey_st = object
x509_store_st = object
x509_store_ctx_st = object
x509_object_st = object
x509_lookup_st = object
x509_lookup_method_st = object
X509_VERIFY_PARAM_st = object
x509_sig_info_st = object
pkcs8_priv_key_info_st = object
v3_ext_ctx = object
conf_st = object
ossl_init_settings_st = object
ui_st = object
ui_method_st = object
engine_st = object
ssl_st = object
ssl_ctx_st = object
comp_ctx_st = object
comp_method_st = object
X509_POLICY_NODE_st = object
X509_POLICY_LEVEL_st = object
X509_POLICY_TREE_st = object
X509_POLICY_CACHE_st = object
AUTHORITY_KEYID_st = object
DIST_POINT_st = object
ISSUING_DIST_POINT_st = object
NAME_CONSTRAINTS_st = object
ocsp_req_ctx_st = object
ocsp_response_st = object
ocsp_responder_id_st = object
sct_st = object
sct_ctx_st = object
ctlog_st = object
ctlog_store_st = object
ct_policy_eval_ctx_st = object
ossl_store_info_st = object
ossl_store_search_st = object
intmax_t = object
uintmax_t = object
pthread_once_t = object
pthread_key_t = object
pthread_t = object
bio_addr_st = object
bio_addrinfo_st = object
bio_method_st = object
ASN1_TEMPLATE_st = object
ASN1_TLC_st = object
ASN1_VALUE_st = object
stack_st_X509_ATTRIBUTE = object
stack_st_X509 = object
stack_st_X509_CRL = object
tm = object
hostent = object
ASN1_ITEM_st {.importc.} = object
OPENSSL_STACK* {.importc, imppkcs7Hdr.} = stack_st
OPENSSL_sk_compfunc* {.importc, imppkcs7Hdr.} = proc (a1: pointer; a2: pointer): cint {.
cdecl.}
OPENSSL_sk_freefunc* {.importc, imppkcs7Hdr.} = proc (a1: pointer) {.cdecl.}
OPENSSL_sk_copyfunc* {.importc, imppkcs7Hdr.} = proc (a1: pointer): pointer {.cdecl.}
OPENSSL_STRING* {.importc, imppkcs7Hdr.} = cstring
OPENSSL_CSTRING* {.importc, imppkcs7Hdr.} = cstring
stack_st_OPENSSL_STRING* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_OPENSSL_STRING".} = object
sk_OPENSSL_STRING_compfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr cstring;
b: ptr cstring): cint {.cdecl.}
sk_OPENSSL_STRING_freefunc* {.importc, imppkcs7Hdr.} = proc (a: cstring) {.cdecl.}
sk_OPENSSL_STRING_copyfunc* {.importc, imppkcs7Hdr.} = proc (a: cstring): cstring {.
cdecl.}
stack_st_OPENSSL_CSTRING* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_OPENSSL_CSTRING".} = object
sk_OPENSSL_CSTRING_compfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr cstring;
b: ptr cstring): cint {.cdecl.}
sk_OPENSSL_CSTRING_freefunc* {.importc, imppkcs7Hdr.} = proc (a: cstring) {.cdecl.}
sk_OPENSSL_CSTRING_copyfunc* {.importc, imppkcs7Hdr.} = proc (a: cstring): cstring {.
cdecl.}
OPENSSL_BLOCK* {.importc, imppkcs7Hdr.} = pointer
stack_st_OPENSSL_BLOCK* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_OPENSSL_BLOCK".} = object
sk_OPENSSL_BLOCK_compfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr pointer;
b: ptr pointer): cint {.cdecl.}
sk_OPENSSL_BLOCK_freefunc* {.importc, imppkcs7Hdr.} = proc (a: pointer) {.cdecl.}
sk_OPENSSL_BLOCK_copyfunc* {.importc, imppkcs7Hdr.} = proc (a: pointer): pointer {.
cdecl.}
ASN1_INTEGER* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_ENUMERATED* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_BIT_STRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_OCTET_STRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_PRINTABLESTRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_T61STRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_IA5STRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_GENERALSTRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_UNIVERSALSTRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_BMPSTRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_UTCTIME* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_TIME* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_GENERALIZEDTIME* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_VISIBLESTRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_UTF8STRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_STRING* {.importc, imppkcs7Hdr.} = asn1_string_st
ASN1_BOOLEAN* {.importc, imppkcs7Hdr.} = cint
ASN1_NULL* {.importc, imppkcs7Hdr.} = cint
ASN1_OBJECT* {.importc, imppkcs7Hdr.} = asn1_object_st
ASN1_ITEM* {.importc, imppkcs7Hdr.} = ASN1_ITEM_st
ASN1_PCTX* {.importc, imppkcs7Hdr.} = asn1_pctx_st
ASN1_SCTX* {.importc, imppkcs7Hdr.} = asn1_sctx_st
dane_st* {.incompleteStruct, imppkcs7Hdr, importc: "struct dane_st".} = object
BIO* {.importc, imppkcs7Hdr.} = bio_st
BIGNUM* {.importc, imppkcs7Hdr.} = bignum_st
BN_CTX* {.importc, imppkcs7Hdr.} = bignum_ctx
BN_BLINDING* {.importc, imppkcs7Hdr.} = bn_blinding_st
BN_MONT_CTX* {.importc, imppkcs7Hdr.} = bn_mont_ctx_st
BN_RECP_CTX* {.importc, imppkcs7Hdr.} = bn_recp_ctx_st
BN_GENCB* {.importc, imppkcs7Hdr.} = bn_gencb_st
BUF_MEM* {.importc, imppkcs7Hdr.} = buf_mem_st
EVP_CIPHER* {.importc, imppkcs7Hdr.} = evp_cipher_st
EVP_CIPHER_CTX* {.importc, imppkcs7Hdr.} = evp_cipher_ctx_st
EVP_MD* {.importc, imppkcs7Hdr.} = evp_md_st
EVP_MD_CTX* {.importc, imppkcs7Hdr.} = evp_md_ctx_st
EVP_PKEY* {.importc, imppkcs7Hdr.} = evp_pkey_st
EVP_PKEY_ASN1_METHOD* {.importc, imppkcs7Hdr.} = evp_pkey_asn1_method_st
EVP_PKEY_METHOD* {.importc, imppkcs7Hdr.} = evp_pkey_method_st
EVP_PKEY_CTX* {.importc, imppkcs7Hdr.} = evp_pkey_ctx_st
EVP_ENCODE_CTX* {.importc, imppkcs7Hdr.} = evp_Encode_Ctx_st
HMAC_CTX* {.importc, imppkcs7Hdr.} = hmac_ctx_st
DH* {.importc, imppkcs7Hdr.} = dh_st
DH_METHOD* {.importc, imppkcs7Hdr.} = dh_method
DSA* {.importc, imppkcs7Hdr.} = dsa_st
DSA_METHOD* {.importc, imppkcs7Hdr.} = dsa_method
RSA* {.importc, imppkcs7Hdr.} = rsa_st
RSA_METHOD* {.importc, imppkcs7Hdr.} = rsa_meth_st
EC_KEY* {.importc, imppkcs7Hdr.} = ec_key_st
EC_KEY_METHOD* {.importc, imppkcs7Hdr.} = ec_key_method_st
RAND_METHOD* {.importc, imppkcs7Hdr.} = rand_meth_st
RAND_DRBG* {.importc, imppkcs7Hdr.} = rand_drbg_st
SSL_DANE* {.importc, imppkcs7Hdr.} = ssl_dane_st
X509* {.importc, imppkcs7Hdr.} = x509_st
X509_ALGOR* {.importc, imppkcs7Hdr.} = X509_algor_st
X509_CRL* {.importc, imppkcs7Hdr.} = X509_crl_st
X509_CRL_METHOD* {.importc, imppkcs7Hdr.} = x509_crl_method_st
X509_REVOKED* {.importc, imppkcs7Hdr.} = x509_revoked_st
X509_NAME* {.importc, imppkcs7Hdr.} = X509_name_st
X509_PUBKEY* {.importc, imppkcs7Hdr.} = X509_pubkey_st
X509_STORE* {.importc, imppkcs7Hdr.} = x509_store_st
X509_STORE_CTX* {.importc, imppkcs7Hdr.} = x509_store_ctx_st
X509_OBJECT* {.importc, imppkcs7Hdr.} = x509_object_st
X509_LOOKUP* {.importc, imppkcs7Hdr.} = x509_lookup_st
X509_LOOKUP_METHOD* {.importc, imppkcs7Hdr.} = x509_lookup_method_st
X509_VERIFY_PARAM* {.importc, imppkcs7Hdr.} = X509_VERIFY_PARAM_st
X509_SIG_INFO* {.importc, imppkcs7Hdr.} = x509_sig_info_st
PKCS8_PRIV_KEY_INFO* {.importc, imppkcs7Hdr.} = pkcs8_priv_key_info_st
X509V3_CTX* {.importc, imppkcs7Hdr.} = v3_ext_ctx
CONF* {.importc, imppkcs7Hdr.} = conf_st
OPENSSL_INIT_SETTINGS* {.importc, imppkcs7Hdr.} = ossl_init_settings_st
UI* {.importc, imppkcs7Hdr.} = ui_st
UI_METHOD* {.importc, imppkcs7Hdr.} = ui_method_st
ENGINE* {.importc, imppkcs7Hdr.} = engine_st
SSL* {.importc, imppkcs7Hdr.} = ssl_st
SSL_CTX* {.importc, imppkcs7Hdr.} = ssl_ctx_st
COMP_CTX* {.importc, imppkcs7Hdr.} = comp_ctx_st
COMP_METHOD* {.importc, imppkcs7Hdr.} = comp_method_st
X509_POLICY_NODE* {.importc, imppkcs7Hdr.} = X509_POLICY_NODE_st
X509_POLICY_LEVEL* {.importc, imppkcs7Hdr.} = X509_POLICY_LEVEL_st
X509_POLICY_TREE* {.importc, imppkcs7Hdr.} = X509_POLICY_TREE_st
X509_POLICY_CACHE* {.importc, imppkcs7Hdr.} = X509_POLICY_CACHE_st
AUTHORITY_KEYID* {.importc, imppkcs7Hdr.} = AUTHORITY_KEYID_st
DIST_POINT* {.importc, imppkcs7Hdr.} = DIST_POINT_st
ISSUING_DIST_POINT* {.importc, imppkcs7Hdr.} = ISSUING_DIST_POINT_st
NAME_CONSTRAINTS* {.importc, imppkcs7Hdr.} = NAME_CONSTRAINTS_st
CRYPTO_EX_DATA* {.importc, imppkcs7Hdr.} = crypto_ex_data_st
OCSP_REQ_CTX* {.importc, imppkcs7Hdr.} = ocsp_req_ctx_st
OCSP_RESPONSE* {.importc, imppkcs7Hdr.} = ocsp_response_st
OCSP_RESPID* {.importc, imppkcs7Hdr.} = ocsp_responder_id_st
SCT* {.importc, imppkcs7Hdr.} = sct_st
SCT_CTX* {.importc, imppkcs7Hdr.} = sct_ctx_st
CTLOG* {.importc, imppkcs7Hdr.} = ctlog_st
CTLOG_STORE* {.importc, imppkcs7Hdr.} = ctlog_store_st
CT_POLICY_EVAL_CTX* {.importc, imppkcs7Hdr.} = ct_policy_eval_ctx_st
OSSL_STORE_INFO* {.importc, imppkcs7Hdr.} = ossl_store_info_st
OSSL_STORE_SEARCH* {.importc, imppkcs7Hdr.} = ossl_store_search_st
ossl_intmax_t* {.importc, imppkcs7Hdr.} = intmax_t
ossl_uintmax_t* {.importc, imppkcs7Hdr.} = uintmax_t
CRYPTO_dynlock* {.bycopy, importc, imppkcs7Hdr.} = object
dummy*: cint
CRYPTO_RWLOCK* {.importc, imppkcs7Hdr.} = object
crypto_ex_data_st* {.bycopy, imppkcs7Hdr, importc: "struct crypto_ex_data_st".} = object
sk*: ptr stack_st_void
stack_st_void* {.incompleteStruct, imppkcs7Hdr, importc: "struct stack_st_void".} = object
sk_void_compfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr pointer; b: ptr pointer): cint {.
cdecl.}
sk_void_freefunc* {.importc, imppkcs7Hdr.} = proc (a: pointer) {.cdecl.}
sk_void_copyfunc* {.importc, imppkcs7Hdr.} = proc (a: pointer): pointer {.cdecl.}
CRYPTO_EX_new* {.importc, imppkcs7Hdr.} = proc (parent: pointer; `ptr`: pointer;
ad: ptr CRYPTO_EX_DATA; idx: cint; argl: clong; argp: pointer) {.cdecl.}
CRYPTO_EX_free* {.importc, imppkcs7Hdr.} = proc (parent: pointer; `ptr`: pointer;
ad: ptr CRYPTO_EX_DATA; idx: cint; argl: clong; argp: pointer) {.cdecl.}
CRYPTO_EX_dup* {.importc, imppkcs7Hdr.} = proc (to: ptr CRYPTO_EX_DATA;
`from`: ptr CRYPTO_EX_DATA; from_d: pointer; idx: cint; argl: clong; argp: pointer): cint {.
cdecl.}
crypto_threadid_st* {.bycopy, imppkcs7Hdr, importc: "struct crypto_threadid_st".} = object
dummy*: cint
C_CRYPTO_THREADID* {.imppkcs7Hdr, importc: "CRYPTO_THREADID".} = crypto_threadid_st
CRYPTO_ONCE* {.importc, imppkcs7Hdr.} = pthread_once_t
CRYPTO_THREAD_LOCAL* {.importc, imppkcs7Hdr.} = pthread_key_t
CRYPTO_THREAD_ID* {.importc, imppkcs7Hdr.} = pthread_t
BIO_ADDR* {.importc, imppkcs7Hdr.} = bio_addr_st
BIO_ADDRINFO* {.importc, imppkcs7Hdr.} = bio_addrinfo_st
BIO_callback_fn* {.importc, imppkcs7Hdr.} = proc (b: ptr BIO; oper: cint; argp: cstring;
argi: cint; argl: clong; ret: clong): clong {.cdecl.}
BIO_callback_fn_ex* {.importc, imppkcs7Hdr.} = proc (b: ptr BIO; oper: cint;
argp: cstring; len: uint; argi: cint; argl: clong; ret: cint; processed: ptr uint): clong {.
cdecl.}
BIO_METHOD* {.importc, imppkcs7Hdr.} = bio_method_st
BIO_info_cb* {.importc, imppkcs7Hdr.} = proc (a1: ptr BIO; a2: cint; a3: cint): cint {.
cdecl.}
bio_info_cb* {.importc, imppkcs7Hdr.} = BIO_info_cb
stack_st_BIO* {.incompleteStruct, imppkcs7Hdr, importc: "struct stack_st_BIO".} = object
sk_BIO_compfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ptr BIO; b: ptr ptr BIO): cint {.
cdecl.}
sk_BIO_freefunc* {.importc, imppkcs7Hdr.} = proc (a: ptr BIO) {.cdecl.}
sk_BIO_copyfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr BIO): ptr BIO {.cdecl.}
asn1_ps_func* {.importc, imppkcs7Hdr.} = proc (b: ptr BIO; pbuf: ptr ptr cuchar;
plen: ptr cint; parg: pointer): cint {.cdecl.}
BIO_sock_info_u* {.union, bycopy, imppkcs7Hdr, importc: "union BIO_sock_info_u".} = object
`addr`*: ptr BIO_ADDR
X509_algor_st* {.incompleteStruct, imppkcs7Hdr, importc: "struct X509_algor_st".} = object
stack_st_X509_ALGOR* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_X509_ALGOR".} = object
sk_X509_ALGOR_compfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ptr X509_ALGOR;
b: ptr ptr X509_ALGOR): cint {.cdecl.}
sk_X509_ALGOR_freefunc* {.importc, imppkcs7Hdr.} = proc (a: ptr X509_ALGOR) {.cdecl.}
sk_X509_ALGOR_copyfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr X509_ALGOR): ptr X509_ALGOR {.
cdecl.}
asn1_string_st* {.bycopy, imppkcs7Hdr, importc: "struct asn1_string_st".} = object
length*: cint
`type`*: cint
data*: ptr cuchar
flags*: clong
ASN1_ENCODING_st* {.bycopy, imppkcs7Hdr, importc: "struct ASN1_ENCODING_st".} = object
enc*: ptr cuchar
len*: clong
modified*: cint
ASN1_ENCODING* {.importc, imppkcs7Hdr.} = ASN1_ENCODING_st
asn1_string_table_st* {.bycopy, imppkcs7Hdr,
importc: "struct asn1_string_table_st".} = object
nid*: cint
minsize*: clong
maxsize*: clong
mask*: culong
flags*: culong
ASN1_STRING_TABLE* {.importc, imppkcs7Hdr.} = asn1_string_table_st
stack_st_ASN1_STRING_TABLE* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_ASN1_STRING_TABLE".} = object
sk_ASN1_STRING_TABLE_compfunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ptr ASN1_STRING_TABLE; b: ptr ptr ASN1_STRING_TABLE): cint {.cdecl.}
sk_ASN1_STRING_TABLE_freefunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ASN1_STRING_TABLE) {.cdecl.}
sk_ASN1_STRING_TABLE_copyfunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ASN1_STRING_TABLE): ptr ASN1_STRING_TABLE {.cdecl.}
ASN1_TEMPLATE* {.importc, imppkcs7Hdr.} = ASN1_TEMPLATE_st
ASN1_TLC* {.importc, imppkcs7Hdr.} = ASN1_TLC_st
ASN1_VALUE* {.importc, imppkcs7Hdr.} = ASN1_VALUE_st
d2i_of_void* {.importc, imppkcs7Hdr.} = proc (a1: ptr pointer; a2: ptr ptr cuchar;
a3: clong): pointer {.cdecl.}
i2d_of_void* {.importc, imppkcs7Hdr.} = proc (a1: pointer; a2: ptr ptr cuchar): cint {.
cdecl.}
ASN1_ITEM_EXP* {.importc, imppkcs7Hdr.} = ASN1_ITEM
stack_st_ASN1_INTEGER* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_ASN1_INTEGER".} = object
sk_ASN1_INTEGER_compfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ptr ASN1_INTEGER;
b: ptr ptr ASN1_INTEGER): cint {.cdecl.}
sk_ASN1_INTEGER_freefunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ASN1_INTEGER) {.
cdecl.}
sk_ASN1_INTEGER_copyfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ASN1_INTEGER): ptr ASN1_INTEGER {.
cdecl.}
stack_st_ASN1_GENERALSTRING* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_ASN1_GENERALSTRING".} = object
sk_ASN1_GENERALSTRING_compfunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ptr ASN1_GENERALSTRING; b: ptr ptr ASN1_GENERALSTRING): cint {.cdecl.}
sk_ASN1_GENERALSTRING_freefunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ASN1_GENERALSTRING) {.cdecl.}
sk_ASN1_GENERALSTRING_copyfunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ASN1_GENERALSTRING): ptr ASN1_GENERALSTRING {.cdecl.}
stack_st_ASN1_UTF8STRING* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_ASN1_UTF8STRING".} = object
sk_ASN1_UTF8STRING_compfunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ptr ASN1_UTF8STRING; b: ptr ptr ASN1_UTF8STRING): cint {.cdecl.}
sk_ASN1_UTF8STRING_freefunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ASN1_UTF8STRING) {.cdecl.}
sk_ASN1_UTF8STRING_copyfunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ASN1_UTF8STRING): ptr ASN1_UTF8STRING {.cdecl.}
Union_pkcs7h1* {.union, bycopy, imppkcs7Hdr, importc: "union Union_pkcs7h1".} = object
`ptr`*: cstring
boolean*: ASN1_BOOLEAN
asn1_string*: ptr ASN1_STRING
`object`*: ptr ASN1_OBJECT
integer*: ptr ASN1_INTEGER
enumerated*: ptr ASN1_ENUMERATED
bit_string*: ptr ASN1_BIT_STRING
octet_string*: ptr ASN1_OCTET_STRING
printablestring*: ptr ASN1_PRINTABLESTRING
t61string*: ptr ASN1_T61STRING
ia5string*: ptr ASN1_IA5STRING
generalstring*: ptr ASN1_GENERALSTRING
bmpstring*: ptr ASN1_BMPSTRING
universalstring*: ptr ASN1_UNIVERSALSTRING
utctime*: ptr ASN1_UTCTIME
generalizedtime*: ptr ASN1_GENERALIZEDTIME
visiblestring*: ptr ASN1_VISIBLESTRING
utf8string*: ptr ASN1_UTF8STRING
set*: ptr ASN1_STRING
sequence*: ptr ASN1_STRING
asn1_value*: ptr ASN1_VALUE
asn1_type_st* {.bycopy, imppkcs7Hdr, importc: "struct asn1_type_st".} = object
`type`*: cint
value*: Union_pkcs7h1
ASN1_TYPE* {.importc, imppkcs7Hdr.} = asn1_type_st
stack_st_ASN1_TYPE* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_ASN1_TYPE".} = object
sk_ASN1_TYPE_compfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ptr ASN1_TYPE;
b: ptr ptr ASN1_TYPE): cint {.cdecl.}
sk_ASN1_TYPE_freefunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ASN1_TYPE) {.cdecl.}
sk_ASN1_TYPE_copyfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ASN1_TYPE): ptr ASN1_TYPE {.
cdecl.}
ASN1_SEQUENCE_ANY* {.importc, imppkcs7Hdr.} = stack_st_ASN1_TYPE
BIT_STRING_BITNAME_st* {.bycopy, imppkcs7Hdr,
importc: "struct BIT_STRING_BITNAME_st".} = object
bitnum*: cint
lname*: cstring
sname*: cstring
BIT_STRING_BITNAME* {.importc, imppkcs7Hdr.} = BIT_STRING_BITNAME_st
stack_st_ASN1_OBJECT* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_ASN1_OBJECT".} = object
sk_ASN1_OBJECT_compfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ptr ASN1_OBJECT;
b: ptr ptr ASN1_OBJECT): cint {.cdecl.}
sk_ASN1_OBJECT_freefunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ASN1_OBJECT) {.cdecl.}
sk_ASN1_OBJECT_copyfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ASN1_OBJECT): ptr ASN1_OBJECT {.
cdecl.}
pkcs7_issuer_and_serial_st* {.bycopy, imppkcs7Hdr,
importc: "struct pkcs7_issuer_and_serial_st".} = object
issuer*: ptr X509_NAME
serial*: ptr ASN1_INTEGER
PKCS7_ISSUER_AND_SERIAL* {.importc, imppkcs7Hdr.} = pkcs7_issuer_and_serial_st
pkcs7_signer_info_st* {.bycopy, imppkcs7Hdr,
importc: "struct pkcs7_signer_info_st".} = object
version*: ptr ASN1_INTEGER
issuer_and_serial*: ptr PKCS7_ISSUER_AND_SERIAL
digest_alg*: ptr X509_ALGOR
auth_attr*: ptr stack_st_X509_ATTRIBUTE
digest_enc_alg*: ptr X509_ALGOR
enc_digest*: ptr ASN1_OCTET_STRING
unauth_attr*: ptr stack_st_X509_ATTRIBUTE
pkey*: ptr EVP_PKEY
PKCS7_SIGNER_INFO* {.importc, imppkcs7Hdr.} = pkcs7_signer_info_st
stack_st_PKCS7_SIGNER_INFO* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_PKCS7_SIGNER_INFO".} = object
sk_PKCS7_SIGNER_INFO_compfunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ptr PKCS7_SIGNER_INFO; b: ptr ptr PKCS7_SIGNER_INFO): cint {.cdecl.}
sk_PKCS7_SIGNER_INFO_freefunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr PKCS7_SIGNER_INFO) {.cdecl.}
sk_PKCS7_SIGNER_INFO_copyfunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr PKCS7_SIGNER_INFO): ptr PKCS7_SIGNER_INFO {.cdecl.}
pkcs7_recip_info_st* {.bycopy, imppkcs7Hdr, importc: "struct pkcs7_recip_info_st".} = object
version*: ptr ASN1_INTEGER
issuer_and_serial*: ptr PKCS7_ISSUER_AND_SERIAL
key_enc_algor*: ptr X509_ALGOR
enc_key*: ptr ASN1_OCTET_STRING
cert*: ptr X509
PKCS7_RECIP_INFO* {.importc, imppkcs7Hdr.} = pkcs7_recip_info_st
stack_st_PKCS7_RECIP_INFO* {.incompleteStruct, imppkcs7Hdr,
importc: "struct stack_st_PKCS7_RECIP_INFO".} = object
sk_PKCS7_RECIP_INFO_compfunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr ptr PKCS7_RECIP_INFO; b: ptr ptr PKCS7_RECIP_INFO): cint {.cdecl.}
sk_PKCS7_RECIP_INFO_freefunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr PKCS7_RECIP_INFO) {.cdecl.}
sk_PKCS7_RECIP_INFO_copyfunc* {.importc, imppkcs7Hdr.} = proc (
a: ptr PKCS7_RECIP_INFO): ptr PKCS7_RECIP_INFO {.cdecl.}
pkcs7_signed_st* {.bycopy, imppkcs7Hdr, importc: "struct pkcs7_signed_st".} = object
version*: ptr ASN1_INTEGER
md_algs*: ptr stack_st_X509_ALGOR
cert*: ptr stack_st_X509
crl*: ptr stack_st_X509_CRL
signer_info*: ptr stack_st_PKCS7_SIGNER_INFO
contents*: ptr pkcs7_st
PKCS7_SIGNED* {.importc, imppkcs7Hdr.} = pkcs7_signed_st
pkcs7_enc_content_st* {.bycopy, imppkcs7Hdr,
importc: "struct pkcs7_enc_content_st".} = object
content_type*: ptr ASN1_OBJECT
algorithm*: ptr X509_ALGOR
enc_data*: ptr ASN1_OCTET_STRING
cipher*: ptr EVP_CIPHER
PKCS7_ENC_CONTENT* {.importc, imppkcs7Hdr.} = pkcs7_enc_content_st
pkcs7_enveloped_st* {.bycopy, imppkcs7Hdr, importc: "struct pkcs7_enveloped_st".} = object
version*: ptr ASN1_INTEGER
recipientinfo*: ptr stack_st_PKCS7_RECIP_INFO
enc_data*: ptr PKCS7_ENC_CONTENT
PKCS7_ENVELOPE* {.importc, imppkcs7Hdr.} = pkcs7_enveloped_st
pkcs7_signedandenveloped_st* {.bycopy, imppkcs7Hdr,
importc: "struct pkcs7_signedandenveloped_st".} = object
version*: ptr ASN1_INTEGER
md_algs*: ptr stack_st_X509_ALGOR
cert*: ptr stack_st_X509
crl*: ptr stack_st_X509_CRL
signer_info*: ptr stack_st_PKCS7_SIGNER_INFO
enc_data*: ptr PKCS7_ENC_CONTENT
recipientinfo*: ptr stack_st_PKCS7_RECIP_INFO
PKCS7_SIGN_ENVELOPE* {.importc, imppkcs7Hdr.} = pkcs7_signedandenveloped_st
pkcs7_digest_st* {.bycopy, imppkcs7Hdr, importc: "struct pkcs7_digest_st".} = object
version*: ptr ASN1_INTEGER
md*: ptr X509_ALGOR
contents*: ptr pkcs7_st
digest*: ptr ASN1_OCTET_STRING
PKCS7_DIGEST* {.importc, imppkcs7Hdr.} = pkcs7_digest_st
pkcs7_encrypted_st* {.bycopy, imppkcs7Hdr, importc: "struct pkcs7_encrypted_st".} = object
version*: ptr ASN1_INTEGER
enc_data*: ptr PKCS7_ENC_CONTENT
C_PKCS7_ENCRYPT* {.imppkcs7Hdr, importc: "PKCS7_ENCRYPT".} = pkcs7_encrypted_st
Union_pkcs7h2* {.union, bycopy, imppkcs7Hdr, importc: "union Union_pkcs7h2".} = object
`ptr`*: cstring
data*: ptr ASN1_OCTET_STRING
sign*: ptr PKCS7_SIGNED
enveloped*: ptr PKCS7_ENVELOPE
signed_and_enveloped*: ptr PKCS7_SIGN_ENVELOPE
digest*: ptr PKCS7_DIGEST
encrypted*: ptr C_PKCS7_ENCRYPT
other*: ptr ASN1_TYPE
pkcs7_st* {.bycopy, imppkcs7Hdr, importc: "struct pkcs7_st".} = object
asn1*: ptr cuchar
length*: clong
state*: cint
detached*: cint
`type`*: ptr ASN1_OBJECT
d*: Union_pkcs7h2
PKCS7* {.importc, imppkcs7Hdr.} = pkcs7_st
stack_st_PKCS7* {.incompleteStruct, imppkcs7Hdr, importc: "struct stack_st_PKCS7".} = object
sk_PKCS7_compfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr ptr PKCS7; b: ptr ptr PKCS7): cint {.
cdecl.}
sk_PKCS7_freefunc* {.importc, imppkcs7Hdr.} = proc (a: ptr PKCS7) {.cdecl.}
sk_PKCS7_copyfunc* {.importc, imppkcs7Hdr.} = proc (a: ptr PKCS7): ptr PKCS7 {.cdecl.}
var
ASN1_SEQUENCE_ANY_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_SET_ANY_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_ANY_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_OBJECT_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_BIT_STRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_INTEGER_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_ENUMERATED_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_OCTET_STRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_VISIBLESTRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_UNIVERSALSTRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_UTF8STRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_NULL_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_BMPSTRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_PRINTABLE_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
DIRECTORYSTRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
DISPLAYTEXT_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_PRINTABLESTRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_T61STRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_IA5STRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_GENERALSTRING_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_UTCTIME_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_GENERALIZEDTIME_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_TIME_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
ASN1_OCTET_STRING_NDEF_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_ISSUER_AND_SERIAL_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_SIGNER_INFO_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_RECIP_INFO_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_SIGNED_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_ENC_CONTENT_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_ENVELOPE_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_SIGN_ENVELOPE_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_DIGEST_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_ENCRYPT_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_ATTR_SIGN_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
PKCS7_ATTR_VERIFY_it* {.importc, imppkcs7Dyn.}: ASN1_ITEM
proc OPENSSL_sk_num*(a1: ptr OPENSSL_STACK): cint {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_value*(a1: ptr OPENSSL_STACK; a2: cint): pointer {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_sk_set*(st: ptr OPENSSL_STACK; i: cint; data: pointer): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_new*(cmp: OPENSSL_sk_compfunc): ptr OPENSSL_STACK {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_sk_new_null*(): ptr OPENSSL_STACK {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_new_reserve*(c: OPENSSL_sk_compfunc; n: cint): ptr OPENSSL_STACK {.
importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_reserve*(st: ptr OPENSSL_STACK; n: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_sk_free*(a1: ptr OPENSSL_STACK) {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_pop_free*(st: ptr OPENSSL_STACK; `func`: proc (a1: pointer) {.cdecl.}) {.
importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_deep_copy*(a1: ptr OPENSSL_STACK; c: OPENSSL_sk_copyfunc;
f: OPENSSL_sk_freefunc): ptr OPENSSL_STACK {.importc,
cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_insert*(sk: ptr OPENSSL_STACK; data: pointer; where: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_delete*(st: ptr OPENSSL_STACK; loc: cint): pointer {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_sk_delete_ptr*(st: ptr OPENSSL_STACK; p: pointer): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_find*(st: ptr OPENSSL_STACK; data: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_sk_find_ex*(st: ptr OPENSSL_STACK; data: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_sk_push*(st: ptr OPENSSL_STACK; data: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_sk_unshift*(st: ptr OPENSSL_STACK; data: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_sk_shift*(st: ptr OPENSSL_STACK): pointer {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_pop*(st: ptr OPENSSL_STACK): pointer {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_zero*(st: ptr OPENSSL_STACK) {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_set_cmp_func*(sk: ptr OPENSSL_STACK; cmp: OPENSSL_sk_compfunc): OPENSSL_sk_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_dup*(st: ptr OPENSSL_STACK): ptr OPENSSL_STACK {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_sk_sort*(st: ptr OPENSSL_STACK) {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_sk_is_sorted*(st: ptr OPENSSL_STACK): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_num*(sk: ptr stack_st_OPENSSL_STRING): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_STRING_value*(sk: ptr stack_st_OPENSSL_STRING; idx: cint): cstring {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_new*(compare: sk_OPENSSL_STRING_compfunc): ptr stack_st_OPENSSL_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_new_null*(): ptr stack_st_OPENSSL_STRING {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_STRING_new_reserve*(compare: sk_OPENSSL_STRING_compfunc; n: cint): ptr stack_st_OPENSSL_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_reserve*(sk: ptr stack_st_OPENSSL_STRING; n: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_free*(sk: ptr stack_st_OPENSSL_STRING) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_STRING_zero*(sk: ptr stack_st_OPENSSL_STRING) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_STRING_delete*(sk: ptr stack_st_OPENSSL_STRING; i: cint): cstring {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_delete_ptr*(sk: ptr stack_st_OPENSSL_STRING; `ptr`: cstring): cstring {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_push*(sk: ptr stack_st_OPENSSL_STRING; `ptr`: cstring): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_unshift*(sk: ptr stack_st_OPENSSL_STRING; `ptr`: cstring): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_pop*(sk: ptr stack_st_OPENSSL_STRING): cstring {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_shift*(sk: ptr stack_st_OPENSSL_STRING): cstring {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_pop_free*(sk: ptr stack_st_OPENSSL_STRING;
freefunc: sk_OPENSSL_STRING_freefunc) {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_insert*(sk: ptr stack_st_OPENSSL_STRING; `ptr`: cstring;
idx: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_set*(sk: ptr stack_st_OPENSSL_STRING; idx: cint; `ptr`: cstring): cstring {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_find*(sk: ptr stack_st_OPENSSL_STRING; `ptr`: cstring): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_find_ex*(sk: ptr stack_st_OPENSSL_STRING; `ptr`: cstring): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_sort*(sk: ptr stack_st_OPENSSL_STRING) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_STRING_is_sorted*(sk: ptr stack_st_OPENSSL_STRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_dup*(sk: ptr stack_st_OPENSSL_STRING): ptr stack_st_OPENSSL_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_deep_copy*(sk: ptr stack_st_OPENSSL_STRING;
copyfunc: sk_OPENSSL_STRING_copyfunc;
freefunc: sk_OPENSSL_STRING_freefunc): ptr stack_st_OPENSSL_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_STRING_set_cmp_func*(sk: ptr stack_st_OPENSSL_STRING;
compare: sk_OPENSSL_STRING_compfunc): sk_OPENSSL_STRING_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_num*(sk: ptr stack_st_OPENSSL_CSTRING): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_value*(sk: ptr stack_st_OPENSSL_CSTRING; idx: cint): cstring {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_new*(compare: sk_OPENSSL_CSTRING_compfunc): ptr stack_st_OPENSSL_CSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_new_null*(): ptr stack_st_OPENSSL_CSTRING {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_new_reserve*(compare: sk_OPENSSL_CSTRING_compfunc; n: cint): ptr stack_st_OPENSSL_CSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_reserve*(sk: ptr stack_st_OPENSSL_CSTRING; n: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_free*(sk: ptr stack_st_OPENSSL_CSTRING) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_zero*(sk: ptr stack_st_OPENSSL_CSTRING) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_delete*(sk: ptr stack_st_OPENSSL_CSTRING; i: cint): cstring {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_delete_ptr*(sk: ptr stack_st_OPENSSL_CSTRING; `ptr`: cstring): cstring {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_push*(sk: ptr stack_st_OPENSSL_CSTRING; `ptr`: cstring): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_unshift*(sk: ptr stack_st_OPENSSL_CSTRING; `ptr`: cstring): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_pop*(sk: ptr stack_st_OPENSSL_CSTRING): cstring {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_shift*(sk: ptr stack_st_OPENSSL_CSTRING): cstring {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_pop_free*(sk: ptr stack_st_OPENSSL_CSTRING;
freefunc: sk_OPENSSL_CSTRING_freefunc) {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_insert*(sk: ptr stack_st_OPENSSL_CSTRING; `ptr`: cstring;
idx: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_set*(sk: ptr stack_st_OPENSSL_CSTRING; idx: cint;
`ptr`: cstring): cstring {.importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_find*(sk: ptr stack_st_OPENSSL_CSTRING; `ptr`: cstring): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_find_ex*(sk: ptr stack_st_OPENSSL_CSTRING; `ptr`: cstring): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_sort*(sk: ptr stack_st_OPENSSL_CSTRING) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_is_sorted*(sk: ptr stack_st_OPENSSL_CSTRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_dup*(sk: ptr stack_st_OPENSSL_CSTRING): ptr stack_st_OPENSSL_CSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_deep_copy*(sk: ptr stack_st_OPENSSL_CSTRING;
copyfunc: sk_OPENSSL_CSTRING_copyfunc;
freefunc: sk_OPENSSL_CSTRING_freefunc): ptr stack_st_OPENSSL_CSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_CSTRING_set_cmp_func*(sk: ptr stack_st_OPENSSL_CSTRING;
compare: sk_OPENSSL_CSTRING_compfunc): sk_OPENSSL_CSTRING_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_num*(sk: ptr stack_st_OPENSSL_BLOCK): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_value*(sk: ptr stack_st_OPENSSL_BLOCK; idx: cint): pointer {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_new*(compare: sk_OPENSSL_BLOCK_compfunc): ptr stack_st_OPENSSL_BLOCK {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_new_null*(): ptr stack_st_OPENSSL_BLOCK {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_new_reserve*(compare: sk_OPENSSL_BLOCK_compfunc; n: cint): ptr stack_st_OPENSSL_BLOCK {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_reserve*(sk: ptr stack_st_OPENSSL_BLOCK; n: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_free*(sk: ptr stack_st_OPENSSL_BLOCK) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_zero*(sk: ptr stack_st_OPENSSL_BLOCK) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_delete*(sk: ptr stack_st_OPENSSL_BLOCK; i: cint): pointer {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_delete_ptr*(sk: ptr stack_st_OPENSSL_BLOCK; `ptr`: pointer): pointer {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_push*(sk: ptr stack_st_OPENSSL_BLOCK; `ptr`: pointer): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_unshift*(sk: ptr stack_st_OPENSSL_BLOCK; `ptr`: pointer): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_pop*(sk: ptr stack_st_OPENSSL_BLOCK): pointer {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_shift*(sk: ptr stack_st_OPENSSL_BLOCK): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_pop_free*(sk: ptr stack_st_OPENSSL_BLOCK;
freefunc: sk_OPENSSL_BLOCK_freefunc) {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_insert*(sk: ptr stack_st_OPENSSL_BLOCK; `ptr`: pointer;
idx: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_set*(sk: ptr stack_st_OPENSSL_BLOCK; idx: cint; `ptr`: pointer): pointer {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_find*(sk: ptr stack_st_OPENSSL_BLOCK; `ptr`: pointer): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_find_ex*(sk: ptr stack_st_OPENSSL_BLOCK; `ptr`: pointer): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_sort*(sk: ptr stack_st_OPENSSL_BLOCK) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_is_sorted*(sk: ptr stack_st_OPENSSL_BLOCK): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_dup*(sk: ptr stack_st_OPENSSL_BLOCK): ptr stack_st_OPENSSL_BLOCK {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_deep_copy*(sk: ptr stack_st_OPENSSL_BLOCK;
copyfunc: sk_OPENSSL_BLOCK_copyfunc;
freefunc: sk_OPENSSL_BLOCK_freefunc): ptr stack_st_OPENSSL_BLOCK {.
importc, cdecl, imppkcs7Dyn.}
proc sk_OPENSSL_BLOCK_set_cmp_func*(sk: ptr stack_st_OPENSSL_BLOCK;
compare: sk_OPENSSL_BLOCK_compfunc): sk_OPENSSL_BLOCK_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc ERR_load_CRYPTO_strings*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_THREAD_lock_new*(): ptr CRYPTO_RWLOCK {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_THREAD_read_lock*(lock: ptr CRYPTO_RWLOCK): cint {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_THREAD_write_lock*(lock: ptr CRYPTO_RWLOCK): cint {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_THREAD_unlock*(lock: ptr CRYPTO_RWLOCK): cint {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_THREAD_lock_free*(lock: ptr CRYPTO_RWLOCK) {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_atomic_add*(val: ptr cint; amount: cint; ret: ptr cint;
lock: ptr CRYPTO_RWLOCK): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_void_num*(sk: ptr stack_st_void): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_void_value*(sk: ptr stack_st_void; idx: cint): pointer {.importc, cdecl,
imppkcs7Dyn.}
proc sk_void_new*(compare: sk_void_compfunc): ptr stack_st_void {.importc, cdecl,
imppkcs7Dyn.}
proc sk_void_new_null*(): ptr stack_st_void {.importc, cdecl, imppkcs7Dyn.}
proc sk_void_new_reserve*(compare: sk_void_compfunc; n: cint): ptr stack_st_void {.
importc, cdecl, imppkcs7Dyn.}
proc sk_void_reserve*(sk: ptr stack_st_void; n: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_void_free*(sk: ptr stack_st_void) {.importc, cdecl, imppkcs7Dyn.}
proc sk_void_zero*(sk: ptr stack_st_void) {.importc, cdecl, imppkcs7Dyn.}
proc sk_void_delete*(sk: ptr stack_st_void; i: cint): pointer {.importc, cdecl,
imppkcs7Dyn.}
proc sk_void_delete_ptr*(sk: ptr stack_st_void; `ptr`: pointer): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc sk_void_push*(sk: ptr stack_st_void; `ptr`: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_void_unshift*(sk: ptr stack_st_void; `ptr`: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_void_pop*(sk: ptr stack_st_void): pointer {.importc, cdecl, imppkcs7Dyn.}
proc sk_void_shift*(sk: ptr stack_st_void): pointer {.importc, cdecl, imppkcs7Dyn.}
proc sk_void_pop_free*(sk: ptr stack_st_void; freefunc: sk_void_freefunc) {.importc,
cdecl, imppkcs7Dyn.}
proc sk_void_insert*(sk: ptr stack_st_void; `ptr`: pointer; idx: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_void_set*(sk: ptr stack_st_void; idx: cint; `ptr`: pointer): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc sk_void_find*(sk: ptr stack_st_void; `ptr`: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_void_find_ex*(sk: ptr stack_st_void; `ptr`: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_void_sort*(sk: ptr stack_st_void) {.importc, cdecl, imppkcs7Dyn.}
proc sk_void_is_sorted*(sk: ptr stack_st_void): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_void_dup*(sk: ptr stack_st_void): ptr stack_st_void {.importc, cdecl,
imppkcs7Dyn.}
proc sk_void_deep_copy*(sk: ptr stack_st_void; copyfunc: sk_void_copyfunc;
freefunc: sk_void_freefunc): ptr stack_st_void {.importc,
cdecl, imppkcs7Dyn.}
proc sk_void_set_cmp_func*(sk: ptr stack_st_void; compare: sk_void_compfunc): sk_void_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_mem_ctrl*(mode: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_strlcpy*(dst: cstring; src: cstring; siz: uint): uint {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_strlcat*(dst: cstring; src: cstring; siz: uint): uint {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_strnlen*(str: cstring; maxlen: uint): uint {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_buf2hexstr*(buffer: ptr cuchar; len: clong): cstring {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_hexstr2buf*(str: cstring; len: ptr clong): ptr cuchar {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_hexchar2int*(c: cuchar): cint {.importc, cdecl, imppkcs7Dyn.}
proc OpenSSL_version_num*(): culong {.importc, cdecl, imppkcs7Dyn.}
proc OpenSSL_version*(`type`: cint): cstring {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_issetugid*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_get_ex_new_index*(class_index: cint; argl: clong; argp: pointer;
new_func: ptr CRYPTO_EX_new;
dup_func: ptr CRYPTO_EX_dup;
free_func: ptr CRYPTO_EX_free): cint {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_free_ex_index*(class_index: cint; idx: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_new_ex_data*(class_index: cint; obj: pointer; ad: ptr CRYPTO_EX_DATA): cint {.
importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_dup_ex_data*(class_index: cint; to: ptr CRYPTO_EX_DATA;
`from`: ptr CRYPTO_EX_DATA): cint {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_free_ex_data*(class_index: cint; obj: pointer; ad: ptr CRYPTO_EX_DATA) {.
importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_set_ex_data*(ad: ptr CRYPTO_EX_DATA; idx: cint; val: pointer): cint {.
importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_get_ex_data*(ad: ptr CRYPTO_EX_DATA; idx: cint): pointer {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_set_mem_functions*(m: proc (a1: uint; a2: cstring; a3: cint): pointer {.cdecl.};
r: proc (a1: pointer; a2: uint; a3: cstring; a4: cint): pointer {.cdecl.}; f: proc (
a1: pointer; a2: cstring; a3: cint) {.cdecl.}): cint {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_set_mem_debug*(flag: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_get_mem_functions*(m: ptr proc (a1: uint; a2: cstring; a3: cint): pointer {.
cdecl.}; r: ptr proc (a1: pointer; a2: uint; a3: cstring; a4: cint): pointer {.cdecl.}; f: ptr proc (
a1: pointer; a2: cstring; a3: cint) {.cdecl.}) {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_malloc*(num: uint; file: cstring; line: cint): pointer {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_zalloc*(num: uint; file: cstring; line: cint): pointer {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_memdup*(str: pointer; siz: uint; file: cstring; line: cint): pointer {.
importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_strdup*(str: cstring; file: cstring; line: cint): cstring {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_strndup*(str: cstring; s: uint; file: cstring; line: cint): cstring {.importc,
cdecl, imppkcs7Dyn.}
proc CRYPTO_free*(`ptr`: pointer; file: cstring; line: cint) {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_clear_free*(`ptr`: pointer; num: uint; file: cstring; line: cint) {.importc,
cdecl, imppkcs7Dyn.}
proc CRYPTO_realloc*(`addr`: pointer; num: uint; file: cstring; line: cint): pointer {.
importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_clear_realloc*(`addr`: pointer; old_num: uint; num: uint; file: cstring;
line: cint): pointer {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_secure_malloc_init*(sz: uint; minsize: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_secure_malloc_done*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_secure_malloc*(num: uint; file: cstring; line: cint): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc CRYPTO_secure_zalloc*(num: uint; file: cstring; line: cint): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc CRYPTO_secure_free*(`ptr`: pointer; file: cstring; line: cint) {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_secure_clear_free*(`ptr`: pointer; num: uint; file: cstring; line: cint) {.
importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_secure_allocated*(`ptr`: pointer): cint {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_secure_malloc_initialized*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_secure_actual_size*(`ptr`: pointer): uint {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_secure_used*(): uint {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_cleanse*(`ptr`: pointer; len: uint) {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_die*(assertion: cstring; file: cstring; line: cint) {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_isservice*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc FIPS_mode*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc FIPS_mode_set*(r: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_init*() {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_fork_prepare*() {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_fork_parent*() {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_fork_child*() {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_gmtime*(timer: ptr time_t; result: ptr tm): ptr tm {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_gmtime_adj*(tm: ptr tm; offset_day: cint; offset_sec: clong): cint {.
importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_gmtime_diff*(pday: ptr cint; psec: ptr cint; `from`: ptr tm; to: ptr tm): cint {.
importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_memcmp*(in_a: pointer; in_b: pointer; len: uint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_cleanup*() {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_init_crypto*(opts: uint64; settings: ptr OPENSSL_INIT_SETTINGS): cint {.
importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_atexit*(handler: proc () {.cdecl.}): cint {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_thread_stop*() {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_INIT_new*(): ptr OPENSSL_INIT_SETTINGS {.importc, cdecl, imppkcs7Dyn.}
proc OPENSSL_INIT_set_config_appname*(settings: ptr OPENSSL_INIT_SETTINGS;
config_file: cstring): cint {.importc, cdecl,
imppkcs7Dyn.}
proc OPENSSL_INIT_free*(settings: ptr OPENSSL_INIT_SETTINGS) {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_THREAD_run_once*(once: ptr CRYPTO_ONCE; init: proc () {.cdecl.}): cint {.
importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_THREAD_init_local*(key: ptr CRYPTO_THREAD_LOCAL;
cleanup: proc (a1: pointer) {.cdecl.}): cint {.importc,
cdecl, imppkcs7Dyn.}
proc CRYPTO_THREAD_get_local*(key: ptr CRYPTO_THREAD_LOCAL): pointer {.importc, cdecl,
imppkcs7Dyn.}
proc CRYPTO_THREAD_set_local*(key: ptr CRYPTO_THREAD_LOCAL; val: pointer): cint {.
importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_THREAD_cleanup_local*(key: ptr CRYPTO_THREAD_LOCAL): cint {.importc,
cdecl, imppkcs7Dyn.}
proc CRYPTO_THREAD_get_current_id*(): CRYPTO_THREAD_ID {.importc, cdecl, imppkcs7Dyn.}
proc CRYPTO_THREAD_compare_id*(a: CRYPTO_THREAD_ID; b: CRYPTO_THREAD_ID): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ERR_load_BIO_strings*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_get_new_index*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_flags*(b: ptr BIO; flags: cint) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_test_flags*(b: ptr BIO; flags: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_clear_flags*(b: ptr BIO; flags: cint) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_get_callback*(b: ptr BIO): BIO_callback_fn {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_callback*(b: ptr BIO; callback: BIO_callback_fn) {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_get_callback_ex*(b: ptr BIO): BIO_callback_fn_ex {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_callback_ex*(b: ptr BIO; callback: BIO_callback_fn_ex) {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_get_callback_arg*(b: ptr BIO): cstring {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_callback_arg*(b: ptr BIO; arg: cstring) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_method_name*(b: ptr BIO): cstring {.importc, cdecl, imppkcs7Dyn.}
proc BIO_method_type*(b: ptr BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_num*(sk: ptr stack_st_BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_value*(sk: ptr stack_st_BIO; idx: cint): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_new*(compare: sk_BIO_compfunc): ptr stack_st_BIO {.importc, cdecl,
imppkcs7Dyn.}
proc sk_BIO_new_null*(): ptr stack_st_BIO {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_new_reserve*(compare: sk_BIO_compfunc; n: cint): ptr stack_st_BIO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_reserve*(sk: ptr stack_st_BIO; n: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_free*(sk: ptr stack_st_BIO) {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_zero*(sk: ptr stack_st_BIO) {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_delete*(sk: ptr stack_st_BIO; i: cint): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_delete_ptr*(sk: ptr stack_st_BIO; `ptr`: ptr BIO): ptr BIO {.importc, cdecl,
imppkcs7Dyn.}
proc sk_BIO_push*(sk: ptr stack_st_BIO; `ptr`: ptr BIO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_BIO_unshift*(sk: ptr stack_st_BIO; `ptr`: ptr BIO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_BIO_pop*(sk: ptr stack_st_BIO): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_shift*(sk: ptr stack_st_BIO): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_pop_free*(sk: ptr stack_st_BIO; freefunc: sk_BIO_freefunc) {.importc,
cdecl, imppkcs7Dyn.}
proc sk_BIO_insert*(sk: ptr stack_st_BIO; `ptr`: ptr BIO; idx: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_BIO_set*(sk: ptr stack_st_BIO; idx: cint; `ptr`: ptr BIO): ptr BIO {.importc, cdecl,
imppkcs7Dyn.}
proc sk_BIO_find*(sk: ptr stack_st_BIO; `ptr`: ptr BIO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_BIO_find_ex*(sk: ptr stack_st_BIO; `ptr`: ptr BIO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_BIO_sort*(sk: ptr stack_st_BIO) {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_is_sorted*(sk: ptr stack_st_BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_dup*(sk: ptr stack_st_BIO): ptr stack_st_BIO {.importc, cdecl, imppkcs7Dyn.}
proc sk_BIO_deep_copy*(sk: ptr stack_st_BIO; copyfunc: sk_BIO_copyfunc;
freefunc: sk_BIO_freefunc): ptr stack_st_BIO {.importc, cdecl,
imppkcs7Dyn.}
proc sk_BIO_set_cmp_func*(sk: ptr stack_st_BIO; compare: sk_BIO_compfunc): sk_BIO_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc BIO_ctrl_pending*(b: ptr BIO): uint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ctrl_wpending*(b: ptr BIO): uint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ctrl_get_write_guarantee*(b: ptr BIO): uint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ctrl_get_read_request*(b: ptr BIO): uint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ctrl_reset_read_request*(b: ptr BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_ex_data*(bio: ptr BIO; idx: cint; data: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_get_ex_data*(bio: ptr BIO; idx: cint): pointer {.importc, cdecl, imppkcs7Dyn.}
proc BIO_number_read*(bio: ptr BIO): uint64 {.importc, cdecl, imppkcs7Dyn.}
proc BIO_number_written*(bio: ptr BIO): uint64 {.importc, cdecl, imppkcs7Dyn.}
proc BIO_asn1_set_prefix*(b: ptr BIO; prefix: ptr asn1_ps_func;
prefix_free: ptr asn1_ps_func): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_asn1_get_prefix*(b: ptr BIO; pprefix: ptr ptr asn1_ps_func;
pprefix_free: ptr ptr asn1_ps_func): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_asn1_set_suffix*(b: ptr BIO; suffix: ptr asn1_ps_func;
suffix_free: ptr asn1_ps_func): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_asn1_get_suffix*(b: ptr BIO; psuffix: ptr ptr asn1_ps_func;
psuffix_free: ptr ptr asn1_ps_func): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_s_file*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_new_file*(filename: cstring; mode: cstring): ptr BIO {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_new_fp*(stream: File; close_flag: cint): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_new*(`type`: ptr BIO_METHOD): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_free*(a: ptr BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_data*(a: ptr BIO; `ptr`: pointer) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_get_data*(a: ptr BIO): pointer {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_init*(a: ptr BIO; init: cint) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_get_init*(a: ptr BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_shutdown*(a: ptr BIO; shut: cint) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_get_shutdown*(a: ptr BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_vfree*(a: ptr BIO) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_up_ref*(a: ptr BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_read*(b: ptr BIO; data: pointer; dlen: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_read_ex*(b: ptr BIO; data: pointer; dlen: uint; readbytes: ptr uint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BIO_gets*(bp: ptr BIO; buf: cstring; size: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_write*(b: ptr BIO; data: pointer; dlen: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_write_ex*(b: ptr BIO; data: pointer; dlen: uint; written: ptr uint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BIO_puts*(bp: ptr BIO; buf: cstring): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_indent*(b: ptr BIO; indent: cint; max: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ctrl*(bp: ptr BIO; cmd: cint; larg: clong; parg: pointer): clong {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_callback_ctrl*(b: ptr BIO; cmd: cint; fp: ptr BIO_info_cb): clong {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_ptr_ctrl*(bp: ptr BIO; cmd: cint; larg: clong): pointer {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_int_ctrl*(bp: ptr BIO; cmd: cint; larg: clong; iarg: cint): clong {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_push*(b: ptr BIO; append: ptr BIO): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_pop*(b: ptr BIO): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_free_all*(a: ptr BIO) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_find_type*(b: ptr BIO; bio_type: cint): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_next*(b: ptr BIO): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_next*(b: ptr BIO; next: ptr BIO) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_get_retry_BIO*(bio: ptr BIO; reason: ptr cint): ptr BIO {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_get_retry_reason*(bio: ptr BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_retry_reason*(bio: ptr BIO; reason: cint) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_dup_chain*(`in`: ptr BIO): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_nread0*(bio: ptr BIO; buf: ptr cstring): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_nread*(bio: ptr BIO; buf: ptr cstring; num: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_nwrite0*(bio: ptr BIO; buf: ptr cstring): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_nwrite*(bio: ptr BIO; buf: ptr cstring; num: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_debug_callback*(bio: ptr BIO; cmd: cint; argp: cstring; argi: cint; argl: clong;
ret: clong): clong {.importc, cdecl, imppkcs7Dyn.}
proc BIO_s_mem*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_s_secmem*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_new_mem_buf*(buf: pointer; len: cint): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_s_socket*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_s_connect*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_s_accept*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_s_fd*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_s_log*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_s_bio*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_s_null*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_f_null*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_f_buffer*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_f_linebuffer*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_f_nbio_test*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_s_datagram*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_dgram_non_fatal_error*(error: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_new_dgram*(fd: cint; close_flag: cint): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_sock_should_retry*(i: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_sock_non_fatal_error*(error: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_fd_should_retry*(i: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_fd_non_fatal_error*(error: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_dump_cb*(cb: proc (data: pointer; len: uint; u: pointer): cint {.cdecl.};
u: pointer; s: cstring; len: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_dump_indent_cb*(cb: proc (data: pointer; len: uint; u: pointer): cint {.cdecl.};
u: pointer; s: cstring; len: cint; indent: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_dump*(b: ptr BIO; bytes: cstring; len: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_dump_indent*(b: ptr BIO; bytes: cstring; len: cint; indent: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_dump_fp*(fp: File; s: cstring; len: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_dump_indent_fp*(fp: File; s: cstring; len: cint; indent: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_hex_string*(`out`: ptr BIO; indent: cint; width: cint; data: ptr cuchar;
datalen: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDR_new*(): ptr BIO_ADDR {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDR_rawmake*(ap: ptr BIO_ADDR; family: cint; where: pointer; wherelen: uint;
port: cushort): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDR_free*(a1: ptr BIO_ADDR) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDR_clear*(ap: ptr BIO_ADDR) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDR_family*(ap: ptr BIO_ADDR): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDR_rawaddress*(ap: ptr BIO_ADDR; p: pointer; l: ptr uint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_ADDR_rawport*(ap: ptr BIO_ADDR): cushort {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDR_hostname_string*(ap: ptr BIO_ADDR; numeric: cint): cstring {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_ADDR_service_string*(ap: ptr BIO_ADDR; numeric: cint): cstring {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_ADDR_path_string*(ap: ptr BIO_ADDR): cstring {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDRINFO_next*(bai: ptr BIO_ADDRINFO): ptr BIO_ADDRINFO {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_ADDRINFO_family*(bai: ptr BIO_ADDRINFO): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDRINFO_socktype*(bai: ptr BIO_ADDRINFO): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDRINFO_protocol*(bai: ptr BIO_ADDRINFO): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_ADDRINFO_address*(bai: ptr BIO_ADDRINFO): ptr BIO_ADDR {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_ADDRINFO_free*(bai: ptr BIO_ADDRINFO) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_parse_hostserv*(hostserv: cstring; host: ptr cstring; service: ptr cstring;
hostserv_prio: BIO_hostserv_priorities): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_lookup*(host: cstring; service: cstring; lookup_type: BIO_lookup_type;
family: cint; socktype: cint; res: ptr ptr BIO_ADDRINFO): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_lookup_ex*(host: cstring; service: cstring; lookup_type: cint; family: cint;
socktype: cint; protocol: cint; res: ptr ptr BIO_ADDRINFO): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BIO_sock_error*(sock: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_socket_ioctl*(fd: cint; `type`: clong; arg: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_socket_nbio*(fd: cint; mode: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_sock_init*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_set_tcp_ndelay*(sock: cint; turn_on: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_gethostbyname*(name: cstring): ptr hostent {.importc, cdecl, imppkcs7Dyn.}
proc BIO_get_port*(str: cstring; port_ptr: ptr cushort): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_get_host_ip*(str: cstring; ip: ptr cuchar): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_get_accept_socket*(host_port: cstring; mode: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_accept*(sock: cint; ip_port: ptr cstring): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_sock_info*(sock: cint; `type`: BIO_sock_info_type; info: ptr BIO_sock_info_u): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BIO_socket*(domain: cint; socktype: cint; protocol: cint; options: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BIO_connect*(sock: cint; `addr`: ptr BIO_ADDR; options: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_bind*(sock: cint; `addr`: ptr BIO_ADDR; options: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_listen*(sock: cint; `addr`: ptr BIO_ADDR; options: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_accept_ex*(accept_sock: cint; `addr`: ptr BIO_ADDR; options: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BIO_closesocket*(sock: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_new_socket*(sock: cint; close_flag: cint): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_new_connect*(host_port: cstring): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_new_accept*(host_port: cstring): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_new_fd*(fd: cint; close_flag: cint): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc BIO_new_bio_pair*(bio1: ptr ptr BIO; writebuf1: uint; bio2: ptr ptr BIO;
writebuf2: uint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_copy_next_retry*(b: ptr BIO) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_printf*(bio: ptr BIO; format: cstring): cint {.importc, cdecl, imppkcs7Dyn,
varargs.}
proc BIO_vprintf*(bio: ptr BIO; format: cstring; args: va_list): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_snprintf*(buf: cstring; n: uint; format: cstring): cint {.importc, cdecl,
imppkcs7Dyn, varargs.}
proc BIO_vsnprintf*(buf: cstring; n: uint; format: cstring; args: va_list): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_new*(`type`: cint; name: cstring): ptr BIO_METHOD {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_meth_free*(biom: ptr BIO_METHOD) {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_get_write*(biom: ptr BIO_METHOD): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_get_write_ex*(biom: ptr BIO_METHOD): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_set_write*(biom: ptr BIO_METHOD; write: proc (a1: ptr BIO; a2: cstring;
a3: cint): cint {.cdecl.}): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_set_write_ex*(biom: ptr BIO_METHOD; bwrite: proc (a1: ptr BIO; a2: cstring;
a3: uint; a4: ptr uint): cint {.cdecl.}): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_get_read*(biom: ptr BIO_METHOD): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_get_read_ex*(biom: ptr BIO_METHOD): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_set_read*(biom: ptr BIO_METHOD; read: proc (a1: ptr BIO; a2: cstring;
a3: cint): cint {.cdecl.}): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_set_read_ex*(biom: ptr BIO_METHOD; bread: proc (a1: ptr BIO; a2: cstring;
a3: uint; a4: ptr uint): cint {.cdecl.}): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_get_puts*(biom: ptr BIO_METHOD): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_set_puts*(biom: ptr BIO_METHOD;
puts: proc (a1: ptr BIO; a2: cstring): cint {.cdecl.}): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_get_gets*(biom: ptr BIO_METHOD): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_set_gets*(biom: ptr BIO_METHOD; gets: proc (a1: ptr BIO; a2: cstring;
a3: cint): cint {.cdecl.}): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_get_ctrl*(biom: ptr BIO_METHOD): clong {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_set_ctrl*(biom: ptr BIO_METHOD; ctrl: proc (a1: ptr BIO; a2: cint; a3: clong;
a4: pointer): clong {.cdecl.}): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_get_create*(bion: ptr BIO_METHOD): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_set_create*(biom: ptr BIO_METHOD;
create: proc (a1: ptr BIO): cint {.cdecl.}): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_meth_get_destroy*(biom: ptr BIO_METHOD): cint {.importc, cdecl, imppkcs7Dyn.}
proc BIO_meth_set_destroy*(biom: ptr BIO_METHOD;
destroy: proc (a1: ptr BIO): cint {.cdecl.}): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BIO_meth_get_callback_ctrl*(biom: ptr BIO_METHOD): clong {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_meth_set_callback_ctrl*(biom: ptr BIO_METHOD; callback_ctrl: proc (
a1: ptr BIO; a2: cint; a3: ptr BIO_info_cb): clong {.cdecl.}): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ERR_load_ASN1_strings*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc ERR_load_BN_strings*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_set_flags*(b: ptr BIGNUM; n: cint) {.importc, cdecl, imppkcs7Dyn.}
proc BN_get_flags*(b: ptr BIGNUM; n: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_with_flags*(dest: ptr BIGNUM; b: ptr BIGNUM; flags: cint) {.importc, cdecl,
imppkcs7Dyn.}
proc BN_GENCB_call*(cb: ptr BN_GENCB; a: cint; b: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_GENCB_new*(): ptr BN_GENCB {.importc, cdecl, imppkcs7Dyn.}
proc BN_GENCB_free*(cb: ptr BN_GENCB) {.importc, cdecl, imppkcs7Dyn.}
proc BN_GENCB_set_old*(gencb: ptr BN_GENCB; callback: proc (a1: cint; a2: cint;
a3: pointer) {.cdecl.}; cb_arg: pointer) {.importc, cdecl, imppkcs7Dyn.}
proc BN_GENCB_set*(gencb: ptr BN_GENCB; callback: proc (a1: cint; a2: cint;
a3: ptr BN_GENCB): cint {.cdecl.}; cb_arg: pointer) {.importc, cdecl, imppkcs7Dyn.}
proc BN_GENCB_get_arg*(cb: ptr BN_GENCB): pointer {.importc, cdecl, imppkcs7Dyn.}
proc BN_abs_is_word*(a: ptr BIGNUM; w: culong): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_is_zero*(a: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_is_one*(a: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_is_word*(a: ptr BIGNUM; w: culong): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_is_odd*(a: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_zero_ex*(a: ptr BIGNUM) {.importc, cdecl, imppkcs7Dyn.}
proc BN_value_one*(): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_options*(): cstring {.importc, cdecl, imppkcs7Dyn.}
proc BN_CTX_new*(): ptr BN_CTX {.importc, cdecl, imppkcs7Dyn.}
proc BN_CTX_secure_new*(): ptr BN_CTX {.importc, cdecl, imppkcs7Dyn.}
proc BN_CTX_free*(c: ptr BN_CTX) {.importc, cdecl, imppkcs7Dyn.}
proc BN_CTX_start*(ctx: ptr BN_CTX) {.importc, cdecl, imppkcs7Dyn.}
proc BN_CTX_get*(ctx: ptr BN_CTX): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_CTX_end*(ctx: ptr BN_CTX) {.importc, cdecl, imppkcs7Dyn.}
proc BN_rand*(rnd: ptr BIGNUM; bits: cint; top: cint; bottom: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_priv_rand*(rnd: ptr BIGNUM; bits: cint; top: cint; bottom: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_rand_range*(rnd: ptr BIGNUM; range: ptr BIGNUM): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_priv_rand_range*(rnd: ptr BIGNUM; range: ptr BIGNUM): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_pseudo_rand*(rnd: ptr BIGNUM; bits: cint; top: cint; bottom: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_pseudo_rand_range*(rnd: ptr BIGNUM; range: ptr BIGNUM): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_num_bits*(a: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_num_bits_word*(l: culong): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_security_bits*(L: cint; N: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_new*(): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_secure_new*(): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_clear_free*(a: ptr BIGNUM) {.importc, cdecl, imppkcs7Dyn.}
proc BN_copy*(a: ptr BIGNUM; b: ptr BIGNUM): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_swap*(a: ptr BIGNUM; b: ptr BIGNUM) {.importc, cdecl, imppkcs7Dyn.}
proc BN_bin2bn*(s: ptr cuchar; len: cint; ret: ptr BIGNUM): ptr BIGNUM {.importc, cdecl,
imppkcs7Dyn.}
proc BN_bn2bin*(a: ptr BIGNUM; to: ptr cuchar): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_bn2binpad*(a: ptr BIGNUM; to: ptr cuchar; tolen: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_lebin2bn*(s: ptr cuchar; len: cint; ret: ptr BIGNUM): ptr BIGNUM {.importc, cdecl,
imppkcs7Dyn.}
proc BN_bn2lebinpad*(a: ptr BIGNUM; to: ptr cuchar; tolen: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_mpi2bn*(s: ptr cuchar; len: cint; ret: ptr BIGNUM): ptr BIGNUM {.importc, cdecl,
imppkcs7Dyn.}
proc BN_bn2mpi*(a: ptr BIGNUM; to: ptr cuchar): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_sub*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_usub*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_uadd*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_add*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_mul*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM; ctx: ptr BN_CTX): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_sqr*(r: ptr BIGNUM; a: ptr BIGNUM; ctx: ptr BN_CTX): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_set_negative*(b: ptr BIGNUM; n: cint) {.importc, cdecl, imppkcs7Dyn.}
proc BN_is_negative*(b: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_div*(dv: ptr BIGNUM; rem: ptr BIGNUM; m: ptr BIGNUM; d: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_nnmod*(r: ptr BIGNUM; m: ptr BIGNUM; d: ptr BIGNUM; ctx: ptr BN_CTX): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_mod_add*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM; m: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_add_quick*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM; m: ptr BIGNUM): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_sub*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM; m: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_sub_quick*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM; m: ptr BIGNUM): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_mul*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM; m: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_sqr*(r: ptr BIGNUM; a: ptr BIGNUM; m: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_lshift1*(r: ptr BIGNUM; a: ptr BIGNUM; m: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_lshift1_quick*(r: ptr BIGNUM; a: ptr BIGNUM; m: ptr BIGNUM): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_mod_lshift*(r: ptr BIGNUM; a: ptr BIGNUM; n: cint; m: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_lshift_quick*(r: ptr BIGNUM; a: ptr BIGNUM; n: cint; m: ptr BIGNUM): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_word*(a: ptr BIGNUM; w: culong): culong {.importc, cdecl, imppkcs7Dyn.}
proc BN_div_word*(a: ptr BIGNUM; w: culong): culong {.importc, cdecl, imppkcs7Dyn.}
proc BN_mul_word*(a: ptr BIGNUM; w: culong): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_add_word*(a: ptr BIGNUM; w: culong): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_sub_word*(a: ptr BIGNUM; w: culong): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_set_word*(a: ptr BIGNUM; w: culong): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_get_word*(a: ptr BIGNUM): culong {.importc, cdecl, imppkcs7Dyn.}
proc BN_cmp*(a: ptr BIGNUM; b: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_free*(a: ptr BIGNUM) {.importc, cdecl, imppkcs7Dyn.}
proc BN_is_bit_set*(a: ptr BIGNUM; n: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_lshift*(r: ptr BIGNUM; a: ptr BIGNUM; n: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_lshift1*(r: ptr BIGNUM; a: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_exp*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; ctx: ptr BN_CTX): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_mod_exp*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; m: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_exp_mont*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; m: ptr BIGNUM;
ctx: ptr BN_CTX; m_ctx: ptr BN_MONT_CTX): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_mod_exp_mont_consttime*(rr: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM;
m: ptr BIGNUM; ctx: ptr BN_CTX;
in_mont: ptr BN_MONT_CTX): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_mod_exp_mont_word*(r: ptr BIGNUM; a: culong; p: ptr BIGNUM; m: ptr BIGNUM;
ctx: ptr BN_CTX; m_ctx: ptr BN_MONT_CTX): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_mod_exp2_mont*(r: ptr BIGNUM; a1: ptr BIGNUM; p1: ptr BIGNUM; a2: ptr BIGNUM;
p2: ptr BIGNUM; m: ptr BIGNUM; ctx: ptr BN_CTX;
m_ctx: ptr BN_MONT_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_mod_exp_simple*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; m: ptr BIGNUM;
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_mask_bits*(a: ptr BIGNUM; n: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_print_fp*(fp: File; a: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_print*(bio: ptr BIO; a: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_reciprocal*(r: ptr BIGNUM; m: ptr BIGNUM; len: cint; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_rshift*(r: ptr BIGNUM; a: ptr BIGNUM; n: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_rshift1*(r: ptr BIGNUM; a: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_clear*(a: ptr BIGNUM) {.importc, cdecl, imppkcs7Dyn.}
proc BN_dup*(a: ptr BIGNUM): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_ucmp*(a: ptr BIGNUM; b: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_set_bit*(a: ptr BIGNUM; n: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_clear_bit*(a: ptr BIGNUM; n: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_bn2hex*(a: ptr BIGNUM): cstring {.importc, cdecl, imppkcs7Dyn.}
proc BN_bn2dec*(a: ptr BIGNUM): cstring {.importc, cdecl, imppkcs7Dyn.}
proc BN_hex2bn*(a: ptr ptr BIGNUM; str: cstring): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_dec2bn*(a: ptr ptr BIGNUM; str: cstring): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_asc2bn*(a: ptr ptr BIGNUM; str: cstring): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_gcd*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM; ctx: ptr BN_CTX): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_kronecker*(a: ptr BIGNUM; b: ptr BIGNUM; ctx: ptr BN_CTX): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_mod_inverse*(ret: ptr BIGNUM; a: ptr BIGNUM; n: ptr BIGNUM; ctx: ptr BN_CTX): ptr BIGNUM {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_sqrt*(ret: ptr BIGNUM; a: ptr BIGNUM; n: ptr BIGNUM; ctx: ptr BN_CTX): ptr BIGNUM {.
importc, cdecl, imppkcs7Dyn.}
proc BN_consttime_swap*(swap: culong; a: ptr BIGNUM; b: ptr BIGNUM; nwords: cint) {.
importc, cdecl, imppkcs7Dyn.}
proc BN_generate_prime*(ret: ptr BIGNUM; bits: cint; safe: cint; add: ptr BIGNUM;
rem: ptr BIGNUM; callback: proc (a1: cint; a2: cint; a3: pointer) {.
cdecl.}; cb_arg: pointer): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_is_prime*(p: ptr BIGNUM; nchecks: cint;
callback: proc (a1: cint; a2: cint; a3: pointer) {.cdecl.};
ctx: ptr BN_CTX; cb_arg: pointer): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_is_prime_fasttest*(p: ptr BIGNUM; nchecks: cint; callback: proc (a1: cint;
a2: cint; a3: pointer) {.cdecl.}; ctx: ptr BN_CTX; cb_arg: pointer;
do_trial_division: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_generate_prime_ex*(ret: ptr BIGNUM; bits: cint; safe: cint; add: ptr BIGNUM;
rem: ptr BIGNUM; cb: ptr BN_GENCB): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_is_prime_ex*(p: ptr BIGNUM; nchecks: cint; ctx: ptr BN_CTX; cb: ptr BN_GENCB): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_is_prime_fasttest_ex*(p: ptr BIGNUM; nchecks: cint; ctx: ptr BN_CTX;
do_trial_division: cint; cb: ptr BN_GENCB): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_X931_generate_Xpq*(Xp: ptr BIGNUM; Xq: ptr BIGNUM; nbits: cint; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_X931_derive_prime_ex*(p: ptr BIGNUM; p1: ptr BIGNUM; p2: ptr BIGNUM;
Xp: ptr BIGNUM; Xp1: ptr BIGNUM; Xp2: ptr BIGNUM;
e: ptr BIGNUM; ctx: ptr BN_CTX; cb: ptr BN_GENCB): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_X931_generate_prime_ex*(p: ptr BIGNUM; p1: ptr BIGNUM; p2: ptr BIGNUM;
Xp1: ptr BIGNUM; Xp2: ptr BIGNUM; Xp: ptr BIGNUM;
e: ptr BIGNUM; ctx: ptr BN_CTX; cb: ptr BN_GENCB): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_MONT_CTX_new*(): ptr BN_MONT_CTX {.importc, cdecl, imppkcs7Dyn.}
proc BN_mod_mul_montgomery*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM;
mont: ptr BN_MONT_CTX; ctx: ptr BN_CTX): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_to_montgomery*(r: ptr BIGNUM; a: ptr BIGNUM; mont: ptr BN_MONT_CTX;
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_from_montgomery*(r: ptr BIGNUM; a: ptr BIGNUM; mont: ptr BN_MONT_CTX;
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_MONT_CTX_free*(mont: ptr BN_MONT_CTX) {.importc, cdecl, imppkcs7Dyn.}
proc BN_MONT_CTX_set*(mont: ptr BN_MONT_CTX; `mod`: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_MONT_CTX_copy*(to: ptr BN_MONT_CTX; `from`: ptr BN_MONT_CTX): ptr BN_MONT_CTX {.
importc, cdecl, imppkcs7Dyn.}
proc BN_MONT_CTX_set_locked*(pmont: ptr ptr BN_MONT_CTX; lock: ptr CRYPTO_RWLOCK;
`mod`: ptr BIGNUM; ctx: ptr BN_CTX): ptr BN_MONT_CTX {.
importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_new*(A: ptr BIGNUM; Ai: ptr BIGNUM; `mod`: ptr BIGNUM): ptr BN_BLINDING {.
importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_free*(b: ptr BN_BLINDING) {.importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_update*(b: ptr BN_BLINDING; ctx: ptr BN_CTX): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_BLINDING_convert*(n: ptr BIGNUM; b: ptr BN_BLINDING; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_invert*(n: ptr BIGNUM; b: ptr BN_BLINDING; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_convert_ex*(n: ptr BIGNUM; r: ptr BIGNUM; b: ptr BN_BLINDING;
a4: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_invert_ex*(n: ptr BIGNUM; r: ptr BIGNUM; b: ptr BN_BLINDING;
a4: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_is_current_thread*(b: ptr BN_BLINDING): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_BLINDING_set_current_thread*(b: ptr BN_BLINDING) {.importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_lock*(b: ptr BN_BLINDING): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_unlock*(b: ptr BN_BLINDING): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_get_flags*(a1: ptr BN_BLINDING): culong {.importc, cdecl, imppkcs7Dyn.}
proc BN_BLINDING_set_flags*(a1: ptr BN_BLINDING; a2: culong) {.importc, cdecl,
imppkcs7Dyn.}
proc BN_BLINDING_create_param*(b: ptr BN_BLINDING; e: ptr BIGNUM; m: ptr BIGNUM;
ctx: ptr BN_CTX; bn_mod_exp: proc (r: ptr BIGNUM;
a: ptr BIGNUM; p: ptr BIGNUM; m: ptr BIGNUM; ctx: ptr BN_CTX; m_ctx: ptr BN_MONT_CTX): cint {.
cdecl.}; m_ctx: ptr BN_MONT_CTX): ptr BN_BLINDING {.importc, cdecl, imppkcs7Dyn.}
proc BN_set_params*(mul: cint; high: cint; low: cint; mont: cint) {.importc, cdecl,
imppkcs7Dyn.}
proc BN_get_params*(which: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_RECP_CTX_new*(): ptr BN_RECP_CTX {.importc, cdecl, imppkcs7Dyn.}
proc BN_RECP_CTX_free*(recp: ptr BN_RECP_CTX) {.importc, cdecl, imppkcs7Dyn.}
proc BN_RECP_CTX_set*(recp: ptr BN_RECP_CTX; rdiv: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_mod_mul_reciprocal*(r: ptr BIGNUM; x: ptr BIGNUM; y: ptr BIGNUM;
recp: ptr BN_RECP_CTX; ctx: ptr BN_CTX): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_mod_exp_recp*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; m: ptr BIGNUM;
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_div_recp*(dv: ptr BIGNUM; rem: ptr BIGNUM; m: ptr BIGNUM; recp: ptr BN_RECP_CTX;
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_add*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_GF2m_mod*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_GF2m_mod_mul*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM; p: ptr BIGNUM;
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_sqr*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_inv*(r: ptr BIGNUM; b: ptr BIGNUM; p: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_div*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM; p: ptr BIGNUM;
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_exp*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM; p: ptr BIGNUM;
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_sqrt*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_solve_quad*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_arr*(r: ptr BIGNUM; a: ptr BIGNUM; p: UncheckedArray[cint]): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_mul_arr*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM;
p: UncheckedArray[cint]; ctx: ptr BN_CTX): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_sqr_arr*(r: ptr BIGNUM; a: ptr BIGNUM; p: UncheckedArray[cint];
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_inv_arr*(r: ptr BIGNUM; b: ptr BIGNUM; p: UncheckedArray[cint];
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_div_arr*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM;
p: UncheckedArray[cint]; ctx: ptr BN_CTX): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_exp_arr*(r: ptr BIGNUM; a: ptr BIGNUM; b: ptr BIGNUM;
p: UncheckedArray[cint]; ctx: ptr BN_CTX): cint {.importc,
cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_sqrt_arr*(r: ptr BIGNUM; a: ptr BIGNUM; p: UncheckedArray[cint];
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_mod_solve_quad_arr*(r: ptr BIGNUM; a: ptr BIGNUM; p: UncheckedArray[cint];
ctx: ptr BN_CTX): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_poly2arr*(a: ptr BIGNUM; p: UncheckedArray[cint]; max: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_GF2m_arr2poly*(p: UncheckedArray[cint]; a: ptr BIGNUM): cint {.importc, cdecl,
imppkcs7Dyn.}
proc BN_nist_mod_192*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_nist_mod_224*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_nist_mod_256*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_nist_mod_384*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_nist_mod_521*(r: ptr BIGNUM; a: ptr BIGNUM; p: ptr BIGNUM; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_get0_nist_prime_192*(): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_get0_nist_prime_224*(): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_get0_nist_prime_256*(): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_get0_nist_prime_384*(): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_get0_nist_prime_521*(): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_nist_mod_func*(p: ptr BIGNUM): cint {.importc, cdecl, imppkcs7Dyn.}
proc BN_generate_dsa_nonce*(`out`: ptr BIGNUM; range: ptr BIGNUM; priv: ptr BIGNUM;
message: ptr cuchar; message_len: uint; ctx: ptr BN_CTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc BN_get_rfc2409_prime_768*(bn: ptr BIGNUM): ptr BIGNUM {.importc, cdecl, imppkcs7Dyn.}
proc BN_get_rfc2409_prime_1024*(bn: ptr BIGNUM): ptr BIGNUM {.importc, cdecl,
imppkcs7Dyn.}
proc BN_get_rfc3526_prime_1536*(bn: ptr BIGNUM): ptr BIGNUM {.importc, cdecl,
imppkcs7Dyn.}
proc BN_get_rfc3526_prime_2048*(bn: ptr BIGNUM): ptr BIGNUM {.importc, cdecl,
imppkcs7Dyn.}
proc BN_get_rfc3526_prime_3072*(bn: ptr BIGNUM): ptr BIGNUM {.importc, cdecl,
imppkcs7Dyn.}
proc BN_get_rfc3526_prime_4096*(bn: ptr BIGNUM): ptr BIGNUM {.importc, cdecl,
imppkcs7Dyn.}
proc BN_get_rfc3526_prime_6144*(bn: ptr BIGNUM): ptr BIGNUM {.importc, cdecl,
imppkcs7Dyn.}
proc BN_get_rfc3526_prime_8192*(bn: ptr BIGNUM): ptr BIGNUM {.importc, cdecl,
imppkcs7Dyn.}
proc BN_bntest_rand*(rnd: ptr BIGNUM; bits: cint; top: cint; bottom: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_num*(sk: ptr stack_st_X509_ALGOR): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_X509_ALGOR_value*(sk: ptr stack_st_X509_ALGOR; idx: cint): ptr X509_ALGOR {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_new*(compare: sk_X509_ALGOR_compfunc): ptr stack_st_X509_ALGOR {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_new_null*(): ptr stack_st_X509_ALGOR {.importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_new_reserve*(compare: sk_X509_ALGOR_compfunc; n: cint): ptr stack_st_X509_ALGOR {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_reserve*(sk: ptr stack_st_X509_ALGOR; n: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_free*(sk: ptr stack_st_X509_ALGOR) {.importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_zero*(sk: ptr stack_st_X509_ALGOR) {.importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_delete*(sk: ptr stack_st_X509_ALGOR; i: cint): ptr X509_ALGOR {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_delete_ptr*(sk: ptr stack_st_X509_ALGOR; `ptr`: ptr X509_ALGOR): ptr X509_ALGOR {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_push*(sk: ptr stack_st_X509_ALGOR; `ptr`: ptr X509_ALGOR): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_unshift*(sk: ptr stack_st_X509_ALGOR; `ptr`: ptr X509_ALGOR): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_pop*(sk: ptr stack_st_X509_ALGOR): ptr X509_ALGOR {.importc, cdecl,
imppkcs7Dyn.}
proc sk_X509_ALGOR_shift*(sk: ptr stack_st_X509_ALGOR): ptr X509_ALGOR {.importc,
cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_pop_free*(sk: ptr stack_st_X509_ALGOR;
freefunc: sk_X509_ALGOR_freefunc) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_X509_ALGOR_insert*(sk: ptr stack_st_X509_ALGOR; `ptr`: ptr X509_ALGOR;
idx: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_set*(sk: ptr stack_st_X509_ALGOR; idx: cint; `ptr`: ptr X509_ALGOR): ptr X509_ALGOR {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_find*(sk: ptr stack_st_X509_ALGOR; `ptr`: ptr X509_ALGOR): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_find_ex*(sk: ptr stack_st_X509_ALGOR; `ptr`: ptr X509_ALGOR): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_sort*(sk: ptr stack_st_X509_ALGOR) {.importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_is_sorted*(sk: ptr stack_st_X509_ALGOR): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_X509_ALGOR_dup*(sk: ptr stack_st_X509_ALGOR): ptr stack_st_X509_ALGOR {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_deep_copy*(sk: ptr stack_st_X509_ALGOR;
copyfunc: sk_X509_ALGOR_copyfunc;
freefunc: sk_X509_ALGOR_freefunc): ptr stack_st_X509_ALGOR {.
importc, cdecl, imppkcs7Dyn.}
proc sk_X509_ALGOR_set_cmp_func*(sk: ptr stack_st_X509_ALGOR;
compare: sk_X509_ALGOR_compfunc): sk_X509_ALGOR_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_num*(sk: ptr stack_st_ASN1_STRING_TABLE): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_value*(sk: ptr stack_st_ASN1_STRING_TABLE; idx: cint): ptr ASN1_STRING_TABLE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_new*(compare: sk_ASN1_STRING_TABLE_compfunc): ptr stack_st_ASN1_STRING_TABLE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_new_null*(): ptr stack_st_ASN1_STRING_TABLE {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_new_reserve*(compare: sk_ASN1_STRING_TABLE_compfunc;
n: cint): ptr stack_st_ASN1_STRING_TABLE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_reserve*(sk: ptr stack_st_ASN1_STRING_TABLE; n: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_free*(sk: ptr stack_st_ASN1_STRING_TABLE) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_zero*(sk: ptr stack_st_ASN1_STRING_TABLE) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_delete*(sk: ptr stack_st_ASN1_STRING_TABLE; i: cint): ptr ASN1_STRING_TABLE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_delete_ptr*(sk: ptr stack_st_ASN1_STRING_TABLE;
`ptr`: ptr ASN1_STRING_TABLE): ptr ASN1_STRING_TABLE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_push*(sk: ptr stack_st_ASN1_STRING_TABLE;
`ptr`: ptr ASN1_STRING_TABLE): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_unshift*(sk: ptr stack_st_ASN1_STRING_TABLE;
`ptr`: ptr ASN1_STRING_TABLE): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_pop*(sk: ptr stack_st_ASN1_STRING_TABLE): ptr ASN1_STRING_TABLE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_shift*(sk: ptr stack_st_ASN1_STRING_TABLE): ptr ASN1_STRING_TABLE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_pop_free*(sk: ptr stack_st_ASN1_STRING_TABLE;
freefunc: sk_ASN1_STRING_TABLE_freefunc) {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_insert*(sk: ptr stack_st_ASN1_STRING_TABLE;
`ptr`: ptr ASN1_STRING_TABLE; idx: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_set*(sk: ptr stack_st_ASN1_STRING_TABLE; idx: cint;
`ptr`: ptr ASN1_STRING_TABLE): ptr ASN1_STRING_TABLE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_find*(sk: ptr stack_st_ASN1_STRING_TABLE;
`ptr`: ptr ASN1_STRING_TABLE): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_find_ex*(sk: ptr stack_st_ASN1_STRING_TABLE;
`ptr`: ptr ASN1_STRING_TABLE): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_sort*(sk: ptr stack_st_ASN1_STRING_TABLE) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_is_sorted*(sk: ptr stack_st_ASN1_STRING_TABLE): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_dup*(sk: ptr stack_st_ASN1_STRING_TABLE): ptr stack_st_ASN1_STRING_TABLE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_deep_copy*(sk: ptr stack_st_ASN1_STRING_TABLE;
copyfunc: sk_ASN1_STRING_TABLE_copyfunc;
freefunc: sk_ASN1_STRING_TABLE_freefunc): ptr stack_st_ASN1_STRING_TABLE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_STRING_TABLE_set_cmp_func*(sk: ptr stack_st_ASN1_STRING_TABLE;
compare: sk_ASN1_STRING_TABLE_compfunc): sk_ASN1_STRING_TABLE_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_num*(sk: ptr stack_st_ASN1_INTEGER): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_INTEGER_value*(sk: ptr stack_st_ASN1_INTEGER; idx: cint): ptr ASN1_INTEGER {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_new*(compare: sk_ASN1_INTEGER_compfunc): ptr stack_st_ASN1_INTEGER {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_new_null*(): ptr stack_st_ASN1_INTEGER {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_INTEGER_new_reserve*(compare: sk_ASN1_INTEGER_compfunc; n: cint): ptr stack_st_ASN1_INTEGER {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_reserve*(sk: ptr stack_st_ASN1_INTEGER; n: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_free*(sk: ptr stack_st_ASN1_INTEGER) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_INTEGER_zero*(sk: ptr stack_st_ASN1_INTEGER) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_INTEGER_delete*(sk: ptr stack_st_ASN1_INTEGER; i: cint): ptr ASN1_INTEGER {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_delete_ptr*(sk: ptr stack_st_ASN1_INTEGER;
`ptr`: ptr ASN1_INTEGER): ptr ASN1_INTEGER {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_push*(sk: ptr stack_st_ASN1_INTEGER; `ptr`: ptr ASN1_INTEGER): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_unshift*(sk: ptr stack_st_ASN1_INTEGER; `ptr`: ptr ASN1_INTEGER): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_pop*(sk: ptr stack_st_ASN1_INTEGER): ptr ASN1_INTEGER {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_shift*(sk: ptr stack_st_ASN1_INTEGER): ptr ASN1_INTEGER {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_pop_free*(sk: ptr stack_st_ASN1_INTEGER;
freefunc: sk_ASN1_INTEGER_freefunc) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_INTEGER_insert*(sk: ptr stack_st_ASN1_INTEGER; `ptr`: ptr ASN1_INTEGER;
idx: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_set*(sk: ptr stack_st_ASN1_INTEGER; idx: cint;
`ptr`: ptr ASN1_INTEGER): ptr ASN1_INTEGER {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_INTEGER_find*(sk: ptr stack_st_ASN1_INTEGER; `ptr`: ptr ASN1_INTEGER): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_find_ex*(sk: ptr stack_st_ASN1_INTEGER; `ptr`: ptr ASN1_INTEGER): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_sort*(sk: ptr stack_st_ASN1_INTEGER) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_INTEGER_is_sorted*(sk: ptr stack_st_ASN1_INTEGER): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_INTEGER_dup*(sk: ptr stack_st_ASN1_INTEGER): ptr stack_st_ASN1_INTEGER {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_deep_copy*(sk: ptr stack_st_ASN1_INTEGER;
copyfunc: sk_ASN1_INTEGER_copyfunc;
freefunc: sk_ASN1_INTEGER_freefunc): ptr stack_st_ASN1_INTEGER {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_INTEGER_set_cmp_func*(sk: ptr stack_st_ASN1_INTEGER;
compare: sk_ASN1_INTEGER_compfunc): sk_ASN1_INTEGER_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_num*(sk: ptr stack_st_ASN1_GENERALSTRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_value*(sk: ptr stack_st_ASN1_GENERALSTRING; idx: cint): ptr ASN1_GENERALSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_new*(compare: sk_ASN1_GENERALSTRING_compfunc): ptr stack_st_ASN1_GENERALSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_new_null*(): ptr stack_st_ASN1_GENERALSTRING {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_new_reserve*(compare: sk_ASN1_GENERALSTRING_compfunc;
n: cint): ptr stack_st_ASN1_GENERALSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_reserve*(sk: ptr stack_st_ASN1_GENERALSTRING; n: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_free*(sk: ptr stack_st_ASN1_GENERALSTRING) {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_zero*(sk: ptr stack_st_ASN1_GENERALSTRING) {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_delete*(sk: ptr stack_st_ASN1_GENERALSTRING; i: cint): ptr ASN1_GENERALSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_delete_ptr*(sk: ptr stack_st_ASN1_GENERALSTRING;
`ptr`: ptr ASN1_GENERALSTRING): ptr ASN1_GENERALSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_push*(sk: ptr stack_st_ASN1_GENERALSTRING;
`ptr`: ptr ASN1_GENERALSTRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_unshift*(sk: ptr stack_st_ASN1_GENERALSTRING;
`ptr`: ptr ASN1_GENERALSTRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_pop*(sk: ptr stack_st_ASN1_GENERALSTRING): ptr ASN1_GENERALSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_shift*(sk: ptr stack_st_ASN1_GENERALSTRING): ptr ASN1_GENERALSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_pop_free*(sk: ptr stack_st_ASN1_GENERALSTRING;
freefunc: sk_ASN1_GENERALSTRING_freefunc) {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_insert*(sk: ptr stack_st_ASN1_GENERALSTRING;
`ptr`: ptr ASN1_GENERALSTRING; idx: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_set*(sk: ptr stack_st_ASN1_GENERALSTRING; idx: cint;
`ptr`: ptr ASN1_GENERALSTRING): ptr ASN1_GENERALSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_find*(sk: ptr stack_st_ASN1_GENERALSTRING;
`ptr`: ptr ASN1_GENERALSTRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_find_ex*(sk: ptr stack_st_ASN1_GENERALSTRING;
`ptr`: ptr ASN1_GENERALSTRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_sort*(sk: ptr stack_st_ASN1_GENERALSTRING) {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_is_sorted*(sk: ptr stack_st_ASN1_GENERALSTRING): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_dup*(sk: ptr stack_st_ASN1_GENERALSTRING): ptr stack_st_ASN1_GENERALSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_deep_copy*(sk: ptr stack_st_ASN1_GENERALSTRING;
copyfunc: sk_ASN1_GENERALSTRING_copyfunc;
freefunc: sk_ASN1_GENERALSTRING_freefunc): ptr stack_st_ASN1_GENERALSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_GENERALSTRING_set_cmp_func*(sk: ptr stack_st_ASN1_GENERALSTRING;
compare: sk_ASN1_GENERALSTRING_compfunc): sk_ASN1_GENERALSTRING_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_num*(sk: ptr stack_st_ASN1_UTF8STRING): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_value*(sk: ptr stack_st_ASN1_UTF8STRING; idx: cint): ptr ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_new*(compare: sk_ASN1_UTF8STRING_compfunc): ptr stack_st_ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_new_null*(): ptr stack_st_ASN1_UTF8STRING {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_new_reserve*(compare: sk_ASN1_UTF8STRING_compfunc; n: cint): ptr stack_st_ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_reserve*(sk: ptr stack_st_ASN1_UTF8STRING; n: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_free*(sk: ptr stack_st_ASN1_UTF8STRING) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_zero*(sk: ptr stack_st_ASN1_UTF8STRING) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_delete*(sk: ptr stack_st_ASN1_UTF8STRING; i: cint): ptr ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_delete_ptr*(sk: ptr stack_st_ASN1_UTF8STRING;
`ptr`: ptr ASN1_UTF8STRING): ptr ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_push*(sk: ptr stack_st_ASN1_UTF8STRING;
`ptr`: ptr ASN1_UTF8STRING): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_unshift*(sk: ptr stack_st_ASN1_UTF8STRING;
`ptr`: ptr ASN1_UTF8STRING): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_pop*(sk: ptr stack_st_ASN1_UTF8STRING): ptr ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_shift*(sk: ptr stack_st_ASN1_UTF8STRING): ptr ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_pop_free*(sk: ptr stack_st_ASN1_UTF8STRING;
freefunc: sk_ASN1_UTF8STRING_freefunc) {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_insert*(sk: ptr stack_st_ASN1_UTF8STRING;
`ptr`: ptr ASN1_UTF8STRING; idx: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_set*(sk: ptr stack_st_ASN1_UTF8STRING; idx: cint;
`ptr`: ptr ASN1_UTF8STRING): ptr ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_find*(sk: ptr stack_st_ASN1_UTF8STRING;
`ptr`: ptr ASN1_UTF8STRING): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_find_ex*(sk: ptr stack_st_ASN1_UTF8STRING;
`ptr`: ptr ASN1_UTF8STRING): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_sort*(sk: ptr stack_st_ASN1_UTF8STRING) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_is_sorted*(sk: ptr stack_st_ASN1_UTF8STRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_dup*(sk: ptr stack_st_ASN1_UTF8STRING): ptr stack_st_ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_deep_copy*(sk: ptr stack_st_ASN1_UTF8STRING;
copyfunc: sk_ASN1_UTF8STRING_copyfunc;
freefunc: sk_ASN1_UTF8STRING_freefunc): ptr stack_st_ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_UTF8STRING_set_cmp_func*(sk: ptr stack_st_ASN1_UTF8STRING;
compare: sk_ASN1_UTF8STRING_compfunc): sk_ASN1_UTF8STRING_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_num*(sk: ptr stack_st_ASN1_TYPE): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_value*(sk: ptr stack_st_ASN1_TYPE; idx: cint): ptr ASN1_TYPE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_new*(compare: sk_ASN1_TYPE_compfunc): ptr stack_st_ASN1_TYPE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_new_null*(): ptr stack_st_ASN1_TYPE {.importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_new_reserve*(compare: sk_ASN1_TYPE_compfunc; n: cint): ptr stack_st_ASN1_TYPE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_reserve*(sk: ptr stack_st_ASN1_TYPE; n: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_TYPE_free*(sk: ptr stack_st_ASN1_TYPE) {.importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_zero*(sk: ptr stack_st_ASN1_TYPE) {.importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_delete*(sk: ptr stack_st_ASN1_TYPE; i: cint): ptr ASN1_TYPE {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_delete_ptr*(sk: ptr stack_st_ASN1_TYPE; `ptr`: ptr ASN1_TYPE): ptr ASN1_TYPE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_push*(sk: ptr stack_st_ASN1_TYPE; `ptr`: ptr ASN1_TYPE): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_unshift*(sk: ptr stack_st_ASN1_TYPE; `ptr`: ptr ASN1_TYPE): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_pop*(sk: ptr stack_st_ASN1_TYPE): ptr ASN1_TYPE {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_TYPE_shift*(sk: ptr stack_st_ASN1_TYPE): ptr ASN1_TYPE {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_TYPE_pop_free*(sk: ptr stack_st_ASN1_TYPE;
freefunc: sk_ASN1_TYPE_freefunc) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_TYPE_insert*(sk: ptr stack_st_ASN1_TYPE; `ptr`: ptr ASN1_TYPE; idx: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_set*(sk: ptr stack_st_ASN1_TYPE; idx: cint; `ptr`: ptr ASN1_TYPE): ptr ASN1_TYPE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_find*(sk: ptr stack_st_ASN1_TYPE; `ptr`: ptr ASN1_TYPE): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_find_ex*(sk: ptr stack_st_ASN1_TYPE; `ptr`: ptr ASN1_TYPE): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_sort*(sk: ptr stack_st_ASN1_TYPE) {.importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_is_sorted*(sk: ptr stack_st_ASN1_TYPE): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_TYPE_dup*(sk: ptr stack_st_ASN1_TYPE): ptr stack_st_ASN1_TYPE {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_deep_copy*(sk: ptr stack_st_ASN1_TYPE;
copyfunc: sk_ASN1_TYPE_copyfunc;
freefunc: sk_ASN1_TYPE_freefunc): ptr stack_st_ASN1_TYPE {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_TYPE_set_cmp_func*(sk: ptr stack_st_ASN1_TYPE;
compare: sk_ASN1_TYPE_compfunc): sk_ASN1_TYPE_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_SEQUENCE_ANY*(a: ptr ptr ASN1_SEQUENCE_ANY; `in`: ptr ptr cuchar;
len: clong): ptr ASN1_SEQUENCE_ANY {.importc, cdecl,
imppkcs7Dyn.}
proc i2d_ASN1_SEQUENCE_ANY*(a: ptr ASN1_SEQUENCE_ANY; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_SET_ANY*(a: ptr ptr ASN1_SEQUENCE_ANY; `in`: ptr ptr cuchar; len: clong): ptr ASN1_SEQUENCE_ANY {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_SET_ANY*(a: ptr ASN1_SEQUENCE_ANY; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_TYPE_new*(): ptr ASN1_TYPE {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_TYPE_free*(a: ptr ASN1_TYPE) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_TYPE*(a: ptr ptr ASN1_TYPE; `in`: ptr ptr cuchar; len: clong): ptr ASN1_TYPE {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_TYPE*(a: ptr ASN1_TYPE; `out`: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_TYPE_get*(a: ptr ASN1_TYPE): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_TYPE_set*(a: ptr ASN1_TYPE; `type`: cint; value: pointer) {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_TYPE_set1*(a: ptr ASN1_TYPE; `type`: cint; value: pointer): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_TYPE_cmp*(a: ptr ASN1_TYPE; b: ptr ASN1_TYPE): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_TYPE_pack_sequence*(it: ptr ASN1_ITEM; s: pointer; t: ptr ptr ASN1_TYPE): ptr ASN1_TYPE {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_TYPE_unpack_sequence*(it: ptr ASN1_ITEM; t: ptr ASN1_TYPE): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_OBJECT_new*(): ptr ASN1_OBJECT {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_OBJECT_free*(a: ptr ASN1_OBJECT) {.importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_OBJECT*(a: ptr ASN1_OBJECT; pp: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc d2i_ASN1_OBJECT*(a: ptr ptr ASN1_OBJECT; pp: ptr ptr cuchar; length: clong): ptr ASN1_OBJECT {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_num*(sk: ptr stack_st_ASN1_OBJECT): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_OBJECT_value*(sk: ptr stack_st_ASN1_OBJECT; idx: cint): ptr ASN1_OBJECT {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_new*(compare: sk_ASN1_OBJECT_compfunc): ptr stack_st_ASN1_OBJECT {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_new_null*(): ptr stack_st_ASN1_OBJECT {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_OBJECT_new_reserve*(compare: sk_ASN1_OBJECT_compfunc; n: cint): ptr stack_st_ASN1_OBJECT {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_reserve*(sk: ptr stack_st_ASN1_OBJECT; n: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_free*(sk: ptr stack_st_ASN1_OBJECT) {.importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_zero*(sk: ptr stack_st_ASN1_OBJECT) {.importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_delete*(sk: ptr stack_st_ASN1_OBJECT; i: cint): ptr ASN1_OBJECT {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_delete_ptr*(sk: ptr stack_st_ASN1_OBJECT; `ptr`: ptr ASN1_OBJECT): ptr ASN1_OBJECT {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_push*(sk: ptr stack_st_ASN1_OBJECT; `ptr`: ptr ASN1_OBJECT): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_unshift*(sk: ptr stack_st_ASN1_OBJECT; `ptr`: ptr ASN1_OBJECT): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_pop*(sk: ptr stack_st_ASN1_OBJECT): ptr ASN1_OBJECT {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_shift*(sk: ptr stack_st_ASN1_OBJECT): ptr ASN1_OBJECT {.importc,
cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_pop_free*(sk: ptr stack_st_ASN1_OBJECT;
freefunc: sk_ASN1_OBJECT_freefunc) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_OBJECT_insert*(sk: ptr stack_st_ASN1_OBJECT; `ptr`: ptr ASN1_OBJECT;
idx: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_set*(sk: ptr stack_st_ASN1_OBJECT; idx: cint;
`ptr`: ptr ASN1_OBJECT): ptr ASN1_OBJECT {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_OBJECT_find*(sk: ptr stack_st_ASN1_OBJECT; `ptr`: ptr ASN1_OBJECT): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_find_ex*(sk: ptr stack_st_ASN1_OBJECT; `ptr`: ptr ASN1_OBJECT): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_sort*(sk: ptr stack_st_ASN1_OBJECT) {.importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_is_sorted*(sk: ptr stack_st_ASN1_OBJECT): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_ASN1_OBJECT_dup*(sk: ptr stack_st_ASN1_OBJECT): ptr stack_st_ASN1_OBJECT {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_deep_copy*(sk: ptr stack_st_ASN1_OBJECT;
copyfunc: sk_ASN1_OBJECT_copyfunc;
freefunc: sk_ASN1_OBJECT_freefunc): ptr stack_st_ASN1_OBJECT {.
importc, cdecl, imppkcs7Dyn.}
proc sk_ASN1_OBJECT_set_cmp_func*(sk: ptr stack_st_ASN1_OBJECT;
compare: sk_ASN1_OBJECT_compfunc): sk_ASN1_OBJECT_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_new*(): ptr ASN1_STRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_free*(a: ptr ASN1_STRING) {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_clear_free*(a: ptr ASN1_STRING) {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_copy*(dst: ptr ASN1_STRING; str: ptr ASN1_STRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_STRING_dup*(a: ptr ASN1_STRING): ptr ASN1_STRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_type_new*(`type`: cint): ptr ASN1_STRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_cmp*(a: ptr ASN1_STRING; b: ptr ASN1_STRING): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_STRING_set*(str: ptr ASN1_STRING; data: pointer; len: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_STRING_set0*(str: ptr ASN1_STRING; data: pointer; len: cint) {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_STRING_length*(x: ptr ASN1_STRING): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_length_set*(x: ptr ASN1_STRING; n: cint) {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_type*(x: ptr ASN1_STRING): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_data*(x: ptr ASN1_STRING): ptr cuchar {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_get0_data*(x: ptr ASN1_STRING): ptr cuchar {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_BIT_STRING_new*(): ptr ASN1_BIT_STRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_BIT_STRING_free*(a: ptr ASN1_BIT_STRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_BIT_STRING*(a: ptr ptr ASN1_BIT_STRING; `in`: ptr ptr cuchar; len: clong): ptr ASN1_BIT_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_BIT_STRING*(a: ptr ASN1_BIT_STRING; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_BIT_STRING_set*(a: ptr ASN1_BIT_STRING; d: ptr cuchar; length: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_BIT_STRING_set_bit*(a: ptr ASN1_BIT_STRING; n: cint; value: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_BIT_STRING_get_bit*(a: ptr ASN1_BIT_STRING; n: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_BIT_STRING_check*(a: ptr ASN1_BIT_STRING; flags: ptr cuchar; flags_len: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_BIT_STRING_name_print*(`out`: ptr BIO; bs: ptr ASN1_BIT_STRING;
tbl: ptr BIT_STRING_BITNAME; indent: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_BIT_STRING_num_asc*(name: cstring; tbl: ptr BIT_STRING_BITNAME): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_BIT_STRING_set_asc*(bs: ptr ASN1_BIT_STRING; name: cstring; value: cint;
tbl: ptr BIT_STRING_BITNAME): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_INTEGER_new*(): ptr ASN1_INTEGER {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_INTEGER_free*(a: ptr ASN1_INTEGER) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_INTEGER*(a: ptr ptr ASN1_INTEGER; `in`: ptr ptr cuchar; len: clong): ptr ASN1_INTEGER {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_INTEGER*(a: ptr ASN1_INTEGER; `out`: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc d2i_ASN1_UINTEGER*(a: ptr ptr ASN1_INTEGER; pp: ptr ptr cuchar; length: clong): ptr ASN1_INTEGER {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_INTEGER_dup*(x: ptr ASN1_INTEGER): ptr ASN1_INTEGER {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_INTEGER_cmp*(x: ptr ASN1_INTEGER; y: ptr ASN1_INTEGER): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_ENUMERATED_new*(): ptr ASN1_ENUMERATED {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_ENUMERATED_free*(a: ptr ASN1_ENUMERATED) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_ENUMERATED*(a: ptr ptr ASN1_ENUMERATED; `in`: ptr ptr cuchar; len: clong): ptr ASN1_ENUMERATED {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_ENUMERATED*(a: ptr ASN1_ENUMERATED; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_UTCTIME_check*(a: ptr ASN1_UTCTIME): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_UTCTIME_set*(s: ptr ASN1_UTCTIME; t: time_t): ptr ASN1_UTCTIME {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_UTCTIME_adj*(s: ptr ASN1_UTCTIME; t: time_t; offset_day: cint;
offset_sec: clong): ptr ASN1_UTCTIME {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_UTCTIME_set_string*(s: ptr ASN1_UTCTIME; str: cstring): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_UTCTIME_cmp_time_t*(s: ptr ASN1_UTCTIME; t: time_t): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_GENERALIZEDTIME_check*(a: ptr ASN1_GENERALIZEDTIME): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_GENERALIZEDTIME_set*(s: ptr ASN1_GENERALIZEDTIME; t: time_t): ptr ASN1_GENERALIZEDTIME {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_GENERALIZEDTIME_adj*(s: ptr ASN1_GENERALIZEDTIME; t: time_t;
offset_day: cint; offset_sec: clong): ptr ASN1_GENERALIZEDTIME {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_GENERALIZEDTIME_set_string*(s: ptr ASN1_GENERALIZEDTIME; str: cstring): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_TIME_diff*(pday: ptr cint; psec: ptr cint; `from`: ptr ASN1_TIME;
to: ptr ASN1_TIME): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_OCTET_STRING_new*(): ptr ASN1_OCTET_STRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_OCTET_STRING_free*(a: ptr ASN1_OCTET_STRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_OCTET_STRING*(a: ptr ptr ASN1_OCTET_STRING; `in`: ptr ptr cuchar;
len: clong): ptr ASN1_OCTET_STRING {.importc, cdecl,
imppkcs7Dyn.}
proc i2d_ASN1_OCTET_STRING*(a: ptr ASN1_OCTET_STRING; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_OCTET_STRING_dup*(a: ptr ASN1_OCTET_STRING): ptr ASN1_OCTET_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_OCTET_STRING_cmp*(a: ptr ASN1_OCTET_STRING; b: ptr ASN1_OCTET_STRING): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_OCTET_STRING_set*(str: ptr ASN1_OCTET_STRING; data: ptr cuchar; len: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_VISIBLESTRING_new*(): ptr ASN1_VISIBLESTRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_VISIBLESTRING_free*(a: ptr ASN1_VISIBLESTRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_VISIBLESTRING*(a: ptr ptr ASN1_VISIBLESTRING; `in`: ptr ptr cuchar;
len: clong): ptr ASN1_VISIBLESTRING {.importc, cdecl,
imppkcs7Dyn.}
proc i2d_ASN1_VISIBLESTRING*(a: ptr ASN1_VISIBLESTRING; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_UNIVERSALSTRING_new*(): ptr ASN1_UNIVERSALSTRING {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_UNIVERSALSTRING_free*(a: ptr ASN1_UNIVERSALSTRING) {.importc, cdecl,
imppkcs7Dyn.}
proc d2i_ASN1_UNIVERSALSTRING*(a: ptr ptr ASN1_UNIVERSALSTRING; `in`: ptr ptr cuchar;
len: clong): ptr ASN1_UNIVERSALSTRING {.importc, cdecl,
imppkcs7Dyn.}
proc i2d_ASN1_UNIVERSALSTRING*(a: ptr ASN1_UNIVERSALSTRING; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_UTF8STRING_new*(): ptr ASN1_UTF8STRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_UTF8STRING_free*(a: ptr ASN1_UTF8STRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_UTF8STRING*(a: ptr ptr ASN1_UTF8STRING; `in`: ptr ptr cuchar; len: clong): ptr ASN1_UTF8STRING {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_UTF8STRING*(a: ptr ASN1_UTF8STRING; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_NULL_new*(): ptr ASN1_NULL {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_NULL_free*(a: ptr ASN1_NULL) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_NULL*(a: ptr ptr ASN1_NULL; `in`: ptr ptr cuchar; len: clong): ptr ASN1_NULL {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_NULL*(a: ptr ASN1_NULL; `out`: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_BMPSTRING_new*(): ptr ASN1_BMPSTRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_BMPSTRING_free*(a: ptr ASN1_BMPSTRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_BMPSTRING*(a: ptr ptr ASN1_BMPSTRING; `in`: ptr ptr cuchar; len: clong): ptr ASN1_BMPSTRING {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_BMPSTRING*(a: ptr ASN1_BMPSTRING; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc UTF8_getc*(str: ptr cuchar; len: cint; val: ptr culong): cint {.importc, cdecl,
imppkcs7Dyn.}
proc UTF8_putc*(str: ptr cuchar; len: cint; value: culong): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_PRINTABLE_new*(): ptr ASN1_STRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_PRINTABLE_free*(a: ptr ASN1_STRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_PRINTABLE*(a: ptr ptr ASN1_STRING; `in`: ptr ptr cuchar; len: clong): ptr ASN1_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_PRINTABLE*(a: ptr ASN1_STRING; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc DIRECTORYSTRING_new*(): ptr ASN1_STRING {.importc, cdecl, imppkcs7Dyn.}
proc DIRECTORYSTRING_free*(a: ptr ASN1_STRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_DIRECTORYSTRING*(a: ptr ptr ASN1_STRING; `in`: ptr ptr cuchar; len: clong): ptr ASN1_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_DIRECTORYSTRING*(a: ptr ASN1_STRING; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc DISPLAYTEXT_new*(): ptr ASN1_STRING {.importc, cdecl, imppkcs7Dyn.}
proc DISPLAYTEXT_free*(a: ptr ASN1_STRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_DISPLAYTEXT*(a: ptr ptr ASN1_STRING; `in`: ptr ptr cuchar; len: clong): ptr ASN1_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_DISPLAYTEXT*(a: ptr ASN1_STRING; `out`: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_PRINTABLESTRING_new*(): ptr ASN1_PRINTABLESTRING {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_PRINTABLESTRING_free*(a: ptr ASN1_PRINTABLESTRING) {.importc, cdecl,
imppkcs7Dyn.}
proc d2i_ASN1_PRINTABLESTRING*(a: ptr ptr ASN1_PRINTABLESTRING; `in`: ptr ptr cuchar;
len: clong): ptr ASN1_PRINTABLESTRING {.importc, cdecl,
imppkcs7Dyn.}
proc i2d_ASN1_PRINTABLESTRING*(a: ptr ASN1_PRINTABLESTRING; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_T61STRING_new*(): ptr ASN1_T61STRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_T61STRING_free*(a: ptr ASN1_T61STRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_T61STRING*(a: ptr ptr ASN1_T61STRING; `in`: ptr ptr cuchar; len: clong): ptr ASN1_T61STRING {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_T61STRING*(a: ptr ASN1_T61STRING; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_IA5STRING_new*(): ptr ASN1_IA5STRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_IA5STRING_free*(a: ptr ASN1_IA5STRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_IA5STRING*(a: ptr ptr ASN1_IA5STRING; `in`: ptr ptr cuchar; len: clong): ptr ASN1_IA5STRING {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_IA5STRING*(a: ptr ASN1_IA5STRING; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_GENERALSTRING_new*(): ptr ASN1_GENERALSTRING {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_GENERALSTRING_free*(a: ptr ASN1_GENERALSTRING) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_GENERALSTRING*(a: ptr ptr ASN1_GENERALSTRING; `in`: ptr ptr cuchar;
len: clong): ptr ASN1_GENERALSTRING {.importc, cdecl,
imppkcs7Dyn.}
proc i2d_ASN1_GENERALSTRING*(a: ptr ASN1_GENERALSTRING; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_UTCTIME_new*(): ptr ASN1_UTCTIME {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_UTCTIME_free*(a: ptr ASN1_UTCTIME) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_UTCTIME*(a: ptr ptr ASN1_UTCTIME; `in`: ptr ptr cuchar; len: clong): ptr ASN1_UTCTIME {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_UTCTIME*(a: ptr ASN1_UTCTIME; `out`: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_GENERALIZEDTIME_new*(): ptr ASN1_GENERALIZEDTIME {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_GENERALIZEDTIME_free*(a: ptr ASN1_GENERALIZEDTIME) {.importc, cdecl,
imppkcs7Dyn.}
proc d2i_ASN1_GENERALIZEDTIME*(a: ptr ptr ASN1_GENERALIZEDTIME; `in`: ptr ptr cuchar;
len: clong): ptr ASN1_GENERALIZEDTIME {.importc, cdecl,
imppkcs7Dyn.}
proc i2d_ASN1_GENERALIZEDTIME*(a: ptr ASN1_GENERALIZEDTIME; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_TIME_new*(): ptr ASN1_TIME {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_TIME_free*(a: ptr ASN1_TIME) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_ASN1_TIME*(a: ptr ptr ASN1_TIME; `in`: ptr ptr cuchar; len: clong): ptr ASN1_TIME {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_TIME*(a: ptr ASN1_TIME; `out`: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_TIME_set*(s: ptr ASN1_TIME; t: time_t): ptr ASN1_TIME {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_TIME_adj*(s: ptr ASN1_TIME; t: time_t; offset_day: cint; offset_sec: clong): ptr ASN1_TIME {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_TIME_check*(t: ptr ASN1_TIME): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_TIME_to_generalizedtime*(t: ptr ASN1_TIME;
`out`: ptr ptr ASN1_GENERALIZEDTIME): ptr ASN1_GENERALIZEDTIME {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_TIME_set_string*(s: ptr ASN1_TIME; str: cstring): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_TIME_set_string_X509*(s: ptr ASN1_TIME; str: cstring): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_TIME_to_tm*(s: ptr ASN1_TIME; tm: ptr tm): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_TIME_normalize*(s: ptr ASN1_TIME): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_TIME_cmp_time_t*(s: ptr ASN1_TIME; t: time_t): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_TIME_compare*(a: ptr ASN1_TIME; b: ptr ASN1_TIME): cint {.importc, cdecl,
imppkcs7Dyn.}
proc i2a_ASN1_INTEGER*(bp: ptr BIO; a: ptr ASN1_INTEGER): cint {.importc, cdecl,
imppkcs7Dyn.}
proc a2i_ASN1_INTEGER*(bp: ptr BIO; bs: ptr ASN1_INTEGER; buf: cstring; size: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc i2a_ASN1_ENUMERATED*(bp: ptr BIO; a: ptr ASN1_ENUMERATED): cint {.importc, cdecl,
imppkcs7Dyn.}
proc a2i_ASN1_ENUMERATED*(bp: ptr BIO; bs: ptr ASN1_ENUMERATED; buf: cstring; size: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc i2a_ASN1_OBJECT*(bp: ptr BIO; a: ptr ASN1_OBJECT): cint {.importc, cdecl, imppkcs7Dyn.}
proc a2i_ASN1_STRING*(bp: ptr BIO; bs: ptr ASN1_STRING; buf: cstring; size: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc i2a_ASN1_STRING*(bp: ptr BIO; a: ptr ASN1_STRING; `type`: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc i2t_ASN1_OBJECT*(buf: cstring; buf_len: cint; a: ptr ASN1_OBJECT): cint {.importc,
cdecl, imppkcs7Dyn.}
proc a2d_ASN1_OBJECT*(`out`: ptr cuchar; olen: cint; buf: cstring; num: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_OBJECT_create*(nid: cint; data: ptr cuchar; len: cint; sn: cstring; ln: cstring): ptr ASN1_OBJECT {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_INTEGER_get_int64*(pr: ptr int64; a: ptr ASN1_INTEGER): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_INTEGER_set_int64*(a: ptr ASN1_INTEGER; r: int64): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_INTEGER_get_uint64*(pr: ptr uint64; a: ptr ASN1_INTEGER): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_INTEGER_set_uint64*(a: ptr ASN1_INTEGER; r: uint64): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_INTEGER_set*(a: ptr ASN1_INTEGER; v: clong): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_INTEGER_get*(a: ptr ASN1_INTEGER): clong {.importc, cdecl, imppkcs7Dyn.}
proc BN_to_ASN1_INTEGER*(bn: ptr BIGNUM; ai: ptr ASN1_INTEGER): ptr ASN1_INTEGER {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_INTEGER_to_BN*(ai: ptr ASN1_INTEGER; bn: ptr BIGNUM): ptr BIGNUM {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_ENUMERATED_get_int64*(pr: ptr int64; a: ptr ASN1_ENUMERATED): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_ENUMERATED_set_int64*(a: ptr ASN1_ENUMERATED; r: int64): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_ENUMERATED_set*(a: ptr ASN1_ENUMERATED; v: clong): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_ENUMERATED_get*(a: ptr ASN1_ENUMERATED): clong {.importc, cdecl, imppkcs7Dyn.}
proc BN_to_ASN1_ENUMERATED*(bn: ptr BIGNUM; ai: ptr ASN1_ENUMERATED): ptr ASN1_ENUMERATED {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_ENUMERATED_to_BN*(ai: ptr ASN1_ENUMERATED; bn: ptr BIGNUM): ptr BIGNUM {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_PRINTABLE_type*(s: ptr cuchar; max: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_tag2bit*(tag: cint): culong {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_get_object*(pp: ptr ptr cuchar; plength: ptr clong; ptag: ptr cint;
pclass: ptr cint; omax: clong): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_check_infinite_end*(p: ptr ptr cuchar; len: clong): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_const_check_infinite_end*(p: ptr ptr cuchar; len: clong): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_put_object*(pp: ptr ptr cuchar; constructed: cint; length: cint; tag: cint;
xclass: cint) {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_put_eoc*(pp: ptr ptr cuchar): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_object_size*(constructed: cint; length: cint; tag: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_dup*(i2d: ptr i2d_of_void; d2i: ptr d2i_of_void; x: pointer): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_item_dup*(it: ptr ASN1_ITEM; x: pointer): pointer {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_d2i_fp*(xnew: proc (): pointer {.cdecl.}; d2i: ptr d2i_of_void; `in`: File;
x: ptr pointer): pointer {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_item_d2i_fp*(it: ptr ASN1_ITEM; `in`: File; x: pointer): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_i2d_fp*(i2d: ptr i2d_of_void; `out`: File; x: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_item_i2d_fp*(it: ptr ASN1_ITEM; `out`: File; x: pointer): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_STRING_print_ex_fp*(fp: File; str: ptr ASN1_STRING; flags: culong): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_to_UTF8*(`out`: ptr ptr cuchar; `in`: ptr ASN1_STRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_d2i_bio*(xnew: proc (): pointer {.cdecl.}; d2i: ptr d2i_of_void; `in`: ptr BIO;
x: ptr pointer): pointer {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_item_d2i_bio*(it: ptr ASN1_ITEM; `in`: ptr BIO; x: pointer): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_i2d_bio*(i2d: ptr i2d_of_void; `out`: ptr BIO; x: ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_item_i2d_bio*(it: ptr ASN1_ITEM; `out`: ptr BIO; x: pointer): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_UTCTIME_print*(fp: ptr BIO; a: ptr ASN1_UTCTIME): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_GENERALIZEDTIME_print*(fp: ptr BIO; a: ptr ASN1_GENERALIZEDTIME): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_TIME_print*(fp: ptr BIO; a: ptr ASN1_TIME): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_print*(bp: ptr BIO; v: ptr ASN1_STRING): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_STRING_print_ex*(`out`: ptr BIO; str: ptr ASN1_STRING; flags: culong): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_buf_print*(bp: ptr BIO; buf: ptr cuchar; buflen: uint; off: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_bn_print*(bp: ptr BIO; number: cstring; num: ptr BIGNUM; buf: ptr cuchar;
off: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_parse*(bp: ptr BIO; pp: ptr cuchar; len: clong; indent: cint): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_parse_dump*(bp: ptr BIO; pp: ptr cuchar; len: clong; indent: cint; dump: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_tag2str*(tag: cint): cstring {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_UNIVERSALSTRING_to_string*(s: ptr ASN1_UNIVERSALSTRING): cint {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_TYPE_set_octetstring*(a: ptr ASN1_TYPE; data: ptr cuchar; len: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_TYPE_get_octetstring*(a: ptr ASN1_TYPE; data: ptr cuchar; max_len: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_TYPE_set_int_octetstring*(a: ptr ASN1_TYPE; num: clong; data: ptr cuchar;
len: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_TYPE_get_int_octetstring*(a: ptr ASN1_TYPE; num: ptr clong; data: ptr cuchar;
max_len: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_item_unpack*(oct: ptr ASN1_STRING; it: ptr ASN1_ITEM): pointer {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_item_pack*(obj: pointer; it: ptr ASN1_ITEM; oct: ptr ptr ASN1_OCTET_STRING): ptr ASN1_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_set_default_mask*(mask: culong) {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_set_default_mask_asc*(p: cstring): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_get_default_mask*(): culong {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_mbstring_copy*(`out`: ptr ptr ASN1_STRING; `in`: ptr cuchar; len: cint;
inform: cint; mask: culong): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_mbstring_ncopy*(`out`: ptr ptr ASN1_STRING; `in`: ptr cuchar; len: cint;
inform: cint; mask: culong; minsize: clong; maxsize: clong): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_set_by_NID*(`out`: ptr ptr ASN1_STRING; `in`: ptr cuchar; inlen: cint;
inform: cint; nid: cint): ptr ASN1_STRING {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_STRING_TABLE_get*(nid: cint): ptr ASN1_STRING_TABLE {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_STRING_TABLE_add*(a1: cint; a2: clong; a3: clong; a4: culong; a5: culong): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_STRING_TABLE_cleanup*() {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_item_new*(it: ptr ASN1_ITEM): ptr ASN1_VALUE {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_item_free*(val: ptr ASN1_VALUE; it: ptr ASN1_ITEM) {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_item_d2i*(val: ptr ptr ASN1_VALUE; `in`: ptr ptr cuchar; len: clong;
it: ptr ASN1_ITEM): ptr ASN1_VALUE {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_item_i2d*(val: ptr ASN1_VALUE; `out`: ptr ptr cuchar; it: ptr ASN1_ITEM): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_item_ndef_i2d*(val: ptr ASN1_VALUE; `out`: ptr ptr cuchar; it: ptr ASN1_ITEM): cint {.
importc, cdecl, imppkcs7Dyn.}
proc ASN1_add_oid_module*() {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_add_stable_module*() {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_generate_nconf*(str: cstring; nconf: ptr CONF): ptr ASN1_TYPE {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_generate_v3*(str: cstring; cnf: ptr X509V3_CTX): ptr ASN1_TYPE {.importc,
cdecl, imppkcs7Dyn.}
proc ASN1_str2mask*(str: cstring; pmask: ptr culong): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_item_print*(`out`: ptr BIO; ifld: ptr ASN1_VALUE; indent: cint;
it: ptr ASN1_ITEM; pctx: ptr ASN1_PCTX): cint {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_PCTX_new*(): ptr ASN1_PCTX {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_PCTX_free*(p: ptr ASN1_PCTX) {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_PCTX_get_flags*(p: ptr ASN1_PCTX): culong {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_PCTX_set_flags*(p: ptr ASN1_PCTX; flags: culong) {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_PCTX_get_nm_flags*(p: ptr ASN1_PCTX): culong {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_PCTX_set_nm_flags*(p: ptr ASN1_PCTX; flags: culong) {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_PCTX_get_cert_flags*(p: ptr ASN1_PCTX): culong {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_PCTX_set_cert_flags*(p: ptr ASN1_PCTX; flags: culong) {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_PCTX_get_oid_flags*(p: ptr ASN1_PCTX): culong {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_PCTX_set_oid_flags*(p: ptr ASN1_PCTX; flags: culong) {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_PCTX_get_str_flags*(p: ptr ASN1_PCTX): culong {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_PCTX_set_str_flags*(p: ptr ASN1_PCTX; flags: culong) {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_SCTX_free*(p: ptr ASN1_SCTX) {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_SCTX_get_item*(p: ptr ASN1_SCTX): ptr ASN1_ITEM {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_SCTX_get_template*(p: ptr ASN1_SCTX): ptr ASN1_TEMPLATE {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_SCTX_get_flags*(p: ptr ASN1_SCTX): culong {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_SCTX_set_app_data*(p: ptr ASN1_SCTX; data: pointer) {.importc, cdecl,
imppkcs7Dyn.}
proc ASN1_SCTX_get_app_data*(p: ptr ASN1_SCTX): pointer {.importc, cdecl, imppkcs7Dyn.}
proc BIO_f_asn1*(): ptr BIO_METHOD {.importc, cdecl, imppkcs7Dyn.}
proc BIO_new_NDEF*(`out`: ptr BIO; val: ptr ASN1_VALUE; it: ptr ASN1_ITEM): ptr BIO {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_ASN1_bio_stream*(`out`: ptr BIO; val: ptr ASN1_VALUE; `in`: ptr BIO; flags: cint;
it: ptr ASN1_ITEM): cint {.importc, cdecl, imppkcs7Dyn.}
proc PEM_write_bio_ASN1_stream*(`out`: ptr BIO; val: ptr ASN1_VALUE; `in`: ptr BIO;
flags: cint; hdr: cstring; it: ptr ASN1_ITEM): cint {.
importc, cdecl, imppkcs7Dyn.}
proc SMIME_write_ASN1*(bio: ptr BIO; val: ptr ASN1_VALUE; data: ptr BIO; flags: cint;
ctype_nid: cint; econt_nid: cint;
mdalgs: ptr stack_st_X509_ALGOR; it: ptr ASN1_ITEM): cint {.
importc, cdecl, imppkcs7Dyn.}
proc SMIME_read_ASN1*(bio: ptr BIO; bcont: ptr ptr BIO; it: ptr ASN1_ITEM): ptr ASN1_VALUE {.
importc, cdecl, imppkcs7Dyn.}
proc SMIME_crlf_copy*(`in`: ptr BIO; `out`: ptr BIO; flags: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc SMIME_text*(`in`: ptr BIO; `out`: ptr BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_ITEM_lookup*(name: cstring): ptr ASN1_ITEM {.importc, cdecl, imppkcs7Dyn.}
proc ASN1_ITEM_get*(i: uint): ptr ASN1_ITEM {.importc, cdecl, imppkcs7Dyn.}
proc ERR_load_PKCS7_strings*(): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_num*(sk: ptr stack_st_PKCS7_SIGNER_INFO): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_value*(sk: ptr stack_st_PKCS7_SIGNER_INFO; idx: cint): ptr PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_new*(compare: sk_PKCS7_SIGNER_INFO_compfunc): ptr stack_st_PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_new_null*(): ptr stack_st_PKCS7_SIGNER_INFO {.importc,
cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_new_reserve*(compare: sk_PKCS7_SIGNER_INFO_compfunc;
n: cint): ptr stack_st_PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_reserve*(sk: ptr stack_st_PKCS7_SIGNER_INFO; n: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_free*(sk: ptr stack_st_PKCS7_SIGNER_INFO) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_zero*(sk: ptr stack_st_PKCS7_SIGNER_INFO) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_delete*(sk: ptr stack_st_PKCS7_SIGNER_INFO; i: cint): ptr PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_delete_ptr*(sk: ptr stack_st_PKCS7_SIGNER_INFO;
`ptr`: ptr PKCS7_SIGNER_INFO): ptr PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_push*(sk: ptr stack_st_PKCS7_SIGNER_INFO;
`ptr`: ptr PKCS7_SIGNER_INFO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_unshift*(sk: ptr stack_st_PKCS7_SIGNER_INFO;
`ptr`: ptr PKCS7_SIGNER_INFO): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_pop*(sk: ptr stack_st_PKCS7_SIGNER_INFO): ptr PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_shift*(sk: ptr stack_st_PKCS7_SIGNER_INFO): ptr PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_pop_free*(sk: ptr stack_st_PKCS7_SIGNER_INFO;
freefunc: sk_PKCS7_SIGNER_INFO_freefunc) {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_insert*(sk: ptr stack_st_PKCS7_SIGNER_INFO;
`ptr`: ptr PKCS7_SIGNER_INFO; idx: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_set*(sk: ptr stack_st_PKCS7_SIGNER_INFO; idx: cint;
`ptr`: ptr PKCS7_SIGNER_INFO): ptr PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_find*(sk: ptr stack_st_PKCS7_SIGNER_INFO;
`ptr`: ptr PKCS7_SIGNER_INFO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_find_ex*(sk: ptr stack_st_PKCS7_SIGNER_INFO;
`ptr`: ptr PKCS7_SIGNER_INFO): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_sort*(sk: ptr stack_st_PKCS7_SIGNER_INFO) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_is_sorted*(sk: ptr stack_st_PKCS7_SIGNER_INFO): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_dup*(sk: ptr stack_st_PKCS7_SIGNER_INFO): ptr stack_st_PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_deep_copy*(sk: ptr stack_st_PKCS7_SIGNER_INFO;
copyfunc: sk_PKCS7_SIGNER_INFO_copyfunc;
freefunc: sk_PKCS7_SIGNER_INFO_freefunc): ptr stack_st_PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_SIGNER_INFO_set_cmp_func*(sk: ptr stack_st_PKCS7_SIGNER_INFO;
compare: sk_PKCS7_SIGNER_INFO_compfunc): sk_PKCS7_SIGNER_INFO_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_num*(sk: ptr stack_st_PKCS7_RECIP_INFO): cint {.importc,
cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_value*(sk: ptr stack_st_PKCS7_RECIP_INFO; idx: cint): ptr PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_new*(compare: sk_PKCS7_RECIP_INFO_compfunc): ptr stack_st_PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_new_null*(): ptr stack_st_PKCS7_RECIP_INFO {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_new_reserve*(compare: sk_PKCS7_RECIP_INFO_compfunc;
n: cint): ptr stack_st_PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_reserve*(sk: ptr stack_st_PKCS7_RECIP_INFO; n: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_free*(sk: ptr stack_st_PKCS7_RECIP_INFO) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_zero*(sk: ptr stack_st_PKCS7_RECIP_INFO) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_delete*(sk: ptr stack_st_PKCS7_RECIP_INFO; i: cint): ptr PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_delete_ptr*(sk: ptr stack_st_PKCS7_RECIP_INFO;
`ptr`: ptr PKCS7_RECIP_INFO): ptr PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_push*(sk: ptr stack_st_PKCS7_RECIP_INFO;
`ptr`: ptr PKCS7_RECIP_INFO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_unshift*(sk: ptr stack_st_PKCS7_RECIP_INFO;
`ptr`: ptr PKCS7_RECIP_INFO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_pop*(sk: ptr stack_st_PKCS7_RECIP_INFO): ptr PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_shift*(sk: ptr stack_st_PKCS7_RECIP_INFO): ptr PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_pop_free*(sk: ptr stack_st_PKCS7_RECIP_INFO;
freefunc: sk_PKCS7_RECIP_INFO_freefunc) {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_insert*(sk: ptr stack_st_PKCS7_RECIP_INFO;
`ptr`: ptr PKCS7_RECIP_INFO; idx: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_set*(sk: ptr stack_st_PKCS7_RECIP_INFO; idx: cint;
`ptr`: ptr PKCS7_RECIP_INFO): ptr PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_find*(sk: ptr stack_st_PKCS7_RECIP_INFO;
`ptr`: ptr PKCS7_RECIP_INFO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_find_ex*(sk: ptr stack_st_PKCS7_RECIP_INFO;
`ptr`: ptr PKCS7_RECIP_INFO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_sort*(sk: ptr stack_st_PKCS7_RECIP_INFO) {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_is_sorted*(sk: ptr stack_st_PKCS7_RECIP_INFO): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_dup*(sk: ptr stack_st_PKCS7_RECIP_INFO): ptr stack_st_PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_deep_copy*(sk: ptr stack_st_PKCS7_RECIP_INFO;
copyfunc: sk_PKCS7_RECIP_INFO_copyfunc;
freefunc: sk_PKCS7_RECIP_INFO_freefunc): ptr stack_st_PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_RECIP_INFO_set_cmp_func*(sk: ptr stack_st_PKCS7_RECIP_INFO;
compare: sk_PKCS7_RECIP_INFO_compfunc): sk_PKCS7_RECIP_INFO_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_num*(sk: ptr stack_st_PKCS7): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_value*(sk: ptr stack_st_PKCS7; idx: cint): ptr PKCS7 {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_new*(compare: sk_PKCS7_compfunc): ptr stack_st_PKCS7 {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_new_null*(): ptr stack_st_PKCS7 {.importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_new_reserve*(compare: sk_PKCS7_compfunc; n: cint): ptr stack_st_PKCS7 {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_reserve*(sk: ptr stack_st_PKCS7; n: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_free*(sk: ptr stack_st_PKCS7) {.importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_zero*(sk: ptr stack_st_PKCS7) {.importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_delete*(sk: ptr stack_st_PKCS7; i: cint): ptr PKCS7 {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_delete_ptr*(sk: ptr stack_st_PKCS7; `ptr`: ptr PKCS7): ptr PKCS7 {.importc,
cdecl, imppkcs7Dyn.}
proc sk_PKCS7_push*(sk: ptr stack_st_PKCS7; `ptr`: ptr PKCS7): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_unshift*(sk: ptr stack_st_PKCS7; `ptr`: ptr PKCS7): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_pop*(sk: ptr stack_st_PKCS7): ptr PKCS7 {.importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_shift*(sk: ptr stack_st_PKCS7): ptr PKCS7 {.importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_pop_free*(sk: ptr stack_st_PKCS7; freefunc: sk_PKCS7_freefunc) {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_insert*(sk: ptr stack_st_PKCS7; `ptr`: ptr PKCS7; idx: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_set*(sk: ptr stack_st_PKCS7; idx: cint; `ptr`: ptr PKCS7): ptr PKCS7 {.
importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_find*(sk: ptr stack_st_PKCS7; `ptr`: ptr PKCS7): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_find_ex*(sk: ptr stack_st_PKCS7; `ptr`: ptr PKCS7): cint {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_sort*(sk: ptr stack_st_PKCS7) {.importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_is_sorted*(sk: ptr stack_st_PKCS7): cint {.importc, cdecl, imppkcs7Dyn.}
proc sk_PKCS7_dup*(sk: ptr stack_st_PKCS7): ptr stack_st_PKCS7 {.importc, cdecl,
imppkcs7Dyn.}
proc sk_PKCS7_deep_copy*(sk: ptr stack_st_PKCS7; copyfunc: sk_PKCS7_copyfunc;
freefunc: sk_PKCS7_freefunc): ptr stack_st_PKCS7 {.importc,
cdecl, imppkcs7Dyn.}
proc sk_PKCS7_set_cmp_func*(sk: ptr stack_st_PKCS7; compare: sk_PKCS7_compfunc): sk_PKCS7_compfunc {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_ISSUER_AND_SERIAL_new*(): ptr PKCS7_ISSUER_AND_SERIAL {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_ISSUER_AND_SERIAL_free*(a: ptr PKCS7_ISSUER_AND_SERIAL) {.importc, cdecl,
imppkcs7Dyn.}
proc d2i_PKCS7_ISSUER_AND_SERIAL*(a: ptr ptr PKCS7_ISSUER_AND_SERIAL;
`in`: ptr ptr cuchar; len: clong): ptr PKCS7_ISSUER_AND_SERIAL {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_PKCS7_ISSUER_AND_SERIAL*(a: ptr PKCS7_ISSUER_AND_SERIAL;
`out`: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_ISSUER_AND_SERIAL_digest*(data: ptr PKCS7_ISSUER_AND_SERIAL;
`type`: ptr EVP_MD; md: ptr cuchar; len: ptr cuint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc d2i_PKCS7_fp*(fp: File; p7: ptr ptr PKCS7): ptr PKCS7 {.importc, cdecl, imppkcs7Dyn.}
proc i2d_PKCS7_fp*(fp: File; p7: ptr PKCS7): cint {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_dup*(p7: ptr PKCS7): ptr PKCS7 {.importc, cdecl, imppkcs7Dyn.}
proc d2i_PKCS7_bio*(bp: ptr BIO; p7: ptr ptr PKCS7): ptr PKCS7 {.importc, cdecl, imppkcs7Dyn.}
proc i2d_PKCS7_bio*(bp: ptr BIO; p7: ptr PKCS7): cint {.importc, cdecl, imppkcs7Dyn.}
proc i2d_PKCS7_bio_stream*(`out`: ptr BIO; p7: ptr PKCS7; `in`: ptr BIO; flags: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PEM_write_bio_PKCS7_stream*(`out`: ptr BIO; p7: ptr PKCS7; `in`: ptr BIO; flags: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_SIGNER_INFO_new*(): ptr PKCS7_SIGNER_INFO {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_SIGNER_INFO_free*(a: ptr PKCS7_SIGNER_INFO) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_PKCS7_SIGNER_INFO*(a: ptr ptr PKCS7_SIGNER_INFO; `in`: ptr ptr cuchar;
len: clong): ptr PKCS7_SIGNER_INFO {.importc, cdecl,
imppkcs7Dyn.}
proc i2d_PKCS7_SIGNER_INFO*(a: ptr PKCS7_SIGNER_INFO; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_RECIP_INFO_new*(): ptr PKCS7_RECIP_INFO {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_RECIP_INFO_free*(a: ptr PKCS7_RECIP_INFO) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_PKCS7_RECIP_INFO*(a: ptr ptr PKCS7_RECIP_INFO; `in`: ptr ptr cuchar; len: clong): ptr PKCS7_RECIP_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_PKCS7_RECIP_INFO*(a: ptr PKCS7_RECIP_INFO; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_SIGNED_new*(): ptr PKCS7_SIGNED {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_SIGNED_free*(a: ptr PKCS7_SIGNED) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_PKCS7_SIGNED*(a: ptr ptr PKCS7_SIGNED; `in`: ptr ptr cuchar; len: clong): ptr PKCS7_SIGNED {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_PKCS7_SIGNED*(a: ptr PKCS7_SIGNED; `out`: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_ENC_CONTENT_new*(): ptr PKCS7_ENC_CONTENT {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_ENC_CONTENT_free*(a: ptr PKCS7_ENC_CONTENT) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_PKCS7_ENC_CONTENT*(a: ptr ptr PKCS7_ENC_CONTENT; `in`: ptr ptr cuchar;
len: clong): ptr PKCS7_ENC_CONTENT {.importc, cdecl,
imppkcs7Dyn.}
proc i2d_PKCS7_ENC_CONTENT*(a: ptr PKCS7_ENC_CONTENT; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_ENVELOPE_new*(): ptr PKCS7_ENVELOPE {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_ENVELOPE_free*(a: ptr PKCS7_ENVELOPE) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_PKCS7_ENVELOPE*(a: ptr ptr PKCS7_ENVELOPE; `in`: ptr ptr cuchar; len: clong): ptr PKCS7_ENVELOPE {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_PKCS7_ENVELOPE*(a: ptr PKCS7_ENVELOPE; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc PKCS7_SIGN_ENVELOPE_new*(): ptr PKCS7_SIGN_ENVELOPE {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_SIGN_ENVELOPE_free*(a: ptr PKCS7_SIGN_ENVELOPE) {.importc, cdecl,
imppkcs7Dyn.}
proc d2i_PKCS7_SIGN_ENVELOPE*(a: ptr ptr PKCS7_SIGN_ENVELOPE; `in`: ptr ptr cuchar;
len: clong): ptr PKCS7_SIGN_ENVELOPE {.importc, cdecl,
imppkcs7Dyn.}
proc i2d_PKCS7_SIGN_ENVELOPE*(a: ptr PKCS7_SIGN_ENVELOPE; `out`: ptr ptr cuchar): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_DIGEST_new*(): ptr PKCS7_DIGEST {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_DIGEST_free*(a: ptr PKCS7_DIGEST) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_PKCS7_DIGEST*(a: ptr ptr PKCS7_DIGEST; `in`: ptr ptr cuchar; len: clong): ptr PKCS7_DIGEST {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_PKCS7_DIGEST*(a: ptr PKCS7_DIGEST; `out`: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_ENCRYPT_new*(): ptr C_PKCS7_ENCRYPT {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_ENCRYPT_free*(a: ptr C_PKCS7_ENCRYPT) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_PKCS7_ENCRYPT*(a: ptr ptr C_PKCS7_ENCRYPT; `in`: ptr ptr cuchar; len: clong): ptr C_PKCS7_ENCRYPT {.
importc, cdecl, imppkcs7Dyn.}
proc i2d_PKCS7_ENCRYPT*(a: ptr C_PKCS7_ENCRYPT; `out`: ptr ptr cuchar): cint {.importc,
cdecl, imppkcs7Dyn.}
proc PKCS7_new*(): ptr PKCS7 {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_free*(a: ptr PKCS7) {.importc, cdecl, imppkcs7Dyn.}
proc d2i_PKCS7*(a: ptr ptr PKCS7; `in`: ptr ptr cuchar; len: clong): ptr PKCS7 {.importc,
cdecl, imppkcs7Dyn.}
proc i2d_PKCS7*(a: ptr PKCS7; `out`: ptr ptr cuchar): cint {.importc, cdecl, imppkcs7Dyn.}
proc i2d_PKCS7_NDEF*(a: ptr PKCS7; `out`: ptr ptr cuchar): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_print_ctx*(`out`: ptr BIO; x: ptr PKCS7; indent: cint; pctx: ptr ASN1_PCTX): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_ctrl*(p7: ptr PKCS7; cmd: cint; larg: clong; parg: cstring): clong {.importc,
cdecl, imppkcs7Dyn.}
proc PKCS7_set_type*(p7: ptr PKCS7; `type`: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_set0_type_other*(p7: ptr PKCS7; `type`: cint; other: ptr ASN1_TYPE): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_set_content*(p7: ptr PKCS7; p7_data: ptr PKCS7): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_SIGNER_INFO_set*(p7i: ptr PKCS7_SIGNER_INFO; x509: ptr X509;
pkey: ptr EVP_PKEY; dgst: ptr EVP_MD): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_SIGNER_INFO_sign*(si: ptr PKCS7_SIGNER_INFO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_add_signer*(p7: ptr PKCS7; p7i: ptr PKCS7_SIGNER_INFO): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_add_certificate*(p7: ptr PKCS7; x509: ptr X509): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_add_crl*(p7: ptr PKCS7; x509: ptr X509_CRL): cint {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_content_new*(p7: ptr PKCS7; nid: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_dataVerify*(cert_store: ptr X509_STORE; ctx: ptr X509_STORE_CTX;
bio: ptr BIO; p7: ptr PKCS7; si: ptr PKCS7_SIGNER_INFO): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_signatureVerify*(bio: ptr BIO; p7: ptr PKCS7; si: ptr PKCS7_SIGNER_INFO;
x509: ptr X509): cint {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_dataInit*(p7: ptr PKCS7; bio: ptr BIO): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_dataFinal*(p7: ptr PKCS7; bio: ptr BIO): cint {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_dataDecode*(p7: ptr PKCS7; pkey: ptr EVP_PKEY; in_bio: ptr BIO; pcert: ptr X509): ptr BIO {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_add_signature*(p7: ptr PKCS7; x509: ptr X509; pkey: ptr EVP_PKEY;
dgst: ptr EVP_MD): ptr PKCS7_SIGNER_INFO {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_cert_from_signer_info*(p7: ptr PKCS7; si: ptr PKCS7_SIGNER_INFO): ptr X509 {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_set_digest*(p7: ptr PKCS7; md: ptr EVP_MD): cint {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_get_signer_info*(p7: ptr PKCS7): ptr stack_st_PKCS7_SIGNER_INFO {.importc,
cdecl, imppkcs7Dyn.}
proc PKCS7_add_recipient*(p7: ptr PKCS7; x509: ptr X509): ptr PKCS7_RECIP_INFO {.importc,
cdecl, imppkcs7Dyn.}
proc PKCS7_SIGNER_INFO_get0_algs*(si: ptr PKCS7_SIGNER_INFO; pk: ptr ptr EVP_PKEY;
pdig: ptr ptr X509_ALGOR; psig: ptr ptr X509_ALGOR) {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_RECIP_INFO_get0_alg*(ri: ptr PKCS7_RECIP_INFO; penc: ptr ptr X509_ALGOR) {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_add_recipient_info*(p7: ptr PKCS7; ri: ptr PKCS7_RECIP_INFO): cint {.importc,
cdecl, imppkcs7Dyn.}
proc PKCS7_RECIP_INFO_set*(p7i: ptr PKCS7_RECIP_INFO; x509: ptr X509): cint {.importc,
cdecl, imppkcs7Dyn.}
proc PKCS7_set_cipher*(p7: ptr PKCS7; cipher: ptr EVP_CIPHER): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_stream*(boundary: ptr ptr ptr cuchar; p7: ptr PKCS7): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_get_issuer_and_serial*(p7: ptr PKCS7; idx: cint): ptr PKCS7_ISSUER_AND_SERIAL {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_digest_from_attributes*(sk: ptr stack_st_X509_ATTRIBUTE): ptr ASN1_OCTET_STRING {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_add_signed_attribute*(p7si: ptr PKCS7_SIGNER_INFO; nid: cint; `type`: cint;
data: pointer): cint {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_add_attribute*(p7si: ptr PKCS7_SIGNER_INFO; nid: cint; atrtype: cint;
value: pointer): cint {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_get_attribute*(si: ptr PKCS7_SIGNER_INFO; nid: cint): ptr ASN1_TYPE {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_get_signed_attribute*(si: ptr PKCS7_SIGNER_INFO; nid: cint): ptr ASN1_TYPE {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_set_signed_attributes*(p7si: ptr PKCS7_SIGNER_INFO;
sk: ptr stack_st_X509_ATTRIBUTE): cint {.importc,
cdecl, imppkcs7Dyn.}
proc PKCS7_set_attributes*(p7si: ptr PKCS7_SIGNER_INFO;
sk: ptr stack_st_X509_ATTRIBUTE): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_sign*(signcert: ptr X509; pkey: ptr EVP_PKEY; certs: ptr stack_st_X509;
data: ptr BIO; flags: cint): ptr PKCS7 {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_sign_add_signer*(p7: ptr PKCS7; signcert: ptr X509; pkey: ptr EVP_PKEY;
md: ptr EVP_MD; flags: cint): ptr PKCS7_SIGNER_INFO {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_final*(p7: ptr PKCS7; data: ptr BIO; flags: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_verify*(p7: ptr PKCS7; certs: ptr stack_st_X509; store: ptr X509_STORE;
indata: ptr BIO; `out`: ptr BIO; flags: cint): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_get0_signers*(p7: ptr PKCS7; certs: ptr stack_st_X509; flags: cint): ptr stack_st_X509 {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_encrypt*(certs: ptr stack_st_X509; `in`: ptr BIO; cipher: ptr EVP_CIPHER;
flags: cint): ptr PKCS7 {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_decrypt*(p7: ptr PKCS7; pkey: ptr EVP_PKEY; cert: ptr X509; data: ptr BIO;
flags: cint): cint {.importc, cdecl, imppkcs7Dyn.}
proc PKCS7_add_attrib_smimecap*(si: ptr PKCS7_SIGNER_INFO;
cap: ptr stack_st_X509_ALGOR): cint {.importc, cdecl,
imppkcs7Dyn.}
proc PKCS7_get_smimecap*(si: ptr PKCS7_SIGNER_INFO): ptr stack_st_X509_ALGOR {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_simple_smimecap*(sk: ptr stack_st_X509_ALGOR; nid: cint; arg: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_add_attrib_content_type*(si: ptr PKCS7_SIGNER_INFO; coid: ptr ASN1_OBJECT): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_add0_attrib_signing_time*(si: ptr PKCS7_SIGNER_INFO; t: ptr ASN1_TIME): cint {.
importc, cdecl, imppkcs7Dyn.}
proc PKCS7_add1_attrib_digest*(si: ptr PKCS7_SIGNER_INFO; md: ptr cuchar; mdlen: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc SMIME_write_PKCS7*(bio: ptr BIO; p7: ptr PKCS7; data: ptr BIO; flags: cint): cint {.
importc, cdecl, imppkcs7Dyn.}
proc SMIME_read_PKCS7*(bio: ptr BIO; bcont: ptr ptr BIO): ptr PKCS7 {.importc, cdecl,
imppkcs7Dyn.}
proc BIO_new_PKCS7*(`out`: ptr BIO; p7: ptr PKCS7): ptr BIO {.importc, cdecl, imppkcs7Dyn.}
{.pop.}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment