134 lines
4.3 KiB
Python
134 lines
4.3 KiB
Python
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 标准库 <stdint.h> 类型名(小写 _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
|