/*
 * choices.h
 *
 * [Generated from choices, 08 November 1995]
 */

#pragma include_only_once
#pragma force_top_level

#ifndef __choices_h
#define __choices_h

/*----- Overview ----------------------------------------------------------*
 *
 * Functions provided:
 *
 *  choices_useChoices
 *  choices_find
 */

/* --- choices_useChoices --- *
 *
 * On entry:	R0 == 0 to disable use of `Choices', >0 to enable, or <0 to
 *			read
 *
 * On exit:	R0 == previous setting
 *
 * Use:		This call allows an application to determine whether its
 *		user-configurable resources are looked for in Acorn's
 *		`Choices' directory, or only in the application's directory.
 *
 *		An application would typically make this call after parsing
 *		its command-line options, to allow a Network Manager to
 *		enable the `Choices' support.
 */

extern routine choices_useChoices;

/* --- choices_find --- *
 *
 * On entry:	R0 == pointer to resource filename
 *		R1 == pointer to buffer to build filename in
 *		R2 == flags:
 *			bit 0 == file will be written to (use Choices$Write)
 *
 * On exit:	R0 == pointer to filename
 *		R1 == pointer to terminating NULL
 *		CS if the file was found, else CC
 *
 * Use:		Locates a user-configurable resource file.  The search order
 *		depends on (a) whether the file will be written (bit 0 of R2)
 *		and (b) whether the use of Acorn's `Choices' system is
 *		enabled.
 *
 *		The search order is as follows:
 *
 *		* Choices:appName.leaf / <Choices$Write>.appName.leaf
 *		* res_find(leaf)
 *
 *		(i.e. it looks in the `Choices' structure first, and if that
 *		fails, it will use res_find).
 */

extern routine choices_find;

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

#endif
