Go to the documentation of this file.
48 #define LBM_EXTENSION(name, argv, argn) \
49 __attribute__((aligned(LBM_STORABLE_ADDRESS_ALIGNMENT))) lbm_value name(lbm_value *(argv), lbm_uint (argn))
127 #define LBM_CHECK_NUMBER_ALL() if (!lbm_check_number_all(args, argn)) {return ENC_SYM_EERROR;}
128 #define LBM_CHECK_ARGN(n) if (!lbm_check_argn(argn, n)) {return ENC_SYM_EERROR;}
129 #define LBM_CHECK_ARGN_NUMBER(n) if (!lbm_check_argn_number(args, argn, n)) {return ENC_SYM_EERROR;}
uint32_t lbm_uint
Definition: lbm_types.h:48
static lbm_uint lbm_dec_sym(lbm_value x)
Definition: heap.h:762
bool lbm_clr_extension(lbm_uint sym_id)
Definition: extensions.c:74
#define LBM_TYPE_SYMBOL
Definition: lbm_defines.h:76
extension_fptr fptr
Definition: extensions.h:41
extension_fptr lbm_get_extension(lbm_uint sym)
Definition: extensions.c:66
lbm_uint lbm_get_max_extensions(void)
Definition: extensions.c:58
bool lbm_check_number_all(lbm_value *args, lbm_uint argn)
Definition: extensions.c:139
lbm_value lbm_extensions_default(lbm_value *args, lbm_uint argn)
Definition: extensions.c:35
char * name
Definition: extensions.h:42
bool lbm_check_true_false(lbm_value v)
Definition: extensions.c:133
bool lbm_check_argn(lbm_uint argn, lbm_uint n)
Definition: extensions.c:147
lbm_uint lbm_get_num_extensions(void)
Definition: extensions.c:62
lbm_value(* extension_fptr)(lbm_value *, lbm_uint)
Definition: extensions.h:36
Definition: extensions.h:40
static lbm_type lbm_type_of(lbm_value x)
Definition: heap.h:663
bool lbm_add_extension(char *sym_str, extension_fptr ext)
Definition: extensions.c:96
uint32_t lbm_value
Definition: lbm_types.h:44
static bool lbm_is_extension(lbm_value exp)
Definition: extensions.h:96
bool lbm_check_argn_number(lbm_value *args, lbm_uint argn, lbm_uint n)
Definition: extensions.c:156
lbm_extension_t * extension_table
Definition: extensions.c:33
bool lbm_lookup_extension_id(char *sym_str, lbm_uint *ix)
Definition: extensions.c:84
int lbm_extensions_init(lbm_extension_t *extension_storage, lbm_uint extension_storage_size)
Definition: extensions.c:41