213 lines
5.4 KiB
C
213 lines
5.4 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1996 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
amli.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This contains some of the routines to read
|
||
|
and understand the AMLI library
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Stephane Plante (splante)
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
NT Kernel Model Driver only
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _AMLI_H_
|
||
|
#define _AMLI_H_
|
||
|
|
||
|
#define ACPIAmliFreeDataBuffers AMLIFreeDataBuffs
|
||
|
|
||
|
#define PACKED_AC0 ((ULONG)'0CA_')
|
||
|
#define PACKED_AC1 ((ULONG)'1CA_')
|
||
|
#define PACKED_AC2 ((ULONG)'2CA_')
|
||
|
#define PACKED_AC3 ((ULONG)'3CA_')
|
||
|
#define PACKED_AC4 ((ULONG)'4CA_')
|
||
|
#define PACKED_AC5 ((ULONG)'5CA_')
|
||
|
#define PACKED_AC6 ((ULONG)'6CA_')
|
||
|
#define PACKED_AC7 ((ULONG)'7CA_')
|
||
|
#define PACKED_AC8 ((ULONG)'8CA_')
|
||
|
#define PACKED_AC9 ((ULONG)'9CA_')
|
||
|
#define PACKED_ADR ((ULONG)'RDA_')
|
||
|
#define PACKED_AL0 ((ULONG)'0LA_')
|
||
|
#define PACKED_AL1 ((ULONG)'1LA_')
|
||
|
#define PACKED_AL2 ((ULONG)'2LA_')
|
||
|
#define PACKED_AL3 ((ULONG)'3LA_')
|
||
|
#define PACKED_AL4 ((ULONG)'4LA_')
|
||
|
#define PACKED_AL5 ((ULONG)'5LA_')
|
||
|
#define PACKED_AL6 ((ULONG)'6LA_')
|
||
|
#define PACKED_AL7 ((ULONG)'7LA_')
|
||
|
#define PACKED_AL8 ((ULONG)'8LA_')
|
||
|
#define PACKED_AL9 ((ULONG)'9LA_')
|
||
|
#define PACKED_BST ((ULONG)'TSB_')
|
||
|
#define PACKED_CID ((ULONG)'DIC_')
|
||
|
#define PACKED_CRS ((ULONG)'SRC_')
|
||
|
#define PACKED_CRT ((ULONG)'TRC_')
|
||
|
#define PACKED_DCK ((ULONG)'KCD_')
|
||
|
#define PACKED_DDN ((ULONG)'NDD_')
|
||
|
#define PACKED_DIS ((ULONG)'SID_')
|
||
|
#define PACKED_EJD ((ULONG)'DJE_')
|
||
|
#define PACKED_EJ0 ((ULONG)'0JE_')
|
||
|
#define PACKED_EJ1 ((ULONG)'1JE_')
|
||
|
#define PACKED_EJ2 ((ULONG)'2JE_')
|
||
|
#define PACKED_EJ3 ((ULONG)'3JE_')
|
||
|
#define PACKED_EJ4 ((ULONG)'4JE_')
|
||
|
#define PACKED_EJ5 ((ULONG)'5JE_')
|
||
|
#define PACKED_HID ((ULONG)'DIH_')
|
||
|
#define PACKED_INI ((ULONG)'INI_')
|
||
|
#define PACKED_IRC ((ULONG)'CRI_')
|
||
|
#define PACKED_LCK ((ULONG)'KCL_')
|
||
|
#define PACKED_LID ((ULONG)'DIL_')
|
||
|
#define PACKED_OFF ((ULONG)'FFO_')
|
||
|
#define PACKED_ON ((ULONG)'_NO_')
|
||
|
#define PACKED_PR0 ((ULONG)'0RP_')
|
||
|
#define PACKED_PR1 ((ULONG)'1RP_')
|
||
|
#define PACKED_PR2 ((ULONG)'2RP_')
|
||
|
#define PACKED_PRS ((ULONG)'SRP_')
|
||
|
#define PACKED_PRT ((ULONG)'TRP_')
|
||
|
#define PACKED_PRW ((ULONG)'WRP_')
|
||
|
#define PACKED_PS0 ((ULONG)'0SP_')
|
||
|
#define PACKED_PS1 ((ULONG)'1SP_')
|
||
|
#define PACKED_PS2 ((ULONG)'2SP_')
|
||
|
#define PACKED_PS3 ((ULONG)'3SP_')
|
||
|
#define PACKED_PSC ((ULONG)'CSP_')
|
||
|
#define PACKED_PSL ((ULONG)'LSP_')
|
||
|
#define PACKED_PSV ((ULONG)'VSP_')
|
||
|
#define PACKED_PSW ((ULONG)'WSP_')
|
||
|
#define PACKED_PTS ((ULONG)'STP_')
|
||
|
#define PACKED_REG ((ULONG)'GER_')
|
||
|
#define PACKED_RMV ((ULONG)'VMR_')
|
||
|
#define PACKED_S0 ((ULONG)'_0S_')
|
||
|
#define PACKED_S0D ((ULONG)'D0S_')
|
||
|
#define PACKED_S1 ((ULONG)'_1S_')
|
||
|
#define PACKED_S1D ((ULONG)'D1S_')
|
||
|
#define PACKED_S2 ((ULONG)'_2S_')
|
||
|
#define PACKED_S2D ((ULONG)'D2S_')
|
||
|
#define PACKED_S3 ((ULONG)'_3S_')
|
||
|
#define PACKED_S3D ((ULONG)'D3S_')
|
||
|
#define PACKED_S4 ((ULONG)'_4S_')
|
||
|
#define PACKED_S4D ((ULONG)'D4S_')
|
||
|
#define PACKED_S5 ((ULONG)'_5S_')
|
||
|
#define PACKED_S5D ((ULONG)'D5S_')
|
||
|
#define PACKED_SCP ((ULONG)'PCS_')
|
||
|
#define PACKED_SI ((ULONG)'_IS_')
|
||
|
#define PACKED_SRS ((ULONG)'SRS_')
|
||
|
#define PACKED_SST ((ULONG)'TSS_')
|
||
|
#define PACKED_STA ((ULONG)'ATS_')
|
||
|
#define PACKED_STD ((ULONG)'DTS_')
|
||
|
#define PACKED_SUN ((ULONG)'NUS_')
|
||
|
#define PACKED_SWD ((ULONG)'DWS_')
|
||
|
#define PACKED_TC1 ((ULONG)'1CT_')
|
||
|
#define PACKED_TC2 ((ULONG)'2CT_')
|
||
|
#define PACKED_TMP ((ULONG)'PMT_')
|
||
|
#define PACKED_TSP ((ULONG)'PST_')
|
||
|
#define PACKED_UID ((ULONG)'DIU_')
|
||
|
#define PACKED_WAK ((ULONG)'KAW_')
|
||
|
#define PACKED_BBN ((ULONG)'NBB_')
|
||
|
|
||
|
#define STA_STATUS_PRESENT 0x00000001
|
||
|
#define STA_STATUS_ENABLED 0x00000002
|
||
|
#define STA_STATUS_USER_INTERFACE 0x00000004
|
||
|
#define STA_STATUS_WORKING_OK 0x00000008
|
||
|
#define STA_STATUS_DEFAULT ( STA_STATUS_PRESENT | \
|
||
|
STA_STATUS_ENABLED | \
|
||
|
STA_STATUS_USER_INTERFACE | \
|
||
|
STA_STATUS_WORKING_OK)
|
||
|
|
||
|
|
||
|
typedef struct {
|
||
|
PVOID CompletionRoutine;
|
||
|
PVOID Context;
|
||
|
} AMLI_COMPLETION_CONTEXT, *PAMLI_COMPLETION_CONTEXT;
|
||
|
|
||
|
typedef struct {
|
||
|
KEVENT Event;
|
||
|
NTSTATUS Status;
|
||
|
} AMLISUPP_CONTEXT_PASSIVE, *PAMLISUPP_CONTEXT_PASSIVE;
|
||
|
|
||
|
typedef enum _ACPIENUM_CONTROL
|
||
|
{
|
||
|
ACPIENUM_STOP,
|
||
|
ACPIENUM_CONTINUE,
|
||
|
ACPIENUM_CONTINUE_NORECURSE
|
||
|
} ACPIENUM_CONTROL ;
|
||
|
|
||
|
typedef ACPIENUM_CONTROL (*ACPIENUM_CALLBACK)(
|
||
|
IN PNSOBJ,
|
||
|
IN OUT PVOID,
|
||
|
IN ULONG,
|
||
|
OUT NTSTATUS *
|
||
|
) ;
|
||
|
|
||
|
VOID
|
||
|
EXPORT
|
||
|
AmlisuppCompletePassive(
|
||
|
IN PNSOBJ AcpiObject,
|
||
|
IN NTSTATUS Status,
|
||
|
IN POBJDATA Result,
|
||
|
IN PVOID Context
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
ACPIAmliDoubleToName(
|
||
|
IN OUT PUCHAR ACPIName,
|
||
|
IN ULONG DwordID,
|
||
|
IN BOOLEAN ConvertToID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
ACPIAmliDoubleToNameWide(
|
||
|
IN OUT PWCHAR ACPIName,
|
||
|
IN ULONG DwordID,
|
||
|
IN BOOLEAN ConvertToID
|
||
|
);
|
||
|
|
||
|
PNSOBJ
|
||
|
ACPIAmliGetNamedChild(
|
||
|
IN PNSOBJ AcpiObject,
|
||
|
IN ULONG ObjectId
|
||
|
);
|
||
|
|
||
|
PUCHAR
|
||
|
ACPIAmliNameObject(
|
||
|
IN PNSOBJ AcpiObject
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
EXPORT
|
||
|
ACPISimpleEvalComplete(
|
||
|
IN PNSOBJ AcpiObject,
|
||
|
IN NTSTATUS Status,
|
||
|
IN POBJDATA Result OPTIONAL,
|
||
|
IN PKEVENT Event
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
ACPIAmliFindObject(
|
||
|
IN PUCHAR ObjectName,
|
||
|
IN PNSOBJ Scope,
|
||
|
OUT PNSOBJ *Object
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
ACPIAmliGetFirstChild(
|
||
|
IN PUCHAR ObjectName,
|
||
|
OUT PNSOBJ *Object
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
ACPIAmliBuildObjectPathname(
|
||
|
IN PNSOBJ ACPIObject,
|
||
|
OUT PUCHAR *ConstructedPathName
|
||
|
);
|
||
|
|
||
|
#endif
|