blob: b2ffe015a1afca0295d8b58d3a57bc08717128c2 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_LINUX_APM_H
20#define _UAPI_LINUX_APM_H
21#include <linux/types.h>
22typedef unsigned short apm_event_t;
Ben Cheng655a7c02013-10-16 16:09:24 -070023typedef unsigned short apm_eventinfo_t;
24struct apm_bios_info {
Tao Baod7db5942015-01-28 10:07:51 -080025 __u16 version;
26 __u16 cseg;
Tao Baod7db5942015-01-28 10:07:51 -080027 __u32 offset;
28 __u16 cseg_16;
29 __u16 dseg;
30 __u16 flags;
Tao Baod7db5942015-01-28 10:07:51 -080031 __u16 cseg_len;
32 __u16 cseg_16_len;
33 __u16 dseg_len;
Ben Cheng655a7c02013-10-16 16:09:24 -070034};
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define APM_STATE_READY 0x0000
36#define APM_STATE_STANDBY 0x0001
37#define APM_STATE_SUSPEND 0x0002
38#define APM_STATE_OFF 0x0003
Ben Cheng655a7c02013-10-16 16:09:24 -070039#define APM_STATE_BUSY 0x0004
40#define APM_STATE_REJECT 0x0005
41#define APM_STATE_OEM_SYS 0x0020
42#define APM_STATE_OEM_DEV 0x0040
Ben Cheng655a7c02013-10-16 16:09:24 -070043#define APM_STATE_DISABLE 0x0000
44#define APM_STATE_ENABLE 0x0001
45#define APM_STATE_DISENGAGE 0x0000
46#define APM_STATE_ENGAGE 0x0001
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define APM_SYS_STANDBY 0x0001
48#define APM_SYS_SUSPEND 0x0002
49#define APM_NORMAL_RESUME 0x0003
50#define APM_CRITICAL_RESUME 0x0004
Ben Cheng655a7c02013-10-16 16:09:24 -070051#define APM_LOW_BATTERY 0x0005
52#define APM_POWER_STATUS_CHANGE 0x0006
53#define APM_UPDATE_TIME 0x0007
54#define APM_CRITICAL_SUSPEND 0x0008
Ben Cheng655a7c02013-10-16 16:09:24 -070055#define APM_USER_STANDBY 0x0009
56#define APM_USER_SUSPEND 0x000a
57#define APM_STANDBY_RESUME 0x000b
58#define APM_CAPABILITY_CHANGE 0x000c
Christopher Ferris38062f92014-07-09 15:33:25 -070059#define APM_USER_HIBERNATION 0x000d
60#define APM_HIBERNATION_RESUME 0x000e
Ben Cheng655a7c02013-10-16 16:09:24 -070061#define APM_SUCCESS 0x00
62#define APM_DISABLED 0x01
63#define APM_CONNECTED 0x02
64#define APM_NOT_CONNECTED 0x03
Ben Cheng655a7c02013-10-16 16:09:24 -070065#define APM_16_CONNECTED 0x05
66#define APM_16_UNSUPPORTED 0x06
67#define APM_32_CONNECTED 0x07
68#define APM_32_UNSUPPORTED 0x08
Ben Cheng655a7c02013-10-16 16:09:24 -070069#define APM_BAD_DEVICE 0x09
70#define APM_BAD_PARAM 0x0a
71#define APM_NOT_ENGAGED 0x0b
72#define APM_BAD_FUNCTION 0x0c
Ben Cheng655a7c02013-10-16 16:09:24 -070073#define APM_RESUME_DISABLED 0x0d
74#define APM_NO_ERROR 0x53
75#define APM_BAD_STATE 0x60
76#define APM_NO_EVENTS 0x80
Ben Cheng655a7c02013-10-16 16:09:24 -070077#define APM_NOT_PRESENT 0x86
78#define APM_DEVICE_BIOS 0x0000
79#define APM_DEVICE_ALL 0x0001
80#define APM_DEVICE_DISPLAY 0x0100
Ben Cheng655a7c02013-10-16 16:09:24 -070081#define APM_DEVICE_STORAGE 0x0200
82#define APM_DEVICE_PARALLEL 0x0300
83#define APM_DEVICE_SERIAL 0x0400
84#define APM_DEVICE_NETWORK 0x0500
Ben Cheng655a7c02013-10-16 16:09:24 -070085#define APM_DEVICE_PCMCIA 0x0600
86#define APM_DEVICE_BATTERY 0x8000
87#define APM_DEVICE_OEM 0xe000
88#define APM_DEVICE_OLD_ALL 0xffff
Ben Cheng655a7c02013-10-16 16:09:24 -070089#define APM_DEVICE_CLASS 0x00ff
90#define APM_DEVICE_MASK 0xff00
91#define APM_MAX_BATTERIES 2
92#define APM_CAP_GLOBAL_STANDBY 0x0001
Ben Cheng655a7c02013-10-16 16:09:24 -070093#define APM_CAP_GLOBAL_SUSPEND 0x0002
94#define APM_CAP_RESUME_STANDBY_TIMER 0x0004
95#define APM_CAP_RESUME_SUSPEND_TIMER 0x0008
96#define APM_CAP_RESUME_STANDBY_RING 0x0010
Ben Cheng655a7c02013-10-16 16:09:24 -070097#define APM_CAP_RESUME_SUSPEND_RING 0x0020
98#define APM_CAP_RESUME_STANDBY_PCMCIA 0x0040
99#define APM_CAP_RESUME_SUSPEND_PCMCIA 0x0080
100#include <linux/ioctl.h>
Ben Cheng655a7c02013-10-16 16:09:24 -0700101#define APM_IOC_STANDBY _IO('A', 1)
102#define APM_IOC_SUSPEND _IO('A', 2)
Ben Cheng655a7c02013-10-16 16:09:24 -0700103#endif