summaryrefslogtreecommitdiff
path: root/network.h
diff options
context:
space:
mode:
Diffstat (limited to 'network.h')
-rw-r--r--network.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/network.h b/network.h
new file mode 100644
index 0000000..012bc8a
--- /dev/null
+++ b/network.h
@@ -0,0 +1,57 @@
1/*
2 * Copyright (c) 2004 Security Architects Corporation. All rights reserved.
3 *
4 * Module Name:
5 *
6 * network.h
7 *
8 * Abstract:
9 *
10 * This module defines various types used by the Transport Driver Interface (TDI) network hooking routines.
11 *
12 * Author:
13 *
14 * Eugene Tsyrklevich 12-Mar-2004
15 *
16 * Revision History:
17 *
18 * None.
19 */
20
21
22#ifndef __NETWORK_H__
23#define __NETWORK_H__
24
25
26
27#define NET_DEVICE_TYPE_TCP 1
28#define NET_DEVICE_TYPE_UDP 2
29#define NET_DEVICE_TYPE_IP 3
30
31
32typedef struct _TDI_CALLBACK
33{
34 PIO_COMPLETION_ROUTINE Routine;
35 PVOID Context;
36
37} TDI_CALLBACK, *PTDI_CALLBACK;
38
39
40typedef int (*TDI_IOCTL_PFUNC) (IN PIRP pIrp, IN PIO_STACK_LOCATION pIrpStack, OUT PTDI_CALLBACK pCompletion, IN ULONG DeviceType);
41
42typedef struct _TDI_IOCTL
43{
44 UCHAR MinorFunction;
45 PCHAR Description;
46 TDI_IOCTL_PFUNC pfRoutine;
47
48} TDI_IOCTL, PTDI_IOCTL;
49
50
51BOOLEAN TDIDispatch(PDEVICE_OBJECT pDeviceObject, PIRP pIrp, NTSTATUS *status);
52NTSTATUS TDICreate(IN PDEVICE_OBJECT pDeviceObject, IN PIRP pIrp, IN PIO_STACK_LOCATION pIrpStack, OUT PTDI_CALLBACK pCompletion);
53NTSTATUS InstallNetworkHooks(PDRIVER_OBJECT pDriverObject);
54void RemoveNetworkHooks(PDRIVER_OBJECT pDriverObject);
55
56
57#endif /* __NETWORK_H__ */