76 lines
1.8 KiB
C
76 lines
1.8 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1991 - 2001 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
## # ## ### ###### #### ## ## ##### ##### #### ## ##
|
||
|
## ### ## ### ## ## # ## ## ## ## ## ## ## # ## ##
|
||
|
## ### ## ## ## ## ## ## ## ## ## ## ## ## ## ##
|
||
|
## # # ## ## ## ## ## ####### ## ## ## ## ## ### #######
|
||
|
### ### ####### ## ## ## ## ## ## ## ## ## ## ## ##
|
||
|
### ### ## ## ## ## # ## ## ## ## ## ## ## ## ## ## ##
|
||
|
## ## ## ## ## #### ## ## ##### ##### ##### ## ## ##
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This header file contains all the global
|
||
|
definitions for the watchdog timer device.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Wesley Witt (wesw) 1-Oct-2001
|
||
|
|
||
|
Environment:
|
||
|
|
||
|
Kernel mode only.
|
||
|
|
||
|
Notes:
|
||
|
|
||
|
|
||
|
--*/
|
||
|
|
||
|
|
||
|
#define WATCHDOG_PING_SECONDS (30)
|
||
|
#define WATCHDOG_TIMER_VALUE (120)
|
||
|
#define WATCHDOG_INIT_SECONDS (10)
|
||
|
|
||
|
typedef struct _WATCHDOG_DEVICE_EXTENSION : _DEVICE_EXTENSION {
|
||
|
FAST_MUTEX DeviceLock;
|
||
|
LONG ActiveProcessCount;
|
||
|
LARGE_INTEGER LastProcessTime;
|
||
|
KEVENT PingEvent;
|
||
|
KEVENT StopEvent;
|
||
|
} WATCHDOG_DEVICE_EXTENSION, *PWATCHDOG_DEVICE_EXTENSION;
|
||
|
|
||
|
typedef struct _WATCHDOG_PROCESS_WATCH {
|
||
|
PWATCHDOG_DEVICE_EXTENSION DeviceExtension;
|
||
|
HANDLE ProcessId;
|
||
|
} WATCHDOG_PROCESS_WATCH, *PWATCHDOG_PROCESS_WATCH;
|
||
|
|
||
|
|
||
|
NTSTATUS
|
||
|
SaWatchdogIoValidation(
|
||
|
IN PWATCHDOG_DEVICE_EXTENSION DeviceExtension,
|
||
|
IN PIRP Irp,
|
||
|
PIO_STACK_LOCATION IrpSp
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
SaWatchdogDeviceInitialization(
|
||
|
IN PSAPORT_DRIVER_EXTENSION DriverExtension
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
SaWatchdogShutdownNotification(
|
||
|
IN PWATCHDOG_DEVICE_EXTENSION DeviceExtension,
|
||
|
IN PIRP Irp,
|
||
|
PIO_STACK_LOCATION IrpSp
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
SaWatchdogStartDevice(
|
||
|
IN PWATCHDOG_DEVICE_EXTENSION DeviceExtension
|
||
|
);
|
||
|
|