60 lines
1.5 KiB
C
60 lines
1.5 KiB
C
/* -*- Mode: C; tab-width: 8 -*-
|
|
* Copyright © 1996 Netscape Communications Corporation, All Rights Reserved.
|
|
*/
|
|
#ifndef jscompat_h___
|
|
#define jscompat_h___
|
|
/*
|
|
* Compatibility glue for various NSPR versions. We must always define int8,
|
|
* int16, prword, and so on to minimize differences with js/ref, no matter what
|
|
* the NSPR typedef names may be.
|
|
*/
|
|
#include "prtypes.h"
|
|
#include "prlong.h"
|
|
#ifdef NSPR20
|
|
typedef PRIntn intN;
|
|
typedef PRUintn uintN;
|
|
/* Following are already available in compatibility mode of NSPR 2.0 */
|
|
#if 0
|
|
typedef PRInt64 int64;
|
|
typedef PRInt32 int32;
|
|
typedef PRInt16 int16;
|
|
typedef PRInt8 int8;
|
|
typedef uint64 uint64;
|
|
typedef uint32 uint32;
|
|
typedef uint16 uint16;
|
|
typedef uint8 uint8;
|
|
#endif
|
|
typedef PRUword pruword;
|
|
typedef PRWord prword;
|
|
#else /* NSPR 1.0 */
|
|
typedef int intN;
|
|
typedef uint uintN;
|
|
typedef uprword_t pruword;
|
|
typedef prword_t prword;
|
|
typedef int PRIntn;
|
|
typedef unsigned int PRUintn;
|
|
typedef int64 PRInt64;
|
|
typedef int32 PRInt32;
|
|
typedef int16 PRInt16;
|
|
typedef int8 PRInt8;
|
|
typedef uint64 PRUint64;
|
|
typedef uint32 PRUint32;
|
|
typedef uint16 PRUint16;
|
|
typedef uint8 PRUint8;
|
|
typedef double PRFloat64;
|
|
typedef uprword_t PRUword;
|
|
typedef prword_t PRWord;
|
|
#define PR_EXTERN extern PR_PUBLIC_API
|
|
#define PR_IMPLEMENT PR_PUBLIC_API
|
|
#define PR_BEGIN_EXTERN_C NSPR_BEGIN_EXTERN_C
|
|
#define PR_END_EXTERN_C NSPR_END_EXTERN_C
|
|
#define PR_BEGIN_MACRO NSPR_BEGIN_MACRO
|
|
#define PR_END_MACRO NSPR_END_MACRO
|
|
#endif /* NSPR 1.0 */
|
|
#ifndef NSPR20
|
|
typedef double float64;
|
|
#endif
|
|
typedef float float32;
|
|
#define allocPriv allocPool
|
|
#endif /* jscompat_h___ */
|