Files

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*