Back to index

plt-scheme  4.2.1
Classes | Defines | Typedefs | Enumerations | Functions | Variables
scheme.h File Reference
#include "../sconfig.h"
#include <stdio.h>
#include <setjmp.h>
#include <stdarg.h>
#include <stdlib.h>
#include <string.h>
#include <stddef.h>
#include "../src/stypes.h"
#include "../src/schexn.h"
#include "../src/schemef.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Scheme_Object
struct  Scheme_Inclhash_Object
struct  Scheme_Simple_Object
struct  Scheme_Small_Object
struct  Scheme_Double
struct  Scheme_Symbol
struct  Scheme_Vector
struct  Scheme_Cptr
struct  Scheme_Offset_Cptr
struct  Scheme_Prim_Proc_Header
struct  Scheme_Primitive_Proc
struct  Scheme_Prim_W_Result_Arity
struct  Scheme_Primitive_Closure
struct  Scheme_Closed_Primitive_Proc
struct  Scheme_Closed_Case_Primitive_Proc
struct  Scheme_Closed_Prim_W_Result_Arity
struct  Scheme_Hash_Table
struct  Scheme_Bucket
struct  Scheme_Bucket_Table
struct  Scheme_Jumpup_Buf
struct  Scheme_Jumpup_Buf_Holder
struct  Scheme_Continuation_Jump_State
struct  Scheme_Cont_Frame_Data
struct  Scheme_Thread
struct  Scheme_Port
struct  Scheme_Input_Port
struct  Scheme_Output_Port
struct  mz_addrinfo
union  Scheme_Simple_Object.u
struct  Scheme_Simple_Object.u.char_str_val
struct  Scheme_Simple_Object.u.byte_str_val
struct  Scheme_Simple_Object.u.two_ptr_val
struct  Scheme_Simple_Object.u.two_int_val
struct  Scheme_Simple_Object.u.ptr_int_val
struct  Scheme_Simple_Object.u.ptr_long_val
struct  Scheme_Simple_Object.u.pair_val
struct  Scheme_Simple_Object.u.svector_val
struct  Scheme_Simple_Object.u.cptr_val
union  Scheme_Small_Object.u
union  Scheme_Primitive_Proc.mu
struct  Scheme_Thread.ku
struct  Scheme_Thread.ku.eval
struct  Scheme_Thread.ku.apply
struct  Scheme_Thread.ku.multiple
struct  Scheme_Thread.ku.k

Defines

