sm.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:2k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  *
  3.  * Module Name: sm.h
  4.  *   $Revision: 3 $
  5.  *
  6.  *****************************************************************************/
  7. /*
  8.  *  Copyright (C) 2000, 2001 Andrew Grover
  9.  *
  10.  *  This program is free software; you can redistribute it and/or modify
  11.  *  it under the terms of the GNU General Public License as published by
  12.  *  the Free Software Foundation; either version 2 of the License, or
  13.  *  (at your option) any later version.
  14.  *
  15.  *  This program is distributed in the hope that it will be useful,
  16.  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  18.  *  GNU General Public License for more details.
  19.  *
  20.  *  You should have received a copy of the GNU General Public License
  21.  *  along with this program; if not, write to the Free Software
  22.  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  23.  */
  24. #ifndef __SM_H__
  25. #define __SM_H__
  26. #include <actypes.h>
  27. #include <acexcep.h>
  28. #include <bm.h>
  29. /*****************************************************************************
  30.  *                            Types & Other Defines
  31.  *****************************************************************************/
  32. #define SM_MAX_SYSTEM_STATES 6 /* S0-S5 */
  33.  /*
  34.  * Device Context:
  35.  * ---------------
  36.  */
  37. typedef struct
  38. {
  39. BM_HANDLE device_handle;
  40. acpi_handle  acpi_handle;
  41. u8 states[SM_MAX_SYSTEM_STATES];
  42. } SM_CONTEXT;
  43. /*****************************************************************************
  44.  *                              Function Prototypes
  45.  *****************************************************************************/
  46. acpi_status
  47. sm_initialize (void);
  48. acpi_status
  49. sm_terminate (void);
  50. acpi_status
  51. sm_notify (
  52. u32 notify_type,
  53. u32  device,
  54. void **context);
  55. acpi_status
  56. sm_request(
  57. BM_REQUEST *request_info,
  58. void *context);
  59. /* System Driver OSL */
  60. acpi_status
  61. sm_osl_add_device (
  62. SM_CONTEXT *system);
  63. acpi_status
  64. sm_osl_remove_device (
  65. SM_CONTEXT *system);
  66. acpi_status
  67. sm_osl_generate_event (
  68. u32 event,
  69. SM_CONTEXT *system);
  70. #endif /* __SM_H__ */