tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

protypes.h (4473B)


      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 
     16 typedef PRUintn uintn;
     17 #ifndef _XP_Core_
     18 typedef 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)
     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_UNIX) || defined(NTO)
     52 typedef PRUintn uint;
     53 #endif
     54 
     55 /*
     56 * uint64
     57 */
     58 
     59 typedef PRUint64 uint64;
     60 
     61 /*
     62 * uint32
     63 */
     64 
     65 #if !defined(_WIN32) && !defined(NTO)
     66 typedef PRUint32 uint32;
     67 #else
     68 typedef unsigned long uint32;
     69 #endif
     70 
     71 /*
     72 * uint16
     73 */
     74 
     75 typedef PRUint16 uint16;
     76 
     77 /*
     78 * uint8
     79 */
     80 
     81 typedef PRUint8 uint8;
     82 
     83 /*
     84 * int64
     85 */
     86 
     87 #if !defined(_PR_AIX_HAVE_BSD_INT_TYPES)
     88 typedef 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(NTO)
     98 typedef PRInt32 int32;
     99 #else
    100 typedef long int32;
    101 #endif
    102 #endif
    103 
    104 /*
    105 * int16
    106 */
    107 
    108 #if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \
    109    && !defined(HPUX)
    110 typedef PRInt16 int16;
    111 #endif
    112 
    113 /*
    114 * int8
    115 */
    116 
    117 #if !defined(_PR_AIX_HAVE_BSD_INT_TYPES) \
    118    && !defined(HPUX)
    119 typedef PRInt8 int8;
    120 #endif
    121 
    122 typedef PRFloat64 float64;
    123 typedef PRUptrdiff uptrdiff_t;
    124 typedef PRUword uprword_t;
    125 typedef 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) */