Data Structures

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

A structure to represent atom strings and int pairs. Such as {“\x8” “universe”, 42}.

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 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

Warning

doxygenstruct: Cannot find class “BuiltInAtomSignal” in doxygen xml output for project “libatomvm” from directory: /__w/AtomVM/AtomVM/build/doc/xml/

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"] "22" [label="SpinLock" tooltip="SpinLock"] "18" [label="ResourceType" tooltip="ResourceType"] "6" [label="Module" tooltip="Module"] "5" [label="ListHead" tooltip="ListHead"] "10" [label="HeapFragment" tooltip="HeapFragment"] "16" [label="RefcBinaryQueueItem" tooltip="RefcBinaryQueueItem"] "11" [label="GlobalContext" tooltip="GlobalContext"] "15" [label="HNodeGroup" tooltip="HNodeGroup"] "21" [label="TimerList" tooltip="TimerList"] "8" [label="LiteralEntry" tooltip="LiteralEntry"] "3" [label="MailboxMessage" tooltip="MailboxMessage"] "9" [label="Heap" tooltip="Heap"] "1" [label="Context" tooltip="Context" fillcolor="#BFBFBF"] "12" [label="MessageQueueItem" tooltip="MessageQueueItem"] "20" [label="AtomsHashTable" tooltip="AtomsHashTable"] "17" [label="RefcBinary" tooltip="RefcBinary"] "2" [label="Mailbox" tooltip="Mailbox"] "13" [label="AtomTable" tooltip="AtomTable"] "7" [label="ExportedFunction" tooltip="ExportedFunction"] "4" [label="TimerListItem" tooltip="TimerListItem"] "19" [label="SyncList" tooltip="SyncList"] "14" [label="HNode" tooltip="HNode"] "18" -> "19" [dir=forward tooltip="usage"] "18" -> "11" [dir=forward tooltip="usage"] "18" -> "5" [dir=forward tooltip="usage"] "6" -> "7" [dir=forward tooltip="usage"] "6" -> "8" [dir=forward tooltip="usage"] "6" -> "5" [dir=forward tooltip="usage"] "5" -> "5" [dir=forward tooltip="usage"] "10" -> "10" [dir=forward tooltip="usage"] "16" -> "17" [dir=forward tooltip="usage"] "16" -> "16" [dir=forward tooltip="usage"] "11" -> "12" [dir=forward tooltip="usage"] "11" -> "13" [dir=forward tooltip="usage"] "11" -> "16" [dir=forward tooltip="usage"] "11" -> "19" [dir=forward tooltip="usage"] "11" -> "6" [dir=forward tooltip="usage"] "11" -> "20" [dir=forward tooltip="usage"] "11" -> "21" [dir=forward tooltip="usage"] "11" -> "22" [dir=forward tooltip="usage"] "11" -> "5" [dir=forward tooltip="usage"] "15" -> "14" [dir=forward tooltip="usage"] "15" -> "15" [dir=forward tooltip="usage"] "21" -> "5" [dir=forward tooltip="usage"] "3" -> "3" [dir=forward tooltip="usage"] "9" -> "10" [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" -> "9" [dir=forward tooltip="usage"] "1" -> "11" [dir=forward tooltip="usage"] "1" -> "5" [dir=forward tooltip="usage"] "12" -> "3" [dir=forward tooltip="usage"] "12" -> "12" [dir=forward tooltip="usage"] "20" -> "14" [dir=forward tooltip="usage"] "17" -> "18" [dir=forward tooltip="usage"] "17" -> "5" [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"] "19" -> "5" [dir=forward tooltip="usage"] "14" -> "14" [dir=forward tooltip="usage"] }

Public Members

