70 lines
3.1 KiB
Plaintext
70 lines
3.1 KiB
Plaintext
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*
|