fort/src/driver/fortdev.h

62 lines
1.3 KiB
C
Raw Normal View History

#ifndef FORTDEV_H
#define FORTDEV_H
#include "fortdrv.h"
#include "fortbuf.h"
#include "fortcnf.h"
#include "fortpkt.h"
2022-01-07 09:12:12 +00:00
#include "fortps.h"
#include "fortstat.h"
#include "forttmr.h"
#include "fortwrk.h"
typedef struct fort_device
{
PDEVICE_OBJECT object;
PCALLBACK_OBJECT power_cb_obj;
PVOID power_cb_reg;
PCALLBACK_OBJECT systime_cb_obj;
PVOID systime_cb_reg;
FORT_DEVICE_CONF conf;
FORT_BUFFER buffer;
FORT_STAT stat;
FORT_PENDING pending;
FORT_SHAPER shaper;
2022-01-07 09:12:12 +00:00
FORT_PSTREE ps_tree;
FORT_TIMER log_timer;
FORT_TIMER app_timer;
FORT_WORKER worker;
} FORT_DEVICE, *PFORT_DEVICE;
#if defined(__cplusplus)
extern "C" {
#endif
2023-03-30 12:31:48 +00:00
FORT_API PFORT_DEVICE fort_device(void);
2023-04-01 15:51:06 +00:00
FORT_API void fort_device_on_system_time(void);
FORT_API NTSTATUS fort_device_create(PDEVICE_OBJECT device, PIRP irp);
FORT_API NTSTATUS fort_device_close(PDEVICE_OBJECT device, PIRP irp);
FORT_API NTSTATUS fort_device_cleanup(PDEVICE_OBJECT device, PIRP irp);
FORT_API NTSTATUS fort_device_control(PDEVICE_OBJECT device, PIRP irp);
FORT_API NTSTATUS fort_device_shutdown(PDEVICE_OBJECT device, PIRP irp);
FORT_API NTSTATUS fort_device_load(PDEVICE_OBJECT device);
2023-03-30 12:31:48 +00:00
FORT_API void fort_device_unload(void);
#ifdef __cplusplus
} // extern "C"
#endif
#endif // FORTDEV_H