Use r2 instead of r13 for TLS, since r13 is used in the ELF32 PPC
[wine] / include / wine / ipexport.h
1 /*
2  * Defines the types and macros used by the ICMP API, see icmpapi.h.
3  *
4  * This header is not part of the standard headers, it is usually
5  * delivered separately and this is why it is not directly in 'include'.
6  *
7  * Copyright (C) 1999 Francois Gouget
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  *
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
22  */
23
24 #ifndef __WINE_IPEXPORT_H
25 #define __WINE_IPEXPORT_H
26
27 typedef unsigned long   IPAddr;
28 typedef unsigned long   IPMask;
29 typedef unsigned long   IP_STATUS;
30
31 struct ip_option_information
32 {
33     unsigned char  Ttl;
34     unsigned char  Tos;
35     unsigned char  Flags;
36     unsigned char  OptionsSize;
37     unsigned char* OptionsData;
38 };
39
40 #define IP_FLAG_DF      0x2
41
42 #define IP_OPT_EOL      0
43 #define IP_OPT_NOP      1
44 #define IP_OPT_SECURITY 0x82
45 #define IP_OPT_LSRR     0x83
46 #define IP_OPT_SSRR     0x89
47 #define IP_OPT_RR       0x7
48 #define IP_OPT_TS       0x44
49 #define IP_OPT_SID      0x88
50
51 #define MAX_OPT_SIZE    40
52
53
54 struct icmp_echo_reply
55 {
56     IPAddr                       Address;
57     unsigned long                Status;
58     unsigned long                RoundTripTime;
59     unsigned short               DataSize;
60     unsigned short               Reserved;
61     void*                        Data;
62     struct ip_option_information Options;
63 };
64
65 typedef struct ip_option_information IP_OPTION_INFORMATION, *PIP_OPTION_INFORMATION;
66
67 typedef struct icmp_echo_reply ICMP_ECHO_REPLY, *PICMP_ECHO_REPLY;
68
69
70 #define IP_STATUS_BASE              11000
71
72 #define IP_SUCCESS                  0
73 #define IP_BUF_TOO_SMALL            (IP_STATUS_BASE + 1)
74 #define IP_DEST_NET_UNREACHABLE     (IP_STATUS_BASE + 2)
75 #define IP_DEST_HOST_UNREACHABLE    (IP_STATUS_BASE + 3)
76 #define IP_DEST_PROT_UNREACHABLE    (IP_STATUS_BASE + 4)
77 #define IP_DEST_PORT_UNREACHABLE    (IP_STATUS_BASE + 5)
78 #define IP_NO_RESOURCES             (IP_STATUS_BASE + 6)
79 #define IP_BAD_OPTION               (IP_STATUS_BASE + 7)
80 #define IP_HW_ERROR                 (IP_STATUS_BASE + 8)
81 #define IP_PACKET_TOO_BIG           (IP_STATUS_BASE + 9)
82 #define IP_REQ_TIMED_OUT            (IP_STATUS_BASE + 10)
83 #define IP_BAD_REQ                  (IP_STATUS_BASE + 11)
84 #define IP_BAD_ROUTE                (IP_STATUS_BASE + 12)
85 #define IP_TTL_EXPIRED_TRANSIT      (IP_STATUS_BASE + 13)
86 #define IP_TTL_EXPIRED_REASSEM      (IP_STATUS_BASE + 14)
87 #define IP_PARAM_PROBLEM            (IP_STATUS_BASE + 15)
88 #define IP_SOURCE_QUENCH            (IP_STATUS_BASE + 16)
89 #define IP_OPTION_TOO_BIG           (IP_STATUS_BASE + 17)
90 #define IP_BAD_DESTINATION          (IP_STATUS_BASE + 18)
91
92 #define IP_ADDR_DELETED             (IP_STATUS_BASE + 19)
93 #define IP_SPEC_MTU_CHANGE          (IP_STATUS_BASE + 20)
94 #define IP_MTU_CHANGE               (IP_STATUS_BASE + 21)
95 #define IP_UNLOAD                   (IP_STATUS_BASE + 22)
96
97 #define IP_GENERAL_FAILURE          (IP_STATUS_BASE + 50)
98 #define MAX_IP_STATUS               IP_GENERAL_FAILURE
99 #define IP_PENDING                  (IP_STATUS_BASE + 255)
100
101
102 #endif /* __WINE_IPEXPORT_H */