c.pyi 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. from typing import overload
  2. def malloc(size: int) -> 'void_p': ...
  3. def free(ptr: 'void_p') -> None: ...
  4. def sizeof(type: str) -> int: ...
  5. def memset(ptr: 'void_p', value: int, size: int) -> None: ...
  6. def memcpy(dst: 'void_p', src: 'void_p', size: int) -> None: ...
  7. class void_p:
  8. def __init__(self, addr: int): ...
  9. def __add__(self, i: int) -> 'void_p': ...
  10. def __sub__(self, i: int) -> 'void_p': ...
  11. def __eq__(self, other: 'void_p') -> bool: ...
  12. def __ne__(self, other: 'void_p') -> bool: ...
  13. def __hash__(self) -> int: ...
  14. def hex(self) -> str: ...
  15. def read_char(self) -> int: ...
  16. def read_uchar(self) -> int: ...
  17. def read_short(self) -> int: ...
  18. def read_ushort(self) -> int: ...
  19. def read_int(self) -> int: ...
  20. def read_uint(self) -> int: ...
  21. def read_long(self) -> int: ...
  22. def read_ulong(self) -> int: ...
  23. def read_longlong(self) -> int: ...
  24. def read_ulonglong(self) -> int: ...
  25. def read_float(self) -> float: ...
  26. def read_double(self) -> float: ...
  27. def read_bool(self) -> bool: ...
  28. def read_void_p(self) -> 'void_p': ...
  29. def read_bytes(self, size: int) -> bytes: ...
  30. def read_struct(self, size: int) -> 'struct': ...
  31. def write_char(self, value: int) -> None: ...
  32. def write_uchar(self, value: int) -> None: ...
  33. def write_short(self, value: int) -> None: ...
  34. def write_ushort(self, value: int) -> None: ...
  35. def write_int(self, value: int) -> None: ...
  36. def write_uint(self, value: int) -> None: ...
  37. def write_long(self, value: int) -> None: ...
  38. def write_ulong(self, value: int) -> None: ...
  39. def write_longlong(self, value: int) -> None: ...
  40. def write_ulonglong(self, value: int) -> None: ...
  41. def write_float(self, value: float) -> None: ...
  42. def write_double(self, value: float) -> None: ...
  43. def write_bool(self, value: bool) -> None: ...
  44. def write_void_p(self, value: 'void_p') -> None: ...
  45. def write_bytes(self, value: bytes) -> None: ...
  46. def write_struct(self, value: 'struct') -> None: ...
  47. class struct:
  48. @overload
  49. def __init__(self, size: int): ...
  50. @overload
  51. def __init__(self, buffer: bytes): ...
  52. def addr(self) -> 'void_p': ...
  53. def copy(self) -> 'struct': ...
  54. def sizeof(self) -> int: ...
  55. def __eq__(self, other: 'struct') -> bool: ...
  56. def __ne__(self, other: 'struct') -> bool: ...
  57. def read_char(self, offset=0) -> int: ...
  58. def read_uchar(self, offset=0) -> int: ...
  59. def read_short(self, offset=0) -> int: ...
  60. def read_ushort(self, offset=0) -> int: ...
  61. def read_int(self, offset=0) -> int: ...
  62. def read_uint(self, offset=0) -> int: ...
  63. def read_long(self, offset=0) -> int: ...
  64. def read_ulong(self, offset=0) -> int: ...
  65. def read_longlong(self, offset=0) -> int: ...
  66. def read_ulonglong(self, offset=0) -> int: ...
  67. def read_float(self, offset=0) -> float: ...
  68. def read_double(self, offset=0) -> float: ...
  69. def read_bool(self, offset=0) -> bool: ...
  70. def read_void_p(self, offset=0) -> 'void_p': ...
  71. def write_char(self, value: int, offset=0) -> None: ...
  72. def write_uchar(self, value: int, offset=0) -> None: ...
  73. def write_short(self, value: int, offset=0) -> None: ...
  74. def write_ushort(self, value: int, offset=0) -> None: ...
  75. def write_int(self, value: int, offset=0) -> None: ...
  76. def write_uint(self, value: int, offset=0) -> None: ...
  77. def write_long(self, value: int, offset=0) -> None: ...
  78. def write_ulong(self, value: int, offset=0) -> None: ...
  79. def write_longlong(self, value: int, offset=0) -> None: ...
  80. def write_ulonglong(self, value: int, offset=0) -> None: ...
  81. def write_float(self, value: float, offset=0) -> None: ...
  82. def write_double(self, value: float, offset=0) -> None: ...
  83. def write_bool(self, value: bool, offset=0) -> None: ...
  84. def write_void_p(self, value: 'void_p', offset=0) -> None: ...
  85. def char_(val: int) -> struct: ...
  86. def uchar_(val: int) -> struct: ...
  87. def short_(val: int) -> struct: ...
  88. def ushort_(val: int) -> struct: ...
  89. def int_(val: int) -> struct: ...
  90. def uint_(val: int) -> struct: ...
  91. def long_(val: int) -> struct: ...
  92. def ulong_(val: int) -> struct: ...
  93. def longlong_(val: int) -> struct: ...
  94. def ulonglong_(val: int) -> struct: ...
  95. def float_(val: float) -> struct: ...
  96. def double_(val: float) -> struct: ...
  97. def bool_(val: bool) -> struct: ...
  98. char_p = void_p
  99. uchar_p = void_p
  100. short_p = void_p
  101. ushort_p = void_p
  102. int_p = void_p
  103. uint_p = void_p
  104. long_p = void_p
  105. ulong_p = void_p
  106. longlong_p = void_p
  107. ulonglong_p = void_p
  108. float_p = void_p
  109. double_p = void_p
  110. bool_p = void_p
  111. class array(struct):
  112. count: int
  113. item_size: int
  114. def __new__(cls, count: int, item_size: int): ...
  115. def __getitem__(self, index: int) -> struct: ...
  116. def __setitem__(self, index: int, value: struct) -> None: ...
  117. def __len__(self) -> int: ...
  118. from typing import Generic, TypeVar
  119. T = TypeVar('T')
  120. class _StructLike(Generic[T]):
  121. def to_struct(self) -> struct: ...
  122. @classmethod
  123. def from_struct(cls, s: struct) -> T: ...
  124. def addr(self) -> '_PointerLike[T]': ...
  125. def sizeof(self) -> int: ...
  126. def copy(self) -> T: ...
  127. def __eq__(self, other: T) -> bool: ...
  128. def __ne__(self, other: T) -> bool: ...
  129. class _PointerLike(Generic[T]):
  130. def __eq__(self, other) -> bool: ...
  131. def __ne__(self, other) -> bool: ...
  132. def __hash__(self) -> int: ...