00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038 #ifndef nspr_cpucfg___
00039 #define nspr_cpucfg___
00040
00041 #ifndef XP_UNIX
00042 #define XP_UNIX
00043 #endif
00044
00045 #ifndef LINUX
00046 #define LINUX
00047 #endif
00048
00049 #define PR_AF_INET6 10
00050
00051 #ifdef __powerpc__
00052
00053 #undef IS_LITTLE_ENDIAN
00054 #define IS_BIG_ENDIAN 1
00055
00056 #define PR_BYTES_PER_BYTE 1
00057 #define PR_BYTES_PER_SHORT 2
00058 #define PR_BYTES_PER_INT 4
00059 #define PR_BYTES_PER_INT64 8
00060 #define PR_BYTES_PER_LONG 4
00061 #define PR_BYTES_PER_FLOAT 4
00062 #define PR_BYTES_PER_DOUBLE 8
00063 #define PR_BYTES_PER_WORD 4
00064 #define PR_BYTES_PER_DWORD 8
00065
00066 #define PR_BITS_PER_BYTE 8
00067 #define PR_BITS_PER_SHORT 16
00068 #define PR_BITS_PER_INT 32
00069 #define PR_BITS_PER_INT64 64
00070 #define PR_BITS_PER_LONG 32
00071 #define PR_BITS_PER_FLOAT 32
00072 #define PR_BITS_PER_DOUBLE 64
00073 #define PR_BITS_PER_WORD 32
00074
00075 #define PR_BITS_PER_BYTE_LOG2 3
00076 #define PR_BITS_PER_SHORT_LOG2 4
00077 #define PR_BITS_PER_INT_LOG2 5
00078 #define PR_BITS_PER_INT64_LOG2 6
00079 #define PR_BITS_PER_LONG_LOG2 5
00080 #define PR_BITS_PER_FLOAT_LOG2 5
00081 #define PR_BITS_PER_DOUBLE_LOG2 6
00082 #define PR_BITS_PER_WORD_LOG2 5
00083
00084 #define PR_ALIGN_OF_SHORT 2
00085 #define PR_ALIGN_OF_INT 4
00086 #define PR_ALIGN_OF_LONG 4
00087 #define PR_ALIGN_OF_INT64 8
00088 #define PR_ALIGN_OF_FLOAT 4
00089 #define PR_ALIGN_OF_DOUBLE 8
00090 #define PR_ALIGN_OF_POINTER 4
00091 #define PR_ALIGN_OF_WORD 4
00092
00093 #define PR_BYTES_PER_WORD_LOG2 2
00094 #define PR_BYTES_PER_DWORD_LOG2 3
00095
00096 #elif defined(__alpha)
00097
00098 #define IS_LITTLE_ENDIAN 1
00099 #undef IS_BIG_ENDIAN
00100 #define IS_64
00101
00102 #define PR_BYTES_PER_BYTE 1
00103 #define PR_BYTES_PER_SHORT 2
00104 #define PR_BYTES_PER_INT 4
00105 #define PR_BYTES_PER_INT64 8
00106 #define PR_BYTES_PER_LONG 8
00107 #define PR_BYTES_PER_FLOAT 4
00108 #define PR_BYTES_PER_DOUBLE 8
00109 #define PR_BYTES_PER_WORD 8
00110 #define PR_BYTES_PER_DWORD 8
00111
00112 #define PR_BITS_PER_BYTE 8
00113 #define PR_BITS_PER_SHORT 16
00114 #define PR_BITS_PER_INT 32
00115 #define PR_BITS_PER_INT64 64
00116 #define PR_BITS_PER_LONG 64
00117 #define PR_BITS_PER_FLOAT 32
00118 #define PR_BITS_PER_DOUBLE 64
00119 #define PR_BITS_PER_WORD 64
00120
00121 #define PR_BITS_PER_BYTE_LOG2 3
00122 #define PR_BITS_PER_SHORT_LOG2 4
00123 #define PR_BITS_PER_INT_LOG2 5
00124 #define PR_BITS_PER_INT64_LOG2 6
00125 #define PR_BITS_PER_LONG_LOG2 6
00126 #define PR_BITS_PER_FLOAT_LOG2 5
00127 #define PR_BITS_PER_DOUBLE_LOG2 6
00128 #define PR_BITS_PER_WORD_LOG2 6
00129
00130 #define PR_ALIGN_OF_SHORT 2
00131 #define PR_ALIGN_OF_INT 4
00132 #define PR_ALIGN_OF_LONG 8
00133 #define PR_ALIGN_OF_INT64 8
00134 #define PR_ALIGN_OF_FLOAT 4
00135 #define PR_ALIGN_OF_DOUBLE 8
00136 #define PR_ALIGN_OF_POINTER 8
00137 #define PR_ALIGN_OF_WORD 8
00138
00139 #define PR_BYTES_PER_WORD_LOG2 3
00140 #define PR_BYTES_PER_DWORD_LOG2 3
00141
00142 #elif defined(__ia64__)
00143
00144 #define IS_LITTLE_ENDIAN 1
00145 #undef IS_BIG_ENDIAN
00146 #define IS_64
00147
00148 #define PR_BYTES_PER_BYTE 1
00149 #define PR_BYTES_PER_SHORT 2
00150 #define PR_BYTES_PER_INT 4
00151 #define PR_BYTES_PER_INT64 8
00152 #define PR_BYTES_PER_LONG 8
00153 #define PR_BYTES_PER_FLOAT 4
00154 #define PR_BYTES_PER_DOUBLE 8
00155 #define PR_BYTES_PER_WORD 8
00156 #define PR_BYTES_PER_DWORD 8
00157
00158 #define PR_BITS_PER_BYTE 8
00159 #define PR_BITS_PER_SHORT 16
00160 #define PR_BITS_PER_INT 32
00161 #define PR_BITS_PER_INT64 64
00162 #define PR_BITS_PER_LONG 64
00163 #define PR_BITS_PER_FLOAT 32
00164 #define PR_BITS_PER_DOUBLE 64
00165 #define PR_BITS_PER_WORD 64
00166
00167 #define PR_BITS_PER_BYTE_LOG2 3
00168 #define PR_BITS_PER_SHORT_LOG2 4
00169 #define PR_BITS_PER_INT_LOG2 5
00170 #define PR_BITS_PER_INT64_LOG2 6
00171 #define PR_BITS_PER_LONG_LOG2 6
00172 #define PR_BITS_PER_FLOAT_LOG2 5
00173 #define PR_BITS_PER_DOUBLE_LOG2 6
00174 #define PR_BITS_PER_WORD_LOG2 6
00175
00176 #define PR_ALIGN_OF_SHORT 2
00177 #define PR_ALIGN_OF_INT 4
00178 #define PR_ALIGN_OF_LONG 8
00179 #define PR_ALIGN_OF_INT64 8
00180 #define PR_ALIGN_OF_FLOAT 4
00181 #define PR_ALIGN_OF_DOUBLE 8
00182 #define PR_ALIGN_OF_POINTER 8
00183 #define PR_ALIGN_OF_WORD 8
00184
00185 #define PR_BYTES_PER_WORD_LOG2 3
00186 #define PR_BYTES_PER_DWORD_LOG2 3
00187
00188 #elif defined(__x86_64__)
00189
00190 #define IS_LITTLE_ENDIAN 1
00191 #undef IS_BIG_ENDIAN
00192 #define IS_64
00193
00194 #define PR_BYTES_PER_BYTE 1
00195 #define PR_BYTES_PER_SHORT 2
00196 #define PR_BYTES_PER_INT 4
00197 #define PR_BYTES_PER_INT64 8
00198 #define PR_BYTES_PER_LONG 8
00199 #define PR_BYTES_PER_FLOAT 4
00200 #define PR_BYTES_PER_DOUBLE 8
00201 #define PR_BYTES_PER_WORD 8
00202 #define PR_BYTES_PER_DWORD 8
00203
00204 #define PR_BITS_PER_BYTE 8
00205 #define PR_BITS_PER_SHORT 16
00206 #define PR_BITS_PER_INT 32
00207 #define PR_BITS_PER_INT64 64
00208 #define PR_BITS_PER_LONG 64
00209 #define PR_BITS_PER_FLOAT 32
00210 #define PR_BITS_PER_DOUBLE 64
00211 #define PR_BITS_PER_WORD 64
00212
00213 #define PR_BITS_PER_BYTE_LOG2 3
00214 #define PR_BITS_PER_SHORT_LOG2 4
00215 #define PR_BITS_PER_INT_LOG2 5
00216 #define PR_BITS_PER_INT64_LOG2 6
00217 #define PR_BITS_PER_LONG_LOG2 6
00218 #define PR_BITS_PER_FLOAT_LOG2 5
00219 #define PR_BITS_PER_DOUBLE_LOG2 6
00220 #define PR_BITS_PER_WORD_LOG2 6
00221
00222 #define PR_ALIGN_OF_SHORT 2
00223 #define PR_ALIGN_OF_INT 4
00224 #define PR_ALIGN_OF_LONG 8
00225 #define PR_ALIGN_OF_INT64 8
00226 #define PR_ALIGN_OF_FLOAT 4
00227 #define PR_ALIGN_OF_DOUBLE 8
00228 #define PR_ALIGN_OF_POINTER 8
00229 #define PR_ALIGN_OF_WORD 8
00230
00231 #define PR_BYTES_PER_WORD_LOG2 3
00232 #define PR_BYTES_PER_DWORD_LOG2 3
00233
00234 #elif defined(__mc68000__)
00235
00236 #undef IS_LITTLE_ENDIAN
00237 #define IS_BIG_ENDIAN 1
00238
00239 #define PR_BYTES_PER_BYTE 1
00240 #define PR_BYTES_PER_SHORT 2
00241 #define PR_BYTES_PER_INT 4
00242 #define PR_BYTES_PER_INT64 8
00243 #define PR_BYTES_PER_LONG 4
00244 #define PR_BYTES_PER_FLOAT 4
00245 #define PR_BYTES_PER_DOUBLE 8
00246 #define PR_BYTES_PER_WORD 4
00247 #define PR_BYTES_PER_DWORD 8
00248
00249 #define PR_BITS_PER_BYTE 8
00250 #define PR_BITS_PER_SHORT 16
00251 #define PR_BITS_PER_INT 32
00252 #define PR_BITS_PER_INT64 64
00253 #define PR_BITS_PER_LONG 32
00254 #define PR_BITS_PER_FLOAT 32
00255 #define PR_BITS_PER_DOUBLE 64
00256 #define PR_BITS_PER_WORD 32
00257
00258 #define PR_BITS_PER_BYTE_LOG2 3
00259 #define PR_BITS_PER_SHORT_LOG2 4
00260 #define PR_BITS_PER_INT_LOG2 5
00261 #define PR_BITS_PER_INT64_LOG2 6
00262 #define PR_BITS_PER_LONG_LOG2 5
00263 #define PR_BITS_PER_FLOAT_LOG2 5
00264 #define PR_BITS_PER_DOUBLE_LOG2 6
00265 #define PR_BITS_PER_WORD_LOG2 5
00266
00267 #define PR_ALIGN_OF_SHORT 2
00268 #define PR_ALIGN_OF_INT 2
00269 #define PR_ALIGN_OF_LONG 2
00270 #define PR_ALIGN_OF_INT64 2
00271 #define PR_ALIGN_OF_FLOAT 2
00272 #define PR_ALIGN_OF_DOUBLE 2
00273 #define PR_ALIGN_OF_POINTER 2
00274 #define PR_ALIGN_OF_WORD 2
00275
00276 #define PR_BYTES_PER_WORD_LOG2 2
00277 #define PR_BYTES_PER_DWORD_LOG2 3
00278
00279 #elif defined(__sparc__) || (defined(__SUNPRO_CC) && defined(__sparc))
00280
00281 #undef IS_LITTLE_ENDIAN
00282 #define IS_BIG_ENDIAN 1
00283
00284 #define PR_BYTES_PER_BYTE 1
00285 #define PR_BYTES_PER_SHORT 2
00286 #define PR_BYTES_PER_INT 4
00287 #define PR_BYTES_PER_INT64 8
00288 #define PR_BYTES_PER_LONG 4
00289 #define PR_BYTES_PER_FLOAT 4
00290 #define PR_BYTES_PER_DOUBLE 8
00291 #define PR_BYTES_PER_WORD 4
00292 #define PR_BYTES_PER_DWORD 8
00293
00294 #define PR_BITS_PER_BYTE 8
00295 #define PR_BITS_PER_SHORT 16
00296 #define PR_BITS_PER_INT 32
00297 #define PR_BITS_PER_INT64 64
00298 #define PR_BITS_PER_LONG 32
00299 #define PR_BITS_PER_FLOAT 32
00300 #define PR_BITS_PER_DOUBLE 64
00301 #define PR_BITS_PER_WORD 32
00302
00303 #define PR_BITS_PER_BYTE_LOG2 3
00304 #define PR_BITS_PER_SHORT_LOG2 4
00305 #define PR_BITS_PER_INT_LOG2 5
00306 #define PR_BITS_PER_INT64_LOG2 6
00307 #define PR_BITS_PER_LONG_LOG2 5
00308 #define PR_BITS_PER_FLOAT_LOG2 5
00309 #define PR_BITS_PER_DOUBLE_LOG2 6
00310 #define PR_BITS_PER_WORD_LOG2 5
00311
00312 #define PR_ALIGN_OF_SHORT 2
00313 #define PR_ALIGN_OF_INT 4
00314 #define PR_ALIGN_OF_LONG 4
00315 #define PR_ALIGN_OF_INT64 8
00316 #define PR_ALIGN_OF_FLOAT 4
00317 #define PR_ALIGN_OF_DOUBLE 8
00318 #define PR_ALIGN_OF_POINTER 4
00319 #define PR_ALIGN_OF_WORD 4
00320
00321 #define PR_BYTES_PER_WORD_LOG2 2
00322 #define PR_BYTES_PER_DWORD_LOG2 3
00323
00324 #elif defined(__i386__) || (defined(__SUNPRO_CC) && defined(__i386))
00325
00326 #define IS_LITTLE_ENDIAN 1
00327 #undef IS_BIG_ENDIAN
00328
00329 #define PR_BYTES_PER_BYTE 1
00330 #define PR_BYTES_PER_SHORT 2
00331 #define PR_BYTES_PER_INT 4
00332 #define PR_BYTES_PER_INT64 8
00333 #define PR_BYTES_PER_LONG 4
00334 #define PR_BYTES_PER_FLOAT 4
00335 #define PR_BYTES_PER_DOUBLE 8
00336 #define PR_BYTES_PER_WORD 4
00337 #define PR_BYTES_PER_DWORD 8
00338
00339 #define PR_BITS_PER_BYTE 8
00340 #define PR_BITS_PER_SHORT 16
00341 #define PR_BITS_PER_INT 32
00342 #define PR_BITS_PER_INT64 64
00343 #define PR_BITS_PER_LONG 32
00344 #define PR_BITS_PER_FLOAT 32
00345 #define PR_BITS_PER_DOUBLE 64
00346 #define PR_BITS_PER_WORD 32
00347
00348 #define PR_BITS_PER_BYTE_LOG2 3
00349 #define PR_BITS_PER_SHORT_LOG2 4
00350 #define PR_BITS_PER_INT_LOG2 5
00351 #define PR_BITS_PER_INT64_LOG2 6
00352 #define PR_BITS_PER_LONG_LOG2 5
00353 #define PR_BITS_PER_FLOAT_LOG2 5
00354 #define PR_BITS_PER_DOUBLE_LOG2 6
00355 #define PR_BITS_PER_WORD_LOG2 5
00356
00357 #define PR_ALIGN_OF_SHORT 2
00358 #define PR_ALIGN_OF_INT 4
00359 #define PR_ALIGN_OF_LONG 4
00360 #define PR_ALIGN_OF_INT64 4
00361 #define PR_ALIGN_OF_FLOAT 4
00362 #define PR_ALIGN_OF_DOUBLE 4
00363 #define PR_ALIGN_OF_POINTER 4
00364 #define PR_ALIGN_OF_WORD 4
00365
00366 #define PR_BYTES_PER_WORD_LOG2 2
00367 #define PR_BYTES_PER_DWORD_LOG2 3
00368
00369 #elif defined(__mips__)
00370
00371 #ifdef __MIPSEB__
00372 #define IS_BIG_ENDIAN 1
00373 #undef IS_LITTLE_ENDIAN
00374 #elif defined(__MIPSEL__)
00375 #define IS_LITTLE_ENDIAN 1
00376 #undef IS_BIG_ENDIAN
00377 #else
00378 #error "Unknown MIPS endianness."
00379 #endif
00380
00381 #define PR_BYTES_PER_BYTE 1
00382 #define PR_BYTES_PER_SHORT 2
00383 #define PR_BYTES_PER_INT 4
00384 #define PR_BYTES_PER_INT64 8
00385 #define PR_BYTES_PER_LONG 4
00386 #define PR_BYTES_PER_FLOAT 4
00387 #define PR_BYTES_PER_DOUBLE 8
00388 #define PR_BYTES_PER_WORD 4
00389 #define PR_BYTES_PER_DWORD 8
00390
00391 #define PR_BITS_PER_BYTE 8
00392 #define PR_BITS_PER_SHORT 16
00393 #define PR_BITS_PER_INT 32
00394 #define PR_BITS_PER_INT64 64
00395 #define PR_BITS_PER_LONG 32
00396 #define PR_BITS_PER_FLOAT 32
00397 #define PR_BITS_PER_DOUBLE 64
00398 #define PR_BITS_PER_WORD 32
00399
00400 #define PR_BITS_PER_BYTE_LOG2 3
00401 #define PR_BITS_PER_SHORT_LOG2 4
00402 #define PR_BITS_PER_INT_LOG2 5
00403 #define PR_BITS_PER_INT64_LOG2 6
00404 #define PR_BITS_PER_LONG_LOG2 5
00405 #define PR_BITS_PER_FLOAT_LOG2 5
00406 #define PR_BITS_PER_DOUBLE_LOG2 6
00407 #define PR_BITS_PER_WORD_LOG2 5
00408
00409 #define PR_ALIGN_OF_SHORT 2
00410 #define PR_ALIGN_OF_INT 4
00411 #define PR_ALIGN_OF_LONG 4
00412 #define PR_ALIGN_OF_INT64 8
00413 #define PR_ALIGN_OF_FLOAT 4
00414 #define PR_ALIGN_OF_DOUBLE 8
00415 #define PR_ALIGN_OF_POINTER 4
00416 #define PR_ALIGN_OF_WORD 4
00417
00418 #define PR_BYTES_PER_WORD_LOG2 2
00419 #define PR_BYTES_PER_DWORD_LOG2 3
00420
00421 #elif defined(__arm__)
00422
00423 #define IS_LITTLE_ENDIAN 1
00424 #undef IS_BIG_ENDIAN
00425
00426 #define PR_BYTES_PER_BYTE 1
00427 #define PR_BYTES_PER_SHORT 2
00428 #define PR_BYTES_PER_INT 4
00429 #define PR_BYTES_PER_INT64 8
00430 #define PR_BYTES_PER_LONG 4
00431 #define PR_BYTES_PER_FLOAT 4
00432 #define PR_BYTES_PER_DOUBLE 8
00433 #define PR_BYTES_PER_WORD 4
00434 #define PR_BYTES_PER_DWORD 8
00435
00436 #define PR_BITS_PER_BYTE 8
00437 #define PR_BITS_PER_SHORT 16
00438 #define PR_BITS_PER_INT 32
00439 #define PR_BITS_PER_INT64 64
00440 #define PR_BITS_PER_LONG 32
00441 #define PR_BITS_PER_FLOAT 32
00442 #define PR_BITS_PER_DOUBLE 64
00443 #define PR_BITS_PER_WORD 32
00444
00445 #define PR_BITS_PER_BYTE_LOG2 3
00446 #define PR_BITS_PER_SHORT_LOG2 4
00447 #define PR_BITS_PER_INT_LOG2 5
00448 #define PR_BITS_PER_INT64_LOG2 6
00449 #define PR_BITS_PER_LONG_LOG2 5
00450 #define PR_BITS_PER_FLOAT_LOG2 5
00451 #define PR_BITS_PER_DOUBLE_LOG2 6
00452 #define PR_BITS_PER_WORD_LOG2 5
00453
00454 #define PR_ALIGN_OF_SHORT 2
00455 #define PR_ALIGN_OF_INT 4
00456 #define PR_ALIGN_OF_LONG 4
00457 #define PR_ALIGN_OF_INT64 4
00458 #define PR_ALIGN_OF_FLOAT 4
00459 #define PR_ALIGN_OF_DOUBLE 4
00460 #define PR_ALIGN_OF_POINTER 4
00461 #define PR_ALIGN_OF_WORD 4
00462
00463 #define PR_BYTES_PER_WORD_LOG2 2
00464 #define PR_BYTES_PER_DWORD_LOG2 3
00465
00466 #elif defined(__hppa__)
00467
00468 #undef IS_LITTLE_ENDIAN
00469 #define IS_BIG_ENDIAN 1
00470
00471 #define PR_BYTES_PER_BYTE 1
00472 #define PR_BYTES_PER_SHORT 2
00473 #define PR_BYTES_PER_INT 4
00474 #define PR_BYTES_PER_INT64 8
00475 #define PR_BYTES_PER_LONG 4
00476 #define PR_BYTES_PER_FLOAT 4
00477 #define PR_BYTES_PER_DOUBLE 8
00478 #define PR_BYTES_PER_WORD 4
00479 #define PR_BYTES_PER_DWORD 8
00480
00481 #define PR_BITS_PER_BYTE 8
00482 #define PR_BITS_PER_SHORT 16
00483 #define PR_BITS_PER_INT 32
00484 #define PR_BITS_PER_INT64 64
00485 #define PR_BITS_PER_LONG 32
00486 #define PR_BITS_PER_FLOAT 32
00487 #define PR_BITS_PER_DOUBLE 64
00488 #define PR_BITS_PER_WORD 32
00489
00490 #define PR_BITS_PER_BYTE_LOG2 3
00491 #define PR_BITS_PER_SHORT_LOG2 4
00492 #define PR_BITS_PER_INT_LOG2 5
00493 #define PR_BITS_PER_INT64_LOG2 6
00494 #define PR_BITS_PER_LONG_LOG2 5
00495 #define PR_BITS_PER_FLOAT_LOG2 5
00496 #define PR_BITS_PER_DOUBLE_LOG2 6
00497 #define PR_BITS_PER_WORD_LOG2 5
00498
00499 #define PR_ALIGN_OF_SHORT 2
00500 #define PR_ALIGN_OF_INT 4
00501 #define PR_ALIGN_OF_LONG 4
00502 #define PR_ALIGN_OF_INT64 8
00503 #define PR_ALIGN_OF_FLOAT 4
00504 #define PR_ALIGN_OF_DOUBLE 8
00505 #define PR_ALIGN_OF_POINTER 4
00506 #define PR_ALIGN_OF_WORD 4
00507
00508 #define PR_BYTES_PER_WORD_LOG2 2
00509 #define PR_BYTES_PER_DWORD_LOG2 3
00510
00511 #elif defined(__s390x__)
00512
00513 #define IS_BIG_ENDIAN 1
00514 #undef IS_LITTLE_ENDIAN
00515 #define IS_64
00516
00517 #define PR_BYTES_PER_BYTE 1
00518 #define PR_BYTES_PER_SHORT 2
00519 #define PR_BYTES_PER_INT 4
00520 #define PR_BYTES_PER_INT64 8
00521 #define PR_BYTES_PER_LONG 8
00522 #define PR_BYTES_PER_FLOAT 4
00523 #define PR_BYTES_PER_DOUBLE 8
00524 #define PR_BYTES_PER_WORD 8
00525 #define PR_BYTES_PER_DWORD 8
00526
00527 #define PR_BITS_PER_BYTE 8
00528 #define PR_BITS_PER_SHORT 16
00529 #define PR_BITS_PER_INT 32
00530 #define PR_BITS_PER_INT64 64
00531 #define PR_BITS_PER_LONG 64
00532 #define PR_BITS_PER_FLOAT 32
00533 #define PR_BITS_PER_DOUBLE 64
00534 #define PR_BITS_PER_WORD 64
00535
00536 #define PR_BITS_PER_BYTE_LOG2 3
00537 #define PR_BITS_PER_SHORT_LOG2 4
00538 #define PR_BITS_PER_INT_LOG2 5
00539 #define PR_BITS_PER_INT64_LOG2 6
00540 #define PR_BITS_PER_LONG_LOG2 6
00541 #define PR_BITS_PER_FLOAT_LOG2 5
00542 #define PR_BITS_PER_DOUBLE_LOG2 6
00543 #define PR_BITS_PER_WORD_LOG2 6
00544
00545 #define PR_ALIGN_OF_SHORT 2
00546 #define PR_ALIGN_OF_INT 4
00547 #define PR_ALIGN_OF_LONG 8
00548 #define PR_ALIGN_OF_INT64 8
00549 #define PR_ALIGN_OF_FLOAT 4
00550 #define PR_ALIGN_OF_DOUBLE 8
00551 #define PR_ALIGN_OF_POINTER 8
00552 #define PR_ALIGN_OF_WORD 8
00553
00554 #define PR_BYTES_PER_WORD_LOG2 3
00555 #define PR_BYTES_PER_DWORD_LOG2 3
00556
00557 #elif defined(__s390__)
00558
00559 #define IS_BIG_ENDIAN 1
00560 #undef IS_LITTLE_ENDIAN
00561
00562 #define PR_BYTES_PER_BYTE 1
00563 #define PR_BYTES_PER_SHORT 2
00564 #define PR_BYTES_PER_INT 4
00565 #define PR_BYTES_PER_INT64 8
00566 #define PR_BYTES_PER_LONG 4
00567 #define PR_BYTES_PER_FLOAT 4
00568 #define PR_BYTES_PER_DOUBLE 8
00569 #define PR_BYTES_PER_WORD 4
00570 #define PR_BYTES_PER_DWORD 8
00571
00572 #define PR_BITS_PER_BYTE 8
00573 #define PR_BITS_PER_SHORT 16
00574 #define PR_BITS_PER_INT 32
00575 #define PR_BITS_PER_INT64 64
00576 #define PR_BITS_PER_LONG 32
00577 #define PR_BITS_PER_FLOAT 32
00578 #define PR_BITS_PER_DOUBLE 64
00579 #define PR_BITS_PER_WORD 32
00580
00581 #define PR_BITS_PER_BYTE_LOG2 3
00582 #define PR_BITS_PER_SHORT_LOG2 4
00583 #define PR_BITS_PER_INT_LOG2 5
00584 #define PR_BITS_PER_INT64_LOG2 6
00585 #define PR_BITS_PER_LONG_LOG2 5
00586 #define PR_BITS_PER_FLOAT_LOG2 5
00587 #define PR_BITS_PER_DOUBLE_LOG2 6
00588 #define PR_BITS_PER_WORD_LOG2 5
00589
00590 #define PR_ALIGN_OF_SHORT 2
00591 #define PR_ALIGN_OF_INT 4
00592 #define PR_ALIGN_OF_LONG 4
00593 #define PR_ALIGN_OF_INT64 4
00594 #define PR_ALIGN_OF_FLOAT 4
00595 #define PR_ALIGN_OF_DOUBLE 4
00596 #define PR_ALIGN_OF_POINTER 4
00597 #define PR_ALIGN_OF_WORD 4
00598
00599 #define PR_BYTES_PER_WORD_LOG2 2
00600 #define PR_BYTES_PER_DWORD_LOG2 3
00601
00602 #else
00603
00604 #error "Unknown CPU architecture"
00605
00606 #endif
00607
00608 #define HAVE_LONG_LONG 1
00609 #if PR_ALIGN_OF_DOUBLE == 8
00610 #define HAVE_ALIGNED_DOUBLES
00611 #endif
00612 #if PR_ALIGN_OF_INT64 == 8
00613 #define HAVE_ALIGNED_LONGLONGS
00614 #endif
00615
00616 #ifndef NO_NSPR_10_SUPPORT
00617
00618 #define BYTES_PER_BYTE PR_BYTES_PER_BYTE
00619 #define BYTES_PER_SHORT PR_BYTES_PER_SHORT
00620 #define BYTES_PER_INT PR_BYTES_PER_INT
00621 #define BYTES_PER_INT64 PR_BYTES_PER_INT64
00622 #define BYTES_PER_LONG PR_BYTES_PER_LONG
00623 #define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT
00624 #define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE
00625 #define BYTES_PER_WORD PR_BYTES_PER_WORD
00626 #define BYTES_PER_DWORD PR_BYTES_PER_DWORD
00627
00628 #define BITS_PER_BYTE PR_BITS_PER_BYTE
00629 #define BITS_PER_SHORT PR_BITS_PER_SHORT
00630 #define BITS_PER_INT PR_BITS_PER_INT
00631 #define BITS_PER_INT64 PR_BITS_PER_INT64
00632 #ifndef BITS_PER_LONG
00633 #define BITS_PER_LONG PR_BITS_PER_LONG
00634 #endif
00635 #define BITS_PER_FLOAT PR_BITS_PER_FLOAT
00636 #define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE
00637 #define BITS_PER_WORD PR_BITS_PER_WORD
00638
00639 #define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2
00640 #define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
00641 #define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2
00642 #define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
00643 #define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2
00644 #define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
00645 #define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2
00646 #define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2
00647
00648 #define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT
00649 #define ALIGN_OF_INT PR_ALIGN_OF_INT
00650 #define ALIGN_OF_LONG PR_ALIGN_OF_LONG
00651 #define ALIGN_OF_INT64 PR_ALIGN_OF_INT64
00652 #define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT
00653 #define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE
00654 #define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER
00655 #define ALIGN_OF_WORD PR_ALIGN_OF_WORD
00656
00657 #define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2
00658 #define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2
00659 #define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2
00660
00661 #endif
00662
00663 #endif