#define MZ_HASH_KEY_EX
#define MZ_OPT_HASH_KEY_EX   short keyex;
#define MZ_OPT_HASH_KEY(obj)   (obj)->keyex
#define SCHEME_DIRECT_EMBEDDED   1
#define MSC_IZE(x)   x
#define MSCBOR_IZE(x)   MSC_IZE(x)
#define MZ_SIGSET(s, f)   signal(s, f)
#define XFORM_NONGCING   /* empty */
#define GC_MIGHT_USE_REGISTERED_STATICS
#define MZ_DLLSPEC
#define MZ_DLLIMPORT
#define MZ_DLLEXPORT
#define MZ_EXTERN   extern MZ_DLLSPEC
#define THREAD_LOCAL   /* empty */
#define OBJ_TO_LONG(ptr)   ((long)(ptr))
#define LONG_TO_OBJ(l)   ((Scheme_Object *)(void *)(long)(l))
#define SCHEME_INTP(obj)   (OBJ_TO_LONG(obj) & 0x1)
#define SAME_PTR(a, b)   ((a) == (b))
#define NOT_SAME_PTR(a, b)   ((a) != (b))
#define SAME_OBJ(a, b)   SAME_PTR(a, b)
#define NOT_SAME_OBJ(a, b)   NOT_SAME_PTR(a, b)
#define SAME_TYPE(a, b)   ((Scheme_Type)(a) == (Scheme_Type)(b))
#define NOT_SAME_TYPE(a, b)   ((Scheme_Type)(a) != (Scheme_Type)(b))
#define SCHEME_TYPE(obj)   (SCHEME_INTP(obj)?(Scheme_Type)scheme_integer_type:((Scheme_Object *)(obj))->type)
#define _SCHEME_TYPE(obj)   ((obj)->type) /* unsafe version */
#define SCHEME_CHARP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_char_type)
#define SCHEME_DBLP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_double_type)
#define SCHEME_FLTP   SCHEME_DBLP
#define SCHEME_FLOATP   SCHEME_DBLP
#define SCHEME_BIGNUMP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_bignum_type)
#define SCHEME_RATIONALP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_rational_type)
#define SCHEME_COMPLEXP(obj)   (!SCHEME_INTP(obj) && ((_SCHEME_TYPE(obj) == scheme_complex_type)))
#define SCHEME_EXACT_INTEGERP(obj)   (SCHEME_INTP(obj) || (_SCHEME_TYPE(obj) == scheme_bignum_type))
#define SCHEME_EXACT_REALP(obj)   (SCHEME_INTP(obj) || (_SCHEME_TYPE(obj) == scheme_bignum_type) || (_SCHEME_TYPE(obj) == scheme_rational_type))
#define SCHEME_REALP(obj)   (SCHEME_INTP(obj) || ((_SCHEME_TYPE(obj) >= scheme_bignum_type) && (_SCHEME_TYPE(obj) < scheme_complex_type)))
#define SCHEME_NUMBERP(obj)   (SCHEME_INTP(obj) || ((_SCHEME_TYPE(obj) >= scheme_bignum_type) && (_SCHEME_TYPE(obj) <= scheme_complex_type)))
#define SCHEME_CHAR_STRINGP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_char_string_type)
#define SCHEME_MUTABLE_CHAR_STRINGP(obj)   (SCHEME_CHAR_STRINGP(obj) && SCHEME_MUTABLEP(obj))
#define SCHEME_IMMUTABLE_CHAR_STRINGP(obj)   (SCHEME_CHAR_STRINGP(obj) && SCHEME_IMMUTABLEP(obj))
#define SCHEME_BYTE_STRINGP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_byte_string_type)
#define SCHEME_MUTABLE_BYTE_STRINGP(obj)   (SCHEME_BYTE_STRINGP(obj) && SCHEME_MUTABLEP(obj))
#define SCHEME_IMMUTABLE_BYTE_STRINGP(obj)   (SCHEME_BYTE_STRINGP(obj) && SCHEME_IMMUTABLEP(obj))
#define SCHEME_PATHP(obj)   SAME_TYPE(SCHEME_TYPE(obj), SCHEME_PLATFORM_PATH_KIND)
#define SCHEME_GENERAL_PATHP(obj)   ((SCHEME_TYPE(obj) >= scheme_unix_path_type) && (SCHEME_TYPE(obj) <= scheme_windows_path_type))
#define SCHEME_PATH_STRINGP(x)   (SCHEME_CHAR_STRINGP(x) || SCHEME_PATHP(x))
#define SCHEME_PATH_STRING_STR   "path or string"
#define SCHEME_GENERAL_PATH_STRINGP(x)   (SCHEME_CHAR_STRINGP(x) || SCHEME_GENERAL_PATHP(x))
#define SCHEME_GENERAL_PATH_STRING_STR   "path (for any platform) or string"
#define SCHEME_SYMBOLP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_symbol_type)
#define SCHEME_KEYWORDP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_keyword_type)
#define SCHEME_STRSYMP(obj)   (SCHEME_CHAR_STRINGP(obj) || SCHEME_SYMBOLP(obj))
#define SCHEME_BOOLP(obj)   (SAME_OBJ(obj, scheme_true) || SAME_OBJ(obj, scheme_false))
#define SCHEME_FALSEP(obj)   SAME_OBJ((obj), scheme_false)
#define SCHEME_TRUEP(obj)   (!SCHEME_FALSEP(obj))
#define SCHEME_EOFP(obj)   SAME_OBJ((obj), scheme_eof)
#define SCHEME_VOIDP(obj)   SAME_OBJ((obj), scheme_void)
#define SCHEME_NULLP(obj)   SAME_OBJ(obj, scheme_null)
#define SCHEME_PAIRP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_pair_type)
#define SCHEME_MPAIRP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_mutable_pair_type)
#define SCHEME_MUTABLE_PAIRP(obj)   SCHEME_MPAIRP(obj)
#define SCHEME_LISTP(obj)   (SCHEME_NULLP(obj) || SCHEME_PAIRP(obj))
#define SCHEME_RPAIRP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_raw_pair_type)
#define SCHEME_BOXP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_box_type)
#define SCHEME_MUTABLE_BOXP(obj)   (SCHEME_BOXP(obj) && SCHEME_MUTABLEP(obj))
#define SCHEME_IMMUTABLE_BOXP(obj)   (SCHEME_BOXP(obj) && SCHEME_IMMUTABLEP(obj))
#define SCHEME_BUCKTP(obj)   SAME_TYPE(SCHEME_TYPE(obj),scheme_bucket_table_type)
#define SCHEME_HASHTP(obj)   SAME_TYPE(SCHEME_TYPE(obj),scheme_hash_table_type)
#define SCHEME_HASHTRP(obj)   SAME_TYPE(SCHEME_TYPE(obj),scheme_hash_tree_type)
#define SCHEME_VECTORP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_vector_type)
#define SCHEME_MUTABLE_VECTORP(obj)   (SCHEME_VECTORP(obj) && SCHEME_MUTABLEP(obj))
#define SCHEME_IMMUTABLE_VECTORP(obj)   (SCHEME_VECTORP(obj) && SCHEME_IMMUTABLEP(obj))
#define SCHEME_STRUCTP(obj)   (SAME_TYPE(SCHEME_TYPE(obj), scheme_structure_type) || SAME_TYPE(SCHEME_TYPE(obj), scheme_proc_struct_type))
#define SCHEME_STRUCT_TYPEP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_struct_type_type)
#define SCHEME_INPORTP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_input_port_type)
#define SCHEME_OUTPORTP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_output_port_type)
#define SCHEME_INPUT_PORTP(obj)   scheme_is_input_port(obj)
#define SCHEME_OUTPUT_PORTP(obj)   scheme_is_output_port(obj)
#define SCHEME_THREADP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_thread_type)
#define SCHEME_CUSTODIANP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_custodian_type)
#define SCHEME_SEMAP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_sema_type)
#define SCHEME_CHANNELP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_channel_type)
#define SCHEME_CHANNEL_PUTP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_channel_put_type)
#define SCHEME_CONFIGP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_config_type)
#define SCHEME_NAMESPACEP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_namespace_type)
#define SCHEME_WEAKP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_weak_box_type)
#define SCHEME_STXP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_stx_type)
#define SCHEME_UDPP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_udp_type)
#define SCHEME_UDP_EVTP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_udp_evt_type)
#define SCHEME_CPTRP(obj)   (SAME_TYPE(SCHEME_TYPE(obj), scheme_cpointer_type) || SAME_TYPE(SCHEME_TYPE(obj), scheme_offset_cpointer_type))
#define SCHEME_MUTABLEP(obj)   (!(MZ_OPT_HASH_KEY((Scheme_Inclhash_Object *)(obj)) & 0x1))
#define SCHEME_IMMUTABLEP(obj)   (MZ_OPT_HASH_KEY((Scheme_Inclhash_Object *)(obj)) & 0x1)
#define GUARANTEE_TYPE(fname, argnum, typepred, typenam)
#define GUARANTEE_BOOL(fname, argnum)   GUARANTEE_TYPE (fname, argnum, SCHEME_BOOLP, "boolean")
#define GUARANTEE_CHAR(fname, argnum)   GUARANTEE_TYPE (fname, argnum, SCHEME_CHARP, "character")
#define GUARANTEE_INTEGER(fname, argnum)   GUARANTEE_TYPE (fname, argnum, SCHEME_INTP, "integer")
#define GUARANTEE_PAIR(fname, argnum)   GUARANTEE_TYPE (fname, argnum, SCHEME_PAIRP, "pair")
#define GUARANTEE_PROCEDURE(fname, argnum)   GUARANTEE_TYPE (fname, argnum, SCHEME_PROCP, "procedure")
#define GUARANTEE_CHAR_STRING(fname, argnum)   GUARANTEE_TYPE (fname, argnum, SCHEME_CHAR_STRINGP, "string")
#define GUARANTEE_STRSYM(fname, argnum)   GUARANTEE_TYPE (fname, argnum, SCHEME_STRSYMP, "string or symbol")
#define GUARANTEE_SYMBOL(fname, argnum)   GUARANTEE_TYPE (fname, argnum, SCHEME_SYMBOLP, "symbol")
#define SCHEME_UNIX_PATH_KIND   scheme_unix_path_type
#define SCHEME_WINDOWS_PATH_KIND   scheme_windows_path_type
#define SCHEME_PLATFORM_PATH_KIND   SCHEME_UNIX_PATH_KIND
#define SCHEME_PATH_KIND(p)   SCHEME_TYPE(p)
#define SCHEME_CHAR_VAL(obj)   (((Scheme_Small_Object *)(obj))->u.char_val)
#define SCHEME_INT_VAL(obj)   (OBJ_TO_LONG(obj)>>1)
#define SCHEME_DBL_VAL(obj)   (((Scheme_Double *)(obj))->double_val)
#define SCHEME_FLT_VAL(x)   ((float)(SCHEME_DBL_VAL(x)))
#define SCHEME_FLOAT_VAL   SCHEME_DBL_VAL
#define scheme_make_float(x)   scheme_make_double((double)x)
#define SCHEME_CHAR_STR_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.char_str_val.string_val)
#define SCHEME_CHAR_STRTAG_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.char_str_val.tag_val)
#define SCHEME_CHAR_STRLEN_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.char_str_val.tag_val)
#define SCHEME_BYTE_STR_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.byte_str_val.string_val)
#define SCHEME_BYTE_STRTAG_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.byte_str_val.tag_val)
#define SCHEME_BYTE_STRLEN_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.byte_str_val.tag_val)
#define SCHEME_PATH_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.byte_str_val.string_val)
#define SCHEME_PATH_LEN(obj)   (((Scheme_Simple_Object *)(obj))->u.byte_str_val.tag_val)
#define SCHEME_SYM_VAL(obj)   (((Scheme_Symbol *)((Scheme_Simple_Object *)(obj)))->s)
#define SCHEME_SYM_LEN(obj)   (((Scheme_Symbol *)((Scheme_Simple_Object *)(obj)))->len)
#define SCHEME_KEYWORD_VAL(obj)   SCHEME_SYM_VAL(obj)
#define SCHEME_KEYWORD_LEN(obj)   SCHEME_SYM_LEN(obj)
#define SCHEME_SYMSTR_OFFSET(obj)   ((unsigned long)SCHEME_SYM_VAL(obj)-(unsigned long)(obj))
#define SCHEME_STRSYM_VAL(obj)   (SCHEME_SYMBOLP(obj) ? SCHEME_SYM_VAL(obj) : SCHEME_CHAR_STR_VAL(obj))
#define SCHEME_BOX_VAL(obj)   (((Scheme_Small_Object *)(obj))->u.ptr_val)
#define SCHEME_CAR(obj)   (((Scheme_Simple_Object *)(obj))->u.pair_val.car)
#define SCHEME_CDR(obj)   (((Scheme_Simple_Object *)(obj))->u.pair_val.cdr)
#define SCHEME_CADR(obj)   (SCHEME_CAR (SCHEME_CDR (obj)))
#define SCHEME_CAAR(obj)   (SCHEME_CAR (SCHEME_CAR (obj)))
#define SCHEME_CDDR(obj)   (SCHEME_CDR (SCHEME_CDR (obj)))
#define SCHEME_MCAR(obj)   (((Scheme_Simple_Object *)(obj))->u.pair_val.car)
#define SCHEME_MCDR(obj)   (((Scheme_Simple_Object *)(obj))->u.pair_val.cdr)
#define SCHEME_VEC_SIZE(obj)   (((Scheme_Vector *)(obj))->size)
#define SCHEME_VEC_ELS(obj)   (((Scheme_Vector *)(obj))->els)
#define SCHEME_VEC_BASE(obj)   SCHEME_VEC_ELS(obj)
#define SCHEME_ENVBOX_VAL(obj)   (*((Scheme_Object **)(obj)))
#define SCHEME_WEAK_BOX_VAL(obj)   SCHEME_BOX_VAL(obj)
#define SCHEME_PTR_VAL(obj)   (((Scheme_Small_Object *)(obj))->u.ptr_val)
#define SCHEME_PTR1_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.two_ptr_val.ptr1)
#define SCHEME_PTR2_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.two_ptr_val.ptr2)
#define SCHEME_IPTR_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.ptr_int_val.ptr)
#define SCHEME_LPTR_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.ptr_long_val.ptr)
#define SCHEME_INT1_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.two_int_val.int1)
#define SCHEME_INT2_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.two_int_val.int2)
#define SCHEME_PINT_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.ptr_int_val.pint)
#define SCHEME_PLONG_VAL(obj)   (((Scheme_Simple_Object *)(obj))->u.ptr_long_val.pint)
#define SCHEME_CPTR_VAL(obj)   (((Scheme_Cptr *)(obj))->val)
#define SCHEME_CPTR_TYPE(obj)   (((Scheme_Cptr *)(obj))->type)
#define SCHEME_CPTR_OFFSET(obj)   (SAME_TYPE(_SCHEME_TYPE(obj), scheme_offset_cpointer_type) ? ((Scheme_Offset_Cptr *)obj)->offset : 0)
#define SCHEME_SET_IMMUTABLE(obj)   ((MZ_OPT_HASH_KEY((Scheme_Inclhash_Object *)(obj)) |= 0x1))
#define SCHEME_SET_CHAR_STRING_IMMUTABLE(obj)   SCHEME_SET_IMMUTABLE(obj)
#define SCHEME_SET_BYTE_STRING_IMMUTABLE(obj)   SCHEME_SET_IMMUTABLE(obj)
#define SCHEME_SET_VECTOR_IMMUTABLE(obj)   SCHEME_SET_IMMUTABLE(obj)
#define SCHEME_SET_BOX_IMMUTABLE(obj)   SCHEME_SET_IMMUTABLE(obj)
#define scheme_make_integer(i)   LONG_TO_OBJ ((OBJ_TO_LONG(i) << 1) | 0x1)
#define scheme_make_character(ch)   ((((mzchar)ch) < 256) ? scheme_char_constants[(unsigned char)(ch)] : scheme_make_char(ch))
#define scheme_make_ascii_character(ch)   scheme_char_constants[(unsigned char)(ch)]
#define scheme_uchar_find(table, x)   (table[(x >> 8) & 0x1FFF][x & 0xFF])
#define scheme_isblank(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x1)
#define scheme_issymbol(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x2)
#define scheme_ispunc(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x4)
#define scheme_iscontrol(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x8)
#define scheme_isspace(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x10)
#define scheme_isdigit(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x40)
#define scheme_isalpha(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x80)
#define scheme_istitle(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x100)
#define scheme_isupper(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x200)
#define scheme_islower(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x400)
#define scheme_isgraphic(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x800)
#define scheme_iscaseignorable(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x1000)
#define scheme_isspecialcasing(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x2000)
#define scheme_needs_decompose(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x4000)
#define scheme_needs_maybe_compose(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x8000)
#define scheme_iscased(x)   ((scheme_uchar_find(scheme_uchar_table, x)) & 0x700)
#define scheme_toupper(x)   (x + scheme_uchar_ups[scheme_uchar_find(scheme_uchar_cases_table, x)])
#define scheme_tolower(x)   (x + scheme_uchar_downs[scheme_uchar_find(scheme_uchar_cases_table, x)])
#define scheme_totitle(x)   (x + scheme_uchar_titles[scheme_uchar_find(scheme_uchar_cases_table, x)])
#define scheme_tofold(x)   (x + scheme_uchar_folds[scheme_uchar_find(scheme_uchar_cases_table, x)])
#define scheme_combining_class(x)   (scheme_uchar_combining_classes[scheme_uchar_find(scheme_uchar_cases_table, x)])
#define scheme_general_category(x)   ((scheme_uchar_find(scheme_uchar_cats_table, x)) & 0x1F)
#define SCHEME_PRIM_OPT_MASK   (1 | 2)
#define SCHEME_PRIM_IS_PRIMITIVE   4
#define SCHEME_PRIM_IS_STRUCT_INDEXED_GETTER   8
#define SCHEME_PRIM_IS_STRUCT_PRED   16
#define SCHEME_PRIM_IS_PARAMETER   32
#define SCHEME_PRIM_IS_STRUCT_OTHER   64
#define SCHEME_PRIM_STRUCT_OTHER_TYPE_MASK   (128 | 256)
#define SCHEME_PRIM_IS_MULTI_RESULT   512
#define SCHEME_PRIM_IS_BINARY_INLINED   1024
#define SCHEME_PRIM_IS_USER_PARAMETER   2048
#define SCHEME_PRIM_IS_METHOD   4096
#define SCHEME_PRIM_IS_CLOSURE   8192
#define SCHEME_PRIM_IS_UNARY_INLINED   16384
#define SCHEME_PRIM_IS_NARY_INLINED   32768
#define SCHEME_PRIM_OPT_FOLDING   3
#define SCHEME_PRIM_OPT_IMMEDIATE   2
#define SCHEME_PRIM_OPT_NONCM   1
#define SCHEME_PRIM_STRUCT_TYPE_INDEXLESS_GETTER   0
#define SCHEME_PRIM_STRUCT_TYPE_CONSTR   128
#define SCHEME_PRIM_STRUCT_TYPE_INDEXLESS_SETTER   256
#define SCHEME_PRIM_STRUCT_TYPE_INDEXED_SETTER   (128 | 256)
#define SCHEME_PRIM_IS_STRUCT_PROC   (SCHEME_PRIM_IS_STRUCT_INDEXED_GETTER | SCHEME_PRIM_IS_STRUCT_PRED | SCHEME_PRIM_IS_STRUCT_OTHER)
#define SCHEME_PRIM_PROC_FLAGS(x)   (((Scheme_Prim_Proc_Header *)x)->flags)
#define SCHEME_MAX_ARGS   0x3FFFFFFE
#define SCHEME_PRIM_CLOSURE_ELS(p)   ((Scheme_Primitive_Closure *)p)->val
#define _scheme_fill_prim_closure(rec, cfunc, nm, amin, amax, flgs)
#define _scheme_fill_prim_closure_post(rec, cfunc, nm, amin, amax, flgs, ln)   _scheme_fill_prim_closure(&(rec)->p, cfunc, nm, amin, amax, flgs)
#define _scheme_fill_prim_case_closure(rec, cfunc, nm, ccount, cses, flgs)
#define _scheme_fill_prim_case_closure_post(rec, cfunc, nm, ccount, cses, flgs, ln)   _scheme_fill_prim_case_closure(&((rec)->p), cfunc, nm, ccount, cses, flgs)
#define SCHEME_PROCP(obj)   (!SCHEME_INTP(obj) && ((_SCHEME_TYPE(obj) >= scheme_prim_type) && (_SCHEME_TYPE(obj) <= scheme_native_closure_type)))
#define SCHEME_SYNTAXP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_syntax_compiler_type)
#define SCHEME_PRIMP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_prim_type)
#define SCHEME_CLSD_PRIMP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_closed_prim_type)
#define SCHEME_CONTP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_cont_type)
#define SCHEME_ECONTP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_escaping_cont_type)
#define SCHEME_CONT_MARK_SETP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_cont_mark_set_type)
#define SCHEME_PROC_STRUCTP(obj)   SAME_TYPE(SCHEME_TYPE(obj), scheme_proc_struct_type)
#define SCHEME_STRUCT_PROCP(obj)   (SCHEME_PRIMP(obj) && (((Scheme_Primitive_Proc *)(obj))->pp.flags & SCHEME_PRIM_IS_STRUCT_PROC))
#define SCHEME_CLOSUREP(obj)   (SAME_TYPE(SCHEME_TYPE(obj), scheme_closure_type) || SAME_TYPE(SCHEME_TYPE(obj), scheme_case_closure_type))
#define SCHEME_PRIM(obj)   (((Scheme_Primitive_Proc *)(obj))->prim_val)
#define SCHEME_CLSD_PRIM(obj)   (((Scheme_Closed_Primitive_Proc *)(obj))->prim_val)
#define SCHEME_CLSD_PRIM_DATA(obj)   (((Scheme_Closed_Primitive_Proc *)(obj))->data)
#define SCHEME_CLOS_FUNC(obj)   ((Scheme_Closure_Func)SCHEME_CAR(obj))
#define SCHEME_CLOS_DATA(obj)   SCHEME_CDR(obj)
#define SCHEME_VAR_BUCKET(obj)   ((Scheme_Bucket *)(obj))
#define mz_pre_jmp_buf   jmp_buf
#define mz_jit_jmp_buf   mz_pre_jmp_buf
#define mz_jmp_buf   mz_jit_jmp_buf
#define MZ_MARK_POS_TYPE   long
#define MZ_MARK_STACK_TYPE   long
#define ESCAPE_BLOCK(return_code)
#define BEGIN_ESCAPEABLE(func, data)
#define END_ESCAPEABLE()
#define SCHEME_INPORT_VAL(obj)   (((Scheme_Input_Port *)(obj))->port_data)
#define SCHEME_OUTPORT_VAL(obj)   (((Scheme_Output_Port *)(obj))->port_data)
#define SCHEME_IPORT_NAME(obj)   (((Scheme_Input_Port *)obj)->name)
#define SCHEME_SPECIAL   (-2)
#define SCHEME_UNLESS_READY   (-3)
#define SCHEME_LOG_FATAL   1
#define SCHEME_LOG_ERROR   2
#define SCHEME_LOG_WARNING   3
#define SCHEME_LOG_INFO   4
#define SCHEME_LOG_DEBUG   5
#define SCHEME_GUARD_FILE_READ   0x1
#define SCHEME_GUARD_FILE_WRITE   0x2
#define SCHEME_GUARD_FILE_EXECUTE   0x4
#define SCHEME_GUARD_FILE_DELETE   0x8
#define SCHEME_GUARD_FILE_EXISTS   0x10
#define MZ_EVAL_WAITING_CONSTANT   ((Scheme_Object *)0x2)
#define MZ_APPLY_WAITING_CONSTANT   ((Scheme_Object *)0x4)
#define MZ_MULTIPLE_VALUES_CONSTANT   ((Scheme_Object *)0x6)
#define SCHEME_EVAL_WAITING   MZ_EVAL_WAITING_CONSTANT
#define SCHEME_TAIL_CALL_WAITING   MZ_APPLY_WAITING_CONSTANT
#define SCHEME_MULTIPLE_VALUES   MZ_MULTIPLE_VALUES_CONSTANT
#define SCHEME_ASSERT(expr, msg)   ((expr) ? 1 : (scheme_signal_error(msg), 0))
#define scheme_eval_wait_expr   (scheme_current_thread->ku.eval.wait_expr)
#define scheme_tail_rator   (scheme_current_thread->ku.apply.tail_rator)
#define scheme_tail_num_rands   (scheme_current_thread->ku.apply.tail_num_rands)
#define scheme_tail_rands   (scheme_current_thread->ku.apply.tail_rands)
#define scheme_overflow_reply   (scheme_current_thread->overflow_reply)
#define scheme_error_buf   *(scheme_current_thread->error_buf)
#define scheme_jumping_to_continuation   (scheme_current_thread->cjs.jumping_to_continuation)
#define scheme_multiple_count   (scheme_current_thread->ku.multiple.count)
#define scheme_multiple_array   (scheme_current_thread->ku.multiple.array)
#define scheme_setjmpup(b, base, s)   scheme_setjmpup_relative(b, base, s, NULL)
#define scheme_do_eval_w_thread(r, n, e, f, p)   scheme_do_eval(r,n,e,f)
#define scheme_apply_wp(r, n, a, p)   scheme_apply(r,n,a)
#define scheme_apply_multi_wp(r, n, a, p)   scheme_apply_multi(r,n,a)
#define scheme_apply_eb_wp(r, n, a, p)   scheme_apply_eb(r,n,a)
#define scheme_apply_multi_eb_wp(r, n, a, p)   scheme_apply_multi_eb(r,n,a)
#define _scheme_apply(r, n, rs)   scheme_do_eval(r,n,rs,1)
#define _scheme_apply_multi(r, n, rs)   scheme_do_eval(r,n,rs,-1)
#define _scheme_apply_wp(r, n, rs, p)   scheme_do_eval_w_thread(r,n,rs,1,p)
#define _scheme_apply_multi_wp(r, n, rs, p)   scheme_do_eval_w_thread(r,n,rs,-1,p)
#define _scheme_tail_apply   scheme_tail_apply
#define _scheme_tail_apply_wp   scheme_tail_apply_wp
#define _scheme_tail_eval   scheme_tail_eval
#define _scheme_tail_eval_wp   scheme_tail_eval_wp
#define _scheme_direct_apply_primitive_multi(prim, argc, argv)   (((Scheme_Primitive_Proc *)prim)->prim_val(argc, argv, prim))
#define _scheme_direct_apply_primitive(prim, argc, argv)   scheme_check_one_value(_scheme_direct_apply_primitive_multi(prim, argc, argv))
#define _scheme_direct_apply_primitive_closure_multi(prim, argc, argv)   _scheme_direct_apply_primitive_multi(prim, argc, argv)
#define _scheme_direct_apply_primitive_closure(prim, argc, argv)   _scheme_direct_apply_primitive(prim, argc, argv)
#define _scheme_direct_apply_closed_primitive_multi(prim, argc, argv)   (((Scheme_Closed_Primitive_Proc *)prim)->prim_val(((Scheme_Closed_Primitive_Proc *)prim)->data, argc, argv))
#define _scheme_direct_apply_closed_primitive(prim, argc, argv)   scheme_check_one_value(_scheme_direct_apply_closed_primitive_multi(prim, argc, argv))
#define _scheme_force_value(v)   ((v == SCHEME_TAIL_CALL_WAITING) ? scheme_force_value(v) : v)
#define scheme_tail_apply_buffer_wp(n, p)   ((p)->tail_buffer)
#define scheme_tail_apply_buffer(n)
#define _scheme_tail_apply_no_copy_wp_tcw(f, n, args, p, tcw)   (p->ku.apply.tail_rator = f, p->ku.apply.tail_rands = args, p->ku.apply.tail_num_rands = n, tcw)
#define _scheme_tail_apply_no_copy_wp(f, n, args, p)   _scheme_tail_apply_no_copy_wp_tcw(f, n, args, p, SCHEME_TAIL_CALL_WAITING)
#define _scheme_tail_apply_no_copy(f, n, args)
#define scheme_thread_block_w_thread(t, p)   scheme_thread_block(t)
#define DECREMENT_FUEL(f, p)   (f -= (p))
#define SCHEME_USE_FUEL(n)   { if (DECREMENT_FUEL(scheme_fuel_counter, n) <= 0) { scheme_out_of_fuel(); }}
#define scheme_tail_eval(obj)   (scheme_eval_wait_expr = obj, SCHEME_EVAL_WAITING)
#define scheme_break_waiting(p)   (p->external_break)
#define scheme_mz_longjmp(b, v)   longjmp(b, v)
#define scheme_mz_setjmp(b)   setjmp(b)
#define scheme_jit_longjmp(b, v)   scheme_mz_longjmp(b, v)
#define scheme_jit_setjmp(b)   scheme_mz_setjmp(b)
#define scheme_longjmp(b, v)   scheme_jit_longjmp(b, v)
#define scheme_setjmp(b)   scheme_jit_setjmp(b)
#define scheme_alloc_object()   ((Scheme_Object *) scheme_malloc_small_tagged(sizeof(Scheme_Simple_Object)))
#define scheme_alloc_small_object()   ((Scheme_Object *) scheme_malloc_small_tagged(sizeof(Scheme_Small_Object)))
#define scheme_alloc_stubborn_object()   ((Scheme_Object *) scheme_malloc_stubborn_tagged(sizeof(Scheme_Simple_Object)))
#define scheme_alloc_stubborn_small_object()   ((Scheme_Object *) scheme_malloc_stubborn_tagged(sizeof(Scheme_Small_Object)))
#define scheme_alloc_eternal_object()   ((Scheme_Object *) scheme_malloc_eternal_tagged(sizeof(Scheme_Simple_Object)))
#define scheme_alloc_eternal_small_object()   ((Scheme_Object *) scheme_malloc_eternal_tagged(sizeof(Scheme_Small_Object)))
#define scheme_malloc   GC_malloc
#define scheme_malloc_atomic   GC_malloc_atomic
#define scheme_malloc_stubborn   GC_malloc_stubborn
#define scheme_malloc_uncollectable   GC_malloc_uncollectable
#define scheme_malloc_tagged   scheme_malloc
#define scheme_malloc_small_tagged   scheme_malloc
#define scheme_malloc_array_tagged   scheme_malloc
#define scheme_malloc_atomic_tagged   scheme_malloc_atomic
#define scheme_malloc_stubborn_tagged   scheme_malloc_stubborn
#define scheme_malloc_eternal_tagged   scheme_malloc_eternal
#define scheme_malloc_uncollectable_tagged   scheme_malloc_uncollectable
#define scheme_malloc_envunbox   scheme_malloc
#define scheme_malloc_small_dirty_tagged   scheme_malloc_small_tagged
#define scheme_malloc_allow_interior   scheme_malloc
#define scheme_malloc_atomic_allow_interior   scheme_malloc_atomic
#define scheme_malloc_small_atomic_tagged   scheme_malloc_atomic_tagged
#define MZ_GC_DECL_REG(size)   /* empty */
#define MZ_GC_VAR_IN_REG(x, v)   /* empty */
#define MZ_GC_ARRAY_VAR_IN_REG(x, v, l)   /* empty */
#define MZ_GC_NO_VAR_IN_REG(x)   /* empty */
#define MZ_GC_REG()   /* empty */
#define MZ_GC_UNREG()   /* empty */
#define XFORM_HIDE_EXPR(x)   x
#define XFORM_START_SKIP
#define XFORM_END_SKIP
#define XFORM_START_SUSPEND
#define XFORM_END_SUSPEND
#define XFORM_START_TRUST_ARITH
#define XFORM_END_TRUST_ARITH
#define XFORM_CAN_IGNORE
#define XFORM_TRUST_PLUS   +
#define XFORM_TRUST_MINUS   -
#define MZ_REGISTER_STATIC(x)   scheme_register_static((void *)&x, sizeof(x))
#define SCHEME_SNF_FOR_TS   0x1
#define SCHEME_SNF_PIPE_QUOTE   0x2
#define SCHEME_SNF_NO_PIPE_QUOTE   0x4
#define SCHEME_SNF_NEED_CASE   0x8
#define SCHEME_SNF_KEYWORD   0x10
#define SCHEME_SNF_NO_KEYWORDS   0x20
#define SCHEME_STRUCT_NO_TYPE   0x01
#define SCHEME_STRUCT_NO_CONSTR   0x02
#define SCHEME_STRUCT_NO_PRED   0x04
#define SCHEME_STRUCT_NO_GET   0x08
#define SCHEME_STRUCT_NO_SET   0x10
#define SCHEME_STRUCT_GEN_GET   0x20
#define SCHEME_STRUCT_GEN_SET   0x40
#define SCHEME_STRUCT_EXPTIME   0x80
#define MZ_GET_FDSET(p, n)   ((void *)(((fd_set *)p) + n))
#define MZ_FD_ZERO(p)   FD_ZERO(p)
#define MZ_FD_SET(n, p)   FD_SET(n, p)
#define MZ_FD_CLR(n, p)   FD_CLR(n, p)
#define MZ_FD_ISSET(n, p)   FD_ISSET(n, p)

