Annotation of sbbs/include/mozilla/nspr/prcpucfg.h, revision 1.1.1.1

1.1       root        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: #ifdef _WIN32
                     39: 
                     40: #ifndef XP_PC
                     41: #define XP_PC
                     42: #endif
                     43: 
                     44: #ifndef WIN32
                     45: #define WIN32
                     46: #endif
                     47: 
                     48: #ifndef WIN95
                     49: #define WIN95
                     50: #endif
                     51: 
                     52: #define PR_AF_INET6 23  /* same as AF_INET6 */
                     53: 
                     54: #if defined(_M_IX86) || defined(_X86_)
                     55: 
                     56: #define IS_LITTLE_ENDIAN 1
                     57: #undef  IS_BIG_ENDIAN
                     58: 
                     59: #define PR_BYTES_PER_BYTE   1
                     60: #define PR_BYTES_PER_SHORT  2
                     61: #define PR_BYTES_PER_INT    4
                     62: #define PR_BYTES_PER_INT64  8
                     63: #define PR_BYTES_PER_LONG   4
                     64: #define PR_BYTES_PER_FLOAT  4
                     65: #define PR_BYTES_PER_WORD  4
                     66: #define PR_BYTES_PER_DWORD 8
                     67: #define PR_BYTES_PER_DOUBLE 8
                     68: 
                     69: #define PR_BITS_PER_BYTE    8
                     70: #define PR_BITS_PER_SHORT   16
                     71: #define PR_BITS_PER_INT     32
                     72: #define PR_BITS_PER_INT64   64
                     73: #define PR_BITS_PER_LONG    32
                     74: #define PR_BITS_PER_FLOAT   32
                     75: #define PR_BITS_PER_WORD   32
                     76: #define PR_BITS_PER_DWORD  64
                     77: #define PR_BITS_PER_DOUBLE  64
                     78: 
                     79: #define PR_BITS_PER_BYTE_LOG2   3
                     80: #define PR_BITS_PER_SHORT_LOG2  4
                     81: #define PR_BITS_PER_INT_LOG2    5
                     82: #define PR_BITS_PER_INT64_LOG2  6
                     83: #define PR_BITS_PER_LONG_LOG2   5
                     84: #define PR_BITS_PER_FLOAT_LOG2  5
                     85: #define PR_BITS_PER_WORD_LOG2  5
                     86: #define PR_BITS_PER_DWORD_LOG2 6
                     87: #define PR_BITS_PER_DOUBLE_LOG2 6
                     88: 
                     89: #define PR_ALIGN_OF_SHORT   2
                     90: #define PR_ALIGN_OF_INT     4
                     91: #define PR_ALIGN_OF_LONG    4
                     92: #define PR_ALIGN_OF_INT64   8
                     93: #define PR_ALIGN_OF_FLOAT   4
                     94: #define PR_ALIGN_OF_WORD   4
                     95: #define PR_ALIGN_OF_DWORD  8
                     96: #define PR_ALIGN_OF_DOUBLE  4
                     97: #define PR_ALIGN_OF_POINTER 4
                     98: 
                     99: #define PR_BYTES_PER_WORD_LOG2 2
                    100: #define PR_BYTES_PER_DWORD_LOG2    2
                    101: 
                    102: #elif defined(_ALPHA_)
                    103: 
                    104: #define IS_LITTLE_ENDIAN 1
                    105: #undef  IS_BIG_ENDIAN
                    106: 
                    107: #define PR_BYTES_PER_BYTE   1
                    108: #define PR_BYTES_PER_SHORT  2
                    109: #define PR_BYTES_PER_INT    4
                    110: #define PR_BYTES_PER_INT64  8
                    111: #define PR_BYTES_PER_LONG   4
                    112: #define PR_BYTES_PER_FLOAT  4
                    113: #define PR_BYTES_PER_DOUBLE 8
                    114: #define PR_BYTES_PER_WORD   4
                    115: #define PR_BYTES_PER_DWORD  8
                    116: 
                    117: #define PR_BITS_PER_BYTE    8
                    118: #define PR_BITS_PER_SHORT   16
                    119: #define PR_BITS_PER_INT     32
                    120: #define PR_BITS_PER_INT64   64
                    121: #define PR_BITS_PER_LONG    32
                    122: #define PR_BITS_PER_FLOAT   32
                    123: #define PR_BITS_PER_DOUBLE  64
                    124: #define PR_BITS_PER_WORD    32
                    125: 
                    126: #define PR_BITS_PER_BYTE_LOG2   3
                    127: #define PR_BITS_PER_SHORT_LOG2  4
                    128: #define PR_BITS_PER_INT_LOG2    5
                    129: #define PR_BITS_PER_INT64_LOG2  6
                    130: #define PR_BITS_PER_LONG_LOG2   5
                    131: #define PR_BITS_PER_FLOAT_LOG2  5
                    132: #define PR_BITS_PER_DOUBLE_LOG2 6
                    133: #define PR_BITS_PER_WORD_LOG2   5
                    134: 
                    135: #define PR_BYTES_PER_WORD_LOG2  2
                    136: #define PR_BYTES_PER_DWORD_LOG2 3
                    137: 
                    138: #define PR_ALIGN_OF_SHORT   2
                    139: #define PR_ALIGN_OF_INT     4
                    140: #define PR_ALIGN_OF_LONG    4
                    141: #define PR_ALIGN_OF_INT64   8
                    142: #define PR_ALIGN_OF_FLOAT   4
                    143: #define PR_ALIGN_OF_DOUBLE  8
                    144: #define PR_ALIGN_OF_POINTER 4
                    145: 
                    146: #else /* defined(_M_IX86) || defined(_X86_) */
                    147: 
                    148: #error unknown processor architecture
                    149: 
                    150: #endif /* defined(_M_IX86) || defined(_X86_) */
                    151: 
                    152: #define HAVE_LONG_LONG
                    153: 
                    154: #ifndef NO_NSPR_10_SUPPORT
                    155: 
                    156: #define BYTES_PER_BYTE      PR_BYTES_PER_BYTE
                    157: #define BYTES_PER_SHORT     PR_BYTES_PER_SHORT
                    158: #define BYTES_PER_INT       PR_BYTES_PER_INT
                    159: #define BYTES_PER_INT64     PR_BYTES_PER_INT64
                    160: #define BYTES_PER_LONG      PR_BYTES_PER_LONG
                    161: #define BYTES_PER_FLOAT     PR_BYTES_PER_FLOAT
                    162: #define BYTES_PER_DOUBLE    PR_BYTES_PER_DOUBLE
                    163: #define BYTES_PER_WORD      PR_BYTES_PER_WORD
                    164: #define BYTES_PER_DWORD     PR_BYTES_PER_DWORD
                    165: 
                    166: #define BITS_PER_BYTE       PR_BITS_PER_BYTE
                    167: #define BITS_PER_SHORT      PR_BITS_PER_SHORT
                    168: #define BITS_PER_INT        PR_BITS_PER_INT
                    169: #define BITS_PER_INT64      PR_BITS_PER_INT64
                    170: #define BITS_PER_LONG       PR_BITS_PER_LONG
                    171: #define BITS_PER_FLOAT      PR_BITS_PER_FLOAT
                    172: #define BITS_PER_DOUBLE     PR_BITS_PER_DOUBLE
                    173: #define BITS_PER_WORD       PR_BITS_PER_WORD
                    174: 
                    175: #define BITS_PER_BYTE_LOG2  PR_BITS_PER_BYTE_LOG2
                    176: #define BITS_PER_SHORT_LOG2 PR_BITS_PER_SHORT_LOG2
                    177: #define BITS_PER_INT_LOG2   PR_BITS_PER_INT_LOG2
                    178: #define BITS_PER_INT64_LOG2 PR_BITS_PER_INT64_LOG2
                    179: #define BITS_PER_LONG_LOG2  PR_BITS_PER_LONG_LOG2
                    180: #define BITS_PER_FLOAT_LOG2 PR_BITS_PER_FLOAT_LOG2
                    181: #define BITS_PER_DOUBLE_LOG2    PR_BITS_PER_DOUBLE_LOG2
                    182: #define BITS_PER_WORD_LOG2  PR_BITS_PER_WORD_LOG2
                    183: 
                    184: #define ALIGN_OF_SHORT      PR_ALIGN_OF_SHORT
                    185: #define ALIGN_OF_INT        PR_ALIGN_OF_INT
                    186: #define ALIGN_OF_LONG       PR_ALIGN_OF_LONG
                    187: #define ALIGN_OF_INT64      PR_ALIGN_OF_INT64
                    188: #define ALIGN_OF_FLOAT      PR_ALIGN_OF_FLOAT
                    189: #define ALIGN_OF_DOUBLE     PR_ALIGN_OF_DOUBLE
                    190: #define ALIGN_OF_POINTER    PR_ALIGN_OF_POINTER
                    191: #define ALIGN_OF_WORD       PR_ALIGN_OF_WORD
                    192: 
                    193: #define BYTES_PER_WORD_LOG2        PR_BYTES_PER_WORD_LOG2
                    194: #define BYTES_PER_DWORD_LOG2    PR_BYTES_PER_DWORD_LOG2
                    195: #define WORDS_PER_DWORD_LOG2    PR_WORDS_PER_DWORD_LOG2
                    196: 
                    197: #endif /* NO_NSPR_10_SUPPORT */
                    198: 
                    199: #else  /* Unix */
                    200: 
                    201: #ifndef XP_UNIX
                    202: #define XP_UNIX
                    203: #endif
                    204: 
                    205: #ifndef LINUX
                    206: #define LINUX
                    207: #endif
                    208: 
                    209: #define PR_AF_INET6 10  /* same as AF_INET6 */
                    210: 
                    211: #ifdef __powerpc__
                    212: 
                    213: #undef  IS_LITTLE_ENDIAN
                    214: #define IS_BIG_ENDIAN    1
                    215: 
                    216: #define PR_BYTES_PER_BYTE   1
                    217: #define PR_BYTES_PER_SHORT  2
                    218: #define PR_BYTES_PER_INT    4
                    219: #define PR_BYTES_PER_INT64  8
                    220: #define PR_BYTES_PER_LONG   4
                    221: #define PR_BYTES_PER_FLOAT  4
                    222: #define PR_BYTES_PER_DOUBLE 8
                    223: #define PR_BYTES_PER_WORD   4
                    224: #define PR_BYTES_PER_DWORD  8
                    225: 
                    226: #define PR_BITS_PER_BYTE    8
                    227: #define PR_BITS_PER_SHORT   16
                    228: #define PR_BITS_PER_INT     32
                    229: #define PR_BITS_PER_INT64   64
                    230: #define PR_BITS_PER_LONG    32
                    231: #define PR_BITS_PER_FLOAT   32
                    232: #define PR_BITS_PER_DOUBLE  64
                    233: #define PR_BITS_PER_WORD    32
                    234: 
                    235: #define PR_BITS_PER_BYTE_LOG2   3
                    236: #define PR_BITS_PER_SHORT_LOG2  4
                    237: #define PR_BITS_PER_INT_LOG2    5
                    238: #define PR_BITS_PER_INT64_LOG2  6
                    239: #define PR_BITS_PER_LONG_LOG2   5
                    240: #define PR_BITS_PER_FLOAT_LOG2  5
                    241: #define PR_BITS_PER_DOUBLE_LOG2 6
                    242: #define PR_BITS_PER_WORD_LOG2   5
                    243: 
                    244: #define PR_ALIGN_OF_SHORT   2
                    245: #define PR_ALIGN_OF_INT     4
                    246: #define PR_ALIGN_OF_LONG    4
                    247: #define PR_ALIGN_OF_INT64   8
                    248: #define PR_ALIGN_OF_FLOAT   4
                    249: #define PR_ALIGN_OF_DOUBLE  8
                    250: #define PR_ALIGN_OF_POINTER 4
                    251: #define PR_ALIGN_OF_WORD    4
                    252: 
                    253: #define PR_BYTES_PER_WORD_LOG2   2
                    254: #define PR_BYTES_PER_DWORD_LOG2  3
                    255: 
                    256: #elif defined(__alpha)
                    257: 
                    258: #define IS_LITTLE_ENDIAN 1
                    259: #undef  IS_BIG_ENDIAN
                    260: #define IS_64
                    261: 
                    262: #define PR_BYTES_PER_BYTE   1
                    263: #define PR_BYTES_PER_SHORT  2
                    264: #define PR_BYTES_PER_INT    4
                    265: #define PR_BYTES_PER_INT64  8
                    266: #define PR_BYTES_PER_LONG   8
                    267: #define PR_BYTES_PER_FLOAT  4
                    268: #define PR_BYTES_PER_DOUBLE 8
                    269: #define PR_BYTES_PER_WORD   8
                    270: #define PR_BYTES_PER_DWORD  8
                    271: 
                    272: #define PR_BITS_PER_BYTE    8
                    273: #define PR_BITS_PER_SHORT   16
                    274: #define PR_BITS_PER_INT     32
                    275: #define PR_BITS_PER_INT64   64
                    276: #define PR_BITS_PER_LONG    64
                    277: #define PR_BITS_PER_FLOAT   32
                    278: #define PR_BITS_PER_DOUBLE  64
                    279: #define PR_BITS_PER_WORD    64
                    280: 
                    281: #define PR_BITS_PER_BYTE_LOG2   3
                    282: #define PR_BITS_PER_SHORT_LOG2  4
                    283: #define PR_BITS_PER_INT_LOG2    5
                    284: #define PR_BITS_PER_INT64_LOG2  6
                    285: #define PR_BITS_PER_LONG_LOG2   6
                    286: #define PR_BITS_PER_FLOAT_LOG2  5
                    287: #define PR_BITS_PER_DOUBLE_LOG2 6
                    288: #define PR_BITS_PER_WORD_LOG2   6
                    289: 
                    290: #define PR_ALIGN_OF_SHORT   2
                    291: #define PR_ALIGN_OF_INT     4
                    292: #define PR_ALIGN_OF_LONG    8
                    293: #define PR_ALIGN_OF_INT64   8
                    294: #define PR_ALIGN_OF_FLOAT   4
                    295: #define PR_ALIGN_OF_DOUBLE  8
                    296: #define PR_ALIGN_OF_POINTER 8
                    297: #define PR_ALIGN_OF_WORD    8
                    298: 
                    299: #define PR_BYTES_PER_WORD_LOG2  3
                    300: #define PR_BYTES_PER_DWORD_LOG2 3
                    301: 
                    302: #elif defined(__ia64__)
                    303: 
                    304: #define IS_LITTLE_ENDIAN 1
                    305: #undef  IS_BIG_ENDIAN
                    306: #define IS_64
                    307: 
                    308: #define PR_BYTES_PER_BYTE   1
                    309: #define PR_BYTES_PER_SHORT  2
                    310: #define PR_BYTES_PER_INT    4
                    311: #define PR_BYTES_PER_INT64  8
                    312: #define PR_BYTES_PER_LONG   8
                    313: #define PR_BYTES_PER_FLOAT  4
                    314: #define PR_BYTES_PER_DOUBLE 8
                    315: #define PR_BYTES_PER_WORD   8
                    316: #define PR_BYTES_PER_DWORD  8
                    317: 
                    318: #define PR_BITS_PER_BYTE    8
                    319: #define PR_BITS_PER_SHORT   16
                    320: #define PR_BITS_PER_INT     32
                    321: #define PR_BITS_PER_INT64   64
                    322: #define PR_BITS_PER_LONG    64
                    323: #define PR_BITS_PER_FLOAT   32
                    324: #define PR_BITS_PER_DOUBLE  64
                    325: #define PR_BITS_PER_WORD    64
                    326: 
                    327: #define PR_BITS_PER_BYTE_LOG2   3
                    328: #define PR_BITS_PER_SHORT_LOG2  4
                    329: #define PR_BITS_PER_INT_LOG2    5
                    330: #define PR_BITS_PER_INT64_LOG2  6
                    331: #define PR_BITS_PER_LONG_LOG2   6
                    332: #define PR_BITS_PER_FLOAT_LOG2  5
                    333: #define PR_BITS_PER_DOUBLE_LOG2 6
                    334: #define PR_BITS_PER_WORD_LOG2   6
                    335: 
                    336: #define PR_ALIGN_OF_SHORT   2
                    337: #define PR_ALIGN_OF_INT     4
                    338: #define PR_ALIGN_OF_LONG    8
                    339: #define PR_ALIGN_OF_INT64   8
                    340: #define PR_ALIGN_OF_FLOAT   4
                    341: #define PR_ALIGN_OF_DOUBLE  8
                    342: #define PR_ALIGN_OF_POINTER 8
                    343: #define PR_ALIGN_OF_WORD    8
                    344: 
                    345: #define PR_BYTES_PER_WORD_LOG2  3
                    346: #define PR_BYTES_PER_DWORD_LOG2 3
                    347: 
                    348: #elif defined(__mc68000__)
                    349: 
                    350: #undef  IS_LITTLE_ENDIAN
                    351: #define IS_BIG_ENDIAN 1
                    352: 
                    353: #define PR_BYTES_PER_BYTE   1
                    354: #define PR_BYTES_PER_SHORT  2
                    355: #define PR_BYTES_PER_INT    4
                    356: #define PR_BYTES_PER_INT64  8
                    357: #define PR_BYTES_PER_LONG   4
                    358: #define PR_BYTES_PER_FLOAT  4
                    359: #define PR_BYTES_PER_DOUBLE 8
                    360: #define PR_BYTES_PER_WORD   4
                    361: #define PR_BYTES_PER_DWORD  8
                    362: 
                    363: #define PR_BITS_PER_BYTE    8
                    364: #define PR_BITS_PER_SHORT   16
                    365: #define PR_BITS_PER_INT     32
                    366: #define PR_BITS_PER_INT64   64
                    367: #define PR_BITS_PER_LONG    32
                    368: #define PR_BITS_PER_FLOAT   32
                    369: #define PR_BITS_PER_DOUBLE  64
                    370: #define PR_BITS_PER_WORD    32
                    371: 
                    372: #define PR_BITS_PER_BYTE_LOG2   3
                    373: #define PR_BITS_PER_SHORT_LOG2  4
                    374: #define PR_BITS_PER_INT_LOG2    5
                    375: #define PR_BITS_PER_INT64_LOG2  6
                    376: #define PR_BITS_PER_LONG_LOG2   5
                    377: #define PR_BITS_PER_FLOAT_LOG2  5
                    378: #define PR_BITS_PER_DOUBLE_LOG2 6
                    379: #define PR_BITS_PER_WORD_LOG2   5
                    380: 
                    381: #define PR_ALIGN_OF_SHORT   2
                    382: #define PR_ALIGN_OF_INT     2
                    383: #define PR_ALIGN_OF_LONG    2
                    384: #define PR_ALIGN_OF_INT64   2
                    385: #define PR_ALIGN_OF_FLOAT   2
                    386: #define PR_ALIGN_OF_DOUBLE  2
                    387: #define PR_ALIGN_OF_POINTER 2
                    388: #define PR_ALIGN_OF_WORD    2
                    389: 
                    390: #define PR_BYTES_PER_WORD_LOG2   2
                    391: #define PR_BYTES_PER_DWORD_LOG2  3
                    392: 
                    393: #elif defined(__sparc__)
                    394: 
                    395: #undef IS_LITTLE_ENDIAN
                    396: #define    IS_BIG_ENDIAN 1
                    397: 
                    398: #define PR_BYTES_PER_BYTE   1
                    399: #define PR_BYTES_PER_SHORT  2
                    400: #define PR_BYTES_PER_INT    4
                    401: #define PR_BYTES_PER_INT64  8
                    402: #define PR_BYTES_PER_LONG   4
                    403: #define PR_BYTES_PER_FLOAT  4
                    404: #define PR_BYTES_PER_DOUBLE 8
                    405: #define PR_BYTES_PER_WORD   4
                    406: #define PR_BYTES_PER_DWORD  8
                    407: 
                    408: #define PR_BITS_PER_BYTE    8
                    409: #define PR_BITS_PER_SHORT   16
                    410: #define PR_BITS_PER_INT     32
                    411: #define PR_BITS_PER_INT64   64
                    412: #define PR_BITS_PER_LONG    32
                    413: #define PR_BITS_PER_FLOAT   32
                    414: #define PR_BITS_PER_DOUBLE  64
                    415: #define PR_BITS_PER_WORD    32
                    416: 
                    417: #define PR_BITS_PER_BYTE_LOG2   3
                    418: #define PR_BITS_PER_SHORT_LOG2  4
                    419: #define PR_BITS_PER_INT_LOG2    5
                    420: #define PR_BITS_PER_INT64_LOG2  6
                    421: #define PR_BITS_PER_LONG_LOG2   5
                    422: #define PR_BITS_PER_FLOAT_LOG2  5
                    423: #define PR_BITS_PER_DOUBLE_LOG2 6
                    424: #define PR_BITS_PER_WORD_LOG2   5
                    425: 
                    426: #define PR_ALIGN_OF_SHORT   2
                    427: #define PR_ALIGN_OF_INT     4
                    428: #define PR_ALIGN_OF_LONG    4
                    429: #define PR_ALIGN_OF_INT64   8
                    430: #define PR_ALIGN_OF_FLOAT   4
                    431: #define PR_ALIGN_OF_DOUBLE  8
                    432: #define PR_ALIGN_OF_POINTER 4
                    433: #define PR_ALIGN_OF_WORD    4
                    434: 
                    435: #define PR_BYTES_PER_WORD_LOG2   2
                    436: #define PR_BYTES_PER_DWORD_LOG2  3
                    437: 
                    438: #elif defined(__i386__)
                    439: 
                    440: #define IS_LITTLE_ENDIAN 1
                    441: #undef  IS_BIG_ENDIAN
                    442: 
                    443: #define PR_BYTES_PER_BYTE   1
                    444: #define PR_BYTES_PER_SHORT  2
                    445: #define PR_BYTES_PER_INT    4
                    446: #define PR_BYTES_PER_INT64  8
                    447: #define PR_BYTES_PER_LONG   4
                    448: #define PR_BYTES_PER_FLOAT  4
                    449: #define PR_BYTES_PER_DOUBLE 8
                    450: #define PR_BYTES_PER_WORD   4
                    451: #define PR_BYTES_PER_DWORD  8
                    452: 
                    453: #define PR_BITS_PER_BYTE    8
                    454: #define PR_BITS_PER_SHORT   16
                    455: #define PR_BITS_PER_INT     32
                    456: #define PR_BITS_PER_INT64   64
                    457: #define PR_BITS_PER_LONG    32
                    458: #define PR_BITS_PER_FLOAT   32
                    459: #define PR_BITS_PER_DOUBLE  64
                    460: #define PR_BITS_PER_WORD    32
                    461: 
                    462: #define PR_BITS_PER_BYTE_LOG2   3
                    463: #define PR_BITS_PER_SHORT_LOG2  4
                    464: #define PR_BITS_PER_INT_LOG2    5
                    465: #define PR_BITS_PER_INT64_LOG2  6
                    466: #define PR_BITS_PER_LONG_LOG2   5
                    467: #define PR_BITS_PER_FLOAT_LOG2  5
                    468: #define PR_BITS_PER_DOUBLE_LOG2 6
                    469: #define PR_BITS_PER_WORD_LOG2   5
                    470: 
                    471: #define PR_ALIGN_OF_SHORT   2
                    472: #define PR_ALIGN_OF_INT     4
                    473: #define PR_ALIGN_OF_LONG    4
                    474: #define PR_ALIGN_OF_INT64   4
                    475: #define PR_ALIGN_OF_FLOAT   4
                    476: #define PR_ALIGN_OF_DOUBLE  4
                    477: #define PR_ALIGN_OF_POINTER 4
                    478: #define PR_ALIGN_OF_WORD    4
                    479: 
                    480: #define PR_BYTES_PER_WORD_LOG2   2
                    481: #define PR_BYTES_PER_DWORD_LOG2  3
                    482: 
                    483: #elif defined(__mips__)
                    484: 
                    485: #ifdef __MIPSEB__
                    486: #define IS_BIG_ENDIAN 1
                    487: #undef  IS_LITTLE_ENDIAN
                    488: #elif defined(__MIPSEL__)
                    489: #define IS_LITTLE_ENDIAN 1
                    490: #undef  IS_BIG_ENDIAN
                    491: #else
                    492: #error "Unknown MIPS endianness."
                    493: #endif
                    494: 
                    495: #define PR_BYTES_PER_BYTE   1
                    496: #define PR_BYTES_PER_SHORT  2
                    497: #define PR_BYTES_PER_INT    4
                    498: #define PR_BYTES_PER_INT64  8
                    499: #define PR_BYTES_PER_LONG   4
                    500: #define PR_BYTES_PER_FLOAT  4
                    501: #define PR_BYTES_PER_DOUBLE 8
                    502: #define PR_BYTES_PER_WORD   4
                    503: #define PR_BYTES_PER_DWORD  8
                    504: 
                    505: #define PR_BITS_PER_BYTE    8
                    506: #define PR_BITS_PER_SHORT   16
                    507: #define PR_BITS_PER_INT     32
                    508: #define PR_BITS_PER_INT64   64
                    509: #define PR_BITS_PER_LONG    32
                    510: #define PR_BITS_PER_FLOAT   32
                    511: #define PR_BITS_PER_DOUBLE  64
                    512: #define PR_BITS_PER_WORD    32
                    513: 
                    514: #define PR_BITS_PER_BYTE_LOG2   3
                    515: #define PR_BITS_PER_SHORT_LOG2  4
                    516: #define PR_BITS_PER_INT_LOG2    5
                    517: #define PR_BITS_PER_INT64_LOG2  6
                    518: #define PR_BITS_PER_LONG_LOG2   5
                    519: #define PR_BITS_PER_FLOAT_LOG2  5
                    520: #define PR_BITS_PER_DOUBLE_LOG2 6
                    521: #define PR_BITS_PER_WORD_LOG2   5
                    522: 
                    523: #define PR_ALIGN_OF_SHORT   2
                    524: #define PR_ALIGN_OF_INT     4
                    525: #define PR_ALIGN_OF_LONG    4
                    526: #define PR_ALIGN_OF_INT64   8
                    527: #define PR_ALIGN_OF_FLOAT   4
                    528: #define PR_ALIGN_OF_DOUBLE  8
                    529: #define PR_ALIGN_OF_POINTER 4
                    530: #define PR_ALIGN_OF_WORD    4
                    531: 
                    532: #define PR_BYTES_PER_WORD_LOG2   2
                    533: #define PR_BYTES_PER_DWORD_LOG2  3
                    534: 
                    535: #elif defined(__arm__)
                    536: 
                    537: #define IS_LITTLE_ENDIAN 1
                    538: #undef  IS_BIG_ENDIAN
                    539: 
                    540: #define PR_BYTES_PER_BYTE   1
                    541: #define PR_BYTES_PER_SHORT  2
                    542: #define PR_BYTES_PER_INT    4
                    543: #define PR_BYTES_PER_INT64  8
                    544: #define PR_BYTES_PER_LONG   4
                    545: #define PR_BYTES_PER_FLOAT  4
                    546: #define PR_BYTES_PER_DOUBLE 8
                    547: #define PR_BYTES_PER_WORD   4
                    548: #define PR_BYTES_PER_DWORD  8
                    549: 
                    550: #define PR_BITS_PER_BYTE    8
                    551: #define PR_BITS_PER_SHORT   16
                    552: #define PR_BITS_PER_INT     32
                    553: #define PR_BITS_PER_INT64   64
                    554: #define PR_BITS_PER_LONG    32
                    555: #define PR_BITS_PER_FLOAT   32
                    556: #define PR_BITS_PER_DOUBLE  64
                    557: #define PR_BITS_PER_WORD    32
                    558: 
                    559: #define PR_BITS_PER_BYTE_LOG2   3
                    560: #define PR_BITS_PER_SHORT_LOG2  4
                    561: #define PR_BITS_PER_INT_LOG2    5
                    562: #define PR_BITS_PER_INT64_LOG2  6
                    563: #define PR_BITS_PER_LONG_LOG2   5
                    564: #define PR_BITS_PER_FLOAT_LOG2  5
                    565: #define PR_BITS_PER_DOUBLE_LOG2 6
                    566: #define PR_BITS_PER_WORD_LOG2   5
                    567: 
                    568: #define PR_ALIGN_OF_SHORT   2
                    569: #define PR_ALIGN_OF_INT     4
                    570: #define PR_ALIGN_OF_LONG    4
                    571: #define PR_ALIGN_OF_INT64   4
                    572: #define PR_ALIGN_OF_FLOAT   4
                    573: #define PR_ALIGN_OF_DOUBLE  4
                    574: #define PR_ALIGN_OF_POINTER 4
                    575: #define PR_ALIGN_OF_WORD    4
                    576: 
                    577: #define PR_BYTES_PER_WORD_LOG2   2
                    578: #define PR_BYTES_PER_DWORD_LOG2  3
                    579: 
                    580: #elif defined(__s390__)
                    581: 
                    582: #define IS_BIG_ENDIAN 1
                    583: #undef  IS_LITTLE_ENDIAN
                    584: 
                    585: #define PR_BYTES_PER_BYTE   1
                    586: #define PR_BYTES_PER_SHORT  2
                    587: #define PR_BYTES_PER_INT    4
                    588: #define PR_BYTES_PER_INT64  8
                    589: #define PR_BYTES_PER_LONG   4
                    590: #define PR_BYTES_PER_FLOAT  4
                    591: #define PR_BYTES_PER_DOUBLE 8
                    592: #define PR_BYTES_PER_WORD   4
                    593: #define PR_BYTES_PER_DWORD  8
                    594: 
                    595: #define PR_BITS_PER_BYTE    8
                    596: #define PR_BITS_PER_SHORT   16
                    597: #define PR_BITS_PER_INT     32
                    598: #define PR_BITS_PER_INT64   64
                    599: #define PR_BITS_PER_LONG    32
                    600: #define PR_BITS_PER_FLOAT   32
                    601: #define PR_BITS_PER_DOUBLE  64
                    602: #define PR_BITS_PER_WORD    32
                    603: 
                    604: #define PR_BITS_PER_BYTE_LOG2   3
                    605: #define PR_BITS_PER_SHORT_LOG2  4
                    606: #define PR_BITS_PER_INT_LOG2    5
                    607: #define PR_BITS_PER_INT64_LOG2  6
                    608: #define PR_BITS_PER_LONG_LOG2   5
                    609: #define PR_BITS_PER_FLOAT_LOG2  5
                    610: #define PR_BITS_PER_DOUBLE_LOG2 6
                    611: #define PR_BITS_PER_WORD_LOG2   5
                    612: 
                    613: #define PR_ALIGN_OF_SHORT   2
                    614: #define PR_ALIGN_OF_INT     4
                    615: #define PR_ALIGN_OF_LONG    4
                    616: #define PR_ALIGN_OF_INT64   4
                    617: #define PR_ALIGN_OF_FLOAT   4
                    618: #define PR_ALIGN_OF_DOUBLE  4
                    619: #define PR_ALIGN_OF_POINTER 4
                    620: #define PR_ALIGN_OF_WORD    4
                    621: 
                    622: #define PR_BYTES_PER_WORD_LOG2   2
                    623: #define PR_BYTES_PER_DWORD_LOG2  3
                    624: 
                    625: #elif defined(__s390x__)
                    626: 
                    627: #define IS_BIG_ENDIAN 1
                    628: #undef  IS_LITTLE_ENDIAN
                    629: #define IS_64
                    630: 
                    631: #define PR_BYTES_PER_BYTE   1
                    632: #define PR_BYTES_PER_SHORT  2
                    633: #define PR_BYTES_PER_INT    4
                    634: #define PR_BYTES_PER_INT64  8
                    635: #define PR_BYTES_PER_LONG   8
                    636: #define PR_BYTES_PER_FLOAT  4
                    637: #define PR_BYTES_PER_DOUBLE 8
                    638: #define PR_BYTES_PER_WORD   8
                    639: #define PR_BYTES_PER_DWORD  8
                    640: 
                    641: #define PR_BITS_PER_BYTE    8
                    642: #define PR_BITS_PER_SHORT   16
                    643: #define PR_BITS_PER_INT     32
                    644: #define PR_BITS_PER_INT64   64
                    645: #define PR_BITS_PER_LONG    64
                    646: #define PR_BITS_PER_FLOAT   32
                    647: #define PR_BITS_PER_DOUBLE  64
                    648: #define PR_BITS_PER_WORD    64
                    649: 
                    650: #define PR_BITS_PER_BYTE_LOG2   3
                    651: #define PR_BITS_PER_SHORT_LOG2  4
                    652: #define PR_BITS_PER_INT_LOG2    5
                    653: #define PR_BITS_PER_INT64_LOG2  6
                    654: #define PR_BITS_PER_LONG_LOG2   6
                    655: #define PR_BITS_PER_FLOAT_LOG2  5
                    656: #define PR_BITS_PER_DOUBLE_LOG2 6
                    657: #define PR_BITS_PER_WORD_LOG2   6
                    658: 
                    659: #define PR_ALIGN_OF_SHORT   2
                    660: #define PR_ALIGN_OF_INT     4
                    661: #define PR_ALIGN_OF_LONG    8
                    662: #define PR_ALIGN_OF_INT64   8
                    663: #define PR_ALIGN_OF_FLOAT   4
                    664: #define PR_ALIGN_OF_DOUBLE  8
                    665: #define PR_ALIGN_OF_POINTER 8
                    666: #define PR_ALIGN_OF_WORD    8
                    667: 
                    668: #define PR_BYTES_PER_WORD_LOG2   3
                    669: #define PR_BYTES_PER_DWORD_LOG2  3
                    670: 
                    671: #else
                    672: 
                    673: #error "Unknown CPU architecture"
                    674: 
                    675: #endif
                    676: 
                    677: #define    HAVE_LONG_LONG
                    678: #if PR_ALIGN_OF_DOUBLE == 8
                    679: #define HAVE_ALIGNED_DOUBLES
                    680: #endif
                    681: #if PR_ALIGN_OF_INT64 == 8
                    682: #define HAVE_ALIGNED_LONGLONGS
                    683: #endif
                    684: 
                    685: #ifndef NO_NSPR_10_SUPPORT
                    686: 
                    687: #define BYTES_PER_BYTE     PR_BYTES_PER_BYTE
                    688: #define BYTES_PER_SHORT    PR_BYTES_PER_SHORT
                    689: #define BYTES_PER_INT      PR_BYTES_PER_INT
                    690: #define BYTES_PER_INT64        PR_BYTES_PER_INT64
                    691: #define BYTES_PER_LONG     PR_BYTES_PER_LONG
                    692: #define BYTES_PER_FLOAT        PR_BYTES_PER_FLOAT
                    693: #define BYTES_PER_DOUBLE   PR_BYTES_PER_DOUBLE
                    694: #define BYTES_PER_WORD     PR_BYTES_PER_WORD
                    695: #define BYTES_PER_DWORD        PR_BYTES_PER_DWORD
                    696: 
                    697: #define BITS_PER_BYTE      PR_BITS_PER_BYTE
                    698: #define BITS_PER_SHORT     PR_BITS_PER_SHORT
                    699: #define BITS_PER_INT       PR_BITS_PER_INT
                    700: #define BITS_PER_INT64     PR_BITS_PER_INT64
                    701: #define BITS_PER_LONG      PR_BITS_PER_LONG
                    702: #define BITS_PER_FLOAT     PR_BITS_PER_FLOAT
                    703: #define BITS_PER_DOUBLE        PR_BITS_PER_DOUBLE
                    704: #define BITS_PER_WORD      PR_BITS_PER_WORD
                    705: 
                    706: #define BITS_PER_BYTE_LOG2 PR_BITS_PER_BYTE_LOG2
                    707: #define BITS_PER_SHORT_LOG2    PR_BITS_PER_SHORT_LOG2
                    708: #define BITS_PER_INT_LOG2  PR_BITS_PER_INT_LOG2
                    709: #define BITS_PER_INT64_LOG2    PR_BITS_PER_INT64_LOG2
                    710: #define BITS_PER_LONG_LOG2 PR_BITS_PER_LONG_LOG2
                    711: #define BITS_PER_FLOAT_LOG2    PR_BITS_PER_FLOAT_LOG2
                    712: #define BITS_PER_DOUBLE_LOG2   PR_BITS_PER_DOUBLE_LOG2
                    713: #define BITS_PER_WORD_LOG2 PR_BITS_PER_WORD_LOG2
                    714: 
                    715: #define ALIGN_OF_SHORT     PR_ALIGN_OF_SHORT
                    716: #define ALIGN_OF_INT       PR_ALIGN_OF_INT
                    717: #define ALIGN_OF_LONG      PR_ALIGN_OF_LONG
                    718: #define ALIGN_OF_INT64     PR_ALIGN_OF_INT64
                    719: #define ALIGN_OF_FLOAT     PR_ALIGN_OF_FLOAT
                    720: #define ALIGN_OF_DOUBLE        PR_ALIGN_OF_DOUBLE
                    721: #define ALIGN_OF_POINTER   PR_ALIGN_OF_POINTER
                    722: #define ALIGN_OF_WORD      PR_ALIGN_OF_WORD
                    723: 
                    724: #define BYTES_PER_WORD_LOG2    PR_BYTES_PER_WORD_LOG2
                    725: #define BYTES_PER_DWORD_LOG2   PR_BYTES_PER_DWORD_LOG2
                    726: #define WORDS_PER_DWORD_LOG2   PR_WORDS_PER_DWORD_LOG2
                    727: 
                    728: #endif /* NO_NSPR_10_SUPPORT */
                    729: 
                    730: #endif /* Unix */
                    731: 
                    732: #endif /* nspr_cpucfg___ */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.