Skip to content

binder ¤

Classes:

Functions:

Attributes:

log module-attribute ¤

log = getLogger(__name__)

addrc module-attribute ¤

addrc = green

fieldnamec module-attribute ¤

fieldnamec = blue

fieldvaluec module-attribute ¤

fieldvaluec = yellow

typenamec module-attribute ¤

typenamec = red

node_types module-attribute ¤

node_types = {
    "waiting_threads": "struct binder_thread",
    "todo": "struct binder_work",
    "refs": "struct binder_ref",
    "threads": "struct binder_thread",
    "nodes": "struct binder_node",
    "refs_by_node": "struct binder_ref",
}

entry_field_names module-attribute ¤

entry_field_names = {
    "waiting_threads": "waiting_thread_node",
    "todo": "entry",
    "refs": "node_entry",
}

rb_node_field_names module-attribute ¤

rb_node_field_names = {
    "threads": "rb_node",
    "nodes": "rb_node",
    "refs_by_node": "rb_node_node",
}

parser module-attribute ¤

parser = ArgumentParser(description='Show Android Binder information')

IndentContextManager ¤

IndentContextManager()

Methods:

Attributes:

indent instance-attribute ¤

indent = 0

__enter__ ¤

__enter__()

__exit__ ¤

__exit__(exc_type, exc_value, exc_tb)

BinderVisitor ¤

BinderVisitor(procs_addr)

Methods:

Attributes:

indent instance-attribute ¤

addr instance-attribute ¤

addr = get_typed_pointer_value('struct hlist_head', procs_addr)

format_rb_tree ¤

format_rb_tree(field: str, value: Value) -> tuple[str, int]

format_list ¤

format_list(field: str, value: Value, typename: str) -> tuple[str, int]

visit ¤

visit()

format_proc ¤

format_proc(proc: Value, only_heading=False)

format_thread ¤

format_thread(thread: Value, only_heading: bool = False) -> str

format_transaction ¤

format_transaction(transaction: Value, only_heading: bool = False) -> str

format_node ¤

format_node(node: Value) -> str

format_ref ¤

format_ref(ref: Value, only_heading: bool = False) -> str

format_work ¤

format_work(work: Value) -> str

print_object ¤

print_object(obj: Value)

format_spinlock ¤

format_spinlock(lock: Value) -> str

for_each_transaction ¤

for_each_transaction(addr: Value, field: str) -> Iterator[Value]

for_each_hlist_entry ¤

for_each_hlist_entry(head: Value, typename, field) -> Iterator[Value]

binder ¤

binder()