You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.9 KiB
75 lines
1.9 KiB
/*++
|
|
|
|
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
|
|
);
|
|
|