/*
 * report.h
 *
 * [Generated from report, 25 September 1996]
 */

#if !defined(__CC_NORCROFT) || !defined(__arm)
  #error You must use the Norcroft ARM Compiler for Sapphire programs
#endif

#pragma include_only_once
#pragma force_top_level

#ifndef __report_h
#define __report_h

#ifndef __sapphire_h
  #include "sapphire.h"
#endif

/*----- Overview ----------------------------------------------------------*
 *
 * Functions provided:
 *
 *  report_register
 *  report_catchAll
 *  report_error
 */

/* --- report_register --- *
 *
 * On entry:	R0 == pointer to routine to use
 *		R1 == R12 to pass to the routine
 *		R2 == stack pointer to set when it gets control
 *
 * On exit:	--
 *
 * Use:		Registers a resume point so that the application can recover
 *		from errors.  Error messages are reported using errorBox.
 */

extern routine report_register;

/* --- report_catchAll --- *
 *
 * On entry:	--
 *
 * On exit:	R13 modified
 *
 * Use:		Sets up an exception handler to catch errors and other SEH
 *		exceptions.  Errors are reported in the usual way, and the
 *		user is given the option to close the application.  Other
 *		exceptions are reported as errors.
 */

extern routine report_catchAll;

/* --- report_error --- *
 *
 * On entry:	R0 == pointer to error
 *
 * On exit:	--
 *
 * Use:		Prompts the user about quitting the application in response
 *		to a really bad error.  If the user decides to quit, we
 *		quit.  Otherwise we return.
 */

extern routine report_error;

/*----- That's all, folks -------------------------------------------------*/

#endif
