Ignore:
Timestamp:
Feb 26, 2013, 3:44:10 AM (12 years ago)
Author:
pr
Message:

ACPI sleep mods. from Steven.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/helpers/acpih.h

    r323 r414  
    1111 */
    1212
    13 /*      Copyright (C) 2006 Paul Ratcliffe.
     13/*      Copyright (C) 2006-2013 Paul Ratcliffe.
    1414 *      This file is part of the "XWorkplace helpers" source package.
    1515 *      This is free software; you can redistribute it and/or modify
     
    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     */
    3541
    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()
    76 
    77     APIRET APIENTRY AcpiStartApi(ACPI_API_HANDLE *);
     42    // Extracted from acpi.h actype.h etc.
    7843    typedef APIRET APIENTRY ACPISTARTAPI(ACPI_API_HANDLE *);
    7944    typedef ACPISTARTAPI *PACPISTARTAPI;
    8045
    81     APIRET APIENTRY AcpiEndApi(ACPI_API_HANDLE *);
    8246    typedef APIRET APIENTRY ACPIENDAPI(ACPI_API_HANDLE *);
    8347    typedef ACPIENDAPI *PACPIENDAPI;
    8448
    85     APIRET APIENTRY AcpiGoToSleep(ACPI_API_HANDLE *, UCHAR);
    8649    typedef APIRET APIENTRY ACPIGOTOSLEEP(ACPI_API_HANDLE *, UCHAR);
    8750    typedef ACPIGOTOSLEEP *PACPIGOTOSLEEP;
    8851
     52    // @@added V1.0.9 (2012-12-10) [slevine]: sync with current ACPI toolkit
     53    typedef ACPI_STATUS APIENTRY ACPITKPREPARETOSLEEP(UINT8);
     54    typedef ACPITKPREPARETOSLEEP *PACPITKPREPARETOSLEEP;
     55
     56    typedef APIRET APIENTRY ACPITKGETOBJECTINFOALLOC(ACPI_HANDLE *, PVOID);
     57    typedef APIRET APIENTRY ACPITKGETHANDLE(ACPI_HANDLE, ACPI_STRING, ACPI_HANDLE *);
     58    typedef APIRET APIENTRY ACPITKOSFREE(PVOID);
     59    typedef APIRET APIENTRY ACPITKWALKNAMESPACE(ACPI_OBJECT_TYPE, ACPI_HANDLE, UINT32,ACPI_WALK_CALLBACK, PVOID, void **);
     60    typedef APIRET APIENTRY ACPITKEVALUATEOBJECT(ACPI_HANDLE, ACPI_STRING, ACPI_OBJECT_LIST *, ACPI_BUFFER *);
     61
    8962    APIRET APIENTRY acpihOpen(ACPI_API_HANDLE *phACPI);
     63    typedef APIRET APIENTRY ACPIHOPEN(ACPI_API_HANDLE *);
     64    typedef ACPIHOPEN *PACPIHOPEN;
    9065
    9166    VOID APIENTRY acpihClose(ACPI_API_HANDLE *phACPI);
     
    9368    APIRET APIENTRY acpihGoToSleep(ACPI_API_HANDLE *phACPI, UCHAR ucState);
    9469
     70    APIRET APIENTRY acpihGetPowerStatus(PAPM, PBOOL);
     71    typedef APIRET APIENTRY ACPIHGETPOWERSTATUS(PAPM, PBOOL);
     72    typedef ACPIHGETPOWERSTATUS *PACPIHGETPOWERSTATUS;
     73
     74    BOOL acpihHasBattery(VOID);
     75
    9576    #define ORD_ACPISTARTAPI    16
    9677    #define ORD_ACPIENDAPI      17
    9778    #define ORD_ACPIGOTOSLEEP   19
     79    #define ORD_ACPITKGETOBJECTINFOALLOC 85
     80    #define ORD_ACPITKGETHANDLE 65
     81    #define ORD_ACPITKOSFREE 66
     82    #define ORD_ACPITKWALKNAMESPACE 56
     83    #define ORD_ACPITKEVALUATEOBJECT 50
     84    // @@added V1.0.9 (2012-12-10) [slevine]: sync with current ACPI toolkit
     85    #define ORD_ACPITKPREPARETOSLEEP 89
    9886
    9987#endif
Note: See TracChangeset for help on using the changeset viewer.