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.eval; their generated C spellings are not part of this
prefix.
| Function | Source | Signature |
|---|---|---|
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_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_error_catch_capture | lib/error/error.x | Var x2c_error_catch_capture(ErrorHandler handle, int index) |
x2c_error_catch_close | lib/error/error.x | void x2c_error_catch_close(ErrorHandler handle) |
x2c_error_catch_detach | lib/error/error.x | void x2c_error_catch_detach(ErrorHandler handle) |
x2c_error_catch_push | lib/error/error.x | ErrorHandler x2c_error_catch_push(void *target, unsigned arm_count, ...) |
x2c_error_catch_selected | lib/error/error.x | int x2c_error_catch_selected(ErrorHandler handle) |
x2c_error_catch_site_pending | lib/error/error.x | int x2c_error_catch_site_pending(ErrorCatchSite *site) |
x2c_error_catch_site_push | lib/error/error.x | ErrorHandler x2c_error_catch_site_push( void *target, ErrorCatchSite *site, Var *patterns) |
x2c_error_raise | lib/error/error.x | void x2c_error_raise(Symbol code, List detail) |
x2c_error_raise_n | lib/error/error.x | void x2c_error_raise_n( const X2CErrorSite *site, Symbol code, unsigned pair_count, ...) |
x2c_exception_claim | lib/exception.x | int x2c_exception_claim(ExceptionFrame *frame) |
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_declared_reference_argument | lib/func.x | void *x2c_func_declared_reference_argument( Func fn, const FuncArg *argv, unsigned i, List declared_target, List want) |
x2c_func_pointer_argument | lib/func.x | void *x2c_func_pointer_argument(Func fn, const FuncArg *argv, unsigned i) |
x2c_func_record_result | lib/func.x | Var x2c_func_record_result(const void *bytes, size_t size) |
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 fn, unsigned argc, unsigned index) |
x2c_func_shared | lib/func.x | Func x2c_func_shared(FuncAdapter adapter, List signature) |
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_command_environment | src/utils.x | void x2c_initialize_command_environment( const char *argv0, String embedded_identity) |
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_match_initialize | lib/match/match.x | void x2c_match_initialize(void) |
x2c_match_pattern_retainable | lib/match/match.x | int x2c_match_pattern_retainable(Var pattern) |
x2c_match_site_match | lib/match/match.x | List x2c_match_site_match(MatchCaptureSite *site, List input, Var pat) |
x2c_match_site_match_replace | lib/match/match.x | List x2c_match_site_match_replace( MatchCaptureSite *site, List input, Var pat, Var template) |
x2c_match_site_prepare | lib/match/match.x | MatchPlan x2c_match_site_prepare(MatchCaptureSite *site, Var pattern) |
x2c_match_site_search | lib/match/match.x | List x2c_match_site_search(MatchCaptureSite *site, List input, Var pat) |
x2c_match_site_search_replace | lib/match/match.x | List x2c_match_site_search_replace( MatchCaptureSite *site, List input, Var pat, Var template) |
x2c_match_site_try_capture | lib/match/match.x | int x2c_match_site_try_capture( MatchCaptureSite *site, List input, Var pattern, MatchCaptureBuffer *captures) |
x2c_match_site_try_match | lib/match/match.x | int x2c_match_site_try_match( MatchCaptureSite *site, List input, Var pat, List *out_bindings) |
x2c_match_site_try_match_replace | lib/match/match.x | int x2c_match_site_try_match_replace( MatchCaptureSite *site, List input, Var pat, Var template, Var *out) |
x2c_match_site_try_search | lib/match/match.x | int x2c_match_site_try_search( MatchCaptureSite *site, List input, Var pat, Var *out_match, List *out_bindings) |
x2c_match_thread_release | lib/match-cache.x | void x2c_match_thread_release(void) |
x2c_match_try_capture | lib/match/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_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_tagged_descriptor | lib/dispatch.x | void x2c_register_tagged_descriptor( Symbol tag, String name, VarMethods methods) |
x2c_register_type | lib/dispatch.x | void x2c_register_type(String name) |
x2c_scope_thread_release | lib/scope/scope.x | void x2c_scope_thread_release(void) |
x2c_set_root | src/utils.x | void x2c_set_root(String root) |
x2c_slice_bound | lib/common.x | int x2c_slice_bound(int bound) |
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_custom_descriptor | lib/var/var.x | VarDescriptor *x2c_var_custom_descriptor(Var value) |
x2c_var_declare | lib/var/var.x | VarDescriptor *x2c_var_declare(Symbol tag) |
x2c_var_descriptor_index | lib/var/var.x | int x2c_var_descriptor_index(Var value) |
x2c_var_equal | lib/varops.x | int x2c_var_equal(Var a, Var b) |
x2c_var_identical | lib/varops.x | int x2c_var_identical(Var a, Var b) |
x2c_var_order | lib/varops.x | double x2c_var_order(Var a, Var b) |
x2c_var_postfix_volatile | lib/varops.x | Var x2c_var_postfix_volatile(volatile Var &?lhs, Symbol op) |
x2c_var_tag_descriptor_index | lib/var/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) |
x2c_var_update_volatile | lib/varops.x | Var x2c_var_update_volatile(volatile Var &?lhs, Symbol op, Var rhs) |
Total: 85 functions.