c.pyi 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  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 refl(name: str) -> '_refl': ...
  6. def memset(ptr: 'void_p', value: int, size: int) -> None: ...
  7. def memcpy(dst: 'void_p', src: 'void_p', size: int) -> None: ...
  8. class _refl:
  9. def __call__(self) -> 'struct': ...
  10. def __getitem__(self, key: str) -> int: ...
  11. def name(self) -> str: ...
  12. def size(self) -> int: ...
  13. class void_p:
  14. def __add__(self, i: int) -> 'void_p': ...
  15. def __sub__(self, i: int) -> 'void_p': ...
  16. def __eq__(self, other: 'void_p') -> bool: ...
  17. def __ne__(self, other: 'void_p') -> bool: ...
  18. def offset(self, i: int) -> 'void_p': ...
  19. def hex(self) -> str: ...
  20. @staticmethod
  21. def from_hex(s: str) -> 'void_p': ...
  22. def read_char(self) -> int: ...
  23. def read_uchar(self) -> int: ...
  24. def read_short(self) -> int: ...
  25. def read_ushort(self) -> int: ...
  26. def read_int(self) -> int: ...
  27. def read_uint(self) -> int: ...
  28. def read_long(self) -> int: ...
  29. def read_ulong(self) -> int: ...
  30. def read_longlong(self) -> int: ...
  31. def read_ulonglong(self) -> int: ...
  32. def read_float(self) -> float: ...
  33. def read_double(self) -> float: ...
  34. def read_bool(self) -> bool: ...
  35. def read_void_p(self) -> 'void_p': ...
  36. def read_bytes(self, size: int) -> bytes: ...
  37. def read_struct(self, type: str) -> 'struct': ...
  38. def write_char(self, value: int) -> None: ...
  39. def write_uchar(self, value: int) -> None: ...
  40. def write_short(self, value: int) -> None: ...
  41. def write_ushort(self, value: int) -> None: ...
  42. def write_int(self, value: int) -> None: ...
  43. def write_uint(self, value: int) -> None: ...
  44. def write_long(self, value: int) -> None: ...
  45. def write_ulong(self, value: int) -> None: ...
  46. def write_longlong(self, value: int) -> None: ...
  47. def write_ulonglong(self, value: int) -> None: ...
  48. def write_float(self, value: float) -> None: ...
  49. def write_double(self, value: float) -> None: ...
  50. def write_bool(self, value: bool) -> None: ...
  51. def write_void_p(self, value: 'void_p') -> None: ...
  52. def write_bytes(self, value: bytes) -> None: ...
  53. def write_struct(self, value: 'struct') -> None: ...
  54. def get_base_offset(self) -> int: ...
  55. @overload
  56. def set_base_offset(self, offset: int) -> None: ...
  57. @overload
  58. def set_base_offset(self, offset: str) -> None: ...
  59. class struct:
  60. @overload
  61. def __init__(self, size: int): ...
  62. @overload
  63. def __init__(self, p: 'void_p', size: int): ...
  64. @overload
  65. def __init__(self, s: str): ...
  66. @overload
  67. def __init__(self, b: bytes): ...
  68. def addr(self) -> 'void_p': ...
  69. def copy(self) -> 'struct': ...
  70. def size(self) -> int: ...
  71. def __eq__(self, other: 'struct') -> bool: ...
  72. def __ne__(self, other: 'struct') -> bool: ...
  73. def to_string(self) -> str: ...
  74. def to_bytes(self) -> bytes: ...
  75. def read_char(self, offset=0) -> int: ...
  76. def read_uchar(self, offset=0) -> int: ...
  77. def read_short(self, offset=0) -> int: ...
  78. def read_ushort(self, offset=0) -> int: ...
  79. def read_int(self, offset=0) -> int: ...
  80. def read_uint(self, offset=0) -> int: ...
  81. def read_long(self, offset=0) -> int: ...
  82. def read_ulong(self, offset=0) -> int: ...
  83. def read_longlong(self, offset=0) -> int: ...
  84. def read_ulonglong(self, offset=0) -> int: ...
  85. def read_float(self, offset=0) -> float: ...
  86. def read_double(self, offset=0) -> float: ...
  87. def read_bool(self, offset=0) -> bool: ...
  88. def read_void_p(self, offset=0) -> 'void_p': ...
  89. def write_char(self, value: int, offset=0) -> None: ...
  90. def write_uchar(self, value: int, offset=0) -> None: ...
  91. def write_short(self, value: int, offset=0) -> None: ...
  92. def write_ushort(self, value: int, offset=0) -> None: ...
  93. def write_int(self, value: int, offset=0) -> None: ...
  94. def write_uint(self, value: int, offset=0) -> None: ...
  95. def write_long(self, value: int, offset=0) -> None: ...
  96. def write_ulong(self, value: int, offset=0) -> None: ...
  97. def write_longlong(self, value: int, offset=0) -> None: ...
  98. def write_ulonglong(self, value: int, offset=0) -> None: ...
  99. def write_float(self, value: float, offset=0) -> None: ...
  100. def write_double(self, value: float, offset=0) -> None: ...
  101. def write_bool(self, value: bool, offset=0) -> None: ...
  102. def write_void_p(self, value: 'void_p', offset=0) -> None: ...
  103. char_ = refl("char")
  104. uchar_ = refl("uchar")
  105. short_ = refl("short")
  106. ushort_ = refl("ushort")
  107. int_ = refl("int")
  108. uint_ = refl("uint")
  109. long_ = refl("long")
  110. ulong_ = refl("ulong")
  111. longlong_ = refl("longlong")
  112. ulonglong_ = refl("ulonglong")
  113. float_ = refl("float")
  114. double_ = refl("double")
  115. bool_ = refl("bool")
  116. char_p = void_p
  117. uchar_p = void_p
  118. short_p = void_p
  119. ushort_p = void_p
  120. int_p = void_p
  121. uint_p = void_p
  122. long_p = void_p
  123. ulong_p = void_p
  124. longlong_p = void_p
  125. ulonglong_p = void_p
  126. float_p = void_p
  127. double_p = void_p
  128. bool_p = void_p