import t # ============================================================================= # 大写别名(Win32/TransPyC 风格) # 注意:INTPTR/UINTPTR 在此模块中是 int*/unsigned int* 指针类型(历史命名)。 # 它们与 C 标准的 intptr_t/uintptr_t 整数类型不同,后者见下方小写 _t 区域。 # ============================================================================= INT: t.CTypedef = t.CInt INTPTR: t.CTypedef = t.CInt | t.CPtr BOOL: t.CTypedef = t.CInt UINT: t.CTypedef = t.CUnsignedInt UINTPTR: t.CTypedef = UINT | t.CPtr BYTE: t.CTypedef = t.CUnsignedChar BYTEPTR: t.CTypedef = BYTE | t.CPtr WORD: t.CTypedef = t.CUInt16T DWORD: t.CTypedef = t.CUInt32T QWORD: t.CTypedef = t.CUInt64T TCHAR: t.CTypedef = t.CChar CHARLIST: t.CTypedef = str | t.CPtr VOID: t.CTypedef = t.CVoid SHORT: t.CTypedef = t.CShort SHORTPTR: t.CTypedef = t.CShort | t.CPtr USHORT: t.CTypedef = t.CUnsignedShort USHORTPTR: t.CTypedef = t.CUnsignedShort | t.CPtr LONGLONG: t.CTypedef = t.CLongLong ULONGLONG: t.CTypedef = t.CUnsignedLongLong LONG: t.CTypedef = t.CLong ULONG: t.CTypedef = t.CUnsignedLong WCHAR: t.CTypedef = WORD WCHARPTR: t.CTypedef = WORD | t.CPtr CHARPTR: t.CTypedef = t.CChar | t.CPtr FSIZE_t: t.CTypedef = DWORD LBA_t: t.CTypedef = DWORD VOIDPTR: t.CTypedef = t.CVoid | t.CPtr FLOAT: t.CTypedef = t.CFloat DOUBLE: t.CTypedef = t.CDouble FLOAT8: t.CTypedef = t.CFloat8T FLOAT16: t.CTypedef = t.CFloat16T FLOAT32: t.CTypedef = t.CFloat32T FLOAT64: t.CTypedef = t.CFloat64T FLOAT128: t.CTypedef = t.CFloat128T # ============================================================================= # 定长整数大写别名 # ============================================================================= INT8: t.CTypedef = t.CInt8T INT16: t.CTypedef = t.CInt16T INT32: t.CTypedef = t.CInt32T INT64: t.CTypedef = t.CInt64T UINT8: t.CTypedef = t.CUInt8T UINT16: t.CTypedef = t.CUInt16T UINT32: t.CTypedef = t.CUInt32T UINT64: t.CTypedef = t.CUInt64T INT8PTR: t.CTypedef = t.CInt8T | t.CPtr INT16PTR: t.CTypedef = t.CInt16T | t.CPtr INT32PTR: t.CTypedef = t.CInt32T | t.CPtr INT64PTR: t.CTypedef = t.CInt64T | t.CPtr UINT8PTR: t.CTypedef = t.CUInt8T | t.CPtr UINT16PTR: t.CTypedef = t.CUInt16T | t.CPtr UINT32PTR: t.CTypedef = t.CUInt32T | t.CPtr UINT64PTR: t.CTypedef = t.CUInt64T | t.CPtr CHAR8: t.CTypedef = t.CChar8T CHAR16: t.CTypedef = t.CChar16T CHAR32: t.CTypedef = t.CChar32T CHAR8PTR: t.CTypedef = t.CChar8T | t.CPtr CHAR16PTR: t.CTypedef = t.CChar16T | t.CPtr CHAR32PTR: t.CTypedef = t.CChar32T | t.CPtr i8: t.CTypedef = t.CInt8T i16: t.CTypedef = t.CInt16T i32: t.CTypedef = t.CInt32T i64: t.CTypedef = t.CInt64T u8: t.CTypedef = t.CUInt8T u16: t.CTypedef = t.CUInt16T u32: t.CTypedef = t.CUInt32T u64: t.CTypedef = t.CUInt64T SIZE_T: t.CTypedef = t.CSizeT SSIZE_T: t.CTypedef = t.CPtrDiffT PTRDIFF_T: t.CTypedef = t.CPtrDiffT # ============================================================================= # C 标准库 类型名(小写 _t 后缀) # 这些是 C 语言标准类型名,从 _CNAME_ALIAS 挪到此处作为 typedef 提供。 # 用户 `from stdint import *` 后即可直接使用 int8_t / size_t 等。 # ============================================================================= int8_t: t.CTypedef = t.CInt8T int16_t: t.CTypedef = t.CInt16T int32_t: t.CTypedef = t.CInt32T int64_t: t.CTypedef = t.CInt64T uint8_t: t.CTypedef = t.CUInt8T uint16_t: t.CTypedef = t.CUInt16T uint32_t: t.CTypedef = t.CUInt32T uint64_t: t.CTypedef = t.CUInt64T size_t: t.CTypedef = t.CSizeT ssize_t: t.CTypedef = t.CPtrDiffT ptrdiff_t: t.CTypedef = t.CPtrDiffT # intptr_t/uintptr_t 是足以容纳指针的整数类型(不是指针!) # 与上方的 INTPTR/UINTPTR(int 指针)语义不同。 intptr_t: t.CTypedef = t.CIntPtrT uintptr_t: t.CTypedef = t.CUIntPtrT # 宽字符 / 字符类型 wchar_t: t.CTypedef = t.CWCharT char8_t: t.CTypedef = t.CChar8T char16_t: t.CTypedef = t.CChar16T char32_t: t.CTypedef = t.CChar32T # 浮点特化类型 float8_t: t.CTypedef = t.CFloat8T float16_t: t.CTypedef = t.CFloat16T float32_t: t.CTypedef = t.CFloat32T float64_t: t.CTypedef = t.CFloat64T float128_t: t.CTypedef = t.CFloat128T _Bool: t.CTypedef = t.CBool