Files
Viper_VRTE/openssl/types.vp
T
TermiNexus e71daeea0e docs(includes): R11 注释英文化——75 个文件的中文注释改写为英文短注释
按规范「注释只讲解作用,不掺杂历史原因,尽量英文」:把 includes 下 75 个 .vp 的中文 # 注释与三引号 docstring 改写为英文,每个注释块压到 2 行以内。

保留要点:作用、约束、危险警告(不得/必须/注意)、ABI 与类型约定(如 BYTEPTR | t.CPtr = i8** 的跨模块坍缩坑)、位宽/长度约定、fail-fast 要求、内存与句柄所有权。

未动:文件头注释(规范豁免,仍是中文)、运行时中文字符串常量(printf / fatal_error / MlirFail 等用户可见消息,属代码字面量)。

验证:独立脚本比对 HEAD 与工作区的代码骨架(剥离 # 注释与三引号 docstring 后的非空行)——75 个文件逐字节一致;行尾 CRLF/LF 未被改动;全文剩余中文仅 547 行头注释、0 条行尾注释。bootstrap 三重重编 SUCCESS;全量 77/77 顺序回归通过。
2026-10-05 16:18:44 +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。
# ============================================================
# ---- Base contexts ----
OsslLibCtxPtr: t.CTypedef = t.CPtr # OSSL_LIB_CTX*
EnginePtr: t.CTypedef = t.CPtr # ENGINE*
OpensslInitSettingsPtr: t.CTypedef = t.CPtr # OPENSSL_INIT_SETTINGS*
# ---- BIO (memory / file / 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 (digest / symmetric / asymmetric) ----
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 / certificate ----
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*