GlobalContext *global
Heap heap
term *e
term x[16 + 1]
struct ListHead extended_x_regs
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
unsigned int leader
unsigned int has_min_heap_size
unsigned int has_max_heap_size
bool trap_exit
unsigned int trace_calls
unsigned int trace_call_args
unsigned int trace_returns
unsigned int trace_send
unsigned int trace_receive
enum ContextFlags 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"] "23" [label="SpinLock" tooltip="SpinLock"] "19" [label="ResourceType" tooltip="ResourceType"] "7" [label="Module" tooltip="Module"] "6" [label="ListHead" tooltip="ListHead"] "11" [label="HeapFragment" tooltip="HeapFragment"] "17" [label="RefcBinaryQueueItem" tooltip="RefcBinaryQueueItem"] "12" [label="GlobalContext" tooltip="GlobalContext"] "16" [label="HNodeGroup" tooltip="HNodeGroup"] "22" [label="TimerList" tooltip="TimerList"] "9" [label="LiteralEntry" tooltip="LiteralEntry"] "4" [label="MailboxMessage" tooltip="MailboxMessage"] "10" [label="Heap" tooltip="Heap"] "2" [label="Context" tooltip="Context"] "13" [label="MessageQueueItem" tooltip="MessageQueueItem"] "21" [label="AtomsHashTable" tooltip="AtomsHashTable"] "18" [label="RefcBinary" tooltip="RefcBinary"] "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"] "20" [label="SyncList" tooltip="SyncList"] "15" [label="HNode" tooltip="HNode"] "19" -> "20" [dir=forward tooltip="usage"] "19" -> "12" [dir=forward tooltip="usage"] "19" -> "6" [dir=forward tooltip="usage"] "7" -> "8" [dir=forward tooltip="usage"] "7" -> "9" [dir=forward tooltip="usage"] "7" -> "6" [dir=forward tooltip="usage"] "6" -> "6" [dir=forward tooltip="usage"] "11" -> "11" [dir=forward tooltip="usage"] "17" -> "18" [dir=forward tooltip="usage"] "17" -> "17" [dir=forward tooltip="usage"] "12" -> "13" [dir=forward tooltip="usage"] "12" -> "14" [dir=forward tooltip="usage"] "12" -> "17" [dir=forward tooltip="usage"] "12" -> "20" [dir=forward tooltip="usage"] "12" -> "7" [dir=forward tooltip="usage"] "12" -> "21" [dir=forward tooltip="usage"] "12" -> "22" [dir=forward tooltip="usage"] "12" -> "23" [dir=forward tooltip="usage"] "12" -> "6" [dir=forward tooltip="usage"] "16" -> "15" [dir=forward tooltip="usage"] "16" -> "16" [dir=forward tooltip="usage"] "22" -> "6" [dir=forward tooltip="usage"] "4" -> "4" [dir=forward tooltip="usage"] "10" -> "11" [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" -> "10" [dir=forward tooltip="usage"] "2" -> "12" [dir=forward tooltip="usage"] "2" -> "6" [dir=forward tooltip="usage"] "13" -> "4" [dir=forward tooltip="usage"] "13" -> "13" [dir=forward tooltip="usage"] "21" -> "15" [dir=forward tooltip="usage"] "18" -> "19" [dir=forward tooltip="usage"] "18" -> "6" [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"] "20" -> "6" [dir=forward tooltip="usage"] "15" -> "15" [dir=forward tooltip="usage"] }

Public Members

Context *ctx
term result
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 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"] "20" [label="SpinLock" tooltip="SpinLock"] "12" [label="ResourceType" tooltip="ResourceType"] "15" [label="Module" tooltip="Module"] "14" [label="ListHead" tooltip="ListHead"] "3" [label="HeapFragment" tooltip="HeapFragment"] "10" [label="RefcBinaryQueueItem" tooltip="RefcBinaryQueueItem"] "4" [label="GlobalContext" tooltip="GlobalContext"] "9" [label="HNodeGroup" tooltip="HNodeGroup"] "19" [label="TimerList" tooltip="TimerList"] "17" [label="LiteralEntry" tooltip="LiteralEntry"] "6" [label="MailboxMessage" tooltip="MailboxMessage"] "2" [label="Heap" tooltip="Heap"] "5" [label="MessageQueueItem" tooltip="MessageQueueItem"] "18" [label="AtomsHashTable" tooltip="AtomsHashTable"] "11" [label="RefcBinary" tooltip="RefcBinary"] "1" [label="ErlNifEnv" tooltip="ErlNifEnv" fillcolor="#BFBFBF"] "7" [label="AtomTable" tooltip="AtomTable"] "16" [label="ExportedFunction" tooltip="ExportedFunction"] "13" [label="SyncList" tooltip="SyncList"] "8" [label="HNode" tooltip="HNode"] "12" -> "13" [dir=forward tooltip="usage"] "12" -> "4" [dir=forward tooltip="usage"] "12" -> "14" [dir=forward tooltip="usage"] "15" -> "16" [dir=forward tooltip="usage"] "15" -> "17" [dir=forward tooltip="usage"] "15" -> "14" [dir=forward tooltip="usage"] "14" -> "14" [dir=forward tooltip="usage"] "3" -> "3" [dir=forward tooltip="usage"] "10" -> "11" [dir=forward tooltip="usage"] "10" -> "10" [dir=forward tooltip="usage"] "4" -> "5" [dir=forward tooltip="usage"] "4" -> "7" [dir=forward tooltip="usage"] "4" -> "10" [dir=forward tooltip="usage"] "4" -> "13" [dir=forward tooltip="usage"] "4" -> "15" [dir=forward tooltip="usage"] "4" -> "18" [dir=forward tooltip="usage"] "4" -> "19" [dir=forward tooltip="usage"] "4" -> "20" [dir=forward tooltip="usage"] "4" -> "14" [dir=forward tooltip="usage"] "9" -> "8" [dir=forward tooltip="usage"] "9" -> "9" [dir=forward tooltip="usage"] "19" -> "14" [dir=forward tooltip="usage"] "6" -> "6" [dir=forward tooltip="usage"] "2" -> "3" [dir=forward tooltip="usage"] "5" -> "6" [dir=forward tooltip="usage"] "5" -> "5" [dir=forward tooltip="usage"] "18" -> "8" [dir=forward tooltip="usage"] "11" -> "12" [dir=forward tooltip="usage"] "11" -> "14" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "4" [dir=forward tooltip="usage"] "7" -> "8" [dir=forward tooltip="usage"] "7" -> "9" [dir=forward tooltip="usage"] "13" -> "14" [dir=forward tooltip="usage"] "8" -> "8" [dir=forward tooltip="usage"] }

Public Members

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

Resource callbacks.

Members should be set to 0, 1 or 2 depending on provided callbacks. Callbacks can also be NULL if not used.

Public Members

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

Public Members

enum FunctionType type
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 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"] "17" [label="SpinLock" tooltip="SpinLock"] "9" [label="ResourceType" tooltip="ResourceType"] "12" [label="Module" tooltip="Module"] "11" [label="ListHead" tooltip="ListHead"] "7" [label="RefcBinaryQueueItem" tooltip="RefcBinaryQueueItem"] "1" [label="GlobalContext" tooltip="GlobalContext" fillcolor="#BFBFBF"] "6" [label="HNodeGroup" tooltip="HNodeGroup"] "16" [label="TimerList" tooltip="TimerList"] "14" [label="LiteralEntry" tooltip="LiteralEntry"] "3" [label="MailboxMessage" tooltip="MailboxMessage"] "2" [label="MessageQueueItem" tooltip="MessageQueueItem"] "15" [label="AtomsHashTable" tooltip="AtomsHashTable"] "8" [label="RefcBinary" tooltip="RefcBinary"] "4" [label="AtomTable" tooltip="AtomTable"] "13" [label="ExportedFunction" tooltip="ExportedFunction"] "10" [label="SyncList" tooltip="SyncList"] "5" [label="HNode" tooltip="HNode"] "9" -> "10" [dir=forward tooltip="usage"] "9" -> "1" [dir=forward tooltip="usage"] "9" -> "11" [dir=forward tooltip="usage"] "12" -> "13" [dir=forward tooltip="usage"] "12" -> "14" [dir=forward tooltip="usage"] "12" -> "11" [dir=forward tooltip="usage"] "11" -> "11" [dir=forward tooltip="usage"] "7" -> "8" [dir=forward tooltip="usage"] "7" -> "7" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "4" [dir=forward tooltip="usage"] "1" -> "7" [dir=forward tooltip="usage"] "1" -> "10" [dir=forward tooltip="usage"] "1" -> "12" [dir=forward tooltip="usage"] "1" -> "15" [dir=forward tooltip="usage"] "1" -> "16" [dir=forward tooltip="usage"] "1" -> "17" [dir=forward tooltip="usage"] "1" -> "11" [dir=forward tooltip="usage"] "6" -> "5" [dir=forward tooltip="usage"] "6" -> "6" [dir=forward tooltip="usage"] "16" -> "11" [dir=forward tooltip="usage"] "3" -> "3" [dir=forward tooltip="usage"] "2" -> "3" [dir=forward tooltip="usage"] "2" -> "2" [dir=forward tooltip="usage"] "15" -> "5" [dir=forward tooltip="usage"] "8" -> "9" [dir=forward tooltip="usage"] "8" -> "11" [dir=forward tooltip="usage"] "4" -> "5" [dir=forward tooltip="usage"] "4" -> "6" [dir=forward tooltip="usage"] "10" -> "11" [dir=forward tooltip="usage"] "5" -> "5" [dir=forward tooltip="usage"] }

Public Members

struct ListHead ready_processes
struct ListHead running_processes
struct ListHead waiting_processes
SpinLock processes_spinlock
struct MessageQueueItem *message_queue
struct RefcBinaryQueueItem *refc_queue
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 online_schedulers
int running_schedulers
bool waiting_scheduler
Mutex *schedulers_mutex
CondVar *schedulers_cv
bool 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 HNode

Public Members

struct HNode *next
AtomString key
unsigned long value
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
int32_t val24 : 24
struct Int40
int64_t val40 : 40
struct Int48
int64_t val48 : 48
struct Int56
int64_t val56 : 56
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 *outer_first
MailboxMessage *inner_first
MailboxMessage *inner_last
MailboxMessage *receive_pointer
MailboxMessage *receive_pointer_prev
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"] "4" [label="ListHead" tooltip="ListHead"] "3" [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"] "4" -> "4" [dir=forward tooltip="usage"] }

