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="/__w/AtomVM/AtomVM/src/libAtomVM/utils.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/utils.h" fillcolor="#BFBFBF"]
"4" [label="stdlib.h" tooltip="stdlib.h"]
"2" [label="stddef.h" tooltip="stddef.h"]
"3" [label="stdio.h" tooltip="stdio.h"]
"1" -> "2" [dir=forward tooltip="include"]
"1" -> "3" [dir=forward tooltip="include"]
"1" -> "4" [dir=forward tooltip="include"]
}](../../../_images/graphviz-4a9315b73c91f9ca099ce8d69433ed73ab26bf61.png)
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"]
"29" [label="/__w/AtomVM/AtomVM/src/libAtomVM/interop.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/interop.c"]
"23" [label="/__w/AtomVM/AtomVM/src/libAtomVM/refc_binary.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/refc_binary.c"]
"25" [label="/__w/AtomVM/AtomVM/src/libAtomVM/interop.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/interop.h"]
"19" [label="/__w/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/erl_nif_priv.h"]
"15" [label="/__w/AtomVM/AtomVM/src/libAtomVM/nifs.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/nifs.c"]
"53" [label="/__w/AtomVM/AtomVM/src/libAtomVM/refc_binary.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/refc_binary.h"]
"37" [label="/__w/AtomVM/AtomVM/src/libAtomVM/nifs.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/nifs.h"]
"48" [label="/__w/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/defaultatoms.h"]
"2" [label="/__w/AtomVM/AtomVM/src/libAtomVM/atom.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/atom.c"]
"49" [label="/__w/AtomVM/AtomVM/src/libAtomVM/dictionary.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/dictionary.c"]
"57" [label="/__w/AtomVM/AtomVM/src/libAtomVM/dictionary.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/dictionary.h"]
"1" [label="/__w/AtomVM/AtomVM/src/libAtomVM/utils.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/utils.h" fillcolor="#BFBFBF"]
"7" [label="/__w/AtomVM/AtomVM/src/libAtomVM/context.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/context.c"]
"6" [label="/__w/AtomVM/AtomVM/src/libAtomVM/bif.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/bif.c"]
"12" [label="/__w/AtomVM/AtomVM/src/libAtomVM/context.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/context.h"]
"13" [label="/__w/AtomVM/AtomVM/src/libAtomVM/bif.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/bif.h"]
"30" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_crypto.c"]
"38" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_crypto.h"]
"18" [label="/__w/AtomVM/AtomVM/src/libAtomVM/memory.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/memory.c"]
"51" [label="/__w/AtomVM/AtomVM/src/libAtomVM/memory.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/memory.h"]
"36" [label="/__w/AtomVM/AtomVM/src/libAtomVM/sys.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/sys.h"]
"14" [label="/__w/AtomVM/AtomVM/src/libAtomVM/module.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/module.c"]
"32" [label="/__w/AtomVM/AtomVM/src/libAtomVM/module.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/module.h"]
"28" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_net.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_net.c"]
"39" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_net.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_net.h"]
"61" [label="/__w/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/valueshashtable.c"]
"10" [label="/__w/AtomVM/AtomVM/src/libAtomVM/iff.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/iff.c"]
"24" [label="/__w/AtomVM/AtomVM/src/libAtomVM/resources.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/resources.c"]
"52" [label="/__w/AtomVM/AtomVM/src/libAtomVM/resources.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/resources.h"]
"27" [label="/__w/AtomVM/AtomVM/src/libAtomVM/inet.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/inet.c"]
"31" [label="/__w/AtomVM/AtomVM/src/libAtomVM/term.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/term.c"]
"26" [label="/__w/AtomVM/AtomVM/src/libAtomVM/inet.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/inet.h"]
"54" [label="/__w/AtomVM/AtomVM/src/libAtomVM/term.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/term.h"]
"58" [label="/__w/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/exportedfunction.h"]
"17" [label="/__w/AtomVM/AtomVM/src/libAtomVM/debug.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/debug.c"]
"16" [label="/__w/AtomVM/AtomVM/src/libAtomVM/debug.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/debug.h"]
"3" [label="/__w/AtomVM/AtomVM/src/libAtomVM/atom_table.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/atom_table.c"]
"8" [label="/__w/AtomVM/AtomVM/src/libAtomVM/externalterm.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/externalterm.c"]
"59" [label="/__w/AtomVM/AtomVM/src/libAtomVM/externalterm.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/externalterm.h"]
"5" [label="/__w/AtomVM/AtomVM/src/libAtomVM/avmpack.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/avmpack.c"]
"47" [label="/__w/AtomVM/AtomVM/src/libAtomVM/avmpack.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/avmpack.h"]
"9" [label="/__w/AtomVM/AtomVM/src/libAtomVM/globalcontext.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/globalcontext.c"]
"46" [label="/__w/AtomVM/AtomVM/src/libAtomVM/globalcontext.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/globalcontext.h"]
"33" [label="/__w/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/platform_nifs.h"]
"56" [label="/__w/AtomVM/AtomVM/src/libAtomVM/bitstring.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/bitstring.c"]
"55" [label="/__w/AtomVM/AtomVM/src/libAtomVM/bitstring.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/bitstring.h"]
"60" [label="/__w/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/overflow_helpers.h"]
"44" [label="/__w/AtomVM/AtomVM/src/libAtomVM/scheduler.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/scheduler.h"]
"4" [label="/__w/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/atomshashtable.c"]
"20" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_socket.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_socket.c"]
"40" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_socket.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_socket.h"]
"35" [label="/__w/AtomVM/AtomVM/src/libAtomVM/stacktrace.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/stacktrace.c"]
"34" [label="/__w/AtomVM/AtomVM/src/libAtomVM/stacktrace.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/stacktrace.h"]
"21" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_ssl.c"]
"41" [label="/__w/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/otp_ssl.h"]
"22" [label="/__w/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/posix_nifs.c"]
"50" [label="/__w/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/posix_nifs.h"]
"45" [label="/__w/AtomVM/AtomVM/src/libAtomVM/mailbox.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/mailbox.c"]
"42" [label="/__w/AtomVM/AtomVM/src/libAtomVM/port.c" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/port.c"]
"11" [label="/__w/AtomVM/AtomVM/src/libAtomVM/mailbox.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/mailbox.h"]
"43" [label="/__w/AtomVM/AtomVM/src/libAtomVM/port.h" tooltip="/__w/AtomVM/AtomVM/src/libAtomVM/port.h"]
"25" -> "26" [dir=back tooltip="include"]
"25" -> "29" [dir=back tooltip="include"]
"25" -> "15" [dir=back tooltip="include"]
"25" -> "30" [dir=back tooltip="include"]
"25" -> "28" [dir=back tooltip="include"]
"25" -> "20" [dir=back tooltip="include"]
"25" -> "21" [dir=back tooltip="include"]
"25" -> "22" [dir=back tooltip="include"]
"25" -> "31" [dir=back tooltip="include"]
"19" -> "7" [dir=back tooltip="include"]
"19" -> "9" [dir=back tooltip="include"]
"19" -> "18" [dir=back tooltip="include"]
"19" -> "20" [dir=back tooltip="include"]
"19" -> "21" [dir=back tooltip="include"]
"19" -> "22" [dir=back tooltip="include"]
"19" -> "23" [dir=back tooltip="include"]
"19" -> "24" [dir=back tooltip="include"]
"53" -> "9" [dir=back tooltip="include"]
"53" -> "18" [dir=back tooltip="include"]
"53" -> "20" [dir=back tooltip="include"]
"53" -> "21" [dir=back tooltip="include"]
"53" -> "23" [dir=back tooltip="include"]
"53" -> "24" [dir=back tooltip="include"]
"53" -> "54" [dir=back tooltip="include"]
"37" -> "14" [dir=back tooltip="include"]
"37" -> "15" [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" -> "20" [dir=back tooltip="include"]
"37" -> "40" [dir=back tooltip="include"]
"37" -> "21" [dir=back tooltip="include"]
"37" -> "41" [dir=back tooltip="include"]
"37" -> "22" [dir=back tooltip="include"]
"48" -> "6" [dir=back tooltip="include"]
"48" -> "7" [dir=back tooltip="include"]
"48" -> "49" [dir=back tooltip="include"]
"48" -> "9" [dir=back tooltip="include"]
"48" -> "29" [dir=back tooltip="include"]
"48" -> "15" [dir=back tooltip="include"]
"48" -> "30" [dir=back tooltip="include"]
"48" -> "28" [dir=back tooltip="include"]
"48" -> "20" [dir=back tooltip="include"]
"48" -> "21" [dir=back tooltip="include"]
"48" -> "42" [dir=back tooltip="include"]
"48" -> "43" [dir=back tooltip="include"]
"48" -> "22" [dir=back tooltip="include"]
"48" -> "24" [dir=back tooltip="include"]
"48" -> "35" [dir=back tooltip="include"]
"57" -> "6" [dir=back tooltip="include"]
"57" -> "7" [dir=back tooltip="include"]
"57" -> "49" [dir=back tooltip="include"]
"57" -> "18" [dir=back tooltip="include"]
"57" -> "15" [dir=back tooltip="include"]
"57" -> "20" [dir=back tooltip="include"]
"57" -> "23" [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" -> "18" [dir=back tooltip="include"]
"1" -> "51" [dir=back tooltip="include"]
"1" -> "14" [dir=back tooltip="include"]
"1" -> "15" [dir=back tooltip="include"]
"1" -> "20" [dir=back tooltip="include"]
"1" -> "23" [dir=back tooltip="include"]
"1" -> "24" [dir=back tooltip="include"]
"1" -> "54" [dir=back tooltip="include"]
"1" -> "61" [dir=back tooltip="include"]
"12" -> "13" [dir=back tooltip="include"]
"12" -> "7" [dir=back tooltip="include"]
"12" -> "16" [dir=back tooltip="include"]
"12" -> "19" [dir=back tooltip="include"]
"12" -> "8" [dir=back tooltip="include"]
"12" -> "9" [dir=back tooltip="include"]
"12" -> "25" [dir=back tooltip="include"]
"12" -> "18" [dir=back tooltip="include"]
"12" -> "14" [dir=back tooltip="include"]
"12" -> "32" [dir=back tooltip="include"]
"12" -> "15" [dir=back tooltip="include"]
"12" -> "37" [dir=back tooltip="include"]
"12" -> "30" [dir=back tooltip="include"]
"12" -> "28" [dir=back tooltip="include"]
"12" -> "20" [dir=back tooltip="include"]
"12" -> "21" [dir=back tooltip="include"]
"12" -> "42" [dir=back tooltip="include"]
"12" -> "43" [dir=back tooltip="include"]
"12" -> "23" [dir=back tooltip="include"]
"12" -> "24" [dir=back tooltip="include"]
"12" -> "44" [dir=back tooltip="include"]
"12" -> "34" [dir=back tooltip="include"]
"12" -> "31" [dir=back tooltip="include"]
"13" -> "6" [dir=back tooltip="include"]
"13" -> "14" [dir=back tooltip="include"]
"13" -> "15" [dir=back tooltip="include"]
"38" -> "30" [dir=back tooltip="include"]
"51" -> "19" [dir=back tooltip="include"]
"51" -> "26" [dir=back tooltip="include"]
"51" -> "45" [dir=back tooltip="include"]
"51" -> "18" [dir=back tooltip="include"]
"51" -> "15" [dir=back tooltip="include"]
"51" -> "20" [dir=back tooltip="include"]
"51" -> "43" [dir=back tooltip="include"]
"51" -> "23" [dir=back tooltip="include"]
"51" -> "52" [dir=back tooltip="include"]
"51" -> "35" [dir=back tooltip="include"]
"51" -> "54" [dir=back tooltip="include"]
"36" -> "7" [dir=back tooltip="include"]
"36" -> "9" [dir=back tooltip="include"]
"36" -> "14" [dir=back tooltip="include"]
"36" -> "15" [dir=back tooltip="include"]
"36" -> "20" [dir=back tooltip="include"]
"36" -> "24" [dir=back tooltip="include"]
"32" -> "13" [dir=back tooltip="include"]
"32" -> "14" [dir=back tooltip="include"]
"32" -> "15" [dir=back tooltip="include"]
"32" -> "33" [dir=back tooltip="include"]
"32" -> "34" [dir=back tooltip="include"]
"32" -> "36" [dir=back tooltip="include"]
"32" -> "31" [dir=back tooltip="include"]
"39" -> "28" [dir=back tooltip="include"]
"52" -> "19" [dir=back tooltip="include"]
"52" -> "9" [dir=back tooltip="include"]
"52" -> "53" [dir=back tooltip="include"]
"52" -> "24" [dir=back tooltip="include"]
"26" -> "27" [dir=back tooltip="include"]
"26" -> "28" [dir=back tooltip="include"]
"26" -> "20" [dir=back tooltip="include"]
"26" -> "21" [dir=back tooltip="include"]
"54" -> "6" [dir=back tooltip="include"]
"54" -> "55" [dir=back tooltip="include"]
"54" -> "7" [dir=back tooltip="include"]
"54" -> "12" [dir=back tooltip="include"]
"54" -> "49" [dir=back tooltip="include"]
"54" -> "57" [dir=back tooltip="include"]
"54" -> "58" [dir=back tooltip="include"]
"54" -> "59" [dir=back tooltip="include"]
"54" -> "46" [dir=back tooltip="include"]
"54" -> "27" [dir=back tooltip="include"]
"54" -> "29" [dir=back tooltip="include"]
"54" -> "25" [dir=back tooltip="include"]
"54" -> "18" [dir=back tooltip="include"]
"54" -> "14" [dir=back tooltip="include"]
"54" -> "32" [dir=back tooltip="include"]
"54" -> "15" [dir=back tooltip="include"]
"54" -> "30" [dir=back tooltip="include"]
"54" -> "28" [dir=back tooltip="include"]
"54" -> "20" [dir=back tooltip="include"]
"54" -> "21" [dir=back tooltip="include"]
"54" -> "60" [dir=back tooltip="include"]
"54" -> "43" [dir=back tooltip="include"]
"54" -> "50" [dir=back tooltip="include"]
"54" -> "34" [dir=back tooltip="include"]
"54" -> "31" [dir=back tooltip="include"]
"58" -> "13" [dir=back tooltip="include"]
"58" -> "32" [dir=back tooltip="include"]
"58" -> "37" [dir=back tooltip="include"]
"58" -> "33" [dir=back tooltip="include"]
"58" -> "50" [dir=back tooltip="include"]
"16" -> "17" [dir=back tooltip="include"]
"16" -> "18" [dir=back tooltip="include"]
"59" -> "8" [dir=back tooltip="include"]
"59" -> "14" [dir=back tooltip="include"]
"59" -> "15" [dir=back tooltip="include"]
"47" -> "5" [dir=back tooltip="include"]
"47" -> "9" [dir=back tooltip="include"]
"47" -> "15" [dir=back tooltip="include"]
"46" -> "47" [dir=back tooltip="include"]
"46" -> "7" [dir=back tooltip="include"]
"46" -> "12" [dir=back tooltip="include"]
"46" -> "48" [dir=back tooltip="include"]
"46" -> "9" [dir=back tooltip="include"]
"46" -> "18" [dir=back tooltip="include"]
"46" -> "14" [dir=back tooltip="include"]
"46" -> "32" [dir=back tooltip="include"]
"46" -> "15" [dir=back tooltip="include"]
"46" -> "30" [dir=back tooltip="include"]
"46" -> "28" [dir=back tooltip="include"]
"46" -> "39" [dir=back tooltip="include"]
"46" -> "20" [dir=back tooltip="include"]
"46" -> "40" [dir=back tooltip="include"]
"46" -> "21" [dir=back tooltip="include"]
"46" -> "41" [dir=back tooltip="include"]
"46" -> "42" [dir=back tooltip="include"]
"46" -> "43" [dir=back tooltip="include"]
"46" -> "22" [dir=back tooltip="include"]
"46" -> "50" [dir=back tooltip="include"]
"46" -> "44" [dir=back tooltip="include"]
"46" -> "35" [dir=back tooltip="include"]
"46" -> "36" [dir=back tooltip="include"]
"33" -> "15" [dir=back tooltip="include"]
"55" -> "56" [dir=back tooltip="include"]
"55" -> "8" [dir=back tooltip="include"]
"55" -> "29" [dir=back tooltip="include"]
"55" -> "15" [dir=back tooltip="include"]
"60" -> "6" [dir=back tooltip="include"]
"44" -> "9" [dir=back tooltip="include"]
"44" -> "45" [dir=back tooltip="include"]
"44" -> "15" [dir=back tooltip="include"]
"44" -> "20" [dir=back tooltip="include"]
"40" -> "20" [dir=back tooltip="include"]
"40" -> "21" [dir=back tooltip="include"]
"34" -> "35" [dir=back tooltip="include"]
"41" -> "21" [dir=back tooltip="include"]
"50" -> "9" [dir=back tooltip="include"]
"50" -> "15" [dir=back tooltip="include"]
"50" -> "20" [dir=back tooltip="include"]
"50" -> "22" [dir=back tooltip="include"]
"11" -> "7" [dir=back tooltip="include"]
"11" -> "12" [dir=back tooltip="include"]
"11" -> "9" [dir=back tooltip="include"]
"11" -> "46" [dir=back tooltip="include"]
"11" -> "45" [dir=back tooltip="include"]
"11" -> "15" [dir=back tooltip="include"]
"11" -> "20" [dir=back tooltip="include"]
"11" -> "42" [dir=back tooltip="include"]
"43" -> "27" [dir=back tooltip="include"]
"43" -> "15" [dir=back tooltip="include"]
"43" -> "28" [dir=back tooltip="include"]
"43" -> "20" [dir=back tooltip="include"]
"43" -> "21" [dir=back tooltip="include"]
"43" -> "42" [dir=back tooltip="include"]
}](../../../_images/graphviz-285a91a56db0ccf94366003d893889fb53ae2e02.png)
Misc functions and macros.
Miscellaneous functions and macros useful for different tasks, like endian byteswap, unaligned reads, marking unused vars, etc…
Defines
-
READ_32_ALIGNED(ptr) ( (((uint8_t *)(ptr))[0] << 24) | (((uint8_t *) (ptr))[1] << 16) | (((uint8_t *)(ptr))[2] << 8) | ((uint8_t *)(ptr))[3] )
-
READ_64_UNALIGNED(ptr)
( (((uint64_t) ((uint8_t *)(ptr))[0]) << 56) | (((uint64_t) ((uint8_t *) (ptr))[1]) << 48) | \
(((uint64_t) ((uint8_t *)(ptr))[2]) << 40) | (((uint64_t) ((uint8_t *) (ptr))[3]) << 32) | \
(((uint64_t) ((uint8_t *)(ptr))[4]) << 24) | (((uint64_t) ((uint8_t *) (ptr))[5]) << 16) | \
(((uint64_t) ((uint8_t *)(ptr))[6]) << 8) | (((uint64_t) ((uint8_t *) (ptr))[7])) )
-
WRITE_64_UNALIGNED(ptr, val)
{ \
((uint8_t *)(ptr))[0] = (((uint64_t) val) >> 56) & 0xff; \
((uint8_t *)(ptr))[1] = (((uint64_t) val) >> 48) & 0xff; \
((uint8_t *)(ptr))[2] = (((uint64_t) val) >> 40) & 0xff; \
((uint8_t *)(ptr))[3] = (((uint64_t) val) >> 32) & 0xff; \
((uint8_t *)(ptr))[4] = (((uint64_t) val) >> 24) & 0xff; \
((uint8_t *)(ptr))[5] = (((uint64_t) val) >> 16) & 0xff; \
((uint8_t *)(ptr))[6] = (((uint64_t) val) >> 8) & 0xff; \
((uint8_t *)(ptr))[7] = ((uint64_t) val) & 0xff; \
}
-
READ_32_UNALIGNED(ptr) ( (((uint8_t *)(ptr))[0] << 24) | (((uint8_t *) (ptr))[1] << 16) | (((uint8_t *)(ptr))[2] << 8) | ((uint8_t *)(ptr))[3] )
-
WRITE_32_UNALIGNED(ptr, val)
{ \
((uint8_t *)(ptr))[0] = (((uint32_t) val) >> 24) & 0xff; \
((uint8_t *)(ptr))[1] = (((uint32_t) val) >> 16) & 0xff; \
((uint8_t *)(ptr))[2] = (((uint32_t) val) >> 8) & 0xff; \
((uint8_t *)(ptr))[3] = ((uint32_t) val) & 0xff; \
}
-
READ_16_UNALIGNED(ptr) ( (((uint8_t *)(ptr))[0] << 8) | ((uint8_t *)(ptr))[1] )
-
WRITE_16_UNALIGNED(ptr, val)
{ \
((uint8_t *)(ptr))[0] = (((uint16_t) val) >> 8) & 0xff; \
((uint8_t *)(ptr))[1] = ((uint16_t) val) & 0xff; \
}
-
ENDIAN_SWAP_32(value) ((((value) & 0xFF) << 24) | (((value) & 0xFF00) << 8) | (((value) & 0xFF0000) >> 8) | (((value) & 0xFF000000) >> 24))
-
UNUSED(x) (void) (x);
-
IS_NULL_PTR(x) ((x) == NULL)
-
LIKELY(x) (x)
-
UNLIKELY(x) (x)
-
HOT_FUNC
-
COLD_FUNC
-
MALLOC_LIKE
-
MUST_CHECK
-
AVM_ABORT() abort()
-
CAST_FUNC_TO_VOID_PTR(f) ((void *) (f))
-
CAST_VOID_TO_FUNC_PTR(f) ((func_ptr_t) (f))
-
CONTAINER_OF(ptr, type, member) ((type *) (((char *) (ptr)) - offsetof(type, member)))
-
PRINTF_FORMAT_ARGS(...)
-
NO_DISCARD(...)
-
UNREACHABLE(...)
Typedefs
-
typedef void (*func_ptr_t)(void)