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"]
"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"]
"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"]
"14" -> "5" [dir=forward tooltip="include"]
"14" -> "6" [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"]
"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"]
"8" -> "4" [dir=forward tooltip="include"]
"8" -> "6" [dir=forward tooltip="include"]
"8" -> "9" [dir=forward tooltip="include"]
"8" -> "10" [dir=forward tooltip="include"]
"8" -> "14" [dir=forward tooltip="include"]
"17" -> "3" [dir=forward tooltip="include"]
}](../../../_images/graphviz-c20fbc7054f38a0f782b19207715524fe7565143.png)
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"]
"7" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
"26" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
"27" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
"1" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" fillcolor="#BFBFBF"]
"11" [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/stacktrace.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
"8" [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"]
"6" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/module.h"]
"15" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/term.c"]
"22" [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/otp_ssl.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
"25" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/portnifloader.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/portnifloader.c"]
"24" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/portnifloader.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/portnifloader.h"]
"14" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/resources.c"]
"17" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
"18" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
"19" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
"20" [label="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/home/runner/work/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
"10" [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"]
"16" [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/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"]
"21" [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"]
"7" -> "5" [dir=back tooltip="include"]
"27" -> "12" [dir=back tooltip="include"]
"27" -> "5" [dir=back tooltip="include"]
"27" -> "13" [dir=back tooltip="include"]
"27" -> "26" [dir=back tooltip="include"]
"1" -> "2" [dir=back tooltip="include"]
"1" -> "6" [dir=back tooltip="include"]
"1" -> "16" [dir=back tooltip="include"]
"1" -> "7" [dir=back tooltip="include"]
"1" -> "27" [dir=back tooltip="include"]
"8" -> "9" [dir=back tooltip="include"]
"6" -> "2" [dir=back tooltip="include"]
"6" -> "4" [dir=back tooltip="include"]
"6" -> "5" [dir=back tooltip="include"]
"6" -> "7" [dir=back tooltip="include"]
"6" -> "8" [dir=back tooltip="include"]
"6" -> "10" [dir=back tooltip="include"]
"6" -> "15" [dir=back tooltip="include"]
"23" -> "22" [dir=back tooltip="include"]
"24" -> "25" [dir=back tooltip="include"]
"18" -> "17" [dir=back tooltip="include"]
"20" -> "19" [dir=back tooltip="include"]
"10" -> "11" [dir=back tooltip="include"]
"10" -> "12" [dir=back tooltip="include"]
"10" -> "4" [dir=back tooltip="include"]
"10" -> "5" [dir=back tooltip="include"]
"10" -> "13" [dir=back tooltip="include"]
"10" -> "14" [dir=back tooltip="include"]
"16" -> "4" [dir=back tooltip="include"]
"16" -> "5" [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" -> "13" [dir=back tooltip="include"]
"16" -> "21" [dir=back tooltip="include"]
"16" -> "22" [dir=back tooltip="include"]
"16" -> "23" [dir=back tooltip="include"]
"16" -> "24" [dir=back tooltip="include"]
"16" -> "26" [dir=back tooltip="include"]
"21" -> "13" [dir=back tooltip="include"]
"21" -> "22" [dir=back tooltip="include"]
}](../../../_images/graphviz-dbc5a8be94c1c2ad93bf84423dd710f01407a0a1.png)
Module exported functions structs and macros.
Structs required to handle both exported/imported NIFs and functions.
Defines
-
TYPEDEF_MODULE
-
EXPORTED_FUNCTION_TO_BIF(func) ((const struct Bif *) (((char *) (func)) - ((unsigned long) &((const struct Bif *) 0)->base)))
-
EXPORTED_FUNCTION_TO_GCBIF(func) ((const struct GCBif *) (((char *) (func)) - ((unsigned long) &((const struct GCBif *) 0)->base)))
-
EXPORTED_FUNCTION_TO_NIF(func) ((const struct Nif *) (((char *) (func)) - ((unsigned long) &((const struct Nif *) 0)->base)))
-
EXPORTED_FUNCTION_TO_UNRESOLVED_FUNCTION_CALL(func) ((struct UnresolvedFunctionCall *) (((char *) (func)) - ((unsigned long) &((struct UnresolvedFunctionCall *) 0)->base)))
-
EXPORTED_FUNCTION_TO_MODULE_FUNCTION(func) ((const struct ModuleFunction *) (((char *) (func)) - ((unsigned long) &((const struct ModuleFunction *) 0)->base)))
Typedefs
Enums
-
struct ExportedFunction
- #include <exportedfunction.h>
Public Members
-
enum FunctionType type
-
enum FunctionType type
-
struct Bif
- #include <exportedfunction.h>
Collaboration diagram for Bif:
-
struct GCBif
- #include <exportedfunction.h>
Collaboration diagram for GCBif:
Public Members
-
struct ExportedFunction base
-
GCBifImpl1 gcbif1_ptr
-
GCBifImpl2 gcbif2_ptr
-
GCBifImpl3 gcbif3_ptr
-
struct ExportedFunction base
-
struct Nif
- #include <exportedfunction.h>
Collaboration diagram for Nif:
-
struct UnresolvedFunctionCall
- #include <exportedfunction.h>
Collaboration diagram for UnresolvedFunctionCall:
Public Members
-
struct ExportedFunction base
-
int module_atom_index
-
int function_atom_index
-
int arity
-
struct ExportedFunction base
-
struct ModuleFunction
- #include <exportedfunction.h>
Collaboration diagram for ModuleFunction: