Files
Viper_VRTE/openssl/types.vp
T
TermiNexus 2992674783 feat(types): rowptr/REnum 迁移工作区快照 + GSList/PrintModule 临时 DBGCHAIN 护栏
把此前未提交的 rowptr 迁移整体入库(42 文件,含 ast/llvmlite/hashlib/json/zlib 等签名 rowptr 化)。临时诊断(用后移除):linkedlist.vp GSList[T].append 链完整性四检、__module.vp PrintModule Function.Params/param 指针野值护栏([DBGCHAIN] 前缀 + fflush + exit)。
2026-09-05 14:51:40 +08:00

70 lines
3.5 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.CVoid | t.CPtr` 表达(与 vqt6 一致),生成 i8*
# 指针参数,可被 ASan 插桩;纯 `t.CPtr` 会生成 opaque struct 参数,
# opt -passes=asan 会报 invalid type for function argument。
# ============================================================
# ---- 基础上下文 ----
OsslLibCtxPtr: t.CTypedef = t.CVoid | t.CPtr # OSSL_LIB_CTX*
EnginePtr: t.CTypedef = t.CVoid | t.CPtr # ENGINE*
OpensslInitSettingsPtr: t.CTypedef = t.CVoid | t.CPtr # OPENSSL_INIT_SETTINGS*
# ---- BIO(内存/文件/Socket/Connect)----
BioPtr: t.CTypedef = t.CVoid | t.CPtr # BIO*
BioMethodPtr: t.CTypedef = t.CVoid | t.CPtr # BIO_METHOD*
BioAddrPtr: t.CTypedef = t.CVoid | t.CPtr # BIO_ADDR*
BioAddrInfoPtr: t.CTypedef = t.CVoid | t.CPtr # BIO_ADDRINFO*
# ---- EVP(摘要/对称/非对称)----
EvpMdPtr: t.CTypedef = t.CVoid | t.CPtr # EVP_MD*
EvpMdCtxPtr: t.CTypedef = t.CVoid | t.CPtr # EVP_MD_CTX*
EvpCipherPtr: t.CTypedef = t.CVoid | t.CPtr # EVP_CIPHER*
EvpCipherCtxPtr: t.CTypedef = t.CVoid | t.CPtr # EVP_CIPHER_CTX*
EvpPkeyPtr: t.CTypedef = t.CVoid | t.CPtr # EVP_PKEY*
EvpPkeyCtxPtr: t.CTypedef = t.CVoid | t.CPtr # EVP_PKEY_CTX*
EvpEncodeCtxPtr: t.CTypedef = t.CVoid | t.CPtr # EVP_ENCODE_CTX*
HmacCtxPtr: t.CTypedef = t.CVoid | t.CPtr # HMAC_CTX*
# ---- X509 / 证书 ----
X509Ptr: t.CTypedef = t.CVoid | t.CPtr # X509*
X509NamePtr: t.CTypedef = t.CVoid | t.CPtr # X509_NAME*
X509NameEntryPtr: t.CTypedef = t.CVoid | t.CPtr # X509_NAME_ENTRY*
X509CrlPtr: t.CTypedef = t.CVoid | t.CPtr # X509_CRL*
X509ReqPtr: t.CTypedef = t.CVoid | t.CPtr # X509_REQ*
X509ExtensionPtr: t.CTypedef = t.CVoid | t.CPtr # X509_EXTENSION*
X509StorePtr: t.CTypedef = t.CVoid | t.CPtr # X509_STORE*
X509StoreCtxPtr: t.CTypedef = t.CVoid | t.CPtr # X509_STORE_CTX*
X509InfoPtr: t.CTypedef = t.CVoid | t.CPtr # X509_INFO*
X509VerifyParamPtr: t.CTypedef = t.CVoid | t.CPtr # X509_VERIFY_PARAM*
# ---- ASN.1 ----
Asn1ObjectPtr: t.CTypedef = t.CVoid | t.CPtr # ASN1_OBJECT*
Asn1StringPtr: t.CTypedef = t.CVoid | t.CPtr # ASN1_STRING*
Asn1IntegerPtr: t.CTypedef = t.CVoid | t.CPtr # ASN1_INTEGER*
Asn1TimePtr: t.CTypedef = t.CVoid | t.CPtr # ASN1_TIME*
Asn1OctetStringPtr: t.CTypedef = t.CVoid | t.CPtr # ASN1_OCTET_STRING*
Asn1BitStringPtr: t.CTypedef = t.CVoid | t.CPtr # ASN1_BIT_STRING*
GeneralNamesPtr: t.CTypedef = t.CVoid | t.CPtr # GENERAL_NAMES*
GeneralNamePtr: t.CTypedef = t.CVoid | t.CPtr # GENERAL_NAME*
# ---- SSL/TLS ----
SslPtr: t.CTypedef = t.CVoid | t.CPtr # SSL*
SslCtxPtr: t.CTypedef = t.CVoid | t.CPtr # SSL_CTX*
SslMethodPtr: t.CTypedef = t.CVoid | t.CPtr # SSL_METHOD*
SslSessionPtr: t.CTypedef = t.CVoid | t.CPtr # SSL_SESSION*
SslCipherPtr: t.CTypedef = t.CVoid | t.CPtr # SSL_CIPHER*
# ---- BIGNUM ----
BnPtr: t.CTypedef = t.CVoid | t.CPtr # BIGNUM*
BnCtxPtr: t.CTypedef = t.CVoid | t.CPtr # BN_CTX*