|
|
1.1 root 1:
2: #define IDM_OPEN 100
3: #define IDM_CLOSE 101
4: #define IDM_ABOUT 102
5: #define IDM_SEND 103
6: #define IDM_READ 104
7: #define IDM_RESET 105
8:
9: #define IDM_NO_FILTER 110
10: #define IDM_DIRECTED 111
11: #define IDM_MULTICAST 112
12: #define IDM_BROADCAST 113
13: #define IDM_ALL_MULTICAST 114
14: #define IDM_PROMISCUOUS 115
15:
16:
17: typedef struct _ADAPTER {
18: HANDLE hFile;
19: HANDLE hEvent;
20: SC_HANDLE schSCManager;
21: SC_HANDLE ServiceHandle;
22: TCHAR AdapterName[64];
23:
24: HANDLE hMem;
25: LPBYTE lpMem;
26: HGLOBAL hMem2;
27: LPBYTE lpMem2;
28: ULONG LastReadSize;
29: UINT BufferSize;
30: } ADAPTER, *PADAPTER;
31:
32:
33: #define WM_DUMPCHANGE 0x8001
34:
35:
36:
37:
38:
39:
40:
41:
42: //
43: // Macro definition for defining IOCTL and FSCTL function control codes. Note
44: // that function codes 0-2047 are reserved for Microsoft Corporation, and
45: // 2048-4095 are reserved for customers.
46: //
47:
48: #define CTL_CODE( DeviceType, Function, Method, Access ) ( \
49: ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \
50: )
51:
52: //
53: // Define the method codes for how buffers are passed for I/O and FS controls
54: //
55:
56: #define METHOD_BUFFERED 0
57: #define METHOD_IN_DIRECT 1
58: #define METHOD_OUT_DIRECT 2
59: #define METHOD_NEITHER 3
60:
61: //
62: // Define the access check value for any access
63: //
64: //
65: // The FILE_READ_ACCESS and FILE_WRITE_ACCESS constants are also defined in
66: // ntioapi.h as FILE_READ_DATA and FILE_WRITE_DATA. The values for these
67: // constants *MUST* always be in sync.
68: //
69:
70:
71: #define FILE_ANY_ACCESS 0
72: #define FILE_READ_ACCESS ( 0x0001 ) // file & pipe
73: #define FILE_WRITE_ACCESS ( 0x0002 ) // file & pipe
74:
75:
76: #define FILE_DEVICE_PROTOCOL 0x8000
77:
78: #define PACKET_SET 0x00c0
79: #define PACKET_QUERY 0x0080
80:
81: #define PACKET_FILTER 0x000e
82: #define PACKET_RESET 0x00ff
83:
84:
85:
86: #define IOCTL_PROTOCOL_SET_FILTER CTL_CODE(FILE_DEVICE_PROTOCOL, PACKET_SET | PACKET_FILTER, METHOD_BUFFERED, FILE_ANY_ACCESS)
87: #define IOCTL_PROTOCOL_GET_FILTER CTL_CODE(FILE_DEVICE_PROTOCOL, PACKET_QUERY | PACKET_FILTER, METHOD_BUFFERED, FILE_ANY_ACCESS)
88:
89: #define IOCTL_PROTOCOL_RESET CTL_CODE(FILE_DEVICE_PROTOCOL, PACKET_RESET, METHOD_BUFFERED, FILE_ANY_ACCESS)
90:
91:
92:
93:
94: #define NDIS_PACKET_TYPE_DIRECTED 0x0001
95: #define NDIS_PACKET_TYPE_MULTICAST 0x0002
96: #define NDIS_PACKET_TYPE_ALL_MULTICAST 0x0004
97: #define NDIS_PACKET_TYPE_BROADCAST 0x0008
98: #define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x0010
99: #define NDIS_PACKET_TYPE_PROMISCUOUS 0x0020
100: #define NDIS_PACKET_TYPE_SMT 0x0040
101: #define NDIS_PACKET_TYPE_MAC_FRAME 0x8000
102: #define NDIS_PACKET_TYPE_FUNCTIONAL 0x4000
103: #define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x2000
104: #define NDIS_PACKET_TYPE_GROUP 0x1000
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.