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