Typedefs

typedef short Scheme_Type
typedef int mzshort
typedef unsigned int mzchar
typedef int mzchar_int
typedef long long mzlonglong
typedef unsigned long long umzlonglong
typedef struct Scheme_Object Scheme_Object
typedef struct
Scheme_Inclhash_Object 
Scheme_Inclhash_Object
typedef struct Scheme_Simple_Object Scheme_Simple_Object
typedef struct Scheme_Object *(* Scheme_Closure_Func )(struct Scheme_Object *)
typedef struct Scheme_Symbol Scheme_Symbol
typedef struct Scheme_Vector Scheme_Vector
typedef struct Scheme_Print_Params
typedef void(* Scheme_Type_Printer )(Scheme_Object *v, int for_display, Scheme_Print_Params *pp)
typedef int(* Scheme_Equal_Proc )(Scheme_Object *obj1, Scheme_Object *obj2, void *cycle_data)
typedef long(* Scheme_Primary_Hash_Proc )(Scheme_Object *obj, long base, void *cycle_data)
typedef long(* Scheme_Secondary_Hash_Proc )(Scheme_Object *obj, void *cycle_data)
typedef struct Scheme_Cptr Scheme_Cptr
typedef struct Scheme_Offset_Cptr Scheme_Offset_Cptr
typedef struct Scheme_Object *( Scheme_Prim )(int argc, Scheme_Object *argv[])
typedef struct Scheme_Object *( Scheme_Primitive_Closure_Proc )(int argc, struct Scheme_Object *argv[], Scheme_Object *p)
typedef struct
Scheme_Primitive_Closure 
Scheme_Primitive_Closure
typedef struct Scheme_Object *( Scheme_Closed_Prim )(void *d, int argc, struct Scheme_Object *argv[])
typedef struct Scheme_Hash_Table Scheme_Hash_Table
typedef struct Scheme_Hash_Tree
typedef struct Scheme_Bucket Scheme_Bucket
typedef struct Scheme_Bucket_Table Scheme_Bucket_Table
typedef struct Scheme_Env
typedef struct Scheme_Jumpup_Buf Scheme_Jumpup_Buf
typedef struct
Scheme_Jumpup_Buf_Holder 
Scheme_Jumpup_Buf_Holder
typedef struct
Scheme_Continuation_Jump_State 
Scheme_Continuation_Jump_State
typedef struct
Scheme_Cont_Frame_Data 
Scheme_Cont_Frame_Data
typedef voidScheme_Close_Custodian_Client )(Scheme_Object *o, void *data)
typedef void(* Scheme_Exit_Closer_Func )(Scheme_Object *, Scheme_Close_Custodian_Client *, void *)
typedef Scheme_Object *(* Scheme_Custodian_Extractor )(Scheme_Object *o)
typedef struct Scheme_CustodianScheme_Custodian_Reference
typedef struct Scheme_Custodian
typedef Scheme_Bucket_Table Scheme_Thread_Cell_Table
typedef struct Scheme_Config
typedef int(* Scheme_Ready_Fun )(Scheme_Object *o)
typedef void(* Scheme_Needs_Wakeup_Fun )(Scheme_Object *, void *)
typedef Scheme_Object *(* Scheme_Sync_Sema_Fun )(Scheme_Object *, int *repost)
typedef int(* Scheme_Sync_Filter_Fun )(Scheme_Object *)
typedef struct Scheme_Thread Scheme_Thread
typedef void(* Scheme_Kill_Action_Func )(void *)
typedef struct Scheme_Input_Port
typedef struct Scheme_Output_Port
typedef struct Scheme_Port
typedef long(* Scheme_Get_String_Fun )(Scheme_Input_Port *port, char *buffer, long offset, long size, int nonblock, Scheme_Object *unless)
typedef long(* Scheme_Peek_String_Fun )(Scheme_Input_Port *port, char *buffer, long offset, long size, Scheme_Object *skip, int nonblock, Scheme_Object *unless)
typedef Scheme_Object *(* Scheme_Progress_Evt_Fun )(Scheme_Input_Port *port)
typedef int(* Scheme_Peeked_Read_Fun )(Scheme_Input_Port *port, long amount, Scheme_Object *unless_evt, Scheme_Object *target_ch)
typedef int(* Scheme_In_Ready_Fun )(Scheme_Input_Port *port)
typedef void(* Scheme_Close_Input_Fun )(Scheme_Input_Port *port)
typedef void(* Scheme_Need_Wakeup_Input_Fun )(Scheme_Input_Port *, void *)
typedef Scheme_Object *(* Scheme_Location_Fun )(Scheme_Port *)
typedef void(* Scheme_Count_Lines_Fun )(Scheme_Port *)
typedef int(* Scheme_Buffer_Mode_Fun )(Scheme_Port *, int m)
typedef Scheme_Object *(* Scheme_Write_String_Evt_Fun )(Scheme_Output_Port *, const char *str, long offset, long size)
typedef long(* Scheme_Write_String_Fun )(Scheme_Output_Port *, const char *str, long offset, long size, int rarely_block, int enable_break)
typedef int(* Scheme_Out_Ready_Fun )(Scheme_Output_Port *port)
typedef void(* Scheme_Close_Output_Fun )(Scheme_Output_Port *port)
typedef void(* Scheme_Need_Wakeup_Output_Fun )(Scheme_Output_Port *, void *)
typedef Scheme_Object *(* Scheme_Write_Special_Evt_Fun )(Scheme_Output_Port *, Scheme_Object *)
typedef int(* Scheme_Write_Special_Fun )(Scheme_Output_Port *, Scheme_Object *, int nonblock)
typedef struct Scheme_Logger
typedef void(* Scheme_Invoke_Proc )(Scheme_Env *env, long phase_shift, Scheme_Object *self_modidx, void *data)
typedef void(* Scheme_Exit_Proc )(int v)
typedef void(* scheme_console_printf_t )(char *str,...)
typedef void(* Scheme_Report_Out_Of_Memory_Proc )(void)
typedef int(* Scheme_Nested_Main )(void *data)
typedef int(* Scheme_Env_Main )(Scheme_Env *env, int argc, char **argv)

Enumerations

enum  { SCHEME_hash_string, SCHEME_hash_ptr, SCHEME_hash_bound_id, SCHEME_hash_weak_ptr }
enum  {
  MZCONFIG_ENV, MZCONFIG_INPUT_PORT, MZCONFIG_OUTPUT_PORT, MZCONFIG_ERROR_PORT,
  MZCONFIG_ERROR_DISPLAY_HANDLER, MZCONFIG_ERROR_PRINT_VALUE_HANDLER, MZCONFIG_EXIT_HANDLER, MZCONFIG_INIT_EXN_HANDLER,
  MZCONFIG_EVAL_HANDLER, MZCONFIG_COMPILE_HANDLER, MZCONFIG_LOAD_HANDLER, MZCONFIG_LOAD_COMPILED_HANDLER,
  MZCONFIG_PRINT_HANDLER, MZCONFIG_PROMPT_READ_HANDLER, MZCONFIG_READTABLE, MZCONFIG_READER_GUARD,
  MZCONFIG_CAN_READ_GRAPH, MZCONFIG_CAN_READ_COMPILED, MZCONFIG_CAN_READ_BOX, MZCONFIG_CAN_READ_PIPE_QUOTE,
  MZCONFIG_CAN_READ_DOT, MZCONFIG_CAN_READ_INFIX_DOT, MZCONFIG_CAN_READ_QUASI, MZCONFIG_CAN_READ_READER,
  MZCONFIG_READ_DECIMAL_INEXACT, MZCONFIG_PRINT_GRAPH, MZCONFIG_PRINT_STRUCT, MZCONFIG_PRINT_BOX,
  MZCONFIG_PRINT_VEC_SHORTHAND, MZCONFIG_PRINT_HASH_TABLE, MZCONFIG_PRINT_UNREADABLE, MZCONFIG_PRINT_PAIR_CURLY,
  MZCONFIG_PRINT_MPAIR_CURLY, MZCONFIG_CASE_SENS, MZCONFIG_SQUARE_BRACKETS_ARE_PARENS, MZCONFIG_CURLY_BRACES_ARE_PARENS,
  MZCONFIG_HONU_MODE, MZCONFIG_ERROR_PRINT_WIDTH, MZCONFIG_ERROR_PRINT_CONTEXT_LENGTH, MZCONFIG_ERROR_ESCAPE_HANDLER,
  MZCONFIG_ALLOW_SET_UNDEFINED, MZCONFIG_COMPILE_MODULE_CONSTS, MZCONFIG_USE_JIT, MZCONFIG_DISALLOW_INLINE,
  MZCONFIG_CUSTODIAN, MZCONFIG_INSPECTOR, MZCONFIG_CODE_INSPECTOR, MZCONFIG_USE_COMPILED_KIND,
  MZCONFIG_USE_USER_PATHS, MZCONFIG_LOAD_DIRECTORY, MZCONFIG_WRITE_DIRECTORY, MZCONFIG_COLLECTION_PATHS,
  MZCONFIG_PORT_PRINT_HANDLER, MZCONFIG_LOAD_EXTENSION_HANDLER, MZCONFIG_CURRENT_DIRECTORY, MZCONFIG_RANDOM_STATE,
  MZCONFIG_CURRENT_MODULE_RESOLVER, MZCONFIG_CURRENT_MODULE_NAME, MZCONFIG_ERROR_PRINT_SRCLOC, MZCONFIG_CMDLINE_ARGS,
  MZCONFIG_LOCALE, MZCONFIG_SECURITY_GUARD, MZCONFIG_PORT_COUNT_LINES, MZCONFIG_SCHEDULER_RANDOM_STATE,
  MZCONFIG_THREAD_SET, MZCONFIG_THREAD_INIT_STACK_SIZE, MZCONFIG_LOAD_DELAY_ENABLED, MZCONFIG_DELAY_LOAD_INFO,
  MZCONFIG_EXPAND_OBSERVE, MZCONFIG_LOGGER, __MZCONFIG_BUILTIN_COUNT__
}

Functions

MZ_EXTERN void scheme_set_case_sensitive (int)
MZ_EXTERN void scheme_set_allow_set_undefined (int)
MZ_EXTERN void scheme_set_binary_mode_stdio (int)
MZ_EXTERN void scheme_set_startup_use_jit (int)
MZ_EXTERN void scheme_set_startup_load_on_demand (int)
MZ_EXTERN void scheme_set_ignore_user_paths (int)
MZ_EXTERN void scheme_set_logging (int syslog_level, int stderr_level)
MZ_EXTERN int scheme_get_allow_set_undefined ()
MZ_EXTERN Scheme_Threadscheme_get_current_thread ()
MZ_EXTERN long scheme_get_multiple_count ()
MZ_EXTERN Scheme_Object ** scheme_get_multiple_array ()
MZ_EXTERN void scheme_set_current_thread_ran_some ()
MZ_EXTERN void scheme_set_exit (Scheme_Exit_Proc p)
MZ_EXTERN scheme_console_printf_t scheme_get_console_printf ()
MZ_EXTERN void scheme_set_banner (char *s)
MZ_EXTERN Scheme_Objectscheme_set_exec_cmd (char *s)
MZ_EXTERN Scheme_Objectscheme_set_run_cmd (char *s)
MZ_EXTERN void scheme_set_collects_path (Scheme_Object *p)
MZ_EXTERN void scheme_set_original_dir (Scheme_Object *d)
MZ_EXTERN void scheme_init_collection_paths (Scheme_Env *global_env, Scheme_Object *extra_dirs)
MZ_EXTERN void scheme_init_collection_paths_post (Scheme_Env *global_env, Scheme_Object *extra_dirs, Scheme_Object *extra_post_dirs)
MZ_EXTERN Scheme_Envscheme_basic_env (void)
MZ_EXTERN void scheme_reset_overflow (void)
MZ_EXTERN void scheme_free_all (void)
MZ_EXTERN void scheme_check_threads (void)
MZ_EXTERN void scheme_wake_up (void)
MZ_EXTERN int scheme_get_external_event_fd (void)
MZ_EXTERN void scheme_set_stack_base (void *base, int no_auto_statics)
MZ_EXTERN void scheme_set_stack_bounds (void *base, void *deepest, int no_auto_statics)
MZ_EXTERN void scheme_set_report_out_of_memory (Scheme_Report_Out_Of_Memory_Proc p)
MZ_EXTERN int scheme_main_stack_setup (int no_auto_statics, Scheme_Nested_Main _main, void *data)
MZ_EXTERN int scheme_main_setup (int no_auto_statics, Scheme_Env_Main _main, int argc, char **argv)
MZ_EXTERN void scheme_register_static (void *ptr, long size)
MZ_EXTERN void scheme_immediate_exit (int status)
MZ_EXTERN int scheme_new_param (void)
MZ_EXTERN Scheme_Objectscheme_param_config (char *name, Scheme_Object *pos, int argc, Scheme_Object **argv, int arity, Scheme_Prim *check, char *expected, int isbool)
MZ_EXTERN Scheme_Objectscheme_register_parameter (Scheme_Prim *function, char *name, int which)

Variables

MZ_EXTERN volatile int scheme_fuel_counter
MZ_EXTERN Scheme_Objectscheme_eval_waiting
MZ_EXTERN int scheme_defining_primitives
MZ_EXTERN int scheme_case_sensitive
MZ_EXTERN int scheme_no_keywords
MZ_EXTERN int scheme_allow_set_undefined
MZ_EXTERN int scheme_square_brackets_are_parens
MZ_EXTERN int scheme_curly_braces_are_parens
MZ_EXTERN int scheme_hash_percent_syntax_only
MZ_EXTERN int scheme_hash_percent_globals_only
MZ_EXTERN int scheme_binary_mode_stdio
MZ_EXTERN int scheme_startup_use_jit
MZ_EXTERN int scheme_ignore_user_paths
MZ_EXTERN THREAD_LOCAL
Scheme_Thread
scheme_current_thread
MZ_EXTERN THREAD_LOCAL
Scheme_Thread
scheme_first_thread
MZ_EXTERN Scheme_Exit_Proc scheme_exit
MZ_EXTERN scheme_console_printf_t scheme_console_printf
MZ_EXTERN void(* scheme_console_output )(char *str, long len)
MZ_EXTERN void(* scheme_sleep )(float seconds, void *fds)
MZ_EXTERN void(* scheme_notify_multithread )(int on)
MZ_EXTERN void(* scheme_wakeup_on_input )(void *fds)
MZ_EXTERN int(* scheme_check_for_break )(void)
MZ_EXTERN Scheme_Object *(* scheme_module_demand_hook )(int c, Scheme_Object **a)
MZ_EXTERN Scheme_Object *(* scheme_make_stdin )(void)
MZ_EXTERN Scheme_Object *(* scheme_make_stdout )(void)
MZ_EXTERN Scheme_Object *(* scheme_make_stderr )(void)
MZ_EXTERN void(* scheme_on_atomic_timeout )(void)

Class Documentation

struct Scheme_Object

Definition at line 248 of file scheme.h.

Class Members
Scheme_Type type
struct Scheme_Inclhash_Object

Definition at line 267 of file scheme.h.

Collaboration diagram for Scheme_Inclhash_Object:
Class Members
Scheme_Object so
struct Scheme_Simple_Object

Definition at line 273 of file scheme.h.

Collaboration diagram for Scheme_Simple_Object:
Class Members
Scheme_Inclhash_Object iso
union Scheme_Simple_Object u
struct Scheme_Small_Object

Definition at line 294 of file scheme.h.

Collaboration diagram for Scheme_Small_Object:
Class Members
Scheme_Inclhash_Object iso
union Scheme_Small_Object u
struct Scheme_Double

Definition at line 305 of file scheme.h.

Collaboration diagram for Scheme_Double:
Class Members
double double_val
Scheme_Object so
struct Scheme_Symbol

Definition at line 317 of file scheme.h.

Collaboration diagram for Scheme_Symbol:
Class Members
Scheme_Inclhash_Object iso
int len
char s
struct Scheme_Vector

Definition at line 323 of file scheme.h.

Collaboration diagram for Scheme_Vector:
Class Members
Scheme_Object * els
Scheme_Inclhash_Object iso
int size
struct Scheme_Cptr

Definition at line 563 of file scheme.h.

Collaboration diagram for Scheme_Cptr:
Class Members
Scheme_Object so
Scheme_Object * type
void * val
struct Scheme_Offset_Cptr

Definition at line 569 of file scheme.h.

Collaboration diagram for Scheme_Offset_Cptr:
Class Members
Scheme_Cptr cptr
long offset
struct Scheme_Prim_Proc_Header

Definition at line 665 of file scheme.h.

Collaboration diagram for Scheme_Prim_Proc_Header:
Class Members
unsigned short flags
Scheme_Object so
struct Scheme_Primitive_Proc

Definition at line 670 of file scheme.h.

Collaboration diagram for Scheme_Primitive_Proc:
Class Members
mzshort mina
union Scheme_Primitive_Proc mu
const char * name
Scheme_Prim_Proc_Header pp
Scheme_Primitive_Closure_Proc * prim_val
struct Scheme_Prim_W_Result_Arity

Definition at line 684 of file scheme.h.

Collaboration diagram for Scheme_Prim_W_Result_Arity:
Class Members
mzshort maxr
mzshort minr
Scheme_Primitive_Proc pp
struct Scheme_Primitive_Closure

Definition at line 690 of file scheme.h.

Collaboration diagram for Scheme_Primitive_Closure:
Class Members
Scheme_Primitive_Proc p
Scheme_Object * val
struct Scheme_Closed_Primitive_Proc

Definition at line 706 of file scheme.h.

Collaboration diagram for Scheme_Closed_Primitive_Proc:
Class Members
void * data
mzshort maxa
mzshort mina
const char * name
Scheme_Prim_Proc_Header pp
Scheme_Closed_Prim * prim_val
struct Scheme_Closed_Case_Primitive_Proc

Definition at line 715 of file scheme.h.

Collaboration diagram for Scheme_Closed_Case_Primitive_Proc:
Class Members
mzshort * cases
Scheme_Closed_Primitive_Proc p
struct Scheme_Closed_Prim_W_Result_Arity

Definition at line 720 of file scheme.h.

Collaboration diagram for Scheme_Closed_Prim_W_Result_Arity:
Class Members
mzshort maxr
mzshort minr
Scheme_Closed_Primitive_Proc p
struct Scheme_Bucket

Definition at line 806 of file scheme.h.

Collaboration diagram for Scheme_Bucket:
Class Members
char * key
Scheme_Object so
void * val
struct Scheme_Jumpup_Buf

Definition at line 869 of file scheme.h.

Collaboration diagram for Scheme_Jumpup_Buf:
Class Members
mz_jmp_buf buf
struct Scheme_Cont * cont
void * stack_copy
void * stack_from
long stack_max_size
long stack_size
struct Scheme_Jumpup_Buf_Holder

Definition at line 880 of file scheme.h.

Collaboration diagram for Scheme_Jumpup_Buf_Holder:
Class Members
Scheme_Jumpup_Buf buf
Scheme_Type type
struct Scheme_Continuation_Jump_State

Definition at line 885 of file scheme.h.

Collaboration diagram for Scheme_Continuation_Jump_State:
Class Members
short is_escape
short is_kill
struct Scheme_Object * jumping_to_continuation
mzshort num_vals
Scheme_Object * val
struct Scheme_Cont_Frame_Data

Definition at line 898 of file scheme.h.

Class Members
void * cache
MZ_MARK_POS_TYPE cont_mark_pos
MZ_MARK_STACK_TYPE cont_mark_stack
struct Scheme_Port

Definition at line 1295 of file scheme.h.

Collaboration diagram for Scheme_Port:
Class Members
Scheme_Buffer_Mode_Fun buffer_mode_fun
long charsSinceNewline
long column
char count_lines
Scheme_Count_Lines_Fun count_lines_fun
long lineNumber
Scheme_Location_Fun location_fun
long oldColumn
long position
long readpos
Scheme_Object so
int utf8state
char was_cr
struct Scheme_Input_Port

Definition at line 1307 of file scheme.h.

Collaboration diagram for Scheme_Input_Port:
Class Members
Scheme_In_Ready_Fun byte_ready_fun
Scheme_Close_Input_Fun close_fun
char closed
Scheme_Get_String_Fun get_string_fun
Scheme_Object * input_extras
Scheme_Object * input_extras_ready
Scheme_Object * input_giveup
Scheme_Object * input_lock
Scheme_Custodian_Reference * mref
Scheme_Object * name
Scheme_Need_Wakeup_Input_Fun need_wakeup_fun
struct Scheme_Output_Port * output_half
Scheme_Peek_String_Fun peek_string_fun
Scheme_Object * peeked_read
Scheme_Peeked_Read_Fun peeked_read_fun
Scheme_Object * peeked_write
char pending_eof
void * port_data
Scheme_Object * progress_evt
Scheme_Progress_Evt_Fun progress_evt_fun
Scheme_Object * read_handler
Scheme_Object * special
Scheme_Object * sub_type
unsigned char ungotten
int ungotten_count
Scheme_Object * ungotten_special
Scheme_Object * unless
Scheme_Object * unless_cache
struct Scheme_Output_Port

Definition at line 1332 of file scheme.h.

Collaboration diagram for Scheme_Output_Port:
Class Members
Scheme_Close_Output_Fun close_fun
short closed
Scheme_Object * display_handler
struct Scheme_Input_Port * input_half
Scheme_Custodian_Reference * mref
Scheme_Object * name
Scheme_Need_Wakeup_Output_Fun need_wakeup_fun
void * port_data
long pos
Scheme_Object * print_handler
Scheme_Out_Ready_Fun ready_fun
Scheme_Object * sub_type
Scheme_Object * write_handler
Scheme_Write_Special_Evt_Fun write_special_evt_fun
Scheme_Write_Special_Fun write_special_fun
Scheme_Write_String_Evt_Fun write_string_evt_fun
Scheme_Write_String_Fun write_string_fun
struct mz_addrinfo

Definition at line 1805 of file scheme.h.

Collaboration diagram for mz_addrinfo:
Class Members
struct sockaddr * ai_addr
size_t ai_addrlen
int ai_family
int ai_flags
struct mz_addrinfo * ai_next
int ai_protocol
int ai_socktype
union Scheme_Simple_Object.u

Definition at line 277 of file scheme.h.

Class Members
u byte_str_val
u char_str_val
u cptr_val
u pair_val
u ptr_int_val
u ptr_long_val
u svector_val
u two_int_val
u two_ptr_val
struct Scheme_Simple_Object.u.char_str_val

Definition at line 279 of file scheme.h.

Class Members
mzchar * string_val
int tag_val
struct Scheme_Simple_Object.u.byte_str_val

Definition at line 280 of file scheme.h.

Class Members
char * string_val
int tag_val
struct Scheme_Simple_Object.u.two_ptr_val

Definition at line 281 of file scheme.h.

Class Members
void * ptr1
void * ptr2
struct Scheme_Simple_Object.u.two_int_val

Definition at line 282 of file scheme.h.

Class Members
int int1
int int2
struct Scheme_Simple_Object.u.ptr_int_val

Definition at line 283 of file scheme.h.

Class Members
int pint
void * ptr
struct Scheme_Simple_Object.u.ptr_long_val

Definition at line 284 of file scheme.h.

Class Members
long pint
void * ptr
struct Scheme_Simple_Object.u.pair_val

Definition at line 285 of file scheme.h.

Class Members
struct Scheme_Object * car
struct Scheme_Object * cdr
struct Scheme_Simple_Object.u.svector_val

Definition at line 286 of file scheme.h.

Class Members
mzshort len
mzshort * vec
struct Scheme_Simple_Object.u.cptr_val

Definition at line 287 of file scheme.h.

Class Members
Scheme_Object * type
void * val
union Scheme_Small_Object.u

Definition at line 296 of file scheme.h.

Class Members
mzchar char_val
long int_val
Scheme_Object * ptr_val
Scheme_Object * ptr_value
union Scheme_Primitive_Proc.mu

Definition at line 678 of file scheme.h.

Class Members
mzshort * cases
mzshort maxa
struct Scheme_Thread.ku

Definition at line 1043 of file scheme.h.

Class Members
ku apply
ku eval
ku k
ku multiple
struct Scheme_Thread.ku.eval

Definition at line 1044 of file scheme.h.

Class Members
Scheme_Object * wait_expr
struct Scheme_Thread.ku.apply

Definition at line 1047 of file scheme.h.

Class Members
long tail_num_rands
Scheme_Object ** tail_rands
Scheme_Object * tail_rator
struct Scheme_Thread.ku.multiple

Definition at line 1052 of file scheme.h.

Class Members
Scheme_Object ** array
long count
struct Scheme_Thread.ku.k

Definition at line 1056 of file scheme.h.

Class Members
long i1
long i2
long i3
long i4
void * p1
void * p2
void * p3
void * p4
void * p5

Define Documentation

#define _scheme_apply (   r,
  n,
  rs 
)    scheme_do_eval(r,n,rs,1)

Definition at line 1442 of file scheme.h.

#define _scheme_apply_multi (   r,
  n,
  rs 
)    scheme_do_eval(r,n,rs,-1)

Definition at line 1443 of file scheme.h.

#define _scheme_apply_multi_wp (   r,
  n,
  rs,
  p 
)    scheme_do_eval_w_thread(r,n,rs,-1,p)

Definition at line 1445 of file scheme.h.

#define _scheme_apply_wp (   r,
  n,
  rs,
  p 
)    scheme_do_eval_w_thread(r,n,rs,1,p)

Definition at line 1444 of file scheme.h.

#define _scheme_direct_apply_closed_primitive (   prim,
  argc,
  argv 
)    scheme_check_one_value(_scheme_direct_apply_closed_primitive_multi(prim, argc, argv))

Definition at line 1462 of file scheme.h.

#define _scheme_direct_apply_closed_primitive_multi (   prim,
  argc,
  argv 
)    (((Scheme_Closed_Primitive_Proc *)prim)->prim_val(((Scheme_Closed_Primitive_Proc *)prim)->data, argc, argv))

Definition at line 1460 of file scheme.h.

#define _scheme_direct_apply_primitive (   prim,
  argc,
  argv 
)    scheme_check_one_value(_scheme_direct_apply_primitive_multi(prim, argc, argv))

Definition at line 1454 of file scheme.h.

#define _scheme_direct_apply_primitive_closure (   prim,
  argc,
  argv 
)    _scheme_direct_apply_primitive(prim, argc, argv)

Definition at line 1458 of file scheme.h.

#define _scheme_direct_apply_primitive_closure_multi (   prim,
  argc,
  argv 
)    _scheme_direct_apply_primitive_multi(prim, argc, argv)

Definition at line 1456 of file scheme.h.

#define _scheme_direct_apply_primitive_multi (   prim,
  argc,
  argv 
)    (((Scheme_Primitive_Proc *)prim)->prim_val(argc, argv, prim))

Definition at line 1452 of file scheme.h.

