ReactOS 0.4.15-dev-8339-g4028de8
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
106typedef struct IFEntry
107{
132
133typedef struct IPSNMPInfo
134{
159
160typedef struct IPAddrEntry
161{
170
171typedef struct IPInterfaceInfo
172{
179
180#endif/*_TCPIOCTL_H*/
unsigned short USHORT
Definition: pedump.c:61
ULONG if_operstatus
Definition: tcpioctl.h:115
UCHAR if_descr[1]
Definition: tcpioctl.h:130
ULONG if_inerrors
Definition: tcpioctl.h:121
ULONG if_indiscards
Definition: tcpioctl.h:120
ULONG if_index
Definition: tcpioctl.h:108
ULONG if_inunknownprotos
Definition: tcpioctl.h:122
ULONG if_outucastpkts
Definition: tcpioctl.h:124
ULONG if_innucastpkts
Definition: tcpioctl.h:119
ULONG if_outnucastpkts
Definition: tcpioctl.h:125
ULONG if_descrlen
Definition: tcpioctl.h:129
ULONG if_outdiscards
Definition: tcpioctl.h:126
ULONG if_physaddrlen
Definition: tcpioctl.h:112
ULONG if_inoctets
Definition: tcpioctl.h:117
ULONG if_type
Definition: tcpioctl.h:109
ULONG if_speed
Definition: tcpioctl.h:111
ULONG if_lastchange
Definition: tcpioctl.h:116
ULONG if_mtu
Definition: tcpioctl.h:110
ULONG if_outoctets
Definition: tcpioctl.h:123
ULONG if_outerrors
Definition: tcpioctl.h:127
UCHAR if_physaddr[MAX_PHYSADDR_SIZE]
Definition: tcpioctl.h:113
ULONG if_outqlen
Definition: tcpioctl.h:128
ULONG if_adminstatus
Definition: tcpioctl.h:114
ULONG if_inucastpkts
Definition: tcpioctl.h:118
ULONG iae_mask
Definition: tcpioctl.h:164
ULONG iae_index
Definition: tcpioctl.h:163
ULONG iae_addr
Definition: tcpioctl.h:162
ULONG iae_bcastaddr
Definition: tcpioctl.h:165
USHORT iae_context
Definition: tcpioctl.h:167
ULONG iae_reasmsize
Definition: tcpioctl.h:166
USHORT iae_pad
Definition: tcpioctl.h:168
ULONG iii_addrlength
Definition: tcpioctl.h:176
UCHAR iii_addr[1]
Definition: tcpioctl.h:177
ULONG iii_speed
Definition: tcpioctl.h:175
ULONG iii_flags
Definition: tcpioctl.h:173
ULONG ipsi_indelivers
Definition: tcpioctl.h:143
ULONG ipsi_defaultttl
Definition: tcpioctl.h:136
ULONG ipsi_indiscards
Definition: tcpioctl.h:142
ULONG ipsi_reasmfails
Definition: tcpioctl.h:151
ULONG ipsi_numif
Definition: tcpioctl.h:155
ULONG ipsi_reasmreqds
Definition: tcpioctl.h:149
ULONG ipsi_outnoroutes
Definition: tcpioctl.h:147
ULONG ipsi_forwdatagrams
Definition: tcpioctl.h:140
ULONG ipsi_reasmtimeout
Definition: tcpioctl.h:148
ULONG ipsi_numroutes
Definition: tcpioctl.h:157
ULONG ipsi_outdiscards
Definition: tcpioctl.h:146
ULONG ipsi_numaddr
Definition: tcpioctl.h:156
ULONG ipsi_fragcreates
Definition: tcpioctl.h:154
ULONG ipsi_inreceives
Definition: tcpioctl.h:137
ULONG ipsi_forwarding
Definition: tcpioctl.h:135
ULONG ipsi_inunknownprotos
Definition: tcpioctl.h:141
ULONG ipsi_inaddrerrors
Definition: tcpioctl.h:139
ULONG ipsi_fragoks
Definition: tcpioctl.h:152
ULONG ipsi_reasmoks
Definition: tcpioctl.h:150
ULONG ipsi_outrequests
Definition: tcpioctl.h:144
ULONG ipsi_inhdrerrors
Definition: tcpioctl.h:138
ULONG ipsi_routingdiscards
Definition: tcpioctl.h:145
ULONG ipsi_fragfails
Definition: tcpioctl.h:153
#define MAX_PHYSADDR_SIZE
Definition: tcpioctl.h:61
uint32_t ULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: xmlstorage.h:181