Blame view

include/linux/apm-emulation.h 1.54 KB
7726942fb   Ralf Baechle   [APM] Add shared ...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
  /* -*- linux-c -*-
   *
   * (C) 2003 zecke@handhelds.org
   *
   * GPL version 2
   *
   * based on arch/arm/kernel/apm.c
   * factor out the information needed by architectures to provide
   * apm status
   */
  #ifndef __LINUX_APM_EMULATION_H
  #define __LINUX_APM_EMULATION_H
  
  #include <linux/apm_bios.h>
  
  /*
   * This structure gets filled in by the machine specific 'get_power_status'
   * implementation.  Any fields which are not set default to a safe value.
   */
  struct apm_power_info {
  	unsigned char	ac_line_status;
  #define APM_AC_OFFLINE			0
  #define APM_AC_ONLINE			1
  #define APM_AC_BACKUP			2
  #define APM_AC_UNKNOWN			0xff
  
  	unsigned char	battery_status;
  #define APM_BATTERY_STATUS_HIGH		0
  #define APM_BATTERY_STATUS_LOW		1
  #define APM_BATTERY_STATUS_CRITICAL	2
  #define APM_BATTERY_STATUS_CHARGING	3
  #define APM_BATTERY_STATUS_NOT_PRESENT	4
  #define APM_BATTERY_STATUS_UNKNOWN	0xff
  
  	unsigned char	battery_flag;
  #define APM_BATTERY_FLAG_HIGH		(1 << 0)
  #define APM_BATTERY_FLAG_LOW		(1 << 1)
  #define APM_BATTERY_FLAG_CRITICAL	(1 << 2)
  #define APM_BATTERY_FLAG_CHARGING	(1 << 3)
  #define APM_BATTERY_FLAG_NOT_PRESENT	(1 << 7)
  #define APM_BATTERY_FLAG_UNKNOWN	0xff
  
  	int		battery_life;
  	int		time;
  	int		units;
  #define APM_UNITS_MINS			0
  #define APM_UNITS_SECS			1
  #define APM_UNITS_UNKNOWN		-1
  
  };
  
  /*
   * This allows machines to provide their own "apm get power status" function.
   */
  extern void (*apm_get_power_status)(struct apm_power_info *);
  
  /*
   * Queue an event (APM_SYS_SUSPEND or APM_CRITICAL_SUSPEND)
   */
  void apm_queue_event(apm_event_t event);
  
  #endif /* __LINUX_APM_EMULATION_H */