""" Auto-generated Python stub file from mbuddy.py Module: mbuddy """ import t, c from stdint import * import string import atom MBUDDY_MIN_BLOCK: t.CDefine = 32 # 最小块大小 (字节),需 >= 16 以容纳链表指针 MBUDDY_MAX_ORDERS: t.CDefine = 32 # 最大阶数数量 MBUDDY_HEADER_SIZE: t.CDefine = 8 # 块头大小 (存储阶数) def _largest_pow2_le(val: t.CSizeT) -> t.CSizeT: pass def _block_size_at_order(order: t.CInt) -> t.CSizeT: pass class MBuddy: mem: t.CVoid | t.CPtr mem_size: t.CSizeT max_order: t.CInt free_lists: t.CUInt64T | t.CPtr lock_val: t.CVolatile | t.CInt def __init__(self: MBuddy, arena: t.CVoid | t.CPtr, arena_size: t.CSizeT) -> t.CInt: pass def __enter__(self: MBuddy) -> 'MBuddy' | t.CPtr: pass def __exit__(self: MBuddy) -> t.CInt: pass def reset(self: MBuddy) -> t.CInt: pass def _fl_push(self: MBuddy, order: t.CInt, block: t.CVoid | t.CPtr) -> t.CInt: pass def _fl_pop(self: MBuddy, order: t.CInt) -> t.CVoid | t.CPtr: pass def _fl_find_and_remove(self: MBuddy, order: t.CInt, target: t.CVoid | t.CPtr) -> t.CInt: pass def _buddy_of(self: MBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CVoid | t.CPtr: pass def _order_for_size(self: MBuddy, size: t.CSizeT) -> t.CInt: pass def _split_to_order(self: MBuddy, to_order: t.CInt) -> t.CVoid | t.CPtr: pass def _coalesce(self: MBuddy, block: t.CVoid | t.CPtr, order: t.CInt) -> t.CInt: pass def _is_valid_ptr(self: MBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass def _fl_count(self: MBuddy, order: t.CInt) -> t.CSizeT: pass def _lock(self: MBuddy) -> t.CInt: pass def _unlock(self: MBuddy) -> t.CInt: pass def alloc(self: MBuddy, size: t.CSizeT) -> t.CVoid | t.CPtr: pass def free(self: MBuddy, ptr: t.CVoid | t.CPtr) -> t.CInt: pass def calloc(self: MBuddy, count: t.CSizeT, size: t.CSizeT) -> t.CVoid | t.CPtr: pass def realloc(self: MBuddy, ptr: t.CVoid | t.CPtr, new_size: t.CSizeT) -> t.CVoid | t.CPtr: pass def stats(self: MBuddy) -> t.CSizeT: pass def free_count(self: MBuddy) -> t.CSizeT: pass def self_check(self: MBuddy) -> t.CInt: pass