Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.

FunctionSourceSignature
x2c_cleanup_leavelib/exception.xvoid x2c_cleanup_leave(X2CCleanup *record)
x2c_cleanup_pushlib/exception.xvoid x2c_cleanup_push(X2CCleanup *record)
x2c_descriptor_registration_frozenlib/dispatch.xint x2c_descriptor_registration_frozen(void)
x2c_descriptor_thread_start_beginlib/dispatch.xvoid x2c_descriptor_thread_start_begin(void)
x2c_descriptor_thread_start_endlib/dispatch.xvoid x2c_descriptor_thread_start_end(int success)
x2c_error_catch_capturelib/error/error.xVar x2c_error_catch_capture(ErrorHandler handle, int index)
x2c_error_catch_closelib/error/error.xvoid x2c_error_catch_close(ErrorHandler handle)
x2c_error_catch_detachlib/error/error.xvoid x2c_error_catch_detach(ErrorHandler handle)
x2c_error_catch_pushlib/error/error.xErrorHandler x2c_error_catch_push(void *target, unsigned arm_count, ...)
x2c_error_catch_selectedlib/error/error.xint x2c_error_catch_selected(ErrorHandler handle)
x2c_error_catch_site_pendinglib/error/error.xint x2c_error_catch_site_pending(ErrorCatchSite *site)
x2c_error_catch_site_pushlib/error/error.xErrorHandler x2c_error_catch_site_push( void *target, ErrorCatchSite *site, Var *patterns)
x2c_error_raiselib/error/error.xvoid x2c_error_raise(Symbol code, List detail)
x2c_error_raise_nlib/error/error.xvoid x2c_error_raise_n( const X2CErrorSite *site, Symbol code, unsigned pair_count, ...)
x2c_exception_claimlib/exception.xint x2c_exception_claim(ExceptionFrame *frame)
x2c_exception_is_error_targetlib/exception.xint x2c_exception_is_error_target(ExceptionFrame *frame)
x2c_exception_landedlib/exception.xvoid x2c_exception_landed(ExceptionFrame *frame)
x2c_exception_leavelib/exception.xvoid x2c_exception_leave(ExceptionFrame *frame)
x2c_exception_mark_handledlib/exception.xvoid x2c_exception_mark_handled(ExceptionFrame *frame)
x2c_exception_pushlib/exception.xvoid x2c_exception_push(ExceptionFrame *e)
x2c_exception_unwindinglib/exception.xint x2c_exception_unwinding(void)
x2c_func_declared_reference_argumentlib/func.xvoid *x2c_func_declared_reference_argument( Func fn, const FuncArg *argv, unsigned i, List declared_target, List want)
x2c_func_pointer_argumentlib/func.xvoid *x2c_func_pointer_argument(Func fn, const FuncArg *argv, unsigned i)
x2c_func_record_resultlib/func.xVar x2c_func_record_result(const void *bytes, size_t size)
x2c_func_reference_argumentlib/func.xvoid *x2c_func_reference_argument( Func fn, const FuncArg *argv, unsigned i, List want)
x2c_func_reference_typelib/func.xList x2c_func_reference_type(Func fn, unsigned argc, unsigned index)
x2c_func_sharedlib/func.xFunc x2c_func_shared(FuncAdapter adapter, List signature)
x2c_func_unrepresentable_argumentlib/func.xFuncArg x2c_func_unrepresentable_argument(Func fn, unsigned i, List source)
x2c_func_value_argumentlib/func.xVar x2c_func_value_argument( Func fn, const FuncArg *argv, unsigned i, Symbol want)
x2c_get_executablesrc/utils.xString x2c_get_executable(void)
x2c_get_rootsrc/utils.xString x2c_get_root(void)
x2c_hash_byteslib/common.xinline unsigned x2c_hash_bytes( unsigned long seed, const void *data, size_t width)
x2c_hash_wordlib/common.xinline unsigned x2c_hash_word(unsigned long word)
x2c_initializelib/common.xvoid x2c_initialize(void)
x2c_initialize_command_environmentsrc/utils.xvoid x2c_initialize_command_environment( const char *argv0, String embedded_identity)
x2c_initialize_environmentsrc/utils.xvoid x2c_initialize_environment(const char *argv0)
x2c_initialize_protocolslib/common.xvoid x2c_initialize_protocols(void)
x2c_match_initializelib/match/match.xvoid x2c_match_initialize(void)
x2c_match_pattern_retainablelib/match/match.xint x2c_match_pattern_retainable(Var pattern)
x2c_match_site_matchlib/match/match.xList x2c_match_site_match(MatchCaptureSite *site, List input, Var pat)
x2c_match_site_match_replacelib/match/match.xList x2c_match_site_match_replace( MatchCaptureSite *site, List input, Var pat, Var template)
x2c_match_site_preparelib/match/match.xMatchPlan x2c_match_site_prepare(MatchCaptureSite *site, Var pattern)
x2c_match_site_searchlib/match/match.xList x2c_match_site_search(MatchCaptureSite *site, List input, Var pat)
x2c_match_site_search_replacelib/match/match.xList x2c_match_site_search_replace( MatchCaptureSite *site, List input, Var pat, Var template)
x2c_match_site_try_capturelib/match/match.xint x2c_match_site_try_capture( MatchCaptureSite *site, List input, Var pattern, MatchCaptureBuffer *captures)
x2c_match_site_try_matchlib/match/match.xint x2c_match_site_try_match( MatchCaptureSite *site, List input, Var pat, List *out_bindings)
x2c_match_site_try_match_replacelib/match/match.xint x2c_match_site_try_match_replace( MatchCaptureSite *site, List input, Var pat, Var template, Var *out)
x2c_match_site_try_searchlib/match/match.xint x2c_match_site_try_search( MatchCaptureSite *site, List input, Var pat, Var *out_match, List *out_bindings)
x2c_match_thread_releaselib/match-cache.xvoid x2c_match_thread_release(void)
x2c_match_try_capturelib/match/match.xint x2c_match_try_capture( List input, Var pattern, MatchCaptureBuffer *captures)
x2c_mix64lib/common.xinline unsigned long x2c_mix64(unsigned long word)
x2c_normalize_indexlib/common.xint x2c_normalize_index(int index, int length)
x2c_normalize_slicelib/common.xint x2c_normalize_slice(int *start, int *stop, int step, int length)
x2c_register_builtin_descriptorlib/dispatch.xint x2c_register_builtin_descriptor(Symbol tag, VarMethods methods)
x2c_register_descriptorlib/dispatch.xvoid x2c_register_descriptor(String name, VarMethods methods)
x2c_register_tagged_descriptorlib/dispatch.xvoid x2c_register_tagged_descriptor( Symbol tag, String name, VarMethods methods)
x2c_register_typelib/dispatch.xvoid x2c_register_type(String name)
x2c_scope_thread_releaselib/scope/scope.xvoid x2c_scope_thread_release(void)
x2c_set_rootsrc/utils.xvoid x2c_set_root(String root)
x2c_slice_boundlib/common.xint x2c_slice_bound(int bound)
x2c_try_register_descriptorlib/dispatch.xint x2c_try_register_descriptor(String name, VarMethods methods)
x2c_try_register_tagged_descriptorlib/dispatch.xint x2c_try_register_tagged_descriptor( Symbol tag, String name, VarMethods methods)
x2c_var_custom_descriptorlib/var/var.xVarDescriptor *x2c_var_custom_descriptor(Var value)
x2c_var_declarelib/var/var.xVarDescriptor *x2c_var_declare(Symbol tag)
x2c_var_descriptor_indexlib/var/var.xint x2c_var_descriptor_index(Var value)
x2c_var_equallib/varops.xint x2c_var_equal(Var a, Var b)
x2c_var_identicallib/varops.xint x2c_var_identical(Var a, Var b)
x2c_var_orderlib/varops.xdouble x2c_var_order(Var a, Var b)
x2c_var_postfix_volatilelib/varops.xVar x2c_var_postfix_volatile(volatile Var &?lhs, Symbol op)
x2c_var_tag_descriptor_indexlib/var/var.xint x2c_var_tag_descriptor_index(Symbol tag)
x2c_var_update_f32lib/varops.xfloat x2c_var_update_f32(volatile float *lhs, Symbol op, Var rhs)
x2c_var_update_f64lib/varops.xdouble x2c_var_update_f64(volatile double *lhs, Symbol op, Var rhs)
x2c_var_update_i16lib/varops.xshort x2c_var_update_i16(volatile short *lhs, Symbol op, Var rhs)
x2c_var_update_i32lib/varops.xint x2c_var_update_i32(volatile int *lhs, Symbol op, Var rhs)
x2c_var_update_i8lib/varops.xchar x2c_var_update_i8(volatile char *lhs, Symbol op, Var rhs)
x2c_var_update_longlib/varops.xlong x2c_var_update_long(volatile long *lhs, Symbol op, Var rhs)
x2c_var_update_long_doublelib/varops.xlong double x2c_var_update_long_double(volatile long double *lhs, Symbol op, Var rhs)
x2c_var_update_long_longlib/varops.xlong long x2c_var_update_long_long(volatile long long *lhs, Symbol op, Var rhs)
x2c_var_update_scharlib/varops.xsigned char x2c_var_update_schar(volatile signed char *lhs, Symbol op, Var rhs)
x2c_var_update_u16lib/varops.xushort x2c_var_update_u16(volatile ushort *lhs, Symbol op, Var rhs)
x2c_var_update_u32lib/varops.xuint x2c_var_update_u32(volatile uint *lhs, Symbol op, Var rhs)
x2c_var_update_u8lib/varops.xuchar x2c_var_update_u8(volatile uchar *lhs, Symbol op, Var rhs)
x2c_var_update_ulonglib/varops.xulong x2c_var_update_ulong(volatile ulong *lhs, Symbol op, Var rhs)
x2c_var_update_ulong_longlib/varops.xunsigned long long x2c_var_update_ulong_long(volatile unsigned long long *lhs, Symbol op, Var rhs)
x2c_var_update_volatilelib/varops.xVar x2c_var_update_volatile(volatile Var &?lhs, Symbol op, Var rhs)

Total: 85 functions.