1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438 |
- {
- File: Power.p
-
- Contains: Power Manager Interfaces.
-
- Version: Technology: Mac OS 9
- Release: Universal Interfaces 3.4.2
-
- Copyright: © 1990-2002 by Apple Computer, Inc. All rights reserved
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://www.freepascal.org/bugs.html
-
- }
- {
- Modified for use with Free Pascal
- Version 200
- Please report any bugs to <[email protected]>
- }
- {$mode macpas}
- {$packenum 1}
- {$macro on}
- {$inline on}
- {$CALLING MWPASCAL}
- unit Power;
- interface
- {$setc UNIVERSAL_INTERFACES_VERSION := $0342}
- {$setc GAP_INTERFACES_VERSION := $0200}
- {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
- {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
- {$endc}
- {$ifc defined CPUPOWERPC and defined CPUI386}
- {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
- {$endc}
- {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
- {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
- {$endc}
- {$ifc not defined __ppc__ and defined CPUPOWERPC}
- {$setc __ppc__ := 1}
- {$elsec}
- {$setc __ppc__ := 0}
- {$endc}
- {$ifc not defined __i386__ and defined CPUI386}
- {$setc __i386__ := 1}
- {$elsec}
- {$setc __i386__ := 0}
- {$endc}
- {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
- {$error Conflicting definitions for __ppc__ and __i386__}
- {$endc}
- {$ifc defined __ppc__ and __ppc__}
- {$setc TARGET_CPU_PPC := TRUE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$elifc defined __i386__ and __i386__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_X86 := TRUE}
- {$elsec}
- {$error Neither __ppc__ nor __i386__ is defined.}
- {$endc}
- {$setc TARGET_CPU_PPC_64 := FALSE}
- {$ifc defined FPC_BIG_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := TRUE}
- {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
- {$elifc defined FPC_LITTLE_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := FALSE}
- {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
- {$elsec}
- {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
- {$endc}
- {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
- {$setc CALL_NOT_IN_CARBON := FALSE}
- {$setc OLDROUTINENAMES := FALSE}
- {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
- {$setc OPAQUE_UPP_TYPES := TRUE}
- {$setc OTCARBONAPPLICATION := TRUE}
- {$setc OTKERNEL := FALSE}
- {$setc PM_USE_SESSION_APIS := TRUE}
- {$setc TARGET_API_MAC_CARBON := TRUE}
- {$setc TARGET_API_MAC_OS8 := FALSE}
- {$setc TARGET_API_MAC_OSX := TRUE}
- {$setc TARGET_CARBON := TRUE}
- {$setc TARGET_CPU_68K := FALSE}
- {$setc TARGET_CPU_MIPS := FALSE}
- {$setc TARGET_CPU_SPARC := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_UNIX := FALSE}
- {$setc TARGET_OS_WIN32 := FALSE}
- {$setc TARGET_RT_MAC_68881 := FALSE}
- {$setc TARGET_RT_MAC_CFM := FALSE}
- {$setc TARGET_RT_MAC_MACHO := TRUE}
- {$setc TYPED_FUNCTION_POINTERS := TRUE}
- {$setc TYPE_BOOL := FALSE}
- {$setc TYPE_EXTENDED := FALSE}
- {$setc TYPE_LONGLONG := TRUE}
- uses MacTypes,MixedMode,Multiprocessing,NameRegistry,MacErrors;
- {$ALIGN MAC68K}
- const
- { Bit positions for ModemByte }
- modemOnBit = 0;
- ringWakeUpBit = 2;
- modemInstalledBit = 3;
- ringDetectBit = 4;
- modemOnHookBit = 5;
- { masks for ModemByte }
- modemOnMask = $01;
- ringWakeUpMask = $04;
- modemInstalledMask = $08;
- ringDetectMask = $10;
- modemOnHookMask = $20;
- { bit positions for BatteryByte }
- chargerConnBit = 0;
- hiChargeBit = 1;
- chargeOverFlowBit = 2;
- batteryDeadBit = 3;
- batteryLowBit = 4;
- connChangedBit = 5;
- { masks for BatteryByte }
- chargerConnMask = $01;
- hiChargeMask = $02;
- chargeOverFlowMask = $04;
- batteryDeadMask = $08;
- batteryLowMask = $10;
- connChangedMask = $20;
- { bit positions for SoundMixerByte }
- MediaBaySndEnBit = 0;
- PCISndEnBit = 1;
- ZVSndEnBit = 2;
- PCCardSndEnBit = 3;
- { masks for SoundMixerByte }
- MediaBaySndEnMask = $01;
- PCISndEnMask = $02;
- ZVSndEnMask = $04;
- PCCardSndEnMask = $08;
- { commands to SleepQRec sleepQProc }
- kSleepRequest = 1;
- kSleepDemand = 2;
- kSleepWakeUp = 3;
- kSleepRevoke = 4;
- kSleepUnlock = 4;
- kSleepDeny = 5; { A non-zero value clients can use to deny requests }
- kSleepNow = 6;
- kDozeDemand = 7;
- kDozeWakeUp = 8;
- kDozeRequest = 9; { additional messages for Power Mgr 2.0 }
- kEnterStandby = 10; { Idle Queue Only }
- kEnterRun = 11; { Idle Queue Only }
- kSuspendRequest = 12;
- kSuspendDemand = 13;
- kSuspendRevoke = 14;
- kSuspendWakeUp = 15;
- kGetPowerLevel = 16;
- kSetPowerLevel = 17;
- kDeviceInitiatedWake = 18;
- kWakeToDoze = 19;
- kDozeToFullWakeUp = 20;
- kGetPowerInfo = 21;
- kGetWakeOnNetInfo = 22;
- kSuspendWakeToDoze = 23;
- kEnterIdle = 24; { Idle Queue Only }
- kStillIdle = 25; { Idle Queue Only }
- kExitIdle = 26; { Idle Queue Only }
- { depreciated commands to SleepQRec sleepQProc }
- sleepRequest = 1;
- sleepDemand = 2;
- sleepWakeUp = 3;
- sleepRevoke = 4;
- sleepUnlock = 4;
- sleepDeny = 5;
- sleepNow = 6;
- dozeDemand = 7;
- dozeWakeUp = 8;
- dozeRequest = 9;
- enterStandby = 10;
- enterRun = 11;
- suspendRequestMsg = 12;
- suspendDemandMsg = 13;
- suspendRevokeMsg = 14;
- suspendWakeUpMsg = 15;
- getPowerLevel = 16;
- setPowerLevel = 17;
- { Power Handler func messages }
- type
- PowerLevel = UInt32;
- { Power levels corresponding to PCI Bus Power Management Interface Spec (PMIS) }
- const
- kPMDevicePowerLevel_On = 0; { fully-powered 'On' state (D0 state) }
- kPMDevicePowerLevel_D1 = 1; { not used by Apple system SW }
- kPMDevicePowerLevel_D2 = 2; { not used by Apple system SW }
- kPMDevicePowerLevel_Off = 3; { main PCI bus power 'Off', but PCI standby power available (D3cold state) }
- { PowerHandlerProc definition }
- type
- {$ifc TYPED_FUNCTION_POINTERS}
- PowerHandlerProcPtr = function(message: UInt32; param: UnivPtr; refCon: UInt32; var regEntryID_: RegEntryID): OSStatus;
- {$elsec}
- PowerHandlerProcPtr = ProcPtr;
- {$endc}
- {$ifc OPAQUE_UPP_TYPES}
- PowerHandlerUPP = ^SInt32; { an opaque UPP }
- {$elsec}
- PowerHandlerUPP = UniversalProcPtr;
- {$endc}
- const
- uppPowerHandlerProcInfo = $00003FF0;
- {$ifc CALL_NOT_IN_CARBON}
- {
- * NewPowerHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function NewPowerHandlerUPP(userRoutine: PowerHandlerProcPtr): PowerHandlerUPP; external name '_NewPowerHandlerUPP'; { old name was NewPowerHandlerProc }
- {
- * DisposePowerHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- }
- procedure DisposePowerHandlerUPP(userUPP: PowerHandlerUPP); external name '_DisposePowerHandlerUPP';
- {
- * InvokePowerHandlerUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function InvokePowerHandlerUPP(message: UInt32; param: UnivPtr; refCon: UInt32; var regEntryID_: RegEntryID; userRoutine: PowerHandlerUPP): OSStatus; external name '_InvokePowerHandlerUPP'; { old name was CallPowerHandlerProc }
- {$endc} {CALL_NOT_IN_CARBON}
- {
- Use kIdleQueueDeviceType as the deviceType argument to AddDevicePowerHandler() to get the
- handler into the idle queue instead of the device sleep queue.
- }
- { PCI power management support }
- const
- kUseDefaultMinimumWakeTime = 0; { Defaults to 5 minutes }
- kPowerSummaryVersion = 1; { Version of PowerSummary structure. }
- kDevicePowerInfoVersion = 1; { Version of DevicePowerInfo structure. }
- { PowerSummary flags }
- kPCIPowerOffAllowed = $00000001; { PCI power off is allowed. }
- { DevicePowerInfo flags }
- kDevicePCIPowerOffAllowed = $00000001; { PCI power off is allowed for device. }
- kDeviceSupportsPMIS = $00000002; { Device supports Power Mgt Interface Spec. }
- kDeviceCanAssertPMEDuringSleep = $00000004; { Device can assert PME# during sleep. }
- kDeviceUsesCommonLogicPower = $00000008; { Device uses common-logic power }
- kDeviceDriverPresent = $00000010; { Driver present for device. }
- kDeviceDriverSupportsPowerMgt = $00000020; { Driver installed a power handler. }
- type
- DevicePowerInfoPtr = ^DevicePowerInfo;
- DevicePowerInfo = record
- version: UInt32; { Version of this structure. }
- regID: RegEntryID; { RegEntryID for device. }
- flags: OptionBits; { Flags }
- minimumWakeTime: UInt32; { Minimum seconds before sleeping again. }
- sleepPowerNeeded: UInt32; { Milliwatts needed in the sleep state. }
- end;
- PowerSummaryPtr = ^PowerSummary;
- PowerSummary = record
- version: UInt32; { Version of this structure. }
- flags: OptionBits; { Flags }
- sleepPowerAvailable: UInt32; { Milliwatts available during sleep. }
- sleepPowerNeeded: UInt32; { Milliwatts needed during sleep. }
- minimumWakeTime: UInt32; { Minimum seconds before sleeping again. }
- deviceCount: ItemCount; { Number of device power info records. }
- devices: array [0..0] of DevicePowerInfo; { Array of device power info records. }
- end;
- const
- { SleepQRec.sleepQFlags }
- noCalls = 1;
- noRequest = 2;
- slpQType = 16;
- sleepQType = 16;
- { Power Mgt Apple Event types and errors }
- { power mgt class }
- kAEMacPowerMgtEvt = $706D6774 (* 'pmgt' *); { event ids }
- kAEMacToWake = $77616B65 (* 'wake' *);
- kAEMacLowPowerSaveData = $706D7364 (* 'pmsd' *);
- kAEMacEmergencySleep = $656D736C (* 'emsl' *);
- kAEMacEmergencyShutdown = $656D7364 (* 'emsd' *);
- {
- These are result values returned by a Power Handler when queries
- by the Power Mgr if the device which that Power Handler represents
- woke the machine.
- }
- kDeviceDidNotWakeMachine = 0; { device did NOT wake machine }
- kDeviceRequestsFullWake = 1; { device did wake machine and requests full wakeup }
- kDeviceRequestsWakeToDoze = 2; { device did wake machine and requests partial wakeup }
- { bits in bitfield returned by PMFeatures }
- hasWakeupTimer = 0; { 1=wakeup timer is supported }
- hasSharedModemPort = 1; { 1=modem port shared by SCC and internal modem }
- hasProcessorCycling = 2; { 1=processor cycling is supported }
- mustProcessorCycle = 3; { 1=processor cycling should not be turned off }
- hasReducedSpeed = 4; { 1=processor can be started up at reduced speed }
- dynamicSpeedChange = 5; { 1=processor speed can be switched dynamically }
- hasSCSIDiskMode = 6; { 1=SCSI Disk Mode is supported }
- canGetBatteryTime = 7; { 1=battery time can be calculated }
- canWakeupOnRing = 8; { 1=can wakeup when the modem detects a ring }
- hasDimmingSupport = 9; { 1=has dimming support built in (DPMS standby by default) }
- hasStartupTimer = 10; { 1=startup timer is supported }
- hasChargeNotification = 11; { 1=client can determine of charge connect status change notifications available }
- hasDimSuspendSupport = 12; { 1=supports dimming LCD and CRT to DPMS suspend state }
- hasWakeOnNetActivity = 13; { 1=hardware supports wake on network activity }
- hasWakeOnLid = 14; { 1=hardware can wake when opened }
- canPowerOffPCIBus = 15; { 1=hardware can power off PCI bus during sleep if cards allow }
- hasDeepSleep = 16; { 1=hardware supports deep sleep (hibernation) mode }
- hasSleep = 17; { 1=hardware supports normal (PowerBook-like) sleep }
- supportsServerModeAPIs = 18; { 1=hardware supports server mode API routines }
- supportsUPSIntegration = 19; { 1=hardware support UPS integration and reporting }
- hasAggressiveIdling = 20; { 1=Power Manager only resets OverallAct on UsrActvity }
- supportsIdleQueue = 21; { 1=Power Manager supports the idle queue }
- { bits in bitfield returned by GetIntModemInfo and set by SetIntModemState }
- hasInternalModem = 0; { 1=internal modem installed }
- intModemRingDetect = 1; { 1=internal modem has detected a ring }
- intModemOffHook = 2; { 1=internal modem is off hook }
- intModemRingWakeEnb = 3; { 1=wakeup on ring is enabled }
- extModemSelected = 4; { 1=external modem selected }
- modemSetBit = 15; { 1=set bit, 0=clear bit (SetIntModemState) }
- { bits in BatteryInfo.flags }
- { ("chargerConnected" doesn't mean the charger is plugged in) }
- batteryInstalled = 7; { 1=battery is currently connected }
- batteryCharging = 6; { 1=battery is being charged }
- chargerConnected = 5; { 1=charger is connected to the PowerBook }
- upsConnected = 4; { 1=there is a UPS connected }
- upsIsPowerSource = 3; { 1=UPS is source of power }
- HDPwrQType = $4844; { 'HD' hard disk spindown queue element type }
- PMgrStateQType = $504D; { 'PM' Power Manager state queue element type }
- { client notification bits in PMgrQueueElement.pmNotifyBits }
- pmSleepTimeoutChanged = 0;
- pmSleepEnableChanged = 1;
- pmHardDiskTimeoutChanged = 2;
- pmHardDiskSpindownChanged = 3;
- pmDimmingTimeoutChanged = 4;
- pmDimmingEnableChanged = 5;
- pmDiskModeAddressChanged = 6;
- pmProcessorCyclingChanged = 7;
- pmProcessorSpeedChanged = 8;
- pmWakeupTimerChanged = 9;
- pmStartupTimerChanged = 10;
- pmHardDiskPowerRemovedbyUser = 11;
- pmChargeStatusChanged = 12;
- pmPowerLevelChanged = 13;
- pmWakeOnNetActivityChanged = 14;
- pmSleepTimeoutChangedMask = $01;
- pmSleepEnableChangedMask = $02;
- pmHardDiskTimeoutChangedMask = $04;
- pmHardDiskSpindownChangedMask = $08;
- pmDimmingTimeoutChangedMask = $10;
- pmDimmingEnableChangedMask = $20;
- pmDiskModeAddressChangedMask = $40;
- pmProcessorCyclingChangedMask = $80;
- pmProcessorSpeedChangedMask = $0100;
- pmWakeupTimerChangedMask = $0200;
- pmStartupTimerChangedMask = $0400;
- pmHardDiskPowerRemovedbyUserMask = $0800;
- pmChargeStatusChangedMask = $1000;
- pmPowerLevelChangedMask = $2000;
- pmWakeOnNetActivityChangedMask = $4000;
- { System Activity Selectors }
- { Notes: The IdleActivity selector is not available unless the hasAggressiveIdling PMFeatures bit is set. }
- { Use IdleActivity where you used to use OverallAct if necessary. OverallAct will only }
- { delay power cycling if it's enabled, and will delay sleep by a small amount when }
- { hasAggressiveIdling is set. Don't use IdleActivity unless hasAggressiveIdling is set; when }
- { hasAggressiveIdling is not set, the use of IdleActivity is undefined, and well do different }
- { things depending on which Power Manager is currently running. }
- OverallAct = 0; { Delays idle sleep by small amount }
- UsrActivity = 1; { Delays idle sleep and dimming by timeout time }
- NetActivity = 2; { Delays idle sleep and power cycling by small amount }
- HDActivity = 3; { Delays hard drive spindown and idle sleep by small amount }
- IdleActivity = 4; { Delays idle sleep by timeout time }
- { Storage Media sleep mode defines }
- kMediaModeOn = 0; { Media active (Drive spinning and at full power) }
- kMediaModeStandBy = 1; { Media standby (not implemented) }
- kMediaModeSuspend = 2; { Media Idle (not implemented) }
- kMediaModeOff = 3; { Media Sleep (Drive not spinning and at min power, max recovery time) }
- kMediaPowerCSCode = 70;
- { definitions for HDQueueElement.hdFlags }
- kHDQueuePostBit = 0; { 1 = call this routine on the second pass }
- kHDQueuePostMask = $01;
- type
- ActivityInfoPtr = ^ActivityInfo;
- ActivityInfo = record
- ActivityType: SInt16; { Type of activity to be fetched. Same as UpdateSystemActivity Selectors }
- ActivityTime: UInt32; { Time of last activity (in ticks) of specified type. }
- end;
- { information returned by GetScaledBatteryInfo }
- BatteryInfoPtr = ^BatteryInfo;
- BatteryInfo = packed record
- flags: UInt8; { misc flags (see below) }
- warningLevel: UInt8; { scaled warning level (0-255) }
- reserved: UInt8; { reserved for internal use }
- batteryLevel: UInt8; { scaled battery level (0-255) }
- end;
- ModemByte = SInt8;
- BatteryByte = SInt8;
- SoundMixerByte = SInt8;
- PMResultCode = SInt32;
- SleepQRecPtr = ^SleepQRec;
- HDQueueElementPtr = ^HDQueueElement;
- PMgrQueueElementPtr = ^PMgrQueueElement;
- {$ifc TYPED_FUNCTION_POINTERS}
- SleepQProcPtr = function(message: SInt32; qRecPtr: SleepQRecPtr): SInt32;
- {$elsec}
- SleepQProcPtr = Register68kProcPtr;
- {$endc}
- {$ifc TYPED_FUNCTION_POINTERS}
- HDSpindownProcPtr = procedure(theElement: HDQueueElementPtr);
- {$elsec}
- HDSpindownProcPtr = ProcPtr;
- {$endc}
- {$ifc TYPED_FUNCTION_POINTERS}
- PMgrStateChangeProcPtr = procedure(theElement: PMgrQueueElementPtr; stateBits: SInt32);
- {$elsec}
- PMgrStateChangeProcPtr = ProcPtr;
- {$endc}
- {$ifc OPAQUE_UPP_TYPES}
- SleepQUPP = ^SInt32; { an opaque UPP }
- {$elsec}
- SleepQUPP = UniversalProcPtr;
- {$endc}
- {$ifc OPAQUE_UPP_TYPES}
- HDSpindownUPP = ^SInt32; { an opaque UPP }
- {$elsec}
- HDSpindownUPP = UniversalProcPtr;
- {$endc}
- {$ifc OPAQUE_UPP_TYPES}
- PMgrStateChangeUPP = ^SInt32; { an opaque UPP }
- {$elsec}
- PMgrStateChangeUPP = UniversalProcPtr;
- {$endc}
- SleepQRec = record
- sleepQLink: SleepQRecPtr; { pointer to next queue element }
- sleepQType: SInt16; { queue element type (must be SleepQType) }
- sleepQProc: SleepQUPP; { pointer to sleep universal proc ptr }
- sleepQFlags: SInt16; { flags }
- end;
- HDQueueElement = record
- hdQLink: HDQueueElementPtr; { pointer to next queue element }
- hdQType: SInt16; { queue element type (must be HDPwrQType) }
- hdFlags: SInt16; { miscellaneous flags }
- hdProc: HDSpindownUPP; { pointer to routine to call }
- hdUser: SInt32; { user-defined (variable storage, etc.) }
- end;
- PMgrQueueElement = record
- pmQLink: PMgrQueueElementPtr; { pointer to next queue element }
- pmQType: SInt16; { queue element type (must be PMgrStateQType) }
- pmFlags: SInt16; { miscellaneous flags }
- pmNotifyBits: SInt32; { bitmap of which changes to be notified for }
- pmProc: PMgrStateChangeUPP; { pointer to routine to call }
- pmUser: SInt32; { user-defined (variable storage, etc.) }
- end;
- BatteryTimeRecPtr = ^BatteryTimeRec;
- BatteryTimeRec = record
- expectedBatteryTime: UInt32; { estimated battery time remaining (seconds) }
- minimumBatteryTime: UInt32; { minimum battery time remaining (seconds) }
- maximumBatteryTime: UInt32; { maximum battery time remaining (seconds) }
- timeUntilCharged: UInt32; { time until battery is fully charged (seconds) }
- end;
- WakeupTimePtr = ^WakeupTime;
- WakeupTime = record
- wakeTime: UInt32; { wakeup time (same format as current time) }
- wakeEnabled: boolean; { 1=enable wakeup timer, 0=disable wakeup timer }
- filler: SInt8;
- end;
- StartupTimePtr = ^StartupTime;
- StartupTime = record
- startTime: UInt32; { startup time (same format as current time) }
- startEnabled: boolean; { 1=enable startup timer, 0=disable startup timer }
- filler: SInt8;
- end;
- { PowerSource version }
- const
- kVersionOnePowerSource = 1;
- kVersionTwoPowerSource = 2;
- kCurrentPowerSourceVersion = 2;
- { PowerSourceAttrs bits }
- bSourceIsBattery = 0; { power source is battery }
- bSourceIsAC = 1; { power source is AC }
- bSourceCanBeCharged = 2; { power source can be charged }
- bSourceIsUPS = 3; { power source is UPS. NOTE: software should set bSourceIsBattery and bSourceIsAC also, as appropriate }
- bSourceProvidesWarnLevels = 4; { power source provides low power and dead battery warning levels }
- kSourceIsBatteryMask = $01;
- kSourceIsACMask = $02;
- kSourceCanBeChargedMask = $04;
- kSourceIsUPSMask = $08;
- kSourceProvidesWarnLevelsMask = $10;
- { PowerSourceFlags bits }
- bSourceIsAvailable = 0; { power source is installed }
- bSourceIsCharging = 1; { power source being charged }
- bChargerIsAttached = 2; { a charger is connected }
- kSourceIsAvailableMask = $01;
- kSourceIsChargingMask = $02;
- kChargerIsAttachedMask = $04;
- { Power Capacity Types }
- kCapacityIsActual = 0; { current capacity is expessed as actual capacity in same units as max }
- kCapacityIsPercentOfMax = 1; { current capacity is expressed as a percentage of maximumCapacity }
- { Net Activity Wake Options }
- kConfigSupportsWakeOnNetBit = 0;
- kWakeOnNetAdminAccessesBit = 1;
- kWakeOnAllNetAccessesBit = 2;
- kUnmountServersBeforeSleepingBit = 3;
- kConfigSupportsWakeOnNetMask = $01;
- kWakeOnNetAdminAccessesMask = $02;
- kWakeOnAllNetAccessesMask = $04;
- kUnmountServersBeforeSleepingMask = $08;
- { Power Source capacity usage types }
- kCurrentCapacityIsActualValue = 0; { currentCapacity is a real value in same units as maxCapacity }
- kCurrentCapacityIsPercentOfMax = 1; { currentCapacity is expressed as a percentage of maxCapacity. }
- type
- PowerSourceID = SInt16;
- PowerSourceParamBlockPtr = ^PowerSourceParamBlock;
- PowerSourceParamBlock = record
- sourceID: PowerSourceID; { unique id assigned by Power Mgr }
- sourceCapacityUsage: UInt16; { how currentCapacity is used }
- sourceVersion: UInt32; { version of this record }
- sourceAttr: OptionBits; { attribute flags (see below) }
- sourceState: OptionBits; { state flags (see below) }
- currentCapacity: UInt32; { current capacity, in }
- { milliwatts or % }
- maxCapacity: UInt32; { full capacity, in milliwatts }
- timeRemaining: UInt32; { time left to deplete, }
- { in milliwatt-hours }
- timeToFullCharge: UInt32; { time to charge, }
- { in milliwatt-hours }
- voltage: UInt32; { voltage in millivolts }
- current: SInt32; { current in milliamperes }
- { (negative if consuming, }
- { positive if charging) }
- lowWarnLevel: UInt32; { low warning level in milliwatts (or % if sourceCapacityUsage is %) }
- deadWarnLevel: UInt32; { dead warning level in milliwatts (or % if sourceCapacityUsage is %) }
- reserved: array [0..15] of UInt32; { for future expansion }
- end;
- {
- * DisableWUTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function DisableWUTime: OSErr; external name '_DisableWUTime';
- {
- * SetWUTime()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function SetWUTime(wuTime: SInt32): OSErr; external name '_SetWUTime';
- {$ifc CALL_NOT_IN_CARBON}
- {
- * GetWUTime()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function GetWUTime(var wuTime: SInt32; var wuFlag: SignedByte): OSErr; external name '_GetWUTime';
- {
- * BatteryStatus()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function BatteryStatus(var status: SignedByte; var power: SignedByte): OSErr; external name '_BatteryStatus';
- {
- * ModemStatus()
- *
- * Availability:
- * Non-Carbon CFM: not available
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function ModemStatus(var status: SignedByte): OSErr; external name '_ModemStatus';
- {$endc} {CALL_NOT_IN_CARBON}
- {
- * IdleUpdate()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function IdleUpdate: SInt32; external name '_IdleUpdate';
- {
- * GetCPUSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetCPUSpeed: SInt32; external name '_GetCPUSpeed';
- {
- * EnableIdle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure EnableIdle; external name '_EnableIdle';
- {
- * DisableIdle()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure DisableIdle; external name '_DisableIdle';
- {
- * SleepQInstall()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SleepQInstall(qRecPtr: SleepQRecPtr); external name '_SleepQInstall';
- {
- * SleepQRemove()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SleepQRemove(qRecPtr: SleepQRecPtr); external name '_SleepQRemove';
- {
- * AOn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure AOn; external name '_AOn';
- {
- * AOnIgnoreModem()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure AOnIgnoreModem; external name '_AOnIgnoreModem';
- {
- * BOn()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure BOn; external name '_BOn';
- {
- * AOff()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure AOff; external name '_AOff';
- {
- * BOff()
- *
- * Availability:
- * Non-Carbon CFM: in InterfaceLib 7.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure BOff; external name '_BOff';
- { Public Power Management API }
- {
- * PMSelectorCount()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function PMSelectorCount: SInt16; external name '_PMSelectorCount';
- {
- * PMFeatures()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function PMFeatures: UInt32; external name '_PMFeatures';
- {
- * GetSleepTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetSleepTimeout: ByteParameter; external name '_GetSleepTimeout';
- {
- * SetSleepTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SetSleepTimeout(timeout: ByteParameter); external name '_SetSleepTimeout';
- {
- * GetHardDiskTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetHardDiskTimeout: ByteParameter; external name '_GetHardDiskTimeout';
- {
- * SetHardDiskTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SetHardDiskTimeout(timeout: ByteParameter); external name '_SetHardDiskTimeout';
- {
- * HardDiskPowered()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function HardDiskPowered: boolean; external name '_HardDiskPowered';
- {
- * SpinDownHardDisk()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SpinDownHardDisk; external name '_SpinDownHardDisk';
- {
- * IsSpindownDisabled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function IsSpindownDisabled: boolean; external name '_IsSpindownDisabled';
- {
- * SetSpindownDisable()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SetSpindownDisable(setDisable: boolean); external name '_SetSpindownDisable';
- {
- * HardDiskQInstall()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function HardDiskQInstall(var theElement: HDQueueElement): OSErr; external name '_HardDiskQInstall';
- {
- * HardDiskQRemove()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function HardDiskQRemove(var theElement: HDQueueElement): OSErr; external name '_HardDiskQRemove';
- {
- * GetScaledBatteryInfo()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure GetScaledBatteryInfo(whichBattery: SInt16; var theInfo: BatteryInfo); external name '_GetScaledBatteryInfo';
- {
- * AutoSleepControl()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure AutoSleepControl(enableSleep: boolean); external name '_AutoSleepControl';
- {
- * GetIntModemInfo()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetIntModemInfo: UInt32; external name '_GetIntModemInfo';
- {
- * SetIntModemState()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SetIntModemState(theState: SInt16); external name '_SetIntModemState';
- {
- * MaximumProcessorSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function MaximumProcessorSpeed: SInt16; external name '_MaximumProcessorSpeed';
- {
- * MinimumProcessorSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function MinimumProcessorSpeed: SInt16; external name '_MinimumProcessorSpeed';
- {
- * CurrentProcessorSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function CurrentProcessorSpeed: SInt16; external name '_CurrentProcessorSpeed';
- {
- * FullProcessorSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function FullProcessorSpeed: boolean; external name '_FullProcessorSpeed';
- {
- * SetProcessorSpeed()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function SetProcessorSpeed(fullSpeed: boolean): boolean; external name '_SetProcessorSpeed';
- {
- * GetSCSIDiskModeAddress()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetSCSIDiskModeAddress: SInt16; external name '_GetSCSIDiskModeAddress';
- {
- * SetSCSIDiskModeAddress()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SetSCSIDiskModeAddress(scsiAddress: SInt16); external name '_SetSCSIDiskModeAddress';
- {
- * GetWakeupTimer()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure GetWakeupTimer(var theTime: WakeupTime); external name '_GetWakeupTimer';
- {
- * SetWakeupTimer()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SetWakeupTimer(var theTime: WakeupTime); external name '_SetWakeupTimer';
- {
- * IsProcessorCyclingEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function IsProcessorCyclingEnabled: boolean; external name '_IsProcessorCyclingEnabled';
- {
- * EnableProcessorCycling()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure EnableProcessorCycling(enable: boolean); external name '_EnableProcessorCycling';
- {
- * BatteryCount()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function BatteryCount: SInt16; external name '_BatteryCount';
- {
- * GetBatteryVoltage()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetBatteryVoltage(whichBattery: SInt16): Fixed; external name '_GetBatteryVoltage';
- {
- * GetBatteryTimes()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure GetBatteryTimes(whichBattery: SInt16; var theTimes: BatteryTimeRec); external name '_GetBatteryTimes';
- {
- * GetDimmingTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetDimmingTimeout: ByteParameter; external name '_GetDimmingTimeout';
- {
- * SetDimmingTimeout()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SetDimmingTimeout(timeout: ByteParameter); external name '_SetDimmingTimeout';
- {
- * DimmingControl()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure DimmingControl(enableSleep: boolean); external name '_DimmingControl';
- {
- * IsDimmingControlDisabled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function IsDimmingControlDisabled: boolean; external name '_IsDimmingControlDisabled';
- {
- * IsAutoSlpControlDisabled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function IsAutoSlpControlDisabled: boolean; external name '_IsAutoSlpControlDisabled';
- {
- * PMgrStateQInstall()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function PMgrStateQInstall(var theElement: PMgrQueueElement): OSErr; external name '_PMgrStateQInstall';
- {
- * PMgrStateQRemove()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function PMgrStateQRemove(var theElement: PMgrQueueElement): OSErr; external name '_PMgrStateQRemove';
- {
- * UpdateSystemActivity()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function UpdateSystemActivity(activity: ByteParameter): OSErr; external name '_UpdateSystemActivity';
- {
- * DelaySystemIdle()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function DelaySystemIdle: OSErr; external name '_DelaySystemIdle';
- {
- * GetStartupTimer()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetStartupTimer(var theTime: StartupTime): OSErr; external name '_GetStartupTimer';
- {
- * SetStartupTimer()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function SetStartupTimer(var theTime: StartupTime): OSErr; external name '_SetStartupTimer';
- {
- * GetLastActivity()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.0 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetLastActivity(var theActivity: ActivityInfo): OSErr; external name '_GetLastActivity';
- {
- * GetSoundMixerState()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetSoundMixerState(var theSoundMixerByte: SoundMixerByte): OSErr; external name '_GetSoundMixerState';
- {
- * SetSoundMixerState()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function SetSoundMixerState(var theSoundMixerByte: SoundMixerByte): OSErr; external name '_SetSoundMixerState';
- {
- * GetDimSuspendState()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function GetDimSuspendState: boolean; external name '_GetDimSuspendState';
- {
- * SetDimSuspendState()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 1.1 and later
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure SetDimSuspendState(dimSuspendState: boolean); external name '_SetDimSuspendState';
- {$ifc CALL_NOT_IN_CARBON}
- {
- * GetCoreProcessorTemperature()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function GetCoreProcessorTemperature(inCpuID: MPCpuID): SInt32; external name '_GetCoreProcessorTemperature';
- {
- * GetWakeOnNetworkOptions()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function GetWakeOnNetworkOptions: OptionBits; external name '_GetWakeOnNetworkOptions';
- {
- * SetWakeOnNetworkOptions()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- procedure SetWakeOnNetworkOptions(inOptions: OptionBits); external name '_SetWakeOnNetworkOptions';
- {
- * AddPowerSource()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function AddPowerSource(var ioPowerSource: PowerSourceParamBlock): OSStatus; external name '_AddPowerSource';
- {
- * RemovePowerSource()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function RemovePowerSource(inSourceID: PowerSourceID): OSStatus; external name '_RemovePowerSource';
- {
- * UpdatePowerSource()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function UpdatePowerSource(var ioSource: PowerSourceParamBlock): OSStatus; external name '_UpdatePowerSource';
- {
- * IsServerModeEnabled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function IsServerModeEnabled: boolean; external name '_IsServerModeEnabled';
- {
- * EnableServerMode()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- procedure EnableServerMode(inEnable: boolean); external name '_EnableServerMode';
- {
- NumBatteriesInstalled is different from BatteryCount in that it
- indicates how many batteries are actually available at the time
- it is called (including UPS batteries). BatteryCount shows a
- static number of batteries a machine is capable of holding which does NOT
- include UPS batteries. So, while a desktop might show a BatteryCount
- of zero, its NumBatteriesInstalled value might be 1 or more if a UPS
- is attached.
- }
- {
- * NumBatteriesInstalled()
- *
- * Availability:
- * Non-Carbon CFM: in PowerMgrLib 2.0 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function NumBatteriesInstalled: UInt32; external name '_NumBatteriesInstalled';
- { Power Handler Management }
- {
- * IsPCIPowerOffDisabled()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function IsPCIPowerOffDisabled: boolean; external name '_IsPCIPowerOffDisabled';
- {
- * EnablePCIPowerOff()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- procedure EnablePCIPowerOff(inEnable: boolean); external name '_EnablePCIPowerOff';
- {
- * AddDevicePowerHandler()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function AddDevicePowerHandler(regEntryID: RegEntryIDPtr; handler: PowerHandlerProcPtr; refCon: UInt32; deviceType: CStringPtr): OSStatus; external name '_AddDevicePowerHandler';
- {
- * RemoveDevicePowerHandler()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function RemoveDevicePowerHandler(regEntryID: RegEntryIDPtr): OSStatus; external name '_RemoveDevicePowerHandler';
- {
- * RemoveDevicePowerHandlerForProc()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function RemoveDevicePowerHandlerForProc(proc: PowerHandlerProcPtr): OSStatus; external name '_RemoveDevicePowerHandlerForProc';
- {
- * GetDevicePowerLevel()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function GetDevicePowerLevel(regEntryID: RegEntryIDPtr; var devicePowerLevel: PowerLevel): OSStatus; external name '_GetDevicePowerLevel';
- {
- * SetDevicePowerLevel()
- *
- * Availability:
- * Non-Carbon CFM: in DriverServicesLib 1.1 and later
- * CarbonLib: not available
- * Mac OS X: not available
- }
- function SetDevicePowerLevel(regEntryID: RegEntryIDPtr; devicePowerLevel: PowerLevel): OSStatus; external name '_SetDevicePowerLevel';
- {$endc} {CALL_NOT_IN_CARBON}
- const
- uppSleepQProcInfo = $00131832;
- uppHDSpindownProcInfo = $000000C0;
- uppPMgrStateChangeProcInfo = $000003C0;
- {
- * NewSleepQUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function NewSleepQUPP(userRoutine: SleepQProcPtr): SleepQUPP; external name '_NewSleepQUPP'; { old name was NewSleepQProc }
- {
- * NewHDSpindownUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function NewHDSpindownUPP(userRoutine: HDSpindownProcPtr): HDSpindownUPP; external name '_NewHDSpindownUPP'; { old name was NewHDSpindownProc }
- {
- * NewPMgrStateChangeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function NewPMgrStateChangeUPP(userRoutine: PMgrStateChangeProcPtr): PMgrStateChangeUPP; external name '_NewPMgrStateChangeUPP'; { old name was NewPMgrStateChangeProc }
- {
- * DisposeSleepQUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure DisposeSleepQUPP(userUPP: SleepQUPP); external name '_DisposeSleepQUPP';
- {
- * DisposeHDSpindownUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure DisposeHDSpindownUPP(userUPP: HDSpindownUPP); external name '_DisposeHDSpindownUPP';
- {
- * DisposePMgrStateChangeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure DisposePMgrStateChangeUPP(userUPP: PMgrStateChangeUPP); external name '_DisposePMgrStateChangeUPP';
- {
- * InvokeSleepQUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- function InvokeSleepQUPP(message: SInt32; qRecPtr: SleepQRecPtr; userRoutine: SleepQUPP): SInt32; external name '_InvokeSleepQUPP'; { old name was CallSleepQProc }
- {
- * InvokeHDSpindownUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure InvokeHDSpindownUPP(theElement: HDQueueElementPtr; userRoutine: HDSpindownUPP); external name '_InvokeHDSpindownUPP'; { old name was CallHDSpindownProc }
- {
- * InvokePMgrStateChangeUPP()
- *
- * Availability:
- * Non-Carbon CFM: available as macro/inline
- * CarbonLib: in CarbonLib 1.0 and later
- * Mac OS X: in version 10.0 and later
- }
- procedure InvokePMgrStateChangeUPP(theElement: PMgrQueueElementPtr; stateBits: SInt32; userRoutine: PMgrStateChangeUPP); external name '_InvokePMgrStateChangeUPP'; { old name was CallPMgrStateChangeProc }
- {$ALIGN MAC68K}
- end.
|