1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2/* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5
6/*
7 * This header typedefs the old 'native' types to the new PR<type>s.
8 * These definitions are scheduled to be eliminated at the earliest
9 * possible time. The NSPR API is implemented and documented using
10 * the new definitions.
11 */
12
13#if !defined(PROTYPES_H)
14#define PROTYPES_H
15
16typedef PRUintn uintn;
17#ifndef _XP_Core_
18typedef PRIntn intn;
19#endif
20
21/*
22 * It is trickier to define uint, int8, uint8, int16, uint16,
23 * int32, uint32, int64, and uint64 because some of these int
24 * types are defined by standard header files on some platforms.
25 * Our strategy here is to include all such standard headers
26 * first, and then define these int types only if they are not
27 * defined by those standard headers.
28 */
29
30/*
31 * SVR4 typedef of uint is commonly found on UNIX machines.
32 *
33 * On AIX 4.3, sys/inttypes.h (which is included by sys/types.h)
34 * defines the types int8, int16, int32, and int64.
35 *
36 * On OS/2, sys/types.h defines uint.
37 */
38#if defined(XP_UNIX) || defined(XP_OS2)
39#include <sys/types.h>
40#endif
41
42/* model.h on HP-UX defines int8, int16, and int32. */
43#ifdef HPUX
44#include <model.h>
45#endif
46
47/*
48 * uint
49 */
50
51#if !defined(XP_OS2) && !defined(XP_UNIX) || defined(NTO)
52typedef PRUintn uint;
53#endif
54
55/*
56 * uint64
57 */
58
59typedef PRUint64 uint64;
60
61/*
62 * uint32
63 */
64
65#if !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO)
66typedef PRUint32 uint32;
67#else
68typedef unsigned long uint32;
69#endif
70
71/*
72 * uint16
73 */
74
75typedef PRUint16 uint16;
76
77/*
78 * uint8
79 */
80
81typedef PRUint8 uint8;
82
83/*
84 * int64
85 */
86
87#if !defined(_PR_AIX_HAVE_BSD_INT_TYPES)
88typedef PRInt64 int64;
89#endif
90
91/*
92 * int32
93 */
94
95#if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \
96 && !defined(HPUX)
97#if !defined(_WIN32) && !defined(XP_OS2) && !defined(NTO)
98typedef PRInt32 int32;
99#else
100typedef long int32;
101#endif
102#endif
103
104/*
105 * int16
106 */
107
108#if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \
109 && !defined(HPUX)
110typedef PRInt16 int16;
111#endif
112
113/*
114 * int8
115 */
116
117#if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \
118 && !defined(HPUX)
119typedef PRInt8 int8;
120#endif
121
122typedef PRFloat64 float64;
123typedef PRUptrdiff uptrdiff_t;
124typedef PRUword uprword_t;
125typedef PRWord prword_t;
126
127
128/* Re: prbit.h */
129#define TEST_BIT PR_TEST_BIT
130#define SET_BIT PR_SET_BIT
131#define CLEAR_BIT PR_CLEAR_BIT
132
133/* Re: prarena.h->plarena.h */
134#define PRArena PLArena
135#define PRArenaPool PLArenaPool
136#define PRArenaStats PLArenaStats
137#define PR_ARENA_ALIGN PL_ARENA_ALIGN
138#define PR_INIT_ARENA_POOL PL_INIT_ARENA_POOL
139#define PR_ARENA_ALLOCATE PL_ARENA_ALLOCATE
140#define PR_ARENA_GROW PL_ARENA_GROW
141#define PR_ARENA_MARK PL_ARENA_MARK
142#define PR_CLEAR_UNUSED PL_CLEAR_UNUSED
143#define PR_CLEAR_ARENA PL_CLEAR_ARENA
144#define PR_ARENA_RELEASE PL_ARENA_RELEASE
145#define PR_COUNT_ARENA PL_COUNT_ARENA
146#define PR_ARENA_DESTROY PL_ARENA_DESTROY
147#define PR_InitArenaPool PL_InitArenaPool
148#define PR_FreeArenaPool PL_FreeArenaPool
149#define PR_FinishArenaPool PL_FinishArenaPool
150#define PR_CompactArenaPool PL_CompactArenaPool
151#define PR_ArenaFinish PL_ArenaFinish
152#define PR_ArenaAllocate PL_ArenaAllocate
153#define PR_ArenaGrow PL_ArenaGrow
154#define PR_ArenaRelease PL_ArenaRelease
155#define PR_ArenaCountAllocation PL_ArenaCountAllocation
156#define PR_ArenaCountInplaceGrowth PL_ArenaCountInplaceGrowth
157#define PR_ArenaCountGrowth PL_ArenaCountGrowth
158#define PR_ArenaCountRelease PL_ArenaCountRelease
159#define PR_ArenaCountRetract PL_ArenaCountRetract
160
161/* Re: prhash.h->plhash.h */
162#define PRHashEntry PLHashEntry
163#define PRHashTable PLHashTable
164#define PRHashNumber PLHashNumber
165#define PRHashFunction PLHashFunction
166#define PRHashComparator PLHashComparator
167#define PRHashEnumerator PLHashEnumerator
168#define PRHashAllocOps PLHashAllocOps
169#define PR_NewHashTable PL_NewHashTable
170#define PR_HashTableDestroy PL_HashTableDestroy
171#define PR_HashTableRawLookup PL_HashTableRawLookup
172#define PR_HashTableRawAdd PL_HashTableRawAdd
173#define PR_HashTableRawRemove PL_HashTableRawRemove
174#define PR_HashTableAdd PL_HashTableAdd
175#define PR_HashTableRemove PL_HashTableRemove
176#define PR_HashTableEnumerateEntries PL_HashTableEnumerateEntries
177#define PR_HashTableLookup PL_HashTableLookup
178#define PR_HashTableDump PL_HashTableDump
179#define PR_HashString PL_HashString
180#define PR_CompareStrings PL_CompareStrings
181#define PR_CompareValues PL_CompareValues
182
183#endif /* !defined(PROTYPES_H) */
184

source code of include/nspr/obsolete/protypes.h