把 includes 下 64 个 .vp 的文件头注释(含 traceback.vp 第 13-427 行的整块文件级说明)以及 2 处漏网的正文中文注释(ast/lexer.vp、json/__writer.vp)与 1 处中文 docstring(memhub.vp)逐行译为英文;同步把 fltk/gen_ffi.py 的生成模板与其自身注释英文化,使重新生成仍为英文。 只改注释/文档串文字:行数与代码逐字节不变(骨架比对 140 文件漂移 0),运行时中文字符串字面量 305 处保持原样。验证:三重重编 SUCCESS(170.21s)+ 全量 77/77 顺序回归通过 + VET 编译 SUCCESS / --search-paths 7 条 exit 0。
70 lines
3.2 KiB
Plaintext
70 lines
3.2 KiB
Plaintext
import t, c
|
|
|
|
# ============================================================
|
|
# 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 `t.CPtr` (consistent with vqt6), which
|
|
# generates i8* pointer parameters that can be instrumented by ASan; a plain `t.CPtr` generates opaque struct parameters,
|
|
# and opt -passes=asan reports 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*
|