www.pudn.com > NetGuard.rar > drvdef.h
#ifndef _DRIVERDEF_H
#define _DRIVERDEF_H
#define APP_VERSION 210
#define FLAG_SHARE_MEMORY_FILE 0x48464D53 // SMFH
#define FLAG_PACKET_BUFFER 0x4250 // PB
#define VERSION_SHARE_MEMORY 0x101
#define LOCK_DELAY 50
#define CHECK_PASS 0
#define CHECK_DENY 1
#define FILE_DEVICE_DRIVER (32767 + 78) // 0x7FFF + 78
#define DRIVER_API_BASE (2047 + 78) // 0x07FF + 78
#define CTL_CODE_EX(Function) CTL_CODE(FILE_DEVICE_DRIVER, \
(DRIVER_API_BASE + Function), METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_MALLOC_SHARE_BUFFER CTL_CODE_EX(0)
#define IOCTL_MALLOC_SHARE_BUFFER_IP CTL_CODE_EX(1)
#define IOCTL_MALLOC_SHARE_BUFFER_URL CTL_CODE_EX(2)
#define IOCTL_FREE_SHARE_BUFFER CTL_CODE_EX(3)
#define IOCTL_GET_SHARE_BUFFER CTL_CODE_EX(4)
#define IOCTL_GET_SHARE_BUFFER_IP CTL_CODE_EX(5)
#define IOCTL_GET_SHARE_BUFFER_URL CTL_CODE_EX(6)
#define IOCTL_GET_USER_PACKET_BUFFER CTL_CODE_EX(7)
#define IOCTL_SET_FILTER_MODE CTL_CODE_EX(8)
#define IOCTL_GET_VERSION CTL_CODE_EX(9)
#define NET_SERVICE_TYPE_ALL 0
#define NET_SERVICE_TYPE_TCP 1
#define NET_SERVICE_TYPE_UDP 2
#define NET_SERVICE_TYPE_FTP 3
#define NET_SERVICE_TYPE_TELNET 4
#define NET_SERVICE_TYPE_HTTP 5
#define NET_SERVICE_TYPE_NNTP 6
#define NET_SERVICE_TYPE_POP3 7
#define NET_SERVICE_TYPE_SMTP 8
#define NET_SERVICE_TYPE_ICMP 9
#define NET_DIRECTION_IN 0
#define NET_DIRECTION_OUT 1
#define MAX_PACKET_BUFFER 512
#define MAX_PACKET_ONLINE 1024
#define MAX_URL_LENGTH 128
#define MAX_CUST_URL_LENGTH 50
#define MAX_CUST_KEY_LENGTH 8
#define MAX_CUST_UTF8KEY_LENGTH MAX_CUST_KEY_LENGTH/2*3*3
typedef struct tagURL URL,*PURL;
struct tagURL
{
char szUrl[MAX_CUST_URL_LENGTH+1];
};
typedef struct tagKEY KEY,*PKEY;
struct tagKEY
{
char szKey[MAX_CUST_KEY_LENGTH+1];
};
typedef struct tagUTF8KEY UTF8KEY,*PUTF8KEY;
struct tagUTF8KEY
{
char szKey[MAX_CUST_UTF8KEY_LENGTH+1];
};
typedef struct tagMAC_ADDRESS MAC_ADDRESS,*PMAC_ADDRESS;
struct tagMAC_ADDRESS
{
union
{
BYTE mac[6];
struct
{
BYTE c0;
BYTE c1;
BYTE c2;
BYTE c3;
BYTE c4;
BYTE c5;
};
};
};
#define PBS_LOG 1
#define PBS_FLUX 2
typedef struct tagPACKET_BUFFER PACKET_BUFFER,*PPACKET_BUFFER;
struct tagPACKET_BUFFER
{
UINT uiFlag;
BYTE Style;
BYTE bFilter;
union
{
struct
{
USHORT TcpCode : 6;
USHORT Reserved : 10;
};
struct
{
USHORT TcpFin : 1;
USHORT TcpSyn : 1;
USHORT TcpRst : 1;
USHORT TcpPsh : 1;
USHORT TcpAck : 1;
USHORT TcpUrg : 1;
USHORT Direction : 1; // 0: IN, 1: OUT
USHORT SendOrRecv : 1;
USHORT Action : 8;
};
};
DWORD dwSourceIp;
DWORD dwDestinationIp;
WORD wSourcePort;
WORD wDestinationPort;
WORD wPort;
WORD wTransmitNum;
ULONG Time;
// MAC_ADDRESS Mac;
char szUrl[MAX_URL_LENGTH];
};
typedef struct tagPACKET_BUFFER_POINT PACKET_BUFFER_POINT,*PPACKET_BUFFER_POINT;
struct tagPACKET_BUFFER_POINT
{
int nMaxCount;
int* pnWriteIndex;
int* pnReadIndex;
PPACKET_BUFFER pPacket;
};
typedef struct tagSHARE_MEMORY_HEADER SHARE_MEMORY_HEADER,*PSHARE_MEMORY_HEADER;
struct tagSHARE_MEMORY_HEADER
{
DWORD dwFlag; //
WORD wHeaderLength; //
WORD wVersion; //
BYTE bLock; //
BYTE bEnableSexIpList; //
BYTE bEnableSexUrlList; //
BYTE bEnableSafetyIplist; //
BYTE bEnableBanIplist;
BYTE bEnableCustIpList;
BYTE bEnableCustUrlList;
BYTE bEnableWebKeyList;
BYTE bEnableUrlKeyList;
BYTE bEnablePortList;
BYTE bEnableLog;
BYTE bLogBanedIpOnly;
BYTE bReserve1;
BYTE bReserve2;
BYTE bReserve3;
BYTE bReserve4;
DWORD dwSexIpNum;
DWORD dwSexUrlNum;
DWORD dwSafetyIpNum;
DWORD dwSafetyIpOffset;
DWORD dwKeyNum;
DWORD dwKeyOffset;
DWORD dwUtf8KeyNum;
DWORD dwUtf8KeyOffset;
DWORD dwPortNum;
DWORD dwPortOffset;
DWORD dwBanIpNum;
DWORD dwBanIpOffset;
DWORD dwCustIpNum;
DWORD dwCustIpOffset;
DWORD dwCustUrlNum;
DWORD dwCustUrlOffset;
};
#endif