Green shading in the line number column means the source is part of the translation unit, red means it is conditionally excluded. Highlighted line numbers link to the translation unit page. Highlighted macros link to the macro page.
1: /* 2: * Include file for the interface to an APM BIOS 3: * Copyright 1994-2001 Stephen Rothwell (sfr@canb.auug.org.au) 4: * 5: * This program is free software; you can redistribute it and/or modify it 6: * under the terms of the GNU General Public License as published by the 7: * Free Software Foundation; either version 2, or (at your option) any 8: * later version. 9: * 10: * This program is distributed in the hope that it will be useful, but 11: * WITHOUT ANY WARRANTY; without even the implied warranty of 12: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13: * General Public License for more details. 14: */ 15: #ifndef _LINUX_APM_H 16: #define _LINUX_APM_H 17: 18: #include <uapi/linux/apm_bios.h> 19: 20: 21: #define APM_CS (GDT_ENTRY_APMBIOS_BASE * 8) 22: #define APM_CS_16 (APM_CS + 8) 23: #define APM_DS (APM_CS_16 + 8) 24: 25: /* Results of APM Installation Check */ 26: #define APM_16_BIT_SUPPORT 0x0001 27: #define APM_32_BIT_SUPPORT 0x0002 28: #define APM_IDLE_SLOWS_CLOCK 0x0004 29: #define APM_BIOS_DISABLED 0x0008 30: #define APM_BIOS_DISENGAGED 0x0010 31: 32: /* 33: * Data for APM that is persistent across module unload/load 34: */ 35: struct apm_info { 36: struct apm_bios_info bios; 37: unsigned short connection_version; 38: int get_power_status_broken; 39: int get_power_status_swabinminutes; 40: int allow_ints; 41: int forbid_idle; 42: int realmode_power_off; 43: int disabled; 44: }; 45: 46: /* 47: * The APM function codes 48: */ 49: #define APM_FUNC_INST_CHECK 0x5300 50: #define APM_FUNC_REAL_CONN 0x5301 51: #define APM_FUNC_16BIT_CONN 0x5302 52: #define APM_FUNC_32BIT_CONN 0x5303 53: #define APM_FUNC_DISCONN 0x5304 54: #define APM_FUNC_IDLE 0x5305 55: #define APM_FUNC_BUSY 0x5306 56: #define APM_FUNC_SET_STATE 0x5307 57: #define APM_FUNC_ENABLE_PM 0x5308 58: #define APM_FUNC_RESTORE_BIOS 0x5309 59: #define APM_FUNC_GET_STATUS 0x530a 60: #define APM_FUNC_GET_EVENT 0x530b 61: #define APM_FUNC_GET_STATE 0x530c 62: #define APM_FUNC_ENABLE_DEV_PM 0x530d 63: #define APM_FUNC_VERSION 0x530e 64: #define APM_FUNC_ENGAGE_PM 0x530f 65: #define APM_FUNC_GET_CAP 0x5310 66: #define APM_FUNC_RESUME_TIMER 0x5311 67: #define APM_FUNC_RESUME_ON_RING 0x5312 68: #define APM_FUNC_TIMER 0x5313 69: 70: /* 71: * Function code for APM_FUNC_RESUME_TIMER 72: */ 73: #define APM_FUNC_DISABLE_TIMER 0 74: #define APM_FUNC_GET_TIMER 1 75: #define APM_FUNC_SET_TIMER 2 76: 77: /* 78: * Function code for APM_FUNC_RESUME_ON_RING 79: */ 80: #define APM_FUNC_DISABLE_RING 0 81: #define APM_FUNC_ENABLE_RING 1 82: #define APM_FUNC_GET_RING 2 83: 84: /* 85: * Function code for APM_FUNC_TIMER_STATUS 86: */ 87: #define APM_FUNC_TIMER_DISABLE 0 88: #define APM_FUNC_TIMER_ENABLE 1 89: #define APM_FUNC_TIMER_GET 2 90: 91: /* 92: * in arch/i386/kernel/setup.c 93: */ 94: extern struct apm_info apm_info; 95: 96: /* 97: * This is the "All Devices" ID communicated to the BIOS 98: */ 99: #define APM_DEVICE_BALL ((apm_info.connection_version > 0x0100) ? \ 100: APM_DEVICE_ALL : APM_DEVICE_OLD_ALL) 101: #endif /* LINUX_APM_H */ 102: