These flags and hooks are availble when MzScheme is embedded:
scheme_exit -- This pointer can be set to a function which takes an integer argument and returns void; the function will be used as the default exit handler. The default is NULL.
scheme_console_printf -- This pointer can be set to a
function that takes arguments like printf; the function will be
called to display internal MzScheme warnings and messages. The default
is NULL.
scheme_console_output -- This pointer can be set to a
function that takes a string and a long string length; the
function will be called to display internal MzScheme warnings and
messages that possibly contain non-terminating nuls. The default is
NULL.
scheme_check_for_break -- This points to a function of no arguments that returns an integer. It is used as the default user-break polling procedure in the main thread. (A non-zero return value indicates a user break.) The default is NULL.
scheme_make_stdin, scheme_make_stdout, scheme_make_stderr, -- These pointers can be set to a function that takes no arguments and returns a Scheme port Scheme_Object * to be used as the starting standard input, output, and/or error port. The defaults are NULL.
scheme_case_sensitive -- If this flag is set to a non-zero value before scheme_basic_env is called, then MzScheme will not ignore capitalization for synbols and global variable names. The value of this flag should not change once it is set. The default is zero.
scheme_allow_set_undefined -- This flag determines
the initial value of compile-allow-set!-undefined. The default
is zero.