48 lines
2.1 KiB
Python
48 lines
2.1 KiB
Python
"""
|
|
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 |