Public Members

void *import_table
CodeChunk *code
void *export_table
void *local_table
void *atom_table
void *fun_table
void *str_table
size_t str_table_len
size_t line_refs_count
const uint8_t *line_refs_table
size_t locations_count
const uint8_t *locations_table
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"] "5" [label="ListHead" tooltip="ListHead"] "4" [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"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "3" [dir=forward tooltip="usage"] "5" -> "5" [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"] }

A regular monitor or a half link.

Public Members

struct ListHead monitor_list_head
enum ContextMonitorType monitor_type
struct Nif

Collaboration diagram for Nif:

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

Public Members

struct ExportedFunction base
NifImpl nif_ptr
struct PrinterFun

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"] "17" [label="SpinLock" tooltip="SpinLock"] "2" [label="ResourceType" tooltip="ResourceType"] "12" [label="Module" tooltip="Module"] "4" [label="ListHead" tooltip="ListHead"] "11" [label="RefcBinaryQueueItem" tooltip="RefcBinaryQueueItem"] "5" [label="GlobalContext" tooltip="GlobalContext"] "10" [label="HNodeGroup" tooltip="HNodeGroup"] "16" [label="TimerList" tooltip="TimerList"] "14" [label="LiteralEntry" tooltip="LiteralEntry"] "7" [label="MailboxMessage" tooltip="MailboxMessage"] "6" [label="MessageQueueItem" tooltip="MessageQueueItem"] "15" [label="AtomsHashTable" tooltip="AtomsHashTable"] "1" [label="RefcBinary" tooltip="RefcBinary" fillcolor="#BFBFBF"] "8" [label="AtomTable" tooltip="AtomTable"] "13" [label="ExportedFunction" tooltip="ExportedFunction"] "3" [label="SyncList" tooltip="SyncList"] "9" [label="HNode" tooltip="HNode"] "2" -> "3" [dir=forward tooltip="usage"] "2" -> "5" [dir=forward tooltip="usage"] "2" -> "4" [dir=forward tooltip="usage"] "12" -> "13" [dir=forward tooltip="usage"] "12" -> "14" [dir=forward tooltip="usage"] "12" -> "4" [dir=forward tooltip="usage"] "4" -> "4" [dir=forward tooltip="usage"] "11" -> "1" [dir=forward tooltip="usage"] "11" -> "11" [dir=forward tooltip="usage"] "5" -> "6" [dir=forward tooltip="usage"] "5" -> "8" [dir=forward tooltip="usage"] "5" -> "11" [dir=forward tooltip="usage"] "5" -> "3" [dir=forward tooltip="usage"] "5" -> "12" [dir=forward tooltip="usage"] "5" -> "15" [dir=forward tooltip="usage"] "5" -> "16" [dir=forward tooltip="usage"] "5" -> "17" [dir=forward tooltip="usage"] "5" -> "4" [dir=forward tooltip="usage"] "10" -> "9" [dir=forward tooltip="usage"] "10" -> "10" [dir=forward tooltip="usage"] "16" -> "4" [dir=forward tooltip="usage"] "7" -> "7" [dir=forward tooltip="usage"] "6" -> "7" [dir=forward tooltip="usage"] "6" -> "6" [dir=forward tooltip="usage"] "15" -> "9" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "4" [dir=forward tooltip="usage"] "8" -> "9" [dir=forward tooltip="usage"] "8" -> "10" [dir=forward tooltip="usage"] "3" -> "4" [dir=forward tooltip="usage"] "9" -> "9" [dir=forward tooltip="usage"] }

Public Members

struct ListHead head
size_t 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"] "20" [label="SpinLock" tooltip="SpinLock"] "6" [label="ResourceType" tooltip="ResourceType"] "15" [label="Module" tooltip="Module"] "2" [label="AVMPackData" tooltip="AVMPackData"] "4" [label="ListHead" tooltip="ListHead"] "14" [label="RefcBinaryQueueItem" tooltip="RefcBinaryQueueItem"] "8" [label="GlobalContext" tooltip="GlobalContext"] "3" [label="AVMPackInfo" tooltip="AVMPackInfo"] "13" [label="HNodeGroup" tooltip="HNodeGroup"] "19" [label="TimerList" tooltip="TimerList"] "17" [label="LiteralEntry" tooltip="LiteralEntry"] "10" [label="MailboxMessage" tooltip="MailboxMessage"] "1" [label="RefcBinaryAVMPack" tooltip="RefcBinaryAVMPack" fillcolor="#BFBFBF"] "9" [label="MessageQueueItem" tooltip="MessageQueueItem"] "18" [label="AtomsHashTable" tooltip="AtomsHashTable"] "5" [label="RefcBinary" tooltip="RefcBinary"] "11" [label="AtomTable" tooltip="AtomTable"] "16" [label="ExportedFunction" tooltip="ExportedFunction"] "7" [label="SyncList" tooltip="SyncList"] "12" [label="HNode" tooltip="HNode"] "6" -> "7" [dir=forward tooltip="usage"] "6" -> "8" [dir=forward tooltip="usage"] "6" -> "4" [dir=forward tooltip="usage"] "15" -> "16" [dir=forward tooltip="usage"] "15" -> "17" [dir=forward tooltip="usage"] "15" -> "4" [dir=forward tooltip="usage"] "2" -> "3" [dir=forward tooltip="usage"] "2" -> "4" [dir=forward tooltip="usage"] "4" -> "4" [dir=forward tooltip="usage"] "14" -> "5" [dir=forward tooltip="usage"] "14" -> "14" [dir=forward tooltip="usage"] "8" -> "9" [dir=forward tooltip="usage"] "8" -> "11" [dir=forward tooltip="usage"] "8" -> "14" [dir=forward tooltip="usage"] "8" -> "7" [dir=forward tooltip="usage"] "8" -> "15" [dir=forward tooltip="usage"] "8" -> "18" [dir=forward tooltip="usage"] "8" -> "19" [dir=forward tooltip="usage"] "8" -> "20" [dir=forward tooltip="usage"] "8" -> "4" [dir=forward tooltip="usage"] "13" -> "12" [dir=forward tooltip="usage"] "13" -> "13" [dir=forward tooltip="usage"] "19" -> "4" [dir=forward tooltip="usage"] "10" -> "10" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "5" [dir=forward tooltip="usage"] "9" -> "10" [dir=forward tooltip="usage"] "9" -> "9" [dir=forward tooltip="usage"] "18" -> "12" [dir=forward tooltip="usage"] "5" -> "6" [dir=forward tooltip="usage"] "5" -> "4" [dir=forward tooltip="usage"] "11" -> "12" [dir=forward tooltip="usage"] "11" -> "13" [dir=forward tooltip="usage"] "7" -> "4" [dir=forward tooltip="usage"] "12" -> "12" [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"] "18" [label="SpinLock" tooltip="SpinLock"] "3" [label="ResourceType" tooltip="ResourceType"] "13" [label="Module" tooltip="Module"] "5" [label="ListHead" tooltip="ListHead"] "12" [label="RefcBinaryQueueItem" tooltip="RefcBinaryQueueItem"] "6" [label="GlobalContext" tooltip="GlobalContext"] "11" [label="HNodeGroup" tooltip="HNodeGroup"] "17" [label="TimerList" tooltip="TimerList"] "15" [label="LiteralEntry" tooltip="LiteralEntry"] "8" [label="MailboxMessage" tooltip="MailboxMessage"] "7" [label="MessageQueueItem" tooltip="MessageQueueItem"] "16" [label="AtomsHashTable" tooltip="AtomsHashTable"] "2" [label="RefcBinary" tooltip="RefcBinary"] "9" [label="AtomTable" tooltip="AtomTable"] "1" [label="ResourceMonitor" tooltip="ResourceMonitor" fillcolor="#BFBFBF"] "14" [label="ExportedFunction" tooltip="ExportedFunction"] "4" [label="SyncList" tooltip="SyncList"] "10" [label="HNode" tooltip="HNode"] "3" -> "4" [dir=forward tooltip="usage"] "3" -> "6" [dir=forward tooltip="usage"] "3" -> "5" [dir=forward tooltip="usage"] "13" -> "14" [dir=forward tooltip="usage"] "13" -> "15" [dir=forward tooltip="usage"] "13" -> "5" [dir=forward tooltip="usage"] "5" -> "5" [dir=forward tooltip="usage"] "12" -> "2" [dir=forward tooltip="usage"] "12" -> "12" [dir=forward tooltip="usage"] "6" -> "7" [dir=forward tooltip="usage"] "6" -> "9" [dir=forward tooltip="usage"] "6" -> "12" [dir=forward tooltip="usage"] "6" -> "4" [dir=forward tooltip="usage"] "6" -> "13" [dir=forward tooltip="usage"] "6" -> "16" [dir=forward tooltip="usage"] "6" -> "17" [dir=forward tooltip="usage"] "6" -> "18" [dir=forward tooltip="usage"] "6" -> "5" [dir=forward tooltip="usage"] "11" -> "10" [dir=forward tooltip="usage"] "11" -> "11" [dir=forward tooltip="usage"] "17" -> "5" [dir=forward tooltip="usage"] "8" -> "8" [dir=forward tooltip="usage"] "7" -> "8" [dir=forward tooltip="usage"] "7" -> "7" [dir=forward tooltip="usage"] "16" -> "10" [dir=forward tooltip="usage"] "2" -> "3" [dir=forward tooltip="usage"] "2" -> "5" [dir=forward tooltip="usage"] "9" -> "10" [dir=forward tooltip="usage"] "9" -> "11" [dir=forward tooltip="usage"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "5" [dir=forward tooltip="usage"] "4" -> "5" [dir=forward tooltip="usage"] "10" -> "10" [dir=forward tooltip="usage"] }

A resource monitor.

Public Members

struct ListHead resource_list_head
struct RefcBinary *resource
uint64_t ref_ticks
int32_t process_id
struct ResourceType

Collaboration diagram for ResourceType:

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

A resource type.

we need a reference to the global context as enif_release_resource needs to access the synchronized list of refc_binaries

Public Members

struct ListHead head
const char *name
GlobalContext *global
struct SyncList 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"] "18" [label="SpinLock" tooltip="SpinLock"] "1" [label="SelectEvent" tooltip="SelectEvent" fillcolor="#BFBFBF"] "3" [label="ResourceType" tooltip="ResourceType"] "13" [label="Module" tooltip="Module"] "5" [label="ListHead" tooltip="ListHead"] "12" [label="RefcBinaryQueueItem" tooltip="RefcBinaryQueueItem"] "6" [label="GlobalContext" tooltip="GlobalContext"] "11" [label="HNodeGroup" tooltip="HNodeGroup"] "17" [label="TimerList" tooltip="TimerList"] "15" [label="LiteralEntry" tooltip="LiteralEntry"] "8" [label="MailboxMessage" tooltip="MailboxMessage"] "7" [label="MessageQueueItem" tooltip="MessageQueueItem"] "16" [label="AtomsHashTable" tooltip="AtomsHashTable"] "2" [label="RefcBinary" tooltip="RefcBinary"] "9" [label="AtomTable" tooltip="AtomTable"] "14" [label="ExportedFunction" tooltip="ExportedFunction"] "4" [label="SyncList" tooltip="SyncList"] "10" [label="HNode" tooltip="HNode"] "1" -> "2" [dir=forward tooltip="usage"] "1" -> "5" [dir=forward tooltip="usage"] "3" -> "4" [dir=forward tooltip="usage"] "3" -> "6" [dir=forward tooltip="usage"] "3" -> "5" [dir=forward tooltip="usage"] "13" -> "14" [dir=forward tooltip="usage"] "13" -> "15" [dir=forward tooltip="usage"] "13" -> "5" [dir=forward tooltip="usage"] "5" -> "5" [dir=forward tooltip="usage"] "12" -> "2" [dir=forward tooltip="usage"] "12" -> "12" [dir=forward tooltip="usage"] "6" -> "7" [dir=forward tooltip="usage"] "6" -> "9" [dir=forward tooltip="usage"] "6" -> "12" [dir=forward tooltip="usage"] "6" -> "4" [dir=forward tooltip="usage"] "6" -> "13" [dir=forward tooltip="usage"] "6" -> "16" [dir=forward tooltip="usage"] "6" -> "17" [dir=forward tooltip="usage"] "6" -> "18" [dir=forward tooltip="usage"] "6" -> "5" [dir=forward tooltip="usage"] "11" -> "10" [dir=forward tooltip="usage"] "11" -> "11" [dir=forward tooltip="usage"] "17" -> "5" [dir=forward tooltip="usage"] "8" -> "8" [dir=forward tooltip="usage"] "7" -> "8" [dir=forward tooltip="usage"] "7" -> "7" [dir=forward tooltip="usage"] "16" -> "10" [dir=forward tooltip="usage"] "2" -> "3" [dir=forward tooltip="usage"] "2" -> "5" [dir=forward tooltip="usage"] "9" -> "10" [dir=forward tooltip="usage"] "9" -> "11" [dir=forward tooltip="usage"] "4" -> "5" [dir=forward tooltip="usage"] "10" -> "10" [dir=forward tooltip="usage"] }

A selectable event.

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 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 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

Enumerations

enum AtomTableCopyOpt

Values:

enumerator AtomTableNoOpts = 0
enumerator AtomTableCopyAtom = 1
enumerator AtomTableAlreadyExisting = 2
enum BitstringFlags

Values:

enumerator LittleEndianInteger = 0x2
enumerator SignedInteger = 0x4
enumerator NativeEndianInteger = 0x10
enumerator LittleEndianIntegerMask = LittleEndianInteger
enum CharDataEncoding

Values:

enumerator Latin1Encoding
enumerator UTF8Encoding
enumerator UCS4NativeEncoding
enum ContextFlags

Values:

enumerator NoFlags = 0
enumerator WaitingTimeout = 1
enumerator WaitingTimeoutExpired = 2
enumerator Running = 4
enumerator Ready = 8
enumerator Killed = 16
enumerator Trap = 32
enum DictionaryFunctionResult

Values:

enumerator DictionaryOk
enumerator DictionaryMemoryAllocFail
enum ErlNifResourceFlags

resource flags

Values:

enumerator ERL_NIF_RT_CREATE = 1
enum ErlNifSelectFlags

enif_select mode flags

ERL_NIF_SELECT_CANCEL which was introduced with OTP-22, is unimplemented.

Values:

enumerator ERL_NIF_SELECT_READ = 1
enumerator ERL_NIF_SELECT_WRITE = 2
enumerator ERL_NIF_SELECT_STOP = 4
enum ExternalTermOpts

Values:

enumerator ExternalTermNoOpts = 0
enumerator ExternalTermToHeapFragment = 1
enum ExternalTermResult

Values:

enumerator EXTERNAL_TERM_OK = 0
enumerator EXTERNAL_TERM_BAD_ARG = 1
enumerator EXTERNAL_TERM_MALLOC = 2
enumerator EXTERNAL_TERM_HEAP_ALLOC = 3
enum FunctionType

Values:

enumerator InvalidFunctionType = 0
enumerator NIFFunctionType = 2
enumerator UnresolvedFunctionCall = 3
enumerator ModuleFunction = 4
enumerator BIFFunctionType = 5
enumerator GCBIFFunctionType = 6
enum GenMessageParseResult

Values:

enumerator GenCallMessage
enumerator GenMessageParseError
enum HeapGrowthStrategy

Values:

enumerator BoundedFreeHeapGrowth = 0
enumerator MinimumHeapGrowth
enumerator FibonacciHeapGrowth
enum inet_domain

Values:

enumerator InetInvalidDomain = 0
enumerator InetDomain
enum inet_protocol

Values:

enumerator InetInvalidProtocol = 0
enumerator InetIpProtocol
enumerator InetTcpProtocol
enumerator InetUdpProtocol
enum inet_type

Values:

enumerator InetInvalidType = 0
enumerator InetStreamType
enumerator InetDgramType
enum InteropFunctionResult

Values:

enumerator InteropOk
enumerator InteropMemoryAllocFail
enumerator InteropBadArg
enum MemoryAllocMode

Values:

enumerator MEMORY_NO_SHRINK = 0
enumerator MEMORY_CAN_SHRINK = 1
enumerator MEMORY_FORCE_SHRINK = 2
enumerator MEMORY_NO_GC = 3
enum MemoryGCResult

Values:

enumerator MEMORY_GC_OK = 0
enumerator MEMORY_GC_ERROR_FAILED_ALLOCATION = 1
enumerator MEMORY_GC_DENIED_ALLOCATION = 2
enum MessageType

Values:

enumerator NormalMessage
enumerator KillSignal
enumerator GCSignal
enumerator ProcessInfoRequestSignal
enumerator TrapAnswerSignal
enumerator TrapExceptionSignal
enumerator FlushMonitorSignal
enumerator FlushInfoMonitorSignal
enumerator MonitorSignal
enumerator UnlinkIDSignal
enumerator UnlinkIDAckSignal
enumerator LinkExitSignal
enumerator DemonitorSignal
enumerator MonitorDownSignal
enum ModuleLoadResult

Values:

enumerator MODULE_LOAD_OK = 0
enumerator MODULE_ERROR_FAILED_ALLOCATION = 1
enum NativeHandlerResult

Values:

enumerator NativeTerminate = 1
enumerator NativeContinue
enum OpenAVMResult

Values:

enumerator AVM_OPEN_OK = 0
enumerator AVM_OPEN_FAILED_ALLOC = 1
enumerator AVM_OPEN_INVALID = 2
enumerator AVM_OPEN_CANNOT_OPEN = 3
enumerator AVM_OPEN_CANNOT_READ = 4
enumerator AVM_OPEN_NOT_SUPPORTED = 5
enum RefcBinaryFlags

Values:

enumerator RefcNoFlags = 0
enumerator RefcBinaryIsConst
enum SocketErrors

Values:

enumerator SocketClosed = 0
enumerator SocketWouldBlock = -1
enumerator SocketOtherError = -2
enum TermCompareOpts

Values:

enumerator TermCompareNoOpts = 0
enumerator TermCompareExact = 1
enum TermCompareResult

Values:

enumerator TermCompareMemoryAllocFail = 0
enumerator TermEquals = 1
enumerator TermLessThan = 2
enumerator TermGreaterThan = 4
enum UnicodeConversionResult

Values:

enumerator UnicodeOk = InteropOk
enumerator UnicodeMemoryAllocFail = InteropMemoryAllocFail
enumerator UnicodeBadArg = InteropBadArg
enumerator UnicodeError
enumerator UnicodeIncompleteTransform
enum UnicodeTransformDecodeResult

Values:

enumerator UnicodeTransformDecodeSuccess
enumerator UnicodeTransformDecodeFail
enumerator UnicodeTransformDecodeIncomplete