externalterm.c
Include dependency graph for externalterm.c:
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
-
SIGNED_INT_TO_UNSIGNED(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)
-
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)