Files
Viper_VRTE/openssl/types.vp
T
2026-09-16 16:07:35 +08:00

70 lines
3.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import t, c
# ============================================================
# openssl/types.vp — OpenSSL 3.x 不透明对象句柄 typedef
#
# 对接 libcrypto / libssl(OpenSSL 3.x 导出符号)。
# 对象一律按不透明指针 (void*) 处理,生命周期由 OpenSSL 库管理
# (X509_free/SSL_free/BIO_free/CRYPTO_free 等对应释放函数)。
# 链接目标:ViperOpenSSLProject 的 project.vpj 链接 openssl_358_C
# 自编译静态库(libcrypto.a / libssl.a)。
#
# 注意:typedef 用 `t.CPtr` 表达(与 vqt6 一致),生成 i8*
# 指针参数,可被 ASan 插桩;纯 `t.CPtr` 会生成 opaque struct 参数,
# opt -passes=asan 会报 invalid type for function argument。
# ============================================================
# ---- 基础上下文 ----
OsslLibCtxPtr: t.CTypedef = t.CPtr # OSSL_LIB_CTX*
EnginePtr: t.CTypedef = t.CPtr # ENGINE*
OpensslInitSettingsPtr: t.CTypedef = t.CPtr # OPENSSL_INIT_SETTINGS*
# ---- BIO(内存/文件/Socket/Connect)----
BioPtr: t.CTypedef = t.CPtr # BIO*
BioMethodPtr: t.CTypedef = t.CPtr # BIO_METHOD*
BioAddrPtr: t.CTypedef = t.CPtr # BIO_ADDR*
BioAddrInfoPtr: t.CTypedef = t.CPtr # BIO_ADDRINFO*
# ---- EVP(摘要/对称/非对称)----
EvpMdPtr: t.CTypedef = t.CPtr # EVP_MD*
EvpMdCtxPtr: t.CTypedef = t.CPtr # EVP_MD_CTX*
EvpCipherPtr: t.CTypedef = t.CPtr # EVP_CIPHER*
EvpCipherCtxPtr: t.CTypedef = t.CPtr # EVP_CIPHER_CTX*
EvpPkeyPtr: t.CTypedef = t.CPtr # EVP_PKEY*
EvpPkeyCtxPtr: t.CTypedef = t.CPtr # EVP_PKEY_CTX*
EvpEncodeCtxPtr: t.CTypedef = t.CPtr # EVP_ENCODE_CTX*
HmacCtxPtr: t.CTypedef = t.CPtr # HMAC_CTX*
# ---- X509 / 证书 ----
X509Ptr: t.CTypedef = t.CPtr # X509*
X509NamePtr: t.CTypedef = t.CPtr # X509_NAME*
X509NameEntryPtr: t.CTypedef = t.CPtr # X509_NAME_ENTRY*
X509CrlPtr: t.CTypedef = t.CPtr # X509_CRL*
X509ReqPtr: t.CTypedef = t.CPtr # X509_REQ*
X509ExtensionPtr: t.CTypedef = t.CPtr # X509_EXTENSION*
X509StorePtr: t.CTypedef = t.CPtr # X509_STORE*
X509StoreCtxPtr: t.CTypedef = t.CPtr # X509_STORE_CTX*
X509InfoPtr: t.CTypedef = t.CPtr # X509_INFO*
X509VerifyParamPtr: t.CTypedef = t.CPtr # X509_VERIFY_PARAM*
# ---- ASN.1 ----
Asn1ObjectPtr: t.CTypedef = t.CPtr # ASN1_OBJECT*
Asn1StringPtr: t.CTypedef = t.CPtr # ASN1_STRING*
Asn1IntegerPtr: t.CTypedef = t.CPtr # ASN1_INTEGER*
Asn1TimePtr: t.CTypedef = t.CPtr # ASN1_TIME*
Asn1OctetStringPtr: t.CTypedef = t.CPtr # ASN1_OCTET_STRING*
Asn1BitStringPtr: t.CTypedef = t.CPtr # ASN1_BIT_STRING*
GeneralNamesPtr: t.CTypedef = t.CPtr # GENERAL_NAMES*
GeneralNamePtr: t.CTypedef = t.CPtr # GENERAL_NAME*
# ---- SSL/TLS ----
SslPtr: t.CTypedef = t.CPtr # SSL*
SslCtxPtr: t.CTypedef = t.CPtr # SSL_CTX*
SslMethodPtr: t.CTypedef = t.CPtr # SSL_METHOD*
SslSessionPtr: t.CTypedef = t.CPtr # SSL_SESSION*
SslCipherPtr: t.CTypedef = t.CPtr # SSL_CIPHER*
# ---- BIGNUM ----
BnPtr: t.CTypedef = t.CPtr # BIGNUM*
BnCtxPtr: t.CTypedef = t.CPtr # BN_CTX*