ReactOS  0.4.14-dev-98-gb0d4763
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 IF_MIB_STATS_ID 1
50 #define IP_MIB_STATS_ID 1
51 #define IP_MIB_ARPTABLE_ENTRY_ID 0x101
52 #define IP_MIB_ADDRTABLE_ENTRY_ID 0x102
53 #define IP_INTFC_INFO_ID 0x103
54 /* Non public TOIID used to query modules info */
55 #ifdef __REACTOS__
56 #define IP_SPECIFIC_MODULE_ENTRY_ID 0x110
57 #endif
58 #define MAX_PHYSADDR_SIZE 8
59 
60 /* Address Object Options */
61 #define AO_OPTION_TTL 1
62 #define AO_OPTION_MCASTTTL 2
63 #define AO_OPTION_MCASTIF 3
64 #define AO_OPTION_XSUM 4
65 #define AO_OPTION_IPOPTIONS 5
66 #define AO_OPTION_ADD_MCAST 6
67 #define AO_OPTION_DEL_MCAST 7
68 #define AO_OPTION_TOS 8
69 #define AO_OPTION_IP_DONTFRAGMENT 9
70 #define AO_OPTION_MCASTLOOP 10
71 #define AO_OPTION_BROADCAST 11
72 #define AO_OPTION_IP_HDRINCL 12
73 #define AO_OPTION_RCVALL 13
74 #define AO_OPTION_RCVALL_MCAST 14
75 #define AO_OPTION_RCVALL_IGMPMCAST 15
76 #define AO_OPTION_UNNUMBEREDIF 16
77 #define AO_OPTION_IP_UCASTIF 17
78 #define AO_OPTION_ABSORB_RTRALERT 18
79 #define AO_OPTION_LIMIT_BCASTS 19
80 #define AO_OPTION_INDEX_BIND 20
81 #define AO_OPTION_INDEX_MCASTIF 21
82 #define AO_OPTION_INDEX_ADD_MCAST 22
83 #define AO_OPTION_INDEX_DEL_MCAST 23
84 #define AO_OPTION_IFLIST 24
85 #define AO_OPTION_ADD_IFLIST 25
86 #define AO_OPTION_DEL_IFLIST 26
87 #define AO_OPTION_IP_PKTINFO 27
88 #define AO_OPTION_ADD_MCAST_SRC 28
89 #define AO_OPTION_DEL_MCAST_SRC 29
90 #define AO_OPTION_MCAST_FILTER 30
91 #define AO_OPTION_BLOCK_MCAST_SRC 31
92 #define AO_OPTION_UNBLOCK_MCAST_SRC 32
93 #define AO_OPTION_UDP_CKSUM_COVER 33
94 #define AO_OPTION_WINDOW 34
95 #define AO_OPTION_SCALE_CWIN 35
96 #define AO_OPTION_RCV_HOPLIMIT 36
97 #define AO_OPTION_UNBIND 37
98 #define AO_OPTION_PROTECT 38
99 
100 /* TCP connection options */
101 #define TCP_SOCKET_NODELAY 1
102 
103 typedef struct IFEntry
104 {
128 } IFEntry;
129 
130 typedef struct IPSNMPInfo
131 {
155 } IPSNMPInfo;
156 
157 typedef struct IPAddrEntry
158 {
166 } IPAddrEntry;
167 
168 typedef struct IPInterfaceInfo
169 {
176 
177 #endif/*_TCPIOCTL_H*/
UCHAR iii_addr[1]
Definition: tcpioctl.h:174
ULONG iii_speed
Definition: tcpioctl.h:172
ULONG ipsi_indiscards
Definition: tcpioctl.h:139
ULONG ipsi_inunknownprotos
Definition: tcpioctl.h:138
ULONG if_descrlen
Definition: tcpioctl.h:126
ULONG ipsi_numaddr
Definition: tcpioctl.h:153
ULONG if_inoctets
Definition: tcpioctl.h:114
USHORT iae_context
Definition: tcpioctl.h:164
ULONG ipsi_reasmoks
Definition: tcpioctl.h:147
ULONG ipsi_forwarding
Definition: tcpioctl.h:132
ULONG ipsi_forwdatagrams
Definition: tcpioctl.h:137
ULONG if_physaddrlen
Definition: tcpioctl.h:109
ULONG ipsi_fragcreates
Definition: tcpioctl.h:151
ULONG ipsi_outrequests
Definition: tcpioctl.h:141
struct IPInterfaceInfo IPInterfaceInfo
ULONG if_outucastpkts
Definition: tcpioctl.h:121
ULONG ipsi_reasmtimeout
Definition: tcpioctl.h:145
ULONG if_index
Definition: tcpioctl.h:105
ULONG if_operstatus
Definition: tcpioctl.h:112
USHORT iae_pad
Definition: tcpioctl.h:165
ULONG if_outerrors
Definition: tcpioctl.h:124
ULONG iae_bcastaddr
Definition: tcpioctl.h:162
ULONG ipsi_numroutes
Definition: tcpioctl.h:154
ULONG iae_reasmsize
Definition: tcpioctl.h:163
ULONG if_innucastpkts
Definition: tcpioctl.h:116
ULONG ipsi_reasmfails
Definition: tcpioctl.h:148
ULONG ipsi_reasmreqds
Definition: tcpioctl.h:146
ULONG if_outnucastpkts
Definition: tcpioctl.h:122
ULONG if_outqlen
Definition: tcpioctl.h:125
ULONG if_type
Definition: tcpioctl.h:106
ULONG if_outoctets
Definition: tcpioctl.h:120
ULONG iii_addrlength
Definition: tcpioctl.h:173
ULONG if_mtu
Definition: tcpioctl.h:107
ULONG if_speed
Definition: tcpioctl.h:108
ULONG if_outdiscards
Definition: tcpioctl.h:123
ULONG iae_index
Definition: tcpioctl.h:160
ULONG ipsi_numif
Definition: tcpioctl.h:152
struct IPSNMPInfo IPSNMPInfo
ULONG ipsi_inhdrerrors
Definition: tcpioctl.h:135
#define MAX_PHYSADDR_SIZE
Definition: tcpioctl.h:58
ULONG if_inerrors
Definition: tcpioctl.h:118
ULONG if_inucastpkts
Definition: tcpioctl.h:115
ULONG ipsi_defaultttl
Definition: tcpioctl.h:133
ULONG ipsi_routingdiscards
Definition: tcpioctl.h:142
ULONG iae_mask
Definition: tcpioctl.h:161
ULONG iae_addr
Definition: tcpioctl.h:159
unsigned char UCHAR
Definition: xmlstorage.h:181
struct IFEntry IFEntry
ULONG if_inunknownprotos
Definition: tcpioctl.h:119
ULONG ipsi_outdiscards
Definition: tcpioctl.h:143
ULONG if_adminstatus
Definition: tcpioctl.h:111
ULONG ipsi_fragfails
Definition: tcpioctl.h:150
unsigned short USHORT
Definition: pedump.c:61
ULONG ipsi_fragoks
Definition: tcpioctl.h:149
ULONG ipsi_outnoroutes
Definition: tcpioctl.h:144
ULONG iii_flags
Definition: tcpioctl.h:170
ULONG ipsi_inaddrerrors
Definition: tcpioctl.h:136
ULONG ipsi_inreceives
Definition: tcpioctl.h:134
unsigned int ULONG
Definition: retypes.h:1
UCHAR if_physaddr[MAX_PHYSADDR_SIZE]
Definition: tcpioctl.h:110
ULONG if_indiscards
Definition: tcpioctl.h:117
ULONG ipsi_indelivers
Definition: tcpioctl.h:140
ULONG if_lastchange
Definition: tcpioctl.h:113
UCHAR if_descr[1]
Definition: tcpioctl.h:127
struct IPAddrEntry IPAddrEntry