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.program; their generated C spellings are not part of this prefix.

FunctionSourceSignature
x2c_array_updateindex_from_arraylib/varops.xVar x2c_array_updateindex_from_array( Array dst, int dst_index, Symbol op, Array src, int src_index)
x2c_array_updateindex_from_maplib/varops.xVar x2c_array_updateindex_from_map( Array dst, int dst_index, Symbol op, Map src, Var src_key)
x2c_cleanup_leavelib/exception.xvoid x2c_cleanup_leave(X2CCleanup *record)
x2c_cleanup_pushlib/exception.xvoid x2c_cleanup_push(X2CCleanup *record)
x2c_cpp_include_dirssrc/utils.xList x2c_cpp_include_dirs(void)
x2c_default_include_dirssrc/utils.xList x2c_default_include_dirs(void)
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_driver_errorsrc/utils.xvoid x2c_driver_error(const char *message)
x2c_error_catch_capturelib/error.xVar x2c_error_catch_capture(ErrorHandler handle, int index)
x2c_error_catch_closelib/error.xvoid x2c_error_catch_close(ErrorHandler handle)
x2c_error_catch_detachlib/error.xvoid x2c_error_catch_detach(ErrorHandler handle)
x2c_error_catch_pushlib/error.xErrorHandler x2c_error_catch_push(void *target, unsigned arm_count, ...)
x2c_error_catch_selectedlib/error.xint x2c_error_catch_selected(ErrorHandler handle)
x2c_error_raiselib/error.xvoid x2c_error_raise(Symbol code, List detail)
x2c_error_raise_nlib/error.xvoid x2c_error_raise_n( const X2CErrorSite *site, Symbol code, unsigned pair_count, ...)
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_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 function, unsigned argc, unsigned index)
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_environmentsrc/utils.xvoid x2c_initialize_environment(const char *argv0)
x2c_initialize_protocolslib/common.xvoid x2c_initialize_protocols(void)
x2c_map_updateindex_from_arraylib/varops.xVar x2c_map_updateindex_from_array( Map dst, Var dst_key, Symbol op, Array src, int src_index)
x2c_map_updateindex_from_maplib/varops.xVar x2c_map_updateindex_from_map( Map dst, Var dst_key, Symbol op, Map src, Var src_key)
x2c_match_site_try_capturelib/match.xint x2c_match_site_try_capture( MatchCaptureSite *site, List input, Var pattern, MatchCaptureBuffer *captures)
x2c_match_thread_releaselib/match.xvoid x2c_match_thread_release(void)
x2c_match_try_capturelib/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_path_dirsrc/utils.xString x2c_path_dir(String path)
x2c_path_stemsrc/utils.xString x2c_path_stem(String path)
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_typelib/dispatch.xvoid x2c_register_type(String name)
x2c_scope_thread_releaselib/scope.xvoid x2c_scope_thread_release(void)
x2c_set_rootsrc/utils.xvoid x2c_set_root(String root)
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_descriptor_indexlib/var.xint x2c_var_descriptor_index(Var value)
x2c_var_tag_descriptor_indexlib/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)

Total: 67 functions.