These flags and hooks are availble when MzScheme is embedded:
scheme_exit -- This pointer can be set to a function that takes an integer argument and returns void; the function will be used as the default exit handler. 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. Setting the initial erorr port is particularly important for seeing unexpected error messages if stderr output goes nowhere.
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_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.
scheme_console_printf -- This function pointer was left for backward compatiblity. The default builds a string and calls scheme_console_output.