apm.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  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. #include <linux/config.h>
  16. #include <linux/apm_bios.h>
  17. /*
  18.  * This structure gets filled in by the machine specific 'get_power_status'
  19.  * implementation.  Any fields which are not set default to a safe value.
  20.  */
  21. struct apm_power_info {
  22. unsigned char ac_line_status;
  23. #define APM_AC_OFFLINE 0
  24. #define APM_AC_ONLINE 1
  25. #define APM_AC_BACKUP 2
  26. #define APM_AC_UNKNOWN 0xff
  27. unsigned char battery_status;
  28. #define APM_BATTERY_STATUS_HIGH 0
  29. #define APM_BATTERY_STATUS_LOW 1
  30. #define APM_BATTERY_STATUS_CRITICAL 2
  31. #define APM_BATTERY_STATUS_CHARGING 3
  32. #define APM_BATTERY_STATUS_NOT_PRESENT 4
  33. #define APM_BATTERY_STATUS_UNKNOWN 0xff
  34. unsigned char battery_flag;
  35. #define APM_BATTERY_FLAG_HIGH (1 << 0)
  36. #define APM_BATTERY_FLAG_LOW (1 << 1)
  37. #define APM_BATTERY_FLAG_CRITICAL (1 << 2)
  38. #define APM_BATTERY_FLAG_CHARGING (1 << 3)
  39. #define APM_BATTERY_FLAG_NOT_PRESENT (1 << 7)
  40. #define APM_BATTERY_FLAG_UNKNOWN 0xff
  41. int battery_life;
  42. int time;
  43. int units;
  44. #define APM_UNITS_MINS 0
  45. #define APM_UNITS_SECS 1
  46. #define APM_UNITS_UNKNOWN -1
  47. };
  48. /*
  49.  * This allows machines to provide their own "apm get power status" function.
  50.  */
  51. extern void (*apm_get_power_status)(struct apm_power_info *);
  52. /*
  53.  * Queue an event (APM_SYS_SUSPEND or APM_CRITICAL_SUSPEND)
  54.  */
  55. void apm_queue_event(apm_event_t event);
  56. #endif