83 lines
996 B
C
83 lines
996 B
C
|
/*++
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
apmp.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
//
|
||
|
// APM Bios interface information
|
||
|
//
|
||
|
|
||
|
typedef struct _APM_CONNECT {
|
||
|
KSPIN_LOCK CallLock;
|
||
|
ULONG Code16BitOffset;
|
||
|
USHORT Selector[4];
|
||
|
PVOID VirtualAddress[4];
|
||
|
} APM_CONNECT, *PAPM_CONNTECT;
|
||
|
|
||
|
///
|
||
|
// Apm.c
|
||
|
//
|
||
|
|
||
|
NTSTATUS
|
||
|
ApmInitializeConnection (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
ULONG
|
||
|
ApmCallBios (
|
||
|
IN ULONG ApmFunctionCode,
|
||
|
IN OUT PULONG Ebx,
|
||
|
IN OUT PULONG Ecx
|
||
|
);
|
||
|
|
||
|
|
||
|
VOID
|
||
|
ApmGetBatteryStatus (
|
||
|
);
|
||
|
|
||
|
#define APM_DO_NOTHING 0
|
||
|
#define APM_DO_SUSPEND 1
|
||
|
#define APM_DO_STANDBY 2
|
||
|
#define APM_DO_FIXCLOCK 3
|
||
|
#define APM_DO_NOTIFY 4
|
||
|
#define APM_DO_CRITICAL_SUSPEND 5
|
||
|
|
||
|
ULONG
|
||
|
ApmCheckForEvent (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
ApmSuspendSystem (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
ApmStandBySystem (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
ApmTurnOffSystem (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
ApmFunction (
|
||
|
IN ULONG ApmFunctionCode,
|
||
|
IN OUT PULONG Ebx,
|
||
|
IN OUT PULONG Ecx
|
||
|
);
|
||
|
|
||
|
|