libAtomVM Indexļƒ

__attribute__

Public Members

char magic[4]
uint32_t size
uint32_t info_size
uint32_t version
uint32_t opcode_max
uint32_t labels
uint32_t functions_count
uint8_t code[1]
struct AtomsHashTable

Collaboration diagram for AtomsHashTable:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="AtomsHashTable" tooltip="AtomsHashTable" fillcolor="#BFBFBF"]
    "2" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

int capacity
int count
RWLock *lock
struct HNode **buckets
struct AtomStringIntPair

Public Members

AtomString as_val
int i_val
struct AtomTable

Collaboration diagram for AtomTable:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="HNodeGroup" tooltip="HNodeGroup"]
    "1" [label="AtomTable" tooltip="AtomTable" fillcolor="#BFBFBF"]
    "2" [label="HNode" tooltip="HNode"]
    "3" -> "2" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

int capacity
int count
int last_node_group_avail
RWLock *lock
struct HNode **buckets
struct HNodeGroup *first_node_group
struct HNodeGroup *last_node_group
struct AVMPackData

Collaboration diagram for AVMPackData:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="AVMPackData" tooltip="AVMPackData" fillcolor="#BFBFBF"]
    "3" [label="ListHead" tooltip="ListHead"]
    "2" [label="AVMPackInfo" tooltip="AVMPackInfo"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
}

Public Members

const struct AVMPackInfo *obj_info
struct ListHead avmpack_head
bool in_use
int name_atom_id
const void *data
struct AVMPackInfo

Public Members

void (*destructor)(struct AVMPackData *obj, GlobalContext *global)
struct Bif

Collaboration diagram for Bif:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "20" [label="SpinLock" tooltip="SpinLock"]
    "8" [label="Module" tooltip="Module"]
    "7" [label="ListHead" tooltip="ListHead"]
    "12" [label="HeapFragment" tooltip="HeapFragment"]
    "13" [label="GlobalContext" tooltip="GlobalContext"]
    "9" [label="ModuleFilename" tooltip="ModuleFilename"]
    "16" [label="HNodeGroup" tooltip="HNodeGroup"]
    "19" [label="TimerList" tooltip="TimerList"]
    "10" [label="LiteralEntry" tooltip="LiteralEntry"]
    "5" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" [label="Bif" tooltip="Bif" fillcolor="#BFBFBF"]
    "11" [label="Heap" tooltip="Heap"]
    "3" [label="Context" tooltip="Context"]
    "18" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "4" [label="Mailbox" tooltip="Mailbox"]
    "14" [label="AtomTable" tooltip="AtomTable"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "6" [label="TimerListItem" tooltip="TimerListItem"]
    "17" [label="SyncList" tooltip="SyncList"]
    "15" [label="HNode" tooltip="HNode"]
    "8" -> "2" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="usage"]
    "8" -> "7" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "12" -> "12" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "17" [dir=forward tooltip="usage"]
    "13" -> "8" [dir=forward tooltip="usage"]
    "13" -> "18" [dir=forward tooltip="usage"]
    "13" -> "19" [dir=forward tooltip="usage"]
    "13" -> "20" [dir=forward tooltip="usage"]
    "13" -> "7" [dir=forward tooltip="usage"]
    "16" -> "15" [dir=forward tooltip="usage"]
    "16" -> "16" [dir=forward tooltip="usage"]
    "19" -> "7" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "6" [dir=forward tooltip="usage"]
    "3" -> "8" [dir=forward tooltip="usage"]
    "3" -> "11" [dir=forward tooltip="usage"]
    "3" -> "13" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="usage"]
    "18" -> "15" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "14" -> "15" [dir=forward tooltip="usage"]
    "14" -> "16" [dir=forward tooltip="usage"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "17" -> "7" [dir=forward tooltip="usage"]
    "15" -> "15" [dir=forward tooltip="usage"]
}

Public Members

struct ExportedFunction base
BifImpl0 bif0_ptr
BifImpl1 bif1_ptr
BifImpl2 bif2_ptr
union Bif::[anonymous] [anonymous]
struct BuiltInAtomRequestSignal

Collaboration diagram for BuiltInAtomRequestSignal:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="BuiltInAtomRequestSignal" tooltip="BuiltInAtomRequestSignal" fillcolor="#BFBFBF"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage base
int32_t sender_pid
term atom
struct BuiltInAtomSignal

Collaboration diagram for BuiltInAtomSignal:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="BuiltInAtomSignal" tooltip="BuiltInAtomSignal" fillcolor="#BFBFBF"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage base
term atom
struct CharDataToBytesAcc

Collaboration diagram for CharDataToBytesAcc:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="HeapFragment" tooltip="HeapFragment"]
    "2" [label="Heap" tooltip="Heap"]
    "1" [label="CharDataToBytesAcc" tooltip="CharDataToBytesAcc" fillcolor="#BFBFBF"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

enum CharDataEncoding in_encoding
enum CharDataEncoding out_encoding
uint8_t *output
term *rest
Heap *heap
bool badarg
bool incomplete_transform
struct CharDataToBytesSizeAcc

Public Members

enum CharDataEncoding in_encoding
enum CharDataEncoding out_encoding
size_t size
size_t rest_size
bool badarg
bool incomplete_transform
struct ConstAVMPack

Collaboration diagram for ConstAVMPack:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="AVMPackData" tooltip="AVMPackData"]
    "4" [label="ListHead" tooltip="ListHead"]
    "3" [label="AVMPackInfo" tooltip="AVMPackInfo"]
    "1" [label="ConstAVMPack" tooltip="ConstAVMPack" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct AVMPackData base
struct Context

Collaboration diagram for Context:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "19" [label="SpinLock" tooltip="SpinLock"]
    "6" [label="Module" tooltip="Module"]
    "5" [label="ListHead" tooltip="ListHead"]
    "11" [label="HeapFragment" tooltip="HeapFragment"]
    "12" [label="GlobalContext" tooltip="GlobalContext"]
    "8" [label="ModuleFilename" tooltip="ModuleFilename"]
    "15" [label="HNodeGroup" tooltip="HNodeGroup"]
    "18" [label="TimerList" tooltip="TimerList"]
    "9" [label="LiteralEntry" tooltip="LiteralEntry"]
    "3" [label="MailboxMessage" tooltip="MailboxMessage"]
    "10" [label="Heap" tooltip="Heap"]
    "1" [label="Context" tooltip="Context" fillcolor="#BFBFBF"]
    "17" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "2" [label="Mailbox" tooltip="Mailbox"]
    "13" [label="AtomTable" tooltip="AtomTable"]
    "7" [label="ExportedFunction" tooltip="ExportedFunction"]
    "4" [label="TimerListItem" tooltip="TimerListItem"]
    "16" [label="SyncList" tooltip="SyncList"]
    "14" [label="HNode" tooltip="HNode"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "6" -> "8" [dir=forward tooltip="usage"]
    "6" -> "9" [dir=forward tooltip="usage"]
    "6" -> "5" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
    "11" -> "11" [dir=forward tooltip="usage"]
    "12" -> "13" [dir=forward tooltip="usage"]
    "12" -> "16" [dir=forward tooltip="usage"]
    "12" -> "6" [dir=forward tooltip="usage"]
    "12" -> "17" [dir=forward tooltip="usage"]
    "12" -> "18" [dir=forward tooltip="usage"]
    "12" -> "19" [dir=forward tooltip="usage"]
    "12" -> "5" [dir=forward tooltip="usage"]
    "15" -> "14" [dir=forward tooltip="usage"]
    "15" -> "15" [dir=forward tooltip="usage"]
    "18" -> "5" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "10" -> "11" [dir=forward tooltip="usage"]
    "1" -> "1" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "4" [dir=forward tooltip="usage"]
    "1" -> "6" [dir=forward tooltip="usage"]
    "1" -> "10" [dir=forward tooltip="usage"]
    "1" -> "12" [dir=forward tooltip="usage"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "17" -> "14" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "15" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "16" -> "5" [dir=forward tooltip="usage"]
    "14" -> "14" [dir=forward tooltip="usage"]
}

Public Members

GlobalContext *global
Heap heap
term *e
term x[MAX_REG]
struct ListHead processes_list_head
struct ListHead processes_table_head
int32_t process_id
struct TimerListItem timer_list_head
struct ListHead monitors_head
avm_float_t *fr
size_t min_heap_size
size_t max_heap_size
enum HeapGrowthStrategy heap_growth_strategy
unsigned long cp
Module *saved_module
const void *saved_ip
void *restore_trap_handler
Mailbox mailbox
struct ListHead dictionary
native_handler_f native_handler
uint64_t reductions
unsigned int leader
unsigned int has_min_heap_size
unsigned int has_max_heap_size
bool trap_exit
enum ContextFlags ATOMIC flags
void *platform_data
term group_leader
term bs
size_t bs_offset
term exit_reason
struct ContextAccumulator

Collaboration diagram for ContextAccumulator:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "20" [label="SpinLock" tooltip="SpinLock"]
    "7" [label="Module" tooltip="Module"]
    "6" [label="ListHead" tooltip="ListHead"]
    "12" [label="HeapFragment" tooltip="HeapFragment"]
    "13" [label="GlobalContext" tooltip="GlobalContext"]
    "9" [label="ModuleFilename" tooltip="ModuleFilename"]
    "16" [label="HNodeGroup" tooltip="HNodeGroup"]
    "19" [label="TimerList" tooltip="TimerList"]
    "10" [label="LiteralEntry" tooltip="LiteralEntry"]
    "4" [label="MailboxMessage" tooltip="MailboxMessage"]
    "11" [label="Heap" tooltip="Heap"]
    "2" [label="Context" tooltip="Context"]
    "18" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "1" [label="ContextAccumulator" tooltip="ContextAccumulator" fillcolor="#BFBFBF"]
    "3" [label="Mailbox" tooltip="Mailbox"]
    "14" [label="AtomTable" tooltip="AtomTable"]
    "8" [label="ExportedFunction" tooltip="ExportedFunction"]
    "5" [label="TimerListItem" tooltip="TimerListItem"]
    "17" [label="SyncList" tooltip="SyncList"]
    "15" [label="HNode" tooltip="HNode"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "7" -> "9" [dir=forward tooltip="usage"]
    "7" -> "10" [dir=forward tooltip="usage"]
    "7" -> "6" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
    "12" -> "12" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "17" [dir=forward tooltip="usage"]
    "13" -> "7" [dir=forward tooltip="usage"]
    "13" -> "18" [dir=forward tooltip="usage"]
    "13" -> "19" [dir=forward tooltip="usage"]
    "13" -> "20" [dir=forward tooltip="usage"]
    "13" -> "6" [dir=forward tooltip="usage"]
    "16" -> "15" [dir=forward tooltip="usage"]
    "16" -> "16" [dir=forward tooltip="usage"]
    "19" -> "6" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "5" [dir=forward tooltip="usage"]
    "2" -> "7" [dir=forward tooltip="usage"]
    "2" -> "11" [dir=forward tooltip="usage"]
    "2" -> "13" [dir=forward tooltip="usage"]
    "2" -> "6" [dir=forward tooltip="usage"]
    "18" -> "15" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "14" -> "15" [dir=forward tooltip="usage"]
    "14" -> "16" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "17" -> "6" [dir=forward tooltip="usage"]
    "15" -> "15" [dir=forward tooltip="usage"]
}

Public Members

Context *ctx
term result
struct CtrDrbgResource

Public Members

mbedtls_ctr_drbg_context context
struct DictEntry

Collaboration diagram for DictEntry:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" [label="DictEntry" tooltip="DictEntry" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
term key
term value
struct dreg_gc_safe_t

Public Members

term *base
int index
struct EntropyContextResource

Public Members

mbedtls_entropy_context context
struct ErlNifEnv

Collaboration diagram for ErlNifEnv:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="SpinLock" tooltip="SpinLock"]
    "10" [label="Module" tooltip="Module"]
    "9" [label="ListHead" tooltip="ListHead"]
    "3" [label="HeapFragment" tooltip="HeapFragment"]
    "4" [label="GlobalContext" tooltip="GlobalContext"]
    "12" [label="ModuleFilename" tooltip="ModuleFilename"]
    "7" [label="HNodeGroup" tooltip="HNodeGroup"]
    "15" [label="TimerList" tooltip="TimerList"]
    "13" [label="LiteralEntry" tooltip="LiteralEntry"]
    "2" [label="Heap" tooltip="Heap"]
    "14" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "1" [label="ErlNifEnv" tooltip="ErlNifEnv" fillcolor="#BFBFBF"]
    "5" [label="AtomTable" tooltip="AtomTable"]
    "11" [label="ExportedFunction" tooltip="ExportedFunction"]
    "8" [label="SyncList" tooltip="SyncList"]
    "6" [label="HNode" tooltip="HNode"]
    "10" -> "11" [dir=forward tooltip="usage"]
    "10" -> "12" [dir=forward tooltip="usage"]
    "10" -> "13" [dir=forward tooltip="usage"]
    "10" -> "9" [dir=forward tooltip="usage"]
    "9" -> "9" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "4" -> "8" [dir=forward tooltip="usage"]
    "4" -> "10" [dir=forward tooltip="usage"]
    "4" -> "14" [dir=forward tooltip="usage"]
    "4" -> "15" [dir=forward tooltip="usage"]
    "4" -> "16" [dir=forward tooltip="usage"]
    "4" -> "9" [dir=forward tooltip="usage"]
    "7" -> "6" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "15" -> "9" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "14" -> "6" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "4" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "5" -> "7" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
}

Public Members

GlobalContext *global
Heap heap
term *stack_pointer
term x[2]
struct ErlNifResourceTypeInit

Public Members

int members
ErlNifResourceDtor *dtor
ErlNifResourceStop *stop
ErlNifResourceDown *down
struct ExportedFunction

Public Members

enum FunctionType type
union float_term_t

Public Members

term t
avm_float_t f
struct FprintfFun

Collaboration diagram for FprintfFun:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="FprintfFun" tooltip="FprintfFun" fillcolor="#BFBFBF"]
    "2" [label="PrinterFun" tooltip="PrinterFun"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

PrinterFun base
FILE *stream
struct GCBif

Collaboration diagram for GCBif:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="GCBif" tooltip="GCBif" fillcolor="#BFBFBF"]
    "20" [label="SpinLock" tooltip="SpinLock"]
    "8" [label="Module" tooltip="Module"]
    "7" [label="ListHead" tooltip="ListHead"]
    "12" [label="HeapFragment" tooltip="HeapFragment"]
    "13" [label="GlobalContext" tooltip="GlobalContext"]
    "9" [label="ModuleFilename" tooltip="ModuleFilename"]
    "16" [label="HNodeGroup" tooltip="HNodeGroup"]
    "19" [label="TimerList" tooltip="TimerList"]
    "10" [label="LiteralEntry" tooltip="LiteralEntry"]
    "5" [label="MailboxMessage" tooltip="MailboxMessage"]
    "11" [label="Heap" tooltip="Heap"]
    "3" [label="Context" tooltip="Context"]
    "18" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "4" [label="Mailbox" tooltip="Mailbox"]
    "14" [label="AtomTable" tooltip="AtomTable"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "6" [label="TimerListItem" tooltip="TimerListItem"]
    "17" [label="SyncList" tooltip="SyncList"]
    "15" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "8" -> "2" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="usage"]
    "8" -> "7" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "12" -> "12" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "17" [dir=forward tooltip="usage"]
    "13" -> "8" [dir=forward tooltip="usage"]
    "13" -> "18" [dir=forward tooltip="usage"]
    "13" -> "19" [dir=forward tooltip="usage"]
    "13" -> "20" [dir=forward tooltip="usage"]
    "13" -> "7" [dir=forward tooltip="usage"]
    "16" -> "15" [dir=forward tooltip="usage"]
    "16" -> "16" [dir=forward tooltip="usage"]
    "19" -> "7" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "6" [dir=forward tooltip="usage"]
    "3" -> "8" [dir=forward tooltip="usage"]
    "3" -> "11" [dir=forward tooltip="usage"]
    "3" -> "13" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="usage"]
    "18" -> "15" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "14" -> "15" [dir=forward tooltip="usage"]
    "14" -> "16" [dir=forward tooltip="usage"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "17" -> "7" [dir=forward tooltip="usage"]
    "15" -> "15" [dir=forward tooltip="usage"]
}

Public Members

struct ExportedFunction base
GCBifImpl1 gcbif1_ptr
GCBifImpl2 gcbif2_ptr
GCBifImpl3 gcbif3_ptr
union GCBif::[anonymous] [anonymous]
struct GenMessage

Public Members

term req
term pid
term ref
struct GlobalContext

Collaboration diagram for GlobalContext:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "13" [label="SpinLock" tooltip="SpinLock"]
    "7" [label="Module" tooltip="Module"]
    "6" [label="ListHead" tooltip="ListHead"]
    "1" [label="GlobalContext" tooltip="GlobalContext" fillcolor="#BFBFBF"]
    "9" [label="ModuleFilename" tooltip="ModuleFilename"]
    "4" [label="HNodeGroup" tooltip="HNodeGroup"]
    "12" [label="TimerList" tooltip="TimerList"]
    "10" [label="LiteralEntry" tooltip="LiteralEntry"]
    "11" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "2" [label="AtomTable" tooltip="AtomTable"]
    "8" [label="ExportedFunction" tooltip="ExportedFunction"]
    "5" [label="SyncList" tooltip="SyncList"]
    "3" [label="HNode" tooltip="HNode"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "7" -> "9" [dir=forward tooltip="usage"]
    "7" -> "10" [dir=forward tooltip="usage"]
    "7" -> "6" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "1" -> "7" [dir=forward tooltip="usage"]
    "1" -> "11" [dir=forward tooltip="usage"]
    "1" -> "12" [dir=forward tooltip="usage"]
    "1" -> "13" [dir=forward tooltip="usage"]
    "1" -> "6" [dir=forward tooltip="usage"]
    "4" -> "3" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
    "12" -> "6" [dir=forward tooltip="usage"]
    "11" -> "3" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead ready_processes
struct ListHead running_processes
struct ListHead waiting_processes
SpinLock processes_spinlock
struct SyncList refc_binaries
struct SyncList processes_table
struct SyncList registered_processes
struct SyncList listeners
struct SyncList resource_types
struct SyncList select_events
int32_t last_process_id
struct AtomTable *atom_table
struct AtomsHashTable *modules_table
RWLock *modules_lock
Module **modules_by_index
int loaded_modules_count
struct SyncList avmpack_data
struct TimerList timer_list
SpinLock timer_spinlock
unsigned long long ref_ticks
SpinLock ref_ticks_spinlock
int ATOMIC online_schedulers
int running_schedulers
bool ATOMIC waiting_scheduler
Mutex *schedulers_mutex
CondVar *schedulers_cv
bool ATOMIC scheduler_stop_all
SpinLock env_spinlock
void *platform_data
struct Heap

Collaboration diagram for Heap:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="HeapFragment" tooltip="HeapFragment"]
    "1" [label="Heap" tooltip="Heap" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

HeapFragment *root
term *heap_start
term *heap_ptr
term *heap_end
struct HeapFragment

Collaboration diagram for HeapFragment:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="HeapFragment" tooltip="HeapFragment" fillcolor="#BFBFBF"]
    "1" -> "1" [dir=forward tooltip="usage"]
}

Public Members

HeapFragment *next
term mso_list
term *heap_end
union HeapFragment::[anonymous] [anonymous]
term storage[]
struct HNode

Collaboration diagram for HNode:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="HNode" tooltip="HNode" fillcolor="#BFBFBF"]
    "1" -> "1" [dir=forward tooltip="usage"]
}

Public Members

struct HNode *next
AtomString key
long index
unsigned long value
unsigned long key
struct HNodeGroup

Collaboration diagram for HNodeGroup:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="HNodeGroup" tooltip="HNodeGroup" fillcolor="#BFBFBF"]
    "2" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "1" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct HNodeGroup *next
long first_index
uint16_t len
struct HNode nodes[]
struct IFFRecord

Public Members

const char name[4]
uint32_t size
struct InMemoryAVMPack

Collaboration diagram for InMemoryAVMPack:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="InMemoryAVMPack" tooltip="InMemoryAVMPack" fillcolor="#BFBFBF"]
    "2" [label="AVMPackData" tooltip="AVMPackData"]
    "4" [label="ListHead" tooltip="ListHead"]
    "3" [label="AVMPackInfo" tooltip="AVMPackInfo"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
}

Public Members

struct AVMPackData base
struct Int24

Public Members

int32_t val24
struct Int40

Public Members

int64_t val40
struct Int48

Public Members

int64_t val48
struct Int56

Public Members

int64_t val56
struct kv_pair

Public Members

term key
term value
struct LineRefOffset

Collaboration diagram for LineRefOffset:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="LineRefOffset" tooltip="LineRefOffset" fillcolor="#BFBFBF"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
unsigned int offset
uint16_t line_ref
struct ListHead

Collaboration diagram for ListHead:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="ListHead" tooltip="ListHead" fillcolor="#BFBFBF"]
    "1" -> "1" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead *next
struct ListHead *prev
struct LiteralEntry

Public Members

uint32_t size
void const *data
struct Mailbox

Collaboration diagram for Mailbox:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" [label="Mailbox" tooltip="Mailbox" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage *ATOMIC outer_first
MailboxMessage *inner_first
MailboxMessage *inner_last
MailboxMessage *receive_pointer
MailboxMessage *receive_pointer_prev
struct MailboxMessage

Collaboration diagram for MailboxMessage:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="MailboxMessage" tooltip="MailboxMessage" fillcolor="#BFBFBF"]
    "1" -> "1" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage *next
enum MessageType type
term *heap_fragment_end
union MailboxMessage::[anonymous] [anonymous]
union maybe_unsigned_int16

Public Members

uint16_t u
int16_t s
union maybe_unsigned_int32

Public Members

uint32_t u
int32_t s
union maybe_unsigned_int64

Public Members

uint64_t u
int64_t s
union maybe_unsigned_int8

Public Members

uint8_t u
int8_t s
struct Message

Collaboration diagram for Message:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="Message" tooltip="Message" fillcolor="#BFBFBF"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage base
term message
term *heap_end
term storage[]
struct Module

Collaboration diagram for Module:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="Module" tooltip="Module" fillcolor="#BFBFBF"]
    "5" [label="ListHead" tooltip="ListHead"]
    "3" [label="ModuleFilename" tooltip="ModuleFilename"]
    "4" [label="LiteralEntry" tooltip="LiteralEntry"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "1" -> "4" [dir=forward tooltip="usage"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
}

Public Members

CodeChunk *code
void *export_table
void *local_table
void *atom_table
void *fun_table
void *str_table
size_t str_table_len
uint16_t *line_refs
struct ModuleFilename *filenames
struct ListHead line_ref_offsets
const struct ExportedFunction **imported_funcs
const uint8_t **labels
void *literals_data
struct LiteralEntry *literals_table
int *local_atoms_to_global_table
void *module_platform_data
int module_index
int end_instruction_ii
unsigned int free_literals_data
Mutex *mutex
struct ModuleFilename

Public Members

uint8_t *data
size_t len
struct ModuleFunction

Collaboration diagram for ModuleFunction:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="Module" tooltip="Module"]
    "1" [label="ModuleFunction" tooltip="ModuleFunction" fillcolor="#BFBFBF"]
    "6" [label="ListHead" tooltip="ListHead"]
    "4" [label="ModuleFilename" tooltip="ModuleFilename"]
    "5" [label="LiteralEntry" tooltip="LiteralEntry"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "3" -> "2" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "3" -> "6" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
}

Public Members

struct ExportedFunction base
Module *target
int label
struct Monitor

Collaboration diagram for Monitor:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="Monitor" tooltip="Monitor" fillcolor="#BFBFBF"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead monitor_list_head
uint64_t ref_ticks
term monitor_obj
struct Nif

Collaboration diagram for Nif:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "20" [label="SpinLock" tooltip="SpinLock"]
    "8" [label="Module" tooltip="Module"]
    "7" [label="ListHead" tooltip="ListHead"]
    "12" [label="HeapFragment" tooltip="HeapFragment"]
    "13" [label="GlobalContext" tooltip="GlobalContext"]
    "9" [label="ModuleFilename" tooltip="ModuleFilename"]
    "16" [label="HNodeGroup" tooltip="HNodeGroup"]
    "19" [label="TimerList" tooltip="TimerList"]
    "10" [label="LiteralEntry" tooltip="LiteralEntry"]
    "5" [label="MailboxMessage" tooltip="MailboxMessage"]
    "11" [label="Heap" tooltip="Heap"]
    "1" [label="Nif" tooltip="Nif" fillcolor="#BFBFBF"]
    "3" [label="Context" tooltip="Context"]
    "18" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "4" [label="Mailbox" tooltip="Mailbox"]
    "14" [label="AtomTable" tooltip="AtomTable"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "6" [label="TimerListItem" tooltip="TimerListItem"]
    "17" [label="SyncList" tooltip="SyncList"]
    "15" [label="HNode" tooltip="HNode"]
    "8" -> "2" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="usage"]
    "8" -> "7" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "12" -> "12" [dir=forward tooltip="usage"]
    "13" -> "14" [dir=forward tooltip="usage"]
    "13" -> "17" [dir=forward tooltip="usage"]
    "13" -> "8" [dir=forward tooltip="usage"]
    "13" -> "18" [dir=forward tooltip="usage"]
    "13" -> "19" [dir=forward tooltip="usage"]
    "13" -> "20" [dir=forward tooltip="usage"]
    "13" -> "7" [dir=forward tooltip="usage"]
    "16" -> "15" [dir=forward tooltip="usage"]
    "16" -> "16" [dir=forward tooltip="usage"]
    "19" -> "7" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
    "11" -> "12" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "6" [dir=forward tooltip="usage"]
    "3" -> "8" [dir=forward tooltip="usage"]
    "3" -> "11" [dir=forward tooltip="usage"]
    "3" -> "13" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="usage"]
    "18" -> "15" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "14" -> "15" [dir=forward tooltip="usage"]
    "14" -> "16" [dir=forward tooltip="usage"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "17" -> "7" [dir=forward tooltip="usage"]
    "15" -> "15" [dir=forward tooltip="usage"]
}

Public Members

struct ExportedFunction base
NifImpl nif_ptr
struct PrinterFun

Collaboration diagram for PrinterFun:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="PrinterFun" tooltip="PrinterFun" fillcolor="#BFBFBF"]
    "1" -> "1" [dir=forward tooltip="usage"]
}

Public Members

printer_function_t print
struct RefcBinary

Collaboration diagram for RefcBinary:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="SpinLock" tooltip="SpinLock"]
    "2" [label="ResourceType" tooltip="ResourceType"]
    "9" [label="Module" tooltip="Module"]
    "8" [label="ListHead" tooltip="ListHead"]
    "3" [label="GlobalContext" tooltip="GlobalContext"]
    "11" [label="ModuleFilename" tooltip="ModuleFilename"]
    "6" [label="HNodeGroup" tooltip="HNodeGroup"]
    "14" [label="TimerList" tooltip="TimerList"]
    "12" [label="LiteralEntry" tooltip="LiteralEntry"]
    "13" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "1" [label="RefcBinary" tooltip="RefcBinary" fillcolor="#BFBFBF"]
    "4" [label="AtomTable" tooltip="AtomTable"]
    "10" [label="ExportedFunction" tooltip="ExportedFunction"]
    "7" [label="SyncList" tooltip="SyncList"]
    "5" [label="HNode" tooltip="HNode"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "8" [dir=forward tooltip="usage"]
    "9" -> "10" [dir=forward tooltip="usage"]
    "9" -> "11" [dir=forward tooltip="usage"]
    "9" -> "12" [dir=forward tooltip="usage"]
    "9" -> "8" [dir=forward tooltip="usage"]
    "8" -> "8" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "7" [dir=forward tooltip="usage"]
    "3" -> "9" [dir=forward tooltip="usage"]
    "3" -> "13" [dir=forward tooltip="usage"]
    "3" -> "14" [dir=forward tooltip="usage"]
    "3" -> "15" [dir=forward tooltip="usage"]
    "3" -> "8" [dir=forward tooltip="usage"]
    "6" -> "5" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
    "14" -> "8" [dir=forward tooltip="usage"]
    "13" -> "5" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "8" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "4" -> "6" [dir=forward tooltip="usage"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
size_t ATOMIC ref_count
size_t size
struct ResourceType *resource_type
uint8_t data[]
struct RefcBinaryAVMPack

Collaboration diagram for RefcBinaryAVMPack:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "18" [label="SpinLock" tooltip="SpinLock"]
    "6" [label="ResourceType" tooltip="ResourceType"]
    "12" [label="Module" tooltip="Module"]
    "2" [label="AVMPackData" tooltip="AVMPackData"]
    "4" [label="ListHead" tooltip="ListHead"]
    "7" [label="GlobalContext" tooltip="GlobalContext"]
    "3" [label="AVMPackInfo" tooltip="AVMPackInfo"]
    "14" [label="ModuleFilename" tooltip="ModuleFilename"]
    "10" [label="HNodeGroup" tooltip="HNodeGroup"]
    "17" [label="TimerList" tooltip="TimerList"]
    "15" [label="LiteralEntry" tooltip="LiteralEntry"]
    "1" [label="RefcBinaryAVMPack" tooltip="RefcBinaryAVMPack" fillcolor="#BFBFBF"]
    "16" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "5" [label="RefcBinary" tooltip="RefcBinary"]
    "8" [label="AtomTable" tooltip="AtomTable"]
    "13" [label="ExportedFunction" tooltip="ExportedFunction"]
    "11" [label="SyncList" tooltip="SyncList"]
    "9" [label="HNode" tooltip="HNode"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "6" -> "4" [dir=forward tooltip="usage"]
    "12" -> "13" [dir=forward tooltip="usage"]
    "12" -> "14" [dir=forward tooltip="usage"]
    "12" -> "15" [dir=forward tooltip="usage"]
    "12" -> "4" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "4" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
    "7" -> "8" [dir=forward tooltip="usage"]
    "7" -> "11" [dir=forward tooltip="usage"]
    "7" -> "12" [dir=forward tooltip="usage"]
    "7" -> "16" [dir=forward tooltip="usage"]
    "7" -> "17" [dir=forward tooltip="usage"]
    "7" -> "18" [dir=forward tooltip="usage"]
    "7" -> "4" [dir=forward tooltip="usage"]
    "10" -> "9" [dir=forward tooltip="usage"]
    "10" -> "10" [dir=forward tooltip="usage"]
    "17" -> "4" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "5" [dir=forward tooltip="usage"]
    "16" -> "9" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "5" -> "4" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="usage"]
    "11" -> "4" [dir=forward tooltip="usage"]
    "9" -> "9" [dir=forward tooltip="usage"]
}

Public Members

struct AVMPackData base
struct RefcBinary *refc
struct RefSignal

Collaboration diagram for RefSignal:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="RefSignal" tooltip="RefSignal" fillcolor="#BFBFBF"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage base
uint64_t ref_ticks
struct RegisteredProcess

Collaboration diagram for RegisteredProcess:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="RegisteredProcess" tooltip="RegisteredProcess" fillcolor="#BFBFBF"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead registered_processes_list_head
int atom_index
int local_process_id
struct ResourceMonitor

Collaboration diagram for ResourceMonitor:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="Monitor" tooltip="Monitor"]
    "3" [label="ListHead" tooltip="ListHead"]
    "1" [label="ResourceMonitor" tooltip="ResourceMonitor" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "3" -> "3" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "3" [dir=forward tooltip="usage"]
}

Public Members

struct Monitor base
struct ListHead resource_list_head
struct ResourceType

Collaboration diagram for ResourceType:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="SpinLock" tooltip="SpinLock"]
    "1" [label="ResourceType" tooltip="ResourceType" fillcolor="#BFBFBF"]
    "8" [label="Module" tooltip="Module"]
    "7" [label="ListHead" tooltip="ListHead"]
    "2" [label="GlobalContext" tooltip="GlobalContext"]
    "10" [label="ModuleFilename" tooltip="ModuleFilename"]
    "5" [label="HNodeGroup" tooltip="HNodeGroup"]
    "13" [label="TimerList" tooltip="TimerList"]
    "11" [label="LiteralEntry" tooltip="LiteralEntry"]
    "12" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "3" [label="AtomTable" tooltip="AtomTable"]
    "9" [label="ExportedFunction" tooltip="ExportedFunction"]
    "6" [label="SyncList" tooltip="SyncList"]
    "4" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "7" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "8" -> "10" [dir=forward tooltip="usage"]
    "8" -> "11" [dir=forward tooltip="usage"]
    "8" -> "7" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "6" [dir=forward tooltip="usage"]
    "2" -> "8" [dir=forward tooltip="usage"]
    "2" -> "12" [dir=forward tooltip="usage"]
    "2" -> "13" [dir=forward tooltip="usage"]
    "2" -> "14" [dir=forward tooltip="usage"]
    "2" -> "7" [dir=forward tooltip="usage"]
    "5" -> "4" [dir=forward tooltip="usage"]
    "5" -> "5" [dir=forward tooltip="usage"]
    "13" -> "7" [dir=forward tooltip="usage"]
    "12" -> "4" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "5" [dir=forward tooltip="usage"]
    "6" -> "7" [dir=forward tooltip="usage"]
    "4" -> "4" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
const char *name
GlobalContext *global
struct ListHead monitors
ErlNifResourceDtor *dtor
ErlNifResourceStop *stop
ErlNifResourceDown *down
struct SelectEvent

Collaboration diagram for SelectEvent:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="SpinLock" tooltip="SpinLock"]
    "1" [label="SelectEvent" tooltip="SelectEvent" fillcolor="#BFBFBF"]
    "3" [label="ResourceType" tooltip="ResourceType"]
    "10" [label="Module" tooltip="Module"]
    "9" [label="ListHead" tooltip="ListHead"]
    "4" [label="GlobalContext" tooltip="GlobalContext"]
    "12" [label="ModuleFilename" tooltip="ModuleFilename"]
    "7" [label="HNodeGroup" tooltip="HNodeGroup"]
    "15" [label="TimerList" tooltip="TimerList"]
    "13" [label="LiteralEntry" tooltip="LiteralEntry"]
    "14" [label="AtomsHashTable" tooltip="AtomsHashTable"]
    "2" [label="RefcBinary" tooltip="RefcBinary"]
    "5" [label="AtomTable" tooltip="AtomTable"]
    "11" [label="ExportedFunction" tooltip="ExportedFunction"]
    "8" [label="SyncList" tooltip="SyncList"]
    "6" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "1" -> "9" [dir=forward tooltip="usage"]
    "3" -> "4" [dir=forward tooltip="usage"]
    "3" -> "9" [dir=forward tooltip="usage"]
    "10" -> "11" [dir=forward tooltip="usage"]
    "10" -> "12" [dir=forward tooltip="usage"]
    "10" -> "13" [dir=forward tooltip="usage"]
    "10" -> "9" [dir=forward tooltip="usage"]
    "9" -> "9" [dir=forward tooltip="usage"]
    "4" -> "5" [dir=forward tooltip="usage"]
    "4" -> "8" [dir=forward tooltip="usage"]
    "4" -> "10" [dir=forward tooltip="usage"]
    "4" -> "14" [dir=forward tooltip="usage"]
    "4" -> "15" [dir=forward tooltip="usage"]
    "4" -> "16" [dir=forward tooltip="usage"]
    "4" -> "9" [dir=forward tooltip="usage"]
    "7" -> "6" [dir=forward tooltip="usage"]
    "7" -> "7" [dir=forward tooltip="usage"]
    "15" -> "9" [dir=forward tooltip="usage"]
    "14" -> "6" [dir=forward tooltip="usage"]
    "2" -> "3" [dir=forward tooltip="usage"]
    "2" -> "9" [dir=forward tooltip="usage"]
    "5" -> "6" [dir=forward tooltip="usage"]
    "5" -> "7" [dir=forward tooltip="usage"]
    "8" -> "9" [dir=forward tooltip="usage"]
    "6" -> "6" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
ErlNifEvent event
struct RefcBinary *resource
bool read
bool write
bool close
int32_t local_pid
uint64_t ref_ticks
struct SnprintfFun

Collaboration diagram for SnprintfFun:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="SnprintfFun" tooltip="SnprintfFun" fillcolor="#BFBFBF"]
    "2" [label="PrinterFun" tooltip="PrinterFun"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

PrinterFun base
int size
char *buf
struct SpinLock

Public Members

int ATOMIC lock
struct SSLConfigResource

Public Members

mbedtls_ssl_config config
struct SSLContextResource

Public Members

mbedtls_ssl_context context
struct SyncList

Collaboration diagram for SyncList:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" [label="SyncList" tooltip="SyncList" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

RWLock *lock
struct ListHead head
struct TempStack

Public Members

term *stack_start
term *stack_pos
term *stack_end
term min_stack[MIN_STACK_SIZE]
struct TermSignal

Collaboration diagram for TermSignal:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="TermSignal" tooltip="TermSignal" fillcolor="#BFBFBF"]
    "2" [label="MailboxMessage" tooltip="MailboxMessage"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

MailboxMessage base
term signal_term
term *heap_end
term storage[]
struct TimerList

Collaboration diagram for TimerList:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" [label="TimerList" tooltip="TimerList" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ListHead head
int timers
uint64_t next_timer
struct TimerListItem

Collaboration diagram for TimerListItem:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="ListHead" tooltip="ListHead"]
    "1" [label="TimerListItem" tooltip="TimerListItem" fillcolor="#BFBFBF"]
    "2" -> "2" [dir=forward tooltip="usage"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

uint64_t expiry_time
struct ListHead head
struct UnresolvedFunctionCall

Collaboration diagram for UnresolvedFunctionCall:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="UnresolvedFunctionCall" tooltip="UnresolvedFunctionCall" fillcolor="#BFBFBF"]
    "2" [label="ExportedFunction" tooltip="ExportedFunction"]
    "1" -> "2" [dir=forward tooltip="usage"]
}

Public Members

struct ExportedFunction base
int module_atom_index
int function_atom_index
int arity
struct ValuesHashTable

Collaboration diagram for ValuesHashTable:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="ValuesHashTable" tooltip="ValuesHashTable" fillcolor="#BFBFBF"]
    "2" [label="HNode" tooltip="HNode"]
    "1" -> "2" [dir=forward tooltip="usage"]
    "2" -> "2" [dir=forward tooltip="usage"]
}

Public Members

int capacity
int count
RWLock *lock
struct HNode **buckets
file atom.c

Include dependency graph for atom.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.c" fillcolor="#BFBFBF"]
    "2" [label="atom.h" tooltip="atom.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "4" [label="stdlib.h" tooltip="stdlib.h"]
    "7" [label="utils.h" tooltip="utils.h"]
    "8" [label="stddef.h" tooltip="stddef.h"]
    "6" [label="string.h" tooltip="string.h"]
    "5" [label="stdio.h" tooltip="stdio.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
}

Functions

void atom_string_to_c(AtomString atom_string, char *buf, size_t bufsize)
int atom_are_equals(AtomString a, AtomString b)
void atom_write_mfa(char *buf, size_t buf_size, AtomString module, AtomString function, unsigned int arity)
file atom.h

Include dependency graph for atom.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.h" fillcolor="#BFBFBF"]
    "2" [label="stdint.h" tooltip="stdint.h"]
    "3" [label="stdlib.h" tooltip="stdlib.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include atom.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.c"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.h" fillcolor="#BFBFBF"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "12" -> "9" [dir=back tooltip="include"]
    "12" -> "15" [dir=back tooltip="include"]
    "35" -> "9" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "52" [dir=back tooltip="include"]
    "1" -> "13" [dir=back tooltip="include"]
    "1" -> "12" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "34" [dir=back tooltip="include"]
    "1" -> "39" [dir=back tooltip="include"]
    "1" -> "33" [dir=back tooltip="include"]
    "51" -> "5" [dir=back tooltip="include"]
    "51" -> "9" [dir=back tooltip="include"]
    "51" -> "21" [dir=back tooltip="include"]
    "51" -> "23" [dir=back tooltip="include"]
    "48" -> "13" [dir=back tooltip="include"]
    "48" -> "49" [dir=back tooltip="include"]
    "48" -> "50" [dir=back tooltip="include"]
    "48" -> "5" [dir=back tooltip="include"]
    "48" -> "31" [dir=back tooltip="include"]
    "48" -> "9" [dir=back tooltip="include"]
    "48" -> "15" [dir=back tooltip="include"]
    "48" -> "32" [dir=back tooltip="include"]
    "48" -> "30" [dir=back tooltip="include"]
    "48" -> "21" [dir=back tooltip="include"]
    "48" -> "22" [dir=back tooltip="include"]
    "48" -> "44" [dir=back tooltip="include"]
    "48" -> "45" [dir=back tooltip="include"]
    "48" -> "23" [dir=back tooltip="include"]
    "48" -> "25" [dir=back tooltip="include"]
    "48" -> "37" [dir=back tooltip="include"]
    "28" -> "29" [dir=back tooltip="include"]
    "28" -> "30" [dir=back tooltip="include"]
    "28" -> "21" [dir=back tooltip="include"]
    "28" -> "22" [dir=back tooltip="include"]
    "46" -> "47" [dir=back tooltip="include"]
    "46" -> "9" [dir=back tooltip="include"]
    "46" -> "15" [dir=back tooltip="include"]
    "46" -> "21" [dir=back tooltip="include"]
    "46" -> "19" [dir=back tooltip="include"]
    "11" -> "12" [dir=back tooltip="include"]
    "11" -> "10" [dir=back tooltip="include"]
    "11" -> "16" [dir=back tooltip="include"]
    "11" -> "20" [dir=back tooltip="include"]
    "11" -> "26" [dir=back tooltip="include"]
    "11" -> "5" [dir=back tooltip="include"]
    "11" -> "27" [dir=back tooltip="include"]
    "11" -> "18" [dir=back tooltip="include"]
    "11" -> "14" [dir=back tooltip="include"]
    "11" -> "34" [dir=back tooltip="include"]
    "11" -> "9" [dir=back tooltip="include"]
    "11" -> "39" [dir=back tooltip="include"]
    "11" -> "32" [dir=back tooltip="include"]
    "11" -> "30" [dir=back tooltip="include"]
    "11" -> "21" [dir=back tooltip="include"]
    "11" -> "22" [dir=back tooltip="include"]
    "11" -> "44" [dir=back tooltip="include"]
    "11" -> "45" [dir=back tooltip="include"]
    "11" -> "24" [dir=back tooltip="include"]
    "11" -> "25" [dir=back tooltip="include"]
    "11" -> "46" [dir=back tooltip="include"]
    "11" -> "36" [dir=back tooltip="include"]
    "11" -> "33" [dir=back tooltip="include"]
    "45" -> "29" [dir=back tooltip="include"]
    "45" -> "9" [dir=back tooltip="include"]
    "45" -> "30" [dir=back tooltip="include"]
    "45" -> "21" [dir=back tooltip="include"]
    "45" -> "22" [dir=back tooltip="include"]
    "45" -> "44" [dir=back tooltip="include"]
    "4" -> "3" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "6" [dir=back tooltip="include"]
    "4" -> "31" [dir=back tooltip="include"]
    "4" -> "34" [dir=back tooltip="include"]
    "4" -> "9" [dir=back tooltip="include"]
    "4" -> "33" [dir=back tooltip="include"]
    "36" -> "15" [dir=back tooltip="include"]
    "36" -> "37" [dir=back tooltip="include"]
    "34" -> "12" [dir=back tooltip="include"]
    "34" -> "14" [dir=back tooltip="include"]
    "34" -> "9" [dir=back tooltip="include"]
    "34" -> "15" [dir=back tooltip="include"]
    "34" -> "35" [dir=back tooltip="include"]
    "34" -> "36" [dir=back tooltip="include"]
    "34" -> "38" [dir=back tooltip="include"]
    "7" -> "8" [dir=back tooltip="include"]
    "7" -> "5" [dir=back tooltip="include"]
    "7" -> "9" [dir=back tooltip="include"]
    "27" -> "28" [dir=back tooltip="include"]
    "27" -> "31" [dir=back tooltip="include"]
    "27" -> "9" [dir=back tooltip="include"]
    "27" -> "32" [dir=back tooltip="include"]
    "27" -> "30" [dir=back tooltip="include"]
    "27" -> "21" [dir=back tooltip="include"]
    "27" -> "22" [dir=back tooltip="include"]
    "27" -> "23" [dir=back tooltip="include"]
    "27" -> "33" [dir=back tooltip="include"]
    "43" -> "22" [dir=back tooltip="include"]
    "40" -> "32" [dir=back tooltip="include"]
    "41" -> "30" [dir=back tooltip="include"]
    "20" -> "10" [dir=back tooltip="include"]
    "20" -> "5" [dir=back tooltip="include"]
    "20" -> "18" [dir=back tooltip="include"]
    "20" -> "21" [dir=back tooltip="include"]
    "20" -> "22" [dir=back tooltip="include"]
    "20" -> "23" [dir=back tooltip="include"]
    "20" -> "24" [dir=back tooltip="include"]
    "20" -> "25" [dir=back tooltip="include"]
    "38" -> "10" [dir=back tooltip="include"]
    "38" -> "5" [dir=back tooltip="include"]
    "38" -> "14" [dir=back tooltip="include"]
    "38" -> "9" [dir=back tooltip="include"]
    "38" -> "21" [dir=back tooltip="include"]
    "38" -> "25" [dir=back tooltip="include"]
    "38" -> "19" [dir=back tooltip="include"]
    "52" -> "53" [dir=back tooltip="include"]
    "52" -> "5" [dir=back tooltip="include"]
    "52" -> "34" [dir=back tooltip="include"]
    "39" -> "14" [dir=back tooltip="include"]
    "39" -> "9" [dir=back tooltip="include"]
    "39" -> "15" [dir=back tooltip="include"]
    "39" -> "32" [dir=back tooltip="include"]
    "39" -> "40" [dir=back tooltip="include"]
    "39" -> "30" [dir=back tooltip="include"]
    "39" -> "41" [dir=back tooltip="include"]
    "39" -> "21" [dir=back tooltip="include"]
    "39" -> "42" [dir=back tooltip="include"]
    "39" -> "22" [dir=back tooltip="include"]
    "39" -> "43" [dir=back tooltip="include"]
    "39" -> "23" [dir=back tooltip="include"]
    "15" -> "10" [dir=back tooltip="include"]
    "15" -> "14" [dir=back tooltip="include"]
    "16" -> "17" [dir=back tooltip="include"]
    "16" -> "18" [dir=back tooltip="include"]
    "16" -> "15" [dir=back tooltip="include"]
    "16" -> "19" [dir=back tooltip="include"]
    "6" -> "7" [dir=back tooltip="include"]
    "6" -> "10" [dir=back tooltip="include"]
    "6" -> "11" [dir=back tooltip="include"]
    "6" -> "48" [dir=back tooltip="include"]
    "6" -> "5" [dir=back tooltip="include"]
    "6" -> "14" [dir=back tooltip="include"]
    "6" -> "34" [dir=back tooltip="include"]
    "6" -> "9" [dir=back tooltip="include"]
    "6" -> "32" [dir=back tooltip="include"]
    "6" -> "30" [dir=back tooltip="include"]
    "6" -> "41" [dir=back tooltip="include"]
    "6" -> "21" [dir=back tooltip="include"]
    "6" -> "42" [dir=back tooltip="include"]
    "6" -> "22" [dir=back tooltip="include"]
    "6" -> "43" [dir=back tooltip="include"]
    "6" -> "44" [dir=back tooltip="include"]
    "6" -> "45" [dir=back tooltip="include"]
    "6" -> "23" [dir=back tooltip="include"]
    "6" -> "51" [dir=back tooltip="include"]
    "6" -> "46" [dir=back tooltip="include"]
    "6" -> "37" [dir=back tooltip="include"]
    "6" -> "38" [dir=back tooltip="include"]
    "42" -> "21" [dir=back tooltip="include"]
    "42" -> "22" [dir=back tooltip="include"]
}

Defines

ATOM_STR(LENSTR, STR)

Typedefs

typedef const void *AtomString

Functions

void atom_string_to_c(AtomString atom_string, char *buf, size_t bufsize)
int atom_are_equals(AtomString a, AtomString b)
static inline size_t atom_string_len(AtomString atom_str)
static inline const void *atom_string_data(AtomString atom_str)
void atom_write_mfa(char *buf, size_t buf_size, AtomString module, AtomString function, unsigned int arity)
file atom_table.c

Include dependency graph for atom_table.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "6" [label="stdbool.h" tooltip="stdbool.h"]
    "9" [label="stdatomic.h" tooltip="stdatomic.h"]
    "3" [label="atom.h" tooltip="atom.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "10" [label="utils.h" tooltip="utils.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c" fillcolor="#BFBFBF"]
    "2" [label="atom_table.h" tooltip="atom_table.h"]
    "11" [label="stddef.h" tooltip="stddef.h"]
    "7" [label="string.h" tooltip="string.h"]
    "8" [label="smp.h" tooltip="smp.h"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "10" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
}

Defines

SMP_RDLOCK(htable)
SMP_WRLOCK(htable)
SMP_UNLOCK(htable)
DEFAULT_SIZE
CAPACITY_INCREASE
ATOM_TABLE_THRESHOLD(capacity)
ATOM_TABLE_NEW_CAPACITY(new_count)

Functions

static struct HNodeGroup *new_node_group(struct AtomTable *table, int len)
struct AtomTable *atom_table_new()
void atom_table_destroy(struct AtomTable *table)
int atom_table_count(struct AtomTable *table)
static unsigned long sdbm_hash(const unsigned char *str, int len)
static inline struct HNode *get_node_from_bucket(const struct AtomTable *hash_table, unsigned long bucket_index, AtomString string)
static inline struct HNode *get_node_with_hash(const struct AtomTable *hash_table, AtomString string, unsigned long hash)
static inline struct HNode *get_node(const struct AtomTable *hash_table, AtomString string)
long atom_table_get_index(struct AtomTable *table, AtomString string)
static struct HNode *get_node_using_index(struct AtomTable *table, long index)
AtomString atom_table_get_atom_string(struct AtomTable *table, long index)
int atom_table_cmp_using_atom_index(struct AtomTable *table, int t_atom_index, int other_atom_index)
atom_ref_t atom_table_get_atom_ptr_and_len(struct AtomTable *table, long index, size_t *out_len)
void atom_table_write_bytes(struct AtomTable *table, atom_ref_t atom, size_t buf_len, void *outbuf)
void atom_table_write_cstring(struct AtomTable *table, atom_ref_t atom, size_t buf_len, char *outbuf)
static inline void init_node(struct HNode *node, AtomString atom, long index)
static inline void insert_node_into_bucket(struct AtomTable *table, int bucket_index, struct HNode *node)
static inline long insert_node(struct AtomTable *table, struct HNodeGroup *node_group, unsigned long bucket_index, AtomString string)
static bool do_rehash(struct AtomTable *table, int new_capacity)
static inline bool maybe_rehash(struct AtomTable *table, int new_entries)
long atom_table_ensure_atom(struct AtomTable *table, AtomString string, enum AtomTableCopyOpt opts)
int atom_table_ensure_atoms(struct AtomTable *table, const void *atoms, int count, int *translate_table)
file atom_table.h

Include dependency graph for atom_table.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="atom.h" tooltip="atom.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "4" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include atom_table.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.h" fillcolor="#BFBFBF"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "10" -> "11" [dir=back tooltip="include"]
    "10" -> "12" [dir=back tooltip="include"]
    "10" -> "7" [dir=back tooltip="include"]
    "10" -> "13" [dir=back tooltip="include"]
    "33" -> "7" [dir=back tooltip="include"]
    "49" -> "3" [dir=back tooltip="include"]
    "49" -> "7" [dir=back tooltip="include"]
    "49" -> "19" [dir=back tooltip="include"]
    "49" -> "21" [dir=back tooltip="include"]
    "46" -> "11" [dir=back tooltip="include"]
    "46" -> "47" [dir=back tooltip="include"]
    "46" -> "48" [dir=back tooltip="include"]
    "46" -> "3" [dir=back tooltip="include"]
    "46" -> "29" [dir=back tooltip="include"]
    "46" -> "7" [dir=back tooltip="include"]
    "46" -> "13" [dir=back tooltip="include"]
    "46" -> "30" [dir=back tooltip="include"]
    "46" -> "28" [dir=back tooltip="include"]
    "46" -> "19" [dir=back tooltip="include"]
    "46" -> "20" [dir=back tooltip="include"]
    "46" -> "42" [dir=back tooltip="include"]
    "46" -> "43" [dir=back tooltip="include"]
    "46" -> "21" [dir=back tooltip="include"]
    "46" -> "23" [dir=back tooltip="include"]
    "46" -> "35" [dir=back tooltip="include"]
    "26" -> "27" [dir=back tooltip="include"]
    "26" -> "28" [dir=back tooltip="include"]
    "26" -> "19" [dir=back tooltip="include"]
    "26" -> "20" [dir=back tooltip="include"]
    "44" -> "45" [dir=back tooltip="include"]
    "44" -> "7" [dir=back tooltip="include"]
    "44" -> "13" [dir=back tooltip="include"]
    "44" -> "19" [dir=back tooltip="include"]
    "44" -> "17" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "8" [dir=back tooltip="include"]
    "9" -> "14" [dir=back tooltip="include"]
    "9" -> "18" [dir=back tooltip="include"]
    "9" -> "24" [dir=back tooltip="include"]
    "9" -> "3" [dir=back tooltip="include"]
    "9" -> "25" [dir=back tooltip="include"]
    "9" -> "16" [dir=back tooltip="include"]
    "9" -> "12" [dir=back tooltip="include"]
    "9" -> "32" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
    "9" -> "37" [dir=back tooltip="include"]
    "9" -> "30" [dir=back tooltip="include"]
    "9" -> "28" [dir=back tooltip="include"]
    "9" -> "19" [dir=back tooltip="include"]
    "9" -> "20" [dir=back tooltip="include"]
    "9" -> "42" [dir=back tooltip="include"]
    "9" -> "43" [dir=back tooltip="include"]
    "9" -> "22" [dir=back tooltip="include"]
    "9" -> "23" [dir=back tooltip="include"]
    "9" -> "44" [dir=back tooltip="include"]
    "9" -> "34" [dir=back tooltip="include"]
    "9" -> "31" [dir=back tooltip="include"]
    "43" -> "27" [dir=back tooltip="include"]
    "43" -> "7" [dir=back tooltip="include"]
    "43" -> "28" [dir=back tooltip="include"]
    "43" -> "19" [dir=back tooltip="include"]
    "43" -> "20" [dir=back tooltip="include"]
    "43" -> "42" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "29" [dir=back tooltip="include"]
    "1" -> "32" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "31" [dir=back tooltip="include"]
    "34" -> "13" [dir=back tooltip="include"]
    "34" -> "35" [dir=back tooltip="include"]
    "32" -> "10" [dir=back tooltip="include"]
    "32" -> "12" [dir=back tooltip="include"]
    "32" -> "7" [dir=back tooltip="include"]
    "32" -> "13" [dir=back tooltip="include"]
    "32" -> "33" [dir=back tooltip="include"]
    "32" -> "34" [dir=back tooltip="include"]
    "32" -> "36" [dir=back tooltip="include"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "3" [dir=back tooltip="include"]
    "5" -> "7" [dir=back tooltip="include"]
    "25" -> "26" [dir=back tooltip="include"]
    "25" -> "29" [dir=back tooltip="include"]
    "25" -> "7" [dir=back tooltip="include"]
    "25" -> "30" [dir=back tooltip="include"]
    "25" -> "28" [dir=back tooltip="include"]
    "25" -> "19" [dir=back tooltip="include"]
    "25" -> "20" [dir=back tooltip="include"]
    "25" -> "21" [dir=back tooltip="include"]
    "25" -> "31" [dir=back tooltip="include"]
    "41" -> "20" [dir=back tooltip="include"]
    "38" -> "30" [dir=back tooltip="include"]
    "39" -> "28" [dir=back tooltip="include"]
    "18" -> "8" [dir=back tooltip="include"]
    "18" -> "3" [dir=back tooltip="include"]
    "18" -> "16" [dir=back tooltip="include"]
    "18" -> "19" [dir=back tooltip="include"]
    "18" -> "20" [dir=back tooltip="include"]
    "18" -> "21" [dir=back tooltip="include"]
    "18" -> "22" [dir=back tooltip="include"]
    "18" -> "23" [dir=back tooltip="include"]
    "36" -> "8" [dir=back tooltip="include"]
    "36" -> "3" [dir=back tooltip="include"]
    "36" -> "12" [dir=back tooltip="include"]
    "36" -> "7" [dir=back tooltip="include"]
    "36" -> "19" [dir=back tooltip="include"]
    "36" -> "23" [dir=back tooltip="include"]
    "36" -> "17" [dir=back tooltip="include"]
    "37" -> "12" [dir=back tooltip="include"]
    "37" -> "7" [dir=back tooltip="include"]
    "37" -> "13" [dir=back tooltip="include"]
    "37" -> "30" [dir=back tooltip="include"]
    "37" -> "38" [dir=back tooltip="include"]
    "37" -> "28" [dir=back tooltip="include"]
    "37" -> "39" [dir=back tooltip="include"]
    "37" -> "19" [dir=back tooltip="include"]
    "37" -> "40" [dir=back tooltip="include"]
    "37" -> "20" [dir=back tooltip="include"]
    "37" -> "41" [dir=back tooltip="include"]
    "37" -> "21" [dir=back tooltip="include"]
    "13" -> "8" [dir=back tooltip="include"]
    "13" -> "12" [dir=back tooltip="include"]
    "14" -> "15" [dir=back tooltip="include"]
    "14" -> "16" [dir=back tooltip="include"]
    "14" -> "13" [dir=back tooltip="include"]
    "14" -> "17" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "8" [dir=back tooltip="include"]
    "4" -> "9" [dir=back tooltip="include"]
    "4" -> "46" [dir=back tooltip="include"]
    "4" -> "3" [dir=back tooltip="include"]
    "4" -> "12" [dir=back tooltip="include"]
    "4" -> "32" [dir=back tooltip="include"]
    "4" -> "7" [dir=back tooltip="include"]
    "4" -> "30" [dir=back tooltip="include"]
    "4" -> "28" [dir=back tooltip="include"]
    "4" -> "39" [dir=back tooltip="include"]
    "4" -> "19" [dir=back tooltip="include"]
    "4" -> "40" [dir=back tooltip="include"]
    "4" -> "20" [dir=back tooltip="include"]
    "4" -> "41" [dir=back tooltip="include"]
    "4" -> "42" [dir=back tooltip="include"]
    "4" -> "43" [dir=back tooltip="include"]
    "4" -> "21" [dir=back tooltip="include"]
    "4" -> "49" [dir=back tooltip="include"]
    "4" -> "44" [dir=back tooltip="include"]
    "4" -> "35" [dir=back tooltip="include"]
    "4" -> "36" [dir=back tooltip="include"]
    "40" -> "19" [dir=back tooltip="include"]
    "40" -> "20" [dir=back tooltip="include"]
}

Defines

ATOM_TABLE_NOT_FOUND
ATOM_TABLE_ALLOC_FAIL

Typedefs

typedef const void *atom_ref_t

Enums

enum AtomTableCopyOpt

Values:

enumerator AtomTableNoOpts
enumerator AtomTableCopyAtom
enumerator AtomTableAlreadyExisting

Functions

struct AtomTable *atom_table_new()
void atom_table_destroy(struct AtomTable *table)
int atom_table_count(struct AtomTable *table)
long atom_table_ensure_atom(struct AtomTable *table, AtomString string, enum AtomTableCopyOpt opts)
AtomString atom_table_get_atom_string(struct AtomTable *table, long index)
long atom_table_get_index(struct AtomTable *table, AtomString string)
int atom_table_ensure_atoms(struct AtomTable *table, const void *atoms, int count, int *translate_table)
int atom_table_cmp_using_atom_index(struct AtomTable *table, int t_atom_index, int other_atom_index)
atom_ref_t atom_table_get_atom_ptr_and_len(struct AtomTable *table, long index, size_t *out_len)
void atom_table_write_bytes(struct AtomTable *table, atom_ref_t atom, size_t buf_len, void *outbuf)
void atom_table_write_cstring(struct AtomTable *table, atom_ref_t atom, size_t buf_len, char *outbuf)
file atomshashtable.c

Include dependency graph for atomshashtable.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "7" [label="stdbool.h" tooltip="stdbool.h"]
    "8" [label="stdatomic.h" tooltip="stdatomic.h"]
    "3" [label="atom.h" tooltip="atom.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "9" [label="utils.h" tooltip="utils.h"]
    "10" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="string.h" tooltip="string.h"]
    "6" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" fillcolor="#BFBFBF"]
    "2" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "8" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "9" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "11" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
}

Defines

SMP_RDLOCK(htable)
SMP_WRLOCK(htable)
SMP_UNLOCK(htable)
DEFAULT_SIZE

Functions

static unsigned long sdbm_hash(const unsigned char *str, int len)
struct AtomsHashTable *atomshashtable_new()
int atomshashtable_insert(struct AtomsHashTable *hash_table, AtomString string, unsigned long value)
unsigned long atomshashtable_get_value(const struct AtomsHashTable *hash_table, const AtomString string, unsigned long default_value)
int atomshashtable_has_key(const struct AtomsHashTable *hash_table, const AtomString string)
file atomshashtable.h

Include dependency graph for atomshashtable.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="atom.h" tooltip="atom.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "4" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h" fillcolor="#BFBFBF"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include atomshashtable.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.h" fillcolor="#BFBFBF"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "7" [dir=back tooltip="include"]
    "5" -> "8" [dir=back tooltip="include"]
    "5" -> "9" [dir=back tooltip="include"]
    "11" -> "8" [dir=back tooltip="include"]
    "12" -> "9" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "7" [dir=back tooltip="include"]
    "4" -> "8" [dir=back tooltip="include"]
    "4" -> "9" [dir=back tooltip="include"]
    "4" -> "11" [dir=back tooltip="include"]
    "4" -> "12" [dir=back tooltip="include"]
    "4" -> "14" [dir=back tooltip="include"]
    "14" -> "10" [dir=back tooltip="include"]
    "14" -> "3" [dir=back tooltip="include"]
    "14" -> "7" [dir=back tooltip="include"]
    "14" -> "8" [dir=back tooltip="include"]
    "14" -> "15" [dir=back tooltip="include"]
    "14" -> "16" [dir=back tooltip="include"]
    "14" -> "17" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
}

Defines

TYPEDEF_RWLOCK
TO_ATOMSHASHTABLE_VALUE(value)

Typedefs

typedef struct RWLock RWLock

Functions

struct AtomsHashTable *atomshashtable_new()
int atomshashtable_insert(struct AtomsHashTable *hash_table, AtomString string, unsigned long value)
unsigned long atomshashtable_get_value(const struct AtomsHashTable *hash_table, AtomString string, unsigned long default_value)
int atomshashtable_has_key(const struct AtomsHashTable *hash_table, AtomString string)
file avmpack.c

Include dependency graph for avmpack.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" fillcolor="#BFBFBF"]
    "2" [label="avmpack.h" tooltip="avmpack.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "20" [dir=forward tooltip="include"]
    "1" -> "18" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "15" [dir=forward tooltip="include"]
    "2" -> "23" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

Defines

AVMPACK_SIZE

Functions

static inline int pad(int size)
int avmpack_is_valid(const void *avmpack_binary, uint32_t size)
int avmpack_find_section_by_flag(const void *avmpack_binary, uint32_t flags_mask, const void **ptr, uint32_t *size, const char **name)
int avmpack_find_section_by_name(const void *avmpack_binary, const char *name, const void **ptr, uint32_t *size)
void *avmpack_fold(void *accum, const void *avmpack_binary, avmpack_fold_fun fold_fun)
static void in_memory_avm_pack_destructor(struct AVMPackData *obj, GlobalContext *global)
static void const_avm_pack_destructor(struct AVMPackData *obj, GlobalContext *global)

Variables

const struct AVMPackInfo in_memory_avm_pack_info  = {.destructor = in_memory_avm_pack_destructor}
const struct AVMPackInfo const_avm_pack_info  = {.destructor = const_avm_pack_destructor}
file avmpack.h

Include dependency graph for avmpack.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="stdbool.h" tooltip="stdbool.h"]
    "15" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "16" [label="synclist.h" tooltip="synclist.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "21" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "19" [label="string.h" tooltip="string.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" fillcolor="#BFBFBF"]
    "18" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "24" [label="resources.h" tooltip="resources.h"]
    "13" [label="smp.h" tooltip="smp.h"]
    "2" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "17" [label="stdio.h" tooltip="stdio.h"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "12" [label="list.h" tooltip="list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "16" -> "12" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "13" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "12" [dir=forward tooltip="include"]
    "1" -> "14" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "18" -> "23" [dir=forward tooltip="include"]
    "18" -> "21" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "15" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "18" [dir=forward tooltip="include"]
    "2" -> "25" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "8" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "12" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include avmpack.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" fillcolor="#BFBFBF"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
}

Defines

END_OF_FILE
BEAM_START_FLAG
BEAM_CODE_FLAG

Typedefs

typedef void *(*avmpack_fold_fun)(void *accum, const void *section_ptr, uint32_t section_size, const void *beam_ptr, uint32_t flags, const char *section_name)

Functions

static inline void avmpack_data_init(struct AVMPackData *avm_pack_data, const struct AVMPackInfo *info)
static inline void avmpack_data_destroy(struct AVMPackData *avm_pack_data, GlobalContext *global)
int avmpack_find_section_by_flag(const void *avmpack_binary, uint32_t flags_mask, const void **ptr, uint32_t *size, const char **name)
int avmpack_find_section_by_name(const void *avmpack_binary, const char *name, const void **ptr, uint32_t *size)
int avmpack_is_valid(const void *avmpack_binary, uint32_t size)
void *avmpack_fold(void *accum, const void *avmpack_binary, avmpack_fold_fun fold_fun)

Variables

const struct AVMPackInfo in_memory_avm_pack_info
const struct AVMPackInfo const_avm_pack_info
file bif.c

Include dependency graph for bif.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" fillcolor="#BFBFBF"]
    "2" [label="bif.h" tooltip="bif.h"]
    "35" [label="dictionary.h" tooltip="dictionary.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "37" [label="trace.h" tooltip="trace.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "34" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "32" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "29" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "38" [label="bifs_hash.h" tooltip="bifs_hash.h"]
    "7" [label="context.h" tooltip="context.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "9" [label="atom_table.h" tooltip="atom_table.h"]
    "36" [label="overflow_helpers.h" tooltip="overflow_helpers.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "30" [label="module.h" tooltip="module.h"]
    "20" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "33" [label="math.h" tooltip="math.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "16" [label="smp.h" tooltip="smp.h"]
    "31" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "8" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "15" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "33" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "34" [dir=forward tooltip="include"]
    "1" -> "35" [dir=forward tooltip="include"]
    "1" -> "36" [dir=forward tooltip="include"]
    "1" -> "37" [dir=forward tooltip="include"]
    "1" -> "23" [dir=forward tooltip="include"]
    "1" -> "38" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "29" [dir=forward tooltip="include"]
    "2" -> "30" [dir=forward tooltip="include"]
    "35" -> "15" [dir=forward tooltip="include"]
    "35" -> "20" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "16" [dir=forward tooltip="include"]
    "34" -> "8" [dir=forward tooltip="include"]
    "29" -> "20" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "15" [dir=forward tooltip="include"]
    "7" -> "28" [dir=forward tooltip="include"]
    "7" -> "16" [dir=forward tooltip="include"]
    "7" -> "20" [dir=forward tooltip="include"]
    "7" -> "27" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "36" -> "20" [dir=forward tooltip="include"]
    "36" -> "5" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "5" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "11" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "30" -> "3" [dir=forward tooltip="include"]
    "30" -> "5" [dir=forward tooltip="include"]
    "30" -> "4" [dir=forward tooltip="include"]
    "30" -> "9" [dir=forward tooltip="include"]
    "30" -> "31" [dir=forward tooltip="include"]
    "30" -> "7" [dir=forward tooltip="include"]
    "30" -> "29" [dir=forward tooltip="include"]
    "30" -> "8" [dir=forward tooltip="include"]
    "30" -> "20" [dir=forward tooltip="include"]
    "30" -> "32" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "6" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "26" -> "6" [dir=forward tooltip="include"]
    "26" -> "10" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "16" -> "3" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "31" -> "4" [dir=forward tooltip="include"]
    "8" -> "5" [dir=forward tooltip="include"]
    "8" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "15" [dir=forward tooltip="include"]
    "8" -> "16" [dir=forward tooltip="include"]
    "8" -> "18" [dir=forward tooltip="include"]
    "8" -> "20" [dir=forward tooltip="include"]
    "8" -> "27" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "11" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "6" [dir=forward tooltip="include"]
    "27" -> "3" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
}

Defines

RAISE_ERROR(error_type_atom)
VALIDATE_VALUE(value, verify_function)

Typedefs

typedef int64_t (*bitwise_op)(int64_t a, int64_t b)
typedef int64_t (*bitshift_op)(int64_t a, avm_int_t b)

Functions

const struct ExportedFunction *bif_registry_get_handler(AtomString module, AtomString function, int arity)
term bif_erlang_self_0(Context *ctx)
term bif_erlang_byte_size_1(Context *ctx, int live, term arg1)
term bif_erlang_bit_size_1(Context *ctx, int live, term arg1)
term bif_erlang_is_atom_1(Context *ctx, term arg1)
term bif_erlang_is_binary_1(Context *ctx, term arg1)
term bif_erlang_is_boolean_1(Context *ctx, term arg1)
term bif_erlang_is_float_1(Context *ctx, term arg1)
term bif_erlang_is_function_1(Context *ctx, term arg1)
term bif_erlang_is_integer_1(Context *ctx, term arg1)
term bif_erlang_is_list_1(Context *ctx, term arg1)
term bif_erlang_is_number_1(Context *ctx, term arg1)
term bif_erlang_is_pid_1(Context *ctx, term arg1)
term bif_erlang_is_reference_1(Context *ctx, term arg1)
term bif_erlang_is_tuple_1(Context *ctx, term arg1)
term bif_erlang_is_map_1(Context *ctx, term arg1)
term bif_erlang_is_map_key_2(Context *ctx, term arg1, term arg2)
term bif_erlang_length_1(Context *ctx, int live, term arg1)
term bif_erlang_hd_1(Context *ctx, term arg1)
term bif_erlang_tl_1(Context *ctx, term arg1)
term bif_erlang_element_2(Context *ctx, term arg1, term arg2)
term bif_erlang_tuple_size_1(Context *ctx, term arg1)
term bif_erlang_map_size_1(Context *ctx, int live, term arg1)
term bif_erlang_map_get_2(Context *ctx, term arg1, term arg2)
static inline term make_boxed_int(Context *ctx, uint32_t live, avm_int_t value)
static inline term make_boxed_int64(Context *ctx, uint32_t live, avm_int64_t value)
static inline term make_maybe_boxed_int(Context *ctx, uint32_t live, avm_int_t value)
static inline term make_maybe_boxed_int64(Context *ctx, uint32_t live, avm_int64_t value)
static term add_overflow_helper(Context *ctx, uint32_t live, term arg1, term arg2)
static term add_boxed_helper(Context *ctx, uint32_t live, term arg1, term arg2)
term bif_erlang_add_2(Context *ctx, int live, term arg1, term arg2)
static term sub_overflow_helper(Context *ctx, uint32_t live, term arg1, term arg2)
static term sub_boxed_helper(Context *ctx, uint32_t live, term arg1, term arg2)
term bif_erlang_sub_2(Context *ctx, int live, term arg1, term arg2)
static term mul_overflow_helper(Context *ctx, uint32_t live, term arg1, term arg2)
static term mul_boxed_helper(Context *ctx, uint32_t live, term arg1, term arg2)
term bif_erlang_mul_2(Context *ctx, int live, term arg1, term arg2)
static term div_boxed_helper(Context *ctx, uint32_t live, term arg1, term arg2)
term bif_erlang_div_2(Context *ctx, int live, term arg1, term arg2)
static term neg_boxed_helper(Context *ctx, uint32_t live, term arg1)
term bif_erlang_neg_1(Context *ctx, int live, term arg1)
static term abs_boxed_helper(Context *ctx, uint32_t live, term arg1)
term bif_erlang_abs_1(Context *ctx, int live, term arg1)
static term rem_boxed_helper(Context *ctx, uint32_t live, term arg1, term arg2)
term bif_erlang_rem_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_ceil_1(Context *ctx, int live, term arg1)
term bif_erlang_floor_1(Context *ctx, int live, term arg1)
term bif_erlang_round_1(Context *ctx, int live, term arg1)
term bif_erlang_trunc_1(Context *ctx, int live, term arg1)
static inline term bitwise_helper(Context *ctx, int live, term arg1, term arg2, bitwise_op op)
static inline int64_t bor(int64_t a, int64_t b)
term bif_erlang_bor_2(Context *ctx, int live, term arg1, term arg2)
static inline int64_t band(int64_t a, int64_t b)
term bif_erlang_band_2(Context *ctx, int live, term arg1, term arg2)
static inline int64_t bxor(int64_t a, int64_t b)
term bif_erlang_bxor_2(Context *ctx, int live, term arg1, term arg2)
static inline term bitshift_helper(Context *ctx, int live, term arg1, term arg2, bitshift_op op)
static inline int64_t bsl(int64_t a, avm_int_t b)
term bif_erlang_bsl_2(Context *ctx, int live, term arg1, term arg2)
static inline int64_t bsr(int64_t a, avm_int_t b)
term bif_erlang_bsr_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_bnot_1(Context *ctx, int live, term arg1)
term bif_erlang_not_1(Context *ctx, term arg1)
term bif_erlang_and_2(Context *ctx, term arg1, term arg2)
term bif_erlang_or_2(Context *ctx, term arg1, term arg2)
term bif_erlang_xor_2(Context *ctx, term arg1, term arg2)
term bif_erlang_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_not_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_exactly_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_exactly_not_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_greater_than_2(Context *ctx, term arg1, term arg2)
term bif_erlang_less_than_2(Context *ctx, term arg1, term arg2)
term bif_erlang_less_than_or_equal_2(Context *ctx, term arg1, term arg2)
term bif_erlang_greater_than_or_equal_2(Context *ctx, term arg1, term arg2)
term bif_erlang_get_1(Context *ctx, term arg1)
term bif_erlang_min_2(Context *ctx, term arg1, term arg2)
term bif_erlang_max_2(Context *ctx, term arg1, term arg2)
file bif.h

Include dependency graph for bif.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="stdbool.h" tooltip="stdbool.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" fillcolor="#BFBFBF"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "3" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "31" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "28" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "6" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "29" [label="module.h" tooltip="module.h"]
    "19" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "30" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "7" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "15" [dir=forward tooltip="include"]
    "28" -> "19" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "14" [dir=forward tooltip="include"]
    "6" -> "27" [dir=forward tooltip="include"]
    "6" -> "15" [dir=forward tooltip="include"]
    "6" -> "19" [dir=forward tooltip="include"]
    "6" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "24" -> "2" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "27" -> "2" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "10" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "29" -> "2" [dir=forward tooltip="include"]
    "29" -> "4" [dir=forward tooltip="include"]
    "29" -> "3" [dir=forward tooltip="include"]
    "29" -> "8" [dir=forward tooltip="include"]
    "29" -> "30" [dir=forward tooltip="include"]
    "29" -> "6" [dir=forward tooltip="include"]
    "29" -> "28" [dir=forward tooltip="include"]
    "29" -> "7" [dir=forward tooltip="include"]
    "29" -> "19" [dir=forward tooltip="include"]
    "29" -> "31" [dir=forward tooltip="include"]
    "19" -> "2" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "5" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "25" -> "5" [dir=forward tooltip="include"]
    "25" -> "9" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "15" -> "2" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "30" -> "3" [dir=forward tooltip="include"]
    "7" -> "4" [dir=forward tooltip="include"]
    "7" -> "3" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "9" [dir=forward tooltip="include"]
    "7" -> "14" [dir=forward tooltip="include"]
    "7" -> "15" [dir=forward tooltip="include"]
    "7" -> "17" [dir=forward tooltip="include"]
    "7" -> "19" [dir=forward tooltip="include"]
    "7" -> "26" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "10" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "5" [dir=forward tooltip="include"]
    "26" -> "2" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include bif.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" fillcolor="#BFBFBF"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "3" [dir=back tooltip="include"]
}

Defines

MAX_BIF_NAME_LEN

Functions

const struct ExportedFunction *bif_registry_get_handler(AtomString module, AtomString function, int arity)
term bif_erlang_self_0(Context *ctx)
term bif_erlang_byte_size_1(Context *ctx, int live, term arg1)
term bif_erlang_bit_size_1(Context *ctx, int live, term arg1)
term bif_erlang_length_1(Context *ctx, int live, term arg1)
term bif_erlang_is_atom_1(Context *ctx, term arg1)
term bif_erlang_is_binary_1(Context *ctx, term arg1)
term bif_erlang_is_boolean_1(Context *ctx, term arg1)
term bif_erlang_is_float_1(Context *ctx, term arg1)
term bif_erlang_is_function_1(Context *ctx, term arg1)
term bif_erlang_is_integer_1(Context *ctx, term arg1)
term bif_erlang_is_list_1(Context *ctx, term arg1)
term bif_erlang_is_number_1(Context *ctx, term arg1)
term bif_erlang_is_pid_1(Context *ctx, term arg1)
term bif_erlang_is_reference_1(Context *ctx, term arg1)
term bif_erlang_is_tuple_1(Context *ctx, term arg1)
term bif_erlang_is_map_1(Context *ctx, term arg1)
term bif_erlang_is_map_key_2(Context *ctx, term arg1, term arg2)
term bif_erlang_hd_1(Context *ctx, term arg1)
term bif_erlang_tl_1(Context *ctx, term arg1)
term bif_erlang_element_2(Context *ctx, term arg1, term arg2)
term bif_erlang_tuple_size_1(Context *ctx, term arg1)
term bif_erlang_map_size_1(Context *ctx, int live, term arg1)
term bif_erlang_map_get_2(Context *ctx, term arg1, term arg2)
term bif_erlang_add_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_sub_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_mul_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_div_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_rem_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_neg_1(Context *ctx, int live, term arg1)
term bif_erlang_abs_1(Context *ctx, int live, term arg1)
term bif_erlang_ceil_1(Context *ctx, int live, term arg1)
term bif_erlang_floor_1(Context *ctx, int live, term arg1)
term bif_erlang_round_1(Context *ctx, int live, term arg1)
term bif_erlang_trunc_1(Context *ctx, int live, term arg1)
term bif_erlang_bor_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_band_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_bxor_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_bsl_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_bsr_2(Context *ctx, int live, term arg1, term arg2)
term bif_erlang_bnot_1(Context *ctx, int live, term arg1)
term bif_erlang_not_1(Context *ctx, term arg1)
term bif_erlang_and_2(Context *ctx, term arg1, term arg2)
term bif_erlang_or_2(Context *ctx, term arg1, term arg2)
term bif_erlang_xor_2(Context *ctx, term arg1, term arg2)
term bif_erlang_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_not_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_exactly_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_exactly_not_equal_to_2(Context *ctx, term arg1, term arg2)
term bif_erlang_greater_than_2(Context *ctx, term arg1, term arg2)
term bif_erlang_less_than_2(Context *ctx, term arg1, term arg2)
term bif_erlang_less_than_or_equal_2(Context *ctx, term arg1, term arg2)
term bif_erlang_greater_than_or_equal_2(Context *ctx, term arg1, term arg2)
term bif_erlang_get_1(Context *ctx, term arg1)
term bif_erlang_min_2(Context *ctx, term arg1, term arg2)
term bif_erlang_max_2(Context *ctx, term arg1, term arg2)
file bitstring.c

Include dependency graph for bitstring.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="stdbool.h" tooltip="stdbool.h"]
    "21" [label="stdatomic.h" tooltip="stdatomic.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" fillcolor="#BFBFBF"]
    "2" [label="bitstring.h" tooltip="bitstring.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "15" [label="utils.h" tooltip="utils.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "16" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "17" [label="refc_binary.h" tooltip="refc_binary.h"]
    "8" [label="string.h" tooltip="string.h"]
    "3" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "22" [label="math.h" tooltip="math.h"]
    "19" [label="resources.h" tooltip="resources.h"]
    "20" [label="smp.h" tooltip="smp.h"]
    "9" [label="memory.h" tooltip="memory.h"]
    "6" [label="stdio.h" tooltip="stdio.h"]
    "18" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "12" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "5" [dir=forward tooltip="include"]
    "17" -> "4" [dir=forward tooltip="include"]
    "17" -> "7" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "19" [dir=forward tooltip="include"]
    "17" -> "20" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "6" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "9" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "19" -> "7" [dir=forward tooltip="include"]
    "19" -> "10" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "20" -> "4" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "15" [dir=forward tooltip="include"]
    "9" -> "5" [dir=forward tooltip="include"]
    "9" -> "7" [dir=forward tooltip="include"]
}

Functions

static inline uint64_t from_le64(uint64_t value)
bool bitstring_extract_any_integer(const uint8_t *src, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, union maybe_unsigned_int64 *dst)
bool bitstring_insert_any_integer(uint8_t *dst, avm_int_t offset, avm_int64_t value, size_t n, enum BitstringFlags bs_flags)
static bool is_invalid_codepoint(int32_t v)
bool bitstring_utf8_encode(uint32_t c, uint8_t *buf, size_t *out_size)
enum UnicodeTransformDecodeResult bitstring_utf8_decode(const uint8_t *buf, size_t len, uint32_t *c, size_t *out_size)
bool bitstring_utf16_encode(uint32_t c, uint8_t *buf, enum BitstringFlags bs_flags, size_t *out_size)
bool bitstring_utf16_decode(const uint8_t *buf, size_t len, int32_t *c, size_t *out_size, enum BitstringFlags bs_flags)
bool bitstring_utf32_encode(uint32_t c, uint8_t *buf, enum BitstringFlags bs_flags)
bool bitstring_utf32_decode(const uint8_t *buf, size_t len, int32_t *c, enum BitstringFlags bs_flags)
void bitstring_copy_bits_incomplete_bytes(uint8_t *dst, size_t bits_offset, const uint8_t *src, size_t bits_count)
bool bitstring_extract_f32(term src_bin, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, avm_float_t *dst)
bool bitstring_extract_f64(term src_bin, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, avm_float_t *dst)
file bitstring.h

Include dependency graph for bitstring.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "20" [label="stdatomic.h" tooltip="stdatomic.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" fillcolor="#BFBFBF"]
    "11" [label="assert.h" tooltip="assert.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "14" [label="utils.h" tooltip="utils.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "15" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "16" [label="refc_binary.h" tooltip="refc_binary.h"]
    "7" [label="string.h" tooltip="string.h"]
    "2" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "18" [label="resources.h" tooltip="resources.h"]
    "19" [label="smp.h" tooltip="smp.h"]
    "8" [label="memory.h" tooltip="memory.h"]
    "5" [label="stdio.h" tooltip="stdio.h"]
    "17" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "16" -> "3" [dir=forward tooltip="include"]
    "16" -> "6" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "18" [dir=forward tooltip="include"]
    "16" -> "19" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "8" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "18" -> "6" [dir=forward tooltip="include"]
    "18" -> "9" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "19" -> "3" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "14" [dir=forward tooltip="include"]
    "8" -> "4" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include bitstring.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" fillcolor="#BFBFBF"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "6" [dir=back tooltip="include"]
}

Defines

READ_16LE_UNALIGNED(ptr)
WRITE_16LE_UNALIGNED(t, ptr, val)
READ_32LE_UNALIGNED(ptr)
WRITE_32LE_UNALIGNED(t, ptr, val)
READ_64LE_UNALIGNED(ptr)
WRITE_64LE_UNALIGNED(t, ptr, val)

Enums

enum BitstringFlags

Values:

enumerator LittleEndianInteger
enumerator SignedInteger
enumerator NativeEndianInteger
enumerator LittleEndianIntegerMask
enum UnicodeTransformDecodeResult

Values:

enumerator UnicodeTransformDecodeSuccess
enumerator UnicodeTransformDecodeFail
enumerator UnicodeTransformDecodeIncomplete

Functions

bool bitstring_extract_any_integer(const uint8_t *src, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, union maybe_unsigned_int64 *dst)
bool bitstring_insert_any_integer(uint8_t *dst, avm_int_t offset, avm_int64_t value, size_t n, enum BitstringFlags bs_flags)
static inline bool bitstring_extract_integer(term src_bin, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, union maybe_unsigned_int64 *dst)
static inline bool bitstring_insert_integer(term dst_bin, size_t offset, avm_int64_t value, size_t n, enum BitstringFlags bs_flags)
bool bitstring_utf8_encode(uint32_t c, uint8_t *buf, size_t *out_size)
enum UnicodeTransformDecodeResult bitstring_utf8_decode(const uint8_t *buf, size_t len, uint32_t *c, size_t *out_size)
bool bitstring_utf16_encode(uint32_t c, uint8_t *buf, enum BitstringFlags bs_flags, size_t *out_size)
bool bitstring_utf16_decode(const uint8_t *buf, size_t len, int32_t *c, size_t *out_size, enum BitstringFlags bs_flags)
bool bitstring_utf32_encode(uint32_t c, uint8_t *buf, enum BitstringFlags bs_flags)
bool bitstring_utf32_decode(const uint8_t *buf, size_t len, int32_t *c, enum BitstringFlags bs_flags)
static inline bool bitstring_utf8_size(uint32_t c, size_t *out_size)
static inline bool bitstring_utf16_size(uint32_t c, size_t *out_size)
static inline bool bitstring_insert_utf8(term dst_bin, size_t offset, uint32_t c, size_t *out_size)
static inline bool bitstring_match_utf8(term src_bin, size_t offset, uint32_t *c, size_t *out_size)
static inline bool bitstring_insert_utf16(term dst_bin, size_t offset, uint32_t c, enum BitstringFlags bs_flags, size_t *out_size)
static inline bool bitstring_match_utf16(term src_bin, size_t offset, int32_t *c, size_t *out_size, enum BitstringFlags bs_flags)
static inline bool bitstring_insert_utf32(term dst_bin, size_t offset, uint32_t c, enum BitstringFlags bs_flags)
static inline bool bitstring_match_utf32(term src_bin, size_t offset, int32_t *c, enum BitstringFlags bs_flags)
void bitstring_copy_bits_incomplete_bytes(uint8_t *dst, size_t bits_offset, const uint8_t *src, size_t bits_count)
static inline void bitstring_copy_bits(uint8_t *dst, size_t bits_offset, const uint8_t *src, size_t bits_count)
bool bitstring_extract_f32(term src_bin, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, avm_float_t *dst)
bool bitstring_extract_f64(term src_bin, size_t offset, avm_int_t n, enum BitstringFlags bs_flags, avm_float_t *dst)
file context.c

Include dependency graph for context.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "39" [label="bif.h" tooltip="bif.h"]
    "30" [label="dictionary.h" tooltip="dictionary.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "40" [label="bitstring.h" tooltip="bitstring.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "47" [label="trace.h" tooltip="trace.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "42" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "28" [label="fenv.h" tooltip="fenv.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "36" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "45" [label="scheduler.h" tooltip="scheduler.h"]
    "35" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" fillcolor="#BFBFBF"]
    "2" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "46" [label="stacktrace.h" tooltip="stacktrace.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "33" [label="module.h" tooltip="module.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "44" [label="opcodes.h" tooltip="opcodes.h"]
    "37" [label="time.h" tooltip="time.h"]
    "29" [label="math.h" tooltip="math.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "31" [label="erl_nif_priv.h" tooltip="erl_nif_priv.h"]
    "32" [label="sys.h" tooltip="sys.h"]
    "34" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "43" [label="nifs.h" tooltip="nifs.h"]
    "38" [label="opcodesswitch.h" tooltip="opcodesswitch.h"]
    "41" [label="debug.h" tooltip="debug.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "39" -> "15" [dir=forward tooltip="include"]
    "39" -> "5" [dir=forward tooltip="include"]
    "39" -> "2" [dir=forward tooltip="include"]
    "39" -> "35" [dir=forward tooltip="include"]
    "39" -> "33" [dir=forward tooltip="include"]
    "30" -> "13" [dir=forward tooltip="include"]
    "30" -> "19" [dir=forward tooltip="include"]
    "40" -> "19" [dir=forward tooltip="include"]
    "40" -> "15" [dir=forward tooltip="include"]
    "40" -> "4" [dir=forward tooltip="include"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "42" -> "3" [dir=forward tooltip="include"]
    "45" -> "2" [dir=forward tooltip="include"]
    "45" -> "3" [dir=forward tooltip="include"]
    "35" -> "19" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "27" [dir=forward tooltip="include"]
    "1" -> "14" [dir=forward tooltip="include"]
    "1" -> "17" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "19" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "38" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "46" -> "2" [dir=forward tooltip="include"]
    "46" -> "33" [dir=forward tooltip="include"]
    "46" -> "19" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "33" -> "15" [dir=forward tooltip="include"]
    "33" -> "4" [dir=forward tooltip="include"]
    "33" -> "5" [dir=forward tooltip="include"]
    "33" -> "7" [dir=forward tooltip="include"]
    "33" -> "34" [dir=forward tooltip="include"]
    "33" -> "2" [dir=forward tooltip="include"]
    "33" -> "35" [dir=forward tooltip="include"]
    "33" -> "3" [dir=forward tooltip="include"]
    "33" -> "19" [dir=forward tooltip="include"]
    "33" -> "36" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "31" -> "2" [dir=forward tooltip="include"]
    "31" -> "21" [dir=forward tooltip="include"]
    "32" -> "3" [dir=forward tooltip="include"]
    "32" -> "33" [dir=forward tooltip="include"]
    "32" -> "4" [dir=forward tooltip="include"]
    "32" -> "37" [dir=forward tooltip="include"]
    "34" -> "5" [dir=forward tooltip="include"]
    "43" -> "5" [dir=forward tooltip="include"]
    "43" -> "2" [dir=forward tooltip="include"]
    "43" -> "35" [dir=forward tooltip="include"]
    "38" -> "33" [dir=forward tooltip="include"]
    "38" -> "10" [dir=forward tooltip="include"]
    "38" -> "20" [dir=forward tooltip="include"]
    "38" -> "39" [dir=forward tooltip="include"]
    "38" -> "40" [dir=forward tooltip="include"]
    "38" -> "41" [dir=forward tooltip="include"]
    "38" -> "42" [dir=forward tooltip="include"]
    "38" -> "35" [dir=forward tooltip="include"]
    "38" -> "43" [dir=forward tooltip="include"]
    "38" -> "44" [dir=forward tooltip="include"]
    "38" -> "45" [dir=forward tooltip="include"]
    "38" -> "22" [dir=forward tooltip="include"]
    "38" -> "27" [dir=forward tooltip="include"]
    "38" -> "46" [dir=forward tooltip="include"]
    "38" -> "47" [dir=forward tooltip="include"]
    "41" -> "2" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

Defines

IMPL_EXECUTE_LOOP
DEFAULT_STACK_SIZE
BYTES_PER_TERM

Functions

static struct ResourceMonitor *context_monitors_handle_terminate(Context *ctx)
Context *context_new(GlobalContext *glb)
void context_destroy(Context *ctx)
void context_process_kill_signal(Context *ctx, struct TermSignal *signal)
void context_process_process_info_request_signal(Context *ctx, struct BuiltInAtomRequestSignal *signal)
bool context_process_signal_trap_answer(Context *ctx, struct TermSignal *signal)
void context_process_flush_monitor_signal(Context *ctx, uint64_t ref_ticks, bool info)
void context_update_flags (Context *ctx, int mask, int value) CLANG_THREAD_SANITIZE_SAFE
size_t context_message_queue_len(Context *ctx)
size_t context_size(Context *ctx)
bool context_get_process_info(Context *ctx, term *out, term atom_key)
int context_link(Context *ctx, term link_pid)
uint64_t context_monitor(Context *ctx, term monitor_pid)
struct ResourceMonitor *context_resource_monitor(Context *ctx, void *resource)
void context_unlink(Context *ctx, term link_pid)
file context.h

Include dependency graph for context.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="stdbool.h" tooltip="stdbool.h"]
    "15" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "16" [label="synclist.h" tooltip="synclist.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" fillcolor="#BFBFBF"]
    "21" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "19" [label="string.h" tooltip="string.h"]
    "26" [label="mailbox.h" tooltip="mailbox.h"]
    "18" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "24" [label="resources.h" tooltip="resources.h"]
    "13" [label="smp.h" tooltip="smp.h"]
    "2" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "17" [label="stdio.h" tooltip="stdio.h"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "12" [label="list.h" tooltip="list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "16" -> "12" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "13" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "12" [dir=forward tooltip="include"]
    "1" -> "26" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "18" [dir=forward tooltip="include"]
    "1" -> "25" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "12" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
    "26" -> "8" [dir=forward tooltip="include"]
    "26" -> "21" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "18" -> "23" [dir=forward tooltip="include"]
    "18" -> "21" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "15" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "18" [dir=forward tooltip="include"]
    "2" -> "25" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "8" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "12" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include context.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" fillcolor="#BFBFBF"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
    "2" -> "5" [dir=back tooltip="include"]
    "2" -> "6" [dir=back tooltip="include"]
    "28" -> "5" [dir=back tooltip="include"]
    "21" -> "22" [dir=back tooltip="include"]
    "21" -> "23" [dir=back tooltip="include"]
    "21" -> "14" [dir=back tooltip="include"]
    "21" -> "15" [dir=back tooltip="include"]
    "39" -> "40" [dir=back tooltip="include"]
    "39" -> "5" [dir=back tooltip="include"]
    "39" -> "6" [dir=back tooltip="include"]
    "39" -> "14" [dir=back tooltip="include"]
    "39" -> "11" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "12" [dir=back tooltip="include"]
    "1" -> "19" [dir=back tooltip="include"]
    "1" -> "13" [dir=back tooltip="include"]
    "1" -> "20" [dir=back tooltip="include"]
    "1" -> "10" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "27" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "32" [dir=back tooltip="include"]
    "1" -> "25" [dir=back tooltip="include"]
    "1" -> "23" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "15" [dir=back tooltip="include"]
    "1" -> "37" [dir=back tooltip="include"]
    "1" -> "38" [dir=back tooltip="include"]
    "1" -> "17" [dir=back tooltip="include"]
    "1" -> "18" [dir=back tooltip="include"]
    "1" -> "39" [dir=back tooltip="include"]
    "1" -> "29" [dir=back tooltip="include"]
    "1" -> "26" [dir=back tooltip="include"]
    "38" -> "22" [dir=back tooltip="include"]
    "38" -> "5" [dir=back tooltip="include"]
    "38" -> "23" [dir=back tooltip="include"]
    "38" -> "14" [dir=back tooltip="include"]
    "38" -> "15" [dir=back tooltip="include"]
    "38" -> "37" [dir=back tooltip="include"]
    "29" -> "6" [dir=back tooltip="include"]
    "29" -> "30" [dir=back tooltip="include"]
    "27" -> "2" [dir=back tooltip="include"]
    "27" -> "4" [dir=back tooltip="include"]
    "27" -> "5" [dir=back tooltip="include"]
    "27" -> "6" [dir=back tooltip="include"]
    "27" -> "28" [dir=back tooltip="include"]
    "27" -> "29" [dir=back tooltip="include"]
    "27" -> "31" [dir=back tooltip="include"]
    "20" -> "21" [dir=back tooltip="include"]
    "20" -> "24" [dir=back tooltip="include"]
    "20" -> "5" [dir=back tooltip="include"]
    "20" -> "25" [dir=back tooltip="include"]
    "20" -> "23" [dir=back tooltip="include"]
    "20" -> "14" [dir=back tooltip="include"]
    "20" -> "15" [dir=back tooltip="include"]
    "20" -> "16" [dir=back tooltip="include"]
    "20" -> "26" [dir=back tooltip="include"]
    "36" -> "15" [dir=back tooltip="include"]
    "33" -> "25" [dir=back tooltip="include"]
    "34" -> "23" [dir=back tooltip="include"]
    "12" -> "7" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "10" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "12" -> "15" [dir=back tooltip="include"]
    "12" -> "16" [dir=back tooltip="include"]
    "12" -> "17" [dir=back tooltip="include"]
    "12" -> "18" [dir=back tooltip="include"]
    "31" -> "7" [dir=back tooltip="include"]
    "31" -> "13" [dir=back tooltip="include"]
    "31" -> "4" [dir=back tooltip="include"]
    "31" -> "5" [dir=back tooltip="include"]
    "31" -> "14" [dir=back tooltip="include"]
    "31" -> "18" [dir=back tooltip="include"]
    "31" -> "11" [dir=back tooltip="include"]
    "32" -> "4" [dir=back tooltip="include"]
    "32" -> "5" [dir=back tooltip="include"]
    "32" -> "6" [dir=back tooltip="include"]
    "32" -> "25" [dir=back tooltip="include"]
    "32" -> "33" [dir=back tooltip="include"]
    "32" -> "23" [dir=back tooltip="include"]
    "32" -> "34" [dir=back tooltip="include"]
    "32" -> "14" [dir=back tooltip="include"]
    "32" -> "35" [dir=back tooltip="include"]
    "32" -> "15" [dir=back tooltip="include"]
    "32" -> "36" [dir=back tooltip="include"]
    "32" -> "16" [dir=back tooltip="include"]
    "6" -> "7" [dir=back tooltip="include"]
    "6" -> "4" [dir=back tooltip="include"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "10" [dir=back tooltip="include"]
    "8" -> "6" [dir=back tooltip="include"]
    "8" -> "11" [dir=back tooltip="include"]
    "35" -> "14" [dir=back tooltip="include"]
    "35" -> "15" [dir=back tooltip="include"]
}

Defines

MAX_REG

Typedefs

typedef enum NativeHandlerResult NativeHandlerResult
typedef NativeHandlerResult (*native_handler_f)(Context *ctx)

Enums

enum NativeHandlerResult

Values:

enumerator NativeTerminate
enumerator NativeContinue
enum ContextFlags

Values:

enumerator NoFlags
enumerator WaitingTimeout
enumerator WaitingTimeoutExpired
enumerator Running
enumerator Ready
enumerator Killed
enumerator Trap
enum HeapGrowthStrategy

Values:

enumerator BoundedFreeHeapGrowth
enumerator MinimumHeapGrowth
enumerator FibonacciHeapGrowth

Functions

Context *context_new(GlobalContext *glb)
void context_destroy(Context *c)
static inline void context_ensure_fpregs(Context *c)
int context_execute_loop(Context *ctx, Module *mod, const char *function_name, int arity)
static inline int context_is_port_driver(const Context *ctx)
static inline void context_clean_registers(Context *ctx, int live)
static inline term *context_stack_base(const Context *ctx)
static inline size_t context_stack_size(const Context *ctx)
static inline size_t context_avail_free_memory(const Context *ctx)
static inline bool context_is_term_equal_to_atom_string(Context *ctx, term atom_a, AtomString atom_string_b)
size_t context_message_queue_len(Context *ctx)
size_t context_size(Context *ctx)
void context_update_flags(Context *ctx, int mask, int value)
static inline int context_get_flags(Context *ctx, int mask)
void context_process_kill_signal(Context *ctx, struct TermSignal *signal)
void context_process_process_info_request_signal(Context *ctx, struct BuiltInAtomRequestSignal *signal)
bool context_process_signal_trap_answer(Context *ctx, struct TermSignal *signal)
void context_process_flush_monitor_signal(Context *ctx, uint64_t ref_ticks, bool info)
bool context_get_process_info(Context *ctx, term *out, term atom_key)
int context_link(Context *ctx, term monitor_pid)
uint64_t context_monitor(Context *ctx, term monitor_pid)
struct ResourceMonitor *context_resource_monitor(Context *ctx, void *resource)
void context_unlink(Context *ctx, term monitor_pid)
file debug.c

Include dependency graph for debug.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="stdbool.h" tooltip="stdbool.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "6" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "3" [label="context.h" tooltip="context.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "20" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" fillcolor="#BFBFBF"]
    "2" [label="debug.h" tooltip="debug.h"]
    "4" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "6" -> "5" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "28" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "20" [dir=forward tooltip="include"]
    "3" -> "27" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "5" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "25" -> "7" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "10" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "26" -> "7" [dir=forward tooltip="include"]
    "26" -> "9" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "4" -> "9" [dir=forward tooltip="include"]
    "4" -> "14" [dir=forward tooltip="include"]
    "4" -> "15" [dir=forward tooltip="include"]
    "4" -> "18" [dir=forward tooltip="include"]
    "4" -> "20" [dir=forward tooltip="include"]
    "4" -> "27" [dir=forward tooltip="include"]
    "22" -> "9" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "7" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
}

Functions

static COLD_FUNC void debug_display_type (term t, const Context *ctx)
static COLD_FUNC void debug_dump_binary_mem (char *buf, term val, unsigned n)
static COLD_FUNC void debug_dump_term (Context *ctx, term *pos, const char *region, unsigned i)
COLD_FUNC void debug_dump_memory (Context *ctx, term *start, term *end, const char *region)
COLD_FUNC void debug_dump_context (Context *ctx)
COLD_FUNC void debug_dump_heap (Context *ctx)
COLD_FUNC void debug_dump_stack (Context *ctx)
COLD_FUNC void debug_dump_registers (Context *ctx)
COLD_FUNC void debug_print_processes_list (struct ListHead *processes)
COLD_FUNC char reg_type_c (int reg_type)
file debug.h

Include dependency graph for debug.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "2" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" fillcolor="#BFBFBF"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include debug.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" fillcolor="#BFBFBF"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "6" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
}

Defines

DEBUG_DUMP_STACK(...)

Functions

void debug_dump_context(Context *ctx)
void debug_dump_heap(Context *ctx)
void debug_dump_stack(Context *ctx)
void debug_dump_registers(Context *ctx)
void debug_dump_memory(Context *ctx, term *start, term *end, const char *region)
char reg_type_c(int reg_type)
void debug_print_processes_list(struct ListHead *processes)
file defaultatoms.c

Include dependency graph for defaultatoms.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" fillcolor="#BFBFBF"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "2" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "18" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

Functions

void defaultatoms_init(GlobalContext *glb)

Variables

static const char *const false_atom   = "\x05" "false"
static const char *const true_atom   = "\x04" "true"
static const char *const ok_atom   = "\x2" "ok"
static const char *const error_atom   = "\x5" "error"
static const char *const undefined_atom   = "\x9" "undefined"
static const char *const badarg_atom   = "\x6" "badarg"
static const char *const badarith_atom   = "\x08" "badarith"
static const char *const badarity_atom   = "\x08" "badarity"
static const char *const badfun_atom   = "\x06" "badfun"
static const char *const system_limit_atom   = "\xC" "system_limit"
static const char *const function_clause_atom   = "\x0F" "function_clause"
static const char *const try_clause_atom   = "\xA" "try_clause"
static const char *const out_of_memory_atom   = "\xD" "out_of_memory"
static const char *const overflow_atom   = "\x8" "overflow"
static const char *const flush_atom   = "\x5" "flush"
static const char *const heap_size_atom   = "\x9" "heap_size"
static const char *const latin1_atom   = "\x6" "latin1"
static const char *const max_heap_size_atom   ="\xD" "max_heap_size"
static const char *const memory_atom   = "\x6" "memory"
static const char *const message_queue_len_atom   = "\x11" "message_queue_len"
static const char *const puts_atom   = "\x4" "puts"
static const char *const stack_size_atom   = "\xA" "stack_size"
static const char *const min_heap_size_atom   ="\xD" "min_heap_size"
static const char *const process_count_atom   = "\xD" "process_count"
static const char *const port_count_atom   = "\xA" "port_count"
static const char *const atom_count_atom   = "\xA" "atom_count"
static const char *const system_architecture_atom   = "\x13" "system_architecture"
static const char *const wordsize_atom   = "\x8" "wordsize"
static const char *const decimals_atom   = "\x8" "decimals"
static const char *const scientific_atom   = "\xA" "scientific"
static const char *const compact_atom   = "\x7" "compact"
static const char *const badmatch_atom   = "\x8" "badmatch"
static const char *const case_clause_atom   = "\xB" "case_clause"
static const char *const if_clause_atom   = "\x9" "if_clause"
static const char *const throw_atom   = "\x5" "throw"
static const char *const low_entropy_atom   = "\xB" "low_entropy"
static const char *const unsupported_atom   = "\xB" "unsupported"
static const char *const used_atom   = "\x4" "used"
static const char *const all_atom   = "\x3" "all"
static const char *const start_atom   = "\x5" "start"
static const char *const undef_atom   = "\x5" "undef"
static const char *const vm_abort_atom   = "\x8" "vm_abort"
static const char *const link_atom   = "\x4" "link"
static const char *const monitor_atom   = "\x7" "monitor"
static const char *const normal_atom   = "\x6" "normal"
static const char *const down_atom   = "\x4" "DOWN"
static const char *const process_atom   = "\x7" "process"
static const char *const nocatch_atom   = "\x7" "nocatch"
static const char *const refc_binary_info_atom   = "\x10" "refc_binary_info"
static const char *const noproc_atom   = "\x6" "noproc"
static const char *const trap_exit_atom   = "\x9" "trap_exit"
static const char *const exit_atom   = "\x4" "EXIT"
static const char *const badmap_atom   = "\x6" "badmap"
static const char *const badkey_atom   = "\x6" "badkey"
static const char *const none_atom   = "\x4" "none"
static const char *const io_request_atom   = "\xA" "io_request"
static const char *const io_reply_atom   = "\x8" "io_reply"
static const char *const put_chars_atom   = "\x9" "put_chars"
static const char *const lowercase_exit_atom   = "\x4" "exit"
static const char *const atomvm_version_atom   = "\xE" "atomvm_version"
static const char *const second_atom   = "\x6" "second"
static const char *const millisecond_atom   = "\xB" "millisecond"
static const char *const microsecond_atom   = "\xB" "microsecond"
static const char *const infinity_atom   = "\x8" "infinity"
static const char *const timeout_value_atom   = "\xD" "timeout_value"
static const char *const schedulers_atom   = "\xA" "schedulers"
static const char *const schedulers_online_atom   = "\x11" "schedulers_online"
static const char *const append_atom   = "\x6" "append"
static const char *const private_append_atom   = "\xE" "private_append"
static const char *const binary_atom   = "\x6" "binary"
static const char *const integer_atom   = "\x7" "integer"
static const char *const little_atom   = "\x6" "little"
static const char *const native_atom   = "\x6" "native"
static const char *const string_atom   = "\x6" "string"
static const char *const utf8_atom   = "\x4" "utf8"
static const char *const utf16_atom   = "\x5" "utf16"
static const char *const utf32_atom   = "\x5" "utf32"
static const char *const badrecord_atom   = "\x9" "badrecord"
static const char *const copy_atom   = "\x4" "copy"
static const char *const reuse_atom   = "\x5" "reuse"
static const char *const ensure_at_least_atom   = "\xF" "ensure_at_least"
static const char *const ensure_exactly_atom   = "\xE" "ensure_exactly"
static const char *const skip_atom   = "\x4" "skip"
static const char *const get_tail_atom   = "\x8" "get_tail"
static const char *const equal_colon_equal_atom   = "\x3" "=:="
static const char *const signed_atom   = "\x6" "signed"
static const char *const machine_atom   = "\x7" "machine"
static const char *const avm_floatsize_atom   = "\xD" "avm_floatsize"
static const char *const close_atom   = "\x5" "close"
static const char *const closed_atom   = "\x6" "closed"
static const char *const port_atom   = "\x4" "port"
static const char *const info_atom   = "\x4" "info"
static const char *const module_atom   = "\x06" "module"
static const char *const select_atom   = "\x6" "select"
static const char *const ready_input_atom   = "\xB" "ready_input"
static const char *const ready_output_atom   = "\xC" "ready_output"
static const char *const attributes_atom   = "\xA" "attributes"
static const char *const compile_atom   = "\x7" "compile"
static const char *const exports_atom   = "\x7" "exports"
static const char *const incomplete_atom   = "\xA" "incomplete"
static const char *const kill_atom   = "\x4" "kill"
static const char *const killed_atom   = "\x6" "killed"
static const char *const links_atom   = "\x5" "links"
static const char *const total_heap_size_atom   = "\xF" "total_heap_size"
static const char *const atomvm_heap_growth_atom   = "\x12" "atomvm_heap_growth"
static const char *const bounded_free_atom   = "\xC" "bounded_free"
static const char *const minimum_atom   = "\x7" "minimum"
static const char *const fibonacci_atom   = "\x9" "fibonacci"
static const char *const call_atom   = "\x5" "$call"
static const char *const cast_atom   = "\x5" "$cast"
file defaultatoms.h

Include dependency graph for defaultatoms.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="stdbool.h" tooltip="stdbool.h"]
    "15" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "16" [label="synclist.h" tooltip="synclist.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" fillcolor="#BFBFBF"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "21" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "19" [label="string.h" tooltip="string.h"]
    "18" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "24" [label="resources.h" tooltip="resources.h"]
    "13" [label="smp.h" tooltip="smp.h"]
    "2" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "17" [label="stdio.h" tooltip="stdio.h"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "12" [label="list.h" tooltip="list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "16" -> "12" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "13" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "18" -> "23" [dir=forward tooltip="include"]
    "18" -> "21" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "15" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "18" [dir=forward tooltip="include"]
    "2" -> "25" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "8" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "12" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include defaultatoms.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" fillcolor="#BFBFBF"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
    "1" -> "12" [dir=back tooltip="include"]
    "1" -> "13" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "15" [dir=back tooltip="include"]
    "1" -> "16" [dir=back tooltip="include"]
    "1" -> "18" [dir=back tooltip="include"]
    "1" -> "19" [dir=back tooltip="include"]
    "1" -> "20" [dir=back tooltip="include"]
    "16" -> "17" [dir=back tooltip="include"]
    "16" -> "7" [dir=back tooltip="include"]
    "16" -> "12" [dir=back tooltip="include"]
    "16" -> "13" [dir=back tooltip="include"]
    "16" -> "14" [dir=back tooltip="include"]
    "16" -> "15" [dir=back tooltip="include"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "10" [dir=back tooltip="include"]
}

Defines

FALSE_ATOM_INDEX
TRUE_ATOM_INDEX
OK_ATOM_INDEX
ERROR_ATOM_INDEX
UNDEFINED_ATOM_INDEX
BADARG_ATOM_INDEX
BADARITH_ATOM_INDEX
BADARITY_ATOM_INDEX
BADFUN_ATOM_INDEX
FUNCTION_CLAUSE_ATOM_INDEX
TRY_CLAUSE_ATOM_INDEX
OUT_OF_MEMORY_ATOM_INDEX
OVERFLOW_ATOM_INDEX
SYSTEM_LIMIT_ATOM_INDEX
FLUSH_ATOM_INDEX
HEAP_SIZE_ATOM_INDEX
LATIN1_ATOM_INDEX
MAX_HEAP_SIZE_ATOM_INDEX
MEMORY_ATOM_INDEX
MESSAGE_QUEUE_LEN_ATOM_INDEX
PUTS_ATOM_INDEX
STACK_SIZE_ATOM_INDEX
MIN_HEAP_SIZE_ATOM_INDEX
PROCESS_COUNT_ATOM_INDEX
PORT_COUNT_ATOM_INDEX
ATOM_COUNT_ATOM_INDEX
SYSTEM_ARCHITECTURE_ATOM_INDEX
WORDSIZE_ATOM_INDEX
DECIMALS_ATOM_INDEX
SCIENTIFIC_ATOM_INDEX
COMPACT_ATOM_INDEX
BADMATCH_ATOM_INDEX
CASE_CLAUSE_ATOM_INDEX
IF_CLAUSE_ATOM_INDEX
THROW_ATOM_INDEX
LOW_ENTROPY_ATOM_INDEX
UNSUPPORTED_ATOM_INDEX
USED_ATOM_INDEX
ALL_ATOM_INDEX
START_ATOM_INDEX
UNDEF_ATOM_INDEX
VM_ABORT_ATOM_INDEX
MONITOR_ATOM_INDEX
NORMAL_ATOM_INDEX
DOWN_ATOM_INDEX
PROCESS_ATOM_INDEX
NOCATCH_ATOM_INDEX
REFC_BINARY_INFO_ATOM_INDEX
NOPROC_ATOM_INDEX
TRAP_EXIT_ATOM_INDEX
EXIT_ATOM_INDEX
BADMAP_ATOM_INDEX
BADKEY_ATOM_INDEX
NONE_ATOM_INDEX
IO_REQUEST_ATOM_INDEX
IO_REPLY_ATOM_INDEX
PUT_CHARS_ATOM_INDEX
LOWERCASE_EXIT_ATOM_INDEX
ATOMVM_VERSION_ATOM_INDEX
SECOND_ATOM_INDEX
MILLISECOND_ATOM_INDEX
MICROSECOND_ATOM_INDEX
INFINITY_ATOM_INDEX
TIMEOUT_VALUE_ATOM_INDEX
SCHEDULERS_ATOM_INDEX
SCHEDULERS_ONLINE_ATOM_INDEX
APPEND_ATOM_INDEX
PRIVATE_APPEND_ATOM_INDEX
BINARY_ATOM_INDEX
INTEGER_ATOM_INDEX
LITTLE_ATOM_INDEX
NATIVE_ATOM_INDEX
STRING_ATOM_INDEX
UTF8_ATOM_INDEX
UTF16_ATOM_INDEX
UTF32_ATOM_INDEX
BADRECORD_ATOM_INDEX
COPY_ATOM_INDEX
REUSE_ATOM_INDEX
ENSURE_AT_LEAST_ATOM_INDEX
ENSURE_EXACTLY_ATOM_INDEX
SKIP_ATOM_INDEX
GET_TAIL_ATOM_INDEX
EQUAL_COLON_EQUAL_ATOM_INDEX
SIGNED_ATOM_INDEX
MACHINE_ATOM_INDEX
AVM_FLOATSIZE_ATOM_INDEX
CLOSE_ATOM_INDEX
CLOSED_ATOM_INDEX
PORT_ATOM_INDEX
INFO_ATOM_INDEX
MODULE_ATOM_INDEX
SELECT_ATOM_INDEX
READY_INPUT_ATOM_INDEX
READY_OUTPUT_ATOM_INDEX
ATTRIBUTES_ATOM_INDEX
COMPILE_ATOM_INDEX
EXPORTS_ATOM_INDEX
INCOMPLETE_ATOM_INDEX
KILL_ATOM_INDEX
KILLED_ATOM_INDEX
TOTAL_HEAP_SIZE_ATOM_INDEX
ATOMVM_HEAP_GROWTH_ATOM_INDEX
BOUNDED_FREE_ATOM_INDEX
MINIMUM_ATOM_INDEX
FIBONACCI_ATOM_INDEX
CALL_ATOM_INDEX
CAST_ATOM_INDEX
PLATFORM_ATOMS_BASE_INDEX
FALSE_ATOM
TRUE_ATOM
OK_ATOM
ERROR_ATOM
UNDEFINED_ATOM
BADARG_ATOM
BADARITH_ATOM
BADARITY_ATOM
BADFUN_ATOM
FUNCTION_CLAUSE_ATOM
TRY_CLAUSE_ATOM
OUT_OF_MEMORY_ATOM
OVERFLOW_ATOM
SYSTEM_LIMIT_ATOM
LATIN1_ATOM
FLUSH_ATOM
HEAP_SIZE_ATOM
MAX_HEAP_SIZE_ATOM
MEMORY_ATOM
MESSAGE_QUEUE_LEN_ATOM
PUTS_ATOM
STACK_SIZE_ATOM
MIN_HEAP_SIZE_ATOM
PROCESS_COUNT_ATOM
PORT_COUNT_ATOM
ATOM_COUNT_ATOM
SYSTEM_ARCHITECTURE_ATOM
WORDSIZE_ATOM
DECIMALS_ATOM
SCIENTIFIC_ATOM
DEFAULTATOMS_COMPACT_ATOM
BADMATCH_ATOM
CASE_CLAUSE_ATOM
IF_CLAUSE_ATOM
THROW_ATOM
LOW_ENTROPY_ATOM
UNSUPPORTED_ATOM
USED_ATOM
ALL_ATOM
START_ATOM
UNDEF_ATOM
VM_ABORT_ATOM
MONITOR_ATOM
NORMAL_ATOM
DOWN_ATOM
PROCESS_ATOM
NOCATCH_ATOM
REFC_BINARY_INFO_ATOM
NOPROC_ATOM
TRAP_EXIT_ATOM
EXIT_ATOM
BADMAP_ATOM
BADKEY_ATOM
NONE_ATOM
IO_REQUEST_ATOM
IO_REPLY_ATOM
PUT_CHARS_ATOM
LOWERCASE_EXIT_ATOM
ATOMVM_VERSION_ATOM
SECOND_ATOM
MILLISECOND_ATOM
MICROSECOND_ATOM
INFINITY_ATOM
TIMEOUT_VALUE_ATOM
SCHEDULERS_ATOM
SCHEDULERS_ONLINE_ATOM
APPEND_ATOM
PRIVATE_APPEND_ATOM
BINARY_ATOM
INTEGER_ATOM
LITTLE_ATOM
NATIVE_ATOM
STRING_ATOM
UTF8_ATOM
UTF16_ATOM
UTF32_ATOM
BADRECORD_ATOM
COPY_ATOM
REUSE_ATOM
ENSURE_AT_LEAST_ATOM
ENSURE_EXACTLY_ATOM
SKIP_ATOM
GET_TAIL_ATOM
EQUAL_COLON_EQUAL_ATOM
SIGNED_ATOM
MACHINE_ATOM
AVM_FLOATSIZE_ATOM
CLOSE_ATOM
CLOSED_ATOM
PORT_ATOM
INFO_ATOM
MODULE_ATOM
SELECT_ATOM
READY_INPUT_ATOM
READY_OUTPUT_ATOM
ATTRIBUTES_ATOM
COMPILE_ATOM
EXPORTS_ATOM
INCOMPLETE_ATOM
KILL_ATOM
KILLED_ATOM
TOTAL_HEAP_SIZE_ATOM
ATOMVM_HEAP_GROWTH_ATOM
BOUNDED_FREE_ATOM
MINIMUM_ATOM
FIBONACCI_ATOM
CALL_ATOM
CAST_ATOM

Functions

void defaultatoms_init(GlobalContext *glb)
void platform_defaultatoms_init(GlobalContext *glb)
file dictionary.c

Include dependency graph for dictionary.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "5" [label="stdbool.h" tooltip="stdbool.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" fillcolor="#BFBFBF"]
    "2" [label="dictionary.h" tooltip="dictionary.h"]
    "21" [label="stdatomic.h" tooltip="stdatomic.h"]
    "24" [label="atom.h" tooltip="atom.h"]
    "13" [label="assert.h" tooltip="assert.h"]
    "26" [label="synclist.h" tooltip="synclist.h"]
    "22" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "6" [label="stdint.h" tooltip="stdint.h"]
    "8" [label="stdlib.h" tooltip="stdlib.h"]
    "16" [label="utils.h" tooltip="utils.h"]
    "25" [label="atom_table.h" tooltip="atom_table.h"]
    "12" [label="term_typedef.h" tooltip="term_typedef.h"]
    "17" [label="stddef.h" tooltip="stddef.h"]
    "14" [label="limits.h" tooltip="limits.h"]
    "18" [label="refc_binary.h" tooltip="refc_binary.h"]
    "9" [label="string.h" tooltip="string.h"]
    "4" [label="term.h" tooltip="term.h"]
    "11" [label="erl_nif.h" tooltip="erl_nif.h"]
    "19" [label="resources.h" tooltip="resources.h"]
    "20" [label="smp.h" tooltip="smp.h"]
    "23" [label="globalcontext.h" tooltip="globalcontext.h"]
    "10" [label="memory.h" tooltip="memory.h"]
    "7" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "15" [label="inttypes.h" tooltip="inttypes.h"]
    "3" [label="list.h" tooltip="list.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "8" [dir=forward tooltip="include"]
    "26" -> "3" [dir=forward tooltip="include"]
    "26" -> "7" [dir=forward tooltip="include"]
    "26" -> "20" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "25" -> "24" [dir=forward tooltip="include"]
    "12" -> "13" [dir=forward tooltip="include"]
    "12" -> "14" [dir=forward tooltip="include"]
    "12" -> "15" [dir=forward tooltip="include"]
    "12" -> "6" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "7" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "4" -> "9" [dir=forward tooltip="include"]
    "4" -> "10" [dir=forward tooltip="include"]
    "4" -> "18" [dir=forward tooltip="include"]
    "4" -> "16" [dir=forward tooltip="include"]
    "4" -> "12" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "19" -> "8" [dir=forward tooltip="include"]
    "19" -> "11" [dir=forward tooltip="include"]
    "19" -> "3" [dir=forward tooltip="include"]
    "19" -> "10" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "23" -> "6" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "25" [dir=forward tooltip="include"]
    "23" -> "11" [dir=forward tooltip="include"]
    "23" -> "3" [dir=forward tooltip="include"]
    "23" -> "20" [dir=forward tooltip="include"]
    "23" -> "26" [dir=forward tooltip="include"]
    "23" -> "4" [dir=forward tooltip="include"]
    "23" -> "27" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "16" [dir=forward tooltip="include"]
    "10" -> "6" [dir=forward tooltip="include"]
    "10" -> "8" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "6" [dir=forward tooltip="include"]
    "27" -> "3" [dir=forward tooltip="include"]
}

Functions

static DictionaryFunctionResult dictionary_find(struct ListHead *dictionary, term key, struct DictEntry **found, GlobalContext *global)
DictionaryFunctionResult dictionary_put(struct ListHead *dict, term key, term value, term *old, GlobalContext *global)
DictionaryFunctionResult dictionary_get(struct ListHead *dict, term key, term *old, GlobalContext *global)
DictionaryFunctionResult dictionary_erase(struct ListHead *dict, term key, term *old, GlobalContext *global)
void dictionary_destroy(struct ListHead *dict)
file dictionary.h

Include dependency graph for dictionary.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="stdbool.h" tooltip="stdbool.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" fillcolor="#BFBFBF"]
    "20" [label="stdatomic.h" tooltip="stdatomic.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "15" [label="utils.h" tooltip="utils.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "16" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "17" [label="refc_binary.h" tooltip="refc_binary.h"]
    "8" [label="string.h" tooltip="string.h"]
    "3" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "18" [label="resources.h" tooltip="resources.h"]
    "19" [label="smp.h" tooltip="smp.h"]
    "9" [label="memory.h" tooltip="memory.h"]
    "6" [label="stdio.h" tooltip="stdio.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "2" [label="list.h" tooltip="list.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "5" [dir=forward tooltip="include"]
    "17" -> "4" [dir=forward tooltip="include"]
    "17" -> "7" [dir=forward tooltip="include"]
    "17" -> "2" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "19" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "6" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "9" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "18" -> "7" [dir=forward tooltip="include"]
    "18" -> "10" [dir=forward tooltip="include"]
    "18" -> "2" [dir=forward tooltip="include"]
    "18" -> "9" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "15" [dir=forward tooltip="include"]
    "9" -> "5" [dir=forward tooltip="include"]
    "9" -> "7" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include dictionary.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" fillcolor="#BFBFBF"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
}

Enums

enum DictionaryFunctionResult

Values:

enumerator DictionaryOk
enumerator DictionaryMemoryAllocFail

Functions

DictionaryFunctionResult dictionary_put(struct ListHead *dict, term key, term value, term *old, GlobalContext *ctx)
DictionaryFunctionResult dictionary_get(struct ListHead *dict, term key, term *old, GlobalContext *ctx)
DictionaryFunctionResult dictionary_erase(struct ListHead *dict, term key, term *old, GlobalContext *ctx)
void dictionary_destroy(struct ListHead *dict)
file erl_nif.h

Include dependency graph for erl_nif.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="assert.h" tooltip="assert.h"]
    "6" [label="stdint.h" tooltip="stdint.h"]
    "2" [label="term_typedef.h" tooltip="term_typedef.h"]
    "4" [label="limits.h" tooltip="limits.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif.h" fillcolor="#BFBFBF"]
    "5" [label="inttypes.h" tooltip="inttypes.h"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include erl_nif.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "55" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
    "54" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "56" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "58" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif.h" fillcolor="#BFBFBF"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.h"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "57" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "11" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
    "9" -> "12" [dir=back tooltip="include"]
    "55" -> "10" [dir=back tooltip="include"]
    "55" -> "2" [dir=back tooltip="include"]
    "55" -> "47" [dir=back tooltip="include"]
    "55" -> "15" [dir=back tooltip="include"]
    "55" -> "7" [dir=back tooltip="include"]
    "55" -> "18" [dir=back tooltip="include"]
    "55" -> "21" [dir=back tooltip="include"]
    "53" -> "54" [dir=back tooltip="include"]
    "53" -> "28" [dir=back tooltip="include"]
    "53" -> "12" [dir=back tooltip="include"]
    "32" -> "7" [dir=back tooltip="include"]
    "48" -> "6" [dir=back tooltip="include"]
    "48" -> "7" [dir=back tooltip="include"]
    "48" -> "18" [dir=back tooltip="include"]
    "48" -> "20" [dir=back tooltip="include"]
    "45" -> "10" [dir=back tooltip="include"]
    "45" -> "46" [dir=back tooltip="include"]
    "45" -> "47" [dir=back tooltip="include"]
    "45" -> "6" [dir=back tooltip="include"]
    "45" -> "28" [dir=back tooltip="include"]
    "45" -> "7" [dir=back tooltip="include"]
    "45" -> "12" [dir=back tooltip="include"]
    "45" -> "29" [dir=back tooltip="include"]
    "45" -> "27" [dir=back tooltip="include"]
    "45" -> "18" [dir=back tooltip="include"]
    "45" -> "19" [dir=back tooltip="include"]
    "45" -> "41" [dir=back tooltip="include"]
    "45" -> "42" [dir=back tooltip="include"]
    "45" -> "20" [dir=back tooltip="include"]
    "45" -> "22" [dir=back tooltip="include"]
    "45" -> "34" [dir=back tooltip="include"]
    "25" -> "26" [dir=back tooltip="include"]
    "25" -> "27" [dir=back tooltip="include"]
    "25" -> "18" [dir=back tooltip="include"]
    "25" -> "19" [dir=back tooltip="include"]
    "43" -> "44" [dir=back tooltip="include"]
    "43" -> "7" [dir=back tooltip="include"]
    "43" -> "12" [dir=back tooltip="include"]
    "43" -> "18" [dir=back tooltip="include"]
    "43" -> "16" [dir=back tooltip="include"]
    "56" -> "9" [dir=back tooltip="include"]
    "56" -> "31" [dir=back tooltip="include"]
    "56" -> "36" [dir=back tooltip="include"]
    "56" -> "12" [dir=back tooltip="include"]
    "56" -> "32" [dir=back tooltip="include"]
    "56" -> "48" [dir=back tooltip="include"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "2" [dir=back tooltip="include"]
    "8" -> "13" [dir=back tooltip="include"]
    "8" -> "17" [dir=back tooltip="include"]
    "8" -> "23" [dir=back tooltip="include"]
    "8" -> "6" [dir=back tooltip="include"]
    "8" -> "24" [dir=back tooltip="include"]
    "8" -> "15" [dir=back tooltip="include"]
    "8" -> "11" [dir=back tooltip="include"]
    "8" -> "31" [dir=back tooltip="include"]
    "8" -> "7" [dir=back tooltip="include"]
    "8" -> "36" [dir=back tooltip="include"]
    "8" -> "29" [dir=back tooltip="include"]
    "8" -> "27" [dir=back tooltip="include"]
    "8" -> "18" [dir=back tooltip="include"]
    "8" -> "19" [dir=back tooltip="include"]
    "8" -> "41" [dir=back tooltip="include"]
    "8" -> "42" [dir=back tooltip="include"]
    "8" -> "21" [dir=back tooltip="include"]
    "8" -> "22" [dir=back tooltip="include"]
    "8" -> "43" [dir=back tooltip="include"]
    "8" -> "33" [dir=back tooltip="include"]
    "8" -> "30" [dir=back tooltip="include"]
    "42" -> "26" [dir=back tooltip="include"]
    "42" -> "7" [dir=back tooltip="include"]
    "42" -> "27" [dir=back tooltip="include"]
    "42" -> "18" [dir=back tooltip="include"]
    "42" -> "19" [dir=back tooltip="include"]
    "42" -> "41" [dir=back tooltip="include"]
    "58" -> "10" [dir=back tooltip="include"]
    "33" -> "12" [dir=back tooltip="include"]
    "33" -> "34" [dir=back tooltip="include"]
    "51" -> "6" [dir=back tooltip="include"]
    "51" -> "15" [dir=back tooltip="include"]
    "51" -> "19" [dir=back tooltip="include"]
    "51" -> "21" [dir=back tooltip="include"]
    "51" -> "22" [dir=back tooltip="include"]
    "51" -> "52" [dir=back tooltip="include"]
    "31" -> "9" [dir=back tooltip="include"]
    "31" -> "11" [dir=back tooltip="include"]
    "31" -> "7" [dir=back tooltip="include"]
    "31" -> "12" [dir=back tooltip="include"]
    "31" -> "32" [dir=back tooltip="include"]
    "31" -> "33" [dir=back tooltip="include"]
    "31" -> "35" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "6" [dir=back tooltip="include"]
    "4" -> "7" [dir=back tooltip="include"]
    "52" -> "53" [dir=back tooltip="include"]
    "52" -> "2" [dir=back tooltip="include"]
    "52" -> "8" [dir=back tooltip="include"]
    "52" -> "47" [dir=back tooltip="include"]
    "52" -> "55" [dir=back tooltip="include"]
    "52" -> "56" [dir=back tooltip="include"]
    "52" -> "57" [dir=back tooltip="include"]
    "52" -> "3" [dir=back tooltip="include"]
    "52" -> "26" [dir=back tooltip="include"]
    "52" -> "28" [dir=back tooltip="include"]
    "52" -> "24" [dir=back tooltip="include"]
    "52" -> "15" [dir=back tooltip="include"]
    "52" -> "11" [dir=back tooltip="include"]
    "52" -> "31" [dir=back tooltip="include"]
    "52" -> "7" [dir=back tooltip="include"]
    "52" -> "29" [dir=back tooltip="include"]
    "52" -> "27" [dir=back tooltip="include"]
    "52" -> "18" [dir=back tooltip="include"]
    "52" -> "19" [dir=back tooltip="include"]
    "52" -> "58" [dir=back tooltip="include"]
    "52" -> "42" [dir=back tooltip="include"]
    "52" -> "48" [dir=back tooltip="include"]
    "52" -> "33" [dir=back tooltip="include"]
    "52" -> "30" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "49" [dir=back tooltip="include"]
    "1" -> "19" [dir=back tooltip="include"]
    "1" -> "22" [dir=back tooltip="include"]
    "1" -> "50" [dir=back tooltip="include"]
    "24" -> "25" [dir=back tooltip="include"]
    "24" -> "28" [dir=back tooltip="include"]
    "24" -> "7" [dir=back tooltip="include"]
    "24" -> "29" [dir=back tooltip="include"]
    "24" -> "27" [dir=back tooltip="include"]
    "24" -> "18" [dir=back tooltip="include"]
    "24" -> "19" [dir=back tooltip="include"]
    "24" -> "20" [dir=back tooltip="include"]
    "24" -> "30" [dir=back tooltip="include"]
    "40" -> "19" [dir=back tooltip="include"]
    "50" -> "6" [dir=back tooltip="include"]
    "50" -> "51" [dir=back tooltip="include"]
    "50" -> "22" [dir=back tooltip="include"]
    "37" -> "29" [dir=back tooltip="include"]
    "38" -> "27" [dir=back tooltip="include"]
    "17" -> "2" [dir=back tooltip="include"]
    "17" -> "6" [dir=back tooltip="include"]
    "17" -> "15" [dir=back tooltip="include"]
    "17" -> "18" [dir=back tooltip="include"]
    "17" -> "19" [dir=back tooltip="include"]
    "17" -> "20" [dir=back tooltip="include"]
    "17" -> "21" [dir=back tooltip="include"]
    "17" -> "22" [dir=back tooltip="include"]
    "35" -> "2" [dir=back tooltip="include"]
    "35" -> "6" [dir=back tooltip="include"]
    "35" -> "11" [dir=back tooltip="include"]
    "35" -> "7" [dir=back tooltip="include"]
    "35" -> "18" [dir=back tooltip="include"]
    "35" -> "22" [dir=back tooltip="include"]
    "35" -> "16" [dir=back tooltip="include"]
    "36" -> "11" [dir=back tooltip="include"]
    "36" -> "7" [dir=back tooltip="include"]
    "36" -> "12" [dir=back tooltip="include"]
    "36" -> "29" [dir=back tooltip="include"]
    "36" -> "37" [dir=back tooltip="include"]
    "36" -> "27" [dir=back tooltip="include"]
    "36" -> "38" [dir=back tooltip="include"]
    "36" -> "18" [dir=back tooltip="include"]
    "36" -> "39" [dir=back tooltip="include"]
    "36" -> "19" [dir=back tooltip="include"]
    "36" -> "40" [dir=back tooltip="include"]
    "36" -> "20" [dir=back tooltip="include"]
    "12" -> "2" [dir=back tooltip="include"]
    "12" -> "11" [dir=back tooltip="include"]
    "13" -> "14" [dir=back tooltip="include"]
    "13" -> "15" [dir=back tooltip="include"]
    "13" -> "12" [dir=back tooltip="include"]
    "13" -> "16" [dir=back tooltip="include"]
    "3" -> "4" [dir=back tooltip="include"]
    "3" -> "2" [dir=back tooltip="include"]
    "3" -> "8" [dir=back tooltip="include"]
    "3" -> "45" [dir=back tooltip="include"]
    "3" -> "6" [dir=back tooltip="include"]
    "3" -> "11" [dir=back tooltip="include"]
    "3" -> "31" [dir=back tooltip="include"]
    "3" -> "7" [dir=back tooltip="include"]
    "3" -> "29" [dir=back tooltip="include"]
    "3" -> "27" [dir=back tooltip="include"]
    "3" -> "38" [dir=back tooltip="include"]
    "3" -> "18" [dir=back tooltip="include"]
    "3" -> "39" [dir=back tooltip="include"]
    "3" -> "19" [dir=back tooltip="include"]
    "3" -> "40" [dir=back tooltip="include"]
    "3" -> "41" [dir=back tooltip="include"]
    "3" -> "42" [dir=back tooltip="include"]
    "3" -> "20" [dir=back tooltip="include"]
    "3" -> "48" [dir=back tooltip="include"]
    "3" -> "43" [dir=back tooltip="include"]
    "3" -> "34" [dir=back tooltip="include"]
    "3" -> "35" [dir=back tooltip="include"]
    "49" -> "17" [dir=back tooltip="include"]
    "49" -> "25" [dir=back tooltip="include"]
    "49" -> "44" [dir=back tooltip="include"]
    "49" -> "15" [dir=back tooltip="include"]
    "49" -> "7" [dir=back tooltip="include"]
    "49" -> "18" [dir=back tooltip="include"]
    "49" -> "42" [dir=back tooltip="include"]
    "49" -> "21" [dir=back tooltip="include"]
    "49" -> "50" [dir=back tooltip="include"]
    "49" -> "34" [dir=back tooltip="include"]
    "49" -> "52" [dir=back tooltip="include"]
    "39" -> "18" [dir=back tooltip="include"]
    "39" -> "19" [dir=back tooltip="include"]
    "57" -> "23" [dir=back tooltip="include"]
    "57" -> "11" [dir=back tooltip="include"]
    "57" -> "7" [dir=back tooltip="include"]
}

Typedefs

typedef struct ErlNifEnv ErlNifEnv
typedef term ERL_NIF_TERM
typedef int32_t ErlNifPid
typedef struct ResourceType ErlNifResourceType
typedef uint64_t ErlNifMonitor
typedef int ErlNifEvent
typedef void ErlNifResourceDtor(ErlNifEnv *caller_env, void *obj)
typedef void ErlNifResourceStop(ErlNifEnv *caller_env, void *obj, ErlNifEvent event, int is_direct_call)
typedef void ErlNifResourceDown(ErlNifEnv *caller_env, void *obj, ErlNifPid *pid, ErlNifMonitor *mon)

Enums

enum ErlNifResourceFlags

Values:

enumerator ERL_NIF_RT_CREATE
enum ErlNifSelectFlags

Values:

enumerator ERL_NIF_SELECT_READ
enumerator ERL_NIF_SELECT_WRITE
enumerator ERL_NIF_SELECT_STOP
enum [anonymous]

Values:

enumerator ERL_NIF_SELECT_STOP_CALLED
enumerator ERL_NIF_SELECT_STOP_SCHEDULED
enumerator ERL_NIF_SELECT_INVALID_EVENT
enumerator ERL_NIF_SELECT_FAILED
enumerator ERL_NIF_SELECT_BADARG

Functions

ErlNifResourceType *enif_init_resource_type(ErlNifEnv *env, const char *name, const ErlNifResourceTypeInit *init, ErlNifResourceFlags flags, ErlNifResourceFlags *tried)
void *enif_alloc_resource(ErlNifResourceType *type, unsigned size)
int enif_get_resource(ErlNifEnv *env, ERL_NIF_TERM t, ErlNifResourceType *type, void **objp)
int enif_keep_resource(void *resource)
int enif_release_resource(void *resource)
ERL_NIF_TERM enif_make_resource(ErlNifEnv *env, void *obj)
int enif_select(ErlNifEnv *env, ErlNifEvent event, enum ErlNifSelectFlags mode, void *obj, const ErlNifPid *pid, ERL_NIF_TERM ref)
int enif_monitor_process(ErlNifEnv *env, void *obj, const ErlNifPid *target_pid, ErlNifMonitor *mon)
int enif_demonitor_process(ErlNifEnv *caller_env, void *obj, const ErlNifMonitor *mon)
int enif_compare_monitors(const ErlNifMonitor *monitor1, const ErlNifMonitor *monitor2)
file erl_nif_priv.h

Include dependency graph for erl_nif_priv.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "2" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" fillcolor="#BFBFBF"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "21" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include erl_nif_priv.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" fillcolor="#BFBFBF"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
}

Functions

_Static_assert (offsetof(struct ErlNifEnv, global)==offsetof(struct Context, global) ? 1 :0, "ErlNifEnv.global doesn't match Context.global")
_Static_assert (offsetof(struct ErlNifEnv, heap)==offsetof(struct Context, heap) ? 1 :0, "ErlNifEnv.heap doesn't match Context.heap")
_Static_assert (offsetof(struct ErlNifEnv, stack_pointer)==offsetof(struct Context, e) ? 1 :0, "ErlNifEnv.stack_pointer doesn't match Context.e")
_Static_assert (offsetof(struct ErlNifEnv, x)==offsetof(struct Context, x) ? 1 :0, "ErlNifEnv.x doesn't match Context.x")
static inline ErlNifEnv *erl_nif_env_from_context(Context *ctx)
static inline bool erl_nif_env_is_context(ErlNifEnv *env)
static inline void erl_nif_env_partial_init_from_globalcontext(ErlNifEnv *env, GlobalContext *global)
file exportedfunction.h

Include dependency graph for exportedfunction.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "20" [label="stdatomic.h" tooltip="stdatomic.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" fillcolor="#BFBFBF"]
    "14" [label="utils.h" tooltip="utils.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "15" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "16" [label="refc_binary.h" tooltip="refc_binary.h"]
    "7" [label="string.h" tooltip="string.h"]
    "2" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "18" [label="resources.h" tooltip="resources.h"]
    "19" [label="smp.h" tooltip="smp.h"]
    "8" [label="memory.h" tooltip="memory.h"]
    "5" [label="stdio.h" tooltip="stdio.h"]
    "17" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "16" -> "3" [dir=forward tooltip="include"]
    "16" -> "6" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "18" [dir=forward tooltip="include"]
    "16" -> "19" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "8" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "18" -> "6" [dir=forward tooltip="include"]
    "18" -> "9" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "19" -> "3" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "14" [dir=forward tooltip="include"]
    "8" -> "4" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include exportedfunction.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" fillcolor="#BFBFBF"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
    "2" -> "5" [dir=back tooltip="include"]
    "2" -> "6" [dir=back tooltip="include"]
    "9" -> "5" [dir=back tooltip="include"]
    "26" -> "13" [dir=back tooltip="include"]
    "26" -> "5" [dir=back tooltip="include"]
    "26" -> "14" [dir=back tooltip="include"]
    "26" -> "25" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "17" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
    "1" -> "26" [dir=back tooltip="include"]
    "10" -> "6" [dir=back tooltip="include"]
    "10" -> "11" [dir=back tooltip="include"]
    "8" -> "2" [dir=back tooltip="include"]
    "8" -> "4" [dir=back tooltip="include"]
    "8" -> "5" [dir=back tooltip="include"]
    "8" -> "6" [dir=back tooltip="include"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "10" [dir=back tooltip="include"]
    "8" -> "12" [dir=back tooltip="include"]
    "24" -> "23" [dir=back tooltip="include"]
    "19" -> "18" [dir=back tooltip="include"]
    "21" -> "20" [dir=back tooltip="include"]
    "12" -> "7" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "4" [dir=back tooltip="include"]
    "12" -> "5" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "12" -> "15" [dir=back tooltip="include"]
    "12" -> "16" [dir=back tooltip="include"]
    "17" -> "4" [dir=back tooltip="include"]
    "17" -> "5" [dir=back tooltip="include"]
    "17" -> "6" [dir=back tooltip="include"]
    "17" -> "18" [dir=back tooltip="include"]
    "17" -> "19" [dir=back tooltip="include"]
    "17" -> "20" [dir=back tooltip="include"]
    "17" -> "21" [dir=back tooltip="include"]
    "17" -> "14" [dir=back tooltip="include"]
    "17" -> "22" [dir=back tooltip="include"]
    "17" -> "23" [dir=back tooltip="include"]
    "17" -> "24" [dir=back tooltip="include"]
    "17" -> "25" [dir=back tooltip="include"]
    "6" -> "7" [dir=back tooltip="include"]
    "6" -> "4" [dir=back tooltip="include"]
    "22" -> "14" [dir=back tooltip="include"]
    "22" -> "23" [dir=back tooltip="include"]
}

Defines

TYPEDEF_MODULE
EXPORTED_FUNCTION_TO_BIF(func)
EXPORTED_FUNCTION_TO_GCBIF(func)
EXPORTED_FUNCTION_TO_NIF(func)
EXPORTED_FUNCTION_TO_UNRESOLVED_FUNCTION_CALL(func)
EXPORTED_FUNCTION_TO_MODULE_FUNCTION(func)

Typedefs

typedef struct Module Module
typedef term (*BifImpl0)(Context *ctx)
typedef term (*BifImpl1)(Context *ctx, term arg1)
typedef term (*BifImpl2)(Context *ctx, term arg1, term arg2)
typedef term (*GCBifImpl1)(Context *ctx, int live, term arg1)
typedef term (*GCBifImpl2)(Context *ctx, int live, term arg1, term arg2)
typedef term (*GCBifImpl3)(Context *ctx, int live, term arg1, term arg2, term arg3)
typedef term (*NifImpl)(Context *ctx, int argc, term argv[])

Enums

enum FunctionType

Values:

enumerator InvalidFunctionType
enumerator NIFFunctionType
enumerator UnresolvedFunctionCall
enumerator ModuleFunction
enumerator BIFFunctionType
enumerator GCBIFFunctionType
file externalterm.c

Include dependency graph for externalterm.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="stdbool.h" tooltip="stdbool.h"]
    "21" [label="stdatomic.h" tooltip="stdatomic.h"]
    "24" [label="atom.h" tooltip="atom.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "26" [label="synclist.h" tooltip="synclist.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "22" [label="context.h" tooltip="context.h"]
    "15" [label="utils.h" tooltip="utils.h"]
    "25" [label="atom_table.h" tooltip="atom_table.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "16" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "17" [label="refc_binary.h" tooltip="refc_binary.h"]
    "8" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "3" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "19" [label="resources.h" tooltip="resources.h"]
    "20" [label="smp.h" tooltip="smp.h"]
    "23" [label="globalcontext.h" tooltip="globalcontext.h"]
    "9" [label="memory.h" tooltip="memory.h"]
    "6" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" fillcolor="#BFBFBF"]
    "18" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "2" [label="externalterm.h" tooltip="externalterm.h"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "26" -> "18" [dir=forward tooltip="include"]
    "26" -> "6" [dir=forward tooltip="include"]
    "26" -> "20" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "18" [dir=forward tooltip="include"]
    "22" -> "28" [dir=forward tooltip="include"]
    "22" -> "20" [dir=forward tooltip="include"]
    "22" -> "3" [dir=forward tooltip="include"]
    "22" -> "27" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "25" -> "24" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "5" [dir=forward tooltip="include"]
    "17" -> "4" [dir=forward tooltip="include"]
    "17" -> "7" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "19" [dir=forward tooltip="include"]
    "17" -> "20" [dir=forward tooltip="include"]
    "28" -> "4" [dir=forward tooltip="include"]
    "28" -> "18" [dir=forward tooltip="include"]
    "28" -> "20" [dir=forward tooltip="include"]
    "28" -> "11" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "6" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "9" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "19" -> "7" [dir=forward tooltip="include"]
    "19" -> "10" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "20" -> "4" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "25" [dir=forward tooltip="include"]
    "23" -> "10" [dir=forward tooltip="include"]
    "23" -> "18" [dir=forward tooltip="include"]
    "23" -> "20" [dir=forward tooltip="include"]
    "23" -> "26" [dir=forward tooltip="include"]
    "23" -> "3" [dir=forward tooltip="include"]
    "23" -> "27" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "15" [dir=forward tooltip="include"]
    "9" -> "5" [dir=forward tooltip="include"]
    "9" -> "7" [dir=forward tooltip="include"]
    "27" -> "4" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "18" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "18" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "1" -> "15" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
}

Defines

EXTERNAL_TERM_TAG
NEW_FLOAT_EXT
SMALL_INTEGER_EXT
INTEGER_EXT
ATOM_EXT
SMALL_TUPLE_EXT
NIL_EXT
STRING_EXT
LIST_EXT
BINARY_EXT
SMALL_BIG_EXT
EXPORT_EXT
MAP_EXT
SMALL_ATOM_UTF8_EXT
INVALID_TERM_SIZE
NEW_FLOAT_EXT_SIZE
SMALL_INTEGER_EXT_SIZE
INTEGER_EXT_SIZE
SMALL_BIG_EXT_BASE_SIZE
ATOM_EXT_BASE_SIZE
STRING_EXT_BASE_SIZE
LIST_EXT_BASE_SIZE
BINARY_EXT_BASE_SIZE
MAP_EXT_BASE_SIZE
SMALL_ATOM_EXT_BASE_SIZE
REMOVE_SIGN(val, unsigned_type)

Functions

static term parse_external_terms(const uint8_t *external_term_buf, size_t *eterm_size, bool copy, Heap *heap, GlobalContext *glb)
static int calculate_heap_usage(const uint8_t *external_term_buf, size_t remaining, size_t *eterm_size, bool copy)
static size_t compute_external_size(term t, GlobalContext *glb)
static int externalterm_from_term(uint8_t **buf, size_t *len, term t, GlobalContext *glb)
static int serialize_term(uint8_t *buf, term t, GlobalContext *glb)
static term externalterm_to_term_internal(const void *external_term, size_t size, Context *ctx, ExternalTermOpts opts, size_t *bytes_read, bool copy)
term externalterm_to_term(const void *external_term, size_t size, Context *ctx, ExternalTermOpts opts)
enum ExternalTermResult externalterm_from_binary(Context *ctx, term *dst, term binary, size_t *bytes_read)
term externalterm_to_binary(Context *ctx, term t)
static uint8_t get_num_bytes(avm_uint64_t val)
static void write_bytes(uint8_t *buf, avm_uint64_t val)
static avm_uint64_t read_bytes(const uint8_t *buf, uint8_t num_bytes)
file externalterm.h

Include dependency graph for externalterm.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "20" [label="stdatomic.h" tooltip="stdatomic.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "14" [label="utils.h" tooltip="utils.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "15" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "16" [label="refc_binary.h" tooltip="refc_binary.h"]
    "7" [label="string.h" tooltip="string.h"]
    "2" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "18" [label="resources.h" tooltip="resources.h"]
    "19" [label="smp.h" tooltip="smp.h"]
    "8" [label="memory.h" tooltip="memory.h"]
    "5" [label="stdio.h" tooltip="stdio.h"]
    "17" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" fillcolor="#BFBFBF"]
    "14" -> "15" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "16" -> "3" [dir=forward tooltip="include"]
    "16" -> "6" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "18" [dir=forward tooltip="include"]
    "16" -> "19" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "8" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "18" -> "6" [dir=forward tooltip="include"]
    "18" -> "9" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "19" -> "3" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "14" [dir=forward tooltip="include"]
    "8" -> "4" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include externalterm.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
}

Enums

enum ExternalTermResult

Values:

enumerator EXTERNAL_TERM_OK
enumerator EXTERNAL_TERM_BAD_ARG
enumerator EXTERNAL_TERM_MALLOC
enumerator EXTERNAL_TERM_HEAP_ALLOC
enum ExternalTermOpts

Values:

enumerator ExternalTermNoOpts
enumerator ExternalTermToHeapFragment

Functions

term externalterm_to_term(const void *external_term, size_t size, Context *ctx, ExternalTermOpts opts)
enum ExternalTermResult externalterm_from_binary(Context *ctx, term *dst, term binary, size_t *bytes_read)
term externalterm_to_binary(Context *ctx, term t)
file globalcontext.c

Include dependency graph for globalcontext.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "6" [label="atom.h" tooltip="atom.h"]
    "32" [label="posix_nifs.h" tooltip="posix_nifs.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "30" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "36" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "33" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "28" [label="context.h" tooltip="context.h"]
    "21" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "2" [label="limits.h" tooltip="limits.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "3" [label="string.h" tooltip="string.h"]
    "29" [label="mailbox.h" tooltip="mailbox.h"]
    "35" [label="module.h" tooltip="module.h"]
    "27" [label="avmpack.h" tooltip="avmpack.h"]
    "19" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "37" [label="time.h" tooltip="time.h"]
    "24" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "31" [label="erl_nif_priv.h" tooltip="erl_nif_priv.h"]
    "34" [label="sys.h" tooltip="sys.h"]
    "26" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" fillcolor="#BFBFBF"]
    "4" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "6" -> "5" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "32" -> "33" [dir=forward tooltip="include"]
    "32" -> "4" [dir=forward tooltip="include"]
    "32" -> "19" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "30" -> "4" [dir=forward tooltip="include"]
    "33" -> "19" [dir=forward tooltip="include"]
    "28" -> "4" [dir=forward tooltip="include"]
    "28" -> "13" [dir=forward tooltip="include"]
    "28" -> "29" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "19" [dir=forward tooltip="include"]
    "28" -> "25" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "2" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "5" [dir=forward tooltip="include"]
    "23" -> "15" [dir=forward tooltip="include"]
    "23" -> "7" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "29" -> "15" [dir=forward tooltip="include"]
    "29" -> "13" [dir=forward tooltip="include"]
    "29" -> "14" [dir=forward tooltip="include"]
    "29" -> "10" [dir=forward tooltip="include"]
    "29" -> "21" [dir=forward tooltip="include"]
    "35" -> "15" [dir=forward tooltip="include"]
    "35" -> "5" [dir=forward tooltip="include"]
    "35" -> "6" [dir=forward tooltip="include"]
    "35" -> "8" [dir=forward tooltip="include"]
    "35" -> "26" [dir=forward tooltip="include"]
    "35" -> "28" [dir=forward tooltip="include"]
    "35" -> "33" [dir=forward tooltip="include"]
    "35" -> "4" [dir=forward tooltip="include"]
    "35" -> "19" [dir=forward tooltip="include"]
    "35" -> "36" [dir=forward tooltip="include"]
    "27" -> "4" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "5" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "7" [dir=forward tooltip="include"]
    "19" -> "3" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "23" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "9" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "31" -> "28" [dir=forward tooltip="include"]
    "31" -> "20" [dir=forward tooltip="include"]
    "34" -> "4" [dir=forward tooltip="include"]
    "34" -> "35" [dir=forward tooltip="include"]
    "34" -> "5" [dir=forward tooltip="include"]
    "34" -> "37" [dir=forward tooltip="include"]
    "26" -> "6" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "26" [dir=forward tooltip="include"]
    "1" -> "27" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "23" [dir=forward tooltip="include"]
    "1" -> "24" [dir=forward tooltip="include"]
    "1" -> "17" [dir=forward tooltip="include"]
    "1" -> "34" [dir=forward tooltip="include"]
    "1" -> "21" [dir=forward tooltip="include"]
    "1" -> "36" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "4" -> "9" [dir=forward tooltip="include"]
    "4" -> "13" [dir=forward tooltip="include"]
    "4" -> "14" [dir=forward tooltip="include"]
    "4" -> "17" [dir=forward tooltip="include"]
    "4" -> "19" [dir=forward tooltip="include"]
    "4" -> "25" [dir=forward tooltip="include"]
    "20" -> "9" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "25" -> "5" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
}

Defines

SMP_SPINLOCK_LOCK(spinlock)
SMP_SPINLOCK_UNLOCK(spinlock)
SMP_MUTEX_LOCK(mutex)
SMP_MUTEX_UNLOCK(mutex)
SMP_RWLOCK_RDLOCK(lock)
SMP_RWLOCK_WRLOCK(lock)
SMP_RWLOCK_UNLOCK(lock)

Functions

GlobalContext *globalcontext_new()
COLD_FUNC void globalcontext_destroy (GlobalContext *glb)
Context *globalcontext_get_process_nolock(GlobalContext *glb, int32_t process_id)
Context *globalcontext_get_process_lock(GlobalContext *glb, int32_t process_id)
void globalcontext_get_process_unlock(GlobalContext *glb, Context *c)
bool globalcontext_process_exists(GlobalContext *glb, int32_t process_id)
void globalcontext_send_message(GlobalContext *glb, int32_t process_id, term t)
void globalcontext_send_message_nolock(GlobalContext *glb, int32_t process_id, term t)
void globalcontext_init_process(GlobalContext *glb, Context *ctx)
bool globalcontext_register_process(GlobalContext *glb, int atom_index, int local_process_id)
bool globalcontext_unregister_process(GlobalContext *glb, int atom_index)
void globalcontext_maybe_unregister_process_id(GlobalContext *glb, int target_process_id)
int globalcontext_get_registered_process(GlobalContext *glb, int atom_index)
bool globalcontext_is_atom_index_equal_to_atom_string(GlobalContext *glb, int atom_index_a, AtomString atom_string_b)
AtomString globalcontext_atomstring_from_term(GlobalContext *glb, term t)
term globalcontext_existing_term_from_atom_string(GlobalContext *glb, AtomString atom_string)
int globalcontext_insert_module(GlobalContext *global, Module *module)
Module *globalcontext_get_module(GlobalContext *global, AtomString module_name_atom)
Module *globalcontext_get_module_by_index(GlobalContext *global, int index)
bool globalcontext_demonitor(GlobalContext *global, uint64_t ref_ticks)
file globalcontext.h

Include dependency graph for globalcontext.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "13" [label="stdbool.h" tooltip="stdbool.h"]
    "14" [label="stdatomic.h" tooltip="stdatomic.h"]
    "3" [label="atom.h" tooltip="atom.h"]
    "8" [label="assert.h" tooltip="assert.h"]
    "15" [label="synclist.h" tooltip="synclist.h"]
    "2" [label="stdint.h" tooltip="stdint.h"]
    "4" [label="stdlib.h" tooltip="stdlib.h"]
    "20" [label="utils.h" tooltip="utils.h"]
    "5" [label="atom_table.h" tooltip="atom_table.h"]
    "7" [label="term_typedef.h" tooltip="term_typedef.h"]
    "21" [label="stddef.h" tooltip="stddef.h"]
    "9" [label="limits.h" tooltip="limits.h"]
    "22" [label="refc_binary.h" tooltip="refc_binary.h"]
    "18" [label="string.h" tooltip="string.h"]
    "17" [label="term.h" tooltip="term.h"]
    "6" [label="erl_nif.h" tooltip="erl_nif.h"]
    "23" [label="resources.h" tooltip="resources.h"]
    "12" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" fillcolor="#BFBFBF"]
    "19" [label="memory.h" tooltip="memory.h"]
    "16" [label="stdio.h" tooltip="stdio.h"]
    "24" [label="timer_list.h" tooltip="timer_list.h"]
    "11" [label="list.h" tooltip="list.h"]
    "10" [label="inttypes.h" tooltip="inttypes.h"]
    "3" -> "2" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "15" -> "11" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "12" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "5" -> "3" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "9" [dir=forward tooltip="include"]
    "7" -> "10" [dir=forward tooltip="include"]
    "7" -> "2" [dir=forward tooltip="include"]
    "22" -> "13" [dir=forward tooltip="include"]
    "22" -> "4" [dir=forward tooltip="include"]
    "22" -> "11" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "12" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "2" [dir=forward tooltip="include"]
    "17" -> "16" [dir=forward tooltip="include"]
    "17" -> "4" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "19" [dir=forward tooltip="include"]
    "17" -> "22" [dir=forward tooltip="include"]
    "17" -> "20" [dir=forward tooltip="include"]
    "17" -> "7" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "23" -> "4" [dir=forward tooltip="include"]
    "23" -> "6" [dir=forward tooltip="include"]
    "23" -> "11" [dir=forward tooltip="include"]
    "23" -> "19" [dir=forward tooltip="include"]
    "12" -> "13" [dir=forward tooltip="include"]
    "12" -> "14" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "11" [dir=forward tooltip="include"]
    "1" -> "12" [dir=forward tooltip="include"]
    "1" -> "15" [dir=forward tooltip="include"]
    "1" -> "17" [dir=forward tooltip="include"]
    "1" -> "24" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "7" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "2" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "2" [dir=forward tooltip="include"]
    "24" -> "11" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include globalcontext.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" fillcolor="#BFBFBF"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "10" [dir=back tooltip="include"]
    "8" -> "5" [dir=back tooltip="include"]
    "8" -> "11" [dir=back tooltip="include"]
    "31" -> "5" [dir=back tooltip="include"]
    "47" -> "4" [dir=back tooltip="include"]
    "47" -> "5" [dir=back tooltip="include"]
    "47" -> "17" [dir=back tooltip="include"]
    "47" -> "19" [dir=back tooltip="include"]
    "44" -> "9" [dir=back tooltip="include"]
    "44" -> "45" [dir=back tooltip="include"]
    "44" -> "46" [dir=back tooltip="include"]
    "44" -> "4" [dir=back tooltip="include"]
    "44" -> "27" [dir=back tooltip="include"]
    "44" -> "5" [dir=back tooltip="include"]
    "44" -> "11" [dir=back tooltip="include"]
    "44" -> "28" [dir=back tooltip="include"]
    "44" -> "26" [dir=back tooltip="include"]
    "44" -> "17" [dir=back tooltip="include"]
    "44" -> "18" [dir=back tooltip="include"]
    "44" -> "40" [dir=back tooltip="include"]
    "44" -> "41" [dir=back tooltip="include"]
    "44" -> "19" [dir=back tooltip="include"]
    "44" -> "21" [dir=back tooltip="include"]
    "44" -> "33" [dir=back tooltip="include"]
    "24" -> "25" [dir=back tooltip="include"]
    "24" -> "26" [dir=back tooltip="include"]
    "24" -> "17" [dir=back tooltip="include"]
    "24" -> "18" [dir=back tooltip="include"]
    "42" -> "43" [dir=back tooltip="include"]
    "42" -> "5" [dir=back tooltip="include"]
    "42" -> "11" [dir=back tooltip="include"]
    "42" -> "17" [dir=back tooltip="include"]
    "42" -> "15" [dir=back tooltip="include"]
    "7" -> "8" [dir=back tooltip="include"]
    "7" -> "6" [dir=back tooltip="include"]
    "7" -> "12" [dir=back tooltip="include"]
    "7" -> "16" [dir=back tooltip="include"]
    "7" -> "22" [dir=back tooltip="include"]
    "7" -> "4" [dir=back tooltip="include"]
    "7" -> "23" [dir=back tooltip="include"]
    "7" -> "14" [dir=back tooltip="include"]
    "7" -> "10" [dir=back tooltip="include"]
    "7" -> "30" [dir=back tooltip="include"]
    "7" -> "5" [dir=back tooltip="include"]
    "7" -> "35" [dir=back tooltip="include"]
    "7" -> "28" [dir=back tooltip="include"]
    "7" -> "26" [dir=back tooltip="include"]
    "7" -> "17" [dir=back tooltip="include"]
    "7" -> "18" [dir=back tooltip="include"]
    "7" -> "40" [dir=back tooltip="include"]
    "7" -> "41" [dir=back tooltip="include"]
    "7" -> "20" [dir=back tooltip="include"]
    "7" -> "21" [dir=back tooltip="include"]
    "7" -> "42" [dir=back tooltip="include"]
    "7" -> "32" [dir=back tooltip="include"]
    "7" -> "29" [dir=back tooltip="include"]
    "41" -> "25" [dir=back tooltip="include"]
    "41" -> "5" [dir=back tooltip="include"]
    "41" -> "26" [dir=back tooltip="include"]
    "41" -> "17" [dir=back tooltip="include"]
    "41" -> "18" [dir=back tooltip="include"]
    "41" -> "40" [dir=back tooltip="include"]
    "32" -> "11" [dir=back tooltip="include"]
    "32" -> "33" [dir=back tooltip="include"]
    "30" -> "8" [dir=back tooltip="include"]
    "30" -> "10" [dir=back tooltip="include"]
    "30" -> "5" [dir=back tooltip="include"]
    "30" -> "11" [dir=back tooltip="include"]
    "30" -> "31" [dir=back tooltip="include"]
    "30" -> "32" [dir=back tooltip="include"]
    "30" -> "34" [dir=back tooltip="include"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
    "2" -> "5" [dir=back tooltip="include"]
    "23" -> "24" [dir=back tooltip="include"]
    "23" -> "27" [dir=back tooltip="include"]
    "23" -> "5" [dir=back tooltip="include"]
    "23" -> "28" [dir=back tooltip="include"]
    "23" -> "26" [dir=back tooltip="include"]
    "23" -> "17" [dir=back tooltip="include"]
    "23" -> "18" [dir=back tooltip="include"]
    "23" -> "19" [dir=back tooltip="include"]
    "23" -> "29" [dir=back tooltip="include"]
    "39" -> "18" [dir=back tooltip="include"]
    "36" -> "28" [dir=back tooltip="include"]
    "37" -> "26" [dir=back tooltip="include"]
    "16" -> "6" [dir=back tooltip="include"]
    "16" -> "4" [dir=back tooltip="include"]
    "16" -> "14" [dir=back tooltip="include"]
    "16" -> "17" [dir=back tooltip="include"]
    "16" -> "18" [dir=back tooltip="include"]
    "16" -> "19" [dir=back tooltip="include"]
    "16" -> "20" [dir=back tooltip="include"]
    "16" -> "21" [dir=back tooltip="include"]
    "34" -> "6" [dir=back tooltip="include"]
    "34" -> "4" [dir=back tooltip="include"]
    "34" -> "10" [dir=back tooltip="include"]
    "34" -> "5" [dir=back tooltip="include"]
    "34" -> "17" [dir=back tooltip="include"]
    "34" -> "21" [dir=back tooltip="include"]
    "34" -> "15" [dir=back tooltip="include"]
    "35" -> "10" [dir=back tooltip="include"]
    "35" -> "5" [dir=back tooltip="include"]
    "35" -> "11" [dir=back tooltip="include"]
    "35" -> "28" [dir=back tooltip="include"]
    "35" -> "36" [dir=back tooltip="include"]
    "35" -> "26" [dir=back tooltip="include"]
    "35" -> "37" [dir=back tooltip="include"]
    "35" -> "17" [dir=back tooltip="include"]
    "35" -> "38" [dir=back tooltip="include"]
    "35" -> "18" [dir=back tooltip="include"]
    "35" -> "39" [dir=back tooltip="include"]
    "35" -> "19" [dir=back tooltip="include"]
    "11" -> "6" [dir=back tooltip="include"]
    "11" -> "10" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "12" -> "11" [dir=back tooltip="include"]
    "12" -> "15" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "44" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "10" [dir=back tooltip="include"]
    "1" -> "30" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "28" [dir=back tooltip="include"]
    "1" -> "26" [dir=back tooltip="include"]
    "1" -> "37" [dir=back tooltip="include"]
    "1" -> "17" [dir=back tooltip="include"]
    "1" -> "38" [dir=back tooltip="include"]
    "1" -> "18" [dir=back tooltip="include"]
    "1" -> "39" [dir=back tooltip="include"]
    "1" -> "40" [dir=back tooltip="include"]
    "1" -> "41" [dir=back tooltip="include"]
    "1" -> "19" [dir=back tooltip="include"]
    "1" -> "47" [dir=back tooltip="include"]
    "1" -> "42" [dir=back tooltip="include"]
    "1" -> "33" [dir=back tooltip="include"]
    "1" -> "34" [dir=back tooltip="include"]
    "38" -> "17" [dir=back tooltip="include"]
    "38" -> "18" [dir=back tooltip="include"]
}

Defines

INVALID_PROCESS_ID
TYPEDEF_MODULE

Typedefs

typedef struct Module Module

Functions

GlobalContext *globalcontext_new()
void globalcontext_destroy(GlobalContext *glb)
Context *globalcontext_get_process_nolock(GlobalContext *glb, int32_t process_id)
Context *globalcontext_get_process_lock(GlobalContext *glb, int32_t process_id)
void globalcontext_get_process_unlock(GlobalContext *glb, Context *c)
bool globalcontext_process_exists(GlobalContext *glb, int32_t process_id)
void globalcontext_send_message(GlobalContext *glb, int32_t process_id, term t)
void globalcontext_send_message_nolock(GlobalContext *glb, int32_t process_id, term t)
void globalcontext_init_process(GlobalContext *glb, Context *ctx)
bool globalcontext_register_process(GlobalContext *glb, int atom_index, int local_process_id)
int globalcontext_get_registered_process(GlobalContext *glb, int atom_index)
bool globalcontext_unregister_process(GlobalContext *glb, int atom_index)
void globalcontext_maybe_unregister_process_id(GlobalContext *glb, int process_id)
static inline int globalcontext_insert_atom_maybe_copy(GlobalContext *glb, AtomString atom_string, int copy)
static inline int globalcontext_insert_atom(GlobalContext *glb, AtomString atom_string)
bool globalcontext_is_atom_index_equal_to_atom_string(GlobalContext *glb, int atom_index_a, AtomString atom_string_b)
static inline bool globalcontext_is_term_equal_to_atom_string(GlobalContext *global, term atom_a, AtomString atom_string_b)
static inline term globalcontext_make_atom(GlobalContext *glb, AtomString string)
AtomString globalcontext_atomstring_from_term(GlobalContext *glb, term t)
term globalcontext_existing_term_from_atom_string(GlobalContext *glb, AtomString atom_string)
int globalcontext_insert_module(GlobalContext *global, Module *module)
Module *globalcontext_get_module_by_index(GlobalContext *global, int index)
Module *globalcontext_get_module(GlobalContext *global, AtomString module_name_atom)
bool globalcontext_demonitor(GlobalContext *global, uint64_t ref_ticks)
static inline uint64_t globalcontext_get_ref_ticks(GlobalContext *global)
file iff.c

Include dependency graph for iff.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/iff.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/iff.c" fillcolor="#BFBFBF"]
    "2" [label="iff.h" tooltip="iff.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "4" [label="utils.h" tooltip="utils.h"]
    "5" [label="stddef.h" tooltip="stddef.h"]
    "8" [label="string.h" tooltip="string.h"]
    "6" [label="stdio.h" tooltip="stdio.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
}

Functions

static uint32_t iff_align(uint32_t size)
int iff_is_valid_beam(const void *beam_data)
void scan_iff(const void *iff_binary, int buf_size, unsigned long *offsets, unsigned long *sizes)
file iff.h

Include dependency graph for iff.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/iff.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/iff.h" fillcolor="#BFBFBF"]
    "2" [label="stdint.h" tooltip="stdint.h"]
    "1" -> "2" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include iff.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/iff.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/iff.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/iff.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/iff.h" fillcolor="#BFBFBF"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
}

Defines

AT8U
CODE
EXPT
LOCT
IMPT
LITT
LITU
FUNT
STRT
LINT
MAX_OFFS
MAX_SIZES
IFF_SECTION_HEADER_SIZE

Functions

void scan_iff(const void *iff_binary, int file_size, unsigned long *offsets, unsigned long *sizes)
int iff_is_valid_beam(const void *beam_data)
file inet.c

Include dependency graph for inet.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "17" [label="stdbool.h" tooltip="stdbool.h"]
    "18" [label="stdatomic.h" tooltip="stdatomic.h"]
    "7" [label="atom.h" tooltip="atom.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "19" [label="synclist.h" tooltip="synclist.h"]
    "31" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "6" [label="stdint.h" tooltip="stdint.h"]
    "8" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" fillcolor="#BFBFBF"]
    "2" [label="inet.h" tooltip="inet.h"]
    "4" [label="context.h" tooltip="context.h"]
    "30" [label="port.h" tooltip="port.h"]
    "24" [label="utils.h" tooltip="utils.h"]
    "9" [label="atom_table.h" tooltip="atom_table.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "25" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "26" [label="refc_binary.h" tooltip="refc_binary.h"]
    "22" [label="string.h" tooltip="string.h"]
    "29" [label="mailbox.h" tooltip="mailbox.h"]
    "21" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "3" [label="interop.h" tooltip="interop.h"]
    "27" [label="resources.h" tooltip="resources.h"]
    "16" [label="smp.h" tooltip="smp.h"]
    "5" [label="globalcontext.h" tooltip="globalcontext.h"]
    "23" [label="memory.h" tooltip="memory.h"]
    "20" [label="stdio.h" tooltip="stdio.h"]
    "28" [label="timer_list.h" tooltip="timer_list.h"]
    "15" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "7" -> "6" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "16" [dir=forward tooltip="include"]
    "31" -> "5" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "21" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "23" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "15" [dir=forward tooltip="include"]
    "4" -> "29" [dir=forward tooltip="include"]
    "4" -> "16" [dir=forward tooltip="include"]
    "4" -> "21" [dir=forward tooltip="include"]
    "4" -> "28" [dir=forward tooltip="include"]
    "30" -> "4" [dir=forward tooltip="include"]
    "30" -> "31" [dir=forward tooltip="include"]
    "30" -> "5" [dir=forward tooltip="include"]
    "30" -> "23" [dir=forward tooltip="include"]
    "30" -> "21" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "9" -> "7" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "6" [dir=forward tooltip="include"]
    "26" -> "17" [dir=forward tooltip="include"]
    "26" -> "8" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "27" [dir=forward tooltip="include"]
    "26" -> "16" [dir=forward tooltip="include"]
    "29" -> "17" [dir=forward tooltip="include"]
    "29" -> "15" [dir=forward tooltip="include"]
    "29" -> "16" [dir=forward tooltip="include"]
    "29" -> "11" [dir=forward tooltip="include"]
    "29" -> "24" [dir=forward tooltip="include"]
    "21" -> "17" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "21" -> "20" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "23" [dir=forward tooltip="include"]
    "21" -> "26" [dir=forward tooltip="include"]
    "21" -> "24" [dir=forward tooltip="include"]
    "21" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "21" [dir=forward tooltip="include"]
    "27" -> "8" [dir=forward tooltip="include"]
    "27" -> "10" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "23" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "18" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "5" -> "7" [dir=forward tooltip="include"]
    "5" -> "9" [dir=forward tooltip="include"]
    "5" -> "10" [dir=forward tooltip="include"]
    "5" -> "15" [dir=forward tooltip="include"]
    "5" -> "16" [dir=forward tooltip="include"]
    "5" -> "19" [dir=forward tooltip="include"]
    "5" -> "21" [dir=forward tooltip="include"]
    "5" -> "28" [dir=forward tooltip="include"]
    "23" -> "10" [dir=forward tooltip="include"]
    "23" -> "11" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "6" [dir=forward tooltip="include"]
    "23" -> "8" [dir=forward tooltip="include"]
    "28" -> "17" [dir=forward tooltip="include"]
    "28" -> "6" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
}

Functions

enum inet_domain inet_atom_to_domain(term domain, GlobalContext *global)
enum inet_type inet_atom_to_type(term type, GlobalContext *global)
enum inet_protocol inet_atom_to_protocol(term protocol, GlobalContext *global)
uint32_t inet_addr4_to_uint32(term addr_tuple)
term inet_make_addr4(uint32_t addr, Heap *heap)

Variables

static const AtomStringIntPair inet_domain_table[] = {{ATOM_STR("\x4", "inet"), InetDomain},}
static const AtomStringIntPair inet_type_table[] = {{ATOM_STR("\x6", "stream"), InetStreamType}, {ATOM_STR("\x5", "dgram"), InetDgramType},}
static const AtomStringIntPair inet_protocol_table[] = {{ATOM_STR("\x2", "ip"), InetIpProtocol}, {ATOM_STR("\x3", "tcp"), InetTcpProtocol}, {ATOM_STR("\x3", "udp"), InetUdpProtocol},}
file inet.h

Include dependency graph for inet.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="stdbool.h" tooltip="stdbool.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "6" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" fillcolor="#BFBFBF"]
    "3" [label="context.h" tooltip="context.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "20" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "2" [label="interop.h" tooltip="interop.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "4" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "6" -> "5" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "28" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "20" [dir=forward tooltip="include"]
    "3" -> "27" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "5" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "25" -> "7" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "10" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "20" [dir=forward tooltip="include"]
    "26" -> "7" [dir=forward tooltip="include"]
    "26" -> "9" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "4" -> "9" [dir=forward tooltip="include"]
    "4" -> "14" [dir=forward tooltip="include"]
    "4" -> "15" [dir=forward tooltip="include"]
    "4" -> "18" [dir=forward tooltip="include"]
    "4" -> "20" [dir=forward tooltip="include"]
    "4" -> "27" [dir=forward tooltip="include"]
    "22" -> "9" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "7" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include inet.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" fillcolor="#BFBFBF"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
}

Defines

INET_ADDR4_TUPLE_SIZE

Enums

enum inet_domain

Values:

enumerator InetInvalidDomain
enumerator InetDomain
enum inet_type

Values:

enumerator InetInvalidType
enumerator InetStreamType
enumerator InetDgramType
enum inet_protocol

Values:

enumerator InetInvalidProtocol
enumerator InetIpProtocol
enumerator InetTcpProtocol
enumerator InetUdpProtocol

Functions

enum inet_domain inet_atom_to_domain(term domain, GlobalContext *global)
enum inet_type inet_atom_to_type(term type, GlobalContext *global)
enum inet_protocol inet_atom_to_protocol(term protocol, GlobalContext *global)
uint32_t inet_addr4_to_uint32(term addr_tuple)
term inet_make_addr4(uint32_t addr, Heap *heap)
file interop.c

Include dependency graph for interop.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="stdbool.h" tooltip="stdbool.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "29" [label="bitstring.h" tooltip="bitstring.h"]
    "6" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "30" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "31" [label="tempstack.h" tooltip="tempstack.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "32" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "3" [label="context.h" tooltip="context.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "20" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" fillcolor="#BFBFBF"]
    "2" [label="interop.h" tooltip="interop.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "4" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "29" -> "20" [dir=forward tooltip="include"]
    "29" -> "16" [dir=forward tooltip="include"]
    "29" -> "5" [dir=forward tooltip="include"]
    "6" -> "5" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "30" -> "4" [dir=forward tooltip="include"]
    "31" -> "10" [dir=forward tooltip="include"]
    "31" -> "23" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "28" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "20" [dir=forward tooltip="include"]
    "3" -> "27" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "5" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "25" -> "7" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "10" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "20" [dir=forward tooltip="include"]
    "1" -> "10" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "20" [dir=forward tooltip="include"]
    "26" -> "7" [dir=forward tooltip="include"]
    "26" -> "9" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "4" -> "9" [dir=forward tooltip="include"]
    "4" -> "14" [dir=forward tooltip="include"]
    "4" -> "15" [dir=forward tooltip="include"]
    "4" -> "18" [dir=forward tooltip="include"]
    "4" -> "20" [dir=forward tooltip="include"]
    "4" -> "27" [dir=forward tooltip="include"]
    "22" -> "9" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "7" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
}

Functions

char *interop_term_to_string(term t, int *ok)
char *interop_binary_to_string(term binary)
char *interop_iolist_to_string(term list, int *ok)
char *interop_list_to_string(term list, int *ok)
char *interop_atom_to_string(Context *ctx, term atom)
term interop_proplist_get_value(term list, term key)
term interop_proplist_get_value_default(term list, term key, term default_value)
inline InteropFunctionResult interop_chardata_fold(term t, interop_chardata_fold_fun fold_fun, interop_chardata_rest_fun rest_fun, void *accum)
static inline InteropFunctionResult size_fold_fun(term t, void *accum)
InteropFunctionResult interop_iolist_size(term t, size_t *size)
static inline InteropFunctionResult write_string_fold_fun(term t, void *accum)
InteropFunctionResult interop_write_iolist(term t, char *p)
static enum UnicodeConversionResult interop_binary_conversion(term t, uint8_t *output, size_t *output_len, size_t *rest_crsr, enum CharDataEncoding in_encoding, enum CharDataEncoding out_encoding)
static InteropFunctionResult chardata_to_bytes_size_fold_fun(term t, void *accum)
static void chardata_to_bytes_size_rest_fun(term t, void *accum)
enum UnicodeConversionResult interop_chardata_to_bytes_size(term t, size_t *size, size_t *rest_size, enum CharDataEncoding in_encoding, enum CharDataEncoding out_encoding)
static InteropFunctionResult chardata_to_bytes_fold_fun(term t, void *accum)
static void chardata_to_bytes_rest_fun(term t, void *accum)
enum UnicodeConversionResult interop_chardata_to_bytes(term t, uint8_t *output, term *rest, enum CharDataEncoding in_encoding, enum CharDataEncoding out_encoding, Heap *heap)
term interop_map_get_value(GlobalContext *glb, term map, term key)
term interop_map_get_value_default(GlobalContext *glb, term map, term key, term default_value)
int interop_atom_term_select_int(const AtomStringIntPair *table, term atom, GlobalContext *global)
term interop_kv_get_value_default(term kv, AtomString key, term default_value, GlobalContext *glb)
term interop_atom_term_select_atom(const AtomStringIntPair *table, int value, GlobalContext *global)
term interop_chars_to_list(const char *chars, size_t len, Heap *heap)
file interop.h

Include dependency graph for interop.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "2" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" fillcolor="#BFBFBF"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "19" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include interop.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" fillcolor="#BFBFBF"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
    "2" -> "5" [dir=back tooltip="include"]
    "2" -> "6" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "10" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
}

Defines

SELECT_INT_DEFAULT(i_val)

Typedefs

typedef InteropFunctionResult (*interop_chardata_fold_fun)(term t, void *accum)
typedef void (*interop_chardata_rest_fun)(term t, void *accum)

Enums

enum InteropFunctionResult

Values:

enumerator InteropOk
enumerator InteropMemoryAllocFail
enumerator InteropBadArg
enum UnicodeConversionResult

Values:

enumerator UnicodeOk
enumerator UnicodeMemoryAllocFail
enumerator UnicodeBadArg
enumerator UnicodeError
enumerator UnicodeIncompleteTransform
enum CharDataEncoding

Values:

enumerator Latin1Encoding
enumerator UTF8Encoding
enumerator UCS4NativeEncoding

Functions

char *interop_term_to_string(term t, int *ok)
char *interop_binary_to_string(term binary)
char *interop_list_to_string(term list, int *ok)
char *interop_iolist_to_string(term list, int *ok)
char *interop_atom_to_string(Context *ctx, term atom)
term interop_proplist_get_value(term list, term key)
term interop_proplist_get_value_default(term list, term key, term default_value)
term interop_map_get_value(GlobalContext *glb, term map, term key)
term interop_map_get_value_default(GlobalContext *glb, term map, term key, term default_value)
term interop_chars_to_list(const char *chars, size_t len, Heap *heap)
NO_DISCARD InteropFunctionResult interop_iolist_size (term t, size_t *size)
NO_DISCARD InteropFunctionResult interop_write_iolist (term t, char *p)
inline NO_DISCARD InteropFunctionResult interop_chardata_fold (term t, interop_chardata_fold_fun fold_fun, interop_chardata_rest_fun rest_fun, void *accum)
NO_DISCARD enum UnicodeConversionResult interop_chardata_to_bytes_size (term t, size_t *size, size_t *rest_size, enum CharDataEncoding in_encoding, enum CharDataEncoding out_encoding)
NO_DISCARD enum UnicodeConversionResult interop_chardata_to_bytes (term t, uint8_t *output, term *rest, enum CharDataEncoding in_encoding, enum CharDataEncoding out_encoding, Heap *heap)
int interop_atom_term_select_int(const AtomStringIntPair *table, term atom, GlobalContext *global)
term interop_atom_term_select_atom(const AtomStringIntPair *table, int value, GlobalContext *global)
term interop_kv_get_value_default(term kv, AtomString key, term default_value, GlobalContext *glb)
static inline term interop_kv_get_value(term kv, AtomString key, GlobalContext *glb)
static inline term interop_bytes_to_list(const void *bytes, int len, Heap *heap)
file list.h

This graph shows which files directly or indirectly include list.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
    "54" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "59" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/synclist.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/synclist.h"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "55" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "57" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "58" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "61" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.c"]
    "60" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/list.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/list.h" fillcolor="#BFBFBF"]
    "56" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "10" [dir=back tooltip="include"]
    "8" -> "5" [dir=back tooltip="include"]
    "8" -> "11" [dir=back tooltip="include"]
    "45" -> "9" [dir=back tooltip="include"]
    "45" -> "6" [dir=back tooltip="include"]
    "45" -> "44" [dir=back tooltip="include"]
    "45" -> "14" [dir=back tooltip="include"]
    "45" -> "5" [dir=back tooltip="include"]
    "45" -> "17" [dir=back tooltip="include"]
    "45" -> "20" [dir=back tooltip="include"]
    "53" -> "54" [dir=back tooltip="include"]
    "53" -> "27" [dir=back tooltip="include"]
    "53" -> "11" [dir=back tooltip="include"]
    "31" -> "5" [dir=back tooltip="include"]
    "49" -> "4" [dir=back tooltip="include"]
    "49" -> "5" [dir=back tooltip="include"]
    "49" -> "17" [dir=back tooltip="include"]
    "49" -> "19" [dir=back tooltip="include"]
    "59" -> "6" [dir=back tooltip="include"]
    "59" -> "4" [dir=back tooltip="include"]
    "59" -> "46" [dir=back tooltip="include"]
    "59" -> "43" [dir=back tooltip="include"]
    "59" -> "5" [dir=back tooltip="include"]
    "47" -> "9" [dir=back tooltip="include"]
    "47" -> "48" [dir=back tooltip="include"]
    "47" -> "44" [dir=back tooltip="include"]
    "47" -> "4" [dir=back tooltip="include"]
    "47" -> "27" [dir=back tooltip="include"]
    "47" -> "5" [dir=back tooltip="include"]
    "47" -> "11" [dir=back tooltip="include"]
    "47" -> "28" [dir=back tooltip="include"]
    "47" -> "26" [dir=back tooltip="include"]
    "47" -> "17" [dir=back tooltip="include"]
    "47" -> "18" [dir=back tooltip="include"]
    "47" -> "40" [dir=back tooltip="include"]
    "47" -> "41" [dir=back tooltip="include"]
    "47" -> "19" [dir=back tooltip="include"]
    "47" -> "21" [dir=back tooltip="include"]
    "47" -> "33" [dir=back tooltip="include"]
    "24" -> "25" [dir=back tooltip="include"]
    "24" -> "26" [dir=back tooltip="include"]
    "24" -> "17" [dir=back tooltip="include"]
    "24" -> "18" [dir=back tooltip="include"]
    "42" -> "43" [dir=back tooltip="include"]
    "42" -> "5" [dir=back tooltip="include"]
    "42" -> "11" [dir=back tooltip="include"]
    "42" -> "17" [dir=back tooltip="include"]
    "42" -> "15" [dir=back tooltip="include"]
    "55" -> "8" [dir=back tooltip="include"]
    "55" -> "30" [dir=back tooltip="include"]
    "55" -> "35" [dir=back tooltip="include"]
    "55" -> "11" [dir=back tooltip="include"]
    "55" -> "31" [dir=back tooltip="include"]
    "55" -> "49" [dir=back tooltip="include"]
    "7" -> "8" [dir=back tooltip="include"]
    "7" -> "6" [dir=back tooltip="include"]
    "7" -> "12" [dir=back tooltip="include"]
    "7" -> "16" [dir=back tooltip="include"]
    "7" -> "22" [dir=back tooltip="include"]
    "7" -> "4" [dir=back tooltip="include"]
    "7" -> "23" [dir=back tooltip="include"]
    "7" -> "14" [dir=back tooltip="include"]
    "7" -> "10" [dir=back tooltip="include"]
    "7" -> "30" [dir=back tooltip="include"]
    "7" -> "5" [dir=back tooltip="include"]
    "7" -> "35" [dir=back tooltip="include"]
    "7" -> "28" [dir=back tooltip="include"]
    "7" -> "26" [dir=back tooltip="include"]
    "7" -> "17" [dir=back tooltip="include"]
    "7" -> "18" [dir=back tooltip="include"]
    "7" -> "40" [dir=back tooltip="include"]
    "7" -> "41" [dir=back tooltip="include"]
    "7" -> "20" [dir=back tooltip="include"]
    "7" -> "21" [dir=back tooltip="include"]
    "7" -> "42" [dir=back tooltip="include"]
    "7" -> "32" [dir=back tooltip="include"]
    "7" -> "29" [dir=back tooltip="include"]
    "41" -> "25" [dir=back tooltip="include"]
    "41" -> "5" [dir=back tooltip="include"]
    "41" -> "26" [dir=back tooltip="include"]
    "41" -> "17" [dir=back tooltip="include"]
    "41" -> "18" [dir=back tooltip="include"]
    "41" -> "40" [dir=back tooltip="include"]
    "57" -> "9" [dir=back tooltip="include"]
    "32" -> "11" [dir=back tooltip="include"]
    "32" -> "33" [dir=back tooltip="include"]
    "51" -> "4" [dir=back tooltip="include"]
    "51" -> "14" [dir=back tooltip="include"]
    "51" -> "18" [dir=back tooltip="include"]
    "51" -> "20" [dir=back tooltip="include"]
    "51" -> "21" [dir=back tooltip="include"]
    "51" -> "52" [dir=back tooltip="include"]
    "50" -> "6" [dir=back tooltip="include"]
    "50" -> "7" [dir=back tooltip="include"]
    "50" -> "43" [dir=back tooltip="include"]
    "50" -> "5" [dir=back tooltip="include"]
    "50" -> "11" [dir=back tooltip="include"]
    "50" -> "17" [dir=back tooltip="include"]
    "50" -> "40" [dir=back tooltip="include"]
    "30" -> "8" [dir=back tooltip="include"]
    "30" -> "10" [dir=back tooltip="include"]
    "30" -> "5" [dir=back tooltip="include"]
    "30" -> "11" [dir=back tooltip="include"]
    "30" -> "31" [dir=back tooltip="include"]
    "30" -> "32" [dir=back tooltip="include"]
    "30" -> "34" [dir=back tooltip="include"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
    "2" -> "5" [dir=back tooltip="include"]
    "52" -> "53" [dir=back tooltip="include"]
    "52" -> "6" [dir=back tooltip="include"]
    "52" -> "7" [dir=back tooltip="include"]
    "52" -> "44" [dir=back tooltip="include"]
    "52" -> "45" [dir=back tooltip="include"]
    "52" -> "55" [dir=back tooltip="include"]
    "52" -> "56" [dir=back tooltip="include"]
    "52" -> "46" [dir=back tooltip="include"]
    "52" -> "25" [dir=back tooltip="include"]
    "52" -> "27" [dir=back tooltip="include"]
    "52" -> "23" [dir=back tooltip="include"]
    "52" -> "14" [dir=back tooltip="include"]
    "52" -> "10" [dir=back tooltip="include"]
    "52" -> "30" [dir=back tooltip="include"]
    "52" -> "5" [dir=back tooltip="include"]
    "52" -> "28" [dir=back tooltip="include"]
    "52" -> "26" [dir=back tooltip="include"]
    "52" -> "17" [dir=back tooltip="include"]
    "52" -> "18" [dir=back tooltip="include"]
    "52" -> "57" [dir=back tooltip="include"]
    "52" -> "41" [dir=back tooltip="include"]
    "52" -> "49" [dir=back tooltip="include"]
    "52" -> "32" [dir=back tooltip="include"]
    "52" -> "29" [dir=back tooltip="include"]
    "23" -> "24" [dir=back tooltip="include"]
    "23" -> "27" [dir=back tooltip="include"]
    "23" -> "5" [dir=back tooltip="include"]
    "23" -> "28" [dir=back tooltip="include"]
    "23" -> "26" [dir=back tooltip="include"]
    "23" -> "17" [dir=back tooltip="include"]
    "23" -> "18" [dir=back tooltip="include"]
    "23" -> "19" [dir=back tooltip="include"]
    "23" -> "29" [dir=back tooltip="include"]
    "39" -> "18" [dir=back tooltip="include"]
    "58" -> "4" [dir=back tooltip="include"]
    "58" -> "51" [dir=back tooltip="include"]
    "58" -> "21" [dir=back tooltip="include"]
    "36" -> "28" [dir=back tooltip="include"]
    "37" -> "26" [dir=back tooltip="include"]
    "16" -> "6" [dir=back tooltip="include"]
    "16" -> "4" [dir=back tooltip="include"]
    "16" -> "14" [dir=back tooltip="include"]
    "16" -> "17" [dir=back tooltip="include"]
    "16" -> "18" [dir=back tooltip="include"]
    "16" -> "19" [dir=back tooltip="include"]
    "16" -> "20" [dir=back tooltip="include"]
    "16" -> "21" [dir=back tooltip="include"]
    "34" -> "6" [dir=back tooltip="include"]
    "34" -> "4" [dir=back tooltip="include"]
    "34" -> "10" [dir=back tooltip="include"]
    "34" -> "5" [dir=back tooltip="include"]
    "34" -> "17" [dir=back tooltip="include"]
    "34" -> "21" [dir=back tooltip="include"]
    "34" -> "15" [dir=back tooltip="include"]
    "35" -> "10" [dir=back tooltip="include"]
    "35" -> "5" [dir=back tooltip="include"]
    "35" -> "11" [dir=back tooltip="include"]
    "35" -> "28" [dir=back tooltip="include"]
    "35" -> "36" [dir=back tooltip="include"]
    "35" -> "26" [dir=back tooltip="include"]
    "35" -> "37" [dir=back tooltip="include"]
    "35" -> "17" [dir=back tooltip="include"]
    "35" -> "38" [dir=back tooltip="include"]
    "35" -> "18" [dir=back tooltip="include"]
    "35" -> "39" [dir=back tooltip="include"]
    "35" -> "19" [dir=back tooltip="include"]
    "11" -> "6" [dir=back tooltip="include"]
    "11" -> "10" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "12" -> "11" [dir=back tooltip="include"]
    "12" -> "15" [dir=back tooltip="include"]
    "46" -> "2" [dir=back tooltip="include"]
    "46" -> "6" [dir=back tooltip="include"]
    "46" -> "7" [dir=back tooltip="include"]
    "46" -> "47" [dir=back tooltip="include"]
    "46" -> "4" [dir=back tooltip="include"]
    "46" -> "10" [dir=back tooltip="include"]
    "46" -> "30" [dir=back tooltip="include"]
    "46" -> "5" [dir=back tooltip="include"]
    "46" -> "28" [dir=back tooltip="include"]
    "46" -> "26" [dir=back tooltip="include"]
    "46" -> "37" [dir=back tooltip="include"]
    "46" -> "17" [dir=back tooltip="include"]
    "46" -> "38" [dir=back tooltip="include"]
    "46" -> "18" [dir=back tooltip="include"]
    "46" -> "39" [dir=back tooltip="include"]
    "46" -> "40" [dir=back tooltip="include"]
    "46" -> "41" [dir=back tooltip="include"]
    "46" -> "19" [dir=back tooltip="include"]
    "46" -> "49" [dir=back tooltip="include"]
    "46" -> "42" [dir=back tooltip="include"]
    "46" -> "33" [dir=back tooltip="include"]
    "46" -> "34" [dir=back tooltip="include"]
    "38" -> "17" [dir=back tooltip="include"]
    "38" -> "18" [dir=back tooltip="include"]
    "60" -> "7" [dir=back tooltip="include"]
    "60" -> "46" [dir=back tooltip="include"]
    "60" -> "61" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "44" [dir=back tooltip="include"]
    "1" -> "45" [dir=back tooltip="include"]
    "1" -> "22" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "46" [dir=back tooltip="include"]
    "1" -> "50" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "10" [dir=back tooltip="include"]
    "1" -> "17" [dir=back tooltip="include"]
    "1" -> "51" [dir=back tooltip="include"]
    "1" -> "58" [dir=back tooltip="include"]
    "1" -> "15" [dir=back tooltip="include"]
    "1" -> "59" [dir=back tooltip="include"]
    "1" -> "60" [dir=back tooltip="include"]
    "56" -> "22" [dir=back tooltip="include"]
    "56" -> "10" [dir=back tooltip="include"]
    "56" -> "5" [dir=back tooltip="include"]
}

Defines

GET_LIST_ENTRY(list_item, type, list_head_member)
LIST_FOR_EACH(item, head)
MUTABLE_LIST_FOR_EACH(item, tmp, head)

Functions

static inline void list_insert(struct ListHead *new_item, struct ListHead *prev_head, struct ListHead *next_head)
static inline void list_append(struct ListHead *head, struct ListHead *new_item)
static inline void list_prepend(struct ListHead *head, struct ListHead *new_item)
static inline void list_remove(struct ListHead *remove_item)
static inline void list_init(struct ListHead *list_item)
static inline int list_is_empty(struct ListHead *list_item)
static inline struct ListHead *list_first(struct ListHead *head)
static inline struct ListHead *list_last(struct ListHead *head)
file listeners.h

Include dependency graph for listeners.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="stdbool.h" tooltip="stdbool.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/listeners.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/listeners.h" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="include"]
}

Functions

static void event_listener_add_to_polling_set(struct EventListener *listener, GlobalContext *glb)
static void listener_event_remove_from_polling_set(listener_event_t event, GlobalContext *glb)
static bool event_listener_is_event(EventListener *listener, listener_event_t event)
static inline bool process_listener_handler(GlobalContext *glb, listener_event_t current_event, struct ListHead *listeners, struct ListHead **item_ptr, struct ListHead **previous_ptr)
file mailbox.c

Include dependency graph for mailbox.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "6" [label="stdatomic.h" tooltip="stdatomic.h"]
    "20" [label="atom.h" tooltip="atom.h"]
    "29" [label="trace.h" tooltip="trace.h"]
    "8" [label="assert.h" tooltip="assert.h"]
    "22" [label="synclist.h" tooltip="synclist.h"]
    "11" [label="stdint.h" tooltip="stdint.h"]
    "16" [label="stdlib.h" tooltip="stdlib.h"]
    "17" [label="scheduler.h" tooltip="scheduler.h"]
    "18" [label="context.h" tooltip="context.h"]
    "12" [label="utils.h" tooltip="utils.h"]
    "21" [label="atom_table.h" tooltip="atom_table.h"]
    "7" [label="term_typedef.h" tooltip="term_typedef.h"]
    "13" [label="stddef.h" tooltip="stddef.h"]
    "9" [label="limits.h" tooltip="limits.h"]
    "26" [label="refc_binary.h" tooltip="refc_binary.h"]
    "25" [label="string.h" tooltip="string.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" fillcolor="#BFBFBF"]
    "2" [label="mailbox.h" tooltip="mailbox.h"]
    "24" [label="term.h" tooltip="term.h"]
    "15" [label="erl_nif.h" tooltip="erl_nif.h"]
    "27" [label="resources.h" tooltip="resources.h"]
    "5" [label="smp.h" tooltip="smp.h"]
    "19" [label="globalcontext.h" tooltip="globalcontext.h"]
    "14" [label="memory.h" tooltip="memory.h"]
    "23" [label="stdio.h" tooltip="stdio.h"]
    "28" [label="timer_list.h" tooltip="timer_list.h"]
    "10" [label="inttypes.h" tooltip="inttypes.h"]
    "4" [label="list.h" tooltip="list.h"]
    "20" -> "11" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "22" -> "4" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "19" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "4" [dir=forward tooltip="include"]
    "18" -> "2" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "24" [dir=forward tooltip="include"]
    "18" -> "28" [dir=forward tooltip="include"]
    "12" -> "13" [dir=forward tooltip="include"]
    "21" -> "20" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "9" [dir=forward tooltip="include"]
    "7" -> "10" [dir=forward tooltip="include"]
    "7" -> "11" [dir=forward tooltip="include"]
    "26" -> "3" [dir=forward tooltip="include"]
    "26" -> "16" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "27" [dir=forward tooltip="include"]
    "26" -> "5" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "14" [dir=forward tooltip="include"]
    "1" -> "17" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "24" -> "3" [dir=forward tooltip="include"]
    "24" -> "11" [dir=forward tooltip="include"]
    "24" -> "23" [dir=forward tooltip="include"]
    "24" -> "16" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "24" -> "26" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "15" -> "7" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "4" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "5" -> "3" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "19" -> "11" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "5" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "28" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "7" [dir=forward tooltip="include"]
    "14" -> "12" [dir=forward tooltip="include"]
    "14" -> "11" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "28" -> "11" [dir=forward tooltip="include"]
    "28" -> "4" [dir=forward tooltip="include"]
}

Defines

ADDITIONAL_PROCESSING_MEMORY_SIZE

Functions

void mailbox_init(Mailbox *mbx)
_Static_assert (offsetof(struct Message, base)+offsetof(struct MailboxMessage, next)==offsetof(HeapFragment, next) ? 1 :0, "Message.base.next doesn't match HeapFragment.next")
_Static_assert (offsetof(struct Message, base)+offsetof(struct MailboxMessage, type)==offsetof(HeapFragment, heap_end) ? 1 :0, "Message.base.type doesn't match HeapFragment.heap_end")
_Static_assert (offsetof(struct Message, message)==offsetof(HeapFragment, storage) ? 1 :0, "Message.message doesn't match HeapFragment.storage[0]")
_Static_assert (offsetof(struct Message, heap_end)==offsetof(HeapFragment, storage[1]) ? 1 :0, "Message.heap_end doesn't match HeapFragment.storage[1]")
_Static_assert (sizeof(struct Message)==sizeof(HeapFragment)+2 *sizeof(term) ? 1 :0, "sizeof(Message) doesn't match sizeof(HeapFragment) + 2 terms")
_Static_assert (offsetof(struct TermSignal, base)+offsetof(struct MailboxMessage, next)==offsetof(HeapFragment, next) ? 1 :0, "TermSignal.base.next doesn't match HeapFragment.next")
_Static_assert (offsetof(struct TermSignal, base)+offsetof(struct MailboxMessage, type)==offsetof(HeapFragment, heap_end) ? 1 :0, "TermSignal.base.type doesn't match HeapFragment.heap_end")
_Static_assert (offsetof(struct TermSignal, signal_term)==offsetof(HeapFragment, storage) ? 1 :0, "TermSignal.signal_term doesn't match HeapFragment.storage[0]")
_Static_assert (offsetof(struct TermSignal, heap_end)==offsetof(HeapFragment, storage[1]) ? 1 :0, "TermSignal.heap_end doesn't match HeapFragment.storage[1]")
_Static_assert (sizeof(struct TermSignal)==sizeof(HeapFragment)+2 *sizeof(term) ? 1 :0, "sizeof(TermSignal) doesn't match sizeof(HeapFragment) + 2 terms")
HeapFragment *mailbox_message_to_heap_fragment(void *m, term *heap_end)
void mailbox_message_dispose(MailboxMessage *m, Heap *heap)
void mailbox_destroy(Mailbox *mbox, Heap *heap)
size_t mailbox_len(Mailbox *mbox)
size_t mailbox_size(Mailbox *mbox)
static void mailbox_post_message(Context *c, MailboxMessage *m)
void mailbox_send(Context *c, term t)
void mailbox_send_term_signal(Context *c, enum MessageType type, term t)
void mailbox_send_built_in_atom_signal(Context *c, enum MessageType type, term atom)
void mailbox_send_built_in_atom_request_signal(Context *c, enum MessageType type, int32_t pid, term atom)
void mailbox_send_ref_signal(Context *c, enum MessageType type, uint64_t ref_ticks)
void mailbox_send_empty_body_signal(Context *c, enum MessageType type)
void mailbox_reset(Mailbox *mbox)
MailboxMessage *mailbox_process_outer_list(Mailbox *mbox)
void mailbox_next(Mailbox *mbox)
bool mailbox_peek(Context *c, term *out)
MailboxMessage *mailbox_take_message(Mailbox *mbox)
Message *mailbox_first(Mailbox *mbox)
void mailbox_crashdump(Context *ctx)
file mailbox.h

Include dependency graph for mailbox.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="stdbool.h" tooltip="stdbool.h"]
    "5" [label="stdatomic.h" tooltip="stdatomic.h"]
    "7" [label="assert.h" tooltip="assert.h"]
    "10" [label="stdint.h" tooltip="stdint.h"]
    "11" [label="utils.h" tooltip="utils.h"]
    "6" [label="term_typedef.h" tooltip="term_typedef.h"]
    "12" [label="stddef.h" tooltip="stddef.h"]
    "8" [label="limits.h" tooltip="limits.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h" fillcolor="#BFBFBF"]
    "4" [label="smp.h" tooltip="smp.h"]
    "9" [label="inttypes.h" tooltip="inttypes.h"]
    "3" [label="list.h" tooltip="list.h"]
    "11" -> "12" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "8" [dir=forward tooltip="include"]
    "6" -> "9" [dir=forward tooltip="include"]
    "6" -> "10" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "11" [dir=forward tooltip="include"]
    "4" -> "2" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include mailbox.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h" fillcolor="#BFBFBF"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "6" [dir=back tooltip="include"]
    "4" -> "7" [dir=back tooltip="include"]
    "4" -> "8" [dir=back tooltip="include"]
    "29" -> "7" [dir=back tooltip="include"]
    "22" -> "23" [dir=back tooltip="include"]
    "22" -> "24" [dir=back tooltip="include"]
    "22" -> "15" [dir=back tooltip="include"]
    "22" -> "16" [dir=back tooltip="include"]
    "40" -> "41" [dir=back tooltip="include"]
    "40" -> "7" [dir=back tooltip="include"]
    "40" -> "8" [dir=back tooltip="include"]
    "40" -> "15" [dir=back tooltip="include"]
    "40" -> "12" [dir=back tooltip="include"]
    "3" -> "4" [dir=back tooltip="include"]
    "3" -> "2" [dir=back tooltip="include"]
    "3" -> "9" [dir=back tooltip="include"]
    "3" -> "13" [dir=back tooltip="include"]
    "3" -> "20" [dir=back tooltip="include"]
    "3" -> "14" [dir=back tooltip="include"]
    "3" -> "21" [dir=back tooltip="include"]
    "3" -> "11" [dir=back tooltip="include"]
    "3" -> "6" [dir=back tooltip="include"]
    "3" -> "28" [dir=back tooltip="include"]
    "3" -> "7" [dir=back tooltip="include"]
    "3" -> "33" [dir=back tooltip="include"]
    "3" -> "26" [dir=back tooltip="include"]
    "3" -> "24" [dir=back tooltip="include"]
    "3" -> "15" [dir=back tooltip="include"]
    "3" -> "16" [dir=back tooltip="include"]
    "3" -> "38" [dir=back tooltip="include"]
    "3" -> "39" [dir=back tooltip="include"]
    "3" -> "18" [dir=back tooltip="include"]
    "3" -> "19" [dir=back tooltip="include"]
    "3" -> "40" [dir=back tooltip="include"]
    "3" -> "30" [dir=back tooltip="include"]
    "3" -> "27" [dir=back tooltip="include"]
    "39" -> "23" [dir=back tooltip="include"]
    "39" -> "7" [dir=back tooltip="include"]
    "39" -> "24" [dir=back tooltip="include"]
    "39" -> "15" [dir=back tooltip="include"]
    "39" -> "16" [dir=back tooltip="include"]
    "39" -> "38" [dir=back tooltip="include"]
    "30" -> "8" [dir=back tooltip="include"]
    "30" -> "31" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "41" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "15" [dir=back tooltip="include"]
    "1" -> "38" [dir=back tooltip="include"]
    "28" -> "4" [dir=back tooltip="include"]
    "28" -> "6" [dir=back tooltip="include"]
    "28" -> "7" [dir=back tooltip="include"]
    "28" -> "8" [dir=back tooltip="include"]
    "28" -> "29" [dir=back tooltip="include"]
    "28" -> "30" [dir=back tooltip="include"]
    "28" -> "32" [dir=back tooltip="include"]
    "21" -> "22" [dir=back tooltip="include"]
    "21" -> "25" [dir=back tooltip="include"]
    "21" -> "7" [dir=back tooltip="include"]
    "21" -> "26" [dir=back tooltip="include"]
    "21" -> "24" [dir=back tooltip="include"]
    "21" -> "15" [dir=back tooltip="include"]
    "21" -> "16" [dir=back tooltip="include"]
    "21" -> "17" [dir=back tooltip="include"]
    "21" -> "27" [dir=back tooltip="include"]
    "37" -> "16" [dir=back tooltip="include"]
    "34" -> "26" [dir=back tooltip="include"]
    "35" -> "24" [dir=back tooltip="include"]
    "13" -> "2" [dir=back tooltip="include"]
    "13" -> "14" [dir=back tooltip="include"]
    "13" -> "11" [dir=back tooltip="include"]
    "13" -> "15" [dir=back tooltip="include"]
    "13" -> "16" [dir=back tooltip="include"]
    "13" -> "17" [dir=back tooltip="include"]
    "13" -> "18" [dir=back tooltip="include"]
    "13" -> "19" [dir=back tooltip="include"]
    "32" -> "2" [dir=back tooltip="include"]
    "32" -> "14" [dir=back tooltip="include"]
    "32" -> "6" [dir=back tooltip="include"]
    "32" -> "7" [dir=back tooltip="include"]
    "32" -> "15" [dir=back tooltip="include"]
    "32" -> "19" [dir=back tooltip="include"]
    "32" -> "12" [dir=back tooltip="include"]
    "33" -> "6" [dir=back tooltip="include"]
    "33" -> "7" [dir=back tooltip="include"]
    "33" -> "8" [dir=back tooltip="include"]
    "33" -> "26" [dir=back tooltip="include"]
    "33" -> "34" [dir=back tooltip="include"]
    "33" -> "24" [dir=back tooltip="include"]
    "33" -> "35" [dir=back tooltip="include"]
    "33" -> "15" [dir=back tooltip="include"]
    "33" -> "36" [dir=back tooltip="include"]
    "33" -> "16" [dir=back tooltip="include"]
    "33" -> "37" [dir=back tooltip="include"]
    "33" -> "17" [dir=back tooltip="include"]
    "8" -> "2" [dir=back tooltip="include"]
    "8" -> "6" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "11" [dir=back tooltip="include"]
    "9" -> "8" [dir=back tooltip="include"]
    "9" -> "12" [dir=back tooltip="include"]
    "36" -> "15" [dir=back tooltip="include"]
    "36" -> "16" [dir=back tooltip="include"]
}

Defines

TYPEDEF_CONTEXT
TYPEDEF_HEAP

Typedefs

typedef struct Context Context
typedef struct Heap Heap
typedef struct Message Message
typedef struct MailboxMessage MailboxMessage

Enums

enum MessageType

Values:

enumerator NormalMessage
enumerator KillSignal
enumerator GCSignal
enumerator ProcessInfoRequestSignal
enumerator TrapAnswerSignal
enumerator TrapExceptionSignal
enumerator FlushMonitorSignal
enumerator FlushInfoMonitorSignal

Functions

void mailbox_init(Mailbox *mbox)
size_t mailbox_len(Mailbox *mbox)
size_t mailbox_size(Mailbox *mbox)
MailboxMessage *mailbox_process_outer_list(Mailbox *mbox)
void mailbox_send(Context *c, term t)
void mailbox_send_term_signal(Context *c, enum MessageType type, term t)
void mailbox_send_built_in_atom_signal(Context *c, enum MessageType type, term atom)
void mailbox_send_built_in_atom_request_signal(Context *c, enum MessageType type, int32_t sender_pid, term atom)
void mailbox_send_ref_signal(Context *c, enum MessageType type, uint64_t ref_ticks)
void mailbox_send_empty_body_signal(Context *c, enum MessageType type)
void mailbox_reset(Mailbox *mbox)
void mailbox_next(Mailbox *mbox)
static inline bool mailbox_has_next(Mailbox *mbox)
bool mailbox_peek(Context *ctx, term *out)
MailboxMessage *mailbox_take_message(Mailbox *mbox)
Message *mailbox_first(Mailbox *mbox)
void mailbox_destroy(Mailbox *mbox, Heap *heap)
void mailbox_message_dispose(MailboxMessage *m, Heap *heap)
static inline void mailbox_remove_message(Mailbox *mbox, Heap *heap)
void mailbox_crashdump(Context *ctx)
file memory.c

Include dependency graph for memory.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="stdbool.h" tooltip="stdbool.h"]
    "29" [label="dictionary.h" tooltip="dictionary.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "7" [label="atom.h" tooltip="atom.h"]
    "32" [label="trace.h" tooltip="trace.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "31" [label="tempstack.h" tooltip="tempstack.h"]
    "6" [label="stdint.h" tooltip="stdint.h"]
    "2" [label="stdlib.h" tooltip="stdlib.h"]
    "4" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "3" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "20" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "30" [label="erl_nif_priv.h" tooltip="erl_nif_priv.h"]
    "28" [label="debug.h" tooltip="debug.h"]
    "5" [label="globalcontext.h" tooltip="globalcontext.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" fillcolor="#BFBFBF"]
    "21" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "29" -> "14" [dir=forward tooltip="include"]
    "29" -> "20" [dir=forward tooltip="include"]
    "7" -> "6" [dir=forward tooltip="include"]
    "7" -> "2" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "31" -> "10" [dir=forward tooltip="include"]
    "31" -> "22" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "14" [dir=forward tooltip="include"]
    "4" -> "27" [dir=forward tooltip="include"]
    "4" -> "15" [dir=forward tooltip="include"]
    "4" -> "20" [dir=forward tooltip="include"]
    "4" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "8" -> "7" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "6" [dir=forward tooltip="include"]
    "24" -> "16" [dir=forward tooltip="include"]
    "24" -> "2" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "10" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "20" -> "6" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "2" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "24" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "25" -> "2" [dir=forward tooltip="include"]
    "25" -> "9" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "30" -> "4" [dir=forward tooltip="include"]
    "30" -> "21" [dir=forward tooltip="include"]
    "28" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "5" -> "7" [dir=forward tooltip="include"]
    "5" -> "8" [dir=forward tooltip="include"]
    "5" -> "9" [dir=forward tooltip="include"]
    "5" -> "14" [dir=forward tooltip="include"]
    "5" -> "15" [dir=forward tooltip="include"]
    "5" -> "18" [dir=forward tooltip="include"]
    "5" -> "20" [dir=forward tooltip="include"]
    "5" -> "26" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "14" [dir=forward tooltip="include"]
    "1" -> "21" [dir=forward tooltip="include"]
    "1" -> "24" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "20" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "10" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "21" -> "2" [dir=forward tooltip="include"]
    "26" -> "16" [dir=forward tooltip="include"]
    "26" -> "6" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
}

Defines

MAX(a, b)
FIBONACCI_HEAP_GROWTH_REDUCTION_THRESHOLD

Functions

static void memory_scan_and_copy(HeapFragment *old_fragment, term *mem_start, const term *mem_end, term **new_heap_pos, term *mso_list, bool move)
static term memory_shallow_copy_term(HeapFragment *old_fragment, term t, term **new_heap, bool move)
static enum MemoryGCResult memory_gc(Context *ctx, size_t new_size, size_t num_roots, term *roots)
enum MemoryGCResult memory_init_heap(Heap *heap, size_t size)
void memory_init_heap_root_fragment(Heap *heap, HeapFragment *root, size_t size)
static inline enum MemoryGCResult memory_heap_alloc_new_fragment(Heap *heap, size_t size)
enum MemoryGCResult memory_erl_nif_env_ensure_free(ErlNifEnv *env, size_t size)
static size_t next_fibonacci_heap_size(size_t size)
enum MemoryGCResult memory_ensure_free_with_roots(Context *c, size_t size, size_t num_roots, term *roots, enum MemoryAllocMode alloc_mode)
static inline void push_to_stack(term **stack, term value)
static inline int memory_is_moved_marker(term *t)
static inline void memory_replace_with_moved_marker(term *to_be_replaced, term replace_with)
static inline term memory_dereference_moved_marker(const term *moved_marker)
static term memory_copy_term_tree_internal(term **heap_ptr, term *mso_list, term t)
term memory_copy_term_tree(Heap *new_heap, term t)
term memory_copy_term_tree_to_storage(term *storage, term **heap_end, term t)
unsigned long memory_estimate_usage(term t)
static inline HOT_FUNC bool memory_heap_fragment_contains_pointer (HeapFragment *old_fragment, term *ptr)
void memory_heap_append_fragment(Heap *heap, HeapFragment *fragment, term mso_list)
void memory_sweep_mso_list(term mso_list, GlobalContext *global)
file memory.h

Include dependency graph for memory.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="assert.h" tooltip="assert.h"]
    "7" [label="stdint.h" tooltip="stdint.h"]
    "10" [label="stdlib.h" tooltip="stdlib.h"]
    "8" [label="utils.h" tooltip="utils.h"]
    "3" [label="term_typedef.h" tooltip="term_typedef.h"]
    "9" [label="stddef.h" tooltip="stddef.h"]
    "5" [label="limits.h" tooltip="limits.h"]
    "2" [label="erl_nif.h" tooltip="erl_nif.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.h" fillcolor="#BFBFBF"]
    "6" [label="inttypes.h" tooltip="inttypes.h"]
    "8" -> "9" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "6" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "1" -> "10" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include memory.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "56" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "55" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "57" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "54" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.h" fillcolor="#BFBFBF"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h"]
    "27" -> "28" [dir=back tooltip="include"]
    "27" -> "25" [dir=back tooltip="include"]
    "27" -> "15" [dir=back tooltip="include"]
    "27" -> "24" [dir=back tooltip="include"]
    "48" -> "28" [dir=back tooltip="include"]
    "48" -> "3" [dir=back tooltip="include"]
    "48" -> "47" [dir=back tooltip="include"]
    "48" -> "5" [dir=back tooltip="include"]
    "48" -> "15" [dir=back tooltip="include"]
    "48" -> "6" [dir=back tooltip="include"]
    "48" -> "9" [dir=back tooltip="include"]
    "21" -> "22" [dir=back tooltip="include"]
    "21" -> "23" [dir=back tooltip="include"]
    "21" -> "24" [dir=back tooltip="include"]
    "37" -> "15" [dir=back tooltip="include"]
    "50" -> "4" [dir=back tooltip="include"]
    "50" -> "15" [dir=back tooltip="include"]
    "50" -> "6" [dir=back tooltip="include"]
    "50" -> "8" [dir=back tooltip="include"]
    "55" -> "28" [dir=back tooltip="include"]
    "55" -> "56" [dir=back tooltip="include"]
    "55" -> "47" [dir=back tooltip="include"]
    "55" -> "4" [dir=back tooltip="include"]
    "55" -> "23" [dir=back tooltip="include"]
    "55" -> "15" [dir=back tooltip="include"]
    "55" -> "24" [dir=back tooltip="include"]
    "55" -> "34" [dir=back tooltip="include"]
    "55" -> "13" [dir=back tooltip="include"]
    "55" -> "6" [dir=back tooltip="include"]
    "55" -> "7" [dir=back tooltip="include"]
    "55" -> "17" [dir=back tooltip="include"]
    "55" -> "16" [dir=back tooltip="include"]
    "55" -> "8" [dir=back tooltip="include"]
    "55" -> "10" [dir=back tooltip="include"]
    "55" -> "39" [dir=back tooltip="include"]
    "11" -> "12" [dir=back tooltip="include"]
    "11" -> "13" [dir=back tooltip="include"]
    "11" -> "6" [dir=back tooltip="include"]
    "11" -> "7" [dir=back tooltip="include"]
    "46" -> "14" [dir=back tooltip="include"]
    "46" -> "15" [dir=back tooltip="include"]
    "46" -> "24" [dir=back tooltip="include"]
    "46" -> "6" [dir=back tooltip="include"]
    "46" -> "31" [dir=back tooltip="include"]
    "49" -> "27" [dir=back tooltip="include"]
    "49" -> "36" [dir=back tooltip="include"]
    "49" -> "41" [dir=back tooltip="include"]
    "49" -> "24" [dir=back tooltip="include"]
    "49" -> "37" [dir=back tooltip="include"]
    "49" -> "50" [dir=back tooltip="include"]
    "26" -> "27" [dir=back tooltip="include"]
    "26" -> "3" [dir=back tooltip="include"]
    "26" -> "29" [dir=back tooltip="include"]
    "26" -> "2" [dir=back tooltip="include"]
    "26" -> "32" [dir=back tooltip="include"]
    "26" -> "4" [dir=back tooltip="include"]
    "26" -> "33" [dir=back tooltip="include"]
    "26" -> "5" [dir=back tooltip="include"]
    "26" -> "25" [dir=back tooltip="include"]
    "26" -> "36" [dir=back tooltip="include"]
    "26" -> "15" [dir=back tooltip="include"]
    "26" -> "41" [dir=back tooltip="include"]
    "26" -> "34" [dir=back tooltip="include"]
    "26" -> "13" [dir=back tooltip="include"]
    "26" -> "6" [dir=back tooltip="include"]
    "26" -> "7" [dir=back tooltip="include"]
    "26" -> "17" [dir=back tooltip="include"]
    "26" -> "16" [dir=back tooltip="include"]
    "26" -> "9" [dir=back tooltip="include"]
    "26" -> "10" [dir=back tooltip="include"]
    "26" -> "46" [dir=back tooltip="include"]
    "26" -> "38" [dir=back tooltip="include"]
    "26" -> "35" [dir=back tooltip="include"]
    "16" -> "12" [dir=back tooltip="include"]
    "16" -> "15" [dir=back tooltip="include"]
    "16" -> "13" [dir=back tooltip="include"]
    "16" -> "6" [dir=back tooltip="include"]
    "16" -> "7" [dir=back tooltip="include"]
    "16" -> "17" [dir=back tooltip="include"]
    "57" -> "28" [dir=back tooltip="include"]
    "38" -> "24" [dir=back tooltip="include"]
    "38" -> "39" [dir=back tooltip="include"]
    "19" -> "4" [dir=back tooltip="include"]
    "19" -> "5" [dir=back tooltip="include"]
    "19" -> "7" [dir=back tooltip="include"]
    "19" -> "9" [dir=back tooltip="include"]
    "19" -> "10" [dir=back tooltip="include"]
    "19" -> "20" [dir=back tooltip="include"]
    "36" -> "27" [dir=back tooltip="include"]
    "36" -> "25" [dir=back tooltip="include"]
    "36" -> "15" [dir=back tooltip="include"]
    "36" -> "24" [dir=back tooltip="include"]
    "36" -> "37" [dir=back tooltip="include"]
    "36" -> "38" [dir=back tooltip="include"]
    "36" -> "40" [dir=back tooltip="include"]
    "53" -> "54" [dir=back tooltip="include"]
    "53" -> "4" [dir=back tooltip="include"]
    "53" -> "15" [dir=back tooltip="include"]
    "20" -> "21" [dir=back tooltip="include"]
    "20" -> "3" [dir=back tooltip="include"]
    "20" -> "26" [dir=back tooltip="include"]
    "20" -> "47" [dir=back tooltip="include"]
    "20" -> "48" [dir=back tooltip="include"]
    "20" -> "49" [dir=back tooltip="include"]
    "20" -> "51" [dir=back tooltip="include"]
    "20" -> "52" [dir=back tooltip="include"]
    "20" -> "12" [dir=back tooltip="include"]
    "20" -> "23" [dir=back tooltip="include"]
    "20" -> "33" [dir=back tooltip="include"]
    "20" -> "5" [dir=back tooltip="include"]
    "20" -> "25" [dir=back tooltip="include"]
    "20" -> "36" [dir=back tooltip="include"]
    "20" -> "15" [dir=back tooltip="include"]
    "20" -> "34" [dir=back tooltip="include"]
    "20" -> "13" [dir=back tooltip="include"]
    "20" -> "6" [dir=back tooltip="include"]
    "20" -> "7" [dir=back tooltip="include"]
    "20" -> "57" [dir=back tooltip="include"]
    "20" -> "16" [dir=back tooltip="include"]
    "20" -> "50" [dir=back tooltip="include"]
    "20" -> "38" [dir=back tooltip="include"]
    "20" -> "35" [dir=back tooltip="include"]
    "33" -> "11" [dir=back tooltip="include"]
    "33" -> "23" [dir=back tooltip="include"]
    "33" -> "15" [dir=back tooltip="include"]
    "33" -> "34" [dir=back tooltip="include"]
    "33" -> "13" [dir=back tooltip="include"]
    "33" -> "6" [dir=back tooltip="include"]
    "33" -> "7" [dir=back tooltip="include"]
    "33" -> "8" [dir=back tooltip="include"]
    "33" -> "35" [dir=back tooltip="include"]
    "45" -> "7" [dir=back tooltip="include"]
    "18" -> "4" [dir=back tooltip="include"]
    "18" -> "19" [dir=back tooltip="include"]
    "18" -> "10" [dir=back tooltip="include"]
    "42" -> "34" [dir=back tooltip="include"]
    "43" -> "13" [dir=back tooltip="include"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
    "2" -> "5" [dir=back tooltip="include"]
    "2" -> "6" [dir=back tooltip="include"]
    "2" -> "7" [dir=back tooltip="include"]
    "2" -> "8" [dir=back tooltip="include"]
    "2" -> "9" [dir=back tooltip="include"]
    "2" -> "10" [dir=back tooltip="include"]
    "40" -> "3" [dir=back tooltip="include"]
    "40" -> "4" [dir=back tooltip="include"]
    "40" -> "25" [dir=back tooltip="include"]
    "40" -> "15" [dir=back tooltip="include"]
    "40" -> "6" [dir=back tooltip="include"]
    "40" -> "10" [dir=back tooltip="include"]
    "40" -> "31" [dir=back tooltip="include"]
    "41" -> "25" [dir=back tooltip="include"]
    "41" -> "15" [dir=back tooltip="include"]
    "41" -> "24" [dir=back tooltip="include"]
    "41" -> "34" [dir=back tooltip="include"]
    "41" -> "42" [dir=back tooltip="include"]
    "41" -> "13" [dir=back tooltip="include"]
    "41" -> "43" [dir=back tooltip="include"]
    "41" -> "6" [dir=back tooltip="include"]
    "41" -> "44" [dir=back tooltip="include"]
    "41" -> "7" [dir=back tooltip="include"]
    "41" -> "45" [dir=back tooltip="include"]
    "41" -> "8" [dir=back tooltip="include"]
    "24" -> "3" [dir=back tooltip="include"]
    "24" -> "25" [dir=back tooltip="include"]
    "29" -> "30" [dir=back tooltip="include"]
    "29" -> "5" [dir=back tooltip="include"]
    "29" -> "24" [dir=back tooltip="include"]
    "29" -> "31" [dir=back tooltip="include"]
    "52" -> "53" [dir=back tooltip="include"]
    "52" -> "3" [dir=back tooltip="include"]
    "52" -> "26" [dir=back tooltip="include"]
    "52" -> "55" [dir=back tooltip="include"]
    "52" -> "4" [dir=back tooltip="include"]
    "52" -> "25" [dir=back tooltip="include"]
    "52" -> "36" [dir=back tooltip="include"]
    "52" -> "15" [dir=back tooltip="include"]
    "52" -> "34" [dir=back tooltip="include"]
    "52" -> "13" [dir=back tooltip="include"]
    "52" -> "43" [dir=back tooltip="include"]
    "52" -> "6" [dir=back tooltip="include"]
    "52" -> "44" [dir=back tooltip="include"]
    "52" -> "7" [dir=back tooltip="include"]
    "52" -> "45" [dir=back tooltip="include"]
    "52" -> "17" [dir=back tooltip="include"]
    "52" -> "16" [dir=back tooltip="include"]
    "52" -> "8" [dir=back tooltip="include"]
    "52" -> "50" [dir=back tooltip="include"]
    "52" -> "46" [dir=back tooltip="include"]
    "52" -> "39" [dir=back tooltip="include"]
    "52" -> "40" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "15" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "16" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
    "1" -> "18" [dir=back tooltip="include"]
    "1" -> "39" [dir=back tooltip="include"]
    "1" -> "20" [dir=back tooltip="include"]
    "44" -> "6" [dir=back tooltip="include"]
    "44" -> "7" [dir=back tooltip="include"]
    "51" -> "32" [dir=back tooltip="include"]
    "51" -> "25" [dir=back tooltip="include"]
    "51" -> "15" [dir=back tooltip="include"]
}

Defines

HEAP_NEED_GC_SHRINK_THRESHOLD_COEFF
MIN_FREE_SPACE_SIZE
TYPEDEF_CONTEXT
TYPEDEF_GLOBALCONTEXT
TYPEDEF_HEAP
BEGIN_WITH_STACK_HEAP(size, name)
END_WITH_STACK_HEAP(name, global)
STORAGE_MSO_LIST_INDEX
STORAGE_HEAP_START_INDEX

Typedefs

typedef struct Context Context
typedef struct GlobalContext GlobalContext
typedef struct HeapFragment HeapFragment
typedef struct Heap Heap

Enums

enum MemoryGCResult

Values:

enumerator MEMORY_GC_OK
enumerator MEMORY_GC_ERROR_FAILED_ALLOCATION
enumerator MEMORY_GC_DENIED_ALLOCATION
enum MemoryAllocMode

Values:

enumerator MEMORY_NO_SHRINK
enumerator MEMORY_CAN_SHRINK
enumerator MEMORY_FORCE_SHRINK
enumerator MEMORY_NO_GC

Functions

void memory_init_heap_root_fragment(Heap *heap, HeapFragment *root, size_t size)
enum MemoryGCResult memory_init_heap (Heap *heap, size_t size) MUST_CHECK
static inline size_t memory_heap_fragment_memory_size(const HeapFragment *fragment)
static inline size_t memory_heap_youngest_size(const Heap *heap)
static inline size_t memory_heap_memory_size(const Heap *heap)
static inline MALLOC_LIKE term * memory_heap_alloc (Heap *heap, size_t size)
term memory_copy_term_tree(Heap *new_heap, term t)
enum MemoryGCResult memory_ensure_free_with_roots (Context *ctx, size_t size, size_t num_roots, term *roots, enum MemoryAllocMode alloc_mode) MUST_CHECK
static inline MUST_CHECK enum MemoryGCResult memory_ensure_free_opt (Context *ctx, size_t size, enum MemoryAllocMode alloc_mode)
static inline MUST_CHECK enum MemoryGCResult memory_ensure_free (Context *ctx, size_t size)
MUST_CHECK enum MemoryGCResult memory_erl_nif_env_ensure_free (ErlNifEnv *env, size_t size)
term memory_copy_term_tree_to_storage(term *storage, term **heap_end, term t)
unsigned long memory_estimate_usage(term t)
void memory_heap_append_fragment(Heap *heap, HeapFragment *fragment, term mso_list)
static inline void memory_heap_append_heap(Heap *target, Heap *source)
void memory_sweep_mso_list(term mso_list, GlobalContext *global)
static inline void memory_destroy_heap_fragment(HeapFragment *fragment)
static inline void memory_destroy_heap(Heap *heap, GlobalContext *global)
file module.c

Include dependency graph for module.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "32" [label="bif.h" tooltip="bif.h"]
    "18" [label="stdatomic.h" tooltip="stdatomic.h"]
    "34" [label="iff.h" tooltip="iff.h"]
    "39" [label="bitstring.h" tooltip="bitstring.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "45" [label="trace.h" tooltip="trace.h"]
    "13" [label="assert.h" tooltip="assert.h"]
    "19" [label="synclist.h" tooltip="synclist.h"]
    "41" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "31" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "43" [label="scheduler.h" tooltip="scheduler.h"]
    "30" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "9" [label="context.h" tooltip="context.h"]
    "24" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "12" [label="term_typedef.h" tooltip="term_typedef.h"]
    "25" [label="stddef.h" tooltip="stddef.h"]
    "14" [label="limits.h" tooltip="limits.h"]
    "44" [label="stacktrace.h" tooltip="stacktrace.h"]
    "26" [label="refc_binary.h" tooltip="refc_binary.h"]
    "22" [label="string.h" tooltip="string.h"]
    "29" [label="mailbox.h" tooltip="mailbox.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" fillcolor="#BFBFBF"]
    "2" [label="module.h" tooltip="module.h"]
    "21" [label="term.h" tooltip="term.h"]
    "11" [label="erl_nif.h" tooltip="erl_nif.h"]
    "42" [label="opcodes.h" tooltip="opcodes.h"]
    "37" [label="time.h" tooltip="time.h"]
    "27" [label="resources.h" tooltip="resources.h"]
    "17" [label="smp.h" tooltip="smp.h"]
    "36" [label="sys.h" tooltip="sys.h"]
    "8" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "35" [label="nifs.h" tooltip="nifs.h"]
    "38" [label="opcodesswitch.h" tooltip="opcodesswitch.h"]
    "40" [label="debug.h" tooltip="debug.h"]
    "10" [label="globalcontext.h" tooltip="globalcontext.h"]
    "23" [label="memory.h" tooltip="memory.h"]
    "20" [label="stdio.h" tooltip="stdio.h"]
    "28" [label="timer_list.h" tooltip="timer_list.h"]
    "16" [label="list.h" tooltip="list.h"]
    "15" [label="inttypes.h" tooltip="inttypes.h"]
    "33" [label="externalterm.h" tooltip="externalterm.h"]
    "32" -> "3" [dir=forward tooltip="include"]
    "32" -> "5" [dir=forward tooltip="include"]
    "32" -> "9" [dir=forward tooltip="include"]
    "32" -> "30" [dir=forward tooltip="include"]
    "32" -> "2" [dir=forward tooltip="include"]
    "34" -> "4" [dir=forward tooltip="include"]
    "39" -> "21" [dir=forward tooltip="include"]
    "39" -> "3" [dir=forward tooltip="include"]
    "39" -> "4" [dir=forward tooltip="include"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "19" -> "16" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "17" [dir=forward tooltip="include"]
    "41" -> "10" [dir=forward tooltip="include"]
    "43" -> "9" [dir=forward tooltip="include"]
    "43" -> "10" [dir=forward tooltip="include"]
    "30" -> "21" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "16" [dir=forward tooltip="include"]
    "9" -> "29" [dir=forward tooltip="include"]
    "9" -> "17" [dir=forward tooltip="include"]
    "9" -> "21" [dir=forward tooltip="include"]
    "9" -> "28" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "12" -> "13" [dir=forward tooltip="include"]
    "12" -> "14" [dir=forward tooltip="include"]
    "12" -> "15" [dir=forward tooltip="include"]
    "12" -> "4" [dir=forward tooltip="include"]
    "44" -> "9" [dir=forward tooltip="include"]
    "44" -> "2" [dir=forward tooltip="include"]
    "44" -> "21" [dir=forward tooltip="include"]
    "26" -> "3" [dir=forward tooltip="include"]
    "26" -> "6" [dir=forward tooltip="include"]
    "26" -> "16" [dir=forward tooltip="include"]
    "26" -> "27" [dir=forward tooltip="include"]
    "26" -> "17" [dir=forward tooltip="include"]
    "29" -> "3" [dir=forward tooltip="include"]
    "29" -> "16" [dir=forward tooltip="include"]
    "29" -> "17" [dir=forward tooltip="include"]
    "29" -> "12" [dir=forward tooltip="include"]
    "29" -> "24" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "9" [dir=forward tooltip="include"]
    "1" -> "33" [dir=forward tooltip="include"]
    "1" -> "10" [dir=forward tooltip="include"]
    "1" -> "34" [dir=forward tooltip="include"]
    "1" -> "16" [dir=forward tooltip="include"]
    "1" -> "35" [dir=forward tooltip="include"]
    "1" -> "21" [dir=forward tooltip="include"]
    "1" -> "24" [dir=forward tooltip="include"]
    "1" -> "36" [dir=forward tooltip="include"]
    "1" -> "17" [dir=forward tooltip="include"]
    "1" -> "20" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "38" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "8" [dir=forward tooltip="include"]
    "2" -> "9" [dir=forward tooltip="include"]
    "2" -> "30" [dir=forward tooltip="include"]
    "2" -> "10" [dir=forward tooltip="include"]
    "2" -> "21" [dir=forward tooltip="include"]
    "2" -> "31" [dir=forward tooltip="include"]
    "21" -> "3" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "20" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "23" [dir=forward tooltip="include"]
    "21" -> "26" [dir=forward tooltip="include"]
    "21" -> "24" [dir=forward tooltip="include"]
    "21" -> "12" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "27" -> "6" [dir=forward tooltip="include"]
    "27" -> "11" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "23" [dir=forward tooltip="include"]
    "17" -> "3" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "36" -> "10" [dir=forward tooltip="include"]
    "36" -> "2" [dir=forward tooltip="include"]
    "36" -> "4" [dir=forward tooltip="include"]
    "36" -> "37" [dir=forward tooltip="include"]
    "8" -> "5" [dir=forward tooltip="include"]
    "35" -> "5" [dir=forward tooltip="include"]
    "35" -> "9" [dir=forward tooltip="include"]
    "35" -> "30" [dir=forward tooltip="include"]
    "38" -> "2" [dir=forward tooltip="include"]
    "38" -> "13" [dir=forward tooltip="include"]
    "38" -> "22" [dir=forward tooltip="include"]
    "38" -> "32" [dir=forward tooltip="include"]
    "38" -> "39" [dir=forward tooltip="include"]
    "38" -> "40" [dir=forward tooltip="include"]
    "38" -> "41" [dir=forward tooltip="include"]
    "38" -> "30" [dir=forward tooltip="include"]
    "38" -> "35" [dir=forward tooltip="include"]
    "38" -> "42" [dir=forward tooltip="include"]
    "38" -> "43" [dir=forward tooltip="include"]
    "38" -> "24" [dir=forward tooltip="include"]
    "38" -> "29" [dir=forward tooltip="include"]
    "38" -> "44" [dir=forward tooltip="include"]
    "38" -> "45" [dir=forward tooltip="include"]
    "40" -> "9" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "10" -> "5" [dir=forward tooltip="include"]
    "10" -> "7" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "16" [dir=forward tooltip="include"]
    "10" -> "17" [dir=forward tooltip="include"]
    "10" -> "19" [dir=forward tooltip="include"]
    "10" -> "21" [dir=forward tooltip="include"]
    "10" -> "28" [dir=forward tooltip="include"]
    "23" -> "11" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "4" [dir=forward tooltip="include"]
    "23" -> "6" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "28" -> "4" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "33" -> "21" [dir=forward tooltip="include"]
}

Defines

LITT_UNCOMPRESSED_SIZE_OFFSET
LITT_HEADER_SIZE
TAG_COMPACT_INT
TAG_COMPACT_ATOM
TAG_EXTENDED_INT
TAG_EXTENDED_ATOM
CHECK_FREE_SPACE(space, error)
IMPL_CODE_LOADER

Functions

static struct LiteralEntry *module_build_literals_table(const void *literalsBuf)
static void module_add_label(Module *mod, int index, const uint8_t *ptr)
static enum ModuleLoadResult module_build_imported_functions_table(Module *this_module, uint8_t *table_data, GlobalContext *glb)
static void parse_line_table(uint16_t **line_refs, struct ModuleFilename **filenames, uint8_t *data, size_t len)
static enum ModuleLoadResult module_populate_atoms_table(Module *this_module, uint8_t *table_data, GlobalContext *glb)
bool module_get_function_from_label(Module *this_module, int label, AtomString *function_name, int *arity, GlobalContext *glb)
size_t module_get_exported_functions_count(Module *this_module)
uint32_t module_search_exported_function(Module *this_module, AtomString func_name, int func_arity, GlobalContext *glb)
term module_get_exported_functions(Module *this_module, Heap *heap, GlobalContext *glb)
Module *module_new_from_iff_binary(GlobalContext *global, const void *iff_binary, unsigned long size)
COLD_FUNC void module_destroy (Module *module)
term module_load_literal(Module *mod, int index, Context *ctx)
const struct ExportedFunction *module_resolve_function0(Module *mod, int import_table_index, struct UnresolvedFunctionCall *unresolved, GlobalContext *glb)
static uint16_t *parse_line_refs(uint8_t **data, size_t num_refs, size_t len)
struct ModuleFilename *parse_filename_table(uint8_t **data, size_t num_filenames, size_t len)
void module_insert_line_ref_offset(Module *mod, int line_ref, int offset)
int module_find_line(Module *mod, unsigned int offset)
file module.h

Include dependency graph for module.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="stdbool.h" tooltip="stdbool.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "30" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "29" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "8" [label="context.h" tooltip="context.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" fillcolor="#BFBFBF"]
    "20" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "16" [label="smp.h" tooltip="smp.h"]
    "7" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "9" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "15" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "16" [dir=forward tooltip="include"]
    "29" -> "20" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "15" [dir=forward tooltip="include"]
    "8" -> "28" [dir=forward tooltip="include"]
    "8" -> "16" [dir=forward tooltip="include"]
    "8" -> "20" [dir=forward tooltip="include"]
    "8" -> "27" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "3" [dir=forward tooltip="include"]
    "25" -> "2" [dir=forward tooltip="include"]
    "25" -> "5" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "28" -> "2" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "11" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "9" [dir=forward tooltip="include"]
    "1" -> "20" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "20" -> "2" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "26" -> "5" [dir=forward tooltip="include"]
    "26" -> "10" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "16" -> "2" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "7" -> "4" [dir=forward tooltip="include"]
    "9" -> "3" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "9" -> "6" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "15" [dir=forward tooltip="include"]
    "9" -> "16" [dir=forward tooltip="include"]
    "9" -> "18" [dir=forward tooltip="include"]
    "9" -> "20" [dir=forward tooltip="include"]
    "9" -> "27" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "11" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "3" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "27" -> "2" [dir=forward tooltip="include"]
    "27" -> "3" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include module.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" fillcolor="#BFBFBF"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
    "2" -> "5" [dir=back tooltip="include"]
    "2" -> "6" [dir=back tooltip="include"]
    "8" -> "5" [dir=back tooltip="include"]
    "9" -> "6" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
    "11" -> "7" [dir=back tooltip="include"]
    "11" -> "12" [dir=back tooltip="include"]
    "11" -> "4" [dir=back tooltip="include"]
    "11" -> "5" [dir=back tooltip="include"]
    "11" -> "13" [dir=back tooltip="include"]
    "11" -> "14" [dir=back tooltip="include"]
    "11" -> "15" [dir=back tooltip="include"]
    "6" -> "7" [dir=back tooltip="include"]
    "6" -> "4" [dir=back tooltip="include"]
}

Defines

SMP_MODULE_LOCK(mod)
SMP_MODULE_UNLOCK(mod)

Enums

enum ModuleLoadResult

Values:

enumerator MODULE_LOAD_OK
enumerator MODULE_ERROR_FAILED_ALLOCATION

Functions

size_t module_get_exported_functions_count(Module *this_module)
uint32_t module_search_exported_function(Module *this_module, AtomString func_name, int func_arity, GlobalContext *glb)
static inline size_t module_get_exported_functions_list_size(Module *this_module)
term module_get_exported_functions(Module *this_module, Heap *heap, GlobalContext *global)
void module_destroy(Module *module)
Module *module_new_from_iff_binary(GlobalContext *global, const void *iff_binary, unsigned long size)
term module_load_literal(Module *mod, int index, Context *ctx)
static inline AtomString module_get_atom_string_by_id(const Module *mod, int local_atom_id, GlobalContext *glb)
static inline term module_get_atom_term_by_id(const Module *mod, int local_atom_id)
const struct ExportedFunction *module_resolve_function0(Module *mod, int import_table_index, struct UnresolvedFunctionCall *unresolved, GlobalContext *glb)
static inline term module_get_name(const Module *mod)
static inline const struct ExportedFunction *module_resolve_function(Module *mod, int import_table_index, GlobalContext *glb)
static inline term module_address(unsigned int module_index, unsigned int instruction_index)
static inline uint32_t module_get_fun_freeze(const Module *this_module, int fun_index)
static inline void module_get_fun(const Module *this_module, int fun_index, uint32_t *label, uint32_t *arity, uint32_t *n_freeze)
static inline const uint8_t *module_get_str(Module *mod, size_t offset, size_t *remaining)
bool module_get_function_from_label(Module *this_module, int label, AtomString *function_name, int *arity, GlobalContext *glb)
void module_insert_line_ref_offset(Module *mod, int line_ref, int offset)
int module_find_line(Module *mod, unsigned int offset)
static inline bool module_has_line_chunk(Module *mod)
file nifs.c

Include dependency graph for nifs.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="stdbool.h" tooltip="stdbool.h"]
    "36" [label="bif.h" tooltip="bif.h"]
    "41" [label="dictionary.h" tooltip="dictionary.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "44" [label="platform_nifs.h" tooltip="platform_nifs.h"]
    "3" [label="atom.h" tooltip="atom.h"]
    "46" [label="posix_nifs.h" tooltip="posix_nifs.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "40" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "31" [label="fenv.h" tooltip="fenv.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "39" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "47" [label="scheduler.h" tooltip="scheduler.h"]
    "29" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "6" [label="context.h" tooltip="context.h"]
    "30" [label="errno.h" tooltip="errno.h"]
    "45" [label="port.h" tooltip="port.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "37" [label="module.h" tooltip="module.h"]
    "35" [label="avmpack.h" tooltip="avmpack.h"]
    "34" [label="avm_version.h" tooltip="avm_version.h"]
    "20" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "43" [label="interop.h" tooltip="interop.h"]
    "33" [label="time.h" tooltip="time.h"]
    "32" [label="math.h" tooltip="math.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "48" [label="sys.h" tooltip="sys.h"]
    "38" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "49" [label="nifs_hash.h" tooltip="nifs_hash.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" fillcolor="#BFBFBF"]
    "2" [label="nifs.h" tooltip="nifs.h"]
    "7" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "42" [label="externalterm.h" tooltip="externalterm.h"]
    "36" -> "16" [dir=forward tooltip="include"]
    "36" -> "3" [dir=forward tooltip="include"]
    "36" -> "6" [dir=forward tooltip="include"]
    "36" -> "29" [dir=forward tooltip="include"]
    "36" -> "37" [dir=forward tooltip="include"]
    "41" -> "14" [dir=forward tooltip="include"]
    "41" -> "20" [dir=forward tooltip="include"]
    "44" -> "29" [dir=forward tooltip="include"]
    "44" -> "37" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "46" -> "29" [dir=forward tooltip="include"]
    "46" -> "7" [dir=forward tooltip="include"]
    "46" -> "20" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "40" -> "7" [dir=forward tooltip="include"]
    "47" -> "6" [dir=forward tooltip="include"]
    "47" -> "7" [dir=forward tooltip="include"]
    "29" -> "20" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "14" [dir=forward tooltip="include"]
    "6" -> "28" [dir=forward tooltip="include"]
    "6" -> "15" [dir=forward tooltip="include"]
    "6" -> "20" [dir=forward tooltip="include"]
    "6" -> "27" [dir=forward tooltip="include"]
    "45" -> "6" [dir=forward tooltip="include"]
    "45" -> "40" [dir=forward tooltip="include"]
    "45" -> "7" [dir=forward tooltip="include"]
    "45" -> "22" [dir=forward tooltip="include"]
    "45" -> "20" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "25" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "10" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "37" -> "16" [dir=forward tooltip="include"]
    "37" -> "4" [dir=forward tooltip="include"]
    "37" -> "3" [dir=forward tooltip="include"]
    "37" -> "8" [dir=forward tooltip="include"]
    "37" -> "38" [dir=forward tooltip="include"]
    "37" -> "6" [dir=forward tooltip="include"]
    "37" -> "29" [dir=forward tooltip="include"]
    "37" -> "7" [dir=forward tooltip="include"]
    "37" -> "20" [dir=forward tooltip="include"]
    "37" -> "39" [dir=forward tooltip="include"]
    "35" -> "7" [dir=forward tooltip="include"]
    "35" -> "14" [dir=forward tooltip="include"]
    "35" -> "16" [dir=forward tooltip="include"]
    "35" -> "24" [dir=forward tooltip="include"]
    "35" -> "4" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "20" -> "4" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "43" -> "6" [dir=forward tooltip="include"]
    "43" -> "20" [dir=forward tooltip="include"]
    "26" -> "5" [dir=forward tooltip="include"]
    "26" -> "9" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "48" -> "7" [dir=forward tooltip="include"]
    "48" -> "37" [dir=forward tooltip="include"]
    "48" -> "4" [dir=forward tooltip="include"]
    "48" -> "33" [dir=forward tooltip="include"]
    "38" -> "3" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "19" [dir=forward tooltip="include"]
    "1" -> "21" [dir=forward tooltip="include"]
    "1" -> "33" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "34" [dir=forward tooltip="include"]
    "1" -> "35" [dir=forward tooltip="include"]
    "1" -> "36" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "40" [dir=forward tooltip="include"]
    "1" -> "41" [dir=forward tooltip="include"]
    "1" -> "42" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "1" -> "43" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "37" [dir=forward tooltip="include"]
    "1" -> "44" [dir=forward tooltip="include"]
    "1" -> "45" [dir=forward tooltip="include"]
    "1" -> "46" [dir=forward tooltip="include"]
    "1" -> "47" [dir=forward tooltip="include"]
    "1" -> "15" [dir=forward tooltip="include"]
    "1" -> "18" [dir=forward tooltip="include"]
    "1" -> "48" [dir=forward tooltip="include"]
    "1" -> "20" [dir=forward tooltip="include"]
    "1" -> "23" [dir=forward tooltip="include"]
    "1" -> "49" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "29" [dir=forward tooltip="include"]
    "7" -> "4" [dir=forward tooltip="include"]
    "7" -> "3" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "9" [dir=forward tooltip="include"]
    "7" -> "14" [dir=forward tooltip="include"]
    "7" -> "15" [dir=forward tooltip="include"]
    "7" -> "18" [dir=forward tooltip="include"]
    "7" -> "20" [dir=forward tooltip="include"]
    "7" -> "27" [dir=forward tooltip="include"]
    "22" -> "9" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "4" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "4" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "42" -> "20" [dir=forward tooltip="include"]
}

Defines

_GNU_SOURCE
MAX_NIF_NAME_LEN
FLOAT_BUF_SIZE
RAISE(a, b)
MAX(x, y)
NOT_FOUND
DECLARE_MATH_NIF_FUN(moniker)
DEFINE_MATH_NIF(moniker)
IF_HAVE_OPEN_CLOSE(expr)
IF_HAVE_MKFIFO(expr)
IF_HAVE_CLOCK_SETTIME_OR_SETTIMEOFDAY(expr)
DEFINE_UNARY_MATH_OP(moniker)
DEFINE_BINARY_MATH_OP(moniker)

Typedefs

typedef void *(*context_iterator)(Context *ctx, void *accum)
typedef avm_float_t (*unary_math_f)(avm_float_t x)
typedef avm_float_t (*binary_math_f)(avm_float_t x, avm_float_t y)

Functions

static NativeHandlerResult process_echo_mailbox(Context *ctx)
static NativeHandlerResult process_console_mailbox(Context *ctx)
static term binary_to_atom(Context *ctx, int argc, term argv[], int create_new)
static term list_to_atom(Context *ctx, int argc, term argv[], int create_new)
static term nif_binary_at_2(Context *ctx, int argc, term argv[])
static term nif_binary_first_1(Context *ctx, int argc, term argv[])
static term nif_binary_last_1(Context *ctx, int argc, term argv[])
static term nif_binary_part_3(Context *ctx, int argc, term argv[])
static term nif_binary_split_2(Context *ctx, int argc, term argv[])
static term nif_calendar_system_time_to_universal_time_2(Context *ctx, int argc, term argv[])
static term nif_erlang_delete_element_2(Context *ctx, int argc, term argv[])
static term nif_erlang_atom_to_binary_2(Context *ctx, int argc, term argv[])
static term nif_erlang_atom_to_list_1(Context *ctx, int argc, term argv[])
static term nif_erlang_binary_to_atom_2(Context *ctx, int argc, term argv[])
static term nif_erlang_binary_to_float_1(Context *ctx, int argc, term argv[])
static term nif_erlang_binary_to_integer_1(Context *ctx, int argc, term argv[])
static term nif_erlang_binary_to_list_1(Context *ctx, int argc, term argv[])
static term nif_erlang_binary_to_existing_atom_2(Context *ctx, int argc, term argv[])
static term nif_erlang_concat_2(Context *ctx, int argc, term argv[])
static term nif_erlang_display_1(Context *ctx, int argc, term argv[])
static term nif_erlang_erase_1(Context *ctx, int argc, term argv[])
static term nif_erlang_error(Context *ctx, int argc, term argv[])
static term nif_erlang_exit(Context *ctx, int argc, term argv[])
static term nif_erlang_make_fun_3(Context *ctx, int argc, term argv[])
static term nif_erlang_make_ref_0(Context *ctx, int argc, term argv[])
static term nif_erlang_make_tuple_2(Context *ctx, int argc, term argv[])
static term nif_erlang_insert_element_3(Context *ctx, int argc, term argv[])
static term nif_erlang_integer_to_binary_2(Context *ctx, int argc, term argv[])
static term nif_erlang_integer_to_list_2(Context *ctx, int argc, term argv[])
static term nif_erlang_is_process_alive_1(Context *ctx, int argc, term argv[])
static term nif_erlang_link(Context *ctx, int argc, term argv[])
static term nif_erlang_float_to_binary(Context *ctx, int argc, term argv[])
static term nif_erlang_float_to_list(Context *ctx, int argc, term argv[])
static term nif_erlang_list_to_binary_1(Context *ctx, int argc, term argv[])
static term nif_erlang_list_to_integer_1(Context *ctx, int argc, term argv[])
static term nif_erlang_list_to_float_1(Context *ctx, int argc, term argv[])
static term nif_erlang_list_to_atom_1(Context *ctx, int argc, term argv[])
static term nif_erlang_list_to_existing_atom_1(Context *ctx, int argc, term argv[])
static term nif_erlang_monotonic_time_1(Context *ctx, int argc, term argv[])
static term nif_erlang_iolist_size_1(Context *ctx, int argc, term argv[])
static term nif_erlang_iolist_to_binary_1(Context *ctx, int argc, term argv[])
static term nif_erlang_open_port_2(Context *ctx, int argc, term argv[])
static term nif_erlang_register_2(Context *ctx, int argc, term argv[])
static term nif_erlang_unregister_1(Context *ctx, int argc, term argv[])
static term nif_erlang_send_2(Context *ctx, int argc, term argv[])
static term nif_erlang_setelement_3(Context *ctx, int argc, term argv[])
static term nif_erlang_spawn_opt(Context *ctx, int argc, term argv[])
static term nif_erlang_spawn_fun_opt(Context *ctx, int argc, term argv[])
static term nif_erlang_whereis_1(Context *ctx, int argc, term argv[])
static term nif_erlang_system_time_1(Context *ctx, int argc, term argv[])
static term nif_erlang_tuple_to_list_1(Context *ctx, int argc, term argv[])
static term nif_erlang_list_to_tuple_1(Context *ctx, int argc, term argv[])
static term nif_erlang_universaltime_0(Context *ctx, int argc, term argv[])
static term nif_erlang_localtime(Context *ctx, int argc, term argv[])
static term nif_erlang_timestamp_0(Context *ctx, int argc, term argv[])
static term nif_erts_debug_flat_size(Context *ctx, int argc, term argv[])
static term nif_erlang_process_flag(Context *ctx, int argc, term argv[])
static term nif_erlang_processes(Context *ctx, int argc, term argv[])
static term nif_erlang_process_info(Context *ctx, int argc, term argv[])
static term nif_erlang_put_2(Context *ctx, int argc, term argv[])
static term nif_erlang_system_info(Context *ctx, int argc, term argv[])
static term nif_erlang_system_flag(Context *ctx, int argc, term argv[])
static term nif_erlang_binary_to_term(Context *ctx, int argc, term argv[])
static term nif_erlang_term_to_binary(Context *ctx, int argc, term argv[])
static term nif_erlang_throw(Context *ctx, int argc, term argv[])
static term nif_erlang_raise(Context *ctx, int argc, term argv[])
static term nif_erlang_pid_to_list(Context *ctx, int argc, term argv[])
static term nif_erlang_ref_to_list(Context *ctx, int argc, term argv[])
static term nif_erlang_fun_to_list(Context *ctx, int argc, term argv[])
static term nif_erlang_function_exported(Context *ctx, int argc, term argv[])
static term nif_erlang_garbage_collect(Context *ctx, int argc, term argv[])
static term nif_erlang_group_leader(Context *ctx, int argc, term argv[])
static term nif_erlang_get_module_info(Context *ctx, int argc, term argv[])
static term nif_erlang_memory(Context *ctx, int argc, term argv[])
static term nif_erlang_monitor(Context *ctx, int argc, term argv[])
static term nif_erlang_demonitor(Context *ctx, int argc, term argv[])
static term nif_erlang_unlink(Context *ctx, int argc, term argv[])
static term nif_atomvm_add_avm_pack_binary(Context *ctx, int argc, term argv[])
static term nif_atomvm_add_avm_pack_file(Context *ctx, int argc, term argv[])
static term nif_atomvm_close_avm_pack(Context *ctx, int argc, term argv[])
static term nif_atomvm_get_start_beam(Context *ctx, int argc, term argv[])
static term nif_atomvm_read_priv(Context *ctx, int argc, term argv[])
static term nif_console_print(Context *ctx, int argc, term argv[])
static term nif_base64_encode(Context *ctx, int argc, term argv[])
static term nif_base64_decode(Context *ctx, int argc, term argv[])
static term nif_base64_encode_to_string(Context *ctx, int argc, term argv[])
static term nif_base64_decode_to_string(Context *ctx, int argc, term argv[])
static term nif_code_load_abs(Context *ctx, int argc, term argv[])
static term nif_code_load_binary(Context *ctx, int argc, term argv[])
static term nif_lists_reverse(Context *ctx, int argc, term argv[])
static term nif_maps_next(Context *ctx, int argc, term argv[])
static term nif_unicode_characters_to_list(Context *ctx, int argc, term argv[])
static term nif_unicode_characters_to_binary(Context *ctx, int argc, term argv[])
const struct Nif *nifs_get(AtomString module, AtomString function, int arity)
static inline term make_maybe_boxed_int64(Context *ctx, avm_int64_t value)
static bool is_tagged_tuple(term t, term tag, int size)
static NativeHandlerResult process_console_message(Context *ctx, term msg)
static term do_spawn(Context *ctx, Context *new_ctx, term opts_term)
static term build_datetime_from_tm(Context *ctx, struct tm *broken_down_time)
static int is_valid_float_string(const char *str, int len)
static term parse_float(Context *ctx, const char *buf, int len)
static size_t lltoa(avm_int64_t int_value, unsigned base, char *integer_string)
static int format_float(term value, int scientific, int decimals, int compact, char *out_buf, int outbuf_len)
int get_float_format_opts(term opts, int *scientific, int *decimals, int *compact)
static term nif_erlang_process_flag_3(Context *ctx, Context *target, term flag, term value)
static void *nif_increment_context_count(Context *ctx, void *accum)
static void *nif_increment_port_count(Context *ctx, void *accum)
static void *nif_cons_context(Context *ctx, void *p)
static void *nif_iterate_processes(GlobalContext *glb, context_iterator fun, void *accum)
static size_t nif_num_processes(GlobalContext *glb)
static size_t nif_num_ports(GlobalContext *glb)
static term nif_list_processes(Context *ctx)
static void refc_binary_avm_pack_destructor(struct AVMPackData *obj, GlobalContext *global)
static term open_avm_error_tuple(Context *ctx, enum OpenAVMResult result)
static term base64_encode(Context *ctx, int argc, term argv[], bool return_binary)
static inline uint8_t find_index(uint8_t c)
static term base64_decode(Context *ctx, int argc, term argv[], bool return_binary)
static void maybe_clear_exceptions()
static term get_exception(avm_float_t f)
static term math_unary_op(Context *ctx, term x_term, unary_math_f f)
static term math_binary_op(Context *ctx, term x_term, term y_term, binary_math_f f)

Variables

static const struct Nif binary_at_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_binary_at_2}
static const struct Nif binary_first_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_binary_first_1}
static const struct Nif binary_last_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_binary_last_1}
static const struct Nif binary_part_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_binary_part_3}
static const struct Nif binary_split_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_binary_split_2}
static const struct Nif make_ref_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_make_ref_0}
static const struct Nif atom_to_binary_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_atom_to_binary_2}
static const struct Nif atom_to_list_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_atom_to_list_1}
static const struct Nif binary_to_atom_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_binary_to_atom_2}
static const struct Nif binary_to_float_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_binary_to_float_1}
static const struct Nif binary_to_integer_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_binary_to_integer_1}
static const struct Nif binary_to_list_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_binary_to_list_1}
static const struct Nif binary_to_existing_atom_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_binary_to_existing_atom_2}
static const struct Nif delete_element_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_delete_element_2}
static const struct Nif display_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_display_1}
static const struct Nif erase_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_erase_1}
static const struct Nif error_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_error}
static const struct Nif exit_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_exit}
static const struct Nif insert_element_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_insert_element_3}
static const struct Nif integer_to_binary_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_integer_to_binary_2}
static const struct Nif integer_to_list_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_integer_to_list_2}
static const struct Nif float_to_binary_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_float_to_binary}
static const struct Nif float_to_list_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_float_to_list}
static const struct Nif is_process_alive_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_is_process_alive_1}
static const struct Nif list_to_atom_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_list_to_atom_1}
static const struct Nif list_to_existing_atom_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_list_to_existing_atom_1}
static const struct Nif list_to_binary_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_list_to_binary_1}
static const struct Nif list_to_integer_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_list_to_integer_1}
static const struct Nif list_to_float_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_list_to_float_1}
static const struct Nif list_to_tuple_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_list_to_tuple_1}
static const struct Nif iolist_size_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_iolist_size_1}
static const struct Nif iolist_to_binary_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_iolist_to_binary_1}
static const struct Nif open_port_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_open_port_2}
static const struct Nif make_tuple_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_make_tuple_2}
static const struct Nif register_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_register_2}
static const struct Nif unregister_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_unregister_1}
static const struct Nif spawn_opt_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_spawn_opt}
static const struct Nif spawn_fun_opt_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_spawn_fun_opt}
static const struct Nif send_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_send_2}
static const struct Nif setelement_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_setelement_3}
static const struct Nif whereis_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_whereis_1}
static const struct Nif concat_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_concat_2}
static const struct Nif monotonic_time_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_monotonic_time_1}
static const struct Nif system_time_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_system_time_1}
static const struct Nif universaltime_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_universaltime_0}
static const struct Nif localtime_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_localtime}
static const struct Nif timestamp_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_timestamp_0}
static const struct Nif system_time_to_universal_time_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_calendar_system_time_to_universal_time_2}
static const struct Nif tuple_to_list_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_tuple_to_list_1}
static const struct Nif flat_size_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erts_debug_flat_size}
static const struct Nif process_flag_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_process_flag}
static const struct Nif processes_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_processes}
static const struct Nif process_info_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_process_info}
static const struct Nif put_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_put_2}
static const struct Nif system_info_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_system_info}
static const struct Nif system_flag_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_system_flag}
static const struct Nif binary_to_term_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_binary_to_term}
static const struct Nif term_to_binary_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_term_to_binary}
static const struct Nif throw_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_throw}
static const struct Nif pid_to_list_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_pid_to_list}
static const struct Nif ref_to_list_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_ref_to_list}
static const struct Nif fun_to_list_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_fun_to_list}
static const struct Nif function_exported_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_function_exported}
static const struct Nif garbage_collect_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_garbage_collect}
static const struct Nif make_fun_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_make_fun_3}
static const struct Nif memory_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_memory}
static const struct Nif monitor_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_monitor}
static const struct Nif demonitor_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_demonitor}
static const struct Nif link_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_link}
static const struct Nif unlink_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_unlink}
static const struct Nif group_leader_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_group_leader}
static const struct Nif get_module_info_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_get_module_info}
static const struct Nif raise_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_erlang_raise}
static const struct Nif atomvm_add_avm_pack_binary_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_atomvm_add_avm_pack_binary}
static const struct Nif atomvm_add_avm_pack_file_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_atomvm_add_avm_pack_file}
static const struct Nif atomvm_close_avm_pack_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_atomvm_close_avm_pack}
static const struct Nif atomvm_get_start_beam_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_atomvm_get_start_beam}
static const struct Nif atomvm_read_priv_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_atomvm_read_priv}
static const struct Nif console_print_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_console_print}
static const struct Nif base64_encode_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_base64_encode}
static const struct Nif base64_decode_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_base64_decode}
static const struct Nif base64_encode_to_string_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_base64_encode_to_string}
static const struct Nif base64_decode_to_string_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_base64_decode_to_string}
static const struct Nif code_load_abs_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_code_load_abs}
static const struct Nif code_load_binary_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_code_load_binary}
static const struct Nif lists_reverse_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_lists_reverse}
static const struct Nif maps_next_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_maps_next}
static const struct Nif unicode_characters_to_list_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_unicode_characters_to_list}
static const struct Nif unicode_characters_to_binary_nif  ={.base.type =NIFFunctionType,.nif_ptr = nif_unicode_characters_to_binary}
static const struct AVMPackInfo refc_binary_avm_pack_info  = {.destructor = refc_binary_avm_pack_destructor}
static char b64_table[64] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
file nifs.h

Include dependency graph for nifs.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "2" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "4" [label="stdlib.h" tooltip="stdlib.h"]
    "28" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "5" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" fillcolor="#BFBFBF"]
    "6" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "28" -> "19" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "5" -> "13" [dir=forward tooltip="include"]
    "5" -> "27" [dir=forward tooltip="include"]
    "5" -> "14" [dir=forward tooltip="include"]
    "5" -> "19" [dir=forward tooltip="include"]
    "5" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "2" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "3" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "4" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "3" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "4" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "6" -> "3" [dir=forward tooltip="include"]
    "6" -> "2" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "8" [dir=forward tooltip="include"]
    "6" -> "13" [dir=forward tooltip="include"]
    "6" -> "14" [dir=forward tooltip="include"]
    "6" -> "17" [dir=forward tooltip="include"]
    "6" -> "19" [dir=forward tooltip="include"]
    "6" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "3" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "3" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include nifs.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" fillcolor="#BFBFBF"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "13" -> "12" [dir=back tooltip="include"]
    "7" -> "6" [dir=back tooltip="include"]
    "9" -> "8" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
    "1" -> "10" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
    "1" -> "12" [dir=back tooltip="include"]
    "1" -> "13" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "2" [dir=back tooltip="include"]
    "11" -> "10" [dir=back tooltip="include"]
    "11" -> "12" [dir=back tooltip="include"]
}

Defines

VALIDATE_VALUE(value, verify_function)
RAISE_ERROR(error_type_atom)

Functions

const struct Nif *nifs_get(AtomString module, AtomString function, int arity)
file opcodes.h

This graph shows which files directly or indirectly include opcodes.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodes.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodes.h" fillcolor="#BFBFBF"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "1" -> "2" [dir=back tooltip="include"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
}

Defines

OP_LABEL
OP_FUNC_INFO
OP_INT_CALL_END
OP_CALL
OP_CALL_LAST
OP_CALL_ONLY
OP_CALL_EXT
OP_CALL_EXT_LAST
OP_BIF0
OP_BIF1
OP_BIF2
OP_ALLOCATE
OP_ALLOCATE_HEAP
OP_ALLOCATE_ZERO
OP_ALLOCATE_HEAP_ZERO
OP_TEST_HEAP
OP_KILL
OP_DEALLOCATE
OP_RETURN
OP_SEND
OP_REMOVE_MESSAGE
OP_TIMEOUT
OP_LOOP_REC
OP_LOOP_REC_END
OP_WAIT
OP_WAIT_TIMEOUT
OP_IS_LT
OP_IS_GE
OP_IS_EQUAL
OP_IS_NOT_EQUAL
OP_IS_EQ_EXACT
OP_IS_NOT_EQ_EXACT
OP_IS_INTEGER
OP_IS_FLOAT
OP_IS_NUMBER
OP_IS_ATOM
OP_IS_PID
OP_IS_REFERENCE
OP_IS_PORT
OP_IS_NIL
OP_IS_BINARY
OP_IS_LIST
OP_IS_NONEMPTY_LIST
OP_IS_TUPLE
OP_TEST_ARITY
OP_SELECT_VAL
OP_SELECT_TUPLE_ARITY
OP_JUMP
OP_CATCH
OP_CATCH_END
OP_MOVE
OP_GET_LIST
OP_GET_TUPLE_ELEMENT
OP_SET_TUPLE_ELEMENT
OP_PUT_LIST
OP_PUT_TUPLE
OP_PUT
OP_BADMATCH
OP_IF_END
OP_CASE_END
OP_CALL_FUN
OP_IS_FUNCTION
OP_CALL_EXT_ONLY
OP_BS_PUT_INTEGER
OP_BS_PUT_BINARY
OP_BS_PUT_STRING
OP_FCLEARERROR
OP_FCHECKERROR
OP_FMOVE
OP_FCONV
OP_FADD
OP_FSUB
OP_FMUL
OP_FDIV
OP_FNEGATE
OP_MAKE_FUN2
OP_TRY
OP_TRY_END
OP_TRY_CASE
OP_TRY_CASE_END
OP_RAISE
OP_BS_INIT2
OP_BS_ADD
OP_APPLY
OP_APPLY_LAST
OP_IS_BOOLEAN
OP_IS_FUNCTION2
OP_BS_START_MATCH2
OP_BS_GET_INTEGER2
OP_BS_GET_FLOAT2
OP_BS_GET_BINARY2
OP_BS_SKIP_BITS2
OP_BS_TEST_TAIL2
OP_BS_SAVE2
OP_BS_RESTORE2
OP_GC_BIF1
OP_GC_BIF2
OP_IS_BITSTR
OP_BS_CONTEXT_TO_BINARY
OP_BS_TEST_UNIT
OP_BS_MATCH_STRING
OP_BS_INIT_WRITABLE
OP_BS_APPEND
OP_BS_PRIVATE_APPEND
OP_TRIM
OP_BS_INIT_BITS
OP_BS_GET_UTF8
OP_BS_SKIP_UTF8
OP_BS_GET_UTF16
OP_BS_SKIP_UTF16
OP_BS_GET_UTF32
OP_BS_SKIP_UTF32
OP_BS_UTF8_SIZE
OP_BS_PUT_UTF8
OP_BS_UTF16_SIZE
OP_BS_PUT_UTF16
OP_BS_PUT_UTF32
OP_RECV_MARK
OP_RECV_SET
OP_GC_BIF3
OP_LINE
OP_PUT_MAP_ASSOC
OP_PUT_MAP_EXACT
OP_IS_MAP
OP_HAS_MAP_FIELDS
OP_GET_MAP_ELEMENTS
OP_IS_TAGGED_TUPLE
OP_BUILD_STACKTRACE
OP_GET_HD
OP_GET_TL
OP_PUT_TUPLE2
OP_BS_GET_TAIL
OP_BS_START_MATCH3
OP_BS_GET_POSITION
OP_BS_SET_POSITION
OP_SWAP
OP_BS_START_MATCH4
OP_MAKE_FUN3
OP_INIT_YREGS
OP_RECV_MARKER_BIND
OP_RECV_MARKER_CLEAR
OP_RECV_MARKER_RESERVE
OP_RECV_MARKER_USE
OP_BS_CREATE_BIN
OP_CALL_FUN2
OP_BADRECORD
OP_UPDATE_RECORD
OP_BS_MATCH
file opcodesswitch.h

Include dependency graph for opcodesswitch.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "32" [label="bif.h" tooltip="bif.h"]
    "18" [label="stdatomic.h" tooltip="stdatomic.h"]
    "33" [label="bitstring.h" tooltip="bitstring.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "40" [label="trace.h" tooltip="trace.h"]
    "13" [label="assert.h" tooltip="assert.h"]
    "19" [label="synclist.h" tooltip="synclist.h"]
    "35" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "31" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "38" [label="scheduler.h" tooltip="scheduler.h"]
    "30" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "9" [label="context.h" tooltip="context.h"]
    "24" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "12" [label="term_typedef.h" tooltip="term_typedef.h"]
    "25" [label="stddef.h" tooltip="stddef.h"]
    "14" [label="limits.h" tooltip="limits.h"]
    "39" [label="stacktrace.h" tooltip="stacktrace.h"]
    "26" [label="refc_binary.h" tooltip="refc_binary.h"]
    "22" [label="string.h" tooltip="string.h"]
    "29" [label="mailbox.h" tooltip="mailbox.h"]
    "2" [label="module.h" tooltip="module.h"]
    "21" [label="term.h" tooltip="term.h"]
    "11" [label="erl_nif.h" tooltip="erl_nif.h"]
    "37" [label="opcodes.h" tooltip="opcodes.h"]
    "27" [label="resources.h" tooltip="resources.h"]
    "17" [label="smp.h" tooltip="smp.h"]
    "8" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "36" [label="nifs.h" tooltip="nifs.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" fillcolor="#BFBFBF"]
    "34" [label="debug.h" tooltip="debug.h"]
    "10" [label="globalcontext.h" tooltip="globalcontext.h"]
    "23" [label="memory.h" tooltip="memory.h"]
    "20" [label="stdio.h" tooltip="stdio.h"]
    "28" [label="timer_list.h" tooltip="timer_list.h"]
    "16" [label="list.h" tooltip="list.h"]
    "15" [label="inttypes.h" tooltip="inttypes.h"]
    "32" -> "3" [dir=forward tooltip="include"]
    "32" -> "5" [dir=forward tooltip="include"]
    "32" -> "9" [dir=forward tooltip="include"]
    "32" -> "30" [dir=forward tooltip="include"]
    "32" -> "2" [dir=forward tooltip="include"]
    "33" -> "21" [dir=forward tooltip="include"]
    "33" -> "3" [dir=forward tooltip="include"]
    "33" -> "4" [dir=forward tooltip="include"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "19" -> "16" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "17" [dir=forward tooltip="include"]
    "35" -> "10" [dir=forward tooltip="include"]
    "38" -> "9" [dir=forward tooltip="include"]
    "38" -> "10" [dir=forward tooltip="include"]
    "30" -> "21" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "16" [dir=forward tooltip="include"]
    "9" -> "29" [dir=forward tooltip="include"]
    "9" -> "17" [dir=forward tooltip="include"]
    "9" -> "21" [dir=forward tooltip="include"]
    "9" -> "28" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "12" -> "13" [dir=forward tooltip="include"]
    "12" -> "14" [dir=forward tooltip="include"]
    "12" -> "15" [dir=forward tooltip="include"]
    "12" -> "4" [dir=forward tooltip="include"]
    "39" -> "9" [dir=forward tooltip="include"]
    "39" -> "2" [dir=forward tooltip="include"]
    "39" -> "21" [dir=forward tooltip="include"]
    "26" -> "3" [dir=forward tooltip="include"]
    "26" -> "6" [dir=forward tooltip="include"]
    "26" -> "16" [dir=forward tooltip="include"]
    "26" -> "27" [dir=forward tooltip="include"]
    "26" -> "17" [dir=forward tooltip="include"]
    "29" -> "3" [dir=forward tooltip="include"]
    "29" -> "16" [dir=forward tooltip="include"]
    "29" -> "17" [dir=forward tooltip="include"]
    "29" -> "12" [dir=forward tooltip="include"]
    "29" -> "24" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "8" [dir=forward tooltip="include"]
    "2" -> "9" [dir=forward tooltip="include"]
    "2" -> "30" [dir=forward tooltip="include"]
    "2" -> "10" [dir=forward tooltip="include"]
    "2" -> "21" [dir=forward tooltip="include"]
    "2" -> "31" [dir=forward tooltip="include"]
    "21" -> "3" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "20" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "23" [dir=forward tooltip="include"]
    "21" -> "26" [dir=forward tooltip="include"]
    "21" -> "24" [dir=forward tooltip="include"]
    "21" -> "12" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "27" -> "6" [dir=forward tooltip="include"]
    "27" -> "11" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "23" [dir=forward tooltip="include"]
    "17" -> "3" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "8" -> "5" [dir=forward tooltip="include"]
    "36" -> "5" [dir=forward tooltip="include"]
    "36" -> "9" [dir=forward tooltip="include"]
    "36" -> "30" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "33" [dir=forward tooltip="include"]
    "1" -> "34" [dir=forward tooltip="include"]
    "1" -> "35" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "36" [dir=forward tooltip="include"]
    "1" -> "37" [dir=forward tooltip="include"]
    "1" -> "38" [dir=forward tooltip="include"]
    "1" -> "24" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "39" [dir=forward tooltip="include"]
    "1" -> "40" [dir=forward tooltip="include"]
    "34" -> "9" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "10" -> "5" [dir=forward tooltip="include"]
    "10" -> "7" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "16" [dir=forward tooltip="include"]
    "10" -> "17" [dir=forward tooltip="include"]
    "10" -> "19" [dir=forward tooltip="include"]
    "10" -> "21" [dir=forward tooltip="include"]
    "10" -> "28" [dir=forward tooltip="include"]
    "23" -> "11" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "4" [dir=forward tooltip="include"]
    "23" -> "6" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "28" -> "4" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include opcodesswitch.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
}

Defines

MINIMUM_OTP_COMPILER_VERSION
MAXIMUM_OTP_COMPILER_VERSION
COMPACT_LITERAL
COMPACT_INTEGER
COMPACT_ATOM
COMPACT_XREG
COMPACT_YREG
COMPACT_LABEL
COMPACT_EXTENDED
COMPACT_LARGE_LITERAL
COMPACT_LARGE_INTEGER
COMPACT_LARGE_ATOM
COMPACT_LARGE_YREG
COMPACT_EXTENDED_LIST
COMPACT_EXTENDED_FP_REGISTER
COMPACT_EXTENDED_ALLOCATION_LIST
COMPACT_EXTENDED_LITERAL
COMPACT_EXTENDED_TYPED_REGISTER
COMPACT_EXTENDED_ALLOCATOR_LIST_TAG_WORDS
COMPACT_EXTENDED_ALLOCATOR_LIST_TAG_FLOATS
COMPACT_EXTENDED_ALLOCATOR_LIST_TAG_FUNS
COMPACT_LARGE_IMM_MASK
COMPACT_11BITS_VALUE
COMPACT_NBITS_VALUE
SET_ERROR(error_type_atom)
RAISE_ERROR(error_type_atom)
VM_ABORT()
DEST_REGISTER(reg)
GC_SAFE_DEST_REGISTER(reg)
T_DEST_REG(dreg)
T_DEST_REG_GC_SAFE(dreg_gc_safe)
DECODE_COMPACT_TERM(dest_term, decode_pc)
READ_DEST_REGISTER(dreg)
READ_DEST_REGISTER_GC_SAFE(dreg_gc_safe)
WRITE_REGISTER(dreg, value)
WRITE_REGISTER_GC_SAFE(dreg_gc_safe, value)
DECODE_EXTENDED_LIST_TAG(decode_pc)
DECODE_NIL(decode_pc)
DECODE_DEST_REGISTER(dreg, decode_pc)
DECODE_DEST_REGISTER_GC_SAFE(dreg_gc_safe, decode_pc)
DECODE_FP_REGISTER(freg, decode_pc)
DECODE_VALUE(val, decode_pc)
DECODE_ATOM(atom, decode_pc)
DECODE_LABEL(label, decode_pc)
DECODE_LITERAL(val, decode_pc)
DECODE_INTEGER(integer, decode_pc)
DECODE_XREG(reg, decode_pc)
DECODE_YREG(reg, decode_pc)
DECODE_ALLOCATOR_LIST(need, decode_pc)
IS_EXTENDED_ALLOCATOR(decode_pc)
IS_EXTENDED_FP_REGISTER(decode_pc)
JUMP_TO_LABEL(module, label)
JUMP_TO_ADDRESS(address)
SCHEDULE_NEXT(restore_mod, restore_to)
PROCESS_SIGNAL_MESSAGES()
PROCESS_MAYBE_TRAP_RETURN_VALUE(return_value)
PROCESS_MAYBE_TRAP_RETURN_VALUE_RESTORE_PC(return_value, rest_pc)
PROCESS_MAYBE_TRAP_RETURN_VALUE_LAST(return_value)
DO_RETURN()
HANDLE_ERROR()
VERIFY_IS_INTEGER(t, opcode_name)
VERIFY_IS_ANY_INTEGER(t, opcode_name)
VERIFY_IS_BINARY(t, opcode_name)
VERIFY_IS_MATCH_STATE(t, opcode_name)
VERIFY_IS_MATCH_OR_BINARY(t, opcode_name)
CALL_FUN(fun, args_count)
DECODE_FLAGS_LIST(flags_value, flags, opcode)
MIN(X, Y)
SWAP_KV_PAIR(I, J)
TRACE_APPLY(...)
TRACE_CALL(...)
TRACE_CALL_EXT(...)
TRACE_RETURN(...)
TRACE_SEND(...)
TRACE_RECEIVE(...)

Typedefs

typedef term *dreg_t

Functions

static bool sort_kv_pairs(struct kv_pair *kv, int size, GlobalContext *global)
static int get_catch_label_and_change_module(Context *ctx, Module **mod)
static COLD_FUNC void cp_to_mod_lbl_off (term cp, Context *ctx, Module **cp_mod, int *label, int *l_off)
static COLD_FUNC void dump (Context *ctx)
static term maybe_alloc_boxed_integer_fragment(Context *ctx, avm_int64_t value)
static inline term maybe_alloc_boxed_integer_fragment_helper(Context *ctx, avm_int64_t value, unsigned int bytes_count)
static term large_integer_to_term(Context *ctx, int num_bytes, const uint8_t *compact_term)
term make_fun(Context *ctx, const Module *mod, int fun_index, term argv[])
static bool maybe_call_native(Context *ctx, AtomString module_name, AtomString function_name, int arity, term *return_value)
memcpy (tmp_atom_name+1, function_name, function_len)
free(tmp_atom_name)
if (UNLIKELY(!label))
scheduler_init_ready(ctx)
return scheduler_entry_point (ctx->global)
HOT_FUNC int scheduler_entry_point (GlobalContext *glb)

Variables

int function_len = strlen(function_name)
uint8_t *tmp_atom_name = malloc(function_len + 1)
int label = module_search_exported_function(mod, tmp_atom_name, arity, ctx->global)
ctx saved_module = mod
ctx cp = module_address(mod->module_index, mod->end_instruction_ii)
ctx saved_ip = mod->labels[label]
ctx global running_schedulers   = 1
file otp_crypto.c

Include dependency graph for otp_crypto.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "17" [label="stdbool.h" tooltip="stdbool.h"]
    "18" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "42" [label="trace.h" tooltip="trace.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "19" [label="synclist.h" tooltip="synclist.h"]
    "31" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "38" [label="mbedtls/sha1.h" tooltip="mbedtls/sha1.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "30" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "34" [label="mbedtls/ctr_drbg.h" tooltip="mbedtls/ctr_drbg.h"]
    "7" [label="context.h" tooltip="context.h"]
    "24" [label="utils.h" tooltip="utils.h"]
    "9" [label="atom_table.h" tooltip="atom_table.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "25" [label="stddef.h" tooltip="stddef.h"]
    "41" [label="mbedtls/version.h" tooltip="mbedtls/version.h"]
    "33" [label="sys_mbedtls.h" tooltip="sys_mbedtls.h"]
    "35" [label="mbedtls/entropy.h" tooltip="mbedtls/entropy.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "26" [label="refc_binary.h" tooltip="refc_binary.h"]
    "22" [label="string.h" tooltip="string.h"]
    "29" [label="mailbox.h" tooltip="mailbox.h"]
    "21" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "40" [label="mbedtls/sha512.h" tooltip="mbedtls/sha512.h"]
    "32" [label="interop.h" tooltip="interop.h"]
    "37" [label="mbedtls/md5.h" tooltip="mbedtls/md5.h"]
    "27" [label="resources.h" tooltip="resources.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" fillcolor="#BFBFBF"]
    "2" [label="otp_crypto.h" tooltip="otp_crypto.h"]
    "16" [label="smp.h" tooltip="smp.h"]
    "3" [label="nifs.h" tooltip="nifs.h"]
    "8" [label="globalcontext.h" tooltip="globalcontext.h"]
    "39" [label="mbedtls/sha256.h" tooltip="mbedtls/sha256.h"]
    "23" [label="memory.h" tooltip="memory.h"]
    "20" [label="stdio.h" tooltip="stdio.h"]
    "28" [label="timer_list.h" tooltip="timer_list.h"]
    "36" [label="mbedtls/cipher.h" tooltip="mbedtls/cipher.h"]
    "15" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "16" [dir=forward tooltip="include"]
    "31" -> "8" [dir=forward tooltip="include"]
    "30" -> "21" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "15" [dir=forward tooltip="include"]
    "7" -> "29" [dir=forward tooltip="include"]
    "7" -> "16" [dir=forward tooltip="include"]
    "7" -> "21" [dir=forward tooltip="include"]
    "7" -> "28" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "5" [dir=forward tooltip="include"]
    "33" -> "34" [dir=forward tooltip="include"]
    "33" -> "35" [dir=forward tooltip="include"]
    "26" -> "17" [dir=forward tooltip="include"]
    "26" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "27" [dir=forward tooltip="include"]
    "26" -> "16" [dir=forward tooltip="include"]
    "29" -> "17" [dir=forward tooltip="include"]
    "29" -> "15" [dir=forward tooltip="include"]
    "29" -> "16" [dir=forward tooltip="include"]
    "29" -> "11" [dir=forward tooltip="include"]
    "29" -> "24" [dir=forward tooltip="include"]
    "21" -> "17" [dir=forward tooltip="include"]
    "21" -> "5" [dir=forward tooltip="include"]
    "21" -> "20" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "23" [dir=forward tooltip="include"]
    "21" -> "26" [dir=forward tooltip="include"]
    "21" -> "24" [dir=forward tooltip="include"]
    "21" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "32" -> "7" [dir=forward tooltip="include"]
    "32" -> "21" [dir=forward tooltip="include"]
    "27" -> "6" [dir=forward tooltip="include"]
    "27" -> "10" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "23" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "33" [dir=forward tooltip="include"]
    "1" -> "21" [dir=forward tooltip="include"]
    "1" -> "11" [dir=forward tooltip="include"]
    "1" -> "36" [dir=forward tooltip="include"]
    "1" -> "34" [dir=forward tooltip="include"]
    "1" -> "35" [dir=forward tooltip="include"]
    "1" -> "37" [dir=forward tooltip="include"]
    "1" -> "38" [dir=forward tooltip="include"]
    "1" -> "39" [dir=forward tooltip="include"]
    "1" -> "40" [dir=forward tooltip="include"]
    "1" -> "41" [dir=forward tooltip="include"]
    "1" -> "42" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "18" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "30" [dir=forward tooltip="include"]
    "8" -> "5" [dir=forward tooltip="include"]
    "8" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "15" [dir=forward tooltip="include"]
    "8" -> "16" [dir=forward tooltip="include"]
    "8" -> "19" [dir=forward tooltip="include"]
    "8" -> "21" [dir=forward tooltip="include"]
    "8" -> "28" [dir=forward tooltip="include"]
    "23" -> "10" [dir=forward tooltip="include"]
    "23" -> "11" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "6" [dir=forward tooltip="include"]
    "28" -> "17" [dir=forward tooltip="include"]
    "28" -> "5" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
}

Defines

MAX_MD_SIZE
DEFINE_HASH_FOLD(ALGORITHM, SUFFIX)
DEFINE_HASH_FOLD_NORET(ALGORITHM, SUFFIX)
DEFINE_DO_HASH(ALGORITHM, SUFFIX)
DEFINE_DO_HASH_IS_OTHER(ALGORITHM, SUFFIX, IS_OTHER)
DEFINE_DO_HASH_NORET(ALGORITHM, SUFFIX)
DEFINE_DO_HASH_NORET_IS_OTHER(ALGORITHM, SUFFIX, IS_OTHER)

Enums

enum crypto_algorithm

Values:

enumerator CryptoInvalidAlgorithm
enumerator CryptoMd5
enumerator CryptoSha1
enumerator CryptoSha224
enumerator CryptoSha256
enumerator CryptoSha384
enumerator CryptoSha512

Functions

static term nif_crypto_hash(Context *ctx, int argc, term argv[])
static term handle_iodata(term iodata, const void **data, size_t *len, void **allocated_ptr)
static bool bool_to_mbedtls_operation(term encrypt_flag, mbedtls_operation_t *operation)
static term make_crypto_error(const char *file, int line, const char *message, Context *ctx)
static term nif_crypto_crypto_one_time(Context *ctx, int argc, term argv[])
term nif_crypto_strong_rand_bytes(Context *ctx, int argc, term argv[])
const struct Nif *otp_crypto_nif_get_nif(const char *nifname)

Variables

static const AtomStringIntPair crypto_algorithm_table[] = {{ATOM_STR("\x3", "md5"), CryptoMd5}, {ATOM_STR("\x3", "sha"), CryptoSha1}, {ATOM_STR("\x6", "sha224"), CryptoSha224}, {ATOM_STR("\x6", "sha256"), CryptoSha256}, {ATOM_STR("\x6", "sha384"), CryptoSha384}, {ATOM_STR("\x6", "sha512"), CryptoSha512},}
static const AtomStringIntPair cipher_table[] = {{ATOM_STR("\xB", "aes_128_ecb"), MBEDTLS_CIPHER_AES_128_ECB}, {ATOM_STR("\xB", "aes_192_ecb"), MBEDTLS_CIPHER_AES_192_ECB}, {ATOM_STR("\xB", "aes_256_ecb"), MBEDTLS_CIPHER_AES_256_ECB}, {ATOM_STR("\xB", "aes_128_cbc"), MBEDTLS_CIPHER_AES_128_CBC}, {ATOM_STR("\xB", "aes_192_cbc"), MBEDTLS_CIPHER_AES_192_CBC}, {ATOM_STR("\xB", "aes_256_cbc"), MBEDTLS_CIPHER_AES_256_CBC}, {ATOM_STR("\xE", "aes_128_cfb128"), MBEDTLS_CIPHER_AES_128_CFB128}, {ATOM_STR("\xE", "aes_192_cfb128"), MBEDTLS_CIPHER_AES_192_CFB128}, {ATOM_STR("\xE", "aes_256_cfb128"), MBEDTLS_CIPHER_AES_256_CFB128}, {ATOM_STR("\xB", "aes_128_ctr"), MBEDTLS_CIPHER_AES_128_CTR}, {ATOM_STR("\xB", "aes_192_ctr"), MBEDTLS_CIPHER_AES_192_CTR}, {ATOM_STR("\xB", "aes_256_ctr"), MBEDTLS_CIPHER_AES_256_CTR},}
static const AtomStringIntPair padding_table[] = {{ATOM_STR("\x4", "none"), MBEDTLS_PADDING_NONE}, {ATOM_STR("\xC", "pkcs_padding"), MBEDTLS_PADDING_PKCS7},}
static const struct Nif crypto_hash_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_crypto_hash}
static const struct Nif crypto_crypto_one_time_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_crypto_crypto_one_time}
static const struct Nif crypto_strong_rand_bytes_nif  = {.base.type =NIFFunctionType,.nif_ptr =nif_crypto_strong_rand_bytes }
file otp_crypto.h

Include dependency graph for otp_crypto.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="stdbool.h" tooltip="stdbool.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "3" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "29" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "6" [label="context.h" tooltip="context.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "20" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" fillcolor="#BFBFBF"]
    "15" [label="smp.h" tooltip="smp.h"]
    "2" [label="nifs.h" tooltip="nifs.h"]
    "7" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "29" -> "20" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "14" [dir=forward tooltip="include"]
    "6" -> "28" [dir=forward tooltip="include"]
    "6" -> "15" [dir=forward tooltip="include"]
    "6" -> "20" [dir=forward tooltip="include"]
    "6" -> "27" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "25" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "10" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "20" -> "4" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "26" -> "5" [dir=forward tooltip="include"]
    "26" -> "9" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "29" [dir=forward tooltip="include"]
    "7" -> "4" [dir=forward tooltip="include"]
    "7" -> "3" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "9" [dir=forward tooltip="include"]
    "7" -> "14" [dir=forward tooltip="include"]
    "7" -> "15" [dir=forward tooltip="include"]
    "7" -> "18" [dir=forward tooltip="include"]
    "7" -> "20" [dir=forward tooltip="include"]
    "7" -> "27" [dir=forward tooltip="include"]
    "22" -> "9" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "4" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "4" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include otp_crypto.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=back tooltip="include"]
}

Functions

const struct Nif *otp_crypto_nif_get_nif(const char *nifname)
file otp_net.c

Include dependency graph for otp_net.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "37" [label="netinet/in.h" tooltip="netinet/in.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "40" [label="trace.h" tooltip="trace.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "28" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "29" [label="inet.h" tooltip="inet.h"]
    "32" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "2" [label="context.h" tooltip="context.h"]
    "35" [label="errno.h" tooltip="errno.h"]
    "34" [label="port.h" tooltip="port.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "36" [label="netdb.h" tooltip="netdb.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "39" [label="unistd.h" tooltip="unistd.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "30" [label="interop.h" tooltip="interop.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" fillcolor="#BFBFBF"]
    "33" [label="otp_net.h" tooltip="otp_net.h"]
    "38" [label="sys/socket.h" tooltip="sys/socket.h"]
    "31" [label="nifs.h" tooltip="nifs.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "29" -> "30" [dir=forward tooltip="include"]
    "29" -> "21" [dir=forward tooltip="include"]
    "32" -> "19" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "34" -> "2" [dir=forward tooltip="include"]
    "34" -> "28" [dir=forward tooltip="include"]
    "34" -> "3" [dir=forward tooltip="include"]
    "34" -> "21" [dir=forward tooltip="include"]
    "34" -> "19" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "30" -> "2" [dir=forward tooltip="include"]
    "30" -> "19" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "33" [dir=forward tooltip="include"]
    "1" -> "34" [dir=forward tooltip="include"]
    "1" -> "19" [dir=forward tooltip="include"]
    "1" -> "35" [dir=forward tooltip="include"]
    "1" -> "36" [dir=forward tooltip="include"]
    "1" -> "37" [dir=forward tooltip="include"]
    "1" -> "38" [dir=forward tooltip="include"]
    "1" -> "39" [dir=forward tooltip="include"]
    "1" -> "40" [dir=forward tooltip="include"]
    "33" -> "3" [dir=forward tooltip="include"]
    "33" -> "31" [dir=forward tooltip="include"]
    "31" -> "5" [dir=forward tooltip="include"]
    "31" -> "2" [dir=forward tooltip="include"]
    "31" -> "32" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

Defines

UNKNOWN_TABLE_VALUE

Functions

static inline term make_error_tuple(term reason, Context *ctx)
static term eai_errno_to_term(int err, GlobalContext *glb)
static term make_getaddrinfo_result(term *keys, int ai_protocol, int ai_socktype, term inner_addr, GlobalContext *global, Heap *heap)
static term nif_net_getaddrinfo(Context *ctx, int argc, term argv[])
const struct Nif *otp_net_nif_get_nif(const char *nifname)
void otp_net_init(GlobalContext *global)

Variables

static const AtomStringIntPair protocol_table[] = {{ATOM_STR("\x3", "tcp"), IPPROTO_TCP}, {ATOM_STR("\x3", "udp"), IPPROTO_UDP},}
static const AtomStringIntPair type_table[] = {{ATOM_STR("\x5", "dgram"), SOCK_DGRAM}, {ATOM_STR("\x6", "stream"), SOCK_STREAM},}
static const struct Nif net_getaddrinfo_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_net_getaddrinfo}
file otp_net.h

Include dependency graph for otp_net.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="stdbool.h" tooltip="stdbool.h"]
    "15" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "16" [label="synclist.h" tooltip="synclist.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "29" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "27" [label="context.h" tooltip="context.h"]
    "21" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "19" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "18" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "24" [label="resources.h" tooltip="resources.h"]
    "13" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" fillcolor="#BFBFBF"]
    "26" [label="nifs.h" tooltip="nifs.h"]
    "2" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "17" [label="stdio.h" tooltip="stdio.h"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "12" [label="list.h" tooltip="list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "16" -> "12" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "13" [dir=forward tooltip="include"]
    "29" -> "18" [dir=forward tooltip="include"]
    "27" -> "2" [dir=forward tooltip="include"]
    "27" -> "12" [dir=forward tooltip="include"]
    "27" -> "28" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "18" [dir=forward tooltip="include"]
    "27" -> "25" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "12" [dir=forward tooltip="include"]
    "28" -> "13" [dir=forward tooltip="include"]
    "28" -> "8" [dir=forward tooltip="include"]
    "28" -> "21" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "18" -> "23" [dir=forward tooltip="include"]
    "18" -> "21" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "15" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "26" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "27" [dir=forward tooltip="include"]
    "26" -> "29" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "18" [dir=forward tooltip="include"]
    "2" -> "25" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "8" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "12" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include otp_net.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=back tooltip="include"]
}

Functions

const struct Nif *otp_net_nif_get_nif(const char *nifname)
void otp_net_init(GlobalContext *global)
file otp_socket.c

Include dependency graph for otp_socket.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "29" [label="dictionary.h" tooltip="dictionary.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "38" [label="posix_nifs.h" tooltip="posix_nifs.h"]
    "46" [label="trace.h" tooltip="trace.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "28" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "31" [label="inet.h" tooltip="inet.h"]
    "43" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "39" [label="scheduler.h" tooltip="scheduler.h"]
    "34" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "2" [label="context.h" tooltip="context.h"]
    "45" [label="errno.h" tooltip="errno.h"]
    "37" [label="port.h" tooltip="port.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "36" [label="otp_socket_platform.h" tooltip="otp_socket_platform.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "41" [label="module.h" tooltip="module.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "32" [label="interop.h" tooltip="interop.h"]
    "44" [label="time.h" tooltip="time.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "30" [label="erl_nif_priv.h" tooltip="erl_nif_priv.h"]
    "40" [label="sys.h" tooltip="sys.h"]
    "42" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "33" [label="nifs.h" tooltip="nifs.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" fillcolor="#BFBFBF"]
    "21" [label="memory.h" tooltip="memory.h"]
    "35" [label="otp_socket.h" tooltip="otp_socket.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "29" -> "13" [dir=forward tooltip="include"]
    "29" -> "19" [dir=forward tooltip="include"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "38" -> "34" [dir=forward tooltip="include"]
    "38" -> "3" [dir=forward tooltip="include"]
    "38" -> "19" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "31" -> "32" [dir=forward tooltip="include"]
    "31" -> "21" [dir=forward tooltip="include"]
    "39" -> "2" [dir=forward tooltip="include"]
    "39" -> "3" [dir=forward tooltip="include"]
    "34" -> "19" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "37" -> "2" [dir=forward tooltip="include"]
    "37" -> "28" [dir=forward tooltip="include"]
    "37" -> "3" [dir=forward tooltip="include"]
    "37" -> "21" [dir=forward tooltip="include"]
    "37" -> "19" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "41" -> "15" [dir=forward tooltip="include"]
    "41" -> "4" [dir=forward tooltip="include"]
    "41" -> "5" [dir=forward tooltip="include"]
    "41" -> "7" [dir=forward tooltip="include"]
    "41" -> "42" [dir=forward tooltip="include"]
    "41" -> "2" [dir=forward tooltip="include"]
    "41" -> "34" [dir=forward tooltip="include"]
    "41" -> "3" [dir=forward tooltip="include"]
    "41" -> "19" [dir=forward tooltip="include"]
    "41" -> "43" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "32" -> "2" [dir=forward tooltip="include"]
    "32" -> "19" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "30" -> "2" [dir=forward tooltip="include"]
    "30" -> "21" [dir=forward tooltip="include"]
    "40" -> "3" [dir=forward tooltip="include"]
    "40" -> "41" [dir=forward tooltip="include"]
    "40" -> "4" [dir=forward tooltip="include"]
    "40" -> "44" [dir=forward tooltip="include"]
    "42" -> "5" [dir=forward tooltip="include"]
    "33" -> "5" [dir=forward tooltip="include"]
    "33" -> "2" [dir=forward tooltip="include"]
    "33" -> "34" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "27" [dir=forward tooltip="include"]
    "1" -> "21" [dir=forward tooltip="include"]
    "1" -> "33" [dir=forward tooltip="include"]
    "1" -> "35" [dir=forward tooltip="include"]
    "1" -> "37" [dir=forward tooltip="include"]
    "1" -> "38" [dir=forward tooltip="include"]
    "1" -> "39" [dir=forward tooltip="include"]
    "1" -> "40" [dir=forward tooltip="include"]
    "1" -> "19" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "45" [dir=forward tooltip="include"]
    "1" -> "46" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "35" -> "3" [dir=forward tooltip="include"]
    "35" -> "33" [dir=forward tooltip="include"]
    "35" -> "36" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

Defines

CLOSED_FD
ADDR_ATOM
CLOSE_INTERNAL_ATOM
ACCEPT_ATOM
RECV_ATOM
DEFAULT_BUFFER_SIZE
MIN(A, B)

Enums

enum otp_socket_shutdown_direction

Values:

enumerator OtpSocketInvalidShutdownDirection
enumerator OtpSocketReadShutdownDirection
enumerator OtpSocketWriteShutdownDirection
enumerator OtpSocketReadWriteShutdownDirection
enum otp_socket_setopt_level

Values:

enumerator OtpSocketInvalidSetoptLevel
enumerator OtpSocketSetoptLevelSocket
enumerator OtpSocketSetoptLevelOTP

Functions

static void socket_dtor(ErlNifEnv *caller_env, void *obj)
static void socket_down(ErlNifEnv *caller_env, void *obj, ErlNifPid *pid, ErlNifMonitor *mon)
void otp_socket_init(GlobalContext *global)
static inline int get_domain(GlobalContext *global, term domain_term, bool *ok)
static inline int get_type(GlobalContext *global, term type_term, bool *ok)
static inline int get_protocol(GlobalContext *global, term protocol_term, bool *ok)
static inline term make_error_tuple(term reason, Context *ctx)
static term nif_socket_open(Context *ctx, int argc, term argv[])
bool term_to_otp_socket(term socket_term, struct SocketResource **rsrc_obj, Context *ctx)
bool term_is_otp_socket(term socket_term)
static int send_closed_notification(Context *ctx, struct SocketResource *rsrc_obj)
static term nif_socket_close(Context *ctx, int argc, term argv[])
static term nif_socket_select_read(Context *ctx, int argc, term argv[])
static term nif_socket_select_stop(Context *ctx, int argc, term argv[])
static term nif_socket_setopt(Context *ctx, int argc, term argv[])
switch (level_val)
static term nif_socket_sockname(Context *ctx, int argc, term argv[])
if (UNLIKELY(memory_ensure_free(ctx, TUPLE_SIZE(2)+term_map_size_in_terms(2)+TUPLE_SIZE(4)) !=MEMORY_GC_OK))
term_set_map_assoc (map, 0, ADDR_ATOM, address)
term_set_map_assoc (map, 1, PORT_ATOM, port_number)
static term nif_socket_peername(Context *ctx, int argc, term argv[])
static term nif_socket_bind(Context *ctx, int argc, term argv[])
static term nif_socket_listen(Context *ctx, int argc, term argv[])
static term nif_socket_accept(Context *ctx, int argc, term argv[])
ssize_t socket_recv(struct SocketResource *rsrc_obj, uint8_t *buf, size_t len, int flags, term *from, Heap *heap)
static term nif_socket_recv_internal(Context *ctx, term argv[], bool is_recvfrom)
static term nif_socket_recv(Context *ctx, int argc, term argv[])
static term nif_socket_recvfrom(Context *ctx, int argc, term argv[])
ssize_t socket_send(struct SocketResource *rsrc_obj, const uint8_t *buf, size_t len, term dest)
static term nif_socket_send_internal(Context *ctx, int argc, term argv[], bool is_sendto)
static term nif_socket_send(Context *ctx, int argc, term argv[])
static term nif_socket_sendto(Context *ctx, int argc, term argv[])
static term nif_socket_connect(Context *ctx, int argc, term argv[])
static term nif_socket_shutdown(Context *ctx, int argc, term argv[])
const struct Nif *otp_socket_nif_get_nif(const char *nifname)

Variables

static const char *const addr_atom = ATOM_STR("\x4", "addr")
static const char *const any_atom = ATOM_STR("\x3", "any")
static const char *const invalid_option_atom = ATOM_STR("\xE", "invalid_option")
static const char *const invalid_value_atom = ATOM_STR("\xD", "invalid_value")
static const char *const linger_atom = ATOM_STR("\x6", "linger")
static const char *const loopback_atom = ATOM_STR("\x8", "loopback")
static const char *const onoff_atom = ATOM_STR("\x5", "onoff")
static const char *const port_atom = ATOM_STR("\x4", "port")
static const char *const rcvbuf_atom = ATOM_STR("\x6", "rcvbuf")
static const char *const reuseaddr_atom = ATOM_STR("\x9", "reuseaddr")
static const AtomStringIntPair otp_socket_shutdown_direction_table[] = {{ATOM_STR("\x4", "read"), OtpSocketReadShutdownDirection}, {ATOM_STR("\x5", "write"), OtpSocketWriteShutdownDirection}, {ATOM_STR("\xA", "read_write"), OtpSocketReadWriteShutdownDirection},}
static const AtomStringIntPair otp_socket_setopt_level_table[] = {{ATOM_STR("\x6", "socket"), OtpSocketSetoptLevelSocket}, {ATOM_STR("\x3", "otp"), OtpSocketSetoptLevelOTP},}
static ErlNifResourceType *socket_resource_type
static const ErlNifResourceTypeInit SocketResourceTypeInit  = {.members = 3,.dtor = socket_dtor,.stop = NULL,.down = socket_down,}
term level_tuple = argv[1]
term value = argv[2]
term level = term_get_tuple_element(level_tuple, 0)
int level_val = interop_atom_term_select_int(otp_socket_setopt_level_table, level, global)
else   = {         term address = inet_make_addr4(ip4_u32, &ctx->heap)
term port_number = term_from_int(port_u16)
term map = term_alloc_map(2, &ctx->heap)
term return_value = port_create_tuple2(ctx, OK_ATOM, map)
term result = OK_ATOM
static const struct Nif socket_open_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_open}
static const struct Nif socket_close_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_close}
static const struct Nif socket_select_stop_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_select_stop}
static const struct Nif socket_setopt_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_setopt}
static const struct Nif socket_bind_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_bind}
static const struct Nif socket_listen_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_listen}
static const struct Nif socket_sockname_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_sockname}
static const struct Nif socket_peername_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_peername}
static const struct Nif socket_select_read_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_select_read}
static const struct Nif socket_accept_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_accept}
static const struct Nif socket_recv_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_recv}
static const struct Nif socket_recvfrom_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_recvfrom}
static const struct Nif socket_send_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_send}
static const struct Nif socket_sendto_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_sendto}
static const struct Nif socket_connect_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_connect}
static const struct Nif socket_shutdown_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_socket_shutdown}
file otp_socket.h

Include dependency graph for otp_socket.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="stdbool.h" tooltip="stdbool.h"]
    "15" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "16" [label="synclist.h" tooltip="synclist.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "29" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "27" [label="context.h" tooltip="context.h"]
    "21" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "30" [label="otp_socket_platform.h" tooltip="otp_socket_platform.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "19" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "18" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "24" [label="resources.h" tooltip="resources.h"]
    "13" [label="smp.h" tooltip="smp.h"]
    "26" [label="nifs.h" tooltip="nifs.h"]
    "2" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "17" [label="stdio.h" tooltip="stdio.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" fillcolor="#BFBFBF"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "12" [label="list.h" tooltip="list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "16" -> "12" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "13" [dir=forward tooltip="include"]
    "29" -> "18" [dir=forward tooltip="include"]
    "27" -> "2" [dir=forward tooltip="include"]
    "27" -> "12" [dir=forward tooltip="include"]
    "27" -> "28" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "18" [dir=forward tooltip="include"]
    "27" -> "25" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "12" [dir=forward tooltip="include"]
    "28" -> "13" [dir=forward tooltip="include"]
    "28" -> "8" [dir=forward tooltip="include"]
    "28" -> "21" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "18" -> "23" [dir=forward tooltip="include"]
    "18" -> "21" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "27" [dir=forward tooltip="include"]
    "26" -> "29" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "18" [dir=forward tooltip="include"]
    "2" -> "25" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "8" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "26" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "12" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include otp_socket.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
}

Enums

enum SocketErrors

Values:

enumerator SocketClosed
enumerator SocketWouldBlock
enumerator SocketOtherError

Functions

const struct Nif *otp_socket_nif_get_nif(const char *nifname)
void otp_socket_init(GlobalContext *global)
bool term_to_otp_socket(term socket_term, struct SocketResource **otp_socket, Context *ctx)
bool term_is_otp_socket(term socket_term)
ssize_t socket_send(struct SocketResource *socket, const uint8_t *buf, size_t len, term dest)
ssize_t socket_recv(struct SocketResource *socket, uint8_t *buf, size_t len, int flags, term *from, Heap *heap)
file otp_ssl.c

Include dependency graph for otp_ssl.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "41" [label="trace.h" tooltip="trace.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "28" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "30" [label="inet.h" tooltip="inet.h"]
    "33" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "38" [label="mbedtls/ctr_drbg.h" tooltip="mbedtls/ctr_drbg.h"]
    "2" [label="context.h" tooltip="context.h"]
    "37" [label="port.h" tooltip="port.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "39" [label="mbedtls/entropy.h" tooltip="mbedtls/entropy.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "35" [label="otp_socket_platform.h" tooltip="otp_socket_platform.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" fillcolor="#BFBFBF"]
    "31" [label="interop.h" tooltip="interop.h"]
    "36" [label="otp_ssl.h" tooltip="otp_ssl.h"]
    "40" [label="mbedtls/ssl.h" tooltip="mbedtls/ssl.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "29" [label="erl_nif_priv.h" tooltip="erl_nif_priv.h"]
    "32" [label="nifs.h" tooltip="nifs.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "34" [label="otp_socket.h" tooltip="otp_socket.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "30" -> "31" [dir=forward tooltip="include"]
    "30" -> "21" [dir=forward tooltip="include"]
    "33" -> "19" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "37" -> "2" [dir=forward tooltip="include"]
    "37" -> "28" [dir=forward tooltip="include"]
    "37" -> "3" [dir=forward tooltip="include"]
    "37" -> "21" [dir=forward tooltip="include"]
    "37" -> "19" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "8" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "1" -> "34" [dir=forward tooltip="include"]
    "1" -> "36" [dir=forward tooltip="include"]
    "1" -> "37" [dir=forward tooltip="include"]
    "1" -> "24" [dir=forward tooltip="include"]
    "1" -> "19" [dir=forward tooltip="include"]
    "1" -> "9" [dir=forward tooltip="include"]
    "1" -> "20" [dir=forward tooltip="include"]
    "1" -> "38" [dir=forward tooltip="include"]
    "1" -> "39" [dir=forward tooltip="include"]
    "1" -> "40" [dir=forward tooltip="include"]
    "1" -> "41" [dir=forward tooltip="include"]
    "31" -> "2" [dir=forward tooltip="include"]
    "31" -> "19" [dir=forward tooltip="include"]
    "36" -> "3" [dir=forward tooltip="include"]
    "36" -> "32" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "29" -> "2" [dir=forward tooltip="include"]
    "29" -> "21" [dir=forward tooltip="include"]
    "32" -> "5" [dir=forward tooltip="include"]
    "32" -> "2" [dir=forward tooltip="include"]
    "32" -> "33" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "34" -> "3" [dir=forward tooltip="include"]
    "34" -> "32" [dir=forward tooltip="include"]
    "34" -> "35" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

Defines

MBEDTLS_PRIVATE(member)
DEFAULT_READ_BUFFER_FALLBACK
UNKNOWN_TABLE_VALUE

Functions

static void entropycontext_dtor(ErlNifEnv *caller_env, void *obj)
static void ctrdrbg_dtor(ErlNifEnv *caller_env, void *obj)
static void sslcontext_dtor(ErlNifEnv *caller_env, void *obj)
static void sslconfig_dtor(ErlNifEnv *caller_env, void *obj)
int mbedtls_ssl_send_cb(void *ctx, const unsigned char *buf, size_t len)
int mbedtls_ssl_recv_cb(void *ctx, unsigned char *buf, size_t len)
static term nif_ssl_entropy_init(Context *ctx, int argc, term argv[])
static term nif_ssl_ctr_drbg_init(Context *ctx, int argc, term argv[])
static term nif_ssl_ctr_drbg_seed(Context *ctx, int argc, term argv[])
static term nif_ssl_init(Context *ctx, int argc, term argv[])
static term nif_ssl_set_bio(Context *ctx, int argc, term argv[])
static term nif_ssl_config_init(Context *ctx, int argc, term argv[])
static term nif_ssl_config_defaults(Context *ctx, int argc, term argv[])
static term nif_ssl_set_hostname(Context *ctx, int argc, term argv[])
static term nif_ssl_conf_authmode(Context *ctx, int argc, term argv[])
static term nif_ssl_conf_rng(Context *ctx, int argc, term argv[])
static term nif_ssl_setup(Context *ctx, int argc, term argv[])
static term make_err_result(int err, Context *ctx)
static term nif_ssl_handshake_step(Context *ctx, int argc, term argv[])
static term nif_ssl_close_notify(Context *ctx, int argc, term argv[])
static term nif_ssl_write(Context *ctx, int argc, term argv[])
static term nif_ssl_read(Context *ctx, int argc, term argv[])
const struct Nif *otp_ssl_nif_get_nif(const char *nifname)
void otp_ssl_init(GlobalContext *global)

Variables

static const ErlNifResourceTypeInit EntropyContextResourceTypeInit  = {.members = 1,.dtor = entropycontext_dtor,}
static const ErlNifResourceTypeInit CtrDrbgResourceTypeInit  = {.members = 1,.dtor = ctrdrbg_dtor,}
static const ErlNifResourceTypeInit SSLContextResourceTypeInit  = {.members = 1,.dtor = sslcontext_dtor,}
static const ErlNifResourceTypeInit SSLConfigResourceTypeInit  = {.members = 1,.dtor = sslconfig_dtor,}
static ErlNifResourceType *entropycontext_resource_type
static ErlNifResourceType *ctrdrbg_resource_type
static ErlNifResourceType *sslcontext_resource_type
static ErlNifResourceType *sslconfig_resource_type
static const AtomStringIntPair endpoint_table[] = {{ATOM_STR("\x6", "client"), MBEDTLS_SSL_IS_CLIENT}, {ATOM_STR("\x6", "server"), MBEDTLS_SSL_IS_SERVER},}
static const AtomStringIntPair authmode_table[] = {{ATOM_STR("\x4", "none"), MBEDTLS_SSL_VERIFY_NONE}, {ATOM_STR("\x8", "optional"), MBEDTLS_SSL_VERIFY_OPTIONAL}, {ATOM_STR("\x8", "required"), MBEDTLS_SSL_VERIFY_REQUIRED},}
static const struct Nif ssl_entropy_init_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_entropy_init}
static const struct Nif ssl_ctr_drbg_init_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_ctr_drbg_init}
static const struct Nif ssl_ctr_drbg_seed_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_ctr_drbg_seed}
static const struct Nif ssl_init_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_init}
static const struct Nif ssl_set_bio_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_set_bio}
static const struct Nif ssl_config_init_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_config_init}
static const struct Nif ssl_config_defaults_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_config_defaults}
static const struct Nif ssl_conf_authmode_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_conf_authmode}
static const struct Nif ssl_conf_rng_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_conf_rng}
static const struct Nif ssl_set_hostname_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_set_hostname}
static const struct Nif ssl_setup_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_setup}
static const struct Nif ssl_handshake_step_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_handshake_step}
static const struct Nif ssl_close_notify_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_close_notify}
static const struct Nif ssl_write_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_write}
static const struct Nif ssl_read_nif  = {.base.type =NIFFunctionType,.nif_ptr = nif_ssl_read}
file otp_ssl.h

Include dependency graph for otp_ssl.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="stdbool.h" tooltip="stdbool.h"]
    "15" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "16" [label="synclist.h" tooltip="synclist.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "29" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "27" [label="context.h" tooltip="context.h"]
    "21" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "19" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "18" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" fillcolor="#BFBFBF"]
    "24" [label="resources.h" tooltip="resources.h"]
    "13" [label="smp.h" tooltip="smp.h"]
    "26" [label="nifs.h" tooltip="nifs.h"]
    "2" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "17" [label="stdio.h" tooltip="stdio.h"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "12" [label="list.h" tooltip="list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "16" -> "12" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "13" [dir=forward tooltip="include"]
    "29" -> "18" [dir=forward tooltip="include"]
    "27" -> "2" [dir=forward tooltip="include"]
    "27" -> "12" [dir=forward tooltip="include"]
    "27" -> "28" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "18" [dir=forward tooltip="include"]
    "27" -> "25" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "12" [dir=forward tooltip="include"]
    "28" -> "13" [dir=forward tooltip="include"]
    "28" -> "8" [dir=forward tooltip="include"]
    "28" -> "21" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "18" -> "23" [dir=forward tooltip="include"]
    "18" -> "21" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "26" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "27" [dir=forward tooltip="include"]
    "26" -> "29" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "18" [dir=forward tooltip="include"]
    "2" -> "25" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "8" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "12" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include otp_ssl.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=back tooltip="include"]
}

Functions

const struct Nif *otp_ssl_nif_get_nif(const char *nifname)
void otp_ssl_init(GlobalContext *global)
file overflow_helpers.h

Include dependency graph for overflow_helpers.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "20" [label="stdatomic.h" tooltip="stdatomic.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "14" [label="utils.h" tooltip="utils.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" fillcolor="#BFBFBF"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "15" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "16" [label="refc_binary.h" tooltip="refc_binary.h"]
    "7" [label="string.h" tooltip="string.h"]
    "2" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "18" [label="resources.h" tooltip="resources.h"]
    "19" [label="smp.h" tooltip="smp.h"]
    "8" [label="memory.h" tooltip="memory.h"]
    "5" [label="stdio.h" tooltip="stdio.h"]
    "17" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "14" -> "15" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "16" -> "3" [dir=forward tooltip="include"]
    "16" -> "6" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "18" [dir=forward tooltip="include"]
    "16" -> "19" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "8" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "18" -> "6" [dir=forward tooltip="include"]
    "18" -> "9" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "19" -> "3" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "14" [dir=forward tooltip="include"]
    "8" -> "4" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include overflow_helpers.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=back tooltip="include"]
}

Defines

BUILTIN_ADD_OVERFLOW
BUILTIN_ADD_OVERFLOW_INT
BUILTIN_ADD_OVERFLOW_INT64
BUILTIN_SUB_OVERFLOW
BUILTIN_SUB_OVERFLOW_INT
BUILTIN_SUB_OVERFLOW_INT64
BUILTIN_MUL_OVERFLOW
BUILTIN_MUL_OVERFLOW_INT
BUILTIN_MUL_OVERFLOW_INT64

Functions

static inline int atomvm_add_overflow(avm_int_t a, avm_int_t b, avm_int_t *res)
static inline int atomvm_add_overflow_int(avm_int_t a, avm_int_t b, avm_int_t *res)
static inline int atomvm_add_overflow_int64(avm_int64_t a, avm_int64_t b, avm_int64_t *res)
static inline int atomvm_sub_overflow(avm_int_t a, avm_int_t b, avm_int_t *res)
static inline int atomvm_sub_overflow_int(avm_int_t a, avm_int_t b, avm_int_t *res)
static inline int atomvm_sub_overflow_int64(avm_int64_t a, avm_int64_t b, avm_int64_t *res)
static inline int atomvm_mul_overflow_int(avm_int_t a, avm_int_t b, avm_int_t *res)
static inline int atomvm_mul_overflow_int64(avm_int64_t a, avm_int64_t b, avm_int64_t *res)
static inline int atomvm_mul_overflow(avm_int_t a, avm_int_t b, avm_int_t *res)
file platform_nifs.h

Include dependency graph for platform_nifs.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="stdbool.h" tooltip="stdbool.h"]
    "21" [label="stdatomic.h" tooltip="stdatomic.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" fillcolor="#BFBFBF"]
    "23" [label="atom.h" tooltip="atom.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "28" [label="synclist.h" tooltip="synclist.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "31" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "2" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "26" [label="context.h" tooltip="context.h"]
    "15" [label="utils.h" tooltip="utils.h"]
    "24" [label="atom_table.h" tooltip="atom_table.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "16" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "17" [label="refc_binary.h" tooltip="refc_binary.h"]
    "8" [label="string.h" tooltip="string.h"]
    "30" [label="mailbox.h" tooltip="mailbox.h"]
    "22" [label="module.h" tooltip="module.h"]
    "3" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "19" [label="resources.h" tooltip="resources.h"]
    "20" [label="smp.h" tooltip="smp.h"]
    "25" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "27" [label="globalcontext.h" tooltip="globalcontext.h"]
    "9" [label="memory.h" tooltip="memory.h"]
    "6" [label="stdio.h" tooltip="stdio.h"]
    "29" [label="timer_list.h" tooltip="timer_list.h"]
    "18" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "7" [dir=forward tooltip="include"]
    "28" -> "18" [dir=forward tooltip="include"]
    "28" -> "6" [dir=forward tooltip="include"]
    "28" -> "20" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "26" -> "27" [dir=forward tooltip="include"]
    "26" -> "18" [dir=forward tooltip="include"]
    "26" -> "30" [dir=forward tooltip="include"]
    "26" -> "20" [dir=forward tooltip="include"]
    "26" -> "3" [dir=forward tooltip="include"]
    "26" -> "29" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "24" -> "23" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "5" [dir=forward tooltip="include"]
    "17" -> "4" [dir=forward tooltip="include"]
    "17" -> "7" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "19" [dir=forward tooltip="include"]
    "17" -> "20" [dir=forward tooltip="include"]
    "30" -> "4" [dir=forward tooltip="include"]
    "30" -> "18" [dir=forward tooltip="include"]
    "30" -> "20" [dir=forward tooltip="include"]
    "30" -> "11" [dir=forward tooltip="include"]
    "30" -> "15" [dir=forward tooltip="include"]
    "22" -> "4" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "24" [dir=forward tooltip="include"]
    "22" -> "25" [dir=forward tooltip="include"]
    "22" -> "26" [dir=forward tooltip="include"]
    "22" -> "2" [dir=forward tooltip="include"]
    "22" -> "27" [dir=forward tooltip="include"]
    "22" -> "3" [dir=forward tooltip="include"]
    "22" -> "31" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "6" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "9" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "19" -> "7" [dir=forward tooltip="include"]
    "19" -> "10" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "20" -> "4" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "25" -> "23" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "23" [dir=forward tooltip="include"]
    "27" -> "24" [dir=forward tooltip="include"]
    "27" -> "10" [dir=forward tooltip="include"]
    "27" -> "18" [dir=forward tooltip="include"]
    "27" -> "20" [dir=forward tooltip="include"]
    "27" -> "28" [dir=forward tooltip="include"]
    "27" -> "3" [dir=forward tooltip="include"]
    "27" -> "29" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "15" [dir=forward tooltip="include"]
    "9" -> "5" [dir=forward tooltip="include"]
    "9" -> "7" [dir=forward tooltip="include"]
    "29" -> "4" [dir=forward tooltip="include"]
    "29" -> "5" [dir=forward tooltip="include"]
    "29" -> "18" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include platform_nifs.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" fillcolor="#BFBFBF"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "1" -> "2" [dir=back tooltip="include"]
}

Functions

const struct Nif *platform_nifs_get_nif(const char *nifname)
file port.c

Include dependency graph for port.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="stdbool.h" tooltip="stdbool.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "6" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "29" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "3" [label="context.h" tooltip="context.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" fillcolor="#BFBFBF"]
    "2" [label="port.h" tooltip="port.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "20" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "4" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "6" -> "5" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "29" -> "4" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "28" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "20" [dir=forward tooltip="include"]
    "3" -> "27" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "29" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "22" [dir=forward tooltip="include"]
    "2" -> "20" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "5" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "25" -> "7" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "10" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "26" -> "7" [dir=forward tooltip="include"]
    "26" -> "9" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "4" -> "9" [dir=forward tooltip="include"]
    "4" -> "14" [dir=forward tooltip="include"]
    "4" -> "15" [dir=forward tooltip="include"]
    "4" -> "18" [dir=forward tooltip="include"]
    "4" -> "20" [dir=forward tooltip="include"]
    "4" -> "27" [dir=forward tooltip="include"]
    "22" -> "9" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "7" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
}

Functions

void port_send_message(GlobalContext *glb, term pid, term msg)
void port_send_message_nolock(GlobalContext *glb, term pid, term msg)
void port_ensure_available(Context *ctx, size_t size)
term port_heap_create_tuple2(Heap *heap, term a, term b)
term port_heap_create_tuple3(Heap *heap, term a, term b, term c)
term port_heap_create_tuple_n(Heap *heap, size_t num_terms, term *terms)
term port_heap_create_error_tuple(Heap *heap, term reason)
term port_heap_create_sys_error_tuple(Heap *heap, term syscall, int errno)
term port_heap_create_ok_tuple(Heap *heap, term t)
term port_heap_create_reply(Heap *heap, term ref, term payload)
enum GenMessageParseResult port_parse_gen_message(term msg, GenMessage *gen_message)
file port.h

Include dependency graph for port.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "28" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "2" [label="context.h" tooltip="context.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" fillcolor="#BFBFBF"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "21" [dir=forward tooltip="include"]
    "1" -> "19" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include port.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" fillcolor="#BFBFBF"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
}

Enums

enum GenMessageParseResult

Values:

enumerator GenCallMessage
enumerator GenMessageParseError

Functions

term port_heap_create_tuple2(Heap *heap, term a, term b)
term port_heap_create_tuple3(Heap *heap, term a, term b, term c)
term port_heap_create_tuple_n(Heap *heap, size_t num_terms, term *terms)
term port_heap_create_error_tuple(Heap *heap, term reason)
term port_heap_create_sys_error_tuple(Heap *heap, term syscall, int err)
term port_heap_create_ok_tuple(Heap *heap, term t)
term port_heap_create_reply(Heap *heap, term ref, term payload)
static inline term port_create_tuple2(Context *ctx, term a, term b)
static inline term port_create_tuple3(Context *ctx, term a, term b, term c)
static inline term port_create_tuple_n(Context *ctx, size_t num_terms, term *terms)
static inline term port_create_error_tuple(Context *ctx, term reason)
static inline term port_create_sys_error_tuple(Context *ctx, term syscall, int err)
static inline term port_create_ok_tuple(Context *ctx, term t)
static inline term port_create_reply(Context *ctx, term ref, term payload)
void port_send_message(GlobalContext *glb, term pid, term msg)
void port_send_message_nolock(GlobalContext *glb, term pid, term msg)
void port_ensure_available(Context *ctx, size_t size)
static inline void port_send_reply(Context *ctx, term pid, term ref, term payload)
enum GenMessageParseResult port_parse_gen_message(term msg, GenMessage *gen_message)
file posix_nifs.c

Include dependency graph for posix_nifs.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" fillcolor="#BFBFBF"]
    "33" [label="posix_nifs.h" tooltip="posix_nifs.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "2" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "32" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "28" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "29" [label="mailbox.h" tooltip="mailbox.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "30" [label="interop.h" tooltip="interop.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "27" [label="erl_nif_priv.h" tooltip="erl_nif_priv.h"]
    "31" [label="nifs.h" tooltip="nifs.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "27" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "33" [dir=forward tooltip="include"]
    "33" -> "32" [dir=forward tooltip="include"]
    "33" -> "3" [dir=forward tooltip="include"]
    "33" -> "19" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "32" -> "19" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "28" -> "13" [dir=forward tooltip="include"]
    "28" -> "29" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "19" [dir=forward tooltip="include"]
    "28" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "29" -> "15" [dir=forward tooltip="include"]
    "29" -> "13" [dir=forward tooltip="include"]
    "29" -> "14" [dir=forward tooltip="include"]
    "29" -> "9" [dir=forward tooltip="include"]
    "29" -> "22" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "30" -> "28" [dir=forward tooltip="include"]
    "30" -> "19" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "27" -> "28" [dir=forward tooltip="include"]
    "27" -> "21" [dir=forward tooltip="include"]
    "31" -> "5" [dir=forward tooltip="include"]
    "31" -> "28" [dir=forward tooltip="include"]
    "31" -> "32" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

Functions

term posix_errno_to_term(int err, GlobalContext *glb)
file posix_nifs.h

Include dependency graph for posix_nifs.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="stdbool.h" tooltip="stdbool.h"]
    "21" [label="stdatomic.h" tooltip="stdatomic.h"]
    "23" [label="atom.h" tooltip="atom.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" fillcolor="#BFBFBF"]
    "12" [label="assert.h" tooltip="assert.h"]
    "25" [label="synclist.h" tooltip="synclist.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "2" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "15" [label="utils.h" tooltip="utils.h"]
    "24" [label="atom_table.h" tooltip="atom_table.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "16" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "17" [label="refc_binary.h" tooltip="refc_binary.h"]
    "8" [label="string.h" tooltip="string.h"]
    "3" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "19" [label="resources.h" tooltip="resources.h"]
    "20" [label="smp.h" tooltip="smp.h"]
    "22" [label="globalcontext.h" tooltip="globalcontext.h"]
    "9" [label="memory.h" tooltip="memory.h"]
    "6" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "18" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "7" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "25" -> "18" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "20" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "24" -> "23" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "5" [dir=forward tooltip="include"]
    "17" -> "4" [dir=forward tooltip="include"]
    "17" -> "7" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "19" [dir=forward tooltip="include"]
    "17" -> "20" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "6" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "9" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "19" -> "7" [dir=forward tooltip="include"]
    "19" -> "10" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "20" -> "4" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "24" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "18" [dir=forward tooltip="include"]
    "22" -> "20" [dir=forward tooltip="include"]
    "22" -> "25" [dir=forward tooltip="include"]
    "22" -> "3" [dir=forward tooltip="include"]
    "22" -> "26" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "15" [dir=forward tooltip="include"]
    "9" -> "5" [dir=forward tooltip="include"]
    "9" -> "7" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "5" [dir=forward tooltip="include"]
    "26" -> "18" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include posix_nifs.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" fillcolor="#BFBFBF"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
}

Functions

term posix_errno_to_term(int err, GlobalContext *glb)
file refc_binary.c

Include dependency graph for refc_binary.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="stdbool.h" tooltip="stdbool.h"]
    "28" [label="dictionary.h" tooltip="dictionary.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "20" [label="atom.h" tooltip="atom.h"]
    "31" [label="trace.h" tooltip="trace.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "22" [label="synclist.h" tooltip="synclist.h"]
    "30" [label="tempstack.h" tooltip="tempstack.h"]
    "12" [label="stdint.h" tooltip="stdint.h"]
    "2" [label="stdlib.h" tooltip="stdlib.h"]
    "18" [label="context.h" tooltip="context.h"]
    "14" [label="utils.h" tooltip="utils.h"]
    "21" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "15" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" fillcolor="#BFBFBF"]
    "3" [label="refc_binary.h" tooltip="refc_binary.h"]
    "25" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "24" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "6" [label="resources.h" tooltip="resources.h"]
    "16" [label="smp.h" tooltip="smp.h"]
    "29" [label="erl_nif_priv.h" tooltip="erl_nif_priv.h"]
    "19" [label="globalcontext.h" tooltip="globalcontext.h"]
    "13" [label="memory.h" tooltip="memory.h"]
    "23" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "5" [label="list.h" tooltip="list.h"]
    "28" -> "5" [dir=forward tooltip="include"]
    "28" -> "24" [dir=forward tooltip="include"]
    "20" -> "12" [dir=forward tooltip="include"]
    "20" -> "2" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "16" [dir=forward tooltip="include"]
    "30" -> "8" [dir=forward tooltip="include"]
    "30" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "27" [dir=forward tooltip="include"]
    "18" -> "16" [dir=forward tooltip="include"]
    "18" -> "24" [dir=forward tooltip="include"]
    "18" -> "26" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "21" -> "20" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "12" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "18" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "14" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "2" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "6" [dir=forward tooltip="include"]
    "3" -> "16" [dir=forward tooltip="include"]
    "27" -> "4" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "8" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "24" -> "4" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "23" [dir=forward tooltip="include"]
    "24" -> "2" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "3" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "24" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "6" -> "2" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "5" [dir=forward tooltip="include"]
    "6" -> "13" [dir=forward tooltip="include"]
    "16" -> "4" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "29" -> "18" [dir=forward tooltip="include"]
    "29" -> "13" [dir=forward tooltip="include"]
    "19" -> "12" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "7" [dir=forward tooltip="include"]
    "19" -> "5" [dir=forward tooltip="include"]
    "19" -> "16" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "26" [dir=forward tooltip="include"]
    "13" -> "7" [dir=forward tooltip="include"]
    "13" -> "8" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "12" [dir=forward tooltip="include"]
    "13" -> "2" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "12" [dir=forward tooltip="include"]
    "26" -> "5" [dir=forward tooltip="include"]
}

Functions

struct RefcBinary *refc_binary_create_resource(size_t size, struct ResourceType *resource_type)
const char *refc_binary_get_data(const struct RefcBinary *refc)
struct RefcBinary *refc_binary_from_data(void *ptr)
void refc_binary_increment_refcount(struct RefcBinary *refc)
bool refc_binary_decrement_refcount(struct RefcBinary *refc, struct GlobalContext *global)
void refc_binary_destroy(struct RefcBinary *refc, struct GlobalContext *global)
term refc_binary_create_binary_info(Context *ctx)
size_t refc_binary_total_size(Context *ctx)
file refc_binary.h

Include dependency graph for refc_binary.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "8" [label="assert.h" tooltip="assert.h"]
    "11" [label="stdint.h" tooltip="stdint.h"]
    "3" [label="stdlib.h" tooltip="stdlib.h"]
    "13" [label="utils.h" tooltip="utils.h"]
    "7" [label="term_typedef.h" tooltip="term_typedef.h"]
    "14" [label="stddef.h" tooltip="stddef.h"]
    "9" [label="limits.h" tooltip="limits.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" fillcolor="#BFBFBF"]
    "6" [label="erl_nif.h" tooltip="erl_nif.h"]
    "5" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "12" [label="memory.h" tooltip="memory.h"]
    "10" [label="inttypes.h" tooltip="inttypes.h"]
    "4" [label="list.h" tooltip="list.h"]
    "13" -> "14" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "9" [dir=forward tooltip="include"]
    "7" -> "10" [dir=forward tooltip="include"]
    "7" -> "11" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "15" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "5" -> "3" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "12" [dir=forward tooltip="include"]
    "15" -> "2" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "12" -> "6" [dir=forward tooltip="include"]
    "12" -> "7" [dir=forward tooltip="include"]
    "12" -> "13" [dir=forward tooltip="include"]
    "12" -> "11" [dir=forward tooltip="include"]
    "12" -> "3" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include refc_binary.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "54" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "55" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" fillcolor="#BFBFBF"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h"]
    "15" -> "16" [dir=back tooltip="include"]
    "15" -> "13" [dir=back tooltip="include"]
    "15" -> "17" [dir=back tooltip="include"]
    "15" -> "11" [dir=back tooltip="include"]
    "46" -> "16" [dir=back tooltip="include"]
    "46" -> "12" [dir=back tooltip="include"]
    "46" -> "45" [dir=back tooltip="include"]
    "46" -> "3" [dir=back tooltip="include"]
    "46" -> "17" [dir=back tooltip="include"]
    "46" -> "22" [dir=back tooltip="include"]
    "46" -> "5" [dir=back tooltip="include"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "10" [dir=back tooltip="include"]
    "8" -> "11" [dir=back tooltip="include"]
    "32" -> "17" [dir=back tooltip="include"]
    "48" -> "2" [dir=back tooltip="include"]
    "48" -> "17" [dir=back tooltip="include"]
    "48" -> "22" [dir=back tooltip="include"]
    "48" -> "23" [dir=back tooltip="include"]
    "53" -> "16" [dir=back tooltip="include"]
    "53" -> "54" [dir=back tooltip="include"]
    "53" -> "45" [dir=back tooltip="include"]
    "53" -> "2" [dir=back tooltip="include"]
    "53" -> "10" [dir=back tooltip="include"]
    "53" -> "17" [dir=back tooltip="include"]
    "53" -> "11" [dir=back tooltip="include"]
    "53" -> "29" [dir=back tooltip="include"]
    "53" -> "28" [dir=back tooltip="include"]
    "53" -> "22" [dir=back tooltip="include"]
    "53" -> "4" [dir=back tooltip="include"]
    "53" -> "41" [dir=back tooltip="include"]
    "53" -> "42" [dir=back tooltip="include"]
    "53" -> "23" [dir=back tooltip="include"]
    "53" -> "6" [dir=back tooltip="include"]
    "53" -> "34" [dir=back tooltip="include"]
    "26" -> "27" [dir=back tooltip="include"]
    "26" -> "28" [dir=back tooltip="include"]
    "26" -> "22" [dir=back tooltip="include"]
    "26" -> "4" [dir=back tooltip="include"]
    "43" -> "44" [dir=back tooltip="include"]
    "43" -> "17" [dir=back tooltip="include"]
    "43" -> "11" [dir=back tooltip="include"]
    "43" -> "22" [dir=back tooltip="include"]
    "43" -> "20" [dir=back tooltip="include"]
    "47" -> "15" [dir=back tooltip="include"]
    "47" -> "31" [dir=back tooltip="include"]
    "47" -> "36" [dir=back tooltip="include"]
    "47" -> "11" [dir=back tooltip="include"]
    "47" -> "32" [dir=back tooltip="include"]
    "47" -> "48" [dir=back tooltip="include"]
    "14" -> "15" [dir=back tooltip="include"]
    "14" -> "12" [dir=back tooltip="include"]
    "14" -> "18" [dir=back tooltip="include"]
    "14" -> "21" [dir=back tooltip="include"]
    "14" -> "24" [dir=back tooltip="include"]
    "14" -> "2" [dir=back tooltip="include"]
    "14" -> "25" [dir=back tooltip="include"]
    "14" -> "3" [dir=back tooltip="include"]
    "14" -> "13" [dir=back tooltip="include"]
    "14" -> "31" [dir=back tooltip="include"]
    "14" -> "17" [dir=back tooltip="include"]
    "14" -> "36" [dir=back tooltip="include"]
    "14" -> "29" [dir=back tooltip="include"]
    "14" -> "28" [dir=back tooltip="include"]
    "14" -> "22" [dir=back tooltip="include"]
    "14" -> "4" [dir=back tooltip="include"]
    "14" -> "41" [dir=back tooltip="include"]
    "14" -> "42" [dir=back tooltip="include"]
    "14" -> "5" [dir=back tooltip="include"]
    "14" -> "6" [dir=back tooltip="include"]
    "14" -> "43" [dir=back tooltip="include"]
    "14" -> "33" [dir=back tooltip="include"]
    "14" -> "30" [dir=back tooltip="include"]
    "42" -> "27" [dir=back tooltip="include"]
    "42" -> "17" [dir=back tooltip="include"]
    "42" -> "28" [dir=back tooltip="include"]
    "42" -> "22" [dir=back tooltip="include"]
    "42" -> "4" [dir=back tooltip="include"]
    "42" -> "41" [dir=back tooltip="include"]
    "55" -> "16" [dir=back tooltip="include"]
    "33" -> "11" [dir=back tooltip="include"]
    "33" -> "34" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "31" -> "15" [dir=back tooltip="include"]
    "31" -> "13" [dir=back tooltip="include"]
    "31" -> "17" [dir=back tooltip="include"]
    "31" -> "11" [dir=back tooltip="include"]
    "31" -> "32" [dir=back tooltip="include"]
    "31" -> "33" [dir=back tooltip="include"]
    "31" -> "35" [dir=back tooltip="include"]
    "51" -> "52" [dir=back tooltip="include"]
    "51" -> "2" [dir=back tooltip="include"]
    "51" -> "17" [dir=back tooltip="include"]
    "7" -> "8" [dir=back tooltip="include"]
    "7" -> "12" [dir=back tooltip="include"]
    "7" -> "14" [dir=back tooltip="include"]
    "7" -> "45" [dir=back tooltip="include"]
    "7" -> "46" [dir=back tooltip="include"]
    "7" -> "47" [dir=back tooltip="include"]
    "7" -> "49" [dir=back tooltip="include"]
    "7" -> "50" [dir=back tooltip="include"]
    "7" -> "27" [dir=back tooltip="include"]
    "7" -> "10" [dir=back tooltip="include"]
    "7" -> "25" [dir=back tooltip="include"]
    "7" -> "3" [dir=back tooltip="include"]
    "7" -> "13" [dir=back tooltip="include"]
    "7" -> "31" [dir=back tooltip="include"]
    "7" -> "17" [dir=back tooltip="include"]
    "7" -> "29" [dir=back tooltip="include"]
    "7" -> "28" [dir=back tooltip="include"]
    "7" -> "22" [dir=back tooltip="include"]
    "7" -> "4" [dir=back tooltip="include"]
    "7" -> "55" [dir=back tooltip="include"]
    "7" -> "42" [dir=back tooltip="include"]
    "7" -> "48" [dir=back tooltip="include"]
    "7" -> "33" [dir=back tooltip="include"]
    "7" -> "30" [dir=back tooltip="include"]
    "25" -> "26" [dir=back tooltip="include"]
    "25" -> "10" [dir=back tooltip="include"]
    "25" -> "17" [dir=back tooltip="include"]
    "25" -> "29" [dir=back tooltip="include"]
    "25" -> "28" [dir=back tooltip="include"]
    "25" -> "22" [dir=back tooltip="include"]
    "25" -> "4" [dir=back tooltip="include"]
    "25" -> "23" [dir=back tooltip="include"]
    "25" -> "30" [dir=back tooltip="include"]
    "40" -> "4" [dir=back tooltip="include"]
    "37" -> "29" [dir=back tooltip="include"]
    "38" -> "28" [dir=back tooltip="include"]
    "21" -> "12" [dir=back tooltip="include"]
    "21" -> "2" [dir=back tooltip="include"]
    "21" -> "3" [dir=back tooltip="include"]
    "21" -> "22" [dir=back tooltip="include"]
    "21" -> "4" [dir=back tooltip="include"]
    "21" -> "23" [dir=back tooltip="include"]
    "21" -> "5" [dir=back tooltip="include"]
    "21" -> "6" [dir=back tooltip="include"]
    "35" -> "12" [dir=back tooltip="include"]
    "35" -> "2" [dir=back tooltip="include"]
    "35" -> "13" [dir=back tooltip="include"]
    "35" -> "17" [dir=back tooltip="include"]
    "35" -> "22" [dir=back tooltip="include"]
    "35" -> "6" [dir=back tooltip="include"]
    "35" -> "20" [dir=back tooltip="include"]
    "36" -> "13" [dir=back tooltip="include"]
    "36" -> "17" [dir=back tooltip="include"]
    "36" -> "11" [dir=back tooltip="include"]
    "36" -> "29" [dir=back tooltip="include"]
    "36" -> "37" [dir=back tooltip="include"]
    "36" -> "28" [dir=back tooltip="include"]
    "36" -> "38" [dir=back tooltip="include"]
    "36" -> "22" [dir=back tooltip="include"]
    "36" -> "39" [dir=back tooltip="include"]
    "36" -> "4" [dir=back tooltip="include"]
    "36" -> "40" [dir=back tooltip="include"]
    "36" -> "23" [dir=back tooltip="include"]
    "11" -> "12" [dir=back tooltip="include"]
    "11" -> "13" [dir=back tooltip="include"]
    "18" -> "19" [dir=back tooltip="include"]
    "18" -> "3" [dir=back tooltip="include"]
    "18" -> "11" [dir=back tooltip="include"]
    "18" -> "20" [dir=back tooltip="include"]
    "50" -> "51" [dir=back tooltip="include"]
    "50" -> "12" [dir=back tooltip="include"]
    "50" -> "14" [dir=back tooltip="include"]
    "50" -> "53" [dir=back tooltip="include"]
    "50" -> "2" [dir=back tooltip="include"]
    "50" -> "13" [dir=back tooltip="include"]
    "50" -> "31" [dir=back tooltip="include"]
    "50" -> "17" [dir=back tooltip="include"]
    "50" -> "29" [dir=back tooltip="include"]
    "50" -> "28" [dir=back tooltip="include"]
    "50" -> "38" [dir=back tooltip="include"]
    "50" -> "22" [dir=back tooltip="include"]
    "50" -> "39" [dir=back tooltip="include"]
    "50" -> "4" [dir=back tooltip="include"]
    "50" -> "40" [dir=back tooltip="include"]
    "50" -> "41" [dir=back tooltip="include"]
    "50" -> "42" [dir=back tooltip="include"]
    "50" -> "23" [dir=back tooltip="include"]
    "50" -> "48" [dir=back tooltip="include"]
    "50" -> "43" [dir=back tooltip="include"]
    "50" -> "34" [dir=back tooltip="include"]
    "50" -> "35" [dir=back tooltip="include"]
    "39" -> "22" [dir=back tooltip="include"]
    "39" -> "4" [dir=back tooltip="include"]
    "49" -> "24" [dir=back tooltip="include"]
    "49" -> "13" [dir=back tooltip="include"]
    "49" -> "17" [dir=back tooltip="include"]
}

Functions

struct RefcBinary *refc_binary_create_resource(size_t size, struct ResourceType *resource_type)
static inline struct RefcBinary *refc_binary_create_refc(size_t size)
const char *refc_binary_get_data(const struct RefcBinary *ptr)
struct RefcBinary *refc_binary_from_data(void *ptr)
void refc_binary_increment_refcount(struct RefcBinary *ptr)
bool refc_binary_decrement_refcount(struct RefcBinary *ptr, GlobalContext *global)
void refc_binary_destroy(struct RefcBinary *refc, struct GlobalContext *global)
term refc_binary_create_binary_info(Context *ctx)
size_t refc_binary_total_size(Context *ctx)
file resources.c

Include dependency graph for resources.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="stdbool.h" tooltip="stdbool.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "8" [label="atom.h" tooltip="atom.h"]
    "12" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "28" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "7" [label="stdint.h" tooltip="stdint.h"]
    "3" [label="stdlib.h" tooltip="stdlib.h"]
    "34" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "33" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "5" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "9" [label="atom_table.h" tooltip="atom_table.h"]
    "11" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "13" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "4" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "31" [label="module.h" tooltip="module.h"]
    "20" [label="term.h" tooltip="term.h"]
    "10" [label="erl_nif.h" tooltip="erl_nif.h"]
    "35" [label="time.h" tooltip="time.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" fillcolor="#BFBFBF"]
    "25" [label="resources.h" tooltip="resources.h"]
    "16" [label="smp.h" tooltip="smp.h"]
    "29" [label="erl_nif_priv.h" tooltip="erl_nif_priv.h"]
    "30" [label="sys.h" tooltip="sys.h"]
    "32" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "6" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "15" [label="list.h" tooltip="list.h"]
    "14" [label="inttypes.h" tooltip="inttypes.h"]
    "8" -> "7" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "16" [dir=forward tooltip="include"]
    "28" -> "6" [dir=forward tooltip="include"]
    "33" -> "20" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "5" -> "15" [dir=forward tooltip="include"]
    "5" -> "27" [dir=forward tooltip="include"]
    "5" -> "16" [dir=forward tooltip="include"]
    "5" -> "20" [dir=forward tooltip="include"]
    "5" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "9" -> "8" [dir=forward tooltip="include"]
    "11" -> "12" [dir=forward tooltip="include"]
    "11" -> "13" [dir=forward tooltip="include"]
    "11" -> "14" [dir=forward tooltip="include"]
    "11" -> "7" [dir=forward tooltip="include"]
    "24" -> "2" [dir=forward tooltip="include"]
    "24" -> "3" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "16" [dir=forward tooltip="include"]
    "27" -> "2" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "11" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "31" -> "2" [dir=forward tooltip="include"]
    "31" -> "7" [dir=forward tooltip="include"]
    "31" -> "8" [dir=forward tooltip="include"]
    "31" -> "9" [dir=forward tooltip="include"]
    "31" -> "32" [dir=forward tooltip="include"]
    "31" -> "5" [dir=forward tooltip="include"]
    "31" -> "33" [dir=forward tooltip="include"]
    "31" -> "6" [dir=forward tooltip="include"]
    "31" -> "20" [dir=forward tooltip="include"]
    "31" -> "34" [dir=forward tooltip="include"]
    "20" -> "2" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "4" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "24" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "11" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "10" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "24" [dir=forward tooltip="include"]
    "1" -> "25" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "10" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "16" -> "2" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "29" -> "5" [dir=forward tooltip="include"]
    "29" -> "21" [dir=forward tooltip="include"]
    "30" -> "6" [dir=forward tooltip="include"]
    "30" -> "31" [dir=forward tooltip="include"]
    "30" -> "7" [dir=forward tooltip="include"]
    "30" -> "35" [dir=forward tooltip="include"]
    "32" -> "8" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "8" [dir=forward tooltip="include"]
    "6" -> "9" [dir=forward tooltip="include"]
    "6" -> "10" [dir=forward tooltip="include"]
    "6" -> "15" [dir=forward tooltip="include"]
    "6" -> "16" [dir=forward tooltip="include"]
    "6" -> "18" [dir=forward tooltip="include"]
    "6" -> "20" [dir=forward tooltip="include"]
    "6" -> "26" [dir=forward tooltip="include"]
    "21" -> "10" [dir=forward tooltip="include"]
    "21" -> "11" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "7" [dir=forward tooltip="include"]
    "21" -> "3" [dir=forward tooltip="include"]
    "26" -> "2" [dir=forward tooltip="include"]
    "26" -> "7" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
}

Functions

ErlNifResourceType *enif_init_resource_type(ErlNifEnv *env, const char *name, const ErlNifResourceTypeInit *init, ErlNifResourceFlags flags, ErlNifResourceFlags *tried)
void *enif_alloc_resource(ErlNifResourceType *type, unsigned size)
int enif_get_resource(ErlNifEnv *env, ERL_NIF_TERM t, ErlNifResourceType *type, void **objp)
int enif_keep_resource(void *resource)
int enif_release_resource(void *resource)
ERL_NIF_TERM enif_make_resource(ErlNifEnv *env, void *obj)
int enif_select(ErlNifEnv *env, ErlNifEvent event, enum ErlNifSelectFlags mode, void *obj, const ErlNifPid *pid, ERL_NIF_TERM ref)
term select_event_make_notification(void *rsrc_obj, uint64_t ref_ticks, bool is_write, Heap *heap)
static void select_event_send_notification(struct SelectEvent *select_event, bool is_write, GlobalContext *global)
bool select_event_notify(ErlNifEvent event, bool is_read, bool is_write, GlobalContext *global)
static inline void select_event_destroy(struct SelectEvent *select_event, GlobalContext *global)
void select_event_count_and_destroy_closed(struct ListHead *select_events, size_t *read, size_t *write, size_t *either, GlobalContext *global)
int enif_monitor_process(ErlNifEnv *env, void *obj, const ErlNifPid *target_pid, ErlNifMonitor *mon)
int enif_demonitor_process(ErlNifEnv *env, void *obj, const ErlNifMonitor *mon)
void destroy_resource_monitors(struct RefcBinary *resource, GlobalContext *global)
int enif_compare_monitors(const ErlNifMonitor *monitor1, const ErlNifMonitor *monitor2)
file resources.h

Include dependency graph for resources.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "5" [label="assert.h" tooltip="assert.h"]
    "8" [label="stdint.h" tooltip="stdint.h"]
    "2" [label="stdlib.h" tooltip="stdlib.h"]
    "11" [label="utils.h" tooltip="utils.h"]
    "4" [label="term_typedef.h" tooltip="term_typedef.h"]
    "12" [label="stddef.h" tooltip="stddef.h"]
    "6" [label="limits.h" tooltip="limits.h"]
    "3" [label="erl_nif.h" tooltip="erl_nif.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h" fillcolor="#BFBFBF"]
    "10" [label="memory.h" tooltip="memory.h"]
    "9" [label="list.h" tooltip="list.h"]
    "7" [label="inttypes.h" tooltip="inttypes.h"]
    "11" -> "12" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "7" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "9" [dir=forward tooltip="include"]
    "1" -> "10" [dir=forward tooltip="include"]
    "10" -> "3" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "8" [dir=forward tooltip="include"]
    "10" -> "2" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include resources.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "55" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "54" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "56" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h" fillcolor="#BFBFBF"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h"]
    "16" -> "17" [dir=back tooltip="include"]
    "16" -> "14" [dir=back tooltip="include"]
    "16" -> "18" [dir=back tooltip="include"]
    "16" -> "12" [dir=back tooltip="include"]
    "47" -> "17" [dir=back tooltip="include"]
    "47" -> "13" [dir=back tooltip="include"]
    "47" -> "46" [dir=back tooltip="include"]
    "47" -> "4" [dir=back tooltip="include"]
    "47" -> "18" [dir=back tooltip="include"]
    "47" -> "23" [dir=back tooltip="include"]
    "47" -> "6" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "11" [dir=back tooltip="include"]
    "9" -> "12" [dir=back tooltip="include"]
    "33" -> "18" [dir=back tooltip="include"]
    "49" -> "2" [dir=back tooltip="include"]
    "49" -> "18" [dir=back tooltip="include"]
    "49" -> "23" [dir=back tooltip="include"]
    "49" -> "24" [dir=back tooltip="include"]
    "54" -> "17" [dir=back tooltip="include"]
    "54" -> "55" [dir=back tooltip="include"]
    "54" -> "46" [dir=back tooltip="include"]
    "54" -> "2" [dir=back tooltip="include"]
    "54" -> "11" [dir=back tooltip="include"]
    "54" -> "18" [dir=back tooltip="include"]
    "54" -> "12" [dir=back tooltip="include"]
    "54" -> "30" [dir=back tooltip="include"]
    "54" -> "29" [dir=back tooltip="include"]
    "54" -> "23" [dir=back tooltip="include"]
    "54" -> "5" [dir=back tooltip="include"]
    "54" -> "42" [dir=back tooltip="include"]
    "54" -> "43" [dir=back tooltip="include"]
    "54" -> "24" [dir=back tooltip="include"]
    "54" -> "7" [dir=back tooltip="include"]
    "54" -> "35" [dir=back tooltip="include"]
    "27" -> "28" [dir=back tooltip="include"]
    "27" -> "29" [dir=back tooltip="include"]
    "27" -> "23" [dir=back tooltip="include"]
    "27" -> "5" [dir=back tooltip="include"]
    "44" -> "45" [dir=back tooltip="include"]
    "44" -> "18" [dir=back tooltip="include"]
    "44" -> "12" [dir=back tooltip="include"]
    "44" -> "23" [dir=back tooltip="include"]
    "44" -> "21" [dir=back tooltip="include"]
    "48" -> "16" [dir=back tooltip="include"]
    "48" -> "32" [dir=back tooltip="include"]
    "48" -> "37" [dir=back tooltip="include"]
    "48" -> "12" [dir=back tooltip="include"]
    "48" -> "33" [dir=back tooltip="include"]
    "48" -> "49" [dir=back tooltip="include"]
    "15" -> "16" [dir=back tooltip="include"]
    "15" -> "13" [dir=back tooltip="include"]
    "15" -> "19" [dir=back tooltip="include"]
    "15" -> "22" [dir=back tooltip="include"]
    "15" -> "25" [dir=back tooltip="include"]
    "15" -> "2" [dir=back tooltip="include"]
    "15" -> "26" [dir=back tooltip="include"]
    "15" -> "4" [dir=back tooltip="include"]
    "15" -> "14" [dir=back tooltip="include"]
    "15" -> "32" [dir=back tooltip="include"]
    "15" -> "18" [dir=back tooltip="include"]
    "15" -> "37" [dir=back tooltip="include"]
    "15" -> "30" [dir=back tooltip="include"]
    "15" -> "29" [dir=back tooltip="include"]
    "15" -> "23" [dir=back tooltip="include"]
    "15" -> "5" [dir=back tooltip="include"]
    "15" -> "42" [dir=back tooltip="include"]
    "15" -> "43" [dir=back tooltip="include"]
    "15" -> "6" [dir=back tooltip="include"]
    "15" -> "7" [dir=back tooltip="include"]
    "15" -> "44" [dir=back tooltip="include"]
    "15" -> "34" [dir=back tooltip="include"]
    "15" -> "31" [dir=back tooltip="include"]
    "43" -> "28" [dir=back tooltip="include"]
    "43" -> "18" [dir=back tooltip="include"]
    "43" -> "29" [dir=back tooltip="include"]
    "43" -> "23" [dir=back tooltip="include"]
    "43" -> "5" [dir=back tooltip="include"]
    "43" -> "42" [dir=back tooltip="include"]
    "56" -> "17" [dir=back tooltip="include"]
    "34" -> "12" [dir=back tooltip="include"]
    "34" -> "35" [dir=back tooltip="include"]
    "3" -> "2" [dir=back tooltip="include"]
    "3" -> "4" [dir=back tooltip="include"]
    "3" -> "5" [dir=back tooltip="include"]
    "3" -> "6" [dir=back tooltip="include"]
    "3" -> "7" [dir=back tooltip="include"]
    "3" -> "8" [dir=back tooltip="include"]
    "32" -> "16" [dir=back tooltip="include"]
    "32" -> "14" [dir=back tooltip="include"]
    "32" -> "18" [dir=back tooltip="include"]
    "32" -> "12" [dir=back tooltip="include"]
    "32" -> "33" [dir=back tooltip="include"]
    "32" -> "34" [dir=back tooltip="include"]
    "32" -> "36" [dir=back tooltip="include"]
    "52" -> "53" [dir=back tooltip="include"]
    "52" -> "2" [dir=back tooltip="include"]
    "52" -> "18" [dir=back tooltip="include"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "13" [dir=back tooltip="include"]
    "8" -> "15" [dir=back tooltip="include"]
    "8" -> "46" [dir=back tooltip="include"]
    "8" -> "47" [dir=back tooltip="include"]
    "8" -> "48" [dir=back tooltip="include"]
    "8" -> "50" [dir=back tooltip="include"]
    "8" -> "51" [dir=back tooltip="include"]
    "8" -> "28" [dir=back tooltip="include"]
    "8" -> "11" [dir=back tooltip="include"]
    "8" -> "26" [dir=back tooltip="include"]
    "8" -> "4" [dir=back tooltip="include"]
    "8" -> "14" [dir=back tooltip="include"]
    "8" -> "32" [dir=back tooltip="include"]
    "8" -> "18" [dir=back tooltip="include"]
    "8" -> "30" [dir=back tooltip="include"]
    "8" -> "29" [dir=back tooltip="include"]
    "8" -> "23" [dir=back tooltip="include"]
    "8" -> "5" [dir=back tooltip="include"]
    "8" -> "56" [dir=back tooltip="include"]
    "8" -> "43" [dir=back tooltip="include"]
    "8" -> "49" [dir=back tooltip="include"]
    "8" -> "34" [dir=back tooltip="include"]
    "8" -> "31" [dir=back tooltip="include"]
    "26" -> "27" [dir=back tooltip="include"]
    "26" -> "11" [dir=back tooltip="include"]
    "26" -> "18" [dir=back tooltip="include"]
    "26" -> "30" [dir=back tooltip="include"]
    "26" -> "29" [dir=back tooltip="include"]
    "26" -> "23" [dir=back tooltip="include"]
    "26" -> "5" [dir=back tooltip="include"]
    "26" -> "24" [dir=back tooltip="include"]
    "26" -> "31" [dir=back tooltip="include"]
    "41" -> "5" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "38" -> "30" [dir=back tooltip="include"]
    "39" -> "29" [dir=back tooltip="include"]
    "22" -> "13" [dir=back tooltip="include"]
    "22" -> "2" [dir=back tooltip="include"]
    "22" -> "4" [dir=back tooltip="include"]
    "22" -> "23" [dir=back tooltip="include"]
    "22" -> "5" [dir=back tooltip="include"]
    "22" -> "24" [dir=back tooltip="include"]
    "22" -> "6" [dir=back tooltip="include"]
    "22" -> "7" [dir=back tooltip="include"]
    "36" -> "13" [dir=back tooltip="include"]
    "36" -> "2" [dir=back tooltip="include"]
    "36" -> "14" [dir=back tooltip="include"]
    "36" -> "18" [dir=back tooltip="include"]
    "36" -> "23" [dir=back tooltip="include"]
    "36" -> "7" [dir=back tooltip="include"]
    "36" -> "21" [dir=back tooltip="include"]
    "37" -> "14" [dir=back tooltip="include"]
    "37" -> "18" [dir=back tooltip="include"]
    "37" -> "12" [dir=back tooltip="include"]
    "37" -> "30" [dir=back tooltip="include"]
    "37" -> "38" [dir=back tooltip="include"]
    "37" -> "29" [dir=back tooltip="include"]
    "37" -> "39" [dir=back tooltip="include"]
    "37" -> "23" [dir=back tooltip="include"]
    "37" -> "40" [dir=back tooltip="include"]
    "37" -> "5" [dir=back tooltip="include"]
    "37" -> "41" [dir=back tooltip="include"]
    "37" -> "24" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "19" -> "20" [dir=back tooltip="include"]
    "19" -> "4" [dir=back tooltip="include"]
    "19" -> "12" [dir=back tooltip="include"]
    "19" -> "21" [dir=back tooltip="include"]
    "51" -> "52" [dir=back tooltip="include"]
    "51" -> "13" [dir=back tooltip="include"]
    "51" -> "15" [dir=back tooltip="include"]
    "51" -> "54" [dir=back tooltip="include"]
    "51" -> "2" [dir=back tooltip="include"]
    "51" -> "14" [dir=back tooltip="include"]
    "51" -> "32" [dir=back tooltip="include"]
    "51" -> "18" [dir=back tooltip="include"]
    "51" -> "30" [dir=back tooltip="include"]
    "51" -> "29" [dir=back tooltip="include"]
    "51" -> "39" [dir=back tooltip="include"]
    "51" -> "23" [dir=back tooltip="include"]
    "51" -> "40" [dir=back tooltip="include"]
    "51" -> "5" [dir=back tooltip="include"]
    "51" -> "41" [dir=back tooltip="include"]
    "51" -> "42" [dir=back tooltip="include"]
    "51" -> "43" [dir=back tooltip="include"]
    "51" -> "24" [dir=back tooltip="include"]
    "51" -> "49" [dir=back tooltip="include"]
    "51" -> "44" [dir=back tooltip="include"]
    "51" -> "35" [dir=back tooltip="include"]
    "51" -> "36" [dir=back tooltip="include"]
    "40" -> "23" [dir=back tooltip="include"]
    "40" -> "5" [dir=back tooltip="include"]
    "50" -> "25" [dir=back tooltip="include"]
    "50" -> "14" [dir=back tooltip="include"]
    "50" -> "18" [dir=back tooltip="include"]
}

Defines

TYPEDEF_GLOBALCONTEXT
SELECT_EVENT_NOTIFICATION_SIZE

Typedefs

typedef struct GlobalContext GlobalContext

Functions

static inline void resource_type_destroy(struct ResourceType *resource_type)
bool select_event_notify(ErlNifEvent event, bool is_read, bool is_write, GlobalContext *global)
void select_event_count_and_destroy_closed(struct ListHead *select_events, size_t *read, size_t *write, size_t *either, GlobalContext *global)
void destroy_resource_monitors(struct RefcBinary *resource, GlobalContext *global)
term select_event_make_notification(void *rsrc_obj, uint64_t ref_ticks, bool is_write, Heap *heap)
file scheduler.c

Include dependency graph for scheduler.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="stdbool.h" tooltip="stdbool.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "6" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "34" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" fillcolor="#BFBFBF"]
    "2" [label="scheduler.h" tooltip="scheduler.h"]
    "33" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "3" [label="context.h" tooltip="context.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "31" [label="module.h" tooltip="module.h"]
    "20" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "35" [label="time.h" tooltip="time.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "30" [label="sys.h" tooltip="sys.h"]
    "32" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "29" [label="debug.h" tooltip="debug.h"]
    "4" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "6" -> "5" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "19" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "14" [dir=forward tooltip="include"]
    "1" -> "15" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "23" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "33" -> "20" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "28" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "20" [dir=forward tooltip="include"]
    "3" -> "27" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "5" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "25" -> "7" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "10" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "31" -> "16" [dir=forward tooltip="include"]
    "31" -> "5" [dir=forward tooltip="include"]
    "31" -> "6" [dir=forward tooltip="include"]
    "31" -> "8" [dir=forward tooltip="include"]
    "31" -> "32" [dir=forward tooltip="include"]
    "31" -> "3" [dir=forward tooltip="include"]
    "31" -> "33" [dir=forward tooltip="include"]
    "31" -> "4" [dir=forward tooltip="include"]
    "31" -> "20" [dir=forward tooltip="include"]
    "31" -> "34" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "26" -> "7" [dir=forward tooltip="include"]
    "26" -> "9" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "30" -> "4" [dir=forward tooltip="include"]
    "30" -> "31" [dir=forward tooltip="include"]
    "30" -> "5" [dir=forward tooltip="include"]
    "30" -> "35" [dir=forward tooltip="include"]
    "32" -> "6" [dir=forward tooltip="include"]
    "29" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "4" -> "9" [dir=forward tooltip="include"]
    "4" -> "14" [dir=forward tooltip="include"]
    "4" -> "15" [dir=forward tooltip="include"]
    "4" -> "18" [dir=forward tooltip="include"]
    "4" -> "20" [dir=forward tooltip="include"]
    "4" -> "27" [dir=forward tooltip="include"]
    "22" -> "9" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "7" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
}

Defines

SMP_SPINLOCK_LOCK(spinlock)
SMP_SPINLOCK_UNLOCK(spinlock)
SMP_MUTEX_LOCK(mtx)
SMP_MUTEX_TRYLOCK(mtx)
SMP_MUTEX_UNLOCK(mtx)

Functions

static void scheduler_timeout_callback(struct TimerListItem *it)
static void scheduler_make_ready(Context *ctx)
static int update_timer_list(GlobalContext *global)
Context *scheduler_wait(Context *ctx)
static void scheduler_process_native_signal_messages(Context *ctx)
static Context *scheduler_run0(GlobalContext *global)
Context *scheduler_run(GlobalContext *global)
Context *scheduler_next(GlobalContext *global, Context *c)
void scheduler_init_ready(Context *c)
void scheduler_signal_message(Context *c)
void scheduler_terminate(Context *ctx)
void scheduler_stop_all(GlobalContext *global)
void scheduler_set_timeout(Context *ctx, avm_int64_t timeout)
void scheduler_cancel_timeout(Context *ctx)
file scheduler.h

Include dependency graph for scheduler.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" fillcolor="#BFBFBF"]
    "2" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include scheduler.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" fillcolor="#BFBFBF"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "6" [dir=back tooltip="include"]
}

Defines

DEFAULT_REDUCTIONS_AMOUNT

Functions

Context *scheduler_run(GlobalContext *global)
Context *scheduler_wait(Context *c)
void scheduler_init_ready(Context *c)
void scheduler_signal_message(Context *c)
void scheduler_kill(Context *ctx)
void scheduler_terminate(Context *c)
void scheduler_stop_all(GlobalContext *global)
Context *scheduler_next(GlobalContext *global, Context *c)
void scheduler_set_timeout(Context *ctx, avm_int64_t timeout)
void scheduler_cancel_timeout(Context *ctx)
int scheduler_entry_point(GlobalContext *glb)
file smp.h

Include dependency graph for smp.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="stdbool.h" tooltip="stdbool.h"]
    "3" [label="stdatomic.h" tooltip="stdatomic.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/smp.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/smp.h" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include smp.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "56" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
    "55" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "54" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "60" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/synclist.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/synclist.h"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "61" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "57" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c"]
    "59" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/smp.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/smp.h" fillcolor="#BFBFBF"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "58" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h"]
    "6" -> "7" [dir=back tooltip="include"]
    "6" -> "8" [dir=back tooltip="include"]
    "6" -> "9" [dir=back tooltip="include"]
    "6" -> "10" [dir=back tooltip="include"]
    "56" -> "7" [dir=back tooltip="include"]
    "56" -> "4" [dir=back tooltip="include"]
    "56" -> "49" [dir=back tooltip="include"]
    "56" -> "13" [dir=back tooltip="include"]
    "56" -> "9" [dir=back tooltip="include"]
    "56" -> "17" [dir=back tooltip="include"]
    "56" -> "20" [dir=back tooltip="include"]
    "54" -> "55" [dir=back tooltip="include"]
    "54" -> "27" [dir=back tooltip="include"]
    "54" -> "10" [dir=back tooltip="include"]
    "31" -> "9" [dir=back tooltip="include"]
    "50" -> "16" [dir=back tooltip="include"]
    "50" -> "9" [dir=back tooltip="include"]
    "50" -> "17" [dir=back tooltip="include"]
    "50" -> "19" [dir=back tooltip="include"]
    "60" -> "4" [dir=back tooltip="include"]
    "60" -> "16" [dir=back tooltip="include"]
    "60" -> "44" [dir=back tooltip="include"]
    "60" -> "43" [dir=back tooltip="include"]
    "60" -> "9" [dir=back tooltip="include"]
    "47" -> "7" [dir=back tooltip="include"]
    "47" -> "48" [dir=back tooltip="include"]
    "47" -> "49" [dir=back tooltip="include"]
    "47" -> "16" [dir=back tooltip="include"]
    "47" -> "27" [dir=back tooltip="include"]
    "47" -> "9" [dir=back tooltip="include"]
    "47" -> "10" [dir=back tooltip="include"]
    "47" -> "28" [dir=back tooltip="include"]
    "47" -> "26" [dir=back tooltip="include"]
    "47" -> "17" [dir=back tooltip="include"]
    "47" -> "18" [dir=back tooltip="include"]
    "47" -> "40" [dir=back tooltip="include"]
    "47" -> "41" [dir=back tooltip="include"]
    "47" -> "19" [dir=back tooltip="include"]
    "47" -> "21" [dir=back tooltip="include"]
    "47" -> "33" [dir=back tooltip="include"]
    "24" -> "25" [dir=back tooltip="include"]
    "24" -> "26" [dir=back tooltip="include"]
    "24" -> "17" [dir=back tooltip="include"]
    "24" -> "18" [dir=back tooltip="include"]
    "42" -> "43" [dir=back tooltip="include"]
    "42" -> "9" [dir=back tooltip="include"]
    "42" -> "10" [dir=back tooltip="include"]
    "42" -> "17" [dir=back tooltip="include"]
    "42" -> "14" [dir=back tooltip="include"]
    "57" -> "6" [dir=back tooltip="include"]
    "57" -> "30" [dir=back tooltip="include"]
    "57" -> "35" [dir=back tooltip="include"]
    "57" -> "10" [dir=back tooltip="include"]
    "57" -> "31" [dir=back tooltip="include"]
    "57" -> "50" [dir=back tooltip="include"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "4" [dir=back tooltip="include"]
    "5" -> "11" [dir=back tooltip="include"]
    "5" -> "15" [dir=back tooltip="include"]
    "5" -> "22" [dir=back tooltip="include"]
    "5" -> "16" [dir=back tooltip="include"]
    "5" -> "23" [dir=back tooltip="include"]
    "5" -> "13" [dir=back tooltip="include"]
    "5" -> "8" [dir=back tooltip="include"]
    "5" -> "30" [dir=back tooltip="include"]
    "5" -> "9" [dir=back tooltip="include"]
    "5" -> "35" [dir=back tooltip="include"]
    "5" -> "28" [dir=back tooltip="include"]
    "5" -> "26" [dir=back tooltip="include"]
    "5" -> "17" [dir=back tooltip="include"]
    "5" -> "18" [dir=back tooltip="include"]
    "5" -> "40" [dir=back tooltip="include"]
    "5" -> "41" [dir=back tooltip="include"]
    "5" -> "20" [dir=back tooltip="include"]
    "5" -> "21" [dir=back tooltip="include"]
    "5" -> "42" [dir=back tooltip="include"]
    "5" -> "32" [dir=back tooltip="include"]
    "5" -> "29" [dir=back tooltip="include"]
    "41" -> "25" [dir=back tooltip="include"]
    "41" -> "9" [dir=back tooltip="include"]
    "41" -> "26" [dir=back tooltip="include"]
    "41" -> "17" [dir=back tooltip="include"]
    "41" -> "18" [dir=back tooltip="include"]
    "41" -> "40" [dir=back tooltip="include"]
    "59" -> "7" [dir=back tooltip="include"]
    "32" -> "10" [dir=back tooltip="include"]
    "32" -> "33" [dir=back tooltip="include"]
    "52" -> "16" [dir=back tooltip="include"]
    "52" -> "13" [dir=back tooltip="include"]
    "52" -> "18" [dir=back tooltip="include"]
    "52" -> "20" [dir=back tooltip="include"]
    "52" -> "21" [dir=back tooltip="include"]
    "52" -> "53" [dir=back tooltip="include"]
    "51" -> "4" [dir=back tooltip="include"]
    "51" -> "5" [dir=back tooltip="include"]
    "51" -> "43" [dir=back tooltip="include"]
    "51" -> "9" [dir=back tooltip="include"]
    "51" -> "10" [dir=back tooltip="include"]
    "51" -> "17" [dir=back tooltip="include"]
    "51" -> "40" [dir=back tooltip="include"]
    "30" -> "6" [dir=back tooltip="include"]
    "30" -> "8" [dir=back tooltip="include"]
    "30" -> "9" [dir=back tooltip="include"]
    "30" -> "10" [dir=back tooltip="include"]
    "30" -> "31" [dir=back tooltip="include"]
    "30" -> "32" [dir=back tooltip="include"]
    "30" -> "34" [dir=back tooltip="include"]
    "45" -> "46" [dir=back tooltip="include"]
    "45" -> "16" [dir=back tooltip="include"]
    "45" -> "9" [dir=back tooltip="include"]
    "53" -> "54" [dir=back tooltip="include"]
    "53" -> "4" [dir=back tooltip="include"]
    "53" -> "5" [dir=back tooltip="include"]
    "53" -> "49" [dir=back tooltip="include"]
    "53" -> "56" [dir=back tooltip="include"]
    "53" -> "57" [dir=back tooltip="include"]
    "53" -> "58" [dir=back tooltip="include"]
    "53" -> "44" [dir=back tooltip="include"]
    "53" -> "25" [dir=back tooltip="include"]
    "53" -> "27" [dir=back tooltip="include"]
    "53" -> "23" [dir=back tooltip="include"]
    "53" -> "13" [dir=back tooltip="include"]
    "53" -> "8" [dir=back tooltip="include"]
    "53" -> "30" [dir=back tooltip="include"]
    "53" -> "9" [dir=back tooltip="include"]
    "53" -> "28" [dir=back tooltip="include"]
    "53" -> "26" [dir=back tooltip="include"]
    "53" -> "17" [dir=back tooltip="include"]
    "53" -> "18" [dir=back tooltip="include"]
    "53" -> "59" [dir=back tooltip="include"]
    "53" -> "41" [dir=back tooltip="include"]
    "53" -> "50" [dir=back tooltip="include"]
    "53" -> "32" [dir=back tooltip="include"]
    "53" -> "29" [dir=back tooltip="include"]
    "23" -> "24" [dir=back tooltip="include"]
    "23" -> "27" [dir=back tooltip="include"]
    "23" -> "9" [dir=back tooltip="include"]
    "23" -> "28" [dir=back tooltip="include"]
    "23" -> "26" [dir=back tooltip="include"]
    "23" -> "17" [dir=back tooltip="include"]
    "23" -> "18" [dir=back tooltip="include"]
    "23" -> "19" [dir=back tooltip="include"]
    "23" -> "29" [dir=back tooltip="include"]
    "39" -> "18" [dir=back tooltip="include"]
    "36" -> "28" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "44" [dir=back tooltip="include"]
    "1" -> "51" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
    "1" -> "52" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "60" [dir=back tooltip="include"]
    "1" -> "61" [dir=back tooltip="include"]
    "37" -> "26" [dir=back tooltip="include"]
    "15" -> "4" [dir=back tooltip="include"]
    "15" -> "16" [dir=back tooltip="include"]
    "15" -> "13" [dir=back tooltip="include"]
    "15" -> "17" [dir=back tooltip="include"]
    "15" -> "18" [dir=back tooltip="include"]
    "15" -> "19" [dir=back tooltip="include"]
    "15" -> "20" [dir=back tooltip="include"]
    "15" -> "21" [dir=back tooltip="include"]
    "34" -> "4" [dir=back tooltip="include"]
    "34" -> "16" [dir=back tooltip="include"]
    "34" -> "8" [dir=back tooltip="include"]
    "34" -> "9" [dir=back tooltip="include"]
    "34" -> "17" [dir=back tooltip="include"]
    "34" -> "21" [dir=back tooltip="include"]
    "34" -> "14" [dir=back tooltip="include"]
    "35" -> "8" [dir=back tooltip="include"]
    "35" -> "9" [dir=back tooltip="include"]
    "35" -> "10" [dir=back tooltip="include"]
    "35" -> "28" [dir=back tooltip="include"]
    "35" -> "36" [dir=back tooltip="include"]
    "35" -> "26" [dir=back tooltip="include"]
    "35" -> "37" [dir=back tooltip="include"]
    "35" -> "17" [dir=back tooltip="include"]
    "35" -> "38" [dir=back tooltip="include"]
    "35" -> "18" [dir=back tooltip="include"]
    "35" -> "39" [dir=back tooltip="include"]
    "35" -> "19" [dir=back tooltip="include"]
    "10" -> "4" [dir=back tooltip="include"]
    "10" -> "8" [dir=back tooltip="include"]
    "11" -> "12" [dir=back tooltip="include"]
    "11" -> "13" [dir=back tooltip="include"]
    "11" -> "10" [dir=back tooltip="include"]
    "11" -> "14" [dir=back tooltip="include"]
    "44" -> "45" [dir=back tooltip="include"]
    "44" -> "4" [dir=back tooltip="include"]
    "44" -> "5" [dir=back tooltip="include"]
    "44" -> "47" [dir=back tooltip="include"]
    "44" -> "16" [dir=back tooltip="include"]
    "44" -> "8" [dir=back tooltip="include"]
    "44" -> "30" [dir=back tooltip="include"]
    "44" -> "9" [dir=back tooltip="include"]
    "44" -> "28" [dir=back tooltip="include"]
    "44" -> "26" [dir=back tooltip="include"]
    "44" -> "37" [dir=back tooltip="include"]
    "44" -> "17" [dir=back tooltip="include"]
    "44" -> "38" [dir=back tooltip="include"]
    "44" -> "18" [dir=back tooltip="include"]
    "44" -> "39" [dir=back tooltip="include"]
    "44" -> "40" [dir=back tooltip="include"]
    "44" -> "41" [dir=back tooltip="include"]
    "44" -> "19" [dir=back tooltip="include"]
    "44" -> "50" [dir=back tooltip="include"]
    "44" -> "42" [dir=back tooltip="include"]
    "44" -> "33" [dir=back tooltip="include"]
    "44" -> "34" [dir=back tooltip="include"]
    "38" -> "17" [dir=back tooltip="include"]
    "38" -> "18" [dir=back tooltip="include"]
    "58" -> "22" [dir=back tooltip="include"]
    "58" -> "8" [dir=back tooltip="include"]
    "58" -> "9" [dir=back tooltip="include"]
}

Defines

CLANG_THREAD_SANITIZE_SAFE
ATOMIC_COMPARE_EXCHANGE_WEAK
ATOMIC
TYPEDEF_MUTEX
TYPEDEF_SPINLOCK
TYPEDEF_CONDVAR
TYPEDEF_RWLOCK
TYPEDEF_GLOBALCONTEXT

Typedefs

typedef struct Mutex Mutex
typedef struct SpinLock SpinLock
typedef struct CondVar CondVar
typedef struct RWLock RWLock
typedef struct GlobalContext GlobalContext

Functions

Mutex *smp_mutex_create()
void smp_mutex_destroy(Mutex *mtx)
void smp_mutex_lock(Mutex *mtx)
bool smp_mutex_trylock(Mutex *mtx)
void smp_mutex_unlock(Mutex *mtx)
CondVar *smp_condvar_create()
void smp_condvar_destroy(CondVar *cv)
void smp_condvar_wait(CondVar *cv, Mutex *mtx)
void smp_condvar_signal(CondVar *cv)
RWLock *smp_rwlock_create()
void smp_rwlock_destroy(RWLock *lock)
void smp_rwlock_rdlock(RWLock *lock)
void smp_rwlock_wrlock(RWLock *lock)
void smp_rwlock_unlock(RWLock *lock)
static inline void smp_spinlock_init(SpinLock *lock)
static inline void smp_spinlock_lock(SpinLock *lock)
static inline void smp_spinlock_unlock(SpinLock *lock)
int smp_get_online_processors()
void smp_scheduler_start(GlobalContext *glb)
bool smp_is_main_thread(GlobalContext *glb)
file stacktrace.c

Include dependency graph for stacktrace.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "16" [label="stdbool.h" tooltip="stdbool.h"]
    "17" [label="stdatomic.h" tooltip="stdatomic.h"]
    "6" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "18" [label="synclist.h" tooltip="synclist.h"]
    "33" [label="defaultatoms.h" tooltip="defaultatoms.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="stdlib.h" tooltip="stdlib.h"]
    "32" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "31" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "3" [label="context.h" tooltip="context.h"]
    "23" [label="utils.h" tooltip="utils.h"]
    "8" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "24" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" fillcolor="#BFBFBF"]
    "2" [label="stacktrace.h" tooltip="stacktrace.h"]
    "25" [label="refc_binary.h" tooltip="refc_binary.h"]
    "21" [label="string.h" tooltip="string.h"]
    "28" [label="mailbox.h" tooltip="mailbox.h"]
    "29" [label="module.h" tooltip="module.h"]
    "20" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "26" [label="resources.h" tooltip="resources.h"]
    "15" [label="smp.h" tooltip="smp.h"]
    "30" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "4" [label="globalcontext.h" tooltip="globalcontext.h"]
    "22" [label="memory.h" tooltip="memory.h"]
    "19" [label="stdio.h" tooltip="stdio.h"]
    "27" [label="timer_list.h" tooltip="timer_list.h"]
    "14" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "6" -> "5" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "15" [dir=forward tooltip="include"]
    "33" -> "4" [dir=forward tooltip="include"]
    "31" -> "20" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "28" [dir=forward tooltip="include"]
    "3" -> "15" [dir=forward tooltip="include"]
    "3" -> "20" [dir=forward tooltip="include"]
    "3" -> "27" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "5" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "33" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "29" [dir=forward tooltip="include"]
    "2" -> "20" [dir=forward tooltip="include"]
    "25" -> "16" [dir=forward tooltip="include"]
    "25" -> "7" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "26" [dir=forward tooltip="include"]
    "25" -> "15" [dir=forward tooltip="include"]
    "28" -> "16" [dir=forward tooltip="include"]
    "28" -> "14" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "10" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "29" -> "16" [dir=forward tooltip="include"]
    "29" -> "5" [dir=forward tooltip="include"]
    "29" -> "6" [dir=forward tooltip="include"]
    "29" -> "8" [dir=forward tooltip="include"]
    "29" -> "30" [dir=forward tooltip="include"]
    "29" -> "3" [dir=forward tooltip="include"]
    "29" -> "31" [dir=forward tooltip="include"]
    "29" -> "4" [dir=forward tooltip="include"]
    "29" -> "20" [dir=forward tooltip="include"]
    "29" -> "32" [dir=forward tooltip="include"]
    "20" -> "16" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "20" -> "19" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "22" [dir=forward tooltip="include"]
    "20" -> "25" [dir=forward tooltip="include"]
    "20" -> "23" [dir=forward tooltip="include"]
    "20" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "26" -> "7" [dir=forward tooltip="include"]
    "26" -> "9" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "22" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "30" -> "6" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
    "4" -> "8" [dir=forward tooltip="include"]
    "4" -> "9" [dir=forward tooltip="include"]
    "4" -> "14" [dir=forward tooltip="include"]
    "4" -> "15" [dir=forward tooltip="include"]
    "4" -> "18" [dir=forward tooltip="include"]
    "4" -> "20" [dir=forward tooltip="include"]
    "4" -> "27" [dir=forward tooltip="include"]
    "22" -> "9" [dir=forward tooltip="include"]
    "22" -> "10" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "22" -> "5" [dir=forward tooltip="include"]
    "22" -> "7" [dir=forward tooltip="include"]
    "27" -> "16" [dir=forward tooltip="include"]
    "27" -> "5" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
}

Functions

term stacktrace_create_raw(Context *ctx, Module *mod, int current_offset, term exception_class)
term stacktrace_build(Context *ctx, term *stack_info, uint32_t live)
term stacktrace_exception_class(term stack_info)
file stacktrace.h

Include dependency graph for stacktrace.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "15" [label="stdbool.h" tooltip="stdbool.h"]
    "16" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="atom.h" tooltip="atom.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "17" [label="synclist.h" tooltip="synclist.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "31" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "30" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "2" [label="context.h" tooltip="context.h"]
    "22" [label="utils.h" tooltip="utils.h"]
    "7" [label="atom_table.h" tooltip="atom_table.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "23" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" fillcolor="#BFBFBF"]
    "24" [label="refc_binary.h" tooltip="refc_binary.h"]
    "20" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "28" [label="module.h" tooltip="module.h"]
    "19" [label="term.h" tooltip="term.h"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "25" [label="resources.h" tooltip="resources.h"]
    "14" [label="smp.h" tooltip="smp.h"]
    "29" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "3" [label="globalcontext.h" tooltip="globalcontext.h"]
    "21" [label="memory.h" tooltip="memory.h"]
    "18" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "13" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "5" -> "4" [dir=forward tooltip="include"]
    "5" -> "6" [dir=forward tooltip="include"]
    "17" -> "13" [dir=forward tooltip="include"]
    "17" -> "18" [dir=forward tooltip="include"]
    "17" -> "14" [dir=forward tooltip="include"]
    "30" -> "19" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "27" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "19" [dir=forward tooltip="include"]
    "2" -> "26" [dir=forward tooltip="include"]
    "22" -> "23" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "4" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "19" [dir=forward tooltip="include"]
    "24" -> "15" [dir=forward tooltip="include"]
    "24" -> "6" [dir=forward tooltip="include"]
    "24" -> "13" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "14" [dir=forward tooltip="include"]
    "27" -> "15" [dir=forward tooltip="include"]
    "27" -> "13" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "27" -> "9" [dir=forward tooltip="include"]
    "27" -> "22" [dir=forward tooltip="include"]
    "28" -> "15" [dir=forward tooltip="include"]
    "28" -> "4" [dir=forward tooltip="include"]
    "28" -> "5" [dir=forward tooltip="include"]
    "28" -> "7" [dir=forward tooltip="include"]
    "28" -> "29" [dir=forward tooltip="include"]
    "28" -> "2" [dir=forward tooltip="include"]
    "28" -> "30" [dir=forward tooltip="include"]
    "28" -> "3" [dir=forward tooltip="include"]
    "28" -> "19" [dir=forward tooltip="include"]
    "28" -> "31" [dir=forward tooltip="include"]
    "19" -> "15" [dir=forward tooltip="include"]
    "19" -> "4" [dir=forward tooltip="include"]
    "19" -> "18" [dir=forward tooltip="include"]
    "19" -> "6" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "19" -> "21" [dir=forward tooltip="include"]
    "19" -> "24" [dir=forward tooltip="include"]
    "19" -> "22" [dir=forward tooltip="include"]
    "19" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "25" -> "6" [dir=forward tooltip="include"]
    "25" -> "8" [dir=forward tooltip="include"]
    "25" -> "13" [dir=forward tooltip="include"]
    "25" -> "21" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "14" -> "16" [dir=forward tooltip="include"]
    "29" -> "5" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "3" -> "5" [dir=forward tooltip="include"]
    "3" -> "7" [dir=forward tooltip="include"]
    "3" -> "8" [dir=forward tooltip="include"]
    "3" -> "13" [dir=forward tooltip="include"]
    "3" -> "14" [dir=forward tooltip="include"]
    "3" -> "17" [dir=forward tooltip="include"]
    "3" -> "19" [dir=forward tooltip="include"]
    "3" -> "26" [dir=forward tooltip="include"]
    "21" -> "8" [dir=forward tooltip="include"]
    "21" -> "9" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "26" -> "15" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "13" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include stacktrace.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" fillcolor="#BFBFBF"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
}

Functions

term stacktrace_create_raw(Context *ctx, Module *mod, int current_offset, term exception_class)
term stacktrace_build(Context *ctx, term *stack_info, uint32_t live)
term stacktrace_exception_class(term stack_info)
file synclist.h

Include dependency graph for synclist.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "5" [label="stdbool.h" tooltip="stdbool.h"]
    "6" [label="stdatomic.h" tooltip="stdatomic.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/synclist.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/synclist.h" fillcolor="#BFBFBF"]
    "4" [label="smp.h" tooltip="smp.h"]
    "3" [label="stdio.h" tooltip="stdio.h"]
    "2" [label="list.h" tooltip="list.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "4" -> "6" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include synclist.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/synclist.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/synclist.h" fillcolor="#BFBFBF"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "11" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
    "9" -> "12" [dir=back tooltip="include"]
    "32" -> "7" [dir=back tooltip="include"]
    "48" -> "3" [dir=back tooltip="include"]
    "48" -> "7" [dir=back tooltip="include"]
    "48" -> "18" [dir=back tooltip="include"]
    "48" -> "20" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "44" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "45" -> "10" [dir=back tooltip="include"]
    "45" -> "46" [dir=back tooltip="include"]
    "45" -> "47" [dir=back tooltip="include"]
    "45" -> "3" [dir=back tooltip="include"]
    "45" -> "28" [dir=back tooltip="include"]
    "45" -> "7" [dir=back tooltip="include"]
    "45" -> "12" [dir=back tooltip="include"]
    "45" -> "29" [dir=back tooltip="include"]
    "45" -> "27" [dir=back tooltip="include"]
    "45" -> "18" [dir=back tooltip="include"]
    "45" -> "19" [dir=back tooltip="include"]
    "45" -> "41" [dir=back tooltip="include"]
    "45" -> "42" [dir=back tooltip="include"]
    "45" -> "20" [dir=back tooltip="include"]
    "45" -> "22" [dir=back tooltip="include"]
    "45" -> "34" [dir=back tooltip="include"]
    "25" -> "26" [dir=back tooltip="include"]
    "25" -> "27" [dir=back tooltip="include"]
    "25" -> "18" [dir=back tooltip="include"]
    "25" -> "19" [dir=back tooltip="include"]
    "43" -> "44" [dir=back tooltip="include"]
    "43" -> "7" [dir=back tooltip="include"]
    "43" -> "12" [dir=back tooltip="include"]
    "43" -> "18" [dir=back tooltip="include"]
    "43" -> "16" [dir=back tooltip="include"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "2" [dir=back tooltip="include"]
    "8" -> "13" [dir=back tooltip="include"]
    "8" -> "17" [dir=back tooltip="include"]
    "8" -> "23" [dir=back tooltip="include"]
    "8" -> "3" [dir=back tooltip="include"]
    "8" -> "24" [dir=back tooltip="include"]
    "8" -> "15" [dir=back tooltip="include"]
    "8" -> "11" [dir=back tooltip="include"]
    "8" -> "31" [dir=back tooltip="include"]
    "8" -> "7" [dir=back tooltip="include"]
    "8" -> "36" [dir=back tooltip="include"]
    "8" -> "29" [dir=back tooltip="include"]
    "8" -> "27" [dir=back tooltip="include"]
    "8" -> "18" [dir=back tooltip="include"]
    "8" -> "19" [dir=back tooltip="include"]
    "8" -> "41" [dir=back tooltip="include"]
    "8" -> "42" [dir=back tooltip="include"]
    "8" -> "21" [dir=back tooltip="include"]
    "8" -> "22" [dir=back tooltip="include"]
    "8" -> "43" [dir=back tooltip="include"]
    "8" -> "33" [dir=back tooltip="include"]
    "8" -> "30" [dir=back tooltip="include"]
    "42" -> "26" [dir=back tooltip="include"]
    "42" -> "7" [dir=back tooltip="include"]
    "42" -> "27" [dir=back tooltip="include"]
    "42" -> "18" [dir=back tooltip="include"]
    "42" -> "19" [dir=back tooltip="include"]
    "42" -> "41" [dir=back tooltip="include"]
    "33" -> "12" [dir=back tooltip="include"]
    "33" -> "34" [dir=back tooltip="include"]
    "31" -> "9" [dir=back tooltip="include"]
    "31" -> "11" [dir=back tooltip="include"]
    "31" -> "7" [dir=back tooltip="include"]
    "31" -> "12" [dir=back tooltip="include"]
    "31" -> "32" [dir=back tooltip="include"]
    "31" -> "33" [dir=back tooltip="include"]
    "31" -> "35" [dir=back tooltip="include"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "3" [dir=back tooltip="include"]
    "5" -> "7" [dir=back tooltip="include"]
    "24" -> "25" [dir=back tooltip="include"]
    "24" -> "28" [dir=back tooltip="include"]
    "24" -> "7" [dir=back tooltip="include"]
    "24" -> "29" [dir=back tooltip="include"]
    "24" -> "27" [dir=back tooltip="include"]
    "24" -> "18" [dir=back tooltip="include"]
    "24" -> "19" [dir=back tooltip="include"]
    "24" -> "20" [dir=back tooltip="include"]
    "24" -> "30" [dir=back tooltip="include"]
    "40" -> "19" [dir=back tooltip="include"]
    "37" -> "29" [dir=back tooltip="include"]
    "38" -> "27" [dir=back tooltip="include"]
    "17" -> "2" [dir=back tooltip="include"]
    "17" -> "3" [dir=back tooltip="include"]
    "17" -> "15" [dir=back tooltip="include"]
    "17" -> "18" [dir=back tooltip="include"]
    "17" -> "19" [dir=back tooltip="include"]
    "17" -> "20" [dir=back tooltip="include"]
    "17" -> "21" [dir=back tooltip="include"]
    "17" -> "22" [dir=back tooltip="include"]
    "35" -> "2" [dir=back tooltip="include"]
    "35" -> "3" [dir=back tooltip="include"]
    "35" -> "11" [dir=back tooltip="include"]
    "35" -> "7" [dir=back tooltip="include"]
    "35" -> "18" [dir=back tooltip="include"]
    "35" -> "22" [dir=back tooltip="include"]
    "35" -> "16" [dir=back tooltip="include"]
    "36" -> "11" [dir=back tooltip="include"]
    "36" -> "7" [dir=back tooltip="include"]
    "36" -> "12" [dir=back tooltip="include"]
    "36" -> "29" [dir=back tooltip="include"]
    "36" -> "37" [dir=back tooltip="include"]
    "36" -> "27" [dir=back tooltip="include"]
    "36" -> "38" [dir=back tooltip="include"]
    "36" -> "18" [dir=back tooltip="include"]
    "36" -> "39" [dir=back tooltip="include"]
    "36" -> "19" [dir=back tooltip="include"]
    "36" -> "40" [dir=back tooltip="include"]
    "36" -> "20" [dir=back tooltip="include"]
    "12" -> "2" [dir=back tooltip="include"]
    "12" -> "11" [dir=back tooltip="include"]
    "13" -> "14" [dir=back tooltip="include"]
    "13" -> "15" [dir=back tooltip="include"]
    "13" -> "12" [dir=back tooltip="include"]
    "13" -> "16" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "2" [dir=back tooltip="include"]
    "4" -> "8" [dir=back tooltip="include"]
    "4" -> "45" [dir=back tooltip="include"]
    "4" -> "3" [dir=back tooltip="include"]
    "4" -> "11" [dir=back tooltip="include"]
    "4" -> "31" [dir=back tooltip="include"]
    "4" -> "7" [dir=back tooltip="include"]
    "4" -> "29" [dir=back tooltip="include"]
    "4" -> "27" [dir=back tooltip="include"]
    "4" -> "38" [dir=back tooltip="include"]
    "4" -> "18" [dir=back tooltip="include"]
    "4" -> "39" [dir=back tooltip="include"]
    "4" -> "19" [dir=back tooltip="include"]
    "4" -> "40" [dir=back tooltip="include"]
    "4" -> "41" [dir=back tooltip="include"]
    "4" -> "42" [dir=back tooltip="include"]
    "4" -> "20" [dir=back tooltip="include"]
    "4" -> "48" [dir=back tooltip="include"]
    "4" -> "43" [dir=back tooltip="include"]
    "4" -> "34" [dir=back tooltip="include"]
    "4" -> "35" [dir=back tooltip="include"]
    "39" -> "18" [dir=back tooltip="include"]
    "39" -> "19" [dir=back tooltip="include"]
}

Functions

static inline void synclist_init(struct SyncList *synclist)
static inline void synclist_destroy(struct SyncList *synclist)
static inline struct ListHead *synclist_rdlock(struct SyncList *synclist)
static inline struct ListHead *synclist_wrlock(struct SyncList *synclist)
static inline struct ListHead *synclist_nolock(struct SyncList *synclist)
static inline void synclist_unlock(struct SyncList *synclist)
static inline void synclist_prepend(struct SyncList *synclist, struct ListHead *new_item)
static inline void synclist_append(struct SyncList *synclist, struct ListHead *new_item)
static inline void synclist_remove(struct SyncList *synclist, struct ListHead *item)
static inline int synclist_is_empty(struct SyncList *synclist)
file sys.h

Include dependency graph for sys.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "14" [label="stdbool.h" tooltip="stdbool.h"]
    "15" [label="stdatomic.h" tooltip="stdatomic.h"]
    "4" [label="atom.h" tooltip="atom.h"]
    "9" [label="assert.h" tooltip="assert.h"]
    "16" [label="synclist.h" tooltip="synclist.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "31" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "30" [label="exportedfunction.h" tooltip="exportedfunction.h"]
    "28" [label="context.h" tooltip="context.h"]
    "21" [label="utils.h" tooltip="utils.h"]
    "6" [label="atom_table.h" tooltip="atom_table.h"]
    "8" [label="term_typedef.h" tooltip="term_typedef.h"]
    "22" [label="stddef.h" tooltip="stddef.h"]
    "10" [label="limits.h" tooltip="limits.h"]
    "23" [label="refc_binary.h" tooltip="refc_binary.h"]
    "19" [label="string.h" tooltip="string.h"]
    "29" [label="mailbox.h" tooltip="mailbox.h"]
    "26" [label="module.h" tooltip="module.h"]
    "18" [label="term.h" tooltip="term.h"]
    "7" [label="erl_nif.h" tooltip="erl_nif.h"]
    "32" [label="time.h" tooltip="time.h"]
    "24" [label="resources.h" tooltip="resources.h"]
    "13" [label="smp.h" tooltip="smp.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" fillcolor="#BFBFBF"]
    "27" [label="atomshashtable.h" tooltip="atomshashtable.h"]
    "2" [label="globalcontext.h" tooltip="globalcontext.h"]
    "20" [label="memory.h" tooltip="memory.h"]
    "17" [label="stdio.h" tooltip="stdio.h"]
    "25" [label="timer_list.h" tooltip="timer_list.h"]
    "12" [label="list.h" tooltip="list.h"]
    "11" [label="inttypes.h" tooltip="inttypes.h"]
    "4" -> "3" [dir=forward tooltip="include"]
    "4" -> "5" [dir=forward tooltip="include"]
    "16" -> "12" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "13" [dir=forward tooltip="include"]
    "30" -> "18" [dir=forward tooltip="include"]
    "28" -> "2" [dir=forward tooltip="include"]
    "28" -> "12" [dir=forward tooltip="include"]
    "28" -> "29" [dir=forward tooltip="include"]
    "28" -> "13" [dir=forward tooltip="include"]
    "28" -> "18" [dir=forward tooltip="include"]
    "28" -> "25" [dir=forward tooltip="include"]
    "21" -> "22" [dir=forward tooltip="include"]
    "6" -> "4" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "11" [dir=forward tooltip="include"]
    "8" -> "3" [dir=forward tooltip="include"]
    "23" -> "14" [dir=forward tooltip="include"]
    "23" -> "5" [dir=forward tooltip="include"]
    "23" -> "12" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "13" [dir=forward tooltip="include"]
    "29" -> "14" [dir=forward tooltip="include"]
    "29" -> "12" [dir=forward tooltip="include"]
    "29" -> "13" [dir=forward tooltip="include"]
    "29" -> "8" [dir=forward tooltip="include"]
    "29" -> "21" [dir=forward tooltip="include"]
    "26" -> "14" [dir=forward tooltip="include"]
    "26" -> "3" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "6" [dir=forward tooltip="include"]
    "26" -> "27" [dir=forward tooltip="include"]
    "26" -> "28" [dir=forward tooltip="include"]
    "26" -> "30" [dir=forward tooltip="include"]
    "26" -> "2" [dir=forward tooltip="include"]
    "26" -> "18" [dir=forward tooltip="include"]
    "26" -> "31" [dir=forward tooltip="include"]
    "18" -> "14" [dir=forward tooltip="include"]
    "18" -> "3" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "5" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "18" -> "20" [dir=forward tooltip="include"]
    "18" -> "23" [dir=forward tooltip="include"]
    "18" -> "21" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "24" -> "5" [dir=forward tooltip="include"]
    "24" -> "7" [dir=forward tooltip="include"]
    "24" -> "12" [dir=forward tooltip="include"]
    "24" -> "20" [dir=forward tooltip="include"]
    "13" -> "14" [dir=forward tooltip="include"]
    "13" -> "15" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "26" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "32" [dir=forward tooltip="include"]
    "27" -> "4" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "12" [dir=forward tooltip="include"]
    "2" -> "13" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "18" [dir=forward tooltip="include"]
    "2" -> "25" [dir=forward tooltip="include"]
    "20" -> "7" [dir=forward tooltip="include"]
    "20" -> "8" [dir=forward tooltip="include"]
    "20" -> "21" [dir=forward tooltip="include"]
    "20" -> "3" [dir=forward tooltip="include"]
    "20" -> "5" [dir=forward tooltip="include"]
    "25" -> "14" [dir=forward tooltip="include"]
    "25" -> "3" [dir=forward tooltip="include"]
    "25" -> "12" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include sys.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" fillcolor="#BFBFBF"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
}

Typedefs

typedef struct EventListener EventListener
typedef EventListener *(*event_handler_t)(GlobalContext *glb, EventListener *listener)

Enums

enum [anonymous]

Values:

enumerator SYS_POLL_EVENTS_DO_NOT_WAIT
enumerator SYS_POLL_EVENTS_WAIT_FOREVER
enum OpenAVMResult

Values:

enumerator AVM_OPEN_OK
enumerator AVM_OPEN_FAILED_ALLOC
enumerator AVM_OPEN_INVALID
enumerator AVM_OPEN_CANNOT_OPEN
enumerator AVM_OPEN_CANNOT_READ
enumerator AVM_OPEN_NOT_SUPPORTED

Functions

void sys_poll_events(GlobalContext *glb, int timeout_ms)
void sys_register_select_event(GlobalContext *glb, ErlNifEvent event, bool is_write)
void sys_unregister_select_event(GlobalContext *glb, ErlNifEvent event, bool is_write)
void sys_register_listener(GlobalContext *global, EventListener *listener)
void sys_unregister_listener(GlobalContext *global, EventListener *listener)
void sys_listener_destroy(struct ListHead *item)
void sys_signal(GlobalContext *glb)
enum OpenAVMResult sys_open_avm_from_file(GlobalContext *global, const char *path, struct AVMPackData **data)
void sys_time(struct timespec *t)
void sys_monotonic_time(struct timespec *t)
uint64_t sys_monotonic_time_u64()
uint64_t sys_monotonic_time_ms_to_u64(uint64_t ms)
uint64_t sys_monotonic_time_u64_to_ms(uint64_t t)
Module *sys_load_module(GlobalContext *global, const char *module_name)
Module *sys_load_module_from_file(GlobalContext *global, const char *path)
Context *sys_create_port(GlobalContext *glb, const char *driver_name, term opts)
term sys_get_info(Context *ctx, term key)
void sys_init_platform(GlobalContext *global)
void sys_free_platform(GlobalContext *global)
file sys_mbedtls.h

Include dependency graph for sys_mbedtls.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="mbedtls/ctr_drbg.h" tooltip="mbedtls/ctr_drbg.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys_mbedtls.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys_mbedtls.h" fillcolor="#BFBFBF"]
    "3" [label="mbedtls/entropy.h" tooltip="mbedtls/entropy.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include sys_mbedtls.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys_mbedtls.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys_mbedtls.h" fillcolor="#BFBFBF"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "1" -> "2" [dir=back tooltip="include"]
}

Functions

mbedtls_entropy_context *sys_mbedtls_get_entropy_context_lock(GlobalContext *global)
void sys_mbedtls_entropy_context_unlock(GlobalContext *global)
int sys_mbedtls_entropy_func(void *entropy, unsigned char *buf, size_t size)
mbedtls_ctr_drbg_context *sys_mbedtls_get_ctr_drbg_context_lock(GlobalContext *global)
void sys_mbedtls_ctr_drbg_context_unlock(GlobalContext *global)
file tempstack.h

Include dependency graph for tempstack.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="assert.h" tooltip="assert.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/tempstack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/tempstack.h" fillcolor="#BFBFBF"]
    "6" [label="stdint.h" tooltip="stdint.h"]
    "7" [label="utils.h" tooltip="utils.h"]
    "2" [label="term_typedef.h" tooltip="term_typedef.h"]
    "8" [label="stddef.h" tooltip="stddef.h"]
    "4" [label="limits.h" tooltip="limits.h"]
    "5" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include tempstack.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/tempstack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/tempstack.h" fillcolor="#BFBFBF"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
}

Defines

MIN_STACK_SIZE

Enums

enum TempStackResult

Values:

enumerator TempStackOk
enumerator TempStackFailedAlloc

Functions

static inline NO_DISCARD TempStackResult temp_stack_init (struct TempStack *temp_stack)
static inline void temp_stack_destroy(struct TempStack *temp_stack)
static NO_DISCARD TempStackResult temp_stack_grow (struct TempStack *temp_stack)
static inline int temp_stack_is_empty(const struct TempStack *temp_stack)
static inline NO_DISCARD TempStackResult temp_stack_push (struct TempStack *temp_stack, term value)
static inline term temp_stack_pop(struct TempStack *temp_stack)
file term.c

Include dependency graph for term.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "31" [label="stdarg.h" tooltip="stdarg.h"]
    "20" [label="stdatomic.h" tooltip="stdatomic.h"]
    "21" [label="atom.h" tooltip="atom.h"]
    "11" [label="assert.h" tooltip="assert.h"]
    "25" [label="synclist.h" tooltip="synclist.h"]
    "29" [label="tempstack.h" tooltip="tempstack.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "6" [label="stdlib.h" tooltip="stdlib.h"]
    "23" [label="context.h" tooltip="context.h"]
    "14" [label="utils.h" tooltip="utils.h"]
    "22" [label="atom_table.h" tooltip="atom_table.h"]
    "10" [label="term_typedef.h" tooltip="term_typedef.h"]
    "15" [label="stddef.h" tooltip="stddef.h"]
    "12" [label="limits.h" tooltip="limits.h"]
    "16" [label="refc_binary.h" tooltip="refc_binary.h"]
    "7" [label="string.h" tooltip="string.h"]
    "27" [label="mailbox.h" tooltip="mailbox.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" fillcolor="#BFBFBF"]
    "2" [label="term.h" tooltip="term.h"]
    "9" [label="erl_nif.h" tooltip="erl_nif.h"]
    "28" [label="interop.h" tooltip="interop.h"]
    "18" [label="resources.h" tooltip="resources.h"]
    "19" [label="smp.h" tooltip="smp.h"]
    "30" [label="ctype.h" tooltip="ctype.h"]
    "24" [label="globalcontext.h" tooltip="globalcontext.h"]
    "8" [label="memory.h" tooltip="memory.h"]
    "5" [label="stdio.h" tooltip="stdio.h"]
    "26" [label="timer_list.h" tooltip="timer_list.h"]
    "17" [label="list.h" tooltip="list.h"]
    "13" [label="inttypes.h" tooltip="inttypes.h"]
    "21" -> "4" [dir=forward tooltip="include"]
    "21" -> "6" [dir=forward tooltip="include"]
    "25" -> "17" [dir=forward tooltip="include"]
    "25" -> "5" [dir=forward tooltip="include"]
    "25" -> "19" [dir=forward tooltip="include"]
    "29" -> "10" [dir=forward tooltip="include"]
    "29" -> "14" [dir=forward tooltip="include"]
    "23" -> "24" [dir=forward tooltip="include"]
    "23" -> "17" [dir=forward tooltip="include"]
    "23" -> "27" [dir=forward tooltip="include"]
    "23" -> "19" [dir=forward tooltip="include"]
    "23" -> "2" [dir=forward tooltip="include"]
    "23" -> "26" [dir=forward tooltip="include"]
    "14" -> "15" [dir=forward tooltip="include"]
    "22" -> "21" [dir=forward tooltip="include"]
    "10" -> "11" [dir=forward tooltip="include"]
    "10" -> "12" [dir=forward tooltip="include"]
    "10" -> "13" [dir=forward tooltip="include"]
    "10" -> "4" [dir=forward tooltip="include"]
    "16" -> "3" [dir=forward tooltip="include"]
    "16" -> "6" [dir=forward tooltip="include"]
    "16" -> "17" [dir=forward tooltip="include"]
    "16" -> "18" [dir=forward tooltip="include"]
    "16" -> "19" [dir=forward tooltip="include"]
    "27" -> "3" [dir=forward tooltip="include"]
    "27" -> "17" [dir=forward tooltip="include"]
    "27" -> "19" [dir=forward tooltip="include"]
    "27" -> "10" [dir=forward tooltip="include"]
    "27" -> "14" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "21" [dir=forward tooltip="include"]
    "1" -> "22" [dir=forward tooltip="include"]
    "1" -> "23" [dir=forward tooltip="include"]
    "1" -> "28" [dir=forward tooltip="include"]
    "1" -> "29" [dir=forward tooltip="include"]
    "1" -> "30" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "31" [dir=forward tooltip="include"]
    "1" -> "15" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
    "2" -> "6" [dir=forward tooltip="include"]
    "2" -> "7" [dir=forward tooltip="include"]
    "2" -> "8" [dir=forward tooltip="include"]
    "2" -> "16" [dir=forward tooltip="include"]
    "2" -> "14" [dir=forward tooltip="include"]
    "2" -> "10" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "28" -> "23" [dir=forward tooltip="include"]
    "28" -> "2" [dir=forward tooltip="include"]
    "18" -> "6" [dir=forward tooltip="include"]
    "18" -> "9" [dir=forward tooltip="include"]
    "18" -> "17" [dir=forward tooltip="include"]
    "18" -> "8" [dir=forward tooltip="include"]
    "19" -> "3" [dir=forward tooltip="include"]
    "19" -> "20" [dir=forward tooltip="include"]
    "24" -> "4" [dir=forward tooltip="include"]
    "24" -> "21" [dir=forward tooltip="include"]
    "24" -> "22" [dir=forward tooltip="include"]
    "24" -> "9" [dir=forward tooltip="include"]
    "24" -> "17" [dir=forward tooltip="include"]
    "24" -> "19" [dir=forward tooltip="include"]
    "24" -> "25" [dir=forward tooltip="include"]
    "24" -> "2" [dir=forward tooltip="include"]
    "24" -> "26" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "8" -> "10" [dir=forward tooltip="include"]
    "8" -> "14" [dir=forward tooltip="include"]
    "8" -> "4" [dir=forward tooltip="include"]
    "8" -> "6" [dir=forward tooltip="include"]
    "26" -> "3" [dir=forward tooltip="include"]
    "26" -> "4" [dir=forward tooltip="include"]
    "26" -> "17" [dir=forward tooltip="include"]
}

Defines

BEGIN_MAP_KEY
END_MAP_KEY
CMP_POP_AND_CONTINUE()

Functions

int fprintf_printer(PrinterFun *fun, const char *fmt, ...)
int snprintf_printer(PrinterFun *fun, const char *fmt, ...)
void term_display(FILE *fd, term t, const Context *ctx)
int term_fprint(FILE *stream, term t, const GlobalContext *global)
int term_snprint(char *buf, size_t size, term t, const GlobalContext *global)
int term_funprint(PrinterFun *fun, term t, const GlobalContext *global)
static int term_type_to_index(term t)
TermCompareResult term_compare(term t, term other, TermCompareOpts opts, GlobalContext *global)
term term_alloc_refc_binary(size_t size, bool is_const, Heap *heap, GlobalContext *glb)
static term find_binary(term binary_or_state)
term term_alloc_sub_binary(term binary_or_state, size_t offset, size_t len, Heap *heap)
term term_get_map_assoc(term map, term key, GlobalContext *glb)

Variables

const term empty_tuple = 0
file term.h

Include dependency graph for term.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="stdbool.h" tooltip="stdbool.h"]
    "19" [label="stdatomic.h" tooltip="stdatomic.h"]
    "10" [label="assert.h" tooltip="assert.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "13" [label="utils.h" tooltip="utils.h"]
    "9" [label="term_typedef.h" tooltip="term_typedef.h"]
    "14" [label="stddef.h" tooltip="stddef.h"]
    "11" [label="limits.h" tooltip="limits.h"]
    "15" [label="refc_binary.h" tooltip="refc_binary.h"]
    "6" [label="string.h" tooltip="string.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" fillcolor="#BFBFBF"]
    "8" [label="erl_nif.h" tooltip="erl_nif.h"]
    "17" [label="resources.h" tooltip="resources.h"]
    "18" [label="smp.h" tooltip="smp.h"]
    "7" [label="memory.h" tooltip="memory.h"]
    "4" [label="stdio.h" tooltip="stdio.h"]
    "16" [label="list.h" tooltip="list.h"]
    "12" [label="inttypes.h" tooltip="inttypes.h"]
    "13" -> "14" [dir=forward tooltip="include"]
    "9" -> "10" [dir=forward tooltip="include"]
    "9" -> "11" [dir=forward tooltip="include"]
    "9" -> "12" [dir=forward tooltip="include"]
    "9" -> "3" [dir=forward tooltip="include"]
    "15" -> "2" [dir=forward tooltip="include"]
    "15" -> "5" [dir=forward tooltip="include"]
    "15" -> "16" [dir=forward tooltip="include"]
    "15" -> "17" [dir=forward tooltip="include"]
    "15" -> "18" [dir=forward tooltip="include"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "1" -> "7" [dir=forward tooltip="include"]
    "1" -> "15" [dir=forward tooltip="include"]
    "1" -> "13" [dir=forward tooltip="include"]
    "1" -> "9" [dir=forward tooltip="include"]
    "8" -> "9" [dir=forward tooltip="include"]
    "17" -> "5" [dir=forward tooltip="include"]
    "17" -> "8" [dir=forward tooltip="include"]
    "17" -> "16" [dir=forward tooltip="include"]
    "17" -> "7" [dir=forward tooltip="include"]
    "18" -> "2" [dir=forward tooltip="include"]
    "18" -> "19" [dir=forward tooltip="include"]
    "7" -> "8" [dir=forward tooltip="include"]
    "7" -> "9" [dir=forward tooltip="include"]
    "7" -> "13" [dir=forward tooltip="include"]
    "7" -> "3" [dir=forward tooltip="include"]
    "7" -> "5" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include term.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "54" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" fillcolor="#BFBFBF"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
    "9" -> "11" [dir=back tooltip="include"]
    "9" -> "5" [dir=back tooltip="include"]
    "45" -> "10" [dir=back tooltip="include"]
    "45" -> "6" [dir=back tooltip="include"]
    "45" -> "44" [dir=back tooltip="include"]
    "45" -> "14" [dir=back tooltip="include"]
    "45" -> "11" [dir=back tooltip="include"]
    "45" -> "18" [dir=back tooltip="include"]
    "45" -> "21" [dir=back tooltip="include"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
    "2" -> "5" [dir=back tooltip="include"]
    "31" -> "11" [dir=back tooltip="include"]
    "47" -> "17" [dir=back tooltip="include"]
    "47" -> "11" [dir=back tooltip="include"]
    "47" -> "18" [dir=back tooltip="include"]
    "47" -> "20" [dir=back tooltip="include"]
    "52" -> "10" [dir=back tooltip="include"]
    "52" -> "53" [dir=back tooltip="include"]
    "52" -> "44" [dir=back tooltip="include"]
    "52" -> "17" [dir=back tooltip="include"]
    "52" -> "4" [dir=back tooltip="include"]
    "52" -> "11" [dir=back tooltip="include"]
    "52" -> "5" [dir=back tooltip="include"]
    "52" -> "28" [dir=back tooltip="include"]
    "52" -> "27" [dir=back tooltip="include"]
    "52" -> "18" [dir=back tooltip="include"]
    "52" -> "19" [dir=back tooltip="include"]
    "52" -> "40" [dir=back tooltip="include"]
    "52" -> "41" [dir=back tooltip="include"]
    "52" -> "20" [dir=back tooltip="include"]
    "52" -> "22" [dir=back tooltip="include"]
    "52" -> "33" [dir=back tooltip="include"]
    "25" -> "26" [dir=back tooltip="include"]
    "25" -> "27" [dir=back tooltip="include"]
    "25" -> "18" [dir=back tooltip="include"]
    "25" -> "19" [dir=back tooltip="include"]
    "42" -> "43" [dir=back tooltip="include"]
    "42" -> "11" [dir=back tooltip="include"]
    "42" -> "5" [dir=back tooltip="include"]
    "42" -> "18" [dir=back tooltip="include"]
    "42" -> "15" [dir=back tooltip="include"]
    "46" -> "9" [dir=back tooltip="include"]
    "46" -> "30" [dir=back tooltip="include"]
    "46" -> "35" [dir=back tooltip="include"]
    "46" -> "5" [dir=back tooltip="include"]
    "46" -> "31" [dir=back tooltip="include"]
    "46" -> "47" [dir=back tooltip="include"]
    "8" -> "9" [dir=back tooltip="include"]
    "8" -> "6" [dir=back tooltip="include"]
    "8" -> "12" [dir=back tooltip="include"]
    "8" -> "16" [dir=back tooltip="include"]
    "8" -> "23" [dir=back tooltip="include"]
    "8" -> "17" [dir=back tooltip="include"]
    "8" -> "24" [dir=back tooltip="include"]
    "8" -> "14" [dir=back tooltip="include"]
    "8" -> "7" [dir=back tooltip="include"]
    "8" -> "30" [dir=back tooltip="include"]
    "8" -> "11" [dir=back tooltip="include"]
    "8" -> "35" [dir=back tooltip="include"]
    "8" -> "28" [dir=back tooltip="include"]
    "8" -> "27" [dir=back tooltip="include"]
    "8" -> "18" [dir=back tooltip="include"]
    "8" -> "19" [dir=back tooltip="include"]
    "8" -> "40" [dir=back tooltip="include"]
    "8" -> "41" [dir=back tooltip="include"]
    "8" -> "21" [dir=back tooltip="include"]
    "8" -> "22" [dir=back tooltip="include"]
    "8" -> "42" [dir=back tooltip="include"]
    "8" -> "32" [dir=back tooltip="include"]
    "8" -> "29" [dir=back tooltip="include"]
    "41" -> "26" [dir=back tooltip="include"]
    "41" -> "11" [dir=back tooltip="include"]
    "41" -> "27" [dir=back tooltip="include"]
    "41" -> "18" [dir=back tooltip="include"]
    "41" -> "19" [dir=back tooltip="include"]
    "41" -> "40" [dir=back tooltip="include"]
    "54" -> "10" [dir=back tooltip="include"]
    "32" -> "5" [dir=back tooltip="include"]
    "32" -> "33" [dir=back tooltip="include"]
    "30" -> "9" [dir=back tooltip="include"]
    "30" -> "7" [dir=back tooltip="include"]
    "30" -> "11" [dir=back tooltip="include"]
    "30" -> "5" [dir=back tooltip="include"]
    "30" -> "31" [dir=back tooltip="include"]
    "30" -> "32" [dir=back tooltip="include"]
    "30" -> "34" [dir=back tooltip="include"]
    "50" -> "51" [dir=back tooltip="include"]
    "50" -> "17" [dir=back tooltip="include"]
    "50" -> "11" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "44" [dir=back tooltip="include"]
    "1" -> "45" [dir=back tooltip="include"]
    "1" -> "46" [dir=back tooltip="include"]
    "1" -> "48" [dir=back tooltip="include"]
    "1" -> "49" [dir=back tooltip="include"]
    "1" -> "26" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "24" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "30" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
    "1" -> "28" [dir=back tooltip="include"]
    "1" -> "27" [dir=back tooltip="include"]
    "1" -> "18" [dir=back tooltip="include"]
    "1" -> "19" [dir=back tooltip="include"]
    "1" -> "54" [dir=back tooltip="include"]
    "1" -> "41" [dir=back tooltip="include"]
    "1" -> "47" [dir=back tooltip="include"]
    "1" -> "32" [dir=back tooltip="include"]
    "1" -> "29" [dir=back tooltip="include"]
    "24" -> "25" [dir=back tooltip="include"]
    "24" -> "4" [dir=back tooltip="include"]
    "24" -> "11" [dir=back tooltip="include"]
    "24" -> "28" [dir=back tooltip="include"]
    "24" -> "27" [dir=back tooltip="include"]
    "24" -> "18" [dir=back tooltip="include"]
    "24" -> "19" [dir=back tooltip="include"]
    "24" -> "20" [dir=back tooltip="include"]
    "24" -> "29" [dir=back tooltip="include"]
    "39" -> "19" [dir=back tooltip="include"]
    "36" -> "28" [dir=back tooltip="include"]
    "37" -> "27" [dir=back tooltip="include"]
    "16" -> "6" [dir=back tooltip="include"]
    "16" -> "17" [dir=back tooltip="include"]
    "16" -> "14" [dir=back tooltip="include"]
    "16" -> "18" [dir=back tooltip="include"]
    "16" -> "19" [dir=back tooltip="include"]
    "16" -> "20" [dir=back tooltip="include"]
    "16" -> "21" [dir=back tooltip="include"]
    "16" -> "22" [dir=back tooltip="include"]
    "34" -> "6" [dir=back tooltip="include"]
    "34" -> "17" [dir=back tooltip="include"]
    "34" -> "7" [dir=back tooltip="include"]
    "34" -> "11" [dir=back tooltip="include"]
    "34" -> "18" [dir=back tooltip="include"]
    "34" -> "22" [dir=back tooltip="include"]
    "34" -> "15" [dir=back tooltip="include"]
    "35" -> "7" [dir=back tooltip="include"]
    "35" -> "11" [dir=back tooltip="include"]
    "35" -> "5" [dir=back tooltip="include"]
    "35" -> "28" [dir=back tooltip="include"]
    "35" -> "36" [dir=back tooltip="include"]
    "35" -> "27" [dir=back tooltip="include"]
    "35" -> "37" [dir=back tooltip="include"]
    "35" -> "18" [dir=back tooltip="include"]
    "35" -> "38" [dir=back tooltip="include"]
    "35" -> "19" [dir=back tooltip="include"]
    "35" -> "39" [dir=back tooltip="include"]
    "35" -> "20" [dir=back tooltip="include"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "7" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "12" -> "5" [dir=back tooltip="include"]
    "12" -> "15" [dir=back tooltip="include"]
    "49" -> "50" [dir=back tooltip="include"]
    "49" -> "6" [dir=back tooltip="include"]
    "49" -> "8" [dir=back tooltip="include"]
    "49" -> "52" [dir=back tooltip="include"]
    "49" -> "17" [dir=back tooltip="include"]
    "49" -> "7" [dir=back tooltip="include"]
    "49" -> "30" [dir=back tooltip="include"]
    "49" -> "11" [dir=back tooltip="include"]
    "49" -> "28" [dir=back tooltip="include"]
    "49" -> "27" [dir=back tooltip="include"]
    "49" -> "37" [dir=back tooltip="include"]
    "49" -> "18" [dir=back tooltip="include"]
    "49" -> "38" [dir=back tooltip="include"]
    "49" -> "19" [dir=back tooltip="include"]
    "49" -> "39" [dir=back tooltip="include"]
    "49" -> "40" [dir=back tooltip="include"]
    "49" -> "41" [dir=back tooltip="include"]
    "49" -> "20" [dir=back tooltip="include"]
    "49" -> "47" [dir=back tooltip="include"]
    "49" -> "42" [dir=back tooltip="include"]
    "49" -> "33" [dir=back tooltip="include"]
    "49" -> "34" [dir=back tooltip="include"]
    "38" -> "18" [dir=back tooltip="include"]
    "38" -> "19" [dir=back tooltip="include"]
    "48" -> "23" [dir=back tooltip="include"]
    "48" -> "7" [dir=back tooltip="include"]
    "48" -> "11" [dir=back tooltip="include"]
}

Defines

TERM_BOXED_VALUE_TAG
TERM_INTEGER_TAG
TERM_CATCH_TAG
TERM_BOXED_TAG_MASK
TERM_BOXED_TUPLE
TERM_BOXED_BIN_MATCH_STATE
TERM_BOXED_POSITIVE_INTEGER
TERM_BOXED_REF
TERM_BOXED_FUN
TERM_BOXED_FLOAT
TERM_BOXED_REFC_BINARY
TERM_BOXED_HEAP_BINARY
TERM_BOXED_MAP
TERM_BOXED_SUB_BINARY
TERM_UNUSED
TERM_RESERVED_MARKER(x)
TERM_BOXED_REFC_BINARY_SIZE
TERM_BOXED_BIN_MATCH_STATE_SIZE
TERM_BOXED_SUB_BINARY_SIZE
TERM_BOXED_RESOURCE_SIZE
REFC_BINARY_MIN
SUB_BINARY_MIN
BINARY_HEADER_SIZE
FUNCTION_REFERENCE_SIZE
BOXED_INT_SIZE
BOXED_INT64_SIZE
BOXED_FUN_SIZE
FLOAT_SIZE
REF_SIZE
TUPLE_SIZE(elems)
CONS_SIZE
REFC_BINARY_CONS_OFFSET
LIST_SIZE(num_elements, element_size)
TERM_MAP_SIZE(num_elements)
TERM_MAP_SHARED_SIZE(num_elements)
LIST_HEAD_INDEX
LIST_TAIL_INDEX
TERM_BINARY_SIZE_IS_HEAP(size)
TERM_BINARY_DATA_SIZE_IN_TERMS(size)
TERM_BINARY_HEAP_SIZE(size)
TERM_DEBUG_ASSERT(...)
TERM_FROM_ATOM_INDEX(atom_index)
TERM_MAP_NOT_FOUND
TERM_MAP_MEMORY_ALLOC_FAIL

Typedefs

typedef struct PrinterFun PrinterFun
int(* printer_function_t )(PrinterFun *fun, const char *fmt,...) PRINTF_FORMAT_ARGS(2

Enums

enum RefcBinaryFlags

Values:

enumerator RefcNoFlags
enumerator RefcBinaryIsConst
enum TermCompareOpts

Values:

enumerator TermCompareNoOpts
enumerator TermCompareExact
enum TermCompareResult

Values:

enumerator TermCompareMemoryAllocFail
enumerator TermEquals
enumerator TermLessThan
enumerator TermGreaterThan

Functions

TermCompareResult term_compare(term t, term other, TermCompareOpts opts, GlobalContext *global)
term term_alloc_refc_binary(size_t size, bool is_const, Heap *heap, GlobalContext *glb)
term term_alloc_sub_binary(term binary, size_t offset, size_t len, Heap *heap)
static inline term *term_to_term_ptr(term t)
static inline const term *term_to_const_term_ptr(term t)
static inline int term_is_atom(term t)
static inline int term_is_invalid_term(term t)
static inline int term_is_nil(term t)
static inline int term_is_nonempty_list(term t)
static inline int term_is_list(term t)
static inline int term_is_boxed(term t)
static inline int term_is_movable_boxed(term t)
static inline size_t term_get_size_from_boxed_header(term header)
static inline size_t term_boxed_size(term t)
static inline int term_is_binary(term t)
static inline bool term_is_refc_binary(term t)
static inline bool term_refc_binary_is_const(term t)
static inline bool term_is_sub_binary(term t)
static inline int term_is_integer(term t)
static inline uint8_t term_is_uint8(term t)
static inline int term_is_boxed_integer(term t)
static inline int term_is_any_integer(term t)
static inline int term_is_catch_label(term t)
static inline int term_is_pid(term t)
static inline int term_is_tuple(term t)
static inline int term_is_reference(term t)
static inline int term_is_function(term t)
static inline int term_is_cp(term t)
static inline term term_invalid_term()
static inline term term_nil()
static inline int term_to_atom_index(term t)
static inline term term_from_atom_index(int atom_index)
static inline uint8_t term_to_uint8(term t)
static inline int32_t term_to_int32(term t)
static inline avm_int_t term_to_int(term t)
static inline int term_to_catch_label_and_module(term t, int *module_index)
static inline int32_t term_to_local_process_id(term t)
static inline term term_from_int4(int8_t value)
static inline term term_from_int11(int16_t value)
static inline term term_from_int32(int32_t value)
static inline term term_from_int64(int64_t value)
static inline term term_from_int(avm_int_t value)
static inline avm_int_t term_unbox_int(term boxed_int)
static inline avm_int64_t term_unbox_int64(term boxed_long)
static inline avm_int_t term_maybe_unbox_int(term maybe_boxed_int)
static inline avm_int64_t term_maybe_unbox_int64(term maybe_boxed_int)
static inline term term_make_boxed_int(avm_int_t value, Heap *heap)
static inline term term_make_boxed_int64(avm_int64_t large_int64, Heap *heap)
static inline term term_make_maybe_boxed_int64(avm_int64_t value, Heap *heap)
static inline size_t term_boxed_integer_size(avm_int64_t value)
static inline term term_from_catch_label(unsigned int module_index, unsigned int label)
static inline term term_from_local_process_id(uint32_t local_process_id)
static inline bool term_binary_size_is_heap_binary(size_t size)
static inline size_t term_binary_data_size_in_terms(size_t size)
static inline size_t term_binary_heap_size(size_t size)
static inline unsigned long term_binary_size(term t)
static inline void *term_refc_binary_ptr(term refc_binary)
static inline const char *term_binary_data(term t)
static inline term term_create_uninitialized_binary(size_t size, Heap *heap, GlobalContext *glb)
static inline term term_from_literal_binary(const void *data, size_t size, Heap *heap, GlobalContext *glb)
static inline size_t term_sub_binary_heap_size(term binary, size_t len)
static inline term term_maybe_create_sub_binary(term binary, size_t offset, size_t len, Heap *heap, GlobalContext *glb)
static inline void term_set_refc_binary_data(term t, const void *data)
static inline term term_from_const_binary(const void *data, size_t size, Heap *heap, GlobalContext *glb)
static inline term term_create_empty_binary(size_t size, Heap *heap, GlobalContext *glb)
static inline int term_bs_insert_binary(term t, int offset, term src, int n)
static inline term term_from_ref_ticks(uint64_t ref_ticks, Heap *heap)
static inline uint64_t term_to_ref_ticks(term rt)
static inline term term_alloc_tuple(uint32_t size, Heap *heap)
static inline void term_put_tuple_element(term t, uint32_t elem_index, term put_value)
static inline term term_get_tuple_element(term t, int elem_index)
static inline int term_get_tuple_arity(term t)
static inline term term_from_string(const uint8_t *data, uint16_t size, Heap *heap)
static inline term *term_get_list_ptr(term t)
static inline term term_list_from_list_ptr(term *list_elem)
static inline term term_get_list_head(term t)
static inline term term_get_list_tail(term t)
static inline MALLOC_LIKE term * term_list_alloc (Heap *heap)
static inline term term_list_init_prepend(term *list_elem, term head, term tail)
static inline term term_list_prepend(term head, term tail, Heap *heap)
static inline int term_list_length(term t, int *proper)
static inline int term_is_float(term t)
static inline term term_from_float(avm_float_t f, Heap *heap)
static inline avm_float_t term_to_float(term t)
static inline avm_float_t term_conv_to_float(term t)
static inline int term_is_number(term t)
void term_display(FILE *fd, term t, const Context *ctx)
int term_funprint(PrinterFun *pf, term t, const GlobalContext *global)
int term_fprint(FILE *fd, term t, const GlobalContext *global)
int term_snprint(char *buf, size_t size, term t, const GlobalContext *global)
static inline int term_is_string(term t)
static inline term term_make_function_reference(term m, term f, term a, Heap *heap)
static inline int term_is_match_state(term t)
static inline term term_get_match_state_binary(term match_state)
static inline avm_int_t term_get_match_state_offset(term match_state)
static inline void term_set_match_state_offset(term match_state, avm_int_t offset)
static inline void term_match_state_save_offset(term match_state, int index)
static inline void term_match_state_save_start_offset(term match_state)
static inline void term_match_state_restore_start_offset(term match_state)
static inline void term_match_state_restore_offset(term match_state, int index)
static inline term term_alloc_bin_match_state(term binary_or_state, int slots, Heap *heap)
static inline int term_is_map(term t)
static inline size_t term_get_map_keys_offset()
static inline size_t term_get_map_value_offset()
static inline size_t term_map_size_in_terms_maybe_shared(size_t num_entries, bool is_shared)
static inline size_t term_map_size_in_terms(size_t num_entries)
static inline term term_alloc_map_maybe_shared(avm_uint_t size, term keys, Heap *heap)
static inline term term_alloc_map(avm_uint_t size, Heap *heap)
static inline term term_get_map_keys(term t)
static inline int term_get_map_size(term t)
static inline void term_set_map_assoc(term map, avm_uint_t pos, term key, term value)
static inline term term_get_map_key(term map, avm_uint_t pos)
static inline term term_get_map_value(term map, avm_uint_t pos)
static inline int term_find_map_pos(term map, term key, GlobalContext *global)
term term_get_map_assoc(term map, term key, GlobalContext *glb)
static inline term term_get_map_assoc_default(term map, term key, term default_value, GlobalContext *glb)
static inline term term_get_sub_binary_ref(term t)
static inline term term_from_resource(void *resource, Heap *heap)

Variables

const term empty_tuple
file term_typedef.h

Include dependency graph for term_typedef.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="assert.h" tooltip="assert.h"]
    "5" [label="stdint.h" tooltip="stdint.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term_typedef.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term_typedef.h" fillcolor="#BFBFBF"]
    "3" [label="limits.h" tooltip="limits.h"]
    "4" [label="inttypes.h" tooltip="inttypes.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include term_typedef.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "56" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
    "55" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "54" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "61" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/tempstack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/tempstack.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "57" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "59" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term_typedef.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term_typedef.h" fillcolor="#BFBFBF"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "60" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.h"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "58" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h"]
    "10" -> "11" [dir=back tooltip="include"]
    "10" -> "12" [dir=back tooltip="include"]
    "10" -> "8" [dir=back tooltip="include"]
    "10" -> "13" [dir=back tooltip="include"]
    "56" -> "11" [dir=back tooltip="include"]
    "56" -> "3" [dir=back tooltip="include"]
    "56" -> "48" [dir=back tooltip="include"]
    "56" -> "16" [dir=back tooltip="include"]
    "56" -> "8" [dir=back tooltip="include"]
    "56" -> "19" [dir=back tooltip="include"]
    "56" -> "22" [dir=back tooltip="include"]
    "54" -> "55" [dir=back tooltip="include"]
    "54" -> "29" [dir=back tooltip="include"]
    "54" -> "13" [dir=back tooltip="include"]
    "33" -> "8" [dir=back tooltip="include"]
    "49" -> "7" [dir=back tooltip="include"]
    "49" -> "8" [dir=back tooltip="include"]
    "49" -> "19" [dir=back tooltip="include"]
    "49" -> "21" [dir=back tooltip="include"]
    "46" -> "11" [dir=back tooltip="include"]
    "46" -> "47" [dir=back tooltip="include"]
    "46" -> "48" [dir=back tooltip="include"]
    "46" -> "7" [dir=back tooltip="include"]
    "46" -> "29" [dir=back tooltip="include"]
    "46" -> "8" [dir=back tooltip="include"]
    "46" -> "13" [dir=back tooltip="include"]
    "46" -> "30" [dir=back tooltip="include"]
    "46" -> "28" [dir=back tooltip="include"]
    "46" -> "19" [dir=back tooltip="include"]
    "46" -> "20" [dir=back tooltip="include"]
    "46" -> "42" [dir=back tooltip="include"]
    "46" -> "43" [dir=back tooltip="include"]
    "46" -> "21" [dir=back tooltip="include"]
    "46" -> "23" [dir=back tooltip="include"]
    "46" -> "35" [dir=back tooltip="include"]
    "61" -> "29" [dir=back tooltip="include"]
    "61" -> "16" [dir=back tooltip="include"]
    "61" -> "22" [dir=back tooltip="include"]
    "61" -> "31" [dir=back tooltip="include"]
    "26" -> "27" [dir=back tooltip="include"]
    "26" -> "28" [dir=back tooltip="include"]
    "26" -> "19" [dir=back tooltip="include"]
    "26" -> "20" [dir=back tooltip="include"]
    "44" -> "45" [dir=back tooltip="include"]
    "44" -> "8" [dir=back tooltip="include"]
    "44" -> "13" [dir=back tooltip="include"]
    "44" -> "19" [dir=back tooltip="include"]
    "44" -> "17" [dir=back tooltip="include"]
    "57" -> "10" [dir=back tooltip="include"]
    "57" -> "32" [dir=back tooltip="include"]
    "57" -> "37" [dir=back tooltip="include"]
    "57" -> "13" [dir=back tooltip="include"]
    "57" -> "33" [dir=back tooltip="include"]
    "57" -> "49" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "3" [dir=back tooltip="include"]
    "9" -> "14" [dir=back tooltip="include"]
    "9" -> "18" [dir=back tooltip="include"]
    "9" -> "24" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
    "9" -> "25" [dir=back tooltip="include"]
    "9" -> "16" [dir=back tooltip="include"]
    "9" -> "12" [dir=back tooltip="include"]
    "9" -> "32" [dir=back tooltip="include"]
    "9" -> "8" [dir=back tooltip="include"]
    "9" -> "37" [dir=back tooltip="include"]
    "9" -> "30" [dir=back tooltip="include"]
    "9" -> "28" [dir=back tooltip="include"]
    "9" -> "19" [dir=back tooltip="include"]
    "9" -> "20" [dir=back tooltip="include"]
    "9" -> "42" [dir=back tooltip="include"]
    "9" -> "43" [dir=back tooltip="include"]
    "9" -> "22" [dir=back tooltip="include"]
    "9" -> "23" [dir=back tooltip="include"]
    "9" -> "44" [dir=back tooltip="include"]
    "9" -> "34" [dir=back tooltip="include"]
    "9" -> "31" [dir=back tooltip="include"]
    "43" -> "27" [dir=back tooltip="include"]
    "43" -> "8" [dir=back tooltip="include"]
    "43" -> "28" [dir=back tooltip="include"]
    "43" -> "19" [dir=back tooltip="include"]
    "43" -> "20" [dir=back tooltip="include"]
    "43" -> "42" [dir=back tooltip="include"]
    "59" -> "11" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "29" [dir=back tooltip="include"]
    "1" -> "60" [dir=back tooltip="include"]
    "1" -> "50" [dir=back tooltip="include"]
    "1" -> "30" [dir=back tooltip="include"]
    "1" -> "20" [dir=back tooltip="include"]
    "1" -> "61" [dir=back tooltip="include"]
    "1" -> "53" [dir=back tooltip="include"]
    "34" -> "13" [dir=back tooltip="include"]
    "34" -> "35" [dir=back tooltip="include"]
    "52" -> "7" [dir=back tooltip="include"]
    "52" -> "16" [dir=back tooltip="include"]
    "52" -> "20" [dir=back tooltip="include"]
    "52" -> "22" [dir=back tooltip="include"]
    "52" -> "23" [dir=back tooltip="include"]
    "52" -> "53" [dir=back tooltip="include"]
    "60" -> "3" [dir=back tooltip="include"]
    "60" -> "9" [dir=back tooltip="include"]
    "60" -> "45" [dir=back tooltip="include"]
    "60" -> "8" [dir=back tooltip="include"]
    "60" -> "13" [dir=back tooltip="include"]
    "60" -> "19" [dir=back tooltip="include"]
    "60" -> "42" [dir=back tooltip="include"]
    "32" -> "10" [dir=back tooltip="include"]
    "32" -> "12" [dir=back tooltip="include"]
    "32" -> "8" [dir=back tooltip="include"]
    "32" -> "13" [dir=back tooltip="include"]
    "32" -> "33" [dir=back tooltip="include"]
    "32" -> "34" [dir=back tooltip="include"]
    "32" -> "36" [dir=back tooltip="include"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "7" [dir=back tooltip="include"]
    "5" -> "8" [dir=back tooltip="include"]
    "53" -> "54" [dir=back tooltip="include"]
    "53" -> "3" [dir=back tooltip="include"]
    "53" -> "9" [dir=back tooltip="include"]
    "53" -> "48" [dir=back tooltip="include"]
    "53" -> "56" [dir=back tooltip="include"]
    "53" -> "57" [dir=back tooltip="include"]
    "53" -> "58" [dir=back tooltip="include"]
    "53" -> "4" [dir=back tooltip="include"]
    "53" -> "27" [dir=back tooltip="include"]
    "53" -> "29" [dir=back tooltip="include"]
    "53" -> "25" [dir=back tooltip="include"]
    "53" -> "16" [dir=back tooltip="include"]
    "53" -> "12" [dir=back tooltip="include"]
    "53" -> "32" [dir=back tooltip="include"]
    "53" -> "8" [dir=back tooltip="include"]
    "53" -> "30" [dir=back tooltip="include"]
    "53" -> "28" [dir=back tooltip="include"]
    "53" -> "19" [dir=back tooltip="include"]
    "53" -> "20" [dir=back tooltip="include"]
    "53" -> "59" [dir=back tooltip="include"]
    "53" -> "43" [dir=back tooltip="include"]
    "53" -> "49" [dir=back tooltip="include"]
    "53" -> "34" [dir=back tooltip="include"]
    "53" -> "31" [dir=back tooltip="include"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "4" [dir=back tooltip="include"]
    "2" -> "50" [dir=back tooltip="include"]
    "2" -> "20" [dir=back tooltip="include"]
    "2" -> "23" [dir=back tooltip="include"]
    "2" -> "51" [dir=back tooltip="include"]
    "25" -> "26" [dir=back tooltip="include"]
    "25" -> "29" [dir=back tooltip="include"]
    "25" -> "8" [dir=back tooltip="include"]
    "25" -> "30" [dir=back tooltip="include"]
    "25" -> "28" [dir=back tooltip="include"]
    "25" -> "19" [dir=back tooltip="include"]
    "25" -> "20" [dir=back tooltip="include"]
    "25" -> "21" [dir=back tooltip="include"]
    "25" -> "31" [dir=back tooltip="include"]
    "41" -> "20" [dir=back tooltip="include"]
    "51" -> "7" [dir=back tooltip="include"]
    "51" -> "52" [dir=back tooltip="include"]
    "51" -> "23" [dir=back tooltip="include"]
    "38" -> "30" [dir=back tooltip="include"]
    "39" -> "28" [dir=back tooltip="include"]
    "18" -> "3" [dir=back tooltip="include"]
    "18" -> "7" [dir=back tooltip="include"]
    "18" -> "16" [dir=back tooltip="include"]
    "18" -> "19" [dir=back tooltip="include"]
    "18" -> "20" [dir=back tooltip="include"]
    "18" -> "21" [dir=back tooltip="include"]
    "18" -> "22" [dir=back tooltip="include"]
    "18" -> "23" [dir=back tooltip="include"]
    "36" -> "3" [dir=back tooltip="include"]
    "36" -> "7" [dir=back tooltip="include"]
    "36" -> "12" [dir=back tooltip="include"]
    "36" -> "8" [dir=back tooltip="include"]
    "36" -> "19" [dir=back tooltip="include"]
    "36" -> "23" [dir=back tooltip="include"]
    "36" -> "17" [dir=back tooltip="include"]
    "37" -> "12" [dir=back tooltip="include"]
    "37" -> "8" [dir=back tooltip="include"]
    "37" -> "13" [dir=back tooltip="include"]
    "37" -> "30" [dir=back tooltip="include"]
    "37" -> "38" [dir=back tooltip="include"]
    "37" -> "28" [dir=back tooltip="include"]
    "37" -> "39" [dir=back tooltip="include"]
    "37" -> "19" [dir=back tooltip="include"]
    "37" -> "40" [dir=back tooltip="include"]
    "37" -> "20" [dir=back tooltip="include"]
    "37" -> "41" [dir=back tooltip="include"]
    "37" -> "21" [dir=back tooltip="include"]
    "13" -> "3" [dir=back tooltip="include"]
    "13" -> "12" [dir=back tooltip="include"]
    "14" -> "15" [dir=back tooltip="include"]
    "14" -> "16" [dir=back tooltip="include"]
    "14" -> "13" [dir=back tooltip="include"]
    "14" -> "17" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "3" [dir=back tooltip="include"]
    "4" -> "9" [dir=back tooltip="include"]
    "4" -> "46" [dir=back tooltip="include"]
    "4" -> "7" [dir=back tooltip="include"]
    "4" -> "12" [dir=back tooltip="include"]
    "4" -> "32" [dir=back tooltip="include"]
    "4" -> "8" [dir=back tooltip="include"]
    "4" -> "30" [dir=back tooltip="include"]
    "4" -> "28" [dir=back tooltip="include"]
    "4" -> "39" [dir=back tooltip="include"]
    "4" -> "19" [dir=back tooltip="include"]
    "4" -> "40" [dir=back tooltip="include"]
    "4" -> "20" [dir=back tooltip="include"]
    "4" -> "41" [dir=back tooltip="include"]
    "4" -> "42" [dir=back tooltip="include"]
    "4" -> "43" [dir=back tooltip="include"]
    "4" -> "21" [dir=back tooltip="include"]
    "4" -> "49" [dir=back tooltip="include"]
    "4" -> "44" [dir=back tooltip="include"]
    "4" -> "35" [dir=back tooltip="include"]
    "4" -> "36" [dir=back tooltip="include"]
    "50" -> "18" [dir=back tooltip="include"]
    "50" -> "26" [dir=back tooltip="include"]
    "50" -> "45" [dir=back tooltip="include"]
    "50" -> "16" [dir=back tooltip="include"]
    "50" -> "8" [dir=back tooltip="include"]
    "50" -> "19" [dir=back tooltip="include"]
    "50" -> "43" [dir=back tooltip="include"]
    "50" -> "22" [dir=back tooltip="include"]
    "50" -> "51" [dir=back tooltip="include"]
    "50" -> "35" [dir=back tooltip="include"]
    "50" -> "53" [dir=back tooltip="include"]
    "40" -> "19" [dir=back tooltip="include"]
    "40" -> "20" [dir=back tooltip="include"]
    "58" -> "24" [dir=back tooltip="include"]
    "58" -> "12" [dir=back tooltip="include"]
    "58" -> "8" [dir=back tooltip="include"]
}

Defines

TERM_U_FMT
TERM_X_FMT
TERM_BITS
TERM_BYTES
AVM_INT_MIN
AVM_INT_MAX
INT64_IS_ALWAYS_BOXED
BOXED_TERMS_REQUIRED_FOR_INT
BOXED_TERMS_REQUIRED_FOR_INT64
UNICODE_CHAR_MAX
MIN_NOT_BOXED_INT
MAX_NOT_BOXED_INT
AVM_INT_FMT
AVM_INT64_FMT
AVM_FLOAT_FMT
INT64_MIN_AS_AVM_FLOAT
INT64_MAX_AS_AVM_FLOAT

Typedefs

typedef uintptr_t term
typedef intptr_t avm_int_t
typedef uintptr_t avm_uint_t
typedef int64_t avm_int64_t
typedef uint64_t avm_uint64_t
typedef double avm_float_t

Functions

_Static_assert (sizeof(avm_float_t)==8, "avm_float_t must be a 64-bit float")
file timer_list.c

Include dependency graph for timer_list.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "3" [label="stdbool.h" tooltip="stdbool.h"]
    "4" [label="stdint.h" tooltip="stdint.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.c" fillcolor="#BFBFBF"]
    "2" [label="timer_list.h" tooltip="timer_list.h"]
    "5" [label="list.h" tooltip="list.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "2" -> "3" [dir=forward tooltip="include"]
    "2" -> "4" [dir=forward tooltip="include"]
    "2" -> "5" [dir=forward tooltip="include"]
}

Functions

void timer_list_next(struct TimerList *tw, uint64_t now, timer_list_callback_t cb)
file timer_list.h

Include dependency graph for timer_list.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="stdbool.h" tooltip="stdbool.h"]
    "3" [label="stdint.h" tooltip="stdint.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.h" fillcolor="#BFBFBF"]
    "4" [label="list.h" tooltip="list.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include timer_list.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/timer_list.h" fillcolor="#BFBFBF"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "3" -> "4" [dir=back tooltip="include"]
    "3" -> "5" [dir=back tooltip="include"]
    "3" -> "6" [dir=back tooltip="include"]
    "3" -> "7" [dir=back tooltip="include"]
    "29" -> "6" [dir=back tooltip="include"]
    "48" -> "14" [dir=back tooltip="include"]
    "48" -> "6" [dir=back tooltip="include"]
    "48" -> "15" [dir=back tooltip="include"]
    "48" -> "17" [dir=back tooltip="include"]
    "45" -> "4" [dir=back tooltip="include"]
    "45" -> "46" [dir=back tooltip="include"]
    "45" -> "47" [dir=back tooltip="include"]
    "45" -> "14" [dir=back tooltip="include"]
    "45" -> "25" [dir=back tooltip="include"]
    "45" -> "6" [dir=back tooltip="include"]
    "45" -> "7" [dir=back tooltip="include"]
    "45" -> "26" [dir=back tooltip="include"]
    "45" -> "24" [dir=back tooltip="include"]
    "45" -> "15" [dir=back tooltip="include"]
    "45" -> "16" [dir=back tooltip="include"]
    "45" -> "38" [dir=back tooltip="include"]
    "45" -> "39" [dir=back tooltip="include"]
    "45" -> "17" [dir=back tooltip="include"]
    "45" -> "19" [dir=back tooltip="include"]
    "45" -> "31" [dir=back tooltip="include"]
    "22" -> "23" [dir=back tooltip="include"]
    "22" -> "24" [dir=back tooltip="include"]
    "22" -> "15" [dir=back tooltip="include"]
    "22" -> "16" [dir=back tooltip="include"]
    "40" -> "41" [dir=back tooltip="include"]
    "40" -> "6" [dir=back tooltip="include"]
    "40" -> "7" [dir=back tooltip="include"]
    "40" -> "15" [dir=back tooltip="include"]
    "40" -> "12" [dir=back tooltip="include"]
    "2" -> "3" [dir=back tooltip="include"]
    "2" -> "8" [dir=back tooltip="include"]
    "2" -> "9" [dir=back tooltip="include"]
    "2" -> "13" [dir=back tooltip="include"]
    "2" -> "20" [dir=back tooltip="include"]
    "2" -> "14" [dir=back tooltip="include"]
    "2" -> "21" [dir=back tooltip="include"]
    "2" -> "11" [dir=back tooltip="include"]
    "2" -> "5" [dir=back tooltip="include"]
    "2" -> "28" [dir=back tooltip="include"]
    "2" -> "6" [dir=back tooltip="include"]
    "2" -> "33" [dir=back tooltip="include"]
    "2" -> "26" [dir=back tooltip="include"]
    "2" -> "24" [dir=back tooltip="include"]
    "2" -> "15" [dir=back tooltip="include"]
    "2" -> "16" [dir=back tooltip="include"]
    "2" -> "38" [dir=back tooltip="include"]
    "2" -> "39" [dir=back tooltip="include"]
    "2" -> "18" [dir=back tooltip="include"]
    "2" -> "19" [dir=back tooltip="include"]
    "2" -> "40" [dir=back tooltip="include"]
    "2" -> "30" [dir=back tooltip="include"]
    "2" -> "27" [dir=back tooltip="include"]
    "39" -> "23" [dir=back tooltip="include"]
    "39" -> "6" [dir=back tooltip="include"]
    "39" -> "24" [dir=back tooltip="include"]
    "39" -> "15" [dir=back tooltip="include"]
    "39" -> "16" [dir=back tooltip="include"]
    "39" -> "38" [dir=back tooltip="include"]
    "30" -> "7" [dir=back tooltip="include"]
    "30" -> "31" [dir=back tooltip="include"]
    "28" -> "3" [dir=back tooltip="include"]
    "28" -> "5" [dir=back tooltip="include"]
    "28" -> "6" [dir=back tooltip="include"]
    "28" -> "7" [dir=back tooltip="include"]
    "28" -> "29" [dir=back tooltip="include"]
    "28" -> "30" [dir=back tooltip="include"]
    "28" -> "32" [dir=back tooltip="include"]
    "43" -> "44" [dir=back tooltip="include"]
    "43" -> "14" [dir=back tooltip="include"]
    "43" -> "6" [dir=back tooltip="include"]
    "21" -> "22" [dir=back tooltip="include"]
    "21" -> "25" [dir=back tooltip="include"]
    "21" -> "6" [dir=back tooltip="include"]
    "21" -> "26" [dir=back tooltip="include"]
    "21" -> "24" [dir=back tooltip="include"]
    "21" -> "15" [dir=back tooltip="include"]
    "21" -> "16" [dir=back tooltip="include"]
    "21" -> "17" [dir=back tooltip="include"]
    "21" -> "27" [dir=back tooltip="include"]
    "37" -> "16" [dir=back tooltip="include"]
    "34" -> "26" [dir=back tooltip="include"]
    "35" -> "24" [dir=back tooltip="include"]
    "13" -> "8" [dir=back tooltip="include"]
    "13" -> "14" [dir=back tooltip="include"]
    "13" -> "11" [dir=back tooltip="include"]
    "13" -> "15" [dir=back tooltip="include"]
    "13" -> "16" [dir=back tooltip="include"]
    "13" -> "17" [dir=back tooltip="include"]
    "13" -> "18" [dir=back tooltip="include"]
    "13" -> "19" [dir=back tooltip="include"]
    "32" -> "8" [dir=back tooltip="include"]
    "32" -> "14" [dir=back tooltip="include"]
    "32" -> "5" [dir=back tooltip="include"]
    "32" -> "6" [dir=back tooltip="include"]
    "32" -> "15" [dir=back tooltip="include"]
    "32" -> "19" [dir=back tooltip="include"]
    "32" -> "12" [dir=back tooltip="include"]
    "33" -> "5" [dir=back tooltip="include"]
    "33" -> "6" [dir=back tooltip="include"]
    "33" -> "7" [dir=back tooltip="include"]
    "33" -> "26" [dir=back tooltip="include"]
    "33" -> "34" [dir=back tooltip="include"]
    "33" -> "24" [dir=back tooltip="include"]
    "33" -> "35" [dir=back tooltip="include"]
    "33" -> "15" [dir=back tooltip="include"]
    "33" -> "36" [dir=back tooltip="include"]
    "33" -> "16" [dir=back tooltip="include"]
    "33" -> "37" [dir=back tooltip="include"]
    "33" -> "17" [dir=back tooltip="include"]
    "7" -> "8" [dir=back tooltip="include"]
    "7" -> "5" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "11" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
    "9" -> "12" [dir=back tooltip="include"]
    "42" -> "43" [dir=back tooltip="include"]
    "42" -> "8" [dir=back tooltip="include"]
    "42" -> "2" [dir=back tooltip="include"]
    "42" -> "45" [dir=back tooltip="include"]
    "42" -> "14" [dir=back tooltip="include"]
    "42" -> "5" [dir=back tooltip="include"]
    "42" -> "28" [dir=back tooltip="include"]
    "42" -> "6" [dir=back tooltip="include"]
    "42" -> "26" [dir=back tooltip="include"]
    "42" -> "24" [dir=back tooltip="include"]
    "42" -> "35" [dir=back tooltip="include"]
    "42" -> "15" [dir=back tooltip="include"]
    "42" -> "36" [dir=back tooltip="include"]
    "42" -> "16" [dir=back tooltip="include"]
    "42" -> "37" [dir=back tooltip="include"]
    "42" -> "38" [dir=back tooltip="include"]
    "42" -> "39" [dir=back tooltip="include"]
    "42" -> "17" [dir=back tooltip="include"]
    "42" -> "48" [dir=back tooltip="include"]
    "42" -> "40" [dir=back tooltip="include"]
    "42" -> "31" [dir=back tooltip="include"]
    "42" -> "32" [dir=back tooltip="include"]
    "36" -> "15" [dir=back tooltip="include"]
    "36" -> "16" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "42" [dir=back tooltip="include"]
    "1" -> "49" [dir=back tooltip="include"]
}

Typedefs

void() timer_list_callback_t (struct TimerListItem *)

Functions

static inline void timer_list_init(struct TimerList *tw)
static inline void timer_list_insert(struct TimerList *tw, struct TimerListItem *item)
static inline void timer_list_remove(struct TimerList *tw, struct TimerListItem *item)
static inline bool timer_list_is_empty(const struct TimerList *tw)
static inline int timer_list_timers_count(const struct TimerList *tw)
static inline void timer_list_item_init(struct TimerListItem *it, uint64_t expiry)
void timer_list_next(struct TimerList *tw, uint64_t now, timer_list_callback_t cb)
file trace.h

This graph shows which files directly or indirectly include trace.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/trace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/trace.h" fillcolor="#BFBFBF"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
    "1" -> "10" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
    "1" -> "12" [dir=back tooltip="include"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "7" [dir=back tooltip="include"]
}

Defines

TRACE(...)
DEBUG_FAIL_NULL(expr)
USED_BY_TRACE(x)
file utils.h

Include dependency graph for utils.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/utils.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/utils.h" fillcolor="#BFBFBF"]
    "2" [label="stddef.h" tooltip="stddef.h"]
    "1" -> "2" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include utils.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "54" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "55" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/iff.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/iff.c"]
    "53" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
    "52" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
    "35" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom.c"]
    "24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
    "57" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
    "62" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.c"]
    "61" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
    "64" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/tempstack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/tempstack.h"]
    "29" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.c"]
    "65" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c"]
    "28" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/inet.h"]
    "20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "46" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
    "56" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.h"]
    "44" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.c"]
    "45" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/port.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/utils.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/utils.h" fillcolor="#BFBFBF"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atom_table.c"]
    "63" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
    "37" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "36" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
    "50" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/refc_binary.h"]
    "47" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/mailbox.h"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "34" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
    "60" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
    "33" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
    "51" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.h"]
    "31" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "23" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
    "27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.h"]
    "43" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
    "26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "49" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.h"]
    "32" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
    "40" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
    "30" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
    "41" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
    "21" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
    "38" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "39" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.c"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/debug.h"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "59" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
    "19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.c"]
    "22" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "48" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/memory.h"]
    "42" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
    "58" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/externalterm.h"]
    "13" -> "6" [dir=back tooltip="include"]
    "13" -> "14" [dir=back tooltip="include"]
    "13" -> "15" [dir=back tooltip="include"]
    "13" -> "16" [dir=back tooltip="include"]
    "55" -> "6" [dir=back tooltip="include"]
    "55" -> "7" [dir=back tooltip="include"]
    "55" -> "54" [dir=back tooltip="include"]
    "55" -> "19" [dir=back tooltip="include"]
    "55" -> "15" [dir=back tooltip="include"]
    "55" -> "22" [dir=back tooltip="include"]
    "55" -> "25" [dir=back tooltip="include"]
    "52" -> "53" [dir=back tooltip="include"]
    "52" -> "31" [dir=back tooltip="include"]
    "52" -> "16" [dir=back tooltip="include"]
    "35" -> "15" [dir=back tooltip="include"]
    "57" -> "9" [dir=back tooltip="include"]
    "57" -> "15" [dir=back tooltip="include"]
    "57" -> "22" [dir=back tooltip="include"]
    "57" -> "24" [dir=back tooltip="include"]
    "61" -> "6" [dir=back tooltip="include"]
    "61" -> "62" [dir=back tooltip="include"]
    "61" -> "54" [dir=back tooltip="include"]
    "61" -> "9" [dir=back tooltip="include"]
    "61" -> "31" [dir=back tooltip="include"]
    "61" -> "15" [dir=back tooltip="include"]
    "61" -> "16" [dir=back tooltip="include"]
    "61" -> "32" [dir=back tooltip="include"]
    "61" -> "30" [dir=back tooltip="include"]
    "61" -> "22" [dir=back tooltip="include"]
    "61" -> "23" [dir=back tooltip="include"]
    "61" -> "44" [dir=back tooltip="include"]
    "61" -> "45" [dir=back tooltip="include"]
    "61" -> "24" [dir=back tooltip="include"]
    "61" -> "26" [dir=back tooltip="include"]
    "61" -> "37" [dir=back tooltip="include"]
    "64" -> "31" [dir=back tooltip="include"]
    "64" -> "19" [dir=back tooltip="include"]
    "64" -> "25" [dir=back tooltip="include"]
    "64" -> "33" [dir=back tooltip="include"]
    "28" -> "29" [dir=back tooltip="include"]
    "28" -> "30" [dir=back tooltip="include"]
    "28" -> "22" [dir=back tooltip="include"]
    "28" -> "23" [dir=back tooltip="include"]
    "46" -> "47" [dir=back tooltip="include"]
    "46" -> "15" [dir=back tooltip="include"]
    "46" -> "16" [dir=back tooltip="include"]
    "46" -> "22" [dir=back tooltip="include"]
    "46" -> "20" [dir=back tooltip="include"]
    "56" -> "13" [dir=back tooltip="include"]
    "56" -> "34" [dir=back tooltip="include"]
    "56" -> "39" [dir=back tooltip="include"]
    "56" -> "16" [dir=back tooltip="include"]
    "56" -> "35" [dir=back tooltip="include"]
    "56" -> "57" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "12" -> "7" [dir=back tooltip="include"]
    "12" -> "17" [dir=back tooltip="include"]
    "12" -> "21" [dir=back tooltip="include"]
    "12" -> "8" [dir=back tooltip="include"]
    "12" -> "9" [dir=back tooltip="include"]
    "12" -> "27" [dir=back tooltip="include"]
    "12" -> "19" [dir=back tooltip="include"]
    "12" -> "14" [dir=back tooltip="include"]
    "12" -> "34" [dir=back tooltip="include"]
    "12" -> "15" [dir=back tooltip="include"]
    "12" -> "39" [dir=back tooltip="include"]
    "12" -> "32" [dir=back tooltip="include"]
    "12" -> "30" [dir=back tooltip="include"]
    "12" -> "22" [dir=back tooltip="include"]
    "12" -> "23" [dir=back tooltip="include"]
    "12" -> "44" [dir=back tooltip="include"]
    "12" -> "45" [dir=back tooltip="include"]
    "12" -> "25" [dir=back tooltip="include"]
    "12" -> "26" [dir=back tooltip="include"]
    "12" -> "46" [dir=back tooltip="include"]
    "12" -> "36" [dir=back tooltip="include"]
    "12" -> "33" [dir=back tooltip="include"]
    "45" -> "29" [dir=back tooltip="include"]
    "45" -> "15" [dir=back tooltip="include"]
    "45" -> "30" [dir=back tooltip="include"]
    "45" -> "22" [dir=back tooltip="include"]
    "45" -> "23" [dir=back tooltip="include"]
    "45" -> "44" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "5" [dir=back tooltip="include"]
    "1" -> "6" [dir=back tooltip="include"]
    "1" -> "7" [dir=back tooltip="include"]
    "1" -> "8" [dir=back tooltip="include"]
    "1" -> "9" [dir=back tooltip="include"]
    "1" -> "10" [dir=back tooltip="include"]
    "1" -> "11" [dir=back tooltip="include"]
    "1" -> "19" [dir=back tooltip="include"]
    "1" -> "48" [dir=back tooltip="include"]
    "1" -> "14" [dir=back tooltip="include"]
    "1" -> "15" [dir=back tooltip="include"]
    "1" -> "16" [dir=back tooltip="include"]
    "1" -> "22" [dir=back tooltip="include"]
    "1" -> "25" [dir=back tooltip="include"]
    "1" -> "26" [dir=back tooltip="include"]
    "1" -> "20" [dir=back tooltip="include"]
    "1" -> "64" [dir=back tooltip="include"]
    "1" -> "51" [dir=back tooltip="include"]
    "1" -> "65" [dir=back tooltip="include"]
    "63" -> "6" [dir=back tooltip="include"]
    "36" -> "16" [dir=back tooltip="include"]
    "36" -> "37" [dir=back tooltip="include"]
    "50" -> "9" [dir=back tooltip="include"]
    "50" -> "19" [dir=back tooltip="include"]
    "50" -> "23" [dir=back tooltip="include"]
    "50" -> "25" [dir=back tooltip="include"]
    "50" -> "26" [dir=back tooltip="include"]
    "50" -> "51" [dir=back tooltip="include"]
    "11" -> "7" [dir=back tooltip="include"]
    "11" -> "12" [dir=back tooltip="include"]
    "11" -> "47" [dir=back tooltip="include"]
    "11" -> "15" [dir=back tooltip="include"]
    "11" -> "16" [dir=back tooltip="include"]
    "11" -> "22" [dir=back tooltip="include"]
    "11" -> "44" [dir=back tooltip="include"]
    "34" -> "13" [dir=back tooltip="include"]
    "34" -> "14" [dir=back tooltip="include"]
    "34" -> "15" [dir=back tooltip="include"]
    "34" -> "16" [dir=back tooltip="include"]
    "34" -> "35" [dir=back tooltip="include"]
    "34" -> "36" [dir=back tooltip="include"]
    "34" -> "38" [dir=back tooltip="include"]
    "60" -> "5" [dir=back tooltip="include"]
    "60" -> "9" [dir=back tooltip="include"]
    "60" -> "15" [dir=back tooltip="include"]
    "51" -> "52" [dir=back tooltip="include"]
    "51" -> "7" [dir=back tooltip="include"]
    "51" -> "12" [dir=back tooltip="include"]
    "51" -> "54" [dir=back tooltip="include"]
    "51" -> "55" [dir=back tooltip="include"]
    "51" -> "56" [dir=back tooltip="include"]
    "51" -> "58" [dir=back tooltip="include"]
    "51" -> "59" [dir=back tooltip="include"]
    "51" -> "29" [dir=back tooltip="include"]
    "51" -> "31" [dir=back tooltip="include"]
    "51" -> "27" [dir=back tooltip="include"]
    "51" -> "19" [dir=back tooltip="include"]
    "51" -> "14" [dir=back tooltip="include"]
    "51" -> "34" [dir=back tooltip="include"]
    "51" -> "15" [dir=back tooltip="include"]
    "51" -> "32" [dir=back tooltip="include"]
    "51" -> "30" [dir=back tooltip="include"]
    "51" -> "22" [dir=back tooltip="include"]
    "51" -> "23" [dir=back tooltip="include"]
    "51" -> "63" [dir=back tooltip="include"]
    "51" -> "45" [dir=back tooltip="include"]
    "51" -> "57" [dir=back tooltip="include"]
    "51" -> "36" [dir=back tooltip="include"]
    "51" -> "33" [dir=back tooltip="include"]
    "27" -> "28" [dir=back tooltip="include"]
    "27" -> "31" [dir=back tooltip="include"]
    "27" -> "15" [dir=back tooltip="include"]
    "27" -> "32" [dir=back tooltip="include"]
    "27" -> "30" [dir=back tooltip="include"]
    "27" -> "22" [dir=back tooltip="include"]
    "27" -> "23" [dir=back tooltip="include"]
    "27" -> "24" [dir=back tooltip="include"]
    "27" -> "33" [dir=back tooltip="include"]
    "43" -> "23" [dir=back tooltip="include"]
    "49" -> "9" [dir=back tooltip="include"]
    "49" -> "50" [dir=back tooltip="include"]
    "49" -> "26" [dir=back tooltip="include"]
    "40" -> "32" [dir=back tooltip="include"]
    "41" -> "30" [dir=back tooltip="include"]
    "21" -> "7" [dir=back tooltip="include"]
    "21" -> "9" [dir=back tooltip="include"]
    "21" -> "19" [dir=back tooltip="include"]
    "21" -> "22" [dir=back tooltip="include"]
    "21" -> "23" [dir=back tooltip="include"]
    "21" -> "24" [dir=back tooltip="include"]
    "21" -> "25" [dir=back tooltip="include"]
    "21" -> "26" [dir=back tooltip="include"]
    "38" -> "7" [dir=back tooltip="include"]
    "38" -> "9" [dir=back tooltip="include"]
    "38" -> "14" [dir=back tooltip="include"]
    "38" -> "15" [dir=back tooltip="include"]
    "38" -> "22" [dir=back tooltip="include"]
    "38" -> "26" [dir=back tooltip="include"]
    "38" -> "20" [dir=back tooltip="include"]
    "39" -> "14" [dir=back tooltip="include"]
    "39" -> "15" [dir=back tooltip="include"]
    "39" -> "16" [dir=back tooltip="include"]
    "39" -> "32" [dir=back tooltip="include"]
    "39" -> "40" [dir=back tooltip="include"]
    "39" -> "30" [dir=back tooltip="include"]
    "39" -> "41" [dir=back tooltip="include"]
    "39" -> "22" [dir=back tooltip="include"]
    "39" -> "42" [dir=back tooltip="include"]
    "39" -> "23" [dir=back tooltip="include"]
    "39" -> "43" [dir=back tooltip="include"]
    "39" -> "24" [dir=back tooltip="include"]
    "16" -> "7" [dir=back tooltip="include"]
    "16" -> "14" [dir=back tooltip="include"]
    "17" -> "18" [dir=back tooltip="include"]
    "17" -> "19" [dir=back tooltip="include"]
    "17" -> "16" [dir=back tooltip="include"]
    "17" -> "20" [dir=back tooltip="include"]
    "59" -> "60" [dir=back tooltip="include"]
    "59" -> "7" [dir=back tooltip="include"]
    "59" -> "12" [dir=back tooltip="include"]
    "59" -> "61" [dir=back tooltip="include"]
    "59" -> "9" [dir=back tooltip="include"]
    "59" -> "14" [dir=back tooltip="include"]
    "59" -> "34" [dir=back tooltip="include"]
    "59" -> "15" [dir=back tooltip="include"]
    "59" -> "32" [dir=back tooltip="include"]
    "59" -> "30" [dir=back tooltip="include"]
    "59" -> "41" [dir=back tooltip="include"]
    "59" -> "22" [dir=back tooltip="include"]
    "59" -> "42" [dir=back tooltip="include"]
    "59" -> "23" [dir=back tooltip="include"]
    "59" -> "43" [dir=back tooltip="include"]
    "59" -> "44" [dir=back tooltip="include"]
    "59" -> "45" [dir=back tooltip="include"]
    "59" -> "24" [dir=back tooltip="include"]
    "59" -> "57" [dir=back tooltip="include"]
    "59" -> "46" [dir=back tooltip="include"]
    "59" -> "37" [dir=back tooltip="include"]
    "59" -> "38" [dir=back tooltip="include"]
    "48" -> "21" [dir=back tooltip="include"]
    "48" -> "28" [dir=back tooltip="include"]
    "48" -> "47" [dir=back tooltip="include"]
    "48" -> "19" [dir=back tooltip="include"]
    "48" -> "15" [dir=back tooltip="include"]
    "48" -> "22" [dir=back tooltip="include"]
    "48" -> "45" [dir=back tooltip="include"]
    "48" -> "25" [dir=back tooltip="include"]
    "48" -> "49" [dir=back tooltip="include"]
    "48" -> "37" [dir=back tooltip="include"]
    "48" -> "51" [dir=back tooltip="include"]
    "42" -> "22" [dir=back tooltip="include"]
    "42" -> "23" [dir=back tooltip="include"]
    "58" -> "8" [dir=back tooltip="include"]
    "58" -> "14" [dir=back tooltip="include"]
    "58" -> "15" [dir=back tooltip="include"]
}

Defines

READ_32_ALIGNED(ptr)
READ_64_UNALIGNED(ptr)
WRITE_64_UNALIGNED(ptr, val)
READ_32_UNALIGNED(ptr)
WRITE_32_UNALIGNED(ptr, val)
READ_16_UNALIGNED(ptr)
WRITE_16_UNALIGNED(ptr, val)
ENDIAN_SWAP_32(value)
UNUSED(x)
IS_NULL_PTR(x)
LIKELY(x)
UNLIKELY(x)
HOT_FUNC
COLD_FUNC
MALLOC_LIKE
MUST_CHECK
AVM_ABORT()
CAST_FUNC_TO_VOID_PTR(f)
CAST_VOID_TO_FUNC_PTR(f)
CONTAINER_OF(ptr, type, member)
PRINTF_FORMAT_ARGS(...)
NO_DISCARD(...)
UNREACHABLE(...)

Typedefs

typedef void (*func_ptr_t)(void)
file valueshashtable.c

Include dependency graph for valueshashtable.c:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "7" [label="stdbool.h" tooltip="stdbool.h"]
    "8" [label="stdatomic.h" tooltip="stdatomic.h"]
    "5" [label="stdlib.h" tooltip="stdlib.h"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c" fillcolor="#BFBFBF"]
    "2" [label="valueshashtable.h" tooltip="valueshashtable.h"]
    "3" [label="utils.h" tooltip="utils.h"]
    "4" [label="stddef.h" tooltip="stddef.h"]
    "6" [label="smp.h" tooltip="smp.h"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "5" [dir=forward tooltip="include"]
    "1" -> "6" [dir=forward tooltip="include"]
    "3" -> "4" [dir=forward tooltip="include"]
    "6" -> "7" [dir=forward tooltip="include"]
    "6" -> "8" [dir=forward tooltip="include"]
}

Defines

SMP_RDLOCK(htable)
SMP_WRLOCK(htable)
SMP_UNLOCK(htable)
DEFAULT_SIZE

Functions

struct ValuesHashTable *valueshashtable_new()
int valueshashtable_insert(struct ValuesHashTable *hash_table, unsigned long key, unsigned long value)
unsigned long valueshashtable_get_value(const struct ValuesHashTable *hash_table, unsigned long key, unsigned long default_value)
int valueshashtable_has_key(const struct ValuesHashTable *hash_table, unsigned long key)
file valueshashtable.h

This graph shows which files directly or indirectly include valueshashtable.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.c"]
    "5" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/bif.h"]
    "11" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
    "18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c"]
    "1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/valueshashtable.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/valueshashtable.h" fillcolor="#BFBFBF"]
    "17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/scheduler.c"]
    "10" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/context.c"]
    "13" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
    "12" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
    "7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.c"]
    "4" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
    "3" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/interop.c"]
    "16" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
    "14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/sys.h"]
    "8" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
    "9" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/opcodesswitch.h"]
    "2" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
    "15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
    "5" -> "6" [dir=back tooltip="include"]
    "5" -> "7" [dir=back tooltip="include"]
    "5" -> "8" [dir=back tooltip="include"]
    "5" -> "9" [dir=back tooltip="include"]
    "11" -> "8" [dir=back tooltip="include"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
    "1" -> "4" [dir=back tooltip="include"]
    "1" -> "18" [dir=back tooltip="include"]
    "12" -> "9" [dir=back tooltip="include"]
    "12" -> "13" [dir=back tooltip="include"]
    "4" -> "5" [dir=back tooltip="include"]
    "4" -> "7" [dir=back tooltip="include"]
    "4" -> "8" [dir=back tooltip="include"]
    "4" -> "9" [dir=back tooltip="include"]
    "4" -> "11" [dir=back tooltip="include"]
    "4" -> "12" [dir=back tooltip="include"]
    "4" -> "14" [dir=back tooltip="include"]
    "14" -> "10" [dir=back tooltip="include"]
    "14" -> "2" [dir=back tooltip="include"]
    "14" -> "7" [dir=back tooltip="include"]
    "14" -> "8" [dir=back tooltip="include"]
    "14" -> "15" [dir=back tooltip="include"]
    "14" -> "16" [dir=back tooltip="include"]
    "14" -> "17" [dir=back tooltip="include"]
    "9" -> "10" [dir=back tooltip="include"]
    "9" -> "7" [dir=back tooltip="include"]
}

Defines

TYPEDEF_RWLOCK

Typedefs

typedef struct RWLock RWLock

Functions

struct ValuesHashTable *valueshashtable_new()
int valueshashtable_insert(struct ValuesHashTable *hash_table, unsigned long key, unsigned long value)
unsigned long valueshashtable_get_value(const struct ValuesHashTable *hash_table, unsigned long key, unsigned long default_value)
int valueshashtable_has_key(const struct ValuesHashTable *hash_table, unsigned long key)
dir /home/runner/work/AtomVM/AtomVM/src/libAtomVM
dir /home/runner/work/AtomVM/AtomVM/src