ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

tcpioctl.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.