| 1 | /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
1 | /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
| 2 | /* |
2 | /* |
| 3 | * The contents of this file are subject to the Mozilla Public |
3 | * The contents of this file are subject to the Mozilla Public |
| 4 | * License Version 1.1 (the "License"); you may not use this file |
4 | * License Version 1.1 (the "License"); you may not use this file |
| 5 | * except in compliance with the License. You may obtain a copy of |
5 | * except in compliance with the License. You may obtain a copy of |
| 6 | * the License at http://www.mozilla.org/MPL/ |
6 | * the License at http://www.mozilla.org/MPL/ |
| 7 | * |
7 | * |
| 8 | * Software distributed under the License is distributed on an "AS |
8 | * Software distributed under the License is distributed on an "AS |
| 9 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or |
9 | * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or |
| 10 | * implied. See the License for the specific language governing |
10 | * implied. See the License for the specific language governing |
| 11 | * rights and limitations under the License. |
11 | * rights and limitations under the License. |
| 12 | * |
12 | * |
| 13 | * The Original Code is the Netscape Portable Runtime (NSPR). |
13 | * The Original Code is the Netscape Portable Runtime (NSPR). |
| 14 | * |
14 | * |
| 15 | * The Initial Developer of the Original Code is Netscape |
15 | * The Initial Developer of the Original Code is Netscape |
| 16 | * Communications Corporation. Portions created by Netscape are |
16 | * Communications Corporation. Portions created by Netscape are |
| 17 | * Copyright (C) 1998-2000 Netscape Communications Corporation. All |
17 | * Copyright (C) 1998-2000 Netscape Communications Corporation. All |
| 18 | * Rights Reserved. |
18 | * Rights Reserved. |
| 19 | * |
19 | * |
| 20 | * Contributor(s): |
20 | * Contributor(s): |
| 21 | * |
21 | * |
| 22 | * Alternatively, the contents of this file may be used under the |
22 | * Alternatively, the contents of this file may be used under the |
| 23 | * terms of the GNU General Public License Version 2 or later (the |
23 | * terms of the GNU General Public License Version 2 or later (the |
| 24 | * "GPL"), in which case the provisions of the GPL are applicable |
24 | * "GPL"), in which case the provisions of the GPL are applicable |
| 25 | * instead of those above. If you wish to allow use of your |
25 | * instead of those above. If you wish to allow use of your |
| 26 | * version of this file only under the terms of the GPL and not to |
26 | * version of this file only under the terms of the GPL and not to |
| 27 | * allow others to use your version of this file under the MPL, |
27 | * allow others to use your version of this file under the MPL, |
| 28 | * indicate your decision by deleting the provisions above and |
28 | * indicate your decision by deleting the provisions above and |
| 29 | * replace them with the notice and other provisions required by |
29 | * replace them with the notice and other provisions required by |
| 30 | * the GPL. If you do not delete the provisions above, a recipient |
30 | * the GPL. If you do not delete the provisions above, a recipient |
| 31 | * may use your version of this file under either the MPL or the |
31 | * may use your version of this file under either the MPL or the |
| 32 | * GPL. |
32 | * GPL. |
| 33 | */ |
33 | */ |
| 34 | |
34 | |
| 35 | /* |
35 | /* |
| 36 | * This header typedefs the old 'native' types to the new PR<type>s. |
36 | * This header typedefs the old 'native' types to the new PR<type>s. |
| 37 | * These definitions are scheduled to be eliminated at the earliest |
37 | * These definitions are scheduled to be eliminated at the earliest |
| 38 | * possible time. The NSPR API is implemented and documented using |
38 | * possible time. The NSPR API is implemented and documented using |
| 39 | * the new definitions. |
39 | * the new definitions. |
| 40 | */ |
40 | */ |
| 41 | |
41 | |
| 42 | #if !defined(PROTYPES_H) |
42 | #if !defined(PROTYPES_H) |
| 43 | #define PROTYPES_H |
43 | #define PROTYPES_H |
| 44 | |
44 | |
| 45 | typedef PRUintn uintn; |
45 | typedef PRUintn uintn; |
| 46 | #ifndef _XP_Core_ |
46 | #ifndef _XP_Core_ |
| 47 | typedef PRIntn intn; |
47 | typedef PRIntn intn; |
| 48 | #endif |
48 | #endif |
| 49 | |
49 | |
| 50 | /* |
50 | /* |
| 51 | * It is trickier to define uint, int8, uint8, int16, uint16, |
51 | * It is trickier to define uint, int8, uint8, int16, uint16, |
| 52 | * int32, uint32, int64, and uint64 because some of these int |
52 | * int32, uint32, int64, and uint64 because some of these int |
| 53 | * types are defined by standard header files on some platforms. |
53 | * types are defined by standard header files on some platforms. |
| 54 | * Our strategy here is to include all such standard headers |
54 | * Our strategy here is to include all such standard headers |
| 55 | * first, and then define these int types only if they are not |
55 | * first, and then define these int types only if they are not |
| 56 | * defined by those standard headers. |
56 | * defined by those standard headers. |
| 57 | */ |
57 | */ |
| 58 | |
58 | |
| 59 | /* |
59 | /* |
| 60 | * BeOS defines all the int types below in its standard header |
60 | * BeOS defines all the int types below in its standard header |
| 61 | * file SupportDefs.h. |
61 | * file SupportDefs.h. |
| 62 | */ |
62 | */ |
| 63 | #ifdef XP_BEOS |
63 | #ifdef XP_BEOS |
| 64 | #include <support/SupportDefs.h> |
64 | #include <support/SupportDefs.h> |
| 65 | #endif |
65 | #endif |
| 66 | |
66 | |
| 67 | /* |
67 | /* |
| 68 | * OpenVMS defines all the int types below in its standard |
68 | * OpenVMS defines all the int types below in its standard |
| 69 | * header files ints.h and types.h. |
69 | * header files ints.h and types.h. |
| 70 | */ |
70 | */ |
| 71 | #ifdef VMS |
71 | #ifdef VMS |
| 72 | #include <ints.h> |
72 | #include <ints.h> |
| 73 | #include <types.h> |
73 | #include <types.h> |
| 74 | #endif |
74 | #endif |
| 75 | |
75 | |
| 76 | /* |
76 | /* |
| 77 | * SVR4 typedef of uint is commonly found on UNIX machines. |
77 | * SVR4 typedef of uint is commonly found on UNIX machines. |
| 78 | * |
78 | * |
| 79 | * On AIX 4.3, sys/inttypes.h (which is included by sys/types.h) |
79 | * On AIX 4.3, sys/inttypes.h (which is included by sys/types.h) |
| 80 | * defines the types int8, int16, int32, and int64. |
80 | * defines the types int8, int16, int32, and int64. |
| 81 | */ |
81 | */ |
| 82 | #ifdef XP_UNIX |
82 | #ifdef XP_UNIX |
| 83 | #include <sys/types.h> |
83 | #include <sys/types.h> |
| 84 | #endif |
84 | #endif |
| 85 | |
85 | |
| 86 | /* model.h on HP-UX defines int8, int16, and int32. */ |
86 | /* model.h on HP-UX defines int8, int16, and int32. */ |
| 87 | #ifdef HPUX |
87 | #ifdef HPUX |
| 88 | #include <model.h> |
88 | #include <model.h> |
| 89 | #endif |
89 | #endif |
| 90 | |
90 | |
| 91 | /* |
91 | /* |
| 92 | * uint |
92 | * uint |
| 93 | */ |
93 | */ |
| 94 | |
94 | |
| 95 | #if !defined(XP_BEOS) && !defined(VMS) \ |
95 | #if !defined(XP_BEOS) && !defined(VMS) \ |
| 96 | && !defined(XP_UNIX) || defined(NTO) |
96 | && !defined(XP_UNIX) || defined(NTO) |
| 97 | typedef PRUintn uint; |
97 | typedef PRUintn uint; |
| 98 | #endif |
98 | #endif |
| 99 | |
99 | |
| 100 | /* |
100 | /* |
| 101 | * uint64 |
101 | * uint64 |
| 102 | */ |
102 | */ |
| 103 | |
103 | |
| 104 | #if !defined(XP_BEOS) && !defined(VMS) |
104 | #if !defined(XP_BEOS) && !defined(VMS) |
| 105 | typedef PRUint64 uint64; |
105 | typedef PRUint64 uint64; |
| 106 | #endif |
106 | #endif |
| 107 | |
107 | |
| 108 | /* |
108 | /* |
| 109 | * uint32 |
109 | * uint32 |
| 110 | */ |
110 | */ |
| 111 | |
111 | |
| 112 | #if !defined(XP_BEOS) && !defined(VMS) |
112 | #if !defined(XP_BEOS) && !defined(VMS) |
| 113 | #if !defined(XP_MAC) && !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) |
113 | #if !defined(XP_MAC) && !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) |
| 114 | typedef PRUint32 uint32; |
114 | typedef PRUint32 uint32; |
| 115 | #else |
115 | #else |
| 116 | typedef unsigned long uint32; |
116 | typedef unsigned long uint32; |
| 117 | #endif |
117 | #endif |
| 118 | #endif |
118 | #endif |
| 119 | |
119 | |
| 120 | /* |
120 | /* |
| 121 | * uint16 |
121 | * uint16 |
| 122 | */ |
122 | */ |
| 123 | |
123 | |
| 124 | #if !defined(XP_BEOS) && !defined(VMS) |
124 | #if !defined(XP_BEOS) && !defined(VMS) |
| 125 | typedef PRUint16 uint16; |
125 | typedef PRUint16 uint16; |
| 126 | #endif |
126 | #endif |
| 127 | |
127 | |
| 128 | /* |
128 | /* |
| 129 | * uint8 |
129 | * uint8 |
| 130 | */ |
130 | */ |
| 131 | |
131 | |
| 132 | #if !defined(XP_BEOS) && !defined(VMS) |
132 | #if !defined(XP_BEOS) && !defined(VMS) |
| 133 | typedef PRUint8 uint8; |
133 | typedef PRUint8 uint8; |
| 134 | #endif |
134 | #endif |
| 135 | |
135 | |
| 136 | /* |
136 | /* |
| 137 | * int64 |
137 | * int64 |
| 138 | */ |
138 | */ |
| 139 | |
139 | |
| 140 | #if !defined(XP_BEOS) && !defined(VMS) \ |
140 | #if !defined(XP_BEOS) && !defined(VMS) \ |
| 141 | && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) |
141 | && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) |
| 142 | typedef PRInt64 int64; |
142 | typedef PRInt64 int64; |
| 143 | #endif |
143 | #endif |
| 144 | |
144 | |
| 145 | /* |
145 | /* |
| 146 | * int32 |
146 | * int32 |
| 147 | */ |
147 | */ |
| 148 | |
148 | |
| 149 | #if !defined(XP_BEOS) && !defined(VMS) \ |
149 | #if !defined(XP_BEOS) && !defined(VMS) \ |
| 150 | && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ |
150 | && !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \ |
| 151 | && !defined(HPUX) |
151 | && !defined(HPUX) |
| 152 | #if !defined(WIN32) || !defined(_WINSOCK2API_) /* defines its own "int32" */ |
152 | #if !defined(WIN32) || !defined(_WINSOCK2API_) /* defines its own "int32" */ |
| 153 | #if !defined(XP_MAC) && !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) |
153 | #if !defined(XP_MAC) && !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO) |
| 179 | #endif |
179 | #endif |
| 180 | |
180 | |
| 181 | typedef PRFloat64 float64; |
181 | typedef PRFloat64 float64; |
| 182 | typedef PRUptrdiff uptrdiff_t; |
182 | typedef PRUptrdiff uptrdiff_t; |
| 183 | typedef PRUword uprword_t; |
183 | typedef PRUword uprword_t; |
| 184 | typedef PRWord prword_t; |
184 | typedef PRWord prword_t; |
| 185 | |
185 | |
| 186 | |
186 | |
| 187 | /* Re: prbit.h */ |
187 | /* Re: prbit.h */ |
| 188 | #define TEST_BIT PR_TEST_BIT |
188 | #define TEST_BIT PR_TEST_BIT |
| 189 | #define SET_BIT PR_SET_BIT |
189 | #define SET_BIT PR_SET_BIT |
| 190 | #define CLEAR_BIT PR_CLEAR_BIT |
190 | #define CLEAR_BIT PR_CLEAR_BIT |
| 191 | |
191 | |
| 192 | /* Re: prarena.h->plarena.h */ |
192 | /* Re: prarena.h->plarena.h */ |
| 193 | #define PRArena PLArena |
193 | #define PRArena PLArena |
| 194 | #define PRArenaPool PLArenaPool |
194 | #define PRArenaPool PLArenaPool |
| 195 | #define PRArenaStats PLArenaStats |
195 | #define PRArenaStats PLArenaStats |
| 196 | #define PR_ARENA_ALIGN PL_ARENA_ALIGN |
196 | #define PR_ARENA_ALIGN PL_ARENA_ALIGN |
| 197 | #define PR_INIT_ARENA_POOL PL_INIT_ARENA_POOL |
197 | #define PR_INIT_ARENA_POOL PL_INIT_ARENA_POOL |
| 198 | #define PR_ARENA_ALLOCATE PL_ARENA_ALLOCATE |
198 | #define PR_ARENA_ALLOCATE PL_ARENA_ALLOCATE |
| 199 | #define PR_ARENA_GROW PL_ARENA_GROW |
199 | #define PR_ARENA_GROW PL_ARENA_GROW |
| 200 | #define PR_ARENA_MARK PL_ARENA_MARK |
200 | #define PR_ARENA_MARK PL_ARENA_MARK |
| 201 | #define PR_CLEAR_UNUSED PL_CLEAR_UNUSED |
201 | #define PR_CLEAR_UNUSED PL_CLEAR_UNUSED |
| 202 | #define PR_CLEAR_ARENA PL_CLEAR_ARENA |
202 | #define PR_CLEAR_ARENA PL_CLEAR_ARENA |
| 203 | #define PR_ARENA_RELEASE PL_ARENA_RELEASE |
203 | #define PR_ARENA_RELEASE PL_ARENA_RELEASE |
| 204 | #define PR_COUNT_ARENA PL_COUNT_ARENA |
204 | #define PR_COUNT_ARENA PL_COUNT_ARENA |
| 205 | #define PR_ARENA_DESTROY PL_ARENA_DESTROY |
205 | #define PR_ARENA_DESTROY PL_ARENA_DESTROY |
| 206 | #define PR_InitArenaPool PL_InitArenaPool |
206 | #define PR_InitArenaPool PL_InitArenaPool |
| 207 | #define PR_FreeArenaPool PL_FreeArenaPool |
207 | #define PR_FreeArenaPool PL_FreeArenaPool |
| 208 | #define PR_FinishArenaPool PL_FinishArenaPool |
208 | #define PR_FinishArenaPool PL_FinishArenaPool |
| 209 | #define PR_CompactArenaPool PL_CompactArenaPool |
209 | #define PR_CompactArenaPool PL_CompactArenaPool |
| 210 | #define PR_ArenaFinish PL_ArenaFinish |
210 | #define PR_ArenaFinish PL_ArenaFinish |
| 211 | #define PR_ArenaAllocate PL_ArenaAllocate |
211 | #define PR_ArenaAllocate PL_ArenaAllocate |
| 212 | #define PR_ArenaGrow PL_ArenaGrow |
212 | #define PR_ArenaGrow PL_ArenaGrow |
| 213 | #define PR_ArenaRelease PL_ArenaRelease |
213 | #define PR_ArenaRelease PL_ArenaRelease |
| 214 | #define PR_ArenaCountAllocation PL_ArenaCountAllocation |
214 | #define PR_ArenaCountAllocation PL_ArenaCountAllocation |
| 215 | #define PR_ArenaCountInplaceGrowth PL_ArenaCountInplaceGrowth |
215 | #define PR_ArenaCountInplaceGrowth PL_ArenaCountInplaceGrowth |
| 216 | #define PR_ArenaCountGrowth PL_ArenaCountGrowth |
216 | #define PR_ArenaCountGrowth PL_ArenaCountGrowth |
| 217 | #define PR_ArenaCountRelease PL_ArenaCountRelease |
217 | #define PR_ArenaCountRelease PL_ArenaCountRelease |
| 218 | #define PR_ArenaCountRetract PL_ArenaCountRetract |
218 | #define PR_ArenaCountRetract PL_ArenaCountRetract |
| 219 | |
219 | |
| 220 | /* Re: prhash.h->plhash.h */ |
220 | /* Re: prhash.h->plhash.h */ |
| 221 | #define PRHashEntry PLHashEntry |
221 | #define PRHashEntry PLHashEntry |
| 222 | #define PRHashTable PLHashTable |
222 | #define PRHashTable PLHashTable |
| 223 | #define PRHashNumber PLHashNumber |
223 | #define PRHashNumber PLHashNumber |
| 224 | #define PRHashFunction PLHashFunction |
224 | #define PRHashFunction PLHashFunction |
| 225 | #define PRHashComparator PLHashComparator |
225 | #define PRHashComparator PLHashComparator |
| 226 | #define PRHashEnumerator PLHashEnumerator |
226 | #define PRHashEnumerator PLHashEnumerator |
| 227 | #define PRHashAllocOps PLHashAllocOps |
227 | #define PRHashAllocOps PLHashAllocOps |
| 228 | #define PR_NewHashTable PL_NewHashTable |
228 | #define PR_NewHashTable PL_NewHashTable |
| 229 | #define PR_HashTableDestroy PL_HashTableDestroy |
229 | #define PR_HashTableDestroy PL_HashTableDestroy |
| 230 | #define PR_HashTableRawLookup PL_HashTableRawLookup |
230 | #define PR_HashTableRawLookup PL_HashTableRawLookup |
| 231 | #define PR_HashTableRawAdd PL_HashTableRawAdd |
231 | #define PR_HashTableRawAdd PL_HashTableRawAdd |
| 232 | #define PR_HashTableRawRemove PL_HashTableRawRemove |
232 | #define PR_HashTableRawRemove PL_HashTableRawRemove |
| 233 | #define PR_HashTableAdd PL_HashTableAdd |
233 | #define PR_HashTableAdd PL_HashTableAdd |
| 234 | #define PR_HashTableRemove PL_HashTableRemove |
234 | #define PR_HashTableRemove PL_HashTableRemove |
| 235 | #define PR_HashTableEnumerateEntries PL_HashTableEnumerateEntries |
235 | #define PR_HashTableEnumerateEntries PL_HashTableEnumerateEntries |
| 236 | #define PR_HashTableLookup PL_HashTableLookup |
236 | #define PR_HashTableLookup PL_HashTableLookup |
| 237 | #define PR_HashTableDump PL_HashTableDump |
237 | #define PR_HashTableDump PL_HashTableDump |
| 238 | #define PR_HashString PL_HashString |
238 | #define PR_HashString PL_HashString |
| 239 | #define PR_CompareStrings PL_CompareStrings |
239 | #define PR_CompareStrings PL_CompareStrings |
| 240 | #define PR_CompareValues PL_CompareValues |
240 | #define PR_CompareValues PL_CompareValues |
| 241 | |
241 | |
| 242 | #if defined(XP_MAC) |
242 | #if defined(XP_MAC) |
| 243 | #ifndef TRUE /* Mac standard is lower case true */ |
243 | #ifndef TRUE /* Mac standard is lower case true */ |
| 244 | #define TRUE 1 |
244 | #define TRUE 1 |
| 245 | #endif |
245 | #endif |
| 246 | #ifndef FALSE /* Mac standard is lower case false */ |
246 | #ifndef FALSE /* Mac standard is lower case false */ |
| 247 | #define FALSE 0 |
247 | #define FALSE 0 |
| 248 | #endif |
248 | #endif |
| 249 | #endif |
249 | #endif |
| 250 | |
250 | |
| 251 | #endif /* !defined(PROTYPES_H) */ |
251 | #endif /* !defined(PROTYPES_H) */ |
| 252 | |
252 | |