/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef nspr_cpucfg___
#define nspr_cpucfg___

#ifndef XP_PC
#define XP_PC
#endif

#ifndef XP_OS2
#define XP_OS2
#endif

#ifndef OS2
#define OS2
#endif

#define IS_LITTLE_ENDIAN 1
#undef  IS_BIG_ENDIAN
#ifdef NO_LONG_LONG
#undef HAVE_LONG_LONG
#else
#ifndef HAVE_LONG_LONG
#define HAVE_LONG_LONG 1
#endif
#endif

#define PR_AF_INET6 24  /* same as AF_INET6 */

#define PR_BYTES_PER_BYTE   1
#define PR_BYTES_PER_SHORT  2
#define PR_BYTES_PER_INT    4
#define PR_BYTES_PER_INT64  8
#define PR_BYTES_PER_LONG   4
#define PR_BYTES_PER_FLOAT  4
#define PR_BYTES_PER_DOUBLE 8
#define PR_BYTES_PER_WORD       4
#define PR_BYTES_PER_DWORD	8

#define PR_BITS_PER_BYTE    8
#define PR_BITS_PER_SHORT   16
#define PR_BITS_PER_INT     32
#define PR_BITS_PER_INT64   64
#define PR_BITS_PER_LONG    32
#define PR_BITS_PER_FLOAT   32
#define PR_BITS_PER_WORD	32
#define PR_BITS_PER_DWORD	64
#define PR_BITS_PER_DOUBLE  64

#define PR_BITS_PER_BYTE_LOG2   3
#define PR_BITS_PER_SHORT_LOG2  4
#define PR_BITS_PER_INT_LOG2    5
#define PR_BITS_PER_INT64_LOG2  6
#define PR_BITS_PER_LONG_LOG2   5
#define PR_BITS_PER_FLOAT_LOG2  5
#define PR_BITS_PER_WORD_LOG2	5
#define PR_BITS_PER_DWORD_LOG2	6
#define PR_BITS_PER_DOUBLE_LOG2 6

#define PR_ALIGN_OF_SHORT   2
#define PR_ALIGN_OF_INT     4
#define PR_ALIGN_OF_LONG    4
#define PR_ALIGN_OF_INT64   4
#define PR_ALIGN_OF_FLOAT   4
#define PR_ALIGN_OF_DOUBLE  4
#define PR_ALIGN_OF_WORD	4
#define PR_ALIGN_OF_DWORD	8
#define PR_ALIGN_OF_POINTER 4

#define PR_BYTES_PER_WORD_LOG2	2
#define PR_BYTES_PER_DWORD_LOG2	2

#ifndef NO_NSPR_10_SUPPORT

#define BYTES_PER_BYTE      PR_BYTES_PER_BYTE
#define BYTES_PER_SHORT     PR_BYTES_PER_SHORT
#define BYTES_PER_INT       PR_BYTES_PER_INT
#define BYTES_PER_INT64     PR_BYTES_PER_INT64
#define BYTES_PER_LONG      PR_BYTES_PER_LONG
#define BYTES_PER_FLOAT     PR_BYTES_PER_FLOAT
#define BYTES_PER_DOUBLE    PR_BYTES_PER_DOUBLE
#define BYTES_PER_WORD      PR_BYTES_PER_WORD
#define BYTES_PER_DWORD     PR_BYTES_PER_DWORD

#define BITS_PER_BYTE       PR_BITS_PER_BYTE
#define BITS_PER_SHORT      PR_BITS_PER_SHORT
#define BITS_PER_INT        PR_BITS_PER_INT
#define BITS_PER_INT64      PR_BITS_PER_INT64
#define BITS_PER_LONG       PR_BITS_PER_LONG
#define BITS_PER_FLOAT      PR_BITS_PER_FLOAT
#define BITS_PER_DOUBLE     PR_BITS_PER_DOUBLE
#define BITS_PER_WORD       PR_BITS_PER_WORD

#define BITS_PER_BYTE_LOG2  PR_BITS_PER_BYTE_LOG2
#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
#define BITS_PER_INT_LOG2   PR_BITS_PER_INT_LOG2
#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
#define BITS_PER_LONG_LOG2  PR_BITS_PER_LONG_LOG2
#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
#define BITS_PER_DOUBLE_LOG2    PR_BITS_PER_DOUBLE_LOG2
#define BITS_PER_WORD_LOG2  PR_BITS_PER_WORD_LOG2

#define ALIGN_OF_SHORT      PR_ALIGN_OF_SHORT
#define ALIGN_OF_INT        PR_ALIGN_OF_INT
#define ALIGN_OF_LONG       PR_ALIGN_OF_LONG
#define ALIGN_OF_INT64      PR_ALIGN_OF_INT64
#define ALIGN_OF_FLOAT      PR_ALIGN_OF_FLOAT
#define ALIGN_OF_DOUBLE     PR_ALIGN_OF_DOUBLE
#define ALIGN_OF_POINTER    PR_ALIGN_OF_POINTER
#define ALIGN_OF_WORD       PR_ALIGN_OF_WORD

#define BYTES_PER_WORD_LOG2		PR_BYTES_PER_WORD_LOG2
#define BYTES_PER_DWORD_LOG2    PR_BYTES_PER_DWORD_LOG2
#define WORDS_PER_DWORD_LOG2    PR_WORDS_PER_DWORD_LOG2

#endif /* NO_NSPR_10_SUPPORT */

#endif /* nspr_cpucfg___ */
