1/* 2 * Copyright (c) 1998-2005 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. The rights granted to you under the License 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 14 * 15 * Please obtain a copy of the License at 16 * http://www.opensource.apple.com/apsl/ and read it before using this file. 17 * 18 * The Original Code and all software distributed under the License are 19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23 * Please see the License for the specific language governing rights and 24 * limitations under the License. 25 * 26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27 */ 28 29#ifndef _IOPMDeprecated_h_ 30#define _IOPMDeprecated_h_ 31 32#ifdef __ppc__ 33 34// Power events 35enum { 36 kClamshellClosedEventMask = (1<<0), // User closed lid 37 kDockingBarEventMask = (1<<1), // OBSOLETE 38 kACPlugEventMask = (1<<2), // User plugged or unplugged adapter 39 kFrontPanelButtonEventMask = (1<<3), // User hit the front panel button 40 kBatteryStatusEventMask = (1<<4) // Battery status has changed 41}; 42 43// PUBLIC power management features 44// NOTE: this is a direct port from classic, some of these bits 45// are obsolete but are included for completeness 46enum { 47 kPMHasWakeupTimerMask = (1<<0), // 1=wake timer is supported 48 kPMHasSharedModemPortMask = (1<<1), // Not used 49 kPMHasProcessorCyclingMask = (1<<2), // 1=processor cycling supported 50 kPMMustProcessorCycleMask = (1<<3), // Not used 51 kPMHasReducedSpeedMask = (1<<4), // 1=supports reduced processor speed 52 kPMDynamicSpeedChangeMask = (1<<5), // 1=supports changing processor speed on the fly 53 kPMHasSCSIDiskModeMask = (1<<6), // 1=supports using machine as SCSI drive 54 kPMCanGetBatteryTimeMask = (1<<7), // 1=battery time can be calculated 55 kPMCanWakeupOnRingMask = (1<<8), // 1=machine can wake on modem ring 56 kPMHasDimmingSupportMask = (1<<9), // 1=has monitor dimming support 57 kPMHasStartupTimerMask = (1<<10), // 1=can program startup timer 58 kPMHasChargeNotificationMask = (1<<11), // 1=client can determine charger status/get notifications 59 kPMHasDimSuspendSupportMask = (1<<12), // 1=can dim diplay to DPMS ('off') state 60 kPMHasWakeOnNetActivityMask = (1<<13), // 1=supports waking upon receipt of net packet 61 kPMHasWakeOnLidMask = (1<<14), // 1=can wake upon lid/case opening 62 kPMCanPowerOffPCIBusMask = (1<<15), // 1=can remove power from PCI bus on sleep 63 kPMHasDeepSleepMask = (1<<16), // 1=supports deep (hibernation) sleep 64 kPMHasSleepMask = (1<<17), // 1=machine support low power sleep (ala powerbooks) 65 kPMSupportsServerModeAPIMask = (1<<18), // 1=supports reboot on AC resume for unexpected power loss 66 kPMHasUPSIntegrationMask = (1<<19) // 1=supports incorporating UPS devices into power source calcs 67}; 68 69// PRIVATE power management features 70// NOTE: this is a direct port from classic, some of these bits 71// are obsolete but are included for completeness. 72enum { 73 kPMHasExtdBattInfoMask = (1<<0), // Not used 74 kPMHasBatteryIDMask = (1<<1), // Not used 75 kPMCanSwitchPowerMask = (1<<2), // Not used 76 kPMHasCelsiusCyclingMask = (1<<3), // Not used 77 kPMHasBatteryPredictionMask = (1<<4), // Not used 78 kPMHasPowerLevelsMask = (1<<5), // Not used 79 kPMHasSleepCPUSpeedMask = (1<<6), // Not used 80 kPMHasBtnIntHandlersMask = (1<<7), // 1=supports individual button interrupt handlers 81 kPMHasSCSITermPowerMask = (1<<8), // 1=supports SCSI termination power switch 82 kPMHasADBButtonHandlersMask = (1<<9), // 1=supports button handlers via ADB 83 kPMHasICTControlMask = (1<<10), // 1=supports ICT control 84 kPMHasLegacyDesktopSleepMask = (1<<11), // 1=supports 'doze' style sleep 85 kPMHasDeepIdleMask = (1<<12), // 1=supports Idle2 in hardware 86 kPMOpenLidPreventsSleepMask = (1<<13), // 1=open case prevent machine from sleeping 87 kPMClosedLidCausesSleepMask = (1<<14), // 1=case closed (clamshell closed) causes sleep 88 kPMHasFanControlMask = (1<<15), // 1=machine has software-programmable fan/thermostat controls 89 kPMHasThermalControlMask = (1<<16), // 1=machine supports thermal monitoring 90 kPMHasVStepSpeedChangeMask = (1<<17), // 1=machine supports processor voltage/clock change 91 kPMEnvironEventsPolledMask = (1<<18) // 1=machine doesn't generate pmu env ints, we must poll instead 92}; 93 94// DEFAULT public and private features for machines whose device tree 95// does NOT contain this information (pre-Core99). 96 97// For Cuda-based Desktops 98 99#define kStdDesktopPMFeatures kPMHasWakeupTimerMask |\ 100 kPMHasProcessorCyclingMask |\ 101 kPMHasDimmingSupportMask |\ 102 kPMHasStartupTimerMask |\ 103 kPMSupportsServerModeAPIMask |\ 104 kPMHasUPSIntegrationMask 105 106#define kStdDesktopPrivPMFeatures kPMHasExtdBattInfoMask |\ 107 kPMHasICTControlMask |\ 108 kPMHasLegacyDesktopSleepMask 109 110#define kStdDesktopNumBatteries 0 111 112// For Wallstreet (PowerBook G3 Series 1998) 113 114#define kWallstreetPMFeatures kPMHasWakeupTimerMask |\ 115 kPMHasProcessorCyclingMask |\ 116 kPMHasReducedSpeedMask |\ 117 kPMDynamicSpeedChangeMask |\ 118 kPMHasSCSIDiskModeMask |\ 119 kPMCanGetBatteryTimeMask |\ 120 kPMHasDimmingSupportMask |\ 121 kPMHasChargeNotificationMask |\ 122 kPMHasDimSuspendSupportMask |\ 123 kPMHasSleepMask 124 125#define kWallstreetPrivPMFeatures kPMHasExtdBattInfoMask |\ 126 kPMHasBatteryIDMask |\ 127 kPMCanSwitchPowerMask |\ 128 kPMHasADBButtonHandlersMask |\ 129 kPMHasSCSITermPowerMask |\ 130 kPMHasICTControlMask |\ 131 kPMClosedLidCausesSleepMask |\ 132 kPMEnvironEventsPolledMask 133 134#define kStdPowerBookPMFeatures kWallstreetPMFeatures 135#define kStdPowerBookPrivPMFeatures kWallstreetPrivPMFeatures 136 137#define kStdPowerBookNumBatteries 2 138 139// For 101 (PowerBook G3 Series 1999) 140 141#define k101PMFeatures kPMHasWakeupTimerMask |\ 142 kPMHasProcessorCyclingMask |\ 143 kPMHasReducedSpeedMask |\ 144 kPMDynamicSpeedChangeMask |\ 145 kPMHasSCSIDiskModeMask |\ 146 kPMCanGetBatteryTimeMask |\ 147 kPMHasDimmingSupportMask |\ 148 kPMHasChargeNotificationMask |\ 149 kPMHasDimSuspendSupportMask |\ 150 kPMHasSleepMask |\ 151 kPMHasUPSIntegrationMask 152 153#define k101PrivPMFeatures kPMHasExtdBattInfoMask |\ 154 kPMHasBatteryIDMask |\ 155 kPMCanSwitchPowerMask |\ 156 kPMHasADBButtonHandlersMask |\ 157 kPMHasSCSITermPowerMask |\ 158 kPMHasICTControlMask |\ 159 kPMClosedLidCausesSleepMask |\ 160 kPMEnvironEventsPolledMask 161 162 163// These flags are deprecated. Use the version with the kIOPM prefix in IOPM.h 164enum { 165 kACInstalled = (1<<0), 166 kBatteryCharging = (1<<1), 167 kBatteryInstalled = (1<<2), 168 kUPSInstalled = (1<<3), 169 kBatteryAtWarn = (1<<4), 170 kBatteryDepleted = (1<<5), 171 kACnoChargeCapability = (1<<6), // AC adapter cannot charge battery 172 kRawLowBattery = (1<<7), // used only by Platform Expert 173 kForceLowSpeed = (1<<8) // set by Platfm Expert, chk'd by Pwr Plugin}; 174}; 175 176#endif /* __ppc32 */ 177#endif /* _IOPMDeprecated_h_ */ 178