68 lines
3.1 KiB
Plaintext
68 lines
3.1 KiB
Plaintext
# ============================================================
|
|
# openssl/types.vp — opaque object handle typedefs for OpenSSL 3.x
|
|
#
|
|
# Interfaces with libcrypto / libssl (OpenSSL 3.x exported symbols).
|
|
# Objects are always treated as opaque pointers (void*); their lifetime is
|
|
# managed by the OpenSSL library (corresponding X509_free/SSL_free/BIO_free/CRYPTO_free etc. release functions).
|
|
# Link target: project.vpj of ViperOpenSSLProject links openssl_358_C
|
|
# self-compiled static libraries (libcrypto.a / libssl.a).
|
|
#
|
|
# Note: typedefs are expressed with `rawptr` (consistent with vqt6), which
|
|
# generates i8* pointer parameters that can be instrumented by ASan; a plain `rawptr` generates opaque struct parameters,
|
|
# and opt -passes=asan reports invalid type for function argument.
|
|
# ============================================================
|
|
|
|
# ---- Base contexts ----
|
|
typedef OsslLibCtxPtr = rawptr # OSSL_LIB_CTX*
|
|
typedef EnginePtr = rawptr # ENGINE*
|
|
typedef OpensslInitSettingsPtr = rawptr # OPENSSL_INIT_SETTINGS*
|
|
|
|
# ---- BIO (memory / file / socket / connect) ----
|
|
typedef BioPtr = rawptr # BIO*
|
|
typedef BioMethodPtr = rawptr # BIO_METHOD*
|
|
typedef BioAddrPtr = rawptr # BIO_ADDR*
|
|
typedef BioAddrInfoPtr = rawptr # BIO_ADDRINFO*
|
|
|
|
# ---- EVP (digest / symmetric / asymmetric) ----
|
|
typedef EvpMdPtr = rawptr # EVP_MD*
|
|
typedef EvpMdCtxPtr = rawptr # EVP_MD_CTX*
|
|
typedef EvpCipherPtr = rawptr # EVP_CIPHER*
|
|
typedef EvpCipherCtxPtr = rawptr # EVP_CIPHER_CTX*
|
|
typedef EvpPkeyPtr = rawptr # EVP_PKEY*
|
|
typedef EvpPkeyCtxPtr = rawptr # EVP_PKEY_CTX*
|
|
typedef EvpEncodeCtxPtr = rawptr # EVP_ENCODE_CTX*
|
|
typedef HmacCtxPtr = rawptr # HMAC_CTX*
|
|
|
|
# ---- X509 / certificate ----
|
|
typedef X509Ptr = rawptr # X509*
|
|
typedef X509NamePtr = rawptr # X509_NAME*
|
|
typedef X509NameEntryPtr = rawptr # X509_NAME_ENTRY*
|
|
typedef X509CrlPtr = rawptr # X509_CRL*
|
|
typedef X509ReqPtr = rawptr # X509_REQ*
|
|
typedef X509ExtensionPtr = rawptr # X509_EXTENSION*
|
|
typedef X509StorePtr = rawptr # X509_STORE*
|
|
typedef X509StoreCtxPtr = rawptr # X509_STORE_CTX*
|
|
typedef X509InfoPtr = rawptr # X509_INFO*
|
|
typedef X509VerifyParamPtr = rawptr # X509_VERIFY_PARAM*
|
|
|
|
# ---- ASN.1 ----
|
|
typedef Asn1ObjectPtr = rawptr # ASN1_OBJECT*
|
|
typedef Asn1StringPtr = rawptr # ASN1_STRING*
|
|
typedef Asn1IntegerPtr = rawptr # ASN1_INTEGER*
|
|
typedef Asn1TimePtr = rawptr # ASN1_TIME*
|
|
typedef Asn1OctetStringPtr = rawptr # ASN1_OCTET_STRING*
|
|
typedef Asn1BitStringPtr = rawptr # ASN1_BIT_STRING*
|
|
typedef GeneralNamesPtr = rawptr # GENERAL_NAMES*
|
|
typedef GeneralNamePtr = rawptr # GENERAL_NAME*
|
|
|
|
# ---- SSL/TLS ----
|
|
typedef SslPtr = rawptr # SSL*
|
|
typedef SslCtxPtr = rawptr # SSL_CTX*
|
|
typedef SslMethodPtr = rawptr # SSL_METHOD*
|
|
typedef SslSessionPtr = rawptr # SSL_SESSION*
|
|
typedef SslCipherPtr = rawptr # SSL_CIPHER*
|
|
|
|
# ---- BIGNUM ----
|
|
typedef BnPtr = rawptr # BIGNUM*
|
|
typedef BnCtxPtr = rawptr # BN_CTX*
|