////	P U B L I C   D E C L A R A T I O N S//typedef enum	{	sleepOK = 0,			// normal sleep, returned on seconds transition	sleepMissed,			// sleep target passed before call to sleep	sleepInterrupted,		// sleep terminated by an external interrupt	cantSleepBadFSys,		// wont even try if <1.28MHz or > 16MHz	cantSleepBadTickRate,	// low power sleep demands tick rate of 100	cantSleepIRQ3Busy		// IRQ3 is being asserted so we can't sleep	}	SLPResult;typedef struct	{	unsint		sleepAt3V			:1;	// reduce power by reducing voltage	unsint		sleepADshdn			:1;	// force the AD into shutdown	unsint		sleepRSshdn			:1;	// force the RS232 driver to shutdown	unsint		sleepZeroEvenSec	:1;	// sleep zero waits for next second	unsint		sleepSpuriousRupt	:1;	// break on (catch) spurious interrupts	unsint		sleepHandleIRQ1		:1;	// break on IRQ1 (RS232) interrupts	unsint		sleepHandleIRQ2		:1;	// break on IRQ2 (unknown) interrupts	unsint		sleepHandleIRQ4		:1;	// break on IRQ4 (unknown) interrupts	unsint		sleepHandleIRQ6		:1;	// break on IRQ6/TP15 interrupts	}	SleepPowerOptions;		extern SleepPowerOptions	SleepOpts;//	LowPowerSleep		- Sleep for a number of ticks relative to the last sleep.SLPResult LowPowerSleep(ulong wakesecs);//	LowPowerSleepTill	- Sleep until a specified time.SLPResult LowPowerSleepTill(time_tt wakeup);