4 * Set and query ioctl constants for tcpip.sys
7 * Created by Art Yerkes (ayerkes@speakeasy.net) from
8 * drivers/net/tcpip/include/ticonsts.h
10 * THIS SOFTWARE IS NOT COPYRIGHTED
12 * This source code is offered for use in the public domain. You may
13 * use, modify or distribute it freely.
15 * This code is distributed in the hope that it will be useful but
16 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
17 * DISCLAIMED. This includes but is not limited to warranties of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
25 #define DD_TCP_DEVICE_NAME L"\\Device\\Tcp"
27 /* TCP/UDP/RawIP IOCTL code definitions */
29 #define FSCTL_TCP_BASE FILE_DEVICE_NETWORK
31 #define _TCP_CTL_CODE(Function, Method, Access) \
32 CTL_CODE(FSCTL_TCP_BASE, Function, Method, Access)
34 #define IOCTL_TCP_QUERY_INFORMATION_EX \
35 _TCP_CTL_CODE(0, METHOD_NEITHER, FILE_ANY_ACCESS)
37 #define IOCTL_TCP_SET_INFORMATION_EX \
38 _TCP_CTL_CODE(1, METHOD_BUFFERED, FILE_WRITE_ACCESS)
40 #define IOCTL_SET_IP_ADDRESS \
41 _TCP_CTL_CODE(14, METHOD_BUFFERED, FILE_WRITE_ACCESS)
43 #define IOCTL_DELETE_IP_ADDRESS \
44 _TCP_CTL_CODE(16, METHOD_BUFFERED, FILE_WRITE_ACCESS)
46 #define IF_MIB_STATS_ID 1
47 #define IP_MIB_STATS_ID 1
48 #define IP_MIB_ADDRTABLE_ENTRY_ID 0x102
49 #define IP_INTFC_INFO_ID 0x103
50 #define MAX_PHYSADDR_SIZE 8
52 typedef struct IFEntry
59 UCHAR if_physaddr
[MAX_PHYSADDR_SIZE
];
65 ULONG if_innucastpkts
;
68 ULONG if_inunknownprotos
;
70 ULONG if_outucastpkts
;
71 ULONG if_outnucastpkts
;
79 typedef struct IPSNMPInfo
81 ULONG ipsi_forwarding
;
82 ULONG ipsi_defaultttl
;
83 ULONG ipsi_inreceives
;
84 ULONG ipsi_inhdrerrors
;
85 ULONG ipsi_inaddrerrors
;
86 ULONG ipsi_forwdatagrams
;
87 ULONG ipsi_inunknownprotos
;
88 ULONG ipsi_indiscards
;
89 ULONG ipsi_indelivers
;
90 ULONG ipsi_outrequests
;
91 ULONG ipsi_routingdiscards
;
92 ULONG ipsi_outdiscards
;
93 ULONG ipsi_outnoroutes
;
94 ULONG ipsi_reasmtimeout
;
95 ULONG ipsi_reasmreqds
;
97 ULONG ipsi_reasmfails
;
100 ULONG ipsi_fragcreates
;
103 ULONG ipsi_numroutes
;
106 typedef struct IPAddrEntry
117 typedef struct IPInterfaceInfo
122 ULONG iii_addrlength
;
126 #endif/*_TCPIOCTL_H*/