Ignore:
Timestamp:
Feb 23, 2012, 12:13:33 AM (13 years ago)
Author:
shl
Message:

Add additioned ACPI support for battery and temperature monitoring
Code from David Azarewicz

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/branch-1-0/include/helpers/acpih.h

    r325 r406  
    2727#endif
    2828
     29// @@changed V1.0.9 (2012-02-20) [slevine]: sync with current ACPI toolkit, code by David Azarewicz
     30
    2931#ifndef ACPIH_HEADER_INCLUDED
    3032    #define ACPIH_HEADER_INCLUDED
    3133
     34    #pragma pack(4)
     35    #include <acpi.h>
     36    #include <acpiapi.h>
     37    #pragma pack()
    3238    /*
    3339     * Power state values
    3440     */
    35 
    36     #define ACPI_STATE_UNKNOWN              (UCHAR) 0xFF
    37 
    38     #define ACPI_STATE_S0                   (UCHAR) 0
    39     #define ACPI_STATE_S1                   (UCHAR) 1
    40     #define ACPI_STATE_S2                   (UCHAR) 2
    41     #define ACPI_STATE_S3                   (UCHAR) 3
    42     #define ACPI_STATE_S4                   (UCHAR) 4
    43     #define ACPI_STATE_S5                   (UCHAR) 5
    44     #define ACPI_S_STATES_MAX               ACPI_STATE_S5
    45     #define ACPI_S_STATE_COUNT              6
    46 
    47     #pragma pack(1)
    48 
    49     typedef struct _VersionAcpi_
    50     {
    51         ULONG  Major;
    52         ULONG  Minor;
    53     } ACPI_VERSION;
    54 
    55     typedef struct _AcpiApiHandle_
    56     {
    57         HFILE           AcpiDrv;                 // Handle to ACPICA driver
    58         ACPI_VERSION    PSD;                     // Version PSD
    59         ACPI_VERSION    Driver;                  // Version ACPICA driver
    60         ACPI_VERSION    DLL;                     // Version acpi32.dll
    61         ULONG           StartAddrPSD;            // Start address PSD (for testcase)
    62         ULONG           AddrCommApp;             // Address DosCommApp from PSD (which not write IBM)
    63         ULONG           StartAddrDriver;         // Start address ACPICA (for testcase)
    64         ULONG           AddrFindPSD;             // Address function for find PSD (find CommApp)
    65         ULONG           IRQNumber;               // Number use IRQ
    66         void            *Internal;               // For internal DLL use
    67     } ACPI_API_HANDLE, *PACPI_API_HANDLE;
    68 
    69     /* ******************************************************************
    70      *
    71      *   ACPI helper APIs
    72      *
    73      ********************************************************************/
    74 
    75     #pragma pack()
    7641
    7742    APIRET APIENTRY AcpiStartApi(ACPI_API_HANDLE *);
     
    8752    typedef ACPIGOTOSLEEP *PACPIGOTOSLEEP;
    8853
     54    typedef APIRET APIENTRY ACPITKGETOBJECTINFOALLOC(ACPI_HANDLE *, PVOID);
     55    typedef APIRET APIENTRY ACPITKGETHANDLE(ACPI_HANDLE, ACPI_STRING, ACPI_HANDLE *);
     56    typedef APIRET APIENTRY ACPITKOSFREE(PVOID);
     57    typedef APIRET APIENTRY ACPITKWALKNAMESPACE(ACPI_OBJECT_TYPE, ACPI_HANDLE, UINT32,ACPI_WALK_CALLBACK, PVOID, void **);
     58    typedef APIRET APIENTRY ACPITKEVALUATEOBJECT(ACPI_HANDLE, ACPI_STRING, ACPI_OBJECT_LIST *, ACPI_BUFFER *);
     59
    8960    APIRET APIENTRY acpihOpen(ACPI_API_HANDLE *phACPI);
     61    typedef APIRET APIENTRY ACPIHOPEN(ACPI_API_HANDLE *);
     62    typedef ACPIHOPEN *PACPIHOPEN;
    9063
    9164    VOID APIENTRY acpihClose(ACPI_API_HANDLE *phACPI);
     
    9366    APIRET APIENTRY acpihGoToSleep(ACPI_API_HANDLE *phACPI, UCHAR ucState);
    9467
     68    APIRET APIENTRY acpihGetPowerStatus(PAPM, PBOOL);
     69    typedef APIRET APIENTRY ACPIHGETPOWERSTATUS(PAPM, PBOOL);
     70    typedef ACPIHGETPOWERSTATUS *PACPIHGETPOWERSTATUS;
     71
     72    BOOL acpihHasBattery(VOID);
     73
    9574    #define ORD_ACPISTARTAPI    16
    9675    #define ORD_ACPIENDAPI      17
    9776    #define ORD_ACPIGOTOSLEEP   19
     77    #define ORD_ACPITKGETOBJECTINFOALLOC 85
     78    #define ORD_ACPITKGETHANDLE 65
     79    #define ORD_ACPITKOSFREE 66
     80    #define ORD_ACPITKWALKNAMESPACE 56
     81    #define ORD_ACPITKEVALUATEOBJECT 50
    9882
    9983#endif
Note: See TracChangeset for help on using the changeset viewer.