ReactOS
0.4.16-dev-122-g325d74c
tcpioctl.h
Go to the documentation of this file.
1
/*
2
* tcpioctl.h
3
*
4
* Set and query ioctl constants for tcpip.sys
5
*
6
* Contributors:
7
* Created by Art Yerkes (ayerkes@speakeasy.net) from
8
* drivers/net/tcpip/include/ticonsts.h
9
*
10
* THIS SOFTWARE IS NOT COPYRIGHTED
11
*
12
* This source code is offered for use in the public domain. You may
13
* use, modify or distribute it freely.
14
*
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.
19
*
20
*/
21
22
#ifndef _TCPIOCTL_H
23
#define _TCPIOCTL_H
24
25
#define DD_TCP_DEVICE_NAME L"\\Device\\Tcp"
26
27
/* TCP/UDP/RawIP IOCTL code definitions */
28
29
#define FSCTL_TCP_BASE FILE_DEVICE_NETWORK
30
31
#define _TCP_CTL_CODE(Function, Method, Access) \
32
CTL_CODE(FSCTL_TCP_BASE, Function, Method, Access)
33
34
#define IOCTL_TCP_QUERY_INFORMATION_EX \
35
_TCP_CTL_CODE(0, METHOD_NEITHER, FILE_ANY_ACCESS)
36
37
#define IOCTL_TCP_SET_INFORMATION_EX \
38
_TCP_CTL_CODE(1, METHOD_BUFFERED, FILE_WRITE_ACCESS)
39
40
#define IOCTL_QUERY_IP_HW_ADDRESS \
41
_TCP_CTL_CODE(15, METHOD_BUFFERED, FILE_ANY_ACCESS)
42
43
#define IOCTL_SET_IP_ADDRESS \
44
_TCP_CTL_CODE(14, METHOD_BUFFERED, FILE_WRITE_ACCESS)
45
46
#define IOCTL_DELETE_IP_ADDRESS \
47
_TCP_CTL_CODE(16, METHOD_BUFFERED, FILE_WRITE_ACCESS)
48
49
#define IOCTL_ICMP_ECHO_REQUEST \
50
_TCP_CTL_CODE(0, METHOD_BUFFERED, FILE_ANY_ACCESS)
51
52
#define IF_MIB_STATS_ID 1
53
#define IP_MIB_STATS_ID 1
54
#define IP_MIB_ARPTABLE_ENTRY_ID 0x101
55
#define IP_MIB_ADDRTABLE_ENTRY_ID 0x102
56
#define IP_INTFC_INFO_ID 0x103
57
/* Non public TOIID used to query modules info */
58
#ifdef __REACTOS__
59
#define IP_SPECIFIC_MODULE_ENTRY_ID 0x110
60
#endif
61
#define MAX_PHYSADDR_SIZE 8
62
63
/* Address Object Options */
64
#define AO_OPTION_TTL 1
65
#define AO_OPTION_MCASTTTL 2
66
#define AO_OPTION_MCASTIF 3
67
#define AO_OPTION_XSUM 4
68
#define AO_OPTION_IPOPTIONS 5
69
#define AO_OPTION_ADD_MCAST 6
70
#define AO_OPTION_DEL_MCAST 7
71
#define AO_OPTION_TOS 8
72
#define AO_OPTION_IP_DONTFRAGMENT 9
73
#define AO_OPTION_MCASTLOOP 10
74
#define AO_OPTION_BROADCAST 11
75
#define AO_OPTION_IP_HDRINCL 12
76
#define AO_OPTION_RCVALL 13
77
#define AO_OPTION_RCVALL_MCAST 14
78
#define AO_OPTION_RCVALL_IGMPMCAST 15
79
#define AO_OPTION_UNNUMBEREDIF 16
80
#define AO_OPTION_IP_UCASTIF 17
81
#define AO_OPTION_ABSORB_RTRALERT 18
82
#define AO_OPTION_LIMIT_BCASTS 19
83
#define AO_OPTION_INDEX_BIND 20
84
#define AO_OPTION_INDEX_MCASTIF 21
85
#define AO_OPTION_INDEX_ADD_MCAST 22
86
#define AO_OPTION_INDEX_DEL_MCAST 23
87
#define AO_OPTION_IFLIST 24
88
#define AO_OPTION_ADD_IFLIST 25
89
#define AO_OPTION_DEL_IFLIST 26
90
#define AO_OPTION_IP_PKTINFO 27
91
#define AO_OPTION_ADD_MCAST_SRC 28
92
#define AO_OPTION_DEL_MCAST_SRC 29
93
#define AO_OPTION_MCAST_FILTER 30
94
#define AO_OPTION_BLOCK_MCAST_SRC 31
95
#define AO_OPTION_UNBLOCK_MCAST_SRC 32
96
#define AO_OPTION_UDP_CKSUM_COVER 33
97
#define AO_OPTION_WINDOW 34
98
#define AO_OPTION_SCALE_CWIN 35
99
#define AO_OPTION_RCV_HOPLIMIT 36
100
#define AO_OPTION_UNBIND 37
101
#define AO_OPTION_PROTECT 38
102
103
/* TCP connection options */
104
#define TCP_SOCKET_NODELAY 1
105
106
typedef
struct
IFEntry
107
{
108
ULONG
if_index
;
109
ULONG
if_type
;
110
ULONG
if_mtu
;
111
ULONG
if_speed
;
112
ULONG
if_physaddrlen
;
113
UCHAR
if_physaddr
[
MAX_PHYSADDR_SIZE
];
114
ULONG
if_adminstatus
;
115
ULONG
if_operstatus
;
116
ULONG
if_lastchange
;
117
ULONG
if_inoctets
;
118
ULONG
if_inucastpkts
;
119
ULONG
if_innucastpkts
;
120
ULONG
if_indiscards
;
121
ULONG
if_inerrors
;
122
ULONG
if_inunknownprotos
;
123
ULONG
if_outoctets
;
124
ULONG
if_outucastpkts
;
125
ULONG
if_outnucastpkts
;
126
ULONG
if_outdiscards
;
127
ULONG
if_outerrors
;
128
ULONG
if_outqlen
;
129
ULONG
if_descrlen
;
130
UCHAR
if_descr
[1];
131
}
IFEntry
;
132
133
typedef
struct
IPSNMPInfo
134
{
135
ULONG
ipsi_forwarding
;
136
ULONG
ipsi_defaultttl
;
137
ULONG
ipsi_inreceives
;
138
ULONG
ipsi_inhdrerrors
;
139
ULONG
ipsi_inaddrerrors
;
140
ULONG
ipsi_forwdatagrams
;
141
ULONG
ipsi_inunknownprotos
;
142
ULONG
ipsi_indiscards
;
143
ULONG
ipsi_indelivers
;
144
ULONG
ipsi_outrequests
;
145
ULONG
ipsi_routingdiscards
;
146
ULONG
ipsi_outdiscards
;
147
ULONG
ipsi_outnoroutes
;
148
ULONG
ipsi_reasmtimeout
;
149
ULONG
ipsi_reasmreqds
;
150
ULONG
ipsi_reasmoks
;
151
ULONG
ipsi_reasmfails
;
152
ULONG
ipsi_fragoks
;
153
ULONG
ipsi_fragfails
;
154
ULONG
ipsi_fragcreates
;
155
ULONG
ipsi_numif
;
156
ULONG
ipsi_numaddr
;
157
ULONG
ipsi_numroutes
;
158
}
IPSNMPInfo
;
159
160
typedef
struct
IPAddrEntry
161
{
162
ULONG
iae_addr
;
163
ULONG
iae_index
;
164
ULONG
iae_mask
;
165
ULONG
iae_bcastaddr
;
166
ULONG
iae_reasmsize
;
167
USHORT
iae_context
;
168
USHORT
iae_pad
;
169
}
IPAddrEntry
;
170
171
typedef
struct
IPInterfaceInfo
172
{
173
ULONG
iii_flags
;
174
ULONG
iii_mtu
;
175
ULONG
iii_speed
;
176
ULONG
iii_addrlength
;
177
UCHAR
iii_addr
[1];
178
}
IPInterfaceInfo
;
179
180
#endif
/*_TCPIOCTL_H*/
USHORT
unsigned short USHORT
Definition:
pedump.c:61
IFEntry
Definition:
tcpioctl.h:107
IFEntry::if_operstatus
ULONG if_operstatus
Definition:
tcpioctl.h:115
IFEntry::if_descr
UCHAR if_descr[1]
Definition:
tcpioctl.h:130
IFEntry::if_inerrors
ULONG if_inerrors
Definition:
tcpioctl.h:121
IFEntry::if_indiscards
ULONG if_indiscards
Definition:
tcpioctl.h:120
IFEntry::if_index
ULONG if_index
Definition:
tcpioctl.h:108
IFEntry::if_inunknownprotos
ULONG if_inunknownprotos
Definition:
tcpioctl.h:122
IFEntry::if_outucastpkts
ULONG if_outucastpkts
Definition:
tcpioctl.h:124
IFEntry::if_innucastpkts
ULONG if_innucastpkts
Definition:
tcpioctl.h:119
IFEntry::if_outnucastpkts
ULONG if_outnucastpkts
Definition:
tcpioctl.h:125
IFEntry::if_descrlen
ULONG if_descrlen
Definition:
tcpioctl.h:129
IFEntry::if_outdiscards
ULONG if_outdiscards
Definition:
tcpioctl.h:126
IFEntry::if_physaddrlen
ULONG if_physaddrlen
Definition:
tcpioctl.h:112
IFEntry::if_inoctets
ULONG if_inoctets
Definition:
tcpioctl.h:117
IFEntry::if_type
ULONG if_type
Definition:
tcpioctl.h:109
IFEntry::if_speed
ULONG if_speed
Definition:
tcpioctl.h:111
IFEntry::if_lastchange
ULONG if_lastchange
Definition:
tcpioctl.h:116
IFEntry::if_mtu
ULONG if_mtu
Definition:
tcpioctl.h:110
IFEntry::if_outoctets
ULONG if_outoctets
Definition:
tcpioctl.h:123
IFEntry::if_outerrors
ULONG if_outerrors
Definition:
tcpioctl.h:127
IFEntry::if_physaddr
UCHAR if_physaddr[MAX_PHYSADDR_SIZE]
Definition:
tcpioctl.h:113
IFEntry::if_outqlen
ULONG if_outqlen
Definition:
tcpioctl.h:128
IFEntry::if_adminstatus
ULONG if_adminstatus
Definition:
tcpioctl.h:114
IFEntry::if_inucastpkts
ULONG if_inucastpkts
Definition:
tcpioctl.h:118
IPAddrEntry
Definition:
tcpioctl.h:161
IPAddrEntry::iae_mask
ULONG iae_mask
Definition:
tcpioctl.h:164
IPAddrEntry::iae_index
ULONG iae_index
Definition:
tcpioctl.h:163
IPAddrEntry::iae_addr
ULONG iae_addr
Definition:
tcpioctl.h:162
IPAddrEntry::iae_bcastaddr
ULONG iae_bcastaddr
Definition:
tcpioctl.h:165
IPAddrEntry::iae_context
USHORT iae_context
Definition:
tcpioctl.h:167
IPAddrEntry::iae_reasmsize
ULONG iae_reasmsize
Definition:
tcpioctl.h:166
IPAddrEntry::iae_pad
USHORT iae_pad
Definition:
tcpioctl.h:168
IPInterfaceInfo
Definition:
tcpioctl.h:172
IPInterfaceInfo::iii_addrlength
ULONG iii_addrlength
Definition:
tcpioctl.h:176
IPInterfaceInfo::iii_addr
UCHAR iii_addr[1]
Definition:
tcpioctl.h:177
IPInterfaceInfo::iii_speed
ULONG iii_speed
Definition:
tcpioctl.h:175
IPInterfaceInfo::iii_mtu
ULONG iii_mtu
Definition:
tcpioctl.h:174
IPInterfaceInfo::iii_flags
ULONG iii_flags
Definition:
tcpioctl.h:173
IPSNMPInfo
Definition:
tcpioctl.h:134
IPSNMPInfo::ipsi_indelivers
ULONG ipsi_indelivers
Definition:
tcpioctl.h:143
IPSNMPInfo::ipsi_defaultttl
ULONG ipsi_defaultttl
Definition:
tcpioctl.h:136
IPSNMPInfo::ipsi_indiscards
ULONG ipsi_indiscards
Definition:
tcpioctl.h:142
IPSNMPInfo::ipsi_reasmfails
ULONG ipsi_reasmfails
Definition:
tcpioctl.h:151
IPSNMPInfo::ipsi_numif
ULONG ipsi_numif
Definition:
tcpioctl.h:155
IPSNMPInfo::ipsi_reasmreqds
ULONG ipsi_reasmreqds
Definition:
tcpioctl.h:149
IPSNMPInfo::ipsi_outnoroutes
ULONG ipsi_outnoroutes
Definition:
tcpioctl.h:147
IPSNMPInfo::ipsi_forwdatagrams
ULONG ipsi_forwdatagrams
Definition:
tcpioctl.h:140
IPSNMPInfo::ipsi_reasmtimeout
ULONG ipsi_reasmtimeout
Definition:
tcpioctl.h:148
IPSNMPInfo::ipsi_numroutes
ULONG ipsi_numroutes
Definition:
tcpioctl.h:157
IPSNMPInfo::ipsi_outdiscards
ULONG ipsi_outdiscards
Definition:
tcpioctl.h:146
IPSNMPInfo::ipsi_numaddr
ULONG ipsi_numaddr
Definition:
tcpioctl.h:156
IPSNMPInfo::ipsi_fragcreates
ULONG ipsi_fragcreates
Definition:
tcpioctl.h:154
IPSNMPInfo::ipsi_inreceives
ULONG ipsi_inreceives
Definition:
tcpioctl.h:137
IPSNMPInfo::ipsi_forwarding
ULONG ipsi_forwarding
Definition:
tcpioctl.h:135
IPSNMPInfo::ipsi_inunknownprotos
ULONG ipsi_inunknownprotos
Definition:
tcpioctl.h:141
IPSNMPInfo::ipsi_inaddrerrors
ULONG ipsi_inaddrerrors
Definition:
tcpioctl.h:139
IPSNMPInfo::ipsi_fragoks
ULONG ipsi_fragoks
Definition:
tcpioctl.h:152
IPSNMPInfo::ipsi_reasmoks
ULONG ipsi_reasmoks
Definition:
tcpioctl.h:150
IPSNMPInfo::ipsi_outrequests
ULONG ipsi_outrequests
Definition:
tcpioctl.h:144
IPSNMPInfo::ipsi_inhdrerrors
ULONG ipsi_inhdrerrors
Definition:
tcpioctl.h:138
IPSNMPInfo::ipsi_routingdiscards
ULONG ipsi_routingdiscards
Definition:
tcpioctl.h:145
IPSNMPInfo::ipsi_fragfails
ULONG ipsi_fragfails
Definition:
tcpioctl.h:153
MAX_PHYSADDR_SIZE
#define MAX_PHYSADDR_SIZE
Definition:
tcpioctl.h:61
ULONG
uint32_t ULONG
Definition:
typedefs.h:59
UCHAR
unsigned char UCHAR
Definition:
xmlstorage.h:181
sdk
include
psdk
tcpioctl.h
Generated on Sun Oct 13 2024 06:12:12 for ReactOS by
1.9.6