from _typeshed import Incomplete
from collections.abc import Generator
from .error import CDefError as CDefError, VerificationError as VerificationError, VerificationMissing as VerificationMissing
from .lock import allocate_lock as allocate_lock
Q_CONST: int
Q_RESTRICT: int
Q_VOLATILE: int
def qualify(quals, replace_with): ...
class BaseTypeByIdentity:
is_array_type: bool
is_raw_function: bool
def get_c_name(self, replace_with: str = "", context: str = "a C file", quals: int = 0): ...
def has_c_name(self): ...
def is_integer_type(self): ...
def get_cached_btype(self, ffi, finishlist, can_delay: bool = False): ...
class BaseType(BaseTypeByIdentity):
def __eq__(self, other): ...
def __ne__(self, other): ...
def __hash__(self) -> int: ...
class VoidType(BaseType):
c_name_with_marker: str
def __init__(self) -> None: ...
def build_backend_type(self, ffi, finishlist): ...
void_type: Incomplete
class BasePrimitiveType(BaseType):
def is_complex_type(self): ...
class PrimitiveType(BasePrimitiveType):
ALL_PRIMITIVE_TYPES: Incomplete
name: Incomplete
c_name_with_marker: Incomplete
def __init__(self, name) -> None: ...
def is_char_type(self): ...
def is_integer_type(self): ...
def is_float_type(self): ...
def is_complex_type(self): ...
def build_backend_type(self, ffi, finishlist): ...
class UnknownIntegerType(BasePrimitiveType):
name: Incomplete
c_name_with_marker: Incomplete
def __init__(self, name) -> None: ...
def is_integer_type(self): ...
def build_backend_type(self, ffi, finishlist) -> None: ...
class UnknownFloatType(BasePrimitiveType):
name: Incomplete
c_name_with_marker: Incomplete
def __init__(self, name) -> None: ...
def build_backend_type(self, ffi, finishlist) -> None: ...
class BaseFunctionType(BaseType):
args: Incomplete
result: Incomplete
ellipsis: Incomplete
abi: Incomplete
c_name_with_marker: Incomplete
def __init__(self, args, result, ellipsis, abi: Incomplete | None = None) -> None: ...
class RawFunctionType(BaseFunctionType):
is_raw_function: bool
def build_backend_type(self, ffi, finishlist) -> None: ...
def as_function_pointer(self): ...
class FunctionPtrType(BaseFunctionType):
def build_backend_type(self, ffi, finishlist): ...
def as_raw_function(self): ...
class PointerType(BaseType):
totype: Incomplete
quals: Incomplete
c_name_with_marker: Incomplete
def __init__(self, totype, quals: int = 0) -> None: ...
def build_backend_type(self, ffi, finishlist): ...
voidp_type: Incomplete
def ConstPointerType(totype): ...
const_voidp_type: Incomplete
class NamedPointerType(PointerType):
name: Incomplete
c_name_with_marker: Incomplete
def __init__(self, totype, name, quals: int = 0) -> None: ...
class ArrayType(BaseType):
is_array_type: bool
item: Incomplete
length: Incomplete
c_name_with_marker: Incomplete
def __init__(self, item, length) -> None: ...
def length_is_unknown(self): ...
def resolve_length(self, newlength): ...
def build_backend_type(self, ffi, finishlist): ...
char_array_type: Incomplete
class StructOrUnionOrEnum(BaseTypeByIdentity):
forcename: Incomplete
c_name_with_marker: Incomplete
def build_c_name_with_marker(self) -> None: ...
def force_the_name(self, forcename) -> None: ...
def get_official_name(self): ...
class StructOrUnion(StructOrUnionOrEnum):
fixedlayout: Incomplete
completed: int
partial: bool
packed: int
name: Incomplete
fldnames: Incomplete
fldtypes: Incomplete
fldbitsize: Incomplete
fldquals: Incomplete
def __init__(self, name, fldnames, fldtypes, fldbitsize, fldquals: Incomplete | None = None) -> None: ...
def anonymous_struct_fields(self) -> Generator[Incomplete, None, None]: ...
def enumfields(self, expand_anonymous_struct_union: bool = True) -> Generator[Incomplete, None, None]: ...
def force_flatten(self) -> None: ...
def get_cached_btype(self, ffi, finishlist, can_delay: bool = False): ...
def finish_backend_type(self, ffi, finishlist) -> None: ...
def check_not_partial(self) -> None: ...
def build_backend_type(self, ffi, finishlist): ...
class StructType(StructOrUnion):
kind: str
class UnionType(StructOrUnion):
kind: str
class EnumType(StructOrUnionOrEnum):
kind: str
partial: bool
partial_resolved: bool
name: Incomplete
enumerators: Incomplete
enumvalues: Incomplete
baseinttype: Incomplete
def __init__(self, name, enumerators, enumvalues, baseinttype: Incomplete | None = None) -> None: ...
forcename: Incomplete
def force_the_name(self, forcename) -> None: ...
def check_not_partial(self) -> None: ...
def build_backend_type(self, ffi, finishlist): ...
def build_baseinttype(self, ffi, finishlist): ...
def unknown_type(name, structname: Incomplete | None = None): ...
def unknown_ptr_type(name, structname: Incomplete | None = None): ...
global_lock: Incomplete
def get_typecache(backend): ...
def global_cache(srctype, ffi, funcname, *args, **kwds): ...
def pointer_cache(ffi, BType): ...
def attach_exception_info(e, name) -> None: ...