x2c C API
The x2c_* prefix is reserved for stable C entry points used by
generated code, native callers, or process-wide compiler setup.
Typed operations use methods such as Atom.promote
and Lisp.program; their generated C spellings are not part of this
prefix.
| Function | Source | Signature |
|---|---|---|
x2c_array_updateindex_from_array | lib/varops.x | Var x2c_array_updateindex_from_array( Array dst, int dst_index, Symbol op, Array src, int src_index) |
x2c_array_updateindex_from_map | lib/varops.x | Var x2c_array_updateindex_from_map( Array dst, int dst_index, Symbol op, Map src, Var src_key) |
x2c_cleanup_leave | lib/exception.x | void x2c_cleanup_leave(X2CCleanup *record) |
x2c_cleanup_push | lib/exception.x | void x2c_cleanup_push(X2CCleanup *record) |
x2c_cpp_include_dirs | src/utils.x | List x2c_cpp_include_dirs(void) |
x2c_default_include_dirs | src/utils.x | List x2c_default_include_dirs(void) |
x2c_descriptor_registration_frozen | lib/dispatch.x | int x2c_descriptor_registration_frozen(void) |
x2c_descriptor_thread_start_begin | lib/dispatch.x | void x2c_descriptor_thread_start_begin(void) |
x2c_descriptor_thread_start_end | lib/dispatch.x | void x2c_descriptor_thread_start_end(int success) |
x2c_driver_error | src/utils.x | void x2c_driver_error(const char *message) |
x2c_error_catch_capture | lib/error.x | Var x2c_error_catch_capture(ErrorHandler handle, int index) |
x2c_error_catch_close | lib/error.x | void x2c_error_catch_close(ErrorHandler handle) |
x2c_error_catch_detach | lib/error.x | void x2c_error_catch_detach(ErrorHandler handle) |
x2c_error_catch_push | lib/error.x | ErrorHandler x2c_error_catch_push(void *target, unsigned arm_count, ...) |
x2c_error_catch_selected | lib/error.x | int x2c_error_catch_selected(ErrorHandler handle) |
x2c_error_raise | lib/error.x | void x2c_error_raise(Symbol code, List detail) |
x2c_error_raise_n | lib/error.x | void x2c_error_raise_n( const X2CErrorSite *site, Symbol code, unsigned pair_count, ...) |
x2c_exception_is_error_target | lib/exception.x | int x2c_exception_is_error_target(ExceptionFrame *frame) |
x2c_exception_landed | lib/exception.x | void x2c_exception_landed(ExceptionFrame *frame) |
x2c_exception_leave | lib/exception.x | void x2c_exception_leave(ExceptionFrame *frame) |
x2c_exception_mark_handled | lib/exception.x | void x2c_exception_mark_handled(ExceptionFrame *frame) |
x2c_exception_push | lib/exception.x | void x2c_exception_push(ExceptionFrame *e) |
x2c_exception_unwinding | lib/exception.x | int x2c_exception_unwinding(void) |
x2c_func_reference_argument | lib/func.x | void *x2c_func_reference_argument( Func fn, const FuncArg *argv, unsigned i, List want) |
x2c_func_reference_type | lib/func.x | List x2c_func_reference_type( Func function, unsigned argc, unsigned index) |
x2c_func_unrepresentable_argument | lib/func.x | FuncArg x2c_func_unrepresentable_argument( Func fn, unsigned i, List source) |
x2c_func_value_argument | lib/func.x | Var x2c_func_value_argument( Func fn, const FuncArg *argv, unsigned i, Symbol want) |
x2c_get_executable | src/utils.x | String x2c_get_executable(void) |
x2c_get_root | src/utils.x | String x2c_get_root(void) |
x2c_hash_bytes | lib/common.x | inline unsigned x2c_hash_bytes( unsigned long seed, const void *data, size_t width) |
x2c_hash_word | lib/common.x | inline unsigned x2c_hash_word(unsigned long word) |
x2c_initialize | lib/common.x | void x2c_initialize(void) |
x2c_initialize_environment | src/utils.x | void x2c_initialize_environment(const char *argv0) |
x2c_initialize_protocols | lib/common.x | void x2c_initialize_protocols(void) |
x2c_map_updateindex_from_array | lib/varops.x | Var x2c_map_updateindex_from_array( Map dst, Var dst_key, Symbol op, Array src, int src_index) |
x2c_map_updateindex_from_map | lib/varops.x | Var x2c_map_updateindex_from_map( Map dst, Var dst_key, Symbol op, Map src, Var src_key) |
x2c_match_site_try_capture | lib/match.x | int x2c_match_site_try_capture( MatchCaptureSite *site, List input, Var pattern, MatchCaptureBuffer *captures) |
x2c_match_thread_release | lib/match.x | void x2c_match_thread_release(void) |
x2c_match_try_capture | lib/match.x | int x2c_match_try_capture( List input, Var pattern, MatchCaptureBuffer *captures) |
x2c_mix64 | lib/common.x | inline unsigned long x2c_mix64(unsigned long word) |
x2c_normalize_index | lib/common.x | int x2c_normalize_index(int index, int length) |
x2c_normalize_slice | lib/common.x | int x2c_normalize_slice(int *start, int *stop, int step, int length) |
x2c_path_dir | src/utils.x | String x2c_path_dir(String path) |
x2c_path_stem | src/utils.x | String x2c_path_stem(String path) |
x2c_register_builtin_descriptor | lib/dispatch.x | int x2c_register_builtin_descriptor(Symbol tag, VarMethods methods) |
x2c_register_descriptor | lib/dispatch.x | void x2c_register_descriptor(String name, VarMethods methods) |
x2c_register_type | lib/dispatch.x | void x2c_register_type(String name) |
x2c_scope_thread_release | lib/scope.x | void x2c_scope_thread_release(void) |
x2c_set_root | src/utils.x | void x2c_set_root(String root) |
x2c_try_register_descriptor | lib/dispatch.x | int x2c_try_register_descriptor(String name, VarMethods methods) |
x2c_try_register_tagged_descriptor | lib/dispatch.x | int x2c_try_register_tagged_descriptor( Symbol tag, String name, VarMethods methods) |
x2c_var_descriptor_index | lib/var.x | int x2c_var_descriptor_index(Var value) |
x2c_var_tag_descriptor_index | lib/var.x | int x2c_var_tag_descriptor_index(Symbol tag) |
x2c_var_update_f32 | lib/varops.x | float x2c_var_update_f32( volatile float *lhs, Symbol op, Var rhs) |
x2c_var_update_f64 | lib/varops.x | double x2c_var_update_f64( volatile double *lhs, Symbol op, Var rhs) |
x2c_var_update_i16 | lib/varops.x | short x2c_var_update_i16( volatile short *lhs, Symbol op, Var rhs) |
x2c_var_update_i32 | lib/varops.x | int x2c_var_update_i32( volatile int *lhs, Symbol op, Var rhs) |
x2c_var_update_i8 | lib/varops.x | char x2c_var_update_i8( volatile char *lhs, Symbol op, Var rhs) |
x2c_var_update_long | lib/varops.x | long x2c_var_update_long( volatile long *lhs, Symbol op, Var rhs) |
x2c_var_update_long_double | lib/varops.x | long double x2c_var_update_long_double( volatile long double *lhs, Symbol op, Var rhs) |
x2c_var_update_long_long | lib/varops.x | long long x2c_var_update_long_long( volatile long long *lhs, Symbol op, Var rhs) |
x2c_var_update_schar | lib/varops.x | signed char x2c_var_update_schar( volatile signed char *lhs, Symbol op, Var rhs) |
x2c_var_update_u16 | lib/varops.x | ushort x2c_var_update_u16( volatile ushort *lhs, Symbol op, Var rhs) |
x2c_var_update_u32 | lib/varops.x | uint x2c_var_update_u32( volatile uint *lhs, Symbol op, Var rhs) |
x2c_var_update_u8 | lib/varops.x | uchar x2c_var_update_u8( volatile uchar *lhs, Symbol op, Var rhs) |
x2c_var_update_ulong | lib/varops.x | ulong x2c_var_update_ulong( volatile ulong *lhs, Symbol op, Var rhs) |
x2c_var_update_ulong_long | lib/varops.x | unsigned long long x2c_var_update_ulong_long( volatile unsigned long long *lhs, Symbol op, Var rhs) |
Total: 67 functions.