| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- from typing import Generic, TypeVar
- def malloc(size: int) -> 'void_p': ...
- def free(ptr: 'void_p') -> None: ...
- def memset(ptr: 'void_p', value: int, size: int) -> None: ...
- def memcpy(dst: 'void_p', src: 'void_p', size: int) -> None: ...
- T = TypeVar('T')
- Tp = TypeVar('Tp', bound='void_p')
- def p_cast(ptr: 'void_p', cls: type[T]) -> T:
- """Cast a pointer to a specific type."""
- def p_value(ptr: 'void_p') -> int:
- """Get the value of a pointer."""
- def pp_deref(ptr: Tp) -> Tp:
- """Dereference a double pointer."""
- class void_p:
- def __init__(self, addr: int): ...
- def __eq__(self, other: 'void_p') -> bool: ...
- def __ne__(self, other: 'void_p') -> bool: ...
- def __lt__(self, other: 'void_p') -> bool: ...
- def __le__(self, other: 'void_p') -> bool: ...
- def __gt__(self, other: 'void_p') -> bool: ...
- def __ge__(self, other: 'void_p') -> bool: ...
- def __hash__(self) -> int: ...
- def __repr__(self) -> str: ...
- class Pointer(Generic[T], void_p):
- def read(self) -> T: ...
- def write(self, value: T) -> None: ...
- def __getitem__(self, index: int) -> T: ...
- def __setitem__(self, index: int, value: T) -> None: ...
- class char_p(Pointer[int]):
- def read_string(self) -> str: ...
- def write_string(self, value: str) -> None: ...
- class uchar_p(Pointer[int]): pass
- class short_p(Pointer[int]): pass
- class ushort_p(Pointer[int]): pass
- class int_p(Pointer[int]): pass
- class uint_p(Pointer[int]): pass
- class long_p(Pointer[int]): pass
- class ulong_p(Pointer[int]): pass
- class longlong_p(Pointer[int]): pass
- class ulonglong_p(Pointer[int]): pass
- class float_p(Pointer[float]): pass
- class double_p(Pointer[float]): pass
- class bool_p(Pointer[bool]): pass
- class struct:
- def __init__(self, size: int): ...
- def addr(self) -> 'void_p': ...
- def copy(self) -> 'struct': ...
- def sizeof(self) -> int: ...
- def __eq__(self, other: 'struct') -> bool: ...
- def __ne__(self, other: 'struct') -> bool: ...
- def hex(self) -> str: ...
- @staticmethod
- def fromhex(s: str) -> 'struct': ...
- def read_char(self, offset=0) -> int: ...
- def read_uchar(self, offset=0) -> int: ...
- def read_short(self, offset=0) -> int: ...
- def read_ushort(self, offset=0) -> int: ...
- def read_int(self, offset=0) -> int: ...
- def read_uint(self, offset=0) -> int: ...
- def read_long(self, offset=0) -> int: ...
- def read_ulong(self, offset=0) -> int: ...
- def read_longlong(self, offset=0) -> int: ...
- def read_ulonglong(self, offset=0) -> int: ...
- def read_float(self, offset=0) -> float: ...
- def read_double(self, offset=0) -> float: ...
- def read_bool(self, offset=0) -> bool: ...
- def read_void_p(self, offset=0) -> 'void_p': ...
- def write_char(self, value: int, offset=0) -> None: ...
- def write_uchar(self, value: int, offset=0) -> None: ...
- def write_short(self, value: int, offset=0) -> None: ...
- def write_ushort(self, value: int, offset=0) -> None: ...
- def write_int(self, value: int, offset=0) -> None: ...
- def write_uint(self, value: int, offset=0) -> None: ...
- def write_long(self, value: int, offset=0) -> None: ...
- def write_ulong(self, value: int, offset=0) -> None: ...
- def write_longlong(self, value: int, offset=0) -> None: ...
- def write_ulonglong(self, value: int, offset=0) -> None: ...
- def write_float(self, value: float, offset=0) -> None: ...
- def write_double(self, value: float, offset=0) -> None: ...
- def write_bool(self, value: bool, offset=0) -> None: ...
- def write_void_p(self, value: 'void_p', offset=0) -> None: ...
- def char_(val: int) -> struct: ...
- def uchar_(val: int) -> struct: ...
- def short_(val: int) -> struct: ...
- def ushort_(val: int) -> struct: ...
- def int_(val: int) -> struct: ...
- def uint_(val: int) -> struct: ...
- def long_(val: int) -> struct: ...
- def ulong_(val: int) -> struct: ...
- def longlong_(val: int) -> struct: ...
- def ulonglong_(val: int) -> struct: ...
- def float_(val: float) -> struct: ...
- def double_(val: float) -> struct: ...
- def bool_(val: bool) -> struct: ...
- class _StructLike(Generic[T]):
- def tostruct(self) -> struct: ...
- @classmethod
- def fromstruct(cls, s: struct) -> T: ...
- def addr(self) -> 'Pointer[T]': ...
- def copy(self) -> T: ...
- def sizeof(self) -> int: ...
- def __eq__(self, other: T) -> bool: ...
- def __ne__(self, other: T) -> bool: ...
|