#define _scheme_fill_prim_case_closure (   rec,
  cfunc,
  nm,
  ccount,
  cses,
  flgs 
)
Value:
((rec)->pp.so.type = scheme_prim_type, \
   (rec)->prim_val = cfunc, \
   (rec)->name = nm, \
   (rec)->mina = -(ccount+1), \
   (rec)->pp.flags = flgs, \
   (rec)->mu.cases = cses, \
   rec)

Definition at line 749 of file scheme.h.

#define _scheme_fill_prim_case_closure_post (   rec,
  cfunc,
  nm,
  ccount,
  cses,
  flgs,
  ln 
)    _scheme_fill_prim_case_closure(&((rec)->p), cfunc, nm, ccount, cses, flgs)

Definition at line 764 of file scheme.h.

#define _scheme_fill_prim_closure (   rec,
  cfunc,
  nm,
  amin,
  amax,
  flgs 
)
Value:
((rec)->pp.so.type = scheme_prim_type, \
   (rec)->prim_val = cfunc, \
   (rec)->name = nm, \
   (rec)->mina = amin,        \
   (rec)->mu.maxa = (amax == -1 ? SCHEME_MAX_ARGS + 1 : amax), \
   (rec)->pp.flags = flgs, \
   rec)

Definition at line 730 of file scheme.h.

#define _scheme_fill_prim_closure_post (   rec,
  cfunc,
  nm,
  amin,
  amax,
  flgs,
  ln 
)    _scheme_fill_prim_closure(&(rec)->p, cfunc, nm, amin, amax, flgs)

Definition at line 745 of file scheme.h.

#define _scheme_force_value (   v)    ((v == SCHEME_TAIL_CALL_WAITING) ? scheme_force_value(v) : v)

Definition at line 1465 of file scheme.h.

Definition at line 1446 of file scheme.h.

#define _scheme_tail_apply_no_copy (   f,
  n,
  args 
)
Value:
{ \
  Scheme_Thread *thread; \
  thread = scheme_get_current_thread(); \
  _scheme_tail_apply_no_copy_wp(f, n, args, thread) \
}

Definition at line 1477 of file scheme.h.

#define _scheme_tail_apply_no_copy_wp (   f,
  n,
  args,
  p 
)    _scheme_tail_apply_no_copy_wp_tcw(f, n, args, p, SCHEME_TAIL_CALL_WAITING)

Definition at line 1476 of file scheme.h.

#define _scheme_tail_apply_no_copy_wp_tcw (   f,
  n,
  args,
  p,
  tcw 
)    (p->ku.apply.tail_rator = f, p->ku.apply.tail_rands = args, p->ku.apply.tail_num_rands = n, tcw)

Definition at line 1475 of file scheme.h.

#define _scheme_tail_apply_wp   scheme_tail_apply_wp

Definition at line 1447 of file scheme.h.

Definition at line 1449 of file scheme.h.

#define _scheme_tail_eval_wp   scheme_tail_eval_wp

Definition at line 1450 of file scheme.h.

#define _SCHEME_TYPE (   obj)    ((obj)->type) /* unsafe version */

Definition at line 373 of file scheme.h.

#define BEGIN_ESCAPEABLE (   func,
  data 
)
Value:
{ mz_jmp_buf * volatile savebuf, newbuf; \
      Scheme_Thread *thread; \
      thread = scheme_get_current_thread(); \
      scheme_push_kill_action((Scheme_Kill_Action_Func)func, (void *)data); \
      savebuf = thread->error_buf; \
      thread->error_buf = &newbuf; \
      thread = NULL; \
      if (scheme_setjmp(newbuf)) { \
        scheme_pop_kill_action(); \
        func(data); \
        scheme_longjmp(*savebuf, 1); \
      } else {

Definition at line 1124 of file scheme.h.

#define DECREMENT_FUEL (   f,
  p 
)    (f -= (p))

Definition at line 1497 of file scheme.h.

#define END_ESCAPEABLE ( )
Value:
thread = scheme_get_current_thread(); \
      scheme_pop_kill_action(); \
      thread->error_buf = savebuf; \
      thread = NULL; } }

Definition at line 1137 of file scheme.h.

#define ESCAPE_BLOCK (   return_code)
Value:
thread = scheme_get_current_thread(); \
    savebuf = thread->error_buf; \
    thread->error_buf = &newbuf; \
    thread = NULL; \
    if (scheme_setjmp(newbuf)) \
    { \
      thread = scheme_get_current_thread(); \
      thread->error_buf = savebuf; \
      scheme_clear_escape(); \
      return return_code; \
    }

Definition at line 1111 of file scheme.h.

Definition at line 142 of file scheme.h.

#define GUARANTEE_BOOL (   fname,
  argnum 
)    GUARANTEE_TYPE (fname, argnum, SCHEME_BOOLP, "boolean")

Definition at line 480 of file scheme.h.

#define GUARANTEE_CHAR (   fname,
  argnum 
)    GUARANTEE_TYPE (fname, argnum, SCHEME_CHARP, "character")

Definition at line 481 of file scheme.h.

#define GUARANTEE_CHAR_STRING (   fname,
  argnum 
)    GUARANTEE_TYPE (fname, argnum, SCHEME_CHAR_STRINGP, "string")

Definition at line 485 of file scheme.h.

#define GUARANTEE_INTEGER (   fname,
  argnum 
)    GUARANTEE_TYPE (fname, argnum, SCHEME_INTP, "integer")

Definition at line 482 of file scheme.h.

#define GUARANTEE_PAIR (   fname,
  argnum 
)    GUARANTEE_TYPE (fname, argnum, SCHEME_PAIRP, "pair")

Definition at line 483 of file scheme.h.

#define GUARANTEE_PROCEDURE (   fname,
  argnum 
)    GUARANTEE_TYPE (fname, argnum, SCHEME_PROCP, "procedure")

Definition at line 484 of file scheme.h.

#define GUARANTEE_STRSYM (   fname,
  argnum 
)    GUARANTEE_TYPE (fname, argnum, SCHEME_STRSYMP, "string or symbol")

Definition at line 486 of file scheme.h.

#define GUARANTEE_SYMBOL (   fname,
  argnum 
)    GUARANTEE_TYPE (fname, argnum, SCHEME_SYMBOLP, "symbol")

Definition at line 487 of file scheme.h.

#define GUARANTEE_TYPE (   fname,
  argnum,
  typepred,
  typenam 
)
Value:
(typepred (argv [argnum])                                                            \
        ? argv [argnum]                                                                 \
        : (scheme_wrong_type (fname, typenam, argnum, argc, argv), argv [argnum]))

Definition at line 475 of file scheme.h.

#define LONG_TO_OBJ (   l)    ((Scheme_Object *)(void *)(long)(l))

Definition at line 352 of file scheme.h.

#define MSC_IZE (   x)    x

Definition at line 105 of file scheme.h.

#define MSCBOR_IZE (   x)    MSC_IZE(x)

Definition at line 108 of file scheme.h.

Definition at line 1404 of file scheme.h.

#define MZ_DLLEXPORT

Definition at line 164 of file scheme.h.

#define MZ_DLLIMPORT

Definition at line 163 of file scheme.h.

#define MZ_DLLSPEC

Definition at line 162 of file scheme.h.

#define MZ_EVAL_WAITING_CONSTANT   ((Scheme_Object *)0x2)

Definition at line 1403 of file scheme.h.

#define MZ_EXTERN   extern MZ_DLLSPEC

Definition at line 167 of file scheme.h.

#define MZ_FD_CLR (   n,
  p 
)    FD_CLR(n, p)

Definition at line 1913 of file scheme.h.

#define MZ_FD_ISSET (   n,
  p 
)    FD_ISSET(n, p)

Definition at line 1914 of file scheme.h.

#define MZ_FD_SET (   n,
  p 
)    FD_SET(n, p)

Definition at line 1912 of file scheme.h.

#define MZ_FD_ZERO (   p)    FD_ZERO(p)

Definition at line 1911 of file scheme.h.

#define MZ_GC_ARRAY_VAR_IN_REG (   x,
  v,
 
)    /* empty */

Definition at line 1649 of file scheme.h.

#define MZ_GC_DECL_REG (   size)    /* empty */

Definition at line 1647 of file scheme.h.

#define MZ_GC_NO_VAR_IN_REG (   x)    /* empty */

Definition at line 1650 of file scheme.h.

#define MZ_GC_REG ( )    /* empty */

Definition at line 1651 of file scheme.h.

#define MZ_GC_UNREG ( )    /* empty */

Definition at line 1652 of file scheme.h.

#define MZ_GC_VAR_IN_REG (   x,
 
)    /* empty */

Definition at line 1648 of file scheme.h.

#define MZ_GET_FDSET (   p,
 
)    ((void *)(((fd_set *)p) + n))

Definition at line 1910 of file scheme.h.

#define MZ_HASH_KEY_EX

Definition at line 89 of file scheme.h.

Definition at line 854 of file scheme.h.

#define mz_jmp_buf   mz_jit_jmp_buf

Definition at line 864 of file scheme.h.

#define MZ_MARK_POS_TYPE   long

Definition at line 894 of file scheme.h.

#define MZ_MARK_STACK_TYPE   long

Definition at line 896 of file scheme.h.

Definition at line 1405 of file scheme.h.

#define MZ_OPT_HASH_KEY (   obj)    (obj)->keyex

Definition at line 91 of file scheme.h.

#define MZ_OPT_HASH_KEY_EX   short keyex;

Definition at line 90 of file scheme.h.

#define mz_pre_jmp_buf   jmp_buf

Definition at line 844 of file scheme.h.

#define MZ_REGISTER_STATIC (   x)    scheme_register_static((void *)&x, sizeof(x))

Definition at line 1779 of file scheme.h.

#define MZ_SIGSET (   s,
 
)    signal(s, f)

Definition at line 112 of file scheme.h.

#define NOT_SAME_OBJ (   a,
  b 
)    NOT_SAME_PTR(a, b)

Definition at line 367 of file scheme.h.

#define NOT_SAME_PTR (   a,
  b 
)    ((a) != (b))

Definition at line 364 of file scheme.h.

#define NOT_SAME_TYPE (   a,
  b 
)    ((Scheme_Type)(a) != (Scheme_Type)(b))

Definition at line 370 of file scheme.h.

#define OBJ_TO_LONG (   ptr)    ((long)(ptr))

Definition at line 351 of file scheme.h.

#define SAME_OBJ (   a,
  b 
)    SAME_PTR(a, b)

Definition at line 366 of file scheme.h.

#define SAME_PTR (   a,
  b 
)    ((a) == (b))

Definition at line 363 of file scheme.h.

#define SAME_TYPE (   a,
  b 
)    ((Scheme_Type)(a) == (Scheme_Type)(b))

Definition at line 369 of file scheme.h.

Definition at line 1557 of file scheme.h.

Definition at line 1559 of file scheme.h.

Definition at line 1549 of file scheme.h.

Definition at line 1551 of file scheme.h.

Definition at line 1553 of file scheme.h.

Definition at line 1555 of file scheme.h.

#define scheme_apply_eb_wp (   r,
  n,
  a,
  p 
)    scheme_apply_eb(r,n,a)

Definition at line 1439 of file scheme.h.

#define scheme_apply_multi_eb_wp (   r,
  n,
  a,
  p 
)    scheme_apply_multi_eb(r,n,a)

Definition at line 1440 of file scheme.h.

#define scheme_apply_multi_wp (   r,
  n,
  a,
  p 
)    scheme_apply_multi(r,n,a)

Definition at line 1438 of file scheme.h.

#define scheme_apply_wp (   r,
  n,
  a,
  p 
)    scheme_apply(r,n,a)

Definition at line 1437 of file scheme.h.

#define SCHEME_ASSERT (   expr,
  msg 
)    ((expr) ? 1 : (scheme_signal_error(msg), 0))

Definition at line 1418 of file scheme.h.

#define SCHEME_BIGNUMP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_bignum_type)

Definition at line 389 of file scheme.h.

#define SCHEME_BOOLP (   obj)    (SAME_OBJ(obj, scheme_true) || SAME_OBJ(obj, scheme_false))

Definition at line 420 of file scheme.h.

#define SCHEME_BOX_VAL (   obj)    (((Scheme_Small_Object *)(obj))->u.ptr_val)

Definition at line 534 of file scheme.h.

#define SCHEME_BOXP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_box_type)

Definition at line 434 of file scheme.h.

#define scheme_break_waiting (   p)    (p->external_break)

Definition at line 1509 of file scheme.h.

Definition at line 438 of file scheme.h.

#define SCHEME_BYTE_STR_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.byte_str_val.string_val)

Definition at line 519 of file scheme.h.

Definition at line 401 of file scheme.h.

#define SCHEME_BYTE_STRLEN_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.byte_str_val.tag_val)

Definition at line 521 of file scheme.h.

#define SCHEME_BYTE_STRTAG_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.byte_str_val.tag_val)

Definition at line 520 of file scheme.h.

#define SCHEME_CAAR (   obj)    (SCHEME_CAR (SCHEME_CAR (obj)))

Definition at line 540 of file scheme.h.

#define SCHEME_CADR (   obj)    (SCHEME_CAR (SCHEME_CDR (obj)))

Definition at line 539 of file scheme.h.

#define SCHEME_CAR (   obj)    (((Scheme_Simple_Object *)(obj))->u.pair_val.car)

Definition at line 536 of file scheme.h.

#define SCHEME_CDDR (   obj)    (SCHEME_CDR (SCHEME_CDR (obj)))

Definition at line 541 of file scheme.h.

#define SCHEME_CDR (   obj)    (((Scheme_Simple_Object *)(obj))->u.pair_val.cdr)

Definition at line 537 of file scheme.h.

Definition at line 459 of file scheme.h.

#define SCHEME_CHANNELP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_channel_type)

Definition at line 458 of file scheme.h.

#define SCHEME_CHAR_STR_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.char_str_val.string_val)

Definition at line 516 of file scheme.h.

Definition at line 397 of file scheme.h.

#define SCHEME_CHAR_STRLEN_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.char_str_val.tag_val)

Definition at line 518 of file scheme.h.

#define SCHEME_CHAR_STRTAG_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.char_str_val.tag_val)

Definition at line 517 of file scheme.h.

#define SCHEME_CHAR_VAL (   obj)    (((Scheme_Small_Object *)(obj))->u.char_val)

Definition at line 504 of file scheme.h.

#define SCHEME_CHARP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_char_type)

Definition at line 379 of file scheme.h.

#define SCHEME_CLOS_DATA (   obj)    SCHEME_CDR(obj)

Definition at line 785 of file scheme.h.

#define SCHEME_CLOS_FUNC (   obj)    ((Scheme_Closure_Func)SCHEME_CAR(obj))

Definition at line 784 of file scheme.h.

Definition at line 779 of file scheme.h.

#define SCHEME_CLSD_PRIM (   obj)    (((Scheme_Closed_Primitive_Proc *)(obj))->prim_val)

Definition at line 782 of file scheme.h.

#define SCHEME_CLSD_PRIM_DATA (   obj)    (((Scheme_Closed_Primitive_Proc *)(obj))->data)

Definition at line 783 of file scheme.h.

Definition at line 773 of file scheme.h.

Definition at line 618 of file scheme.h.

#define SCHEME_COMPLEXP (   obj)    (!SCHEME_INTP(obj) && ((_SCHEME_TYPE(obj) == scheme_complex_type)))

Definition at line 391 of file scheme.h.

#define SCHEME_CONFIGP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_config_type)

Definition at line 461 of file scheme.h.

Definition at line 776 of file scheme.h.

#define SCHEME_CONTP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_cont_type)

Definition at line 774 of file scheme.h.

Definition at line 577 of file scheme.h.

#define SCHEME_CPTR_TYPE (   obj)    (((Scheme_Cptr *)(obj))->type)

