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

ipexport.h
Go to the documentation of this file.
00001 /*
00002  * Defines the types and macros used by the ICMP API, see icmpapi.h.
00003  *
00004  * Copyright (C) 1999 Francois Gouget
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00019  */
00020 
00021 #ifndef __WINE_IPEXPORT_H
00022 #define __WINE_IPEXPORT_H
00023 
00024 typedef unsigned long   IPAddr;
00025 typedef unsigned long   IPMask;
00026 typedef unsigned long   IP_STATUS;
00027 
00028 struct ip_option_information
00029 {
00030     unsigned char  Ttl;
00031     unsigned char  Tos;
00032     unsigned char  Flags;
00033     unsigned char  OptionsSize;
00034     unsigned char* OptionsData;
00035 };
00036 
00037 #define IP_FLAG_DF      0x2
00038 
00039 #define IP_OPT_EOL      0
00040 #define IP_OPT_NOP      1
00041 #define IP_OPT_SECURITY 0x82
00042 #define IP_OPT_LSRR     0x83
00043 #define IP_OPT_SSRR     0x89
00044 #define IP_OPT_RR       0x7
00045 #define IP_OPT_TS       0x44
00046 #define IP_OPT_SID      0x88
00047 #define IP_OPT_ROUTER_ALERT 0x94
00048 
00049 #define MAX_OPT_SIZE    40
00050 
00051 
00052 struct icmp_echo_reply
00053 {
00054     IPAddr                       Address;
00055     unsigned long                Status;
00056     unsigned long                RoundTripTime;
00057     unsigned short               DataSize;
00058     unsigned short               Reserved;
00059     void*                        Data;
00060     struct ip_option_information Options;
00061 };
00062 
00063 typedef struct ip_option_information IP_OPTION_INFORMATION, *PIP_OPTION_INFORMATION;
00064 
00065 typedef struct icmp_echo_reply ICMP_ECHO_REPLY, *PICMP_ECHO_REPLY;
00066 
00067 
00068 #define IP_STATUS_BASE              11000
00069 
00070 #define IP_SUCCESS                  0
00071 #define IP_BUF_TOO_SMALL            (IP_STATUS_BASE + 1)
00072 #define IP_DEST_NET_UNREACHABLE     (IP_STATUS_BASE + 2)
00073 #define IP_DEST_HOST_UNREACHABLE    (IP_STATUS_BASE + 3)
00074 #define IP_DEST_PROT_UNREACHABLE    (IP_STATUS_BASE + 4)
00075 #define IP_DEST_PORT_UNREACHABLE    (IP_STATUS_BASE + 5)
00076 #define IP_NO_RESOURCES             (IP_STATUS_BASE + 6)
00077 #define IP_BAD_OPTION               (IP_STATUS_BASE + 7)
00078 #define IP_HW_ERROR                 (IP_STATUS_BASE + 8)
00079 #define IP_PACKET_TOO_BIG           (IP_STATUS_BASE + 9)
00080 #define IP_REQ_TIMED_OUT            (IP_STATUS_BASE + 10)
00081 #define IP_BAD_REQ                  (IP_STATUS_BASE + 11)
00082 #define IP_BAD_ROUTE                (IP_STATUS_BASE + 12)
00083 #define IP_TTL_EXPIRED_TRANSIT      (IP_STATUS_BASE + 13)
00084 #define IP_TTL_EXPIRED_REASSEM      (IP_STATUS_BASE + 14)
00085 #define IP_PARAM_PROBLEM            (IP_STATUS_BASE + 15)
00086 #define IP_SOURCE_QUENCH            (IP_STATUS_BASE + 16)
00087 #define IP_OPTION_TOO_BIG           (IP_STATUS_BASE + 17)
00088 #define IP_BAD_DESTINATION          (IP_STATUS_BASE + 18)
00089 
00090 #define IP_ADDR_DELETED             (IP_STATUS_BASE + 19)
00091 #define IP_SPEC_MTU_CHANGE          (IP_STATUS_BASE + 20)
00092 #define IP_MTU_CHANGE               (IP_STATUS_BASE + 21)
00093 #define IP_UNLOAD                   (IP_STATUS_BASE + 22)
00094 #define IP_ADDR_ADDED               (IP_STATUS_BASE + 23)
00095 #define IP_MEDIA_CONNECT            (IP_STATUS_BASE + 24)
00096 #define IP_MEDIA_DISCONNECT         (IP_STATUS_BASE + 25)
00097 #define IP_BIND_ADAPTER             (IP_STATUS_BASE + 26)
00098 #define IP_UNBIND_ADAPTER           (IP_STATUS_BASE + 27)
00099 #define IP_DEVICE_DOES_NOT_EXIST    (IP_STATUS_BASE + 28)
00100 #define IP_DUPLICATE_ADDRESS        (IP_STATUS_BASE + 29)
00101 #define IP_INTERFACE_METRIC_CHANGE  (IP_STATUS_BASE + 30)
00102 #define IP_RECONFIG_SECFLTR         (IP_STATUS_BASE + 31)
00103 #define IP_NEGOTIATING_IPSEC        (IP_STATUS_BASE + 32)
00104 #define IP_INTERFACE_WOL_CAPABILITY_CHANGE (IP_STATUS_BASE + 33)
00105 #define IP_DUPLICATE_IPADD          (IP_STATUS_BASE + 34)
00106 
00107 #define IP_GENERAL_FAILURE          (IP_STATUS_BASE + 50)
00108 #define MAX_IP_STATUS               IP_GENERAL_FAILURE
00109 #define IP_PENDING                  (IP_STATUS_BASE + 255)
00110 
00111 
00112 #define MAX_ADAPTER_NAME 128
00113 
00114 typedef struct _IP_ADAPTER_INDEX_MAP {
00115   ULONG Index;
00116   WCHAR Name[MAX_ADAPTER_NAME];
00117 } IP_ADAPTER_INDEX_MAP, *PIP_ADAPTER_INDEX_MAP;
00118 
00119 typedef struct _IP_INTERFACE_INFO {
00120   LONG                 NumAdapters;
00121   IP_ADAPTER_INDEX_MAP Adapter[1];
00122 } IP_INTERFACE_INFO,*PIP_INTERFACE_INFO;
00123 
00124 typedef struct _IP_UNIDIRECTIONAL_ADAPTER_ADDRESS {
00125   ULONG  NumAdapters;
00126   IPAddr Address[1];
00127 } IP_UNIDIRECTIONAL_ADAPTER_ADDRESS, *PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS;
00128 
00129 typedef struct _IP_ADAPTER_ORDER_MAP {
00130     ULONG   NumAdapters;
00131     ULONG   AdapterOrder[1];
00132 } IP_ADAPTER_ORDER_MAP, *PIP_ADAPTER_ORDER_MAP;
00133 
00134 #endif /* __WINE_IPEXPORT_H */

Generated on Fri May 25 2012 04:30:08 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.