from typing import overload def malloc(size: int) -> 'void_p': ... def free(ptr: 'void_p') -> None: ... def sizeof(type: str) -> int: ... class void_p: def __add__(self, i: int) -> 'void_p': ... def __sub__(self, i: int) -> 'void_p': ... def __eq__(self, other: 'void_p') -> bool: ... def __ne__(self, other: 'void_p') -> bool: ... def char(self) -> int: ... def uchar(self) -> int: ... def short(self) -> int: ... def ushort(self) -> int: ... def int(self) -> int: ... def uint(self) -> int: ... def long(self) -> int: ... def ulong(self) -> int: ... def longlong(self) -> int: ... def ulonglong(self) -> int: ... def float(self) -> float: ... def double(self) -> float: ... def bool(self) -> bool: ... def void_p(self) -> 'void_p': ... def get_base_offset(self) -> int: ... @overload def set_base_offset(self, offset: int) -> None: ... @overload def set_base_offset(self, offset: str) -> None: ... class struct: def address(self) -> 'void_p': ... def copy(self) -> 'struct': ...