按规范「注释只讲解作用,不掺杂历史原因,尽量英文」:把 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 顺序回归通过。
52 lines
1.9 KiB
Plaintext
52 lines
1.9 KiB
Plaintext
import t, c
|
|
from openssl.types import *
|
|
|
|
# ============================================================
|
|
# openssl/objects.vp — ASN.1 对象(OID)与 NID
|
|
# 对应头文件: objects.h / obj_mac.h
|
|
# ============================================================
|
|
|
|
# ---- Common NIDs (obj_mac.h constants) ----
|
|
define NidCommonName = 13
|
|
define NidCountryName = 14
|
|
define NidLocalityName = 15
|
|
define NidStateOrProvinceName = 16
|
|
define NidOrganizationName = 17
|
|
define NidOrganizationalUnitName = 18
|
|
define NidEmailAddress = 48
|
|
define NidSerialNumber = 105
|
|
define NidSubjectKeyIdentifier = 82
|
|
define NidKeyUsage = 83
|
|
define NidSubjectAltName = 85
|
|
define NidIssuerAltName = 86
|
|
define NidBasicConstraints = 87
|
|
define NidAuthorityKeyIdentifier = 90
|
|
define NidCrlDistributionPoints = 103
|
|
define NidExtKeyUsage = 126
|
|
define NidRsaEncryption = 6
|
|
define NidSha1 = 64
|
|
define NidSha256 = 672
|
|
define NidMd5 = 4
|
|
define NidHmac = 855
|
|
define NidX9_62IdEcPublicKey = 408
|
|
|
|
# ---- OBJ / NID conversion ----
|
|
# int OBJ_txt2nid(const char *s)
|
|
extern def OBJ_txt2nid(s: str) -> int
|
|
# int OBJ_sn2nid(const char *s) / int OBJ_ln2nid(const char *s)
|
|
extern def OBJ_sn2nid(s: str) -> int
|
|
extern def OBJ_ln2nid(s: str) -> int
|
|
# const char *OBJ_nid2sn(int n) / const char *OBJ_nid2ln(int n)
|
|
extern def OBJ_nid2sn(n: int) -> str
|
|
extern def OBJ_nid2ln(n: int) -> str
|
|
# ASN1_OBJECT *OBJ_nid2obj(int n)
|
|
extern def OBJ_nid2obj(n: int) -> Asn1ObjectPtr
|
|
# ASN1_OBJECT *OBJ_txt2obj(const char *s, int no_name)
|
|
extern def OBJ_txt2obj(s: str, no_name: int) -> Asn1ObjectPtr
|
|
# int OBJ_obj2nid(const ASN1_OBJECT *o)
|
|
extern def OBJ_obj2nid(o: Asn1ObjectPtr) -> int
|
|
# int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
|
|
extern def OBJ_obj2txt(buf: bytes, buf_len: int, a: Asn1ObjectPtr, no_name: int) -> int
|
|
# int OBJ_create(const char *oid, const char *sn, const char *ln)
|
|
extern def OBJ_create(oid: str, sn: str, ln: str) -> int
|