www.pudn.com > Hook-Driver£by.rar > FwHookDrv.h
/*
FwHookDrv.H
Author: Jesús O.
Last Updated : 12/09/03
*/
//
// Define the various device type values. Note that values used by Microsoft
// Corporation are in the range 0-32767, and 32768-65535 are reserved for use
// by customers.
//
// Device type
#define FILE_DEVICE_FWHOOKDRV 0x00692322
#define FWHOOKDRV_IOCTL_INDEX 0x830
// IOCTLs
#define START_IP_HOOK CTL_CODE(FILE_DEVICE_FWHOOKDRV, FWHOOKDRV_IOCTL_INDEX,METHOD_BUFFERED, FILE_ANY_ACCESS)
#define STOP_IP_HOOK CTL_CODE(FILE_DEVICE_FWHOOKDRV, FWHOOKDRV_IOCTL_INDEX+1, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define ADD_FILTER CTL_CODE(FILE_DEVICE_FWHOOKDRV, FWHOOKDRV_IOCTL_INDEX+2, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define CLEAR_FILTER CTL_CODE(FILE_DEVICE_FWHOOKDRV, FWHOOKDRV_IOCTL_INDEX+3, METHOD_BUFFERED, FILE_ANY_ACCESS)
// Structure to define filter rules
typedef struct filter
{
USHORT protocol; // Protocol
ULONG sourceIp; // Source Ip
ULONG destinationIp; // Destination Ip
ULONG sourceMask; // Source Ip mask
ULONG destinationMask; // Destination Ip mask
USHORT sourcePort; // Source port
USHORT destinationPort; // Destination port
BOOLEAN drop; // if TRUE, the packet will be dropped
}IPFilter, *PIPFilter;