mac-rom/Interfaces/CIncludes/Power.h
Elliot Nunn 4325cdcc78 Bring in CubeE sources
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included.

The Tools directory, containing mostly junk, is also excluded.
2017-12-26 09:52:23 +08:00

152 lines
3.6 KiB
C

/************************************************************
Created: Friday, November 15, 1991 at 10:10 AM
Power.h
C Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1989-1991
All rights reserved
This file is used in these builds: BigBang
Change History (most recent first):
<12> 11/19/91 JL Changed 0x205F hex inlines in SleepQInstall to use the #pragma
parameter (__A0) capabilities of the C compiler for better
effeciency.
<11> 11/7/91 MH add #pragma parameter __D0 to IdleUpdate and GetCPUSpeed to
generate correct code.
<10> 7/31/91 JL Updated Copyright.
<9> 6/14/91 JL Checked in official MPW 3.2Ä version. Switched order of the
constants: sleepQType and slpQTyp. Temporarily lost updated
copyright date; will be restored.
<8> 2/5/91 stb gs: add sleepQType
<7> 1/30/91 JL Checked in database generated file from dsg ; changed IdleUpdate
- > BOff to Pascal functions.
<6> 1/25/91 stb JDR: add sleepRevoke and slpQType <5> 1/23/91 ag AG: Fixed
function definitions defined by MSH!
<4> 1/22/91 ag MSH: Removed all Power Manager command definitions and the
parameter block definition. Added interfaces to interface glue
for modem, battery, and wakeup timer.
<3> 1/18/91 ag MSH - Removed private Power Manager equates.
<2> 11/7/90 JL Changed #defines to anonymous enums
To Do:
************************************************************/
#ifndef __POWER__
#define __POWER__
#ifndef __TYPES__
#include <Types.h>
#endif
enum {
/* Bit positions for ModemByte */
modemOnBit = 0,
ringWakeUpBit = 2,
modemInstalledBit = 3,
ringDetectBit = 4,
modemOnHookBit = 5,
/* masks for ModemByte */
modemOnMask = 0x1,
ringWakeUpMask = 0x4,
modemInstalledMask = 0x8,
ringDetectMask = 0x10,
modemOnHookMask = 0x20,
/* bit positions for BatteryByte */
chargerConnBit = 0,
hiChargeBit = 1,
chargeOverFlowBit = 2,
batteryDeadBit = 3,
batteryLowBit = 4,
connChangedBit = 5,
/* masks for BatteryByte */
chargerConnMask = 0x1,
hiChargeMask = 0x2,
chargeOverFlowMask = 0x4,
batteryDeadMask = 0x8
};
enum {
batteryLowMask = 0x10,
connChangedMask = 0x20,
/* commands to SleepQRec sleepQProc */
sleepRequest = 1,
sleepDemand = 2,
sleepWakeUp = 3,
sleepRevoke = 4,
/* SleepQRec.sleepQFlags */
noCalls = 1,
noRequest = 2,
slpQType = 16,
sleepQType = 16
};
typedef char ModemByte;
typedef char BatteryByte;
typedef long PMResultCode;
struct SleepQRec {
struct SleepQRec *sleepQLink;
short sleepQType; /*type = 16*/
ProcPtr sleepQProc; /*Pointer to sleep routine*/
short sleepQFlags;
};
typedef struct SleepQRec SleepQRec;
typedef SleepQRec *SleepQRecPtr;
#ifdef __cplusplus
extern "C" {
#endif
pascal OSErr DisableWUTime(void);
pascal OSErr GetWUTime(long *WUTime,Byte *WUFlag);
pascal OSErr SetWUTime(long WUTime);
pascal OSErr BatteryStatus(Byte *Status,Byte *Power);
pascal OSErr ModemStatus(Byte *Status);
#pragma parameter __D0 IdleUpdate
pascal long IdleUpdate(void)
= 0xA285;
#pragma parameter __D0 GetCPUSpeed
pascal long GetCPUSpeed(void)
= {0x70FF,0xA485};
pascal void EnableIdle(void)
= {0x7000,0xA485};
pascal void DisableIdle(void)
= {0x7001,0xA485};
#pragma parameter SleepQInstall(__A0)
pascal void SleepQInstall(SleepQRecPtr qRecPtr)
= 0xA28A;
#pragma parameter SleepQRemove(__A0)
pascal void SleepQRemove(SleepQRecPtr qRecPtr)
= 0xA48A;
pascal void AOn(void)
= {0x7004,0xA685};
pascal void AOnIgnoreModem(void)
= {0x7005,0xA685};
pascal void BOn(void)
= {0x7000,0xA685};
pascal void AOff(void)
= {0x7084,0xA685};
pascal void BOff(void)
= {0x7080,0xA685};
#ifdef __cplusplus
}
#endif
#endif