/*******************************
		 *	   OPTION LISTS		*
		 *******************************/

#define OPT_BOOL	(0)		/* types */
#define OPT_INT		(1)
#define OPT_STRING	(2)
#define OPT_ATOM	(3)
#define OPT_TERM	(4)		/* arbitrary term */
#define OPT_LONG	(5)
#define OPT_NATLONG	(6)		/* > 0 */
#define OPT_TYPE_MASK	0xff
#define OPT_INF		0x100		/* allow 'inf' */

#define OPT_ALL		0x1		/* flags */

typedef struct
{ atom_t	name;			/* Name of option */
  int		type;			/* Type of option */
} opt_spec, *OptSpec;

extern bool scan_options(term_t options, int flags, atom_t optype,
			 const opt_spec *specs, ...);