1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2/* 3 * The contents of this file are subject to the Mozilla Public 4 * License Version 1.1 (the "License"); you may not use this file 5 * except in compliance with the License. You may obtain a copy of 6 * the License at http://www.mozilla.org/MPL/ 7 * 8 * Software distributed under the License is distributed on an "AS 9 * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or 10 * implied. See the License for the specific language governing 11 * rights and limitations under the License. 12 * 13 * The Original Code is the Netscape Portable Runtime (NSPR). 14 * 15 * The Initial Developer of the Original Code is Netscape 16 * Communications Corporation. Portions created by Netscape are 17 * Copyright (C) 1998-2000 Netscape Communications Corporation. All 18 * Rights Reserved. 19 * 20 * Contributor(s): 21 * 22 * Alternatively, the contents of this file may be used under the 23 * terms of the GNU General Public License Version 2 or later (the 24 * "GPL"), in which case the provisions of the GPL are applicable 25 * instead of those above. If you wish to allow use of your 26 * version of this file only under the terms of the GPL and not to 27 * allow others to use your version of this file under the MPL, 28 * indicate your decision by deleting the provisions above and 29 * replace them with the notice and other provisions required by 30 * the GPL. If you do not delete the provisions above, a recipient 31 * may use your version of this file under either the MPL or the 32 * GPL. 33 */ 34 35#ifndef nspr_cpucfg___ 36#define nspr_cpucfg___ 37 38#ifndef XP_UNIX 39#define XP_UNIX 40#endif 41 42#ifndef LINUX 43#define LINUX 44#endif 45 46#define PR_AF_INET6 10 /* same as AF_INET6 */ 47 48#ifdef __powerpc__ 49 50#undef IS_LITTLE_ENDIAN 51#define IS_BIG_ENDIAN 1 52 53#define PR_BYTES_PER_BYTE 1 54#define PR_BYTES_PER_SHORT 2 55#define PR_BYTES_PER_INT 4 56#define PR_BYTES_PER_INT64 8 57#define PR_BYTES_PER_LONG 4 58#define PR_BYTES_PER_FLOAT 4 59#define PR_BYTES_PER_DOUBLE 8 60#define PR_BYTES_PER_WORD 4 61#define PR_BYTES_PER_DWORD 8 62 63#define PR_BITS_PER_BYTE 8 64#define PR_BITS_PER_SHORT 16 65#define PR_BITS_PER_INT 32 66#define PR_BITS_PER_INT64 64 67#define PR_BITS_PER_LONG 32 68#define PR_BITS_PER_FLOAT 32 69#define PR_BITS_PER_DOUBLE 64 70#define PR_BITS_PER_WORD 32 71 72#define PR_BITS_PER_BYTE_LOG2 3 73#define PR_BITS_PER_SHORT_LOG2 4 74#define PR_BITS_PER_INT_LOG2 5 75#define PR_BITS_PER_INT64_LOG2 6 76#define PR_BITS_PER_LONG_LOG2 5 77#define PR_BITS_PER_FLOAT_LOG2 5 78#define PR_BITS_PER_DOUBLE_LOG2 6 79#define PR_BITS_PER_WORD_LOG2 5 80 81#define PR_ALIGN_OF_SHORT 2 82#define PR_ALIGN_OF_INT 4 83#define PR_ALIGN_OF_LONG 4 84#define PR_ALIGN_OF_INT64 8 85#define PR_ALIGN_OF_FLOAT 4 86#define PR_ALIGN_OF_DOUBLE 8 87#define PR_ALIGN_OF_POINTER 4 88#define PR_ALIGN_OF_WORD 4 89 90#define PR_BYTES_PER_WORD_LOG2 2 91#define PR_BYTES_PER_DWORD_LOG2 3 92 93#elif defined(__alpha) 94 95#define IS_LITTLE_ENDIAN 1 96#undef IS_BIG_ENDIAN 97#define IS_64 98 99#define PR_BYTES_PER_BYTE 1 100#define PR_BYTES_PER_SHORT 2 101#define PR_BYTES_PER_INT 4 102#define PR_BYTES_PER_INT64 8 103#define PR_BYTES_PER_LONG 8 104#define PR_BYTES_PER_FLOAT 4 105#define PR_BYTES_PER_DOUBLE 8 106#define PR_BYTES_PER_WORD 8 107#define PR_BYTES_PER_DWORD 8 108 109#define PR_BITS_PER_BYTE 8 110#define PR_BITS_PER_SHORT 16 111#define PR_BITS_PER_INT 32 112#define PR_BITS_PER_INT64 64 113#define PR_BITS_PER_LONG 64 114#define PR_BITS_PER_FLOAT 32 115#define PR_BITS_PER_DOUBLE 64 116#define PR_BITS_PER_WORD 64 117 118#define PR_BITS_PER_BYTE_LOG2 3 119#define PR_BITS_PER_SHORT_LOG2 4 120#define PR_BITS_PER_INT_LOG2 5 121#define PR_BITS_PER_INT64_LOG2 6 122#define PR_BITS_PER_LONG_LOG2 6 123#define PR_BITS_PER_FLOAT_LOG2 5 124#define PR_BITS_PER_DOUBLE_LOG2 6 125#define PR_BITS_PER_WORD_LOG2 6 126 127#define PR_ALIGN_OF_SHORT 2 128#define PR_ALIGN_OF_INT 4 129#define PR_ALIGN_OF_LONG 8 130#define PR_ALIGN_OF_INT64 8 131#define PR_ALIGN_OF_FLOAT 4 132#define PR_ALIGN_OF_DOUBLE 8 133#define PR_ALIGN_OF_POINTER 8 134#define PR_ALIGN_OF_WORD 8 135 136#define PR_BYTES_PER_WORD_LOG2 3 137#define PR_BYTES_PER_DWORD_LOG2 3 138 139#elif defined(__ia64__) 140 141#define IS_LITTLE_ENDIAN 1 142#undef IS_BIG_ENDIAN 143#define IS_64 144 145#define PR_BYTES_PER_BYTE 1 146#define PR_BYTES_PER_SHORT 2 147#define PR_BYTES_PER_INT 4 148#define PR_BYTES_PER_INT64 8 149#define PR_BYTES_PER_LONG 8 150#define PR_BYTES_PER_FLOAT 4 151#define PR_BYTES_PER_DOUBLE 8 152#define PR_BYTES_PER_WORD 8 153#define PR_BYTES_PER_DWORD 8 154 155#define PR_BITS_PER_BYTE 8 156#define PR_BITS_PER_SHORT 16 157#define PR_BITS_PER_INT 32 158#define PR_BITS_PER_INT64 64 159#define PR_BITS_PER_LONG 64 160#define PR_BITS_PER_FLOAT 32 161#define PR_BITS_PER_DOUBLE 64 162#define PR_BITS_PER_WORD 64 163 164#define PR_BITS_PER_BYTE_LOG2 3 165#define PR_BITS_PER_SHORT_LOG2 4 166#define PR_BITS_PER_INT_LOG2 5 167#define PR_BITS_PER_INT64_LOG2 6 168#define PR_BITS_PER_LONG_LOG2 6 169#define PR_BITS_PER_FLOAT_LOG2 5 170#define PR_BITS_PER_DOUBLE_LOG2 6 171#define PR_BITS_PER_WORD_LOG2 6 172 173#define PR_ALIGN_OF_SHORT 2 174#define PR_ALIGN_OF_INT 4 175#define PR_ALIGN_OF_LONG 8 176#define PR_ALIGN_OF_INT64 8 177#define PR_ALIGN_OF_FLOAT 4 178#define PR_ALIGN_OF_DOUBLE 8 179#define PR_ALIGN_OF_POINTER 8 180#define PR_ALIGN_OF_WORD 8 181 182#define PR_BYTES_PER_WORD_LOG2 3 183#define PR_BYTES_PER_DWORD_LOG2 3 184 185#elif defined(__x86_64__) 186 187#define IS_LITTLE_ENDIAN 1 188#undef IS_BIG_ENDIAN 189#define IS_64 190 191#define PR_BYTES_PER_BYTE 1 192#define PR_BYTES_PER_SHORT 2 193#define PR_BYTES_PER_INT 4 194#define PR_BYTES_PER_INT64 8 195#define PR_BYTES_PER_LONG 8 196#define PR_BYTES_PER_FLOAT 4 197#define PR_BYTES_PER_DOUBLE 8 198#define PR_BYTES_PER_WORD 8 199#define PR_BYTES_PER_DWORD 8 200 201#define PR_BITS_PER_BYTE 8 202#define PR_BITS_PER_SHORT 16 203#define PR_BITS_PER_INT 32 204#define PR_BITS_PER_INT64 64 205#define PR_BITS_PER_LONG 64 206#define PR_BITS_PER_FLOAT 32 207#define PR_BITS_PER_DOUBLE 64 208#define PR_BITS_PER_WORD 64 209 210#define PR_BITS_PER_BYTE_LOG2 3 211#define PR_BITS_PER_SHORT_LOG2 4 212#define PR_BITS_PER_INT_LOG2 5 213#define PR_BITS_PER_INT64_LOG2 6 214#define PR_BITS_PER_LONG_LOG2 6 215#define PR_BITS_PER_FLOAT_LOG2 5 216#define PR_BITS_PER_DOUBLE_LOG2 6 217#define PR_BITS_PER_WORD_LOG2 6 218 219#define PR_ALIGN_OF_SHORT 2 220#define PR_ALIGN_OF_INT 4 221#define PR_ALIGN_OF_LONG 8 222#define PR_ALIGN_OF_INT64 8 223#define PR_ALIGN_OF_FLOAT 4 224#define PR_ALIGN_OF_DOUBLE 8 225#define PR_ALIGN_OF_POINTER 8 226#define PR_ALIGN_OF_WORD 8 227 228#define PR_BYTES_PER_WORD_LOG2 3 229#define PR_BYTES_PER_DWORD_LOG2 3 230 231#elif defined(__mc68000__) 232 233#undef IS_LITTLE_ENDIAN 234#define IS_BIG_ENDIAN 1 235 236#define PR_BYTES_PER_BYTE 1 237#define PR_BYTES_PER_SHORT 2 238#define PR_BYTES_PER_INT 4 239#define PR_BYTES_PER_INT64 8 240#define PR_BYTES_PER_LONG 4 241#define PR_BYTES_PER_FLOAT 4 242#define PR_BYTES_PER_DOUBLE 8 243#define PR_BYTES_PER_WORD 4 244#define PR_BYTES_PER_DWORD 8 245 246#define PR_BITS_PER_BYTE 8 247#define PR_BITS_PER_SHORT 16 248#define PR_BITS_PER_INT 32 249#define PR_BITS_PER_INT64 64 250#define PR_BITS_PER_LONG 32 251#define PR_BITS_PER_FLOAT 32 252#define PR_BITS_PER_DOUBLE 64 253#define PR_BITS_PER_WORD 32 254 255#define PR_BITS_PER_BYTE_LOG2 3 256#define PR_BITS_PER_SHORT_LOG2 4 257#define PR_BITS_PER_INT_LOG2 5 258#define PR_BITS_PER_INT64_LOG2 6 259#define PR_BITS_PER_LONG_LOG2 5 260#define PR_BITS_PER_FLOAT_LOG2 5 261#define PR_BITS_PER_DOUBLE_LOG2 6 262#define PR_BITS_PER_WORD_LOG2 5 263 264#define PR_ALIGN_OF_SHORT 2 265#define PR_ALIGN_OF_INT 2 266#define PR_ALIGN_OF_LONG 2 267#define PR_ALIGN_OF_INT64 2 268#define PR_ALIGN_OF_FLOAT 2 269#define PR_ALIGN_OF_DOUBLE 2 270#define PR_ALIGN_OF_POINTER 2 271#define PR_ALIGN_OF_WORD 2 272 273#define PR_BYTES_PER_WORD_LOG2 2 274#define PR_BYTES_PER_DWORD_LOG2 3 275 276#elif defined(__sparc__) 277 278#undef IS_LITTLE_ENDIAN 279#define IS_BIG_ENDIAN 1 280 281#define PR_BYTES_PER_BYTE 1 282#define PR_BYTES_PER_SHORT 2 283#define PR_BYTES_PER_INT 4 284#define PR_BYTES_PER_INT64 8 285#define PR_BYTES_PER_LONG 4 286#define PR_BYTES_PER_FLOAT 4 287#define PR_BYTES_PER_DOUBLE 8 288#define PR_BYTES_PER_WORD 4 289#define PR_BYTES_PER_DWORD 8 290 291#define PR_BITS_PER_BYTE 8 292#define PR_BITS_PER_SHORT 16 293#define PR_BITS_PER_INT 32 294#define PR_BITS_PER_INT64 64 295#define PR_BITS_PER_LONG 32 296#define PR_BITS_PER_FLOAT 32 297#define PR_BITS_PER_DOUBLE 64 298#define PR_BITS_PER_WORD 32 299 300#define PR_BITS_PER_BYTE_LOG2 3 301#define PR_BITS_PER_SHORT_LOG2 4 302#define PR_BITS_PER_INT_LOG2 5 303#define PR_BITS_PER_INT64_LOG2 6 304#define PR_BITS_PER_LONG_LOG2 5 305#define PR_BITS_PER_FLOAT_LOG2 5 306#define PR_BITS_PER_DOUBLE_LOG2 6 307#define PR_BITS_PER_WORD_LOG2 5 308 309#define PR_ALIGN_OF_SHORT 2 310#define PR_ALIGN_OF_INT 4 311#define PR_ALIGN_OF_LONG 4 312#define PR_ALIGN_OF_INT64 8 313#define PR_ALIGN_OF_FLOAT 4 314#define PR_ALIGN_OF_DOUBLE 8 315#define PR_ALIGN_OF_POINTER 4 316#define PR_ALIGN_OF_WORD 4 317 318#define PR_BYTES_PER_WORD_LOG2 2 319#define PR_BYTES_PER_DWORD_LOG2 3 320 321#elif defined(__i386__) 322 323#define IS_LITTLE_ENDIAN 1 324#undef IS_BIG_ENDIAN 325 326#define PR_BYTES_PER_BYTE 1 327#define PR_BYTES_PER_SHORT 2 328#define PR_BYTES_PER_INT 4 329#define PR_BYTES_PER_INT64 8 330#define PR_BYTES_PER_LONG 4 331#define PR_BYTES_PER_FLOAT 4 332#define PR_BYTES_PER_DOUBLE 8 333#define PR_BYTES_PER_WORD 4 334#define PR_BYTES_PER_DWORD 8 335 336#define PR_BITS_PER_BYTE 8 337#define PR_BITS_PER_SHORT 16 338#define PR_BITS_PER_INT 32 339#define PR_BITS_PER_INT64 64 340#define PR_BITS_PER_LONG 32 341#define PR_BITS_PER_FLOAT 32 342#define PR_BITS_PER_DOUBLE 64 343#define PR_BITS_PER_WORD 32 344 345#define PR_BITS_PER_BYTE_LOG2 3 346#define PR_BITS_PER_SHORT_LOG2 4 347#define PR_BITS_PER_INT_LOG2 5 348#define PR_BITS_PER_INT64_LOG2 6 349#define PR_BITS_PER_LONG_LOG2 5 350#define PR_BITS_PER_FLOAT_LOG2 5 351#define PR_BITS_PER_DOUBLE_LOG2 6 352#define PR_BITS_PER_WORD_LOG2 5 353 354#define PR_ALIGN_OF_SHORT 2 355#define PR_ALIGN_OF_INT 4 356#define PR_ALIGN_OF_LONG 4 357#define PR_ALIGN_OF_INT64 4 358#define PR_ALIGN_OF_FLOAT 4 359#define PR_ALIGN_OF_DOUBLE 4 360#define PR_ALIGN_OF_POINTER 4 361#define PR_ALIGN_OF_WORD 4 362 363#define PR_BYTES_PER_WORD_LOG2 2 364#define PR_BYTES_PER_DWORD_LOG2 3 365 366#elif defined(__mips__) 367 368#ifdef __MIPSEB__ 369#define IS_BIG_ENDIAN 1 370#undef IS_LITTLE_ENDIAN 371#elif defined(__MIPSEL__) 372#define IS_LITTLE_ENDIAN 1 373#undef IS_BIG_ENDIAN 374#else 375#error "Unknown MIPS endianness." 376#endif 377 378#define PR_BYTES_PER_BYTE 1 379#define PR_BYTES_PER_SHORT 2 380#define PR_BYTES_PER_INT 4 381#define PR_BYTES_PER_INT64 8 382#define PR_BYTES_PER_LONG 4 383#define PR_BYTES_PER_FLOAT 4 384#define PR_BYTES_PER_DOUBLE 8 385#define PR_BYTES_PER_WORD 4 386#define PR_BYTES_PER_DWORD 8 387 388#define PR_BITS_PER_BYTE 8 389#define PR_BITS_PER_SHORT 16 390#define PR_BITS_PER_INT 32 391#define PR_BITS_PER_INT64 64 392#define PR_BITS_PER_LONG 32 393#define PR_BITS_PER_FLOAT 32 394#define PR_BITS_PER_DOUBLE 64 395#define PR_BITS_PER_WORD 32 396 397#define PR_BITS_PER_BYTE_LOG2 3 398#define PR_BITS_PER_SHORT_LOG2 4 399#define PR_BITS_PER_INT_LOG2 5 400#define PR_BITS_PER_INT64_LOG2 6 401#define PR_BITS_PER_LONG_LOG2 5 402#define PR_BITS_PER_FLOAT_LOG2 5 403#define PR_BITS_PER_DOUBLE_LOG2 6 404#define PR_BITS_PER_WORD_LOG2 5 405 406#define PR_ALIGN_OF_SHORT 2 407#define PR_ALIGN_OF_INT 4 408#define PR_ALIGN_OF_LONG 4 409#define PR_ALIGN_OF_INT64 8 410#define PR_ALIGN_OF_FLOAT 4 411#define PR_ALIGN_OF_DOUBLE 8 412#define PR_ALIGN_OF_POINTER 4 413#define PR_ALIGN_OF_WORD 4 414 415#define PR_BYTES_PER_WORD_LOG2 2 416#define PR_BYTES_PER_DWORD_LOG2 3 417 418#elif defined(__arm__) 419 420#define IS_LITTLE_ENDIAN 1 421#undef IS_BIG_ENDIAN 422 423#define PR_BYTES_PER_BYTE 1 424#define PR_BYTES_PER_SHORT 2 425#define PR_BYTES_PER_INT 4 426#define PR_BYTES_PER_INT64 8 427#define PR_BYTES_PER_LONG 4 428#define PR_BYTES_PER_FLOAT 4 429#define PR_BYTES_PER_DOUBLE 8 430#define PR_BYTES_PER_WORD 4 431#define PR_BYTES_PER_DWORD 8 432 433#define PR_BITS_PER_BYTE 8 434#define PR_BITS_PER_SHORT 16 435#define PR_BITS_PER_INT 32 436#define PR_BITS_PER_INT64 64 437#define PR_BITS_PER_LONG 32 438#define PR_BITS_PER_FLOAT 32 439#define PR_BITS_PER_DOUBLE 64 440#define PR_BITS_PER_WORD 32 441 442#define PR_BITS_PER_BYTE_LOG2 3 443#define PR_BITS_PER_SHORT_LOG2 4 444#define PR_BITS_PER_INT_LOG2 5 445#define PR_BITS_PER_INT64_LOG2 6 446#define PR_BITS_PER_LONG_LOG2 5 447#define PR_BITS_PER_FLOAT_LOG2 5 448#define PR_BITS_PER_DOUBLE_LOG2 6 449#define PR_BITS_PER_WORD_LOG2 5 450 451#define PR_ALIGN_OF_SHORT 2 452#define PR_ALIGN_OF_INT 4 453#define PR_ALIGN_OF_LONG 4 454#define PR_ALIGN_OF_INT64 4 455#define PR_ALIGN_OF_FLOAT 4 456#define PR_ALIGN_OF_DOUBLE 4 457#define PR_ALIGN_OF_POINTER 4 458#define PR_ALIGN_OF_WORD 4 459 460#define PR_BYTES_PER_WORD_LOG2 2 461#define PR_BYTES_PER_DWORD_LOG2 3 462 463#elif defined(__hppa__) 464 465#undef IS_LITTLE_ENDIAN 466#define IS_BIG_ENDIAN 1 467 468#define PR_BYTES_PER_BYTE 1 469#define PR_BYTES_PER_SHORT 2 470#define PR_BYTES_PER_INT 4 471#define PR_BYTES_PER_INT64 8 472#define PR_BYTES_PER_LONG 4 473#define PR_BYTES_PER_FLOAT 4 474#define PR_BYTES_PER_DOUBLE 8 475#define PR_BYTES_PER_WORD 4 476#define PR_BYTES_PER_DWORD 8 477 478#define PR_BITS_PER_BYTE 8 479#define PR_BITS_PER_SHORT 16 480#define PR_BITS_PER_INT 32 481#define PR_BITS_PER_INT64 64 482#define PR_BITS_PER_LONG 32 483#define PR_BITS_PER_FLOAT 32 484#define PR_BITS_PER_DOUBLE 64 485#define PR_BITS_PER_WORD 32 486 487#define PR_BITS_PER_BYTE_LOG2 3 488#define PR_BITS_PER_SHORT_LOG2 4 489#define PR_BITS_PER_INT_LOG2 5 490#define PR_BITS_PER_INT64_LOG2 6 491#define PR_BITS_PER_LONG_LOG2 5 492#define PR_BITS_PER_FLOAT_LOG2 5 493#define PR_BITS_PER_DOUBLE_LOG2 6 494#define PR_BITS_PER_WORD_LOG2 5 495 496#define PR_ALIGN_OF_SHORT 2 497#define PR_ALIGN_OF_INT 4 498#define PR_ALIGN_OF_LONG 4 499#define PR_ALIGN_OF_INT64 8 500#define PR_ALIGN_OF_FLOAT 4 501#define PR_ALIGN_OF_DOUBLE 8 502#define PR_ALIGN_OF_POINTER 4 503#define PR_ALIGN_OF_WORD 4 504 505#define PR_BYTES_PER_WORD_LOG2 2 506#define PR_BYTES_PER_DWORD_LOG2 3 507 508#elif defined(__s390__) 509 510#define IS_BIG_ENDIAN 1 511#undef IS_LITTLE_ENDIAN 512 513#define PR_BYTES_PER_BYTE 1 514#define PR_BYTES_PER_SHORT 2 515#define PR_BYTES_PER_INT 4 516#define PR_BYTES_PER_INT64 8 517#define PR_BYTES_PER_LONG 4 518#define PR_BYTES_PER_FLOAT 4 519#define PR_BYTES_PER_DOUBLE 8 520#define PR_BYTES_PER_WORD 4 521#define PR_BYTES_PER_DWORD 8 522 523#define PR_BITS_PER_BYTE 8 524#define PR_BITS_PER_SHORT 16 525#define PR_BITS_PER_INT 32 526#define PR_BITS_PER_INT64 64 527#define PR_BITS_PER_LONG 32 528#define PR_BITS_PER_FLOAT 32 529#define PR_BITS_PER_DOUBLE 64 530#define PR_BITS_PER_WORD 32 531 532#define PR_BITS_PER_BYTE_LOG2 3 533#define PR_BITS_PER_SHORT_LOG2 4 534#define PR_BITS_PER_INT_LOG2 5 535#define PR_BITS_PER_INT64_LOG2 6 536#define PR_BITS_PER_LONG_LOG2 5 537#define PR_BITS_PER_FLOAT_LOG2 5 538#define PR_BITS_PER_DOUBLE_LOG2 6 539#define PR_BITS_PER_WORD_LOG2 5 540 541#define PR_ALIGN_OF_SHORT 2 542#define PR_ALIGN_OF_INT 4 543#define PR_ALIGN_OF_LONG 4 544#define PR_ALIGN_OF_INT64 4 545#define PR_ALIGN_OF_FLOAT 4 546#define PR_ALIGN_OF_DOUBLE 4 547#define PR_ALIGN_OF_POINTER 4 548#define PR_ALIGN_OF_WORD 4 549 550#define PR_BYTES_PER_WORD_LOG2 2 551#define PR_BYTES_PER_DWORD_LOG2 3 552 553#elif defined(__s390x__) 554 555#define IS_BIG_ENDIAN 1 556#undef IS_LITTLE_ENDIAN 557#define IS_64 558 559#define PR_BYTES_PER_BYTE 1 560#define PR_BYTES_PER_SHORT 2 561#define PR_BYTES_PER_INT 4 562#define PR_BYTES_PER_INT64 8 563#define PR_BYTES_PER_LONG 8 564#define PR_BYTES_PER_FLOAT 4 565#define PR_BYTES_PER_DOUBLE 8 566#define PR_BYTES_PER_WORD 8 567#define PR_BYTES_PER_DWORD 8 568 569#define PR_BITS_PER_BYTE 8 570#define PR_BITS_PER_SHORT 16 571#define PR_BITS_PER_INT 32 572#define PR_BITS_PER_INT64 64 573#define PR_BITS_PER_LONG 64 574#define PR_BITS_PER_FLOAT 32 575#define PR_BITS_PER_DOUBLE 64 576#define PR_BITS_PER_WORD 64 577 578#define PR_BITS_PER_BYTE_LOG2 3 579#define PR_BITS_PER_SHORT_LOG2 4 580#define PR_BITS_PER_INT_LOG2 5 581#define PR_BITS_PER_INT64_LOG2 6 582#define PR_BITS_PER_LONG_LOG2 6 583#define PR_BITS_PER_FLOAT_LOG2 5 584#define PR_BITS_PER_DOUBLE_LOG2 6 585#define PR_BITS_PER_WORD_LOG2 6 586 587#define PR_ALIGN_OF_SHORT 2 588#define PR_ALIGN_OF_INT 4 589#define PR_ALIGN_OF_LONG 8 590#define PR_ALIGN_OF_INT64 8 591#define PR_ALIGN_OF_FLOAT 4 592#define PR_ALIGN_OF_DOUBLE 8 593#define PR_ALIGN_OF_POINTER 8 594#define PR_ALIGN_OF_WORD 8 595 596#define PR_BYTES_PER_WORD_LOG2 3 597#define PR_BYTES_PER_DWORD_LOG2 3 598 599#else 600 601#error "Unknown CPU architecture" 602 603#endif 604 605#define HAVE_LONG_LONG 606#if PR_ALIGN_OF_DOUBLE == 8 607#define HAVE_ALIGNED_DOUBLES 608#endif 609#if PR_ALIGN_OF_INT64 == 8 610#define HAVE_ALIGNED_LONGLONGS 611#endif 612 613#ifndef NO_NSPR_10_SUPPORT 614 615#define BYTES_PER_BYTE PR_BYTES_PER_BYTE 616#define BYTES_PER_SHORT PR_BYTES_PER_SHORT 617#define BYTES_PER_INT PR_BYTES_PER_INT 618#define BYTES_PER_INT64 PR_BYTES_PER_INT64 619#define BYTES_PER_LONG PR_BYTES_PER_LONG 620#define BYTES_PER_FLOAT PR_BYTES_PER_FLOAT 621#define BYTES_PER_DOUBLE PR_BYTES_PER_DOUBLE 622#define BYTES_PER_WORD PR_BYTES_PER_WORD 623#define BYTES_PER_DWORD PR_BYTES_PER_DWORD 624 625#define BITS_PER_BYTE PR_BITS_PER_BYTE 626#define BITS_PER_SHORT PR_BITS_PER_SHORT 627#define BITS_PER_INT PR_BITS_PER_INT 628#define BITS_PER_INT64 PR_BITS_PER_INT64 629#define BITS_PER_LONG PR_BITS_PER_LONG 630#define BITS_PER_FLOAT PR_BITS_PER_FLOAT 631#define BITS_PER_DOUBLE PR_BITS_PER_DOUBLE 632#define BITS_PER_WORD PR_BITS_PER_WORD 633 634#define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2 635#define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2 636#define BITS_PER_INT_LOG2 PR_BITS_PER_INT_LOG2 637#define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2 638#define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2 639#define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2 640#define BITS_PER_DOUBLE_LOG2 PR_BITS_PER_DOUBLE_LOG2 641#define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2 642 643#define ALIGN_OF_SHORT PR_ALIGN_OF_SHORT 644#define ALIGN_OF_INT PR_ALIGN_OF_INT 645#define ALIGN_OF_LONG PR_ALIGN_OF_LONG 646#define ALIGN_OF_INT64 PR_ALIGN_OF_INT64 647#define ALIGN_OF_FLOAT PR_ALIGN_OF_FLOAT 648#define ALIGN_OF_DOUBLE PR_ALIGN_OF_DOUBLE 649#define ALIGN_OF_POINTER PR_ALIGN_OF_POINTER 650#define ALIGN_OF_WORD PR_ALIGN_OF_WORD 651 652#define BYTES_PER_WORD_LOG2 PR_BYTES_PER_WORD_LOG2 653#define BYTES_PER_DWORD_LOG2 PR_BYTES_PER_DWORD_LOG2 654#define WORDS_PER_DWORD_LOG2 PR_WORDS_PER_DWORD_LOG2 655 656#endif /* NO_NSPR_10_SUPPORT */ 657 658#endif /* nspr_cpucfg___ */ 659