home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-arm / apm.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.5 KB  |  65 lines

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