Warning, file /multimedia/kmplayer/src/moz-sdk/prcpucfg.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
0002 /* ***** BEGIN LICENSE BLOCK *****
0003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
0004  *
0005  * The contents of this file are subject to the Mozilla Public License Version
0006  * 1.1 (the "License"); you may not use this file except in compliance with
0007  * the License. You may obtain a copy of the License at
0008  * http://www.mozilla.org/MPL/
0009  *
0010  * Software distributed under the License is distributed on an "AS IS" basis,
0011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
0012  * for the specific language governing rights and limitations under the
0013  * License.
0014  *
0015  * The Original Code is the Netscape Portable Runtime (NSPR).
0016  *
0017  * The Initial Developer of the Original Code is
0018  * Netscape Communications Corporation.
0019  * Portions created by the Initial Developer are Copyright (C) 1998-2000
0020  * the Initial Developer. All Rights Reserved.
0021  *
0022  * Contributor(s):
0023  *
0024  * Alternatively, the contents of this file may be used under the terms of
0025  * either the GNU General Public License Version 2 or later (the "GPL"), or
0026  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
0027  * in which case the provisions of the GPL or the LGPL are applicable instead
0028  * of those above. If you wish to allow use of your version of this file only
0029  * under the terms of either the GPL or the LGPL, and not to allow others to
0030  * use your version of this file under the terms of the MPL, indicate your
0031  * decision by deleting the provisions above and replace them with the notice
0032  * and other provisions required by the GPL or the LGPL. If you do not delete
0033  * the provisions above, a recipient may use your version of this file under
0034  * the terms of any one of the MPL, the GPL or the LGPL.
0035  *
0036  * ***** END LICENSE BLOCK ***** */
0037 
0038 /*
0039  * This file is used by not only Linux but also other glibc systems
0040  * such as GNU/Hurd and GNU/k*BSD.
0041  */
0042 
0043 #ifndef nspr_cpucfg___
0044 #define nspr_cpucfg___
0045 
0046 #ifndef XP_UNIX
0047 #define XP_UNIX
0048 #endif
0049 
0050 #if !defined(LINUX) && defined(__linux__)
0051 #define LINUX
0052 #endif
0053 
0054 #ifdef __FreeBSD_kernel__
0055 #define PR_AF_INET6 28  /* same as AF_INET6 */
0056 #elif defined(__GNU__)
0057 #define PR_AF_INET6 26  /* same as AF_INET6 */
0058 #else
0059 #define PR_AF_INET6 10  /* same as AF_INET6 */
0060 #endif
0061 
0062 #ifdef __powerpc64__
0063 
0064 #undef  IS_LITTLE_ENDIAN
0065 #define IS_BIG_ENDIAN    1
0066 #define IS_64
0067 
0068 #define PR_BYTES_PER_BYTE   1
0069 #define PR_BYTES_PER_SHORT  2
0070 #define PR_BYTES_PER_INT    4
0071 #define PR_BYTES_PER_INT64  8
0072 #define PR_BYTES_PER_LONG   8
0073 #define PR_BYTES_PER_FLOAT  4
0074 #define PR_BYTES_PER_DOUBLE 8
0075 #define PR_BYTES_PER_WORD   8
0076 #define PR_BYTES_PER_DWORD  8
0077 
0078 #define PR_BITS_PER_BYTE    8
0079 #define PR_BITS_PER_SHORT   16
0080 #define PR_BITS_PER_INT     32
0081 #define PR_BITS_PER_INT64   64
0082 #define PR_BITS_PER_LONG    64
0083 #define PR_BITS_PER_FLOAT   32
0084 #define PR_BITS_PER_DOUBLE  64
0085 #define PR_BITS_PER_WORD    64
0086 
0087 #define PR_BITS_PER_BYTE_LOG2   3
0088 #define PR_BITS_PER_SHORT_LOG2  4
0089 #define PR_BITS_PER_INT_LOG2    5
0090 #define PR_BITS_PER_INT64_LOG2  6
0091 #define PR_BITS_PER_LONG_LOG2   6
0092 #define PR_BITS_PER_FLOAT_LOG2  5
0093 #define PR_BITS_PER_DOUBLE_LOG2 6
0094 #define PR_BITS_PER_WORD_LOG2   6
0095 
0096 #define PR_ALIGN_OF_SHORT   2
0097 #define PR_ALIGN_OF_INT     4
0098 #define PR_ALIGN_OF_LONG    8
0099 #define PR_ALIGN_OF_INT64   8
0100 #define PR_ALIGN_OF_FLOAT   4
0101 #define PR_ALIGN_OF_DOUBLE  8
0102 #define PR_ALIGN_OF_POINTER 8
0103 #define PR_ALIGN_OF_WORD    8
0104 
0105 #define PR_BYTES_PER_WORD_LOG2   3
0106 #define PR_BYTES_PER_DWORD_LOG2  3
0107 
0108 #elif defined(__powerpc__)
0109 
0110 #undef  IS_LITTLE_ENDIAN
0111 #define IS_BIG_ENDIAN    1
0112 
0113 #define PR_BYTES_PER_BYTE   1
0114 #define PR_BYTES_PER_SHORT  2
0115 #define PR_BYTES_PER_INT    4
0116 #define PR_BYTES_PER_INT64  8
0117 #define PR_BYTES_PER_LONG   4
0118 #define PR_BYTES_PER_FLOAT  4
0119 #define PR_BYTES_PER_DOUBLE 8
0120 #define PR_BYTES_PER_WORD   4
0121 #define PR_BYTES_PER_DWORD  8
0122 
0123 #define PR_BITS_PER_BYTE    8
0124 #define PR_BITS_PER_SHORT   16
0125 #define PR_BITS_PER_INT     32
0126 #define PR_BITS_PER_INT64   64
0127 #define PR_BITS_PER_LONG    32
0128 #define PR_BITS_PER_FLOAT   32
0129 #define PR_BITS_PER_DOUBLE  64
0130 #define PR_BITS_PER_WORD    32
0131 
0132 #define PR_BITS_PER_BYTE_LOG2   3
0133 #define PR_BITS_PER_SHORT_LOG2  4
0134 #define PR_BITS_PER_INT_LOG2    5
0135 #define PR_BITS_PER_INT64_LOG2  6
0136 #define PR_BITS_PER_LONG_LOG2   5
0137 #define PR_BITS_PER_FLOAT_LOG2  5
0138 #define PR_BITS_PER_DOUBLE_LOG2 6
0139 #define PR_BITS_PER_WORD_LOG2   5
0140 
0141 #define PR_ALIGN_OF_SHORT   2
0142 #define PR_ALIGN_OF_INT     4
0143 #define PR_ALIGN_OF_LONG    4
0144 #define PR_ALIGN_OF_INT64   8
0145 #define PR_ALIGN_OF_FLOAT   4
0146 #define PR_ALIGN_OF_DOUBLE  8
0147 #define PR_ALIGN_OF_POINTER 4
0148 #define PR_ALIGN_OF_WORD    4
0149 
0150 #define PR_BYTES_PER_WORD_LOG2   2
0151 #define PR_BYTES_PER_DWORD_LOG2  3
0152 
0153 #elif defined(__alpha)
0154 
0155 #define IS_LITTLE_ENDIAN 1
0156 #undef  IS_BIG_ENDIAN
0157 #define IS_64
0158 
0159 #define PR_BYTES_PER_BYTE   1
0160 #define PR_BYTES_PER_SHORT  2
0161 #define PR_BYTES_PER_INT    4
0162 #define PR_BYTES_PER_INT64  8
0163 #define PR_BYTES_PER_LONG   8
0164 #define PR_BYTES_PER_FLOAT  4
0165 #define PR_BYTES_PER_DOUBLE 8
0166 #define PR_BYTES_PER_WORD   8
0167 #define PR_BYTES_PER_DWORD  8
0168 
0169 #define PR_BITS_PER_BYTE    8
0170 #define PR_BITS_PER_SHORT   16
0171 #define PR_BITS_PER_INT     32
0172 #define PR_BITS_PER_INT64   64
0173 #define PR_BITS_PER_LONG    64
0174 #define PR_BITS_PER_FLOAT   32
0175 #define PR_BITS_PER_DOUBLE  64
0176 #define PR_BITS_PER_WORD    64
0177 
0178 #define PR_BITS_PER_BYTE_LOG2   3
0179 #define PR_BITS_PER_SHORT_LOG2  4
0180 #define PR_BITS_PER_INT_LOG2    5
0181 #define PR_BITS_PER_INT64_LOG2  6
0182 #define PR_BITS_PER_LONG_LOG2   6
0183 #define PR_BITS_PER_FLOAT_LOG2  5
0184 #define PR_BITS_PER_DOUBLE_LOG2 6
0185 #define PR_BITS_PER_WORD_LOG2   6
0186 
0187 #define PR_ALIGN_OF_SHORT   2
0188 #define PR_ALIGN_OF_INT     4
0189 #define PR_ALIGN_OF_LONG    8
0190 #define PR_ALIGN_OF_INT64   8
0191 #define PR_ALIGN_OF_FLOAT   4
0192 #define PR_ALIGN_OF_DOUBLE  8
0193 #define PR_ALIGN_OF_POINTER 8
0194 #define PR_ALIGN_OF_WORD    8
0195 
0196 #define PR_BYTES_PER_WORD_LOG2  3
0197 #define PR_BYTES_PER_DWORD_LOG2 3
0198 
0199 #elif defined(__ia64__)
0200 
0201 #define IS_LITTLE_ENDIAN 1
0202 #undef  IS_BIG_ENDIAN
0203 #define IS_64
0204 
0205 #define PR_BYTES_PER_BYTE   1
0206 #define PR_BYTES_PER_SHORT  2
0207 #define PR_BYTES_PER_INT    4
0208 #define PR_BYTES_PER_INT64  8
0209 #define PR_BYTES_PER_LONG   8
0210 #define PR_BYTES_PER_FLOAT  4
0211 #define PR_BYTES_PER_DOUBLE 8
0212 #define PR_BYTES_PER_WORD   8
0213 #define PR_BYTES_PER_DWORD  8
0214 
0215 #define PR_BITS_PER_BYTE    8
0216 #define PR_BITS_PER_SHORT   16
0217 #define PR_BITS_PER_INT     32
0218 #define PR_BITS_PER_INT64   64
0219 #define PR_BITS_PER_LONG    64
0220 #define PR_BITS_PER_FLOAT   32
0221 #define PR_BITS_PER_DOUBLE  64
0222 #define PR_BITS_PER_WORD    64
0223 
0224 #define PR_BITS_PER_BYTE_LOG2   3
0225 #define PR_BITS_PER_SHORT_LOG2  4
0226 #define PR_BITS_PER_INT_LOG2    5
0227 #define PR_BITS_PER_INT64_LOG2  6
0228 #define PR_BITS_PER_LONG_LOG2   6
0229 #define PR_BITS_PER_FLOAT_LOG2  5
0230 #define PR_BITS_PER_DOUBLE_LOG2 6
0231 #define PR_BITS_PER_WORD_LOG2   6
0232 
0233 #define PR_ALIGN_OF_SHORT   2
0234 #define PR_ALIGN_OF_INT     4
0235 #define PR_ALIGN_OF_LONG    8
0236 #define PR_ALIGN_OF_INT64   8
0237 #define PR_ALIGN_OF_FLOAT   4
0238 #define PR_ALIGN_OF_DOUBLE  8
0239 #define PR_ALIGN_OF_POINTER 8
0240 #define PR_ALIGN_OF_WORD    8
0241 
0242 #define PR_BYTES_PER_WORD_LOG2  3
0243 #define PR_BYTES_PER_DWORD_LOG2 3
0244 
0245 #elif defined(__x86_64__)
0246 
0247 #define IS_LITTLE_ENDIAN 1
0248 #undef  IS_BIG_ENDIAN
0249 #define IS_64
0250 
0251 #define PR_BYTES_PER_BYTE   1
0252 #define PR_BYTES_PER_SHORT  2
0253 #define PR_BYTES_PER_INT    4
0254 #define PR_BYTES_PER_INT64  8
0255 #define PR_BYTES_PER_LONG   8
0256 #define PR_BYTES_PER_FLOAT  4
0257 #define PR_BYTES_PER_DOUBLE 8
0258 #define PR_BYTES_PER_WORD   8
0259 #define PR_BYTES_PER_DWORD  8
0260 
0261 #define PR_BITS_PER_BYTE    8
0262 #define PR_BITS_PER_SHORT   16
0263 #define PR_BITS_PER_INT     32
0264 #define PR_BITS_PER_INT64   64
0265 #define PR_BITS_PER_LONG    64
0266 #define PR_BITS_PER_FLOAT   32
0267 #define PR_BITS_PER_DOUBLE  64
0268 #define PR_BITS_PER_WORD    64
0269 
0270 #define PR_BITS_PER_BYTE_LOG2   3
0271 #define PR_BITS_PER_SHORT_LOG2  4
0272 #define PR_BITS_PER_INT_LOG2    5
0273 #define PR_BITS_PER_INT64_LOG2  6
0274 #define PR_BITS_PER_LONG_LOG2   6
0275 #define PR_BITS_PER_FLOAT_LOG2  5
0276 #define PR_BITS_PER_DOUBLE_LOG2 6
0277 #define PR_BITS_PER_WORD_LOG2   6
0278 
0279 #define PR_ALIGN_OF_SHORT   2
0280 #define PR_ALIGN_OF_INT     4
0281 #define PR_ALIGN_OF_LONG    8
0282 #define PR_ALIGN_OF_INT64   8
0283 #define PR_ALIGN_OF_FLOAT   4
0284 #define PR_ALIGN_OF_DOUBLE  8
0285 #define PR_ALIGN_OF_POINTER 8
0286 #define PR_ALIGN_OF_WORD    8
0287 
0288 #define PR_BYTES_PER_WORD_LOG2  3
0289 #define PR_BYTES_PER_DWORD_LOG2 3
0290 
0291 #elif defined(__mc68000__)
0292 
0293 #undef  IS_LITTLE_ENDIAN
0294 #define IS_BIG_ENDIAN 1
0295 
0296 #define PR_BYTES_PER_BYTE   1
0297 #define PR_BYTES_PER_SHORT  2
0298 #define PR_BYTES_PER_INT    4
0299 #define PR_BYTES_PER_INT64  8
0300 #define PR_BYTES_PER_LONG   4
0301 #define PR_BYTES_PER_FLOAT  4
0302 #define PR_BYTES_PER_DOUBLE 8
0303 #define PR_BYTES_PER_WORD   4
0304 #define PR_BYTES_PER_DWORD  8
0305 
0306 #define PR_BITS_PER_BYTE    8
0307 #define PR_BITS_PER_SHORT   16
0308 #define PR_BITS_PER_INT     32
0309 #define PR_BITS_PER_INT64   64
0310 #define PR_BITS_PER_LONG    32
0311 #define PR_BITS_PER_FLOAT   32
0312 #define PR_BITS_PER_DOUBLE  64
0313 #define PR_BITS_PER_WORD    32
0314 
0315 #define PR_BITS_PER_BYTE_LOG2   3
0316 #define PR_BITS_PER_SHORT_LOG2  4
0317 #define PR_BITS_PER_INT_LOG2    5
0318 #define PR_BITS_PER_INT64_LOG2  6
0319 #define PR_BITS_PER_LONG_LOG2   5
0320 #define PR_BITS_PER_FLOAT_LOG2  5
0321 #define PR_BITS_PER_DOUBLE_LOG2 6
0322 #define PR_BITS_PER_WORD_LOG2   5
0323 
0324 #define PR_ALIGN_OF_SHORT   2
0325 #define PR_ALIGN_OF_INT     2
0326 #define PR_ALIGN_OF_LONG    2
0327 #define PR_ALIGN_OF_INT64   2
0328 #define PR_ALIGN_OF_FLOAT   2
0329 #define PR_ALIGN_OF_DOUBLE  2
0330 #define PR_ALIGN_OF_POINTER 2
0331 #define PR_ALIGN_OF_WORD    2
0332 
0333 #define PR_BYTES_PER_WORD_LOG2   2
0334 #define PR_BYTES_PER_DWORD_LOG2  3
0335 
0336 #elif defined(__sparc__) && defined (__arch64__)
0337 
0338 #undef  IS_LITTLE_ENDIAN
0339 #define IS_BIG_ENDIAN 1
0340 #define IS_64
0341 
0342 #define PR_BYTES_PER_BYTE   1
0343 #define PR_BYTES_PER_SHORT  2
0344 #define PR_BYTES_PER_INT    4
0345 #define PR_BYTES_PER_INT64  8
0346 #define PR_BYTES_PER_LONG   8
0347 #define PR_BYTES_PER_FLOAT  4
0348 #define PR_BYTES_PER_DOUBLE 8
0349 #define PR_BYTES_PER_WORD   8
0350 #define PR_BYTES_PER_DWORD  8
0351 
0352 #define PR_BITS_PER_BYTE    8
0353 #define PR_BITS_PER_SHORT   16
0354 #define PR_BITS_PER_INT     32
0355 #define PR_BITS_PER_INT64   64
0356 #define PR_BITS_PER_LONG    64
0357 #define PR_BITS_PER_FLOAT   32
0358 #define PR_BITS_PER_DOUBLE  64
0359 #define PR_BITS_PER_WORD    64
0360 
0361 #define PR_BITS_PER_BYTE_LOG2   3
0362 #define PR_BITS_PER_SHORT_LOG2  4
0363 #define PR_BITS_PER_INT_LOG2    5
0364 #define PR_BITS_PER_INT64_LOG2  6
0365 #define PR_BITS_PER_LONG_LOG2   6
0366 #define PR_BITS_PER_FLOAT_LOG2  5
0367 #define PR_BITS_PER_DOUBLE_LOG2 6
0368 #define PR_BITS_PER_WORD_LOG2   6
0369 
0370 #define PR_ALIGN_OF_SHORT   2
0371 #define PR_ALIGN_OF_INT     4
0372 #define PR_ALIGN_OF_INT64   8
0373 #define PR_ALIGN_OF_LONG    8
0374 #define PR_ALIGN_OF_FLOAT   4
0375 #define PR_ALIGN_OF_DOUBLE  8
0376 #define PR_ALIGN_OF_POINTER 8
0377 #define PR_ALIGN_OF_WORD    8
0378 
0379 #define PR_BYTES_PER_WORD_LOG2   3
0380 #define PR_BYTES_PER_DWORD_LOG2  3
0381 
0382 #elif defined(__sparc__)
0383 
0384 #undef  IS_LITTLE_ENDIAN
0385 #define IS_BIG_ENDIAN 1
0386 
0387 #define PR_BYTES_PER_BYTE   1
0388 #define PR_BYTES_PER_SHORT  2
0389 #define PR_BYTES_PER_INT    4
0390 #define PR_BYTES_PER_INT64  8
0391 #define PR_BYTES_PER_LONG   4
0392 #define PR_BYTES_PER_FLOAT  4
0393 #define PR_BYTES_PER_DOUBLE 8
0394 #define PR_BYTES_PER_WORD   4
0395 #define PR_BYTES_PER_DWORD  8
0396 
0397 #define PR_BITS_PER_BYTE    8
0398 #define PR_BITS_PER_SHORT   16
0399 #define PR_BITS_PER_INT     32
0400 #define PR_BITS_PER_INT64   64
0401 #define PR_BITS_PER_LONG    32
0402 #define PR_BITS_PER_FLOAT   32
0403 #define PR_BITS_PER_DOUBLE  64
0404 #define PR_BITS_PER_WORD    32
0405 
0406 #define PR_BITS_PER_BYTE_LOG2   3
0407 #define PR_BITS_PER_SHORT_LOG2  4
0408 #define PR_BITS_PER_INT_LOG2    5
0409 #define PR_BITS_PER_INT64_LOG2  6
0410 #define PR_BITS_PER_LONG_LOG2   5
0411 #define PR_BITS_PER_FLOAT_LOG2  5
0412 #define PR_BITS_PER_DOUBLE_LOG2 6
0413 #define PR_BITS_PER_WORD_LOG2   5
0414 
0415 #define PR_ALIGN_OF_SHORT   2
0416 #define PR_ALIGN_OF_INT     4
0417 #define PR_ALIGN_OF_LONG    4
0418 #define PR_ALIGN_OF_INT64   8
0419 #define PR_ALIGN_OF_FLOAT   4
0420 #define PR_ALIGN_OF_DOUBLE  8
0421 #define PR_ALIGN_OF_POINTER 4
0422 #define PR_ALIGN_OF_WORD    4
0423 
0424 #define PR_BYTES_PER_WORD_LOG2   2
0425 #define PR_BYTES_PER_DWORD_LOG2  3
0426 
0427 #elif defined(__i386__)
0428 
0429 #define IS_LITTLE_ENDIAN 1
0430 #undef  IS_BIG_ENDIAN
0431 
0432 #define PR_BYTES_PER_BYTE   1
0433 #define PR_BYTES_PER_SHORT  2
0434 #define PR_BYTES_PER_INT    4
0435 #define PR_BYTES_PER_INT64  8
0436 #define PR_BYTES_PER_LONG   4
0437 #define PR_BYTES_PER_FLOAT  4
0438 #define PR_BYTES_PER_DOUBLE 8
0439 #define PR_BYTES_PER_WORD   4
0440 #define PR_BYTES_PER_DWORD  8
0441 
0442 #define PR_BITS_PER_BYTE    8
0443 #define PR_BITS_PER_SHORT   16
0444 #define PR_BITS_PER_INT     32
0445 #define PR_BITS_PER_INT64   64
0446 #define PR_BITS_PER_LONG    32
0447 #define PR_BITS_PER_FLOAT   32
0448 #define PR_BITS_PER_DOUBLE  64
0449 #define PR_BITS_PER_WORD    32
0450 
0451 #define PR_BITS_PER_BYTE_LOG2   3
0452 #define PR_BITS_PER_SHORT_LOG2  4
0453 #define PR_BITS_PER_INT_LOG2    5
0454 #define PR_BITS_PER_INT64_LOG2  6
0455 #define PR_BITS_PER_LONG_LOG2   5
0456 #define PR_BITS_PER_FLOAT_LOG2  5
0457 #define PR_BITS_PER_DOUBLE_LOG2 6
0458 #define PR_BITS_PER_WORD_LOG2   5
0459 
0460 #define PR_ALIGN_OF_SHORT   2
0461 #define PR_ALIGN_OF_INT     4
0462 #define PR_ALIGN_OF_LONG    4
0463 #define PR_ALIGN_OF_INT64   4
0464 #define PR_ALIGN_OF_FLOAT   4
0465 #define PR_ALIGN_OF_DOUBLE  4
0466 #define PR_ALIGN_OF_POINTER 4
0467 #define PR_ALIGN_OF_WORD    4
0468 
0469 #define PR_BYTES_PER_WORD_LOG2   2
0470 #define PR_BYTES_PER_DWORD_LOG2  3
0471 
0472 #elif defined(__mips__)
0473 
0474 #ifdef __MIPSEB__
0475 #define IS_BIG_ENDIAN 1
0476 #undef  IS_LITTLE_ENDIAN
0477 #elif defined(__MIPSEL__)
0478 #define IS_LITTLE_ENDIAN 1
0479 #undef  IS_BIG_ENDIAN
0480 #else
0481 #error "Unknown MIPS endianness."
0482 #endif
0483 
0484 #define PR_BYTES_PER_BYTE   1
0485 #define PR_BYTES_PER_SHORT  2
0486 #define PR_BYTES_PER_INT    4
0487 #define PR_BYTES_PER_INT64  8
0488 #define PR_BYTES_PER_LONG   4
0489 #define PR_BYTES_PER_FLOAT  4
0490 #define PR_BYTES_PER_DOUBLE 8
0491 #define PR_BYTES_PER_WORD   4
0492 #define PR_BYTES_PER_DWORD  8
0493 
0494 #define PR_BITS_PER_BYTE    8
0495 #define PR_BITS_PER_SHORT   16
0496 #define PR_BITS_PER_INT     32
0497 #define PR_BITS_PER_INT64   64
0498 #define PR_BITS_PER_LONG    32
0499 #define PR_BITS_PER_FLOAT   32
0500 #define PR_BITS_PER_DOUBLE  64
0501 #define PR_BITS_PER_WORD    32
0502 
0503 #define PR_BITS_PER_BYTE_LOG2   3
0504 #define PR_BITS_PER_SHORT_LOG2  4
0505 #define PR_BITS_PER_INT_LOG2    5
0506 #define PR_BITS_PER_INT64_LOG2  6
0507 #define PR_BITS_PER_LONG_LOG2   5
0508 #define PR_BITS_PER_FLOAT_LOG2  5
0509 #define PR_BITS_PER_DOUBLE_LOG2 6
0510 #define PR_BITS_PER_WORD_LOG2   5
0511 
0512 #define PR_ALIGN_OF_SHORT   2
0513 #define PR_ALIGN_OF_INT     4
0514 #define PR_ALIGN_OF_LONG    4
0515 #define PR_ALIGN_OF_INT64   8
0516 #define PR_ALIGN_OF_FLOAT   4
0517 #define PR_ALIGN_OF_DOUBLE  8
0518 #define PR_ALIGN_OF_POINTER 4
0519 #define PR_ALIGN_OF_WORD    4
0520 
0521 #define PR_BYTES_PER_WORD_LOG2   2
0522 #define PR_BYTES_PER_DWORD_LOG2  3
0523 
0524 #elif defined(__arm__)
0525 
0526 #ifdef __ARMEB__
0527 #undef  IS_LITTLE_ENDIAN
0528 #define IS_BIG_ENDIAN 1
0529 #elif defined(__ARMEL__)
0530 #define IS_LITTLE_ENDIAN 1
0531 #undef  IS_BIG_ENDIAN
0532 #else
0533 #error "Unknown ARM endianness."
0534 #endif
0535 
0536 #define PR_BYTES_PER_BYTE   1
0537 #define PR_BYTES_PER_SHORT  2
0538 #define PR_BYTES_PER_INT    4
0539 #define PR_BYTES_PER_INT64  8
0540 #define PR_BYTES_PER_LONG   4
0541 #define PR_BYTES_PER_FLOAT  4
0542 #define PR_BYTES_PER_DOUBLE 8
0543 #define PR_BYTES_PER_WORD   4
0544 #define PR_BYTES_PER_DWORD  8
0545 
0546 #define PR_BITS_PER_BYTE    8
0547 #define PR_BITS_PER_SHORT   16
0548 #define PR_BITS_PER_INT     32
0549 #define PR_BITS_PER_INT64   64
0550 #define PR_BITS_PER_LONG    32
0551 #define PR_BITS_PER_FLOAT   32
0552 #define PR_BITS_PER_DOUBLE  64
0553 #define PR_BITS_PER_WORD    32
0554 
0555 #define PR_BITS_PER_BYTE_LOG2   3
0556 #define PR_BITS_PER_SHORT_LOG2  4
0557 #define PR_BITS_PER_INT_LOG2    5
0558 #define PR_BITS_PER_INT64_LOG2  6
0559 #define PR_BITS_PER_LONG_LOG2   5
0560 #define PR_BITS_PER_FLOAT_LOG2  5
0561 #define PR_BITS_PER_DOUBLE_LOG2 6
0562 #define PR_BITS_PER_WORD_LOG2   5
0563 
0564 #define PR_ALIGN_OF_SHORT   2
0565 #define PR_ALIGN_OF_INT     4
0566 #define PR_ALIGN_OF_LONG    4
0567 #define PR_ALIGN_OF_INT64   4
0568 #define PR_ALIGN_OF_FLOAT   4
0569 #define PR_ALIGN_OF_DOUBLE  4
0570 #define PR_ALIGN_OF_POINTER 4
0571 #define PR_ALIGN_OF_WORD    4
0572 
0573 #define PR_BYTES_PER_WORD_LOG2   2
0574 #define PR_BYTES_PER_DWORD_LOG2  3
0575 
0576 #elif defined(__hppa__)
0577 
0578 #undef  IS_LITTLE_ENDIAN
0579 #define IS_BIG_ENDIAN    1
0580 
0581 #define PR_BYTES_PER_BYTE   1
0582 #define PR_BYTES_PER_SHORT  2
0583 #define PR_BYTES_PER_INT    4
0584 #define PR_BYTES_PER_INT64  8
0585 #define PR_BYTES_PER_LONG   4
0586 #define PR_BYTES_PER_FLOAT  4
0587 #define PR_BYTES_PER_DOUBLE 8
0588 #define PR_BYTES_PER_WORD   4
0589 #define PR_BYTES_PER_DWORD  8
0590 
0591 #define PR_BITS_PER_BYTE    8
0592 #define PR_BITS_PER_SHORT   16
0593 #define PR_BITS_PER_INT     32
0594 #define PR_BITS_PER_INT64   64
0595 #define PR_BITS_PER_LONG    32
0596 #define PR_BITS_PER_FLOAT   32
0597 #define PR_BITS_PER_DOUBLE  64
0598 #define PR_BITS_PER_WORD    32
0599 
0600 #define PR_BITS_PER_BYTE_LOG2   3
0601 #define PR_BITS_PER_SHORT_LOG2  4
0602 #define PR_BITS_PER_INT_LOG2    5
0603 #define PR_BITS_PER_INT64_LOG2  6
0604 #define PR_BITS_PER_LONG_LOG2   5
0605 #define PR_BITS_PER_FLOAT_LOG2  5
0606 #define PR_BITS_PER_DOUBLE_LOG2 6
0607 #define PR_BITS_PER_WORD_LOG2   5
0608 
0609 #define PR_ALIGN_OF_SHORT   2
0610 #define PR_ALIGN_OF_INT     4
0611 #define PR_ALIGN_OF_LONG    4
0612 #define PR_ALIGN_OF_INT64   8
0613 #define PR_ALIGN_OF_FLOAT   4
0614 #define PR_ALIGN_OF_DOUBLE  8
0615 #define PR_ALIGN_OF_POINTER 4
0616 #define PR_ALIGN_OF_WORD    4
0617 
0618 #define PR_BYTES_PER_WORD_LOG2   2
0619 #define PR_BYTES_PER_DWORD_LOG2  3
0620 
0621 #elif defined(__s390x__)
0622 
0623 #define IS_BIG_ENDIAN 1
0624 #undef  IS_LITTLE_ENDIAN
0625 #define IS_64
0626 
0627 #define PR_BYTES_PER_BYTE   1
0628 #define PR_BYTES_PER_SHORT  2
0629 #define PR_BYTES_PER_INT    4
0630 #define PR_BYTES_PER_INT64  8
0631 #define PR_BYTES_PER_LONG   8
0632 #define PR_BYTES_PER_FLOAT  4
0633 #define PR_BYTES_PER_DOUBLE 8
0634 #define PR_BYTES_PER_WORD   8
0635 #define PR_BYTES_PER_DWORD  8
0636 
0637 #define PR_BITS_PER_BYTE    8
0638 #define PR_BITS_PER_SHORT   16
0639 #define PR_BITS_PER_INT     32
0640 #define PR_BITS_PER_INT64   64
0641 #define PR_BITS_PER_LONG    64
0642 #define PR_BITS_PER_FLOAT   32
0643 #define PR_BITS_PER_DOUBLE  64
0644 #define PR_BITS_PER_WORD    64
0645 
0646 #define PR_BITS_PER_BYTE_LOG2   3
0647 #define PR_BITS_PER_SHORT_LOG2  4
0648 #define PR_BITS_PER_INT_LOG2    5
0649 #define PR_BITS_PER_INT64_LOG2  6
0650 #define PR_BITS_PER_LONG_LOG2   6
0651 #define PR_BITS_PER_FLOAT_LOG2  5
0652 #define PR_BITS_PER_DOUBLE_LOG2 6
0653 #define PR_BITS_PER_WORD_LOG2   6
0654 
0655 #define PR_ALIGN_OF_SHORT   2
0656 #define PR_ALIGN_OF_INT     4
0657 #define PR_ALIGN_OF_LONG    8
0658 #define PR_ALIGN_OF_INT64   8
0659 #define PR_ALIGN_OF_FLOAT   4
0660 #define PR_ALIGN_OF_DOUBLE  8
0661 #define PR_ALIGN_OF_POINTER 8
0662 #define PR_ALIGN_OF_WORD    8
0663 
0664 #define PR_BYTES_PER_WORD_LOG2   3
0665 #define PR_BYTES_PER_DWORD_LOG2  3
0666 
0667 #elif defined(__s390__)
0668 
0669 #define IS_BIG_ENDIAN 1
0670 #undef  IS_LITTLE_ENDIAN
0671 
0672 #define PR_BYTES_PER_BYTE   1
0673 #define PR_BYTES_PER_SHORT  2
0674 #define PR_BYTES_PER_INT    4
0675 #define PR_BYTES_PER_INT64  8
0676 #define PR_BYTES_PER_LONG   4
0677 #define PR_BYTES_PER_FLOAT  4
0678 #define PR_BYTES_PER_DOUBLE 8
0679 #define PR_BYTES_PER_WORD   4
0680 #define PR_BYTES_PER_DWORD  8
0681 
0682 #define PR_BITS_PER_BYTE    8
0683 #define PR_BITS_PER_SHORT   16
0684 #define PR_BITS_PER_INT     32
0685 #define PR_BITS_PER_INT64   64
0686 #define PR_BITS_PER_LONG    32
0687 #define PR_BITS_PER_FLOAT   32
0688 #define PR_BITS_PER_DOUBLE  64
0689 #define PR_BITS_PER_WORD    32
0690 
0691 #define PR_BITS_PER_BYTE_LOG2   3
0692 #define PR_BITS_PER_SHORT_LOG2  4
0693 #define PR_BITS_PER_INT_LOG2    5
0694 #define PR_BITS_PER_INT64_LOG2  6
0695 #define PR_BITS_PER_LONG_LOG2   5
0696 #define PR_BITS_PER_FLOAT_LOG2  5
0697 #define PR_BITS_PER_DOUBLE_LOG2 6
0698 #define PR_BITS_PER_WORD_LOG2   5
0699 
0700 #define PR_ALIGN_OF_SHORT   2
0701 #define PR_ALIGN_OF_INT     4
0702 #define PR_ALIGN_OF_LONG    4
0703 #define PR_ALIGN_OF_INT64   4
0704 #define PR_ALIGN_OF_FLOAT   4
0705 #define PR_ALIGN_OF_DOUBLE  4
0706 #define PR_ALIGN_OF_POINTER 4
0707 #define PR_ALIGN_OF_WORD    4
0708 
0709 #define PR_BYTES_PER_WORD_LOG2   2
0710 #define PR_BYTES_PER_DWORD_LOG2  3
0711 
0712 #elif defined(__sh__)
0713 
0714 #ifdef __LITTLE_ENDIAN__
0715 #define IS_LITTLE_ENDIAN 1
0716 #undef  IS_BIG_ENDIAN
0717 #else
0718 #define IS_BIG_ENDIAN 1
0719 #undef  IS_LITTLE_ENDIAN
0720 #endif
0721 
0722 #define PR_BYTES_PER_BYTE   1
0723 #define PR_BYTES_PER_SHORT  2
0724 #define PR_BYTES_PER_INT    4
0725 #define PR_BYTES_PER_INT64  8
0726 #define PR_BYTES_PER_LONG   4
0727 #define PR_BYTES_PER_FLOAT  4
0728 #define PR_BYTES_PER_DOUBLE 8
0729 #define PR_BYTES_PER_WORD   4
0730 #define PR_BYTES_PER_DWORD  8
0731 
0732 #define PR_BITS_PER_BYTE    8
0733 #define PR_BITS_PER_SHORT   16
0734 #define PR_BITS_PER_INT     32
0735 #define PR_BITS_PER_INT64   64
0736 #define PR_BITS_PER_LONG    32
0737 #define PR_BITS_PER_FLOAT   32
0738 #define PR_BITS_PER_DOUBLE  64
0739 #define PR_BITS_PER_WORD    32
0740 
0741 #define PR_BITS_PER_BYTE_LOG2   3
0742 #define PR_BITS_PER_SHORT_LOG2  4
0743 #define PR_BITS_PER_INT_LOG2    5
0744 #define PR_BITS_PER_INT64_LOG2  6
0745 #define PR_BITS_PER_LONG_LOG2   5
0746 #define PR_BITS_PER_FLOAT_LOG2  5
0747 #define PR_BITS_PER_DOUBLE_LOG2 6
0748 #define PR_BITS_PER_WORD_LOG2   5
0749 
0750 #define PR_ALIGN_OF_SHORT   2
0751 #define PR_ALIGN_OF_INT     4
0752 #define PR_ALIGN_OF_LONG    4
0753 #define PR_ALIGN_OF_INT64   4
0754 #define PR_ALIGN_OF_FLOAT   4
0755 #define PR_ALIGN_OF_DOUBLE  4
0756 #define PR_ALIGN_OF_POINTER 4
0757 #define PR_ALIGN_OF_WORD    4
0758 
0759 #define PR_BYTES_PER_WORD_LOG2   2
0760 #define PR_BYTES_PER_DWORD_LOG2  3
0761 
0762 #else
0763 
0764 #error "Unknown CPU architecture"
0765 
0766 #endif
0767 
0768 #ifndef HAVE_LONG_LONG
0769 #define HAVE_LONG_LONG
0770 #endif
0771 #if PR_ALIGN_OF_DOUBLE == 8
0772 #define HAVE_ALIGNED_DOUBLES
0773 #endif
0774 #if PR_ALIGN_OF_INT64 == 8
0775 #define HAVE_ALIGNED_LONGLONGS
0776 #endif
0777 
0778 #ifndef NO_NSPR_10_SUPPORT
0779 
0780 #define BYTES_PER_BYTE      PR_BYTES_PER_BYTE
0781 #define BYTES_PER_SHORT     PR_BYTES_PER_SHORT
0782 #define BYTES_PER_INT       PR_BYTES_PER_INT
0783 #define BYTES_PER_INT64     PR_BYTES_PER_INT64
0784 #define BYTES_PER_LONG      PR_BYTES_PER_LONG
0785 #define BYTES_PER_FLOAT     PR_BYTES_PER_FLOAT
0786 #define BYTES_PER_DOUBLE    PR_BYTES_PER_DOUBLE
0787 #define BYTES_PER_WORD      PR_BYTES_PER_WORD
0788 #define BYTES_PER_DWORD     PR_BYTES_PER_DWORD
0789 
0790 #define BITS_PER_BYTE       PR_BITS_PER_BYTE
0791 #define BITS_PER_SHORT      PR_BITS_PER_SHORT
0792 #define BITS_PER_INT        PR_BITS_PER_INT
0793 #define BITS_PER_INT64      PR_BITS_PER_INT64
0794 #define BITS_PER_LONG       PR_BITS_PER_LONG
0795 #define BITS_PER_FLOAT      PR_BITS_PER_FLOAT
0796 #define BITS_PER_DOUBLE     PR_BITS_PER_DOUBLE
0797 #define BITS_PER_WORD       PR_BITS_PER_WORD
0798 
0799 #define BITS_PER_BYTE_LOG2  PR_BITS_PER_BYTE_LOG2
0800 #define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
0801 #define BITS_PER_INT_LOG2   PR_BITS_PER_INT_LOG2
0802 #define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
0803 #define BITS_PER_LONG_LOG2  PR_BITS_PER_LONG_LOG2
0804 #define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
0805 #define BITS_PER_DOUBLE_LOG2    PR_BITS_PER_DOUBLE_LOG2
0806 #define BITS_PER_WORD_LOG2  PR_BITS_PER_WORD_LOG2
0807 
0808 #define ALIGN_OF_SHORT      PR_ALIGN_OF_SHORT
0809 #define ALIGN_OF_INT        PR_ALIGN_OF_INT
0810 #define ALIGN_OF_LONG       PR_ALIGN_OF_LONG
0811 #define ALIGN_OF_INT64      PR_ALIGN_OF_INT64
0812 #define ALIGN_OF_FLOAT      PR_ALIGN_OF_FLOAT
0813 #define ALIGN_OF_DOUBLE     PR_ALIGN_OF_DOUBLE
0814 #define ALIGN_OF_POINTER    PR_ALIGN_OF_POINTER
0815 #define ALIGN_OF_WORD       PR_ALIGN_OF_WORD
0816 
0817 #define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2
0818 #define BYTES_PER_DWORD_LOG2    PR_BYTES_PER_DWORD_LOG2
0819 #define WORDS_PER_DWORD_LOG2    PR_WORDS_PER_DWORD_LOG2
0820 
0821 #endif /* NO_NSPR_10_SUPPORT */
0822 
0823 #endif /* nspr_cpucfg___ */