williamr@2: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ williamr@2: /* williamr@2: * The contents of this file are subject to the Mozilla Public williamr@2: * License Version 1.1 (the "License"); you may not use this file williamr@2: * except in compliance with the License. You may obtain a copy of williamr@2: * the License at http://www.mozilla.org/MPL/ williamr@2: * williamr@2: * Software distributed under the License is distributed on an "AS williamr@2: * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or williamr@2: * implied. See the License for the specific language governing williamr@2: * rights and limitations under the License. williamr@2: * williamr@2: * The Original Code is the Netscape Portable Runtime (NSPR). williamr@2: * williamr@2: * The Initial Developer of the Original Code is Netscape williamr@2: * Communications Corporation. Portions created by Netscape are williamr@2: * Copyright (C) 1998-2000 Netscape Communications Corporation. All williamr@2: * Rights Reserved. williamr@2: * williamr@2: * Contributor(s): williamr@2: * Portions Copyright (c) 2004-2006, Nokia Corporation williamr@2: * williamr@2: * williamr@2: * Alternatively, the contents of this file may be used under the williamr@2: * terms of the GNU General Public License Version 2 or later (the williamr@2: * "GPL"), in which case the provisions of the GPL are applicable williamr@2: * instead of those above. If you wish to allow use of your williamr@2: * version of this file only under the terms of the GPL and not to williamr@2: * allow others to use your version of this file under the MPL, williamr@2: * indicate your decision by deleting the provisions above and williamr@2: * replace them with the notice and other provisions required by williamr@2: * the GPL. If you do not delete the provisions above, a recipient williamr@2: * may use your version of this file under either the MPL or the williamr@2: * GPL. williamr@2: */ williamr@2: williamr@2: /* NOTES: williamr@2: * Nokia modified this file, by changing certain variables for the purpose of williamr@2: * porting the file to the Symbian platform on May 1st, 2004. williamr@2: */ williamr@2: williamr@2: williamr@2: #ifndef nspr_cpucfg___ williamr@2: #define nspr_cpucfg___ williamr@2: williamr@2: #ifndef XP_PC williamr@2: #define XP_PC williamr@2: #endif williamr@2: williamr@2: #ifndef WIN32 williamr@2: #define WIN32 williamr@2: #endif williamr@2: williamr@2: #ifndef WIN95 williamr@2: #define WIN95 williamr@2: #endif williamr@2: williamr@2: #ifdef __SYMBIAN32__ williamr@2: # undef XP_WIN williamr@2: # undef XP_MAC williamr@2: # undef XP_MACOSX williamr@2: # undef XP_OS2 williamr@2: # undef XP_UNIX williamr@2: # undef MOZ_X11 williamr@2: # undef _WINDOWS williamr@2: # undef __INTEL__ williamr@2: #endif williamr@2: williamr@2: #define PR_AF_INET6 23 /* same as AF_INET6 */ williamr@2: williamr@2: #if defined(_M_IX86) || defined(_X86_) || defined(__SYMBIAN32__) williamr@2: williamr@2: #define IS_LITTLE_ENDIAN 1 williamr@2: #undef IS_BIG_ENDIAN williamr@2: williamr@2: #define PR_BYTES_PER_BYTE 1 williamr@2: #define PR_BYTES_PER_SHORT 2 williamr@2: #define PR_BYTES_PER_INT 4 williamr@2: #define PR_BYTES_PER_INT64 8 williamr@2: #define PR_BYTES_PER_LONG 4 williamr@2: #define PR_BYTES_PER_FLOAT 4 williamr@2: #define PR_BYTES_PER_WORD 4 williamr@2: #define PR_BYTES_PER_DWORD 8 williamr@2: #define PR_BYTES_PER_DOUBLE 8 williamr@2: williamr@2: #define PR_BITS_PER_BYTE 8 williamr@2: #define PR_BITS_PER_SHORT 16 williamr@2: #define PR_BITS_PER_INT 32 williamr@2: #define PR_BITS_PER_INT64 64 williamr@2: #define PR_BITS_PER_LONG 32 williamr@2: #define PR_BITS_PER_FLOAT 32 williamr@2: #define PR_BITS_PER_WORD 32 williamr@2: #define PR_BITS_PER_DWORD 64 williamr@2: #define PR_BITS_PER_DOUBLE 64 williamr@2: williamr@2: #define PR_BITS_PER_BYTE_LOG2 3 williamr@2: #define PR_BITS_PER_SHORT_LOG2 4 williamr@2: #define PR_BITS_PER_INT_LOG2 5 williamr@2: #define PR_BITS_PER_INT64_LOG2 6 williamr@2: #define PR_BITS_PER_LONG_LOG2 5 williamr@2: #define PR_BITS_PER_FLOAT_LOG2 5 williamr@2: #define PR_BITS_PER_WORD_LOG2 5 williamr@2: #define PR_BITS_PER_DWORD_LOG2 6 williamr@2: #define PR_BITS_PER_DOUBLE_LOG2 6 williamr@2: williamr@2: #define PR_ALIGN_OF_SHORT 2 williamr@2: #define PR_ALIGN_OF_INT 4 williamr@2: #define PR_ALIGN_OF_LONG 4 williamr@2: #define PR_ALIGN_OF_INT64 8 williamr@2: #define PR_ALIGN_OF_FLOAT 4 williamr@2: #define PR_ALIGN_OF_WORD 4 williamr@2: #define PR_ALIGN_OF_DWORD 8 williamr@2: #define PR_ALIGN_OF_DOUBLE 4 williamr@2: #define PR_ALIGN_OF_POINTER 4 williamr@2: williamr@2: #define PR_BYTES_PER_WORD_LOG2 2 williamr@2: #define PR_BYTES_PER_DWORD_LOG2 2 williamr@2: williamr@2: #elif defined(_ALPHA_) williamr@2: williamr@2: #define IS_LITTLE_ENDIAN 1 williamr@2: #undef IS_BIG_ENDIAN williamr@2: williamr@2: #define PR_BYTES_PER_BYTE 1 williamr@2: #define PR_BYTES_PER_SHORT 2 williamr@2: #define PR_BYTES_PER_INT 4 williamr@2: #define PR_BYTES_PER_INT64 8 williamr@2: #define PR_BYTES_PER_LONG 4 williamr@2: #define PR_BYTES_PER_FLOAT 4 williamr@2: #define PR_BYTES_PER_DOUBLE 8 williamr@2: #define PR_BYTES_PER_WORD 4 williamr@2: #define PR_BYTES_PER_DWORD 8 williamr@2: williamr@2: #define PR_BITS_PER_BYTE 8 williamr@2: #define PR_BITS_PER_SHORT 16 williamr@2: #define PR_BITS_PER_INT 32 williamr@2: #define PR_BITS_PER_INT64 64 williamr@2: #define PR_BITS_PER_LONG 32 williamr@2: #define PR_BITS_PER_FLOAT 32 williamr@2: #define PR_BITS_PER_DOUBLE 64 williamr@2: #define PR_BITS_PER_WORD 32 williamr@2: williamr@2: #define PR_BITS_PER_BYTE_LOG2 3 williamr@2: #define PR_BITS_PER_SHORT_LOG2 4 williamr@2: #define PR_BITS_PER_INT_LOG2 5 williamr@2: #define PR_BITS_PER_INT64_LOG2 6 williamr@2: #define PR_BITS_PER_LONG_LOG2 5 williamr@2: #define PR_BITS_PER_FLOAT_LOG2 5 williamr@2: #define PR_BITS_PER_DOUBLE_LOG2 6 williamr@2: #define PR_BITS_PER_WORD_LOG2 5 williamr@2: williamr@2: #define PR_BYTES_PER_WORD_LOG2 2 williamr@2: #define PR_BYTES_PER_DWORD_LOG2 3 williamr@2: williamr@2: #define PR_ALIGN_OF_SHORT 2 williamr@2: #define PR_ALIGN_OF_INT 4 williamr@2: #define PR_ALIGN_OF_LONG 4 williamr@2: #define PR_ALIGN_OF_INT64 8 williamr@2: #define PR_ALIGN_OF_FLOAT 4 williamr@2: #define PR_ALIGN_OF_DOUBLE 8 williamr@2: #define PR_ALIGN_OF_POINTER 4 williamr@2: williamr@2: #else /* defined(_M_IX86) || defined(_X86_) */ williamr@2: williamr@2: #error unknown processor architecture williamr@2: williamr@2: #endif /* defined(_M_IX86) || defined(_X86_) */ williamr@2: williamr@2: #define HAVE_LONG_LONG williamr@2: williamr@2: #ifndef NO_NSPR_10_SUPPORT williamr@2: williamr@2: #define BYTES_PER_BYTE PR_BYTES_PER_BYTE williamr@2: #define BYTES_PER_SHORT PR_BYTES_PER_SHORT williamr@2: #define BYTES_PER_INT PR_BYTES_PER_INT williamr@2: #define BYTES_PER_INT64 PR_BYTES_PER_INT64 williamr@2: #define BYTES_PER_LONG PR_BYTES_PER_LONG williamr@2: #define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT williamr@2: #define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE williamr@2: #define BYTES_PER_WORD PR_BYTES_PER_WORD williamr@2: #define BYTES_PER_DWORD PR_BYTES_PER_DWORD williamr@2: williamr@2: #define BITS_PER_BYTE PR_BITS_PER_BYTE williamr@2: #define BITS_PER_SHORT PR_BITS_PER_SHORT williamr@2: #define BITS_PER_INT PR_BITS_PER_INT williamr@2: #define BITS_PER_INT64 PR_BITS_PER_INT64 williamr@2: #define BITS_PER_LONG PR_BITS_PER_LONG williamr@2: #define BITS_PER_FLOAT PR_BITS_PER_FLOAT williamr@2: #define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE williamr@2: #define BITS_PER_WORD PR_BITS_PER_WORD williamr@2: williamr@2: #define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2 williamr@2: #define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2 williamr@2: #define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2 williamr@2: #define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2 williamr@2: #define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2 williamr@2: #define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2 williamr@2: #define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2 williamr@2: #define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2 williamr@2: williamr@2: #define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT williamr@2: #define ALIGN_OF_INT PR_ALIGN_OF_INT williamr@2: #define ALIGN_OF_LONG PR_ALIGN_OF_LONG williamr@2: #define ALIGN_OF_INT64 PR_ALIGN_OF_INT64 williamr@2: #define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT williamr@2: #define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE williamr@2: #define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER williamr@2: #define ALIGN_OF_WORD PR_ALIGN_OF_WORD williamr@2: williamr@2: #define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2 williamr@2: #define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2 williamr@2: #define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2 williamr@2: williamr@2: #endif /* NO_NSPR_10_SUPPORT */ williamr@2: williamr@2: #endif /* nspr_cpucfg___ */