Definition at line 576 of file scheme.h.

#define SCHEME_CPTR_VAL (   obj)    (((Scheme_Cptr *)(obj))->val)

Definition at line 575 of file scheme.h.

Definition at line 470 of file scheme.h.

Definition at line 456 of file scheme.h.

#define SCHEME_DBL_VAL (   obj)    (((Scheme_Double *)(obj))->double_val)

Definition at line 506 of file scheme.h.

#define SCHEME_DBLP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_double_type)

Definition at line 381 of file scheme.h.

#define SCHEME_DIRECT_EMBEDDED   1

Definition at line 101 of file scheme.h.

#define scheme_do_eval_w_thread (   r,
  n,
  e,
  f,
  p 
)    scheme_do_eval(r,n,e,f)

Definition at line 1436 of file scheme.h.

Definition at line 775 of file scheme.h.

#define SCHEME_ENVBOX_VAL (   obj)    (*((Scheme_Object **)(obj)))

Definition at line 550 of file scheme.h.

#define SCHEME_EOFP (   obj)    SAME_OBJ((obj), scheme_eof)

Definition at line 423 of file scheme.h.

#define scheme_error_buf   *(scheme_current_thread->error_buf)

Definition at line 1427 of file scheme.h.

#define scheme_eval_wait_expr   (scheme_current_thread->ku.eval.wait_expr)

Definition at line 1421 of file scheme.h.

Definition at line 1409 of file scheme.h.

#define SCHEME_EXACT_INTEGERP (   obj)    (SCHEME_INTP(obj) || (_SCHEME_TYPE(obj) == scheme_bignum_type))

Definition at line 392 of file scheme.h.

#define SCHEME_EXACT_REALP (   obj)    (SCHEME_INTP(obj) || (_SCHEME_TYPE(obj) == scheme_bignum_type) || (_SCHEME_TYPE(obj) == scheme_rational_type))

Definition at line 393 of file scheme.h.

#define SCHEME_FALSEP (   obj)    SAME_OBJ((obj), scheme_false)

Definition at line 421 of file scheme.h.

Definition at line 512 of file scheme.h.

#define SCHEME_FLOATP   SCHEME_DBLP

Definition at line 387 of file scheme.h.

#define SCHEME_FLT_VAL (   x)    ((float)(SCHEME_DBL_VAL(x)))

Definition at line 511 of file scheme.h.

#define SCHEME_FLTP   SCHEME_DBLP

Definition at line 386 of file scheme.h.

Definition at line 620 of file scheme.h.

#define SCHEME_GENERAL_PATH_STRING_STR   "path (for any platform) or string"

Definition at line 413 of file scheme.h.

Definition at line 412 of file scheme.h.

Definition at line 406 of file scheme.h.

#define SCHEME_GUARD_FILE_DELETE   0x8

Definition at line 1387 of file scheme.h.

#define SCHEME_GUARD_FILE_EXECUTE   0x4

Definition at line 1386 of file scheme.h.

#define SCHEME_GUARD_FILE_EXISTS   0x10

Definition at line 1388 of file scheme.h.

#define SCHEME_GUARD_FILE_READ   0x1

Definition at line 1384 of file scheme.h.

#define SCHEME_GUARD_FILE_WRITE   0x2

Definition at line 1385 of file scheme.h.

Definition at line 439 of file scheme.h.

Definition at line 440 of file scheme.h.

#define SCHEME_IMMUTABLE_BOXP (   obj)    (SCHEME_BOXP(obj) && SCHEME_IMMUTABLEP(obj))

Definition at line 436 of file scheme.h.

Definition at line 403 of file scheme.h.

Definition at line 399 of file scheme.h.

#define SCHEME_IMMUTABLE_VECTORP (   obj)    (SCHEME_VECTORP(obj) && SCHEME_IMMUTABLEP(obj))

Definition at line 444 of file scheme.h.

#define SCHEME_IMMUTABLEP (   obj)    (MZ_OPT_HASH_KEY((Scheme_Inclhash_Object *)(obj)) & 0x1)

Definition at line 473 of file scheme.h.

#define SCHEME_INPORT_VAL (   obj)    (((Scheme_Input_Port *)(obj))->port_data)

Definition at line 1354 of file scheme.h.

Definition at line 449 of file scheme.h.

#define SCHEME_INPUT_PORTP (   obj)    scheme_is_input_port(obj)

Definition at line 452 of file scheme.h.

#define SCHEME_INT1_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.two_int_val.int1)

Definition at line 558 of file scheme.h.

#define SCHEME_INT2_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.two_int_val.int2)

Definition at line 559 of file scheme.h.

#define SCHEME_INT_VAL (   obj)    (OBJ_TO_LONG(obj)>>1)

Definition at line 505 of file scheme.h.

#define SCHEME_INTP (   obj)    (OBJ_TO_LONG(obj) & 0x1)

Definition at line 361 of file scheme.h.

#define SCHEME_IPORT_NAME (   obj)    (((Scheme_Input_Port *)obj)->name)

Definition at line 1356 of file scheme.h.

#define SCHEME_IPTR_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.ptr_int_val.ptr)

Definition at line 556 of file scheme.h.

#define scheme_isalpha (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x80)

Definition at line 602 of file scheme.h.

#define scheme_isblank (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x1)

Definition at line 595 of file scheme.h.

#define scheme_iscased (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x700)

Definition at line 612 of file scheme.h.

#define scheme_iscaseignorable (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x1000)

Definition at line 607 of file scheme.h.

#define scheme_iscontrol (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x8)

Definition at line 598 of file scheme.h.

#define scheme_isdigit (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x40)

Definition at line 601 of file scheme.h.

#define scheme_isgraphic (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x800)

Definition at line 606 of file scheme.h.

#define scheme_islower (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x400)

Definition at line 605 of file scheme.h.

#define scheme_ispunc (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x4)

Definition at line 597 of file scheme.h.

#define scheme_isspace (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x10)

Definition at line 599 of file scheme.h.

#define scheme_isspecialcasing (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x2000)

Definition at line 608 of file scheme.h.

#define scheme_issymbol (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x2)

Definition at line 596 of file scheme.h.

#define scheme_istitle (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x100)

Definition at line 603 of file scheme.h.

#define scheme_isupper (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x200)

Definition at line 604 of file scheme.h.

#define scheme_jit_longjmp (   b,
 
)    scheme_mz_longjmp(b, v)

Definition at line 1526 of file scheme.h.

#define scheme_jit_setjmp (   b)    scheme_mz_setjmp(b)

Definition at line 1527 of file scheme.h.

#define scheme_jumping_to_continuation   (scheme_current_thread->cjs.jumping_to_continuation)

Definition at line 1428 of file scheme.h.

#define SCHEME_KEYWORD_LEN (   obj)    SCHEME_SYM_LEN(obj)

Definition at line 527 of file scheme.h.

#define SCHEME_KEYWORD_VAL (   obj)    SCHEME_SYM_VAL(obj)

Definition at line 526 of file scheme.h.

#define SCHEME_KEYWORDP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_keyword_type)

Definition at line 416 of file scheme.h.

#define SCHEME_LISTP (   obj)    (SCHEME_NULLP(obj) || SCHEME_PAIRP(obj))

Definition at line 430 of file scheme.h.

#define SCHEME_LOG_DEBUG   5

Definition at line 1376 of file scheme.h.

#define SCHEME_LOG_ERROR   2

Definition at line 1373 of file scheme.h.

#define SCHEME_LOG_FATAL   1

Definition at line 1372 of file scheme.h.

#define SCHEME_LOG_INFO   4

Definition at line 1375 of file scheme.h.

#define SCHEME_LOG_WARNING   3

Definition at line 1374 of file scheme.h.

#define scheme_longjmp (   b,
 
)    scheme_jit_longjmp(b, v)

Definition at line 1540 of file scheme.h.

#define SCHEME_LPTR_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.ptr_long_val.ptr)

Definition at line 557 of file scheme.h.

#define scheme_make_ascii_character (   ch)    scheme_char_constants[(unsigned char)(ch)]

Definition at line 591 of file scheme.h.

#define scheme_make_character (   ch)    ((((mzchar)ch) < 256) ? scheme_char_constants[(unsigned char)(ch)] : scheme_make_char(ch))

Definition at line 590 of file scheme.h.

#define scheme_make_float (   x)    scheme_make_double((double)x)

Definition at line 513 of file scheme.h.

#define scheme_make_integer (   i)    LONG_TO_OBJ ((OBJ_TO_LONG(i) << 1) | 0x1)

Definition at line 589 of file scheme.h.

#define scheme_malloc   GC_malloc

Definition at line 1568 of file scheme.h.

Definition at line 1630 of file scheme.h.

Definition at line 1622 of file scheme.h.

Definition at line 1569 of file scheme.h.

Definition at line 1631 of file scheme.h.

Definition at line 1623 of file scheme.h.

Definition at line 1627 of file scheme.h.

Definition at line 1625 of file scheme.h.

Definition at line 1632 of file scheme.h.

Definition at line 1629 of file scheme.h.

Definition at line 1621 of file scheme.h.

Definition at line 1573 of file scheme.h.

Definition at line 1624 of file scheme.h.

Definition at line 1620 of file scheme.h.

Definition at line 1574 of file scheme.h.

Definition at line 1626 of file scheme.h.

#define SCHEME_MAX_ARGS   0x3FFFFFFE

Definition at line 663 of file scheme.h.

#define SCHEME_MCAR (   obj)    (((Scheme_Simple_Object *)(obj))->u.pair_val.car)

Definition at line 543 of file scheme.h.

#define SCHEME_MCDR (   obj)    (((Scheme_Simple_Object *)(obj))->u.pair_val.cdr)

Definition at line 544 of file scheme.h.

Definition at line 428 of file scheme.h.

Definition at line 1431 of file scheme.h.

Definition at line 1430 of file scheme.h.

Definition at line 1411 of file scheme.h.

#define SCHEME_MUTABLE_BOXP (   obj)    (SCHEME_BOXP(obj) && SCHEME_MUTABLEP(obj))

Definition at line 435 of file scheme.h.

#define SCHEME_MUTABLE_BYTE_STRINGP (   obj)    (SCHEME_BYTE_STRINGP(obj) && SCHEME_MUTABLEP(obj))

Definition at line 402 of file scheme.h.

#define SCHEME_MUTABLE_CHAR_STRINGP (   obj)    (SCHEME_CHAR_STRINGP(obj) && SCHEME_MUTABLEP(obj))

Definition at line 398 of file scheme.h.

#define SCHEME_MUTABLE_PAIRP (   obj)    SCHEME_MPAIRP(obj)

Definition at line 429 of file scheme.h.

#define SCHEME_MUTABLE_VECTORP (   obj)    (SCHEME_VECTORP(obj) && SCHEME_MUTABLEP(obj))

Definition at line 443 of file scheme.h.

#define SCHEME_MUTABLEP (   obj)    (!(MZ_OPT_HASH_KEY((Scheme_Inclhash_Object *)(obj)) & 0x1))

Definition at line 472 of file scheme.h.

#define scheme_mz_longjmp (   b,
 
)    longjmp(b, v)

Definition at line 1516 of file scheme.h.

#define scheme_mz_setjmp (   b)    setjmp(b)

Definition at line 1517 of file scheme.h.

Definition at line 462 of file scheme.h.

#define scheme_needs_decompose (   x)    ((scheme_uchar_find(scheme_uchar_table, x)) & 0x4000)

Definition at line 609 of file scheme.h.

Definition at line 610 of file scheme.h.

#define SCHEME_NULLP (   obj)    SAME_OBJ(obj, scheme_null)

Definition at line 426 of file scheme.h.

#define SCHEME_NUMBERP (   obj)    (SCHEME_INTP(obj) || ((_SCHEME_TYPE(obj) >= scheme_bignum_type) && (_SCHEME_TYPE(obj) <= scheme_complex_type)))

Definition at line 395 of file scheme.h.

#define SCHEME_OUTPORT_VAL (   obj)    (((Scheme_Output_Port *)(obj))->port_data)

Definition at line 1355 of file scheme.h.

Definition at line 450 of file scheme.h.

#define SCHEME_OUTPUT_PORTP (   obj)    scheme_is_output_port(obj)

Definition at line 453 of file scheme.h.

#define scheme_overflow_reply   (scheme_current_thread->overflow_reply)

Definition at line 1425 of file scheme.h.

#define SCHEME_PAIRP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_pair_type)

Definition at line 427 of file scheme.h.

#define SCHEME_PATH_KIND (   p)    SCHEME_TYPE(p)

Definition at line 498 of file scheme.h.

#define SCHEME_PATH_LEN (   obj)    (((Scheme_Simple_Object *)(obj))->u.byte_str_val.tag_val)

Definition at line 523 of file scheme.h.

#define SCHEME_PATH_STRING_STR   "path or string"

Definition at line 410 of file scheme.h.

Definition at line 409 of file scheme.h.

#define SCHEME_PATH_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.byte_str_val.string_val)

Definition at line 522 of file scheme.h.

Definition at line 405 of file scheme.h.

#define SCHEME_PINT_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.ptr_int_val.pint)

Definition at line 560 of file scheme.h.

Definition at line 495 of file scheme.h.

#define SCHEME_PLONG_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.ptr_long_val.pint)

Definition at line 561 of file scheme.h.

#define SCHEME_PRIM (   obj)    (((Scheme_Primitive_Proc *)(obj))->prim_val)

Definition at line 781 of file scheme.h.

Definition at line 700 of file scheme.h.

#define SCHEME_PRIM_IS_BINARY_INLINED   1024

Definition at line 637 of file scheme.h.

#define SCHEME_PRIM_IS_CLOSURE   8192

Definition at line 640 of file scheme.h.

#define SCHEME_PRIM_IS_METHOD   4096

Definition at line 639 of file scheme.h.

#define SCHEME_PRIM_IS_MULTI_RESULT   512

Definition at line 636 of file scheme.h.

#define SCHEME_PRIM_IS_NARY_INLINED   32768

Definition at line 642 of file scheme.h.

#define SCHEME_PRIM_IS_PARAMETER   32

Definition at line 633 of file scheme.h.

#define SCHEME_PRIM_IS_PRIMITIVE   4

Definition at line 630 of file scheme.h.

Definition at line 631 of file scheme.h.

#define SCHEME_PRIM_IS_STRUCT_OTHER   64

Definition at line 634 of file scheme.h.

#define SCHEME_PRIM_IS_STRUCT_PRED   16

Definition at line 632 of file scheme.h.

Definition at line 655 of file scheme.h.

#define SCHEME_PRIM_IS_UNARY_INLINED   16384

Definition at line 641 of file scheme.h.

#define SCHEME_PRIM_IS_USER_PARAMETER   2048

Definition at line 638 of file scheme.h.

#define SCHEME_PRIM_OPT_FOLDING   3

Definition at line 645 of file scheme.h.

#define SCHEME_PRIM_OPT_IMMEDIATE   2

Definition at line 646 of file scheme.h.

#define SCHEME_PRIM_OPT_MASK   (1 | 2)

Definition at line 629 of file scheme.h.

#define SCHEME_PRIM_OPT_NONCM   1

Definition at line 647 of file scheme.h.

Definition at line 657 of file scheme.h.

#define SCHEME_PRIM_STRUCT_OTHER_TYPE_MASK   (128 | 256)

Definition at line 635 of file scheme.h.

Definition at line 651 of file scheme.h.

#define SCHEME_PRIM_STRUCT_TYPE_INDEXED_SETTER   (128 | 256)

Definition at line 653 of file scheme.h.

Definition at line 650 of file scheme.h.

Definition at line 652 of file scheme.h.

#define SCHEME_PRIMP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_prim_type)

Definition at line 772 of file scheme.h.

Definition at line 777 of file scheme.h.

#define SCHEME_PROCP (   obj)    (!SCHEME_INTP(obj) && ((_SCHEME_TYPE(obj) >= scheme_prim_type) && (_SCHEME_TYPE(obj) <= scheme_native_closure_type)))

Definition at line 770 of file scheme.h.

#define SCHEME_PTR1_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.two_ptr_val.ptr1)

Definition at line 554 of file scheme.h.

#define SCHEME_PTR2_VAL (   obj)    (((Scheme_Simple_Object *)(obj))->u.two_ptr_val.ptr2)

Definition at line 555 of file scheme.h.

#define SCHEME_PTR_VAL (   obj)    (((Scheme_Small_Object *)(obj))->u.ptr_val)

Definition at line 553 of file scheme.h.

Definition at line 390 of file scheme.h.

#define SCHEME_REALP (   obj)    (SCHEME_INTP(obj) || ((_SCHEME_TYPE(obj) >= scheme_bignum_type) && (_SCHEME_TYPE(obj) < scheme_complex_type)))

Definition at line 394 of file scheme.h.

#define SCHEME_RPAIRP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_raw_pair_type)

Definition at line 432 of file scheme.h.

#define SCHEME_SEMAP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_sema_type)

Definition at line 457 of file scheme.h.

#define SCHEME_SET_BOX_IMMUTABLE (   obj)    SCHEME_SET_IMMUTABLE(obj)

Definition at line 583 of file scheme.h.

Definition at line 581 of file scheme.h.

Definition at line 580 of file scheme.h.

#define SCHEME_SET_IMMUTABLE (   obj)    ((MZ_OPT_HASH_KEY((Scheme_Inclhash_Object *)(obj)) |= 0x1))

Definition at line 579 of file scheme.h.

#define SCHEME_SET_VECTOR_IMMUTABLE (   obj)    SCHEME_SET_IMMUTABLE(obj)

Definition at line 582 of file scheme.h.

#define scheme_setjmp (   b)    scheme_jit_setjmp(b)

Definition at line 1541 of file scheme.h.

#define scheme_setjmpup (   b,
  base,
 
)    scheme_setjmpup_relative(b, base, s, NULL)

Definition at line 1434 of file scheme.h.

#define SCHEME_SNF_FOR_TS   0x1

Definition at line 1870 of file scheme.h.

#define SCHEME_SNF_KEYWORD   0x10

Definition at line 1874 of file scheme.h.

#define SCHEME_SNF_NEED_CASE   0x8

Definition at line 1873 of file scheme.h.

#define SCHEME_SNF_NO_KEYWORDS   0x20

Definition at line 1875 of file scheme.h.

#define SCHEME_SNF_NO_PIPE_QUOTE   0x4

Definition at line 1872 of file scheme.h.

#define SCHEME_SNF_PIPE_QUOTE   0x2

Definition at line 1871 of file scheme.h.

#define SCHEME_SPECIAL   (-2)

Definition at line 1358 of file scheme.h.

#define SCHEME_STRSYM_VAL (   obj)    (SCHEME_SYMBOLP(obj) ? SCHEME_SYM_VAL(obj) : SCHEME_CHAR_STR_VAL(obj))

Definition at line 532 of file scheme.h.

#define SCHEME_STRSYMP (   obj)    (SCHEME_CHAR_STRINGP(obj) || SCHEME_SYMBOLP(obj))

Definition at line 418 of file scheme.h.

#define SCHEME_STRUCT_EXPTIME   0x80

Definition at line 1885 of file scheme.h.

#define SCHEME_STRUCT_GEN_GET   0x20

Definition at line 1883 of file scheme.h.

#define SCHEME_STRUCT_GEN_SET   0x40

Definition at line 1884 of file scheme.h.

#define SCHEME_STRUCT_NO_CONSTR   0x02

Definition at line 1879 of file scheme.h.

#define SCHEME_STRUCT_NO_GET   0x08

Definition at line 1881 of file scheme.h.

#define SCHEME_STRUCT_NO_PRED   0x04

Definition at line 1880 of file scheme.h.

#define SCHEME_STRUCT_NO_SET   0x10

Definition at line 1882 of file scheme.h.

#define SCHEME_STRUCT_NO_TYPE   0x01

Definition at line 1878 of file scheme.h.

Definition at line 778 of file scheme.h.

Definition at line 447 of file scheme.h.

Definition at line 446 of file scheme.h.

#define SCHEME_STXP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_stx_type)

Definition at line 465 of file scheme.h.

#define SCHEME_SYM_LEN (   obj)    (((Scheme_Symbol *)((Scheme_Simple_Object *)(obj)))->len)

Definition at line 525 of file scheme.h.

#define SCHEME_SYM_VAL (   obj)    (((Scheme_Symbol *)((Scheme_Simple_Object *)(obj)))->s)

Definition at line 524 of file scheme.h.

#define SCHEME_SYMBOLP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_symbol_type)

Definition at line 415 of file scheme.h.

#define SCHEME_SYMSTR_OFFSET (   obj)    ((unsigned long)SCHEME_SYM_VAL(obj)-(unsigned long)(obj))

Definition at line 529 of file scheme.h.

Definition at line 771 of file scheme.h.

#define scheme_tail_apply_buffer (   n)
Value:
{ \
  Scheme_Thread *thread; \
  thread = scheme_get_current_thread(); \
  scheme_tail_apply_buffer_wp(n, thread);\
}

Definition at line 1468 of file scheme.h.

#define scheme_tail_apply_buffer_wp (   n,
  p 
)    ((p)->tail_buffer)

Definition at line 1467 of file scheme.h.

Definition at line 1410 of file scheme.h.

Definition at line 1505 of file scheme.h.

#define scheme_tail_num_rands   (scheme_current_thread->ku.apply.tail_num_rands)

Definition at line 1423 of file scheme.h.

#define scheme_tail_rands   (scheme_current_thread->ku.apply.tail_rands)

Definition at line 1424 of file scheme.h.

#define scheme_tail_rator   (scheme_current_thread->ku.apply.tail_rator)

Definition at line 1422 of file scheme.h.

#define scheme_thread_block_w_thread (   t,
  p 
)    scheme_thread_block(t)

Definition at line 1484 of file scheme.h.

#define SCHEME_THREADP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_thread_type)

Definition at line 455 of file scheme.h.

Definition at line 617 of file scheme.h.

Definition at line 615 of file scheme.h.

Definition at line 616 of file scheme.h.

Definition at line 614 of file scheme.h.

#define SCHEME_TRUEP (   obj)    (!SCHEME_FALSEP(obj))

Definition at line 422 of file scheme.h.

#define SCHEME_TYPE (   obj)    (SCHEME_INTP(obj)?(Scheme_Type)scheme_integer_type:((Scheme_Object *)(obj))->type)

Definition at line 372 of file scheme.h.

#define scheme_uchar_find (   table,
  x 
)    (table[(x >> 8) & 0x1FFF][x & 0xFF])

Definition at line 593 of file scheme.h.

#define SCHEME_UDP_EVTP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_udp_evt_type)

Definition at line 468 of file scheme.h.

#define SCHEME_UDPP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_udp_type)

Definition at line 467 of file scheme.h.

Definition at line 489 of file scheme.h.

#define SCHEME_UNLESS_READY   (-3)

Definition at line 1359 of file scheme.h.

#define SCHEME_USE_FUEL (   n)    { if (DECREMENT_FUEL(scheme_fuel_counter, n) <= 0) { scheme_out_of_fuel(); }}

Definition at line 1500 of file scheme.h.

#define SCHEME_VAR_BUCKET (   obj)    ((Scheme_Bucket *)(obj))

Definition at line 835 of file scheme.h.

#define SCHEME_VEC_BASE (   obj)    SCHEME_VEC_ELS(obj)

Definition at line 548 of file scheme.h.

#define SCHEME_VEC_ELS (   obj)    (((Scheme_Vector *)(obj))->els)

Definition at line 547 of file scheme.h.

#define SCHEME_VEC_SIZE (   obj)    (((Scheme_Vector *)(obj))->size)

Definition at line 546 of file scheme.h.

#define SCHEME_VECTORP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_vector_type)

Definition at line 442 of file scheme.h.

#define SCHEME_VOIDP (   obj)    SAME_OBJ((obj), scheme_void)

Definition at line 424 of file scheme.h.

#define SCHEME_WEAK_BOX_VAL (   obj)    SCHEME_BOX_VAL(obj)

Definition at line 551 of file scheme.h.

#define SCHEME_WEAKP (   obj)    SAME_TYPE(SCHEME_TYPE(obj), scheme_weak_box_type)

Definition at line 463 of file scheme.h.

Definition at line 490 of file scheme.h.

#define THREAD_LOCAL   /* empty */

Definition at line 176 of file scheme.h.

Definition at line 1660 of file scheme.h.

#define XFORM_END_SKIP

Definition at line 1655 of file scheme.h.

Definition at line 1657 of file scheme.h.

Definition at line 1659 of file scheme.h.

#define XFORM_HIDE_EXPR (   x)    x

Definition at line 1653 of file scheme.h.

#define XFORM_NONGCING   /* empty */

Definition at line 120 of file scheme.h.

Definition at line 1654 of file scheme.h.

Definition at line 1656 of file scheme.h.

Definition at line 1658 of file scheme.h.

#define XFORM_TRUST_MINUS   -

Definition at line 1662 of file scheme.h.

#define XFORM_TRUST_PLUS   +

Definition at line 1661 of file scheme.h.


Typedef Documentation

typedef unsigned int mzchar

Definition at line 218 of file scheme.h.

typedef int mzchar_int

Definition at line 219 of file scheme.h.

typedef long long mzlonglong

Definition at line 229 of file scheme.h.

typedef int mzshort

Definition at line 216 of file scheme.h.

Definition at line 1281 of file scheme.h.

Definition at line 908 of file scheme.h.

Definition at line 1276 of file scheme.h.

Definition at line 1289 of file scheme.h.

Definition at line 704 of file scheme.h.

Definition at line 291 of file scheme.h.

Definition at line 920 of file scheme.h.

typedef void(* scheme_console_printf_t)(char *str,...)

Definition at line 1713 of file scheme.h.

Definition at line 1280 of file scheme.h.

Definition at line 918 of file scheme.h.

Definition at line 910 of file scheme.h.

Definition at line 915 of file scheme.h.

typedef struct Scheme_Env

Definition at line 833 of file scheme.h.

typedef int(* Scheme_Env_Main)(Scheme_Env *env, int argc, char **argv)

Definition at line 1773 of file scheme.h.

typedef int(* Scheme_Equal_Proc)(Scheme_Object *obj1, Scheme_Object *obj2, void *cycle_data)

Definition at line 332 of file scheme.h.

Definition at line 909 of file scheme.h.

typedef void(* Scheme_Exit_Proc)(int v)

Definition at line 1710 of file scheme.h.

typedef long(* Scheme_Get_String_Fun)(Scheme_Input_Port *port, char *buffer, long offset, long size, int nonblock, Scheme_Object *unless)

Definition at line 1263 of file scheme.h.

Definition at line 804 of file scheme.h.

Definition at line 1275 of file scheme.h.

Definition at line 1259 of file scheme.h.

typedef void(* Scheme_Invoke_Proc)(Scheme_Env *env, long phase_shift, Scheme_Object *self_modidx, void *data)

Definition at line 1394 of file scheme.h.

Definition at line 1109 of file scheme.h.

Definition at line 1279 of file scheme.h.

Definition at line 1378 of file scheme.h.

Definition at line 1277 of file scheme.h.

Definition at line 1290 of file scheme.h.

Definition at line 923 of file scheme.h.

Definition at line 1769 of file scheme.h.

Definition at line 1288 of file scheme.h.

Definition at line 1260 of file scheme.h.

typedef long(* Scheme_Peek_String_Fun)(Scheme_Input_Port *port, char *buffer, long offset, long size, Scheme_Object *skip, int nonblock, Scheme_Object *unless)

Definition at line 1266 of file scheme.h.

typedef int(* Scheme_Peeked_Read_Fun)(Scheme_Input_Port *port, long amount, Scheme_Object *unless_evt, Scheme_Object *target_ch)

Definition at line 1271 of file scheme.h.

Definition at line 1261 of file scheme.h.

typedef struct Scheme_Object*( Scheme_Prim)(int argc, Scheme_Object *argv[])

Definition at line 659 of file scheme.h.

typedef long(* Scheme_Primary_Hash_Proc)(Scheme_Object *obj, long base, void *cycle_data)

Definition at line 333 of file scheme.h.

Definition at line 661 of file scheme.h.

Definition at line 329 of file scheme.h.

Definition at line 1270 of file scheme.h.

Definition at line 922 of file scheme.h.

Definition at line 1765 of file scheme.h.

typedef long(* Scheme_Secondary_Hash_Proc)(Scheme_Object *obj, void *cycle_data)

Definition at line 334 of file scheme.h.

Definition at line 925 of file scheme.h.

Definition at line 924 of file scheme.h.

Definition at line 919 of file scheme.h.

typedef short Scheme_Type

Definition at line 214 of file scheme.h.

typedef void(* Scheme_Type_Printer)(Scheme_Object *v, int for_display, Scheme_Print_Params *pp)

Definition at line 330 of file scheme.h.

Definition at line 1291 of file scheme.h.

Definition at line 1292 of file scheme.h.

Definition at line 1283 of file scheme.h.

typedef long(* Scheme_Write_String_Fun)(Scheme_Output_Port *, const char *str, long offset, long size, int rarely_block, int enable_break)

Definition at line 1285 of file scheme.h.

typedef unsigned long long umzlonglong

Definition at line 230 of file scheme.h.


Enumeration Type Documentation

anonymous enum
Enumerator:
SCHEME_hash_string 
SCHEME_hash_ptr 
SCHEME_hash_bound_id 
SCHEME_hash_weak_ptr 

Definition at line 826 of file scheme.h.

anonymous enum
Enumerator:
MZCONFIG_ENV 
MZCONFIG_INPUT_PORT 
MZCONFIG_OUTPUT_PORT 
MZCONFIG_ERROR_PORT 
MZCONFIG_ERROR_DISPLAY_HANDLER 
MZCONFIG_ERROR_PRINT_VALUE_HANDLER 
MZCONFIG_EXIT_HANDLER 
MZCONFIG_INIT_EXN_HANDLER 
MZCONFIG_EVAL_HANDLER 
MZCONFIG_COMPILE_HANDLER 
MZCONFIG_LOAD_HANDLER 
MZCONFIG_LOAD_COMPILED_HANDLER 
MZCONFIG_PRINT_HANDLER 
MZCONFIG_PROMPT_READ_HANDLER 
MZCONFIG_READTABLE 
MZCONFIG_READER_GUARD 
MZCONFIG_CAN_READ_GRAPH 
MZCONFIG_CAN_READ_COMPILED 
MZCONFIG_CAN_READ_BOX 
MZCONFIG_CAN_READ_PIPE_QUOTE 
MZCONFIG_CAN_READ_DOT 
MZCONFIG_CAN_READ_INFIX_DOT 
MZCONFIG_CAN_READ_QUASI 
MZCONFIG_CAN_READ_READER 
MZCONFIG_READ_DECIMAL_INEXACT 
MZCONFIG_PRINT_GRAPH 
MZCONFIG_PRINT_STRUCT 
MZCONFIG_PRINT_BOX 
MZCONFIG_PRINT_VEC_SHORTHAND 
MZCONFIG_PRINT_HASH_TABLE 
MZCONFIG_PRINT_UNREADABLE 
MZCONFIG_PRINT_PAIR_CURLY 
MZCONFIG_PRINT_MPAIR_CURLY 
MZCONFIG_CASE_SENS 
MZCONFIG_SQUARE_BRACKETS_ARE_PARENS 
MZCONFIG_CURLY_BRACES_ARE_PARENS 
MZCONFIG_HONU_MODE 
MZCONFIG_ERROR_PRINT_WIDTH 
MZCONFIG_ERROR_PRINT_CONTEXT_LENGTH 
MZCONFIG_ERROR_ESCAPE_HANDLER 
MZCONFIG_ALLOW_SET_UNDEFINED 
MZCONFIG_COMPILE_MODULE_CONSTS 
MZCONFIG_USE_JIT 
MZCONFIG_DISALLOW_INLINE 
MZCONFIG_CUSTODIAN 
MZCONFIG_INSPECTOR 
MZCONFIG_CODE_INSPECTOR 
MZCONFIG_USE_COMPILED_KIND 
MZCONFIG_USE_USER_PATHS 
MZCONFIG_LOAD_DIRECTORY 
MZCONFIG_WRITE_DIRECTORY 
MZCONFIG_COLLECTION_PATHS 
MZCONFIG_PORT_PRINT_HANDLER 
MZCONFIG_LOAD_EXTENSION_HANDLER 
MZCONFIG_CURRENT_DIRECTORY 
MZCONFIG_RANDOM_STATE 
MZCONFIG_CURRENT_MODULE_RESOLVER 
MZCONFIG_CURRENT_MODULE_NAME 
MZCONFIG_ERROR_PRINT_SRCLOC 
MZCONFIG_CMDLINE_ARGS 
MZCONFIG_LOCALE 
MZCONFIG_SECURITY_GUARD 
MZCONFIG_PORT_COUNT_LINES 
MZCONFIG_SCHEDULER_RANDOM_STATE 
MZCONFIG_THREAD_SET 
MZCONFIG_THREAD_INIT_STACK_SIZE 
MZCONFIG_LOAD_DELAY_ENABLED 
MZCONFIG_DELAY_LOAD_INFO 
MZCONFIG_EXPAND_OBSERVE 
MZCONFIG_LOGGER 
__MZCONFIG_BUILTIN_COUNT__ 

Definition at line 1148 of file scheme.h.

     {
  MZCONFIG_ENV,
  MZCONFIG_INPUT_PORT,
  MZCONFIG_OUTPUT_PORT,
  MZCONFIG_ERROR_PORT,

  MZCONFIG_ERROR_DISPLAY_HANDLER,
  MZCONFIG_ERROR_PRINT_VALUE_HANDLER,

  MZCONFIG_EXIT_HANDLER,

  MZCONFIG_INIT_EXN_HANDLER,

  MZCONFIG_EVAL_HANDLER,
  MZCONFIG_COMPILE_HANDLER,
  MZCONFIG_LOAD_HANDLER,
  MZCONFIG_LOAD_COMPILED_HANDLER,

  MZCONFIG_PRINT_HANDLER,
  MZCONFIG_PROMPT_READ_HANDLER,

  MZCONFIG_READTABLE,
  MZCONFIG_READER_GUARD,

  MZCONFIG_CAN_READ_GRAPH,
  MZCONFIG_CAN_READ_COMPILED,
  MZCONFIG_CAN_READ_BOX,
  MZCONFIG_CAN_READ_PIPE_QUOTE,
  MZCONFIG_CAN_READ_DOT,
  MZCONFIG_CAN_READ_INFIX_DOT,
  MZCONFIG_CAN_READ_QUASI,
  MZCONFIG_CAN_READ_READER,
  MZCONFIG_READ_DECIMAL_INEXACT,
  
  MZCONFIG_PRINT_GRAPH,
  MZCONFIG_PRINT_STRUCT,
  MZCONFIG_PRINT_BOX,
  MZCONFIG_PRINT_VEC_SHORTHAND,
  MZCONFIG_PRINT_HASH_TABLE,
  MZCONFIG_PRINT_UNREADABLE,
  MZCONFIG_PRINT_PAIR_CURLY,
  MZCONFIG_PRINT_MPAIR_CURLY,

  MZCONFIG_CASE_SENS,
  MZCONFIG_SQUARE_BRACKETS_ARE_PARENS,
  MZCONFIG_CURLY_BRACES_ARE_PARENS,

  MZCONFIG_HONU_MODE,

  MZCONFIG_ERROR_PRINT_WIDTH,
  MZCONFIG_ERROR_PRINT_CONTEXT_LENGTH,

  MZCONFIG_ERROR_ESCAPE_HANDLER,

  MZCONFIG_ALLOW_SET_UNDEFINED,
  MZCONFIG_COMPILE_MODULE_CONSTS,
  MZCONFIG_USE_JIT,
  MZCONFIG_DISALLOW_INLINE,

  MZCONFIG_CUSTODIAN,
  MZCONFIG_INSPECTOR,
  MZCONFIG_CODE_INSPECTOR,

  MZCONFIG_USE_COMPILED_KIND,
  MZCONFIG_USE_USER_PATHS,

  MZCONFIG_LOAD_DIRECTORY,
  MZCONFIG_WRITE_DIRECTORY,

  MZCONFIG_COLLECTION_PATHS,

  MZCONFIG_PORT_PRINT_HANDLER,

  MZCONFIG_LOAD_EXTENSION_HANDLER,

  MZCONFIG_CURRENT_DIRECTORY,

  MZCONFIG_RANDOM_STATE,

  MZCONFIG_CURRENT_MODULE_RESOLVER,
  MZCONFIG_CURRENT_MODULE_NAME,

  MZCONFIG_ERROR_PRINT_SRCLOC,

  MZCONFIG_CMDLINE_ARGS,

  MZCONFIG_LOCALE,

  MZCONFIG_SECURITY_GUARD,

  MZCONFIG_PORT_COUNT_LINES,

  MZCONFIG_SCHEDULER_RANDOM_STATE,

  MZCONFIG_THREAD_SET,
  MZCONFIG_THREAD_INIT_STACK_SIZE,

  MZCONFIG_LOAD_DELAY_ENABLED,
  MZCONFIG_DELAY_LOAD_INFO,

  MZCONFIG_EXPAND_OBSERVE,

  MZCONFIG_LOGGER,

  __MZCONFIG_BUILTIN_COUNT__
};

Function Documentation

Definition at line 268 of file env.c.

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 3609 of file thread.c.

{
  scheme_current_thread->suspend_break++;
  scheme_thread_block((float)0);
  --scheme_current_thread->suspend_break;

  check_sleep(have_activity, 0);
}

Here is the call graph for this function:

Definition at line 1993 of file thread.c.

Here is the call graph for this function:

Definition at line 44 of file env.c.

Definition at line 45 of file error.c.

Here is the caller graph for this function:

Definition at line 149 of file thread.c.

Definition at line 8367 of file port.c.

{
#if defined(FILES_HAVE_FDS)
  return external_event_fd;
#else
  return 0;
#endif
}

Definition at line 151 of file thread.c.

{ return scheme_current_thread->ku.multiple.array; }

Here is the caller graph for this function:

Definition at line 150 of file thread.c.

{ return scheme_current_thread->ku.multiple.count; }

Here is the caller graph for this function:

Definition at line 2557 of file error.c.

{
  exit(status);
}

Here is the caller graph for this function:

MZ_EXTERN void scheme_init_collection_paths ( Scheme_Env global_env,
Scheme_Object extra_dirs 
)

Definition at line 9979 of file eval.c.

{
  scheme_init_collection_paths_post(global_env, extra_dirs, scheme_null);
}

Here is the call graph for this function:

Here is the caller graph for this function:

MZ_EXTERN void scheme_init_collection_paths_post ( Scheme_Env global_env,
Scheme_Object extra_dirs,
Scheme_Object extra_post_dirs 
)

Definition at line 9956 of file eval.c.

{             
  mz_jmp_buf * volatile save, newbuf;
  Scheme_Thread * volatile p;
  p = scheme_get_current_thread();
  save = p->error_buf;
  p->error_buf = &newbuf;
  if (!scheme_setjmp(newbuf)) {
    Scheme_Object *clcp, *flcp, *a[2];

    clcp = scheme_builtin_value("current-library-collection-paths");
    flcp = scheme_builtin_value("find-library-collection-paths");

    if (clcp && flcp) {
      a[0] = extra_dirs;
      a[1] = post_dirs;
      a[0] = _scheme_apply(flcp, 2, a);
      _scheme_apply(clcp, 1, a);
    }
  }
  p->error_buf = save;
}

Here is the caller graph for this function:

MZ_EXTERN int scheme_main_setup ( int  no_auto_statics,
Scheme_Env_Main  _main,
int  argc,
char **  argv 
)

Definition at line 141 of file salloc.c.

{
  Scheme_Main_Data d;
  d._main = _main;
  d.argc = argc;
  d.argv = argv;
  return scheme_main_stack_setup(no_auto_statics, call_with_basic, &d);
}

Here is the call graph for this function:

Here is the caller graph for this function:

MZ_EXTERN int scheme_main_stack_setup ( int  no_auto_statics,
Scheme_Nested_Main  _main,
void data 
)

Definition at line 150 of file salloc.c.

{
  void *stack_start;
  int volatile return_code;

  scheme_set_stack_base(PROMPT_STACK(stack_start), no_auto_statics);

  return_code = _main(data);

#ifdef MZ_PRECISE_GC
  /* Trick xform conversion to keep start_addr: */
  stack_start = NULL;
#endif

  return return_code;
}

Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 6483 of file thread.c.

{
  return max_configs++;
}

Here is the caller graph for this function:

MZ_EXTERN Scheme_Object* scheme_param_config ( char *  name,
Scheme_Object pos,
int  argc,
Scheme_Object **  argv,
int  arity,
Scheme_Prim check,
char *  expected,
int  isbool 
)
MZ_EXTERN Scheme_Object* scheme_register_parameter ( Scheme_Prim function,
char *  name,
int  which 
)

Definition at line 6696 of file thread.c.

{
  Scheme_Object *o;

  if (!config_map) {
    REGISTER_SO(config_map);
    config_map = MALLOC_N(Scheme_Object*, max_configs);
  }

  if (config_map[which])
    return config_map[which];

  o = scheme_make_prim_w_arity(function, name, 0, 1);
  ((Scheme_Primitive_Proc *)o)->pp.flags |= SCHEME_PRIM_IS_PARAMETER;

  config_map[which] = o;

  return o;
}

Here is the caller graph for this function:

MZ_EXTERN void scheme_register_static ( void ptr,
long  size 
)

Definition at line 461 of file salloc.c.

{
#if defined(MZ_PRECISE_GC) || defined(USE_SENORA_GC)
  /* Always register for precise and Senora GC: */
  GC_add_roots((char *)ptr, (char *)(((char *)ptr) + size + 1));
#else
# ifdef GC_MIGHT_USE_REGISTERED_STATICS
  if (use_registered_statics) {
    GC_add_roots((char *)ptr, (char *)(((char *)ptr) + size + 1));
  }
# endif
#endif
}

Definition at line 1932 of file fun.c.

Here is the caller graph for this function:

Definition at line 43 of file env.c.

Definition at line 1946 of file string.c.

Here is the caller graph for this function:

Definition at line 316 of file port.c.

Definition at line 68 of file symbol.c.

Definition at line 5955 of file file.c.

Here is the caller graph for this function:

Definition at line 152 of file thread.c.

{ scheme_current_thread->ran_some = 1; }

Here is the caller graph for this function:

Definition at line 5923 of file file.c.

{
#ifndef NO_FILE_SYSTEM_UTILS
  if (!exec_cmd) {
    REGISTER_SO(exec_cmd);
    exec_cmd = scheme_make_path(s);
  }

  return exec_cmd;
#endif
}

Definition at line 47 of file error.c.

{ scheme_exit = p; }

Definition at line 132 of file file.c.

MZ_EXTERN void scheme_set_logging ( int  syslog_level,
int  stderr_level 
)

Definition at line 120 of file error.c.

{
  if (syslog_level > -1)
    init_syslog_level = syslog_level;
  if (stderr_level > -1)
    init_stderr_level = stderr_level;
}

Definition at line 5961 of file file.c.

Here is the caller graph for this function:

Definition at line 196 of file salloc.c.

Here is the caller graph for this function:

Definition at line 5935 of file file.c.

{
#ifndef NO_FILE_SYSTEM_UTILS
  if (!run_cmd) {
    REGISTER_SO(run_cmd);
    run_cmd = scheme_make_path(s);
  }

  return run_cmd;
#endif
}
MZ_EXTERN void scheme_set_stack_base ( void base,
int  no_auto_statics 
)

Definition at line 82 of file salloc.c.

{
#ifdef MZ_PRECISE_GC
  GC_init_type_tags(_scheme_last_type_, 
                    scheme_pair_type, scheme_mutable_pair_type, scheme_weak_box_type, 
                    scheme_ephemeron_type, scheme_rt_weak_array,
                    scheme_cust_box_type);
  /* We want to be able to allocate symbols early. */
  scheme_register_traversers();
#endif

  scheme_primordial_os_thread_stack_base  = (unsigned long) base;
  scheme_os_thread_stack_base             = (unsigned long) base;

#if defined(MZ_PRECISE_GC) || defined(USE_SENORA_GC)
  GC_set_stack_base(base);
  /* no_auto_statics must always be true! */
#else
  GC_stackbottom = base;
  if (no_auto_statics) {
    GC_no_dls = 1;
    GC_init();
    GC_clear_roots();
  } else {
# if (defined(__APPLE__) && defined(__MACH__)) || defined(MZ_USE_IRIX_SPROCS)
    GC_init(); /* For Darwin, CGC requires GC_init() always */
# endif
  }
#endif
  use_registered_statics = no_auto_statics;
#if defined(MZ_PRECISE_GC)
  GC_report_out_of_memory = scheme_out_of_memory_abort;
#endif
}

Here is the call graph for this function:

Here is the caller graph for this function:

MZ_EXTERN void scheme_set_stack_bounds ( void base,
void deepest,
int  no_auto_statics 
)

Definition at line 167 of file salloc.c.

{
  scheme_set_stack_base(base, no_auto_statics);

#ifdef USE_STACK_BOUNDARY_VAR
  if (deepest) {
    scheme_stack_boundary = (unsigned long)deepest;
  }
#endif
}

Here is the call graph for this function:

Definition at line 6691 of file thread.c.

Definition at line 153 of file eval.c.

Here is the caller graph for this function:

Definition at line 3619 of file thread.c.

Here is the caller graph for this function:


Variable Documentation

Definition at line 1680 of file scheme.h.

Definition at line 1685 of file scheme.h.

Definition at line 1678 of file scheme.h.

Definition at line 1720 of file scheme.h.

MZ_EXTERN void(* scheme_console_output)(char *str, long len)

Definition at line 1716 of file scheme.h.

Definition at line 1714 of file scheme.h.

Definition at line 1682 of file scheme.h.

Definition at line 1700 of file scheme.h.

Definition at line 1675 of file scheme.h.

Definition at line 1504 of file scheme.h.

Definition at line 1711 of file scheme.h.

Definition at line 1701 of file scheme.h.

Definition at line 1491 of file scheme.h.

Definition at line 1684 of file scheme.h.

Definition at line 1683 of file scheme.h.

Definition at line 1687 of file scheme.h.

Definition at line 1737 of file scheme.h.

Definition at line 1735 of file scheme.h.

Definition at line 1736 of file scheme.h.

Definition at line 1721 of file scheme.h.

Definition at line 1679 of file scheme.h.

Definition at line 1718 of file scheme.h.

Definition at line 1784 of file scheme.h.

MZ_EXTERN void(* scheme_sleep)(float seconds, void *fds)

Definition at line 1717 of file scheme.h.

Definition at line 1681 of file scheme.h.

Definition at line 1686 of file scheme.h.

Definition at line 1719 of file scheme.h.