home *** CD-ROM | disk | FTP | other *** search
- /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
- *
- * The contents of this file are subject to the Netscape Public License
- * Version 1.0 (the "NPL"); you may not use this file except in
- * compliance with the NPL. You may obtain a copy of the NPL at
- * http://www.mozilla.org/NPL/
- *
- * Software distributed under the NPL is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL
- * for the specific language governing rights and limitations under the
- * NPL.
- *
- * The Initial Developer of this code under the NPL is Netscape
- * Communications Corporation. Portions created by Netscape are
- * Copyright (C) 1998 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___ */
-