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_ARPTABLE_ENTRY_ID 0x101
49 #define IP_MIB_ADDRTABLE_ENTRY_ID 0x102
50 #define IP_INTFC_INFO_ID 0x103
51 #define MAX_PHYSADDR_SIZE 8
53 typedef struct IFEntry
60 UCHAR if_physaddr
[MAX_PHYSADDR_SIZE
];
66 ULONG if_innucastpkts
;
69 ULONG if_inunknownprotos
;
71 ULONG if_outucastpkts
;
72 ULONG if_outnucastpkts
;
80 typedef struct IPSNMPInfo
82 ULONG ipsi_forwarding
;
83 ULONG ipsi_defaultttl
;
84 ULONG ipsi_inreceives
;
85 ULONG ipsi_inhdrerrors
;
86 ULONG ipsi_inaddrerrors
;
87 ULONG ipsi_forwdatagrams
;
88 ULONG ipsi_inunknownprotos
;
89 ULONG ipsi_indiscards
;
90 ULONG ipsi_indelivers
;
91 ULONG ipsi_outrequests
;
92 ULONG ipsi_routingdiscards
;
93 ULONG ipsi_outdiscards
;
94 ULONG ipsi_outnoroutes
;
95 ULONG ipsi_reasmtimeout
;
96 ULONG ipsi_reasmreqds
;
98 ULONG ipsi_reasmfails
;
100 ULONG ipsi_fragfails
;
101 ULONG ipsi_fragcreates
;
104 ULONG ipsi_numroutes
;
107 typedef struct IPAddrEntry
118 typedef struct IPInterfaceInfo
123 ULONG iii_addrlength
;
127 #endif/*_TCPIOCTL_H*/