📄 acpi.h
字号:
/* * acpi.h - ACPI driver interface * * Copyright (C) 1999 Andrew Henroid * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */#ifndef _LINUX_ACPI_H#define _LINUX_ACPI_H#include <linux/types.h>#include <linux/ioctl.h>#ifdef __KERNEL__#include <linux/sched.h>#include <linux/wait.h>#endif /* __KERNEL__ *//* * Device states */typedef enum { ACPI_D0, /* fully-on */ ACPI_D1, /* partial-on */ ACPI_D2, /* partial-on */ ACPI_D3, /* fully-off */} acpi_dstate_t;typedef enum { ACPI_S0, /* working state */ ACPI_S1, /* power-on suspend */ ACPI_S2, /* suspend to ram, with devices */ ACPI_S3, /* suspend to ram */ ACPI_S4, /* suspend to disk */ ACPI_S5, /* soft-off */} acpi_sstate_t;/* RSDP location */#define ACPI_BIOS_ROM_BASE (0x0e0000)#define ACPI_BIOS_ROM_END (0x100000)/* Table signatures */#define ACPI_RSDP1_SIG 0x20445352 /* 'RSD ' */#define ACPI_RSDP2_SIG 0x20525450 /* 'PTR ' */#define ACPI_RSDT_SIG 0x54445352 /* 'RSDT' */#define ACPI_FADT_SIG 0x50434146 /* 'FACP' */#define ACPI_DSDT_SIG 0x54445344 /* 'DSDT' */#define ACPI_FACS_SIG 0x53434146 /* 'FACS' */#define ACPI_SIG_LEN 4#define ACPI_FADT_SIGNATURE "FACP"/* PM1_STS/EN flags */#define ACPI_TMR 0x0001#define ACPI_BM 0x0010#define ACPI_GBL 0x0020#define ACPI_PWRBTN 0x0100#define ACPI_SLPBTN 0x0200#define ACPI_RTC 0x0400#define ACPI_WAK 0x8000/* PM1_CNT flags */#define ACPI_SCI_EN 0x0001#define ACPI_BM_RLD 0x0002#define ACPI_GBL_RLS 0x0004#define ACPI_SLP_TYP0 0x0400#define ACPI_SLP_TYP1 0x0800#define ACPI_SLP_TYP2 0x1000#define ACPI_SLP_EN 0x2000#define ACPI_SLP_TYP_MASK 0x1c00#define ACPI_SLP_TYP_SHIFT 10/* PM_TMR masks */#define ACPI_TMR_VAL_EXT 0x00000100#define ACPI_TMR_MASK 0x00ffffff#define ACPI_TMR_HZ 3579545 /* 3.58 MHz */#define ACPI_TMR_KHZ (ACPI_TMR_HZ / 1000)#define ACPI_MICROSEC_TO_TMR_TICKS(val) \ (((val) * (ACPI_TMR_KHZ)) / 1000)/* PM2_CNT flags */#define ACPI_ARB_DIS 0x01/* FADT flags */#define ACPI_WBINVD 0x00000001#define ACPI_WBINVD_FLUSH 0x00000002#define ACPI_PROC_C1 0x00000004#define ACPI_P_LVL2_UP 0x00000008#define ACPI_PWR_BUTTON 0x00000010#define ACPI_SLP_BUTTON 0x00000020#define ACPI_FIX_RTC 0x00000040#define ACPI_RTC_64 0x00000080#define ACPI_TMR_VAL_EXT 0x00000100#define ACPI_DCK_CAP 0x00000200/* FADT BOOT_ARCH flags */#define FADT_BOOT_ARCH_LEGACY_DEVICES 0x0001#define FADT_BOOT_ARCH_KBD_CONTROLLER 0x0002/* FACS flags */#define ACPI_S4BIOS 0x00000001/* processor block offsets */#define ACPI_P_CNT 0x00000000#define ACPI_P_LVL2 0x00000004#define ACPI_P_LVL3 0x00000005/* C-state latencies (microseconds) */#define ACPI_MAX_P_LVL2_LAT 100#define ACPI_MAX_P_LVL3_LAT 1000#define ACPI_INFINITE_LAT (~0UL)/* * ACPI doesn't use sysctls. If it did, they should be in linux/sysctl.h * not here. * * CTL_ACPI was 10, which is now reserved for the cpufreq code. */#define ACPI_SLP_TYP_DISABLED (~0UL)#ifdef __KERNEL__/* routines for saving/restoring kernel state */FASTCALL(extern unsigned long acpi_save_state_mem(unsigned long return_point));FASTCALL(extern int acpi_save_state_disk(unsigned long return_point));extern void acpi_restore_state(void);extern unsigned long acpi_wakeup_address;#endif /* __KERNEL__ */int acpi_init(void);#endif /* _LINUX_ACPI_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -