Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygentcpioctl.h
Go to the documentation of this file.
00001 /* 00002 * tcpioctl.h 00003 * 00004 * Set and query ioctl constants for tcpip.sys 00005 * 00006 * Contributors: 00007 * Created by Art Yerkes (ayerkes@speakeasy.net) from 00008 * drivers/net/tcpip/include/ticonsts.h 00009 * 00010 * THIS SOFTWARE IS NOT COPYRIGHTED 00011 * 00012 * This source code is offered for use in the public domain. You may 00013 * use, modify or distribute it freely. 00014 * 00015 * This code is distributed in the hope that it will be useful but 00016 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00017 * DISCLAIMED. This includes but is not limited to warranties of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00019 * 00020 */ 00021 00022 #ifndef _TCPIOCTL_H 00023 #define _TCPIOCTL_H 00024 00025 #define DD_TCP_DEVICE_NAME L"\\Device\\Tcp" 00026 00027 /* TCP/UDP/RawIP IOCTL code definitions */ 00028 00029 #define FSCTL_TCP_BASE FILE_DEVICE_NETWORK 00030 00031 #define _TCP_CTL_CODE(Function, Method, Access) \ 00032 CTL_CODE(FSCTL_TCP_BASE, Function, Method, Access) 00033 00034 #define IOCTL_TCP_QUERY_INFORMATION_EX \ 00035 _TCP_CTL_CODE(0, METHOD_NEITHER, FILE_ANY_ACCESS) 00036 00037 #define IOCTL_TCP_SET_INFORMATION_EX \ 00038 _TCP_CTL_CODE(1, METHOD_BUFFERED, FILE_WRITE_ACCESS) 00039 00040 #define IOCTL_SET_IP_ADDRESS \ 00041 _TCP_CTL_CODE(14, METHOD_BUFFERED, FILE_WRITE_ACCESS) 00042 00043 #define IOCTL_DELETE_IP_ADDRESS \ 00044 _TCP_CTL_CODE(16, METHOD_BUFFERED, FILE_WRITE_ACCESS) 00045 00046 #define IF_MIB_STATS_ID 1 00047 #define IP_MIB_STATS_ID 1 00048 #define IP_MIB_ARPTABLE_ENTRY_ID 0x101 00049 #define IP_MIB_ADDRTABLE_ENTRY_ID 0x102 00050 #define IP_INTFC_INFO_ID 0x103 00051 #define MAX_PHYSADDR_SIZE 8 00052 00053 /* Address Object Options */ 00054 #define AO_OPTION_TTL 1 00055 #define AO_OPTION_MCASTTTL 2 00056 #define AO_OPTION_MCASTIF 3 00057 #define AO_OPTION_XSUM 4 00058 #define AO_OPTION_IPOPTIONS 5 00059 #define AO_OPTION_ADD_MCAST 6 00060 #define AO_OPTION_DEL_MCAST 7 00061 #define AO_OPTION_TOS 8 00062 #define AO_OPTION_IP_DONTFRAGMENT 9 00063 #define AO_OPTION_MCASTLOOP 10 00064 #define AO_OPTION_BROADCAST 11 00065 #define AO_OPTION_IP_HDRINCL 12 00066 #define AO_OPTION_RCVALL 13 00067 #define AO_OPTION_RCVALL_MCAST 14 00068 #define AO_OPTION_RCVALL_IGMPMCAST 15 00069 #define AO_OPTION_UNNUMBEREDIF 16 00070 #define AO_OPTION_IP_UCASTIF 17 00071 #define AO_OPTION_ABSORB_RTRALERT 18 00072 #define AO_OPTION_LIMIT_BCASTS 19 00073 #define AO_OPTION_INDEX_BIND 20 00074 #define AO_OPTION_INDEX_MCASTIF 21 00075 #define AO_OPTION_INDEX_ADD_MCAST 22 00076 #define AO_OPTION_INDEX_DEL_MCAST 23 00077 #define AO_OPTION_IFLIST 24 00078 #define AO_OPTION_ADD_IFLIST 25 00079 #define AO_OPTION_DEL_IFLIST 26 00080 #define AO_OPTION_IP_PKTINFO 27 00081 #define AO_OPTION_ADD_MCAST_SRC 28 00082 #define AO_OPTION_DEL_MCAST_SRC 29 00083 #define AO_OPTION_MCAST_FILTER 30 00084 #define AO_OPTION_BLOCK_MCAST_SRC 31 00085 #define AO_OPTION_UNBLOCK_MCAST_SRC 32 00086 #define AO_OPTION_UDP_CKSUM_COVER 33 00087 #define AO_OPTION_WINDOW 34 00088 #define AO_OPTION_SCALE_CWIN 35 00089 #define AO_OPTION_RCV_HOPLIMIT 36 00090 #define AO_OPTION_UNBIND 37 00091 #define AO_OPTION_PROTECT 38 00092 00093 typedef struct IFEntry 00094 { 00095 ULONG if_index; 00096 ULONG if_type; 00097 ULONG if_mtu; 00098 ULONG if_speed; 00099 ULONG if_physaddrlen; 00100 UCHAR if_physaddr[MAX_PHYSADDR_SIZE]; 00101 ULONG if_adminstatus; 00102 ULONG if_operstatus; 00103 ULONG if_lastchange; 00104 ULONG if_inoctets; 00105 ULONG if_inucastpkts; 00106 ULONG if_innucastpkts; 00107 ULONG if_indiscards; 00108 ULONG if_inerrors; 00109 ULONG if_inunknownprotos; 00110 ULONG if_outoctets; 00111 ULONG if_outucastpkts; 00112 ULONG if_outnucastpkts; 00113 ULONG if_outdiscards; 00114 ULONG if_outerrors; 00115 ULONG if_outqlen; 00116 ULONG if_descrlen; 00117 UCHAR if_descr[1]; 00118 } IFEntry; 00119 00120 typedef struct IPSNMPInfo 00121 { 00122 ULONG ipsi_forwarding; 00123 ULONG ipsi_defaultttl; 00124 ULONG ipsi_inreceives; 00125 ULONG ipsi_inhdrerrors; 00126 ULONG ipsi_inaddrerrors; 00127 ULONG ipsi_forwdatagrams; 00128 ULONG ipsi_inunknownprotos; 00129 ULONG ipsi_indiscards; 00130 ULONG ipsi_indelivers; 00131 ULONG ipsi_outrequests; 00132 ULONG ipsi_routingdiscards; 00133 ULONG ipsi_outdiscards; 00134 ULONG ipsi_outnoroutes; 00135 ULONG ipsi_reasmtimeout; 00136 ULONG ipsi_reasmreqds; 00137 ULONG ipsi_reasmoks; 00138 ULONG ipsi_reasmfails; 00139 ULONG ipsi_fragoks; 00140 ULONG ipsi_fragfails; 00141 ULONG ipsi_fragcreates; 00142 ULONG ipsi_numif; 00143 ULONG ipsi_numaddr; 00144 ULONG ipsi_numroutes; 00145 } IPSNMPInfo; 00146 00147 typedef struct IPAddrEntry 00148 { 00149 ULONG iae_addr; 00150 ULONG iae_index; 00151 ULONG iae_mask; 00152 ULONG iae_bcastaddr; 00153 ULONG iae_reasmsize; 00154 USHORT iae_context; 00155 USHORT iae_pad; 00156 } IPAddrEntry; 00157 00158 typedef struct IPInterfaceInfo 00159 { 00160 ULONG iii_flags; 00161 ULONG iii_mtu; 00162 ULONG iii_speed; 00163 ULONG iii_addrlength; 00164 UCHAR iii_addr[1]; 00165 } IPInterfaceInfo; 00166 00167 #endif/*_TCPIOCTL_H*/ Generated on Sat May 26 2012 04:31:14 for ReactOS by
1.7.6.1
|