/*
 * menu.h
 *
 * [Generated from menu, 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 __menu_h
#define __menu_h

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

/*----- Overview ----------------------------------------------------------*
 *
 * Functions provided:
 *
 *  menu_create
 *  menu_help
 *  menu_init
 */

/* --- menu_create --- *
 *
 * On entry:	R0 == pointer to menu definition table
 *		R1 == event handler to use
 *		R2 == R10 value for handler
 *		R3 == R12 value for handler
 *
 * On exit:	--
 *
 * Use:		Creates a menu from the given menu definition
 *		table. If this call is called more than once before
 *		a menu is opened then the menu definiton are concatenated
 *		into a large menu. Only the first menu title read is
 *		taken notice of. Notice therefore, that the call doesn't
 *		actually open a menu.
 */

extern routine menu_create;

/* --- menu_help --- *
 *
 * On entry:	R0 == pointer to base message tag
 *		R1 == index of menu item
 *
 * On exit:	--
 *
 * Use:		Adds a string to the help message found by adding the menu
 *		item number to the base message tag.
 */

extern routine menu_help;

/* --- menu_init --- *
 *
 * On entry:	--
 *
 * On exit:	--
 *
 * Use:		Initialises the menu system.
 */

extern routine menu_init;

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

#endif
