Annotation of kernel/bsd/hfs/hfscommon/headers/system/ConditionalMacros.h, revision 1.1

1.1     ! root        1: /*
        !             2:  * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
        !             3:  *
        !             4:  * @APPLE_LICENSE_HEADER_START@
        !             5:  * 
        !             6:  * Portions Copyright (c) 1999 Apple Computer, Inc.  All Rights
        !             7:  * Reserved.  This file contains Original Code and/or Modifications of
        !             8:  * Original Code as defined in and that are subject to the Apple Public
        !             9:  * Source License Version 1.1 (the "License").  You may not use this file
        !            10:  * except in compliance with the License.  Please obtain a copy of the
        !            11:  * License at http://www.apple.com/publicsource and read it before using
        !            12:  * this file.
        !            13:  * 
        !            14:  * The Original Code and all software distributed under the License are
        !            15:  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
        !            16:  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
        !            17:  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
        !            18:  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
        !            19:  * License for the specific language governing rights and limitations
        !            20:  * under the License.
        !            21:  * 
        !            22:  * @APPLE_LICENSE_HEADER_END@
        !            23:  */
        !            24: 
        !            25: /*
        !            26:        File:           ConditionalMacros.h
        !            27:  
        !            28:        Contains:       Set up for compiler independent conditionals
        !            29:  
        !            30:        Version:        Universal Interface Files 3.0dx
        !            31:  
        !            32:        DRI:            Nick Kledzik
        !            33:  
        !            34:        Copyright:      � 1993-1997 by Apple Computer, Inc., all rights reserved
        !            35:  
        !            36:        Warning:        *** APPLE INTERNAL USE ONLY ***
        !            37:                                This file may contain unreleased API's
        !            38:  
        !            39:        BuildInfo:      Built by:                       Scott Roberts
        !            40:                                With Interfacer:        3.0d2   (PowerPC native)
        !            41:                                From:                           ConditionalMacros.i
        !            42:                                        Revision:               75
        !            43:                                        Dated:                  6/11/97
        !            44:                                        Last change by: ngk
        !            45:                                        Last comment:   Restore TYPE_LONGLONG for MrC - changed type for AbsoluteTime in
        !            46:  
        !            47:        Bugs:           Report bugs to Radar component "System Interfaces", "Latest"
        !            48:                                List the version information (from above) in the Problem Description.
        !            49:  
        !            50: */
        !            51: #ifndef __CONDITIONALMACROS__
        !            52: #define __CONDITIONALMACROS__
        !            53: 
        !            54: /****************************************************************************************************
        !            55:        UNIVERSAL_INTERFACES_VERSION
        !            56:        
        !            57:                0x0300 => version 3.0
        !            58:                0x0210 => version 2.1
        !            59:                This conditional did not exist prior to version 2.1
        !            60: ****************************************************************************************************/
        !            61: #define UNIVERSAL_INTERFACES_VERSION 0x0300
        !            62: 
        !            63: /****************************************************************************************************
        !            64: 
        !            65:        TARGET_CPU_�    
        !            66:        These conditionals specify which microprocessor instruction set is being
        !            67:        generated.  At most one of these is true, the rest are false.
        !            68: 
        !            69:                TARGET_CPU_PPC                  - Compiler is generating PowerPC instructions
        !            70:                TARGET_CPU_68K                  - Compiler is generating 680x0 instructions
        !            71:                TARGET_CPU_X86                  - Compiler is generating x86 instructions
        !            72:                TARGET_CPU_MIPS                 - Compiler is generating MIPS instructions
        !            73:                TARGET_CPU_SPARC                - Compiler is generating Sparc instructions
        !            74:                TARGET_CPU_ALPHA                - Compiler is generating Dec Alpha instructions
        !            75: 
        !            76: 
        !            77:        TARGET_OS_�     
        !            78:        These conditionals specify in which Operating System the generated code will
        !            79:        run. At most one of the these is true, the rest are false.
        !            80: 
        !            81:                TARGET_OS_MAC                   - Generate code will run under Mac OS
        !            82:                TARGET_OS_WIN32                 - Generate code will run under 32-bit Windows
        !            83:                TARGET_OS_UNIX                  - Generate code will run under some unix 
        !            84:                TARGET_OS_RHAPSODY              - Generate code will run under Rhapsody 
        !            85: 
        !            86: 
        !            87:        TARGET_RT_�     
        !            88:        These conditionals specify in which runtime the generated code will
        !            89:        run. This is needed when the OS and CPU support more than one runtime
        !            90:        (e.g. MacOS on 68K supports CFM68K and Classic 68k).
        !            91: 
        !            92:                TARGET_RT_LITTLE_ENDIAN - Generated code uses little endian format for integers
        !            93:                TARGET_RT_BIG_ENDIAN    - Generated code uses big endian format for integers    
        !            94:                TARGET_RT_MAC_CFM               - TARGET_OS_MAC is true and CFM68K or PowerPC CFM being used    
        !            95:                TARGET_RT_MAC_68881             - TARGET_OS_MAC is true and 68881 floating point instructions used      
        !            96: 
        !            97: 
        !            98:        PRAGMA_�
        !            99:        These conditionals specify whether the compiler supports particular #pragma's
        !           100:        
        !           101:                PRAGMA_IMPORT                   - Compiler supports: #pragma import on/off/reset
        !           102:                PRAGMA_ONCE                     - Compiler supports: #pragma once
        !           103:                PRAGMA_STRUCT_ALIGN     - Compiler supports: #pragma options align=mac68k/power/reset
        !           104:                PRAGMA_STRUCT_PACK              - Compiler supports: #pragma pack(n)
        !           105:                PRAGMA_STRUCT_PACKPUSH  - Compiler supports: #pragma pack(push, n)/pack(pop)
        !           106:                PRAGMA_ENUM_PACK                - Compiler supports: #pragma options(!pack_enums)
        !           107:                PRAGMA_ENUM_ALWAYSINT   - Compiler supports: #pragma enumsalwaysint on/off/reset
        !           108:                PRAGMA_ENUM_OPTIONS             - Compiler supports: #pragma options enum=int/small/reset
        !           109: 
        !           110:        FOUR_CHAR_CODE
        !           111:        This conditional does the proper byte swapping to assue that a four character code (e.g. 'TEXT')
        !           112:        is compiled down to the correct value on all compilers.
        !           113: 
        !           114:                FOUR_CHAR_CODE('abcd')  - Convert a four-char-code to the correct 32-bit value
        !           115: 
        !           116:        TYPE_�
        !           117:        These conditionals specify whether the compiler supports particular types.
        !           118: 
        !           119:                TYPE_LONGLONG                   - Compiler supports "long long" 64-bit integers
        !           120:                TYPE_BOOL                               - Compiler supports "bool"
        !           121:                TYPE_EXTENDED                   - Compiler supports "extended" 80/96 bit floating point
        !           122: 
        !           123: ****************************************************************************************************/
        !           124: 
        !           125: #if defined(__MRC__)
        !           126:        /*
        !           127:                MrC[pp] compiler from Apple Computer, Inc.
        !           128:        */
        !           129:        #define TARGET_CPU_PPC                          1
        !           130:        #define TARGET_CPU_68K                          0
        !           131:        #define TARGET_CPU_X86                          0
        !           132:        #define TARGET_CPU_MIPS                         0
        !           133:        #define TARGET_CPU_SPARC                        0               
        !           134:        #define TARGET_CPU_ALPHA                        0
        !           135:        #define TARGET_OS_MAC                           1
        !           136:        #define TARGET_OS_WIN32                         0
        !           137:        #define TARGET_OS_UNIX                          0
        !           138:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           139:        #define TARGET_RT_BIG_ENDIAN            1
        !           140:        #define TARGET_RT_MAC_CFM                       1
        !           141:        #define TARGET_RT_MAC_68881                     0
        !           142:        #if (__MRC__  > 0x0200) && (__MRC__ < 0x0700)
        !           143:                #define PRAGMA_IMPORT                   1
        !           144:        #else
        !           145:                #define PRAGMA_IMPORT                   0
        !           146:        #endif
        !           147:        #define PRAGMA_STRUCT_ALIGN                     1
        !           148:        #define PRAGMA_ONCE                                     1
        !           149:        #define PRAGMA_STRUCT_PACK                      0
        !           150:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           151:        #define PRAGMA_ENUM_PACK                        0
        !           152:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           153:        #define PRAGMA_ENUM_OPTIONS                     0
        !           154:        #define FOUR_CHAR_CODE(x)                       (x)
        !           155:                
        !           156:        #if (__MRC__  > 0x0300) && (__MRC__ < 0x0700)
        !           157:                #if __option(longlong)
        !           158:                        #define TYPE_LONGLONG           1
        !           159:                #else
        !           160:                        #define TYPE_LONGLONG           0
        !           161:                #endif
        !           162:                #if __option(bool)
        !           163:                        #define TYPE_BOOL                       1
        !           164:                #else
        !           165:                        #define TYPE_BOOL                       0
        !           166:                #endif
        !           167:        #else
        !           168:                #define TYPE_LONGLONG                   0
        !           169:                #define TYPE_BOOL                               0
        !           170:        #endif
        !           171:        #define TYPE_EXTENDED                           0
        !           172:        
        !           173: 
        !           174: 
        !           175: #elif defined(__SC__) && (defined(MPW_CPLUS) || defined(MPW_C))
        !           176:        /*
        !           177:                SC[pp] compiler from Apple Computer, Inc.
        !           178:        */
        !           179:        #define TARGET_CPU_PPC                          0
        !           180:        #define TARGET_CPU_68K                          1
        !           181:        #define TARGET_CPU_X86                          0
        !           182:        #define TARGET_CPU_MIPS                         0
        !           183:        #define TARGET_CPU_SPARC                        0               
        !           184:        #define TARGET_CPU_ALPHA                        0
        !           185:        #define TARGET_OS_MAC                           1
        !           186:        #define TARGET_OS_WIN32                         0
        !           187:        #define TARGET_OS_UNIX                          0
        !           188:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           189:        #define TARGET_RT_BIG_ENDIAN            1
        !           190:        #if defined(__CFM68K__)
        !           191:                #define TARGET_RT_MAC_CFM               1
        !           192:        #else
        !           193:                #define TARGET_RT_MAC_CFM               0
        !           194:        #endif
        !           195:        #if defined(mc68881)
        !           196:                #define TARGET_RT_MAC_68881             1
        !           197:        #else
        !           198:                #define TARGET_RT_MAC_68881             0
        !           199:        #endif
        !           200:        #if TARGET_RT_MAC_CFM 
        !           201:                #define PRAGMA_IMPORT                   1
        !           202:                #if (__SC__ <= 0x0810)
        !           203:                        /* old versions of SC don't support �#pragma import reset� */
        !           204:                        #define PRAGMA_IMPORT_OFF       1
        !           205:                #endif
        !           206:        #else
        !           207:                #define PRAGMA_IMPORT                   0
        !           208:        #endif
        !           209:        #define PRAGMA_STRUCT_ALIGN                     0
        !           210:        #define PRAGMA_ONCE                                     0
        !           211:        #define PRAGMA_STRUCT_PACK                      0
        !           212:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           213:        #define PRAGMA_ENUM_PACK                        1
        !           214:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           215:        #define PRAGMA_ENUM_OPTIONS                     0
        !           216:        #define FOUR_CHAR_CODE(x)                       (x)
        !           217:        
        !           218:        #define TYPE_LONGLONG                           0
        !           219:        #define TYPE_EXTENDED                           1
        !           220:        #if (__SC__  > 0x0810)
        !           221:                #if __option(bool)
        !           222:                        #define TYPE_BOOL                       1
        !           223:                #else
        !           224:                        #define TYPE_BOOL                       0
        !           225:                #endif
        !           226:        #else
        !           227:                #define TYPE_BOOL                               0
        !           228:        #endif
        !           229:                
        !           230: 
        !           231: 
        !           232: #elif defined(__MWERKS__)
        !           233:        /*
        !           234:                CodeWarrior compiler from Metrowerks, Inc.
        !           235:        */
        !           236:        #if (__MWERKS__ < 0x0900) || macintosh
        !           237:                #define TARGET_OS_MAC                           0
        !           238:                #define TARGET_OS_WIN32                         0
        !           239:                #define TARGET_OS_UNIX                          1
        !           240:                #define TARGET_CPU_X86                          0
        !           241:                #define TARGET_CPU_MIPS                         0
        !           242:                #define TARGET_CPU_SPARC                        0               
        !           243:                #define TARGET_CPU_ALPHA                        0
        !           244:                #define TARGET_RT_LITTLE_ENDIAN         0
        !           245:                #define TARGET_RT_BIG_ENDIAN            1
        !           246:                #if powerc
        !           247:                        #define TARGET_CPU_PPC                  1
        !           248:                        #define TARGET_CPU_68K                  0
        !           249:                        #define TARGET_RT_MAC_CFM               1
        !           250:                        #define TARGET_RT_MAC_68881             0
        !           251:                #else
        !           252:                        #define TARGET_CPU_PPC                  0
        !           253:                        #define TARGET_CPU_68K                  1
        !           254:                        #if defined(__CFM68K__)
        !           255:                                #define TARGET_RT_MAC_CFM       1
        !           256:                        #else
        !           257:                                #define TARGET_RT_MAC_CFM       0
        !           258:                        #endif
        !           259:                        #if __MC68881__
        !           260:                                #define TARGET_RT_MAC_68881     1
        !           261:                        #else
        !           262:                                #define TARGET_RT_MAC_68881     0
        !           263:                        #endif
        !           264:                #endif
        !           265:        #elif (__MWERKS__ >= 0x0900) && __INTEL__
        !           266:                #define TARGET_CPU_PPC                          0
        !           267:                #define TARGET_CPU_68K                          0
        !           268:                #define TARGET_CPU_X86                          1
        !           269:                #define TARGET_CPU_MIPS                         0
        !           270:                #define TARGET_CPU_SPARC                        0               
        !           271:                #define TARGET_CPU_ALPHA                        0
        !           272:                #define TARGET_OS_MAC                           0
        !           273:                #define TARGET_OS_WIN32                         1
        !           274:                #define TARGET_OS_UNIX                          0
        !           275:                #define TARGET_RT_LITTLE_ENDIAN         1
        !           276:                #define TARGET_RT_BIG_ENDIAN            0
        !           277:                #define TARGET_RT_MAC_CFM                       0
        !           278:                #define TARGET_RT_MAC_68881                     0
        !           279:        #else   
        !           280:                #error unknown Metrowerks compiler
        !           281:        #endif
        !           282: 
        !           283: 
        !           284:        #if (__MWERKS__ >= 0x0700)
        !           285:                #define PRAGMA_IMPORT                           TARGET_RT_MAC_CFM
        !           286:        #else
        !           287:                #define PRAGMA_IMPORT                           0
        !           288:        #endif
        !           289:        #define PRAGMA_STRUCT_ALIGN                             1
        !           290:        #define PRAGMA_ONCE                                             1
        !           291:        #define PRAGMA_STRUCT_PACK                              0
        !           292:        #define PRAGMA_STRUCT_PACKPUSH                  0
        !           293:        #define PRAGMA_ENUM_PACK                                0
        !           294:        #define PRAGMA_ENUM_ALWAYSINT                   1
        !           295:        #define PRAGMA_ENUM_OPTIONS                             0
        !           296:        #define FOUR_CHAR_CODE(x)                               (x)
        !           297:        
        !           298:        #if (__MWERKS__ >= 0x1100)
        !           299:                #if __option(longlong)
        !           300:                        #define TYPE_LONGLONG           1
        !           301:                        #define _LONG_LONG                      1               /* temporary */
        !           302:                #else
        !           303:                        #define TYPE_LONGLONG           0
        !           304:                #endif
        !           305:        #else
        !           306:                #define TYPE_LONGLONG                   0
        !           307:        #endif
        !           308:        #if (__MWERKS__ >= 0x1000)
        !           309:                #if __option(bool)
        !           310:                        #define TYPE_BOOL                       1
        !           311:                #else
        !           312:                        #define TYPE_BOOL                       0
        !           313:                #endif
        !           314:        #else
        !           315:                #define TYPE_BOOL                               0
        !           316:        #endif
        !           317: 
        !           318:        #if TARGET_OS_MAC && TARGET_CPU_68K
        !           319:                typedef long double extended;
        !           320:                #define TYPE_EXTENDED                   1
        !           321:        #else
        !           322:                #define TYPE_EXTENDED                   0
        !           323:        #endif
        !           324: 
        !           325: 
        !           326: 
        !           327: #elif defined(SYMANTEC_CPLUS) || defined(SYMANTEC_C)
        !           328:        /*
        !           329:                C and C++ compiler from Symantec, Inc.
        !           330:        */
        !           331:        #define TARGET_OS_MAC                           1
        !           332:        #define TARGET_OS_WIN32                         0
        !           333:        #define TARGET_OS_UNIX                          0
        !           334:        #define TARGET_CPU_X86                          0
        !           335:        #define TARGET_CPU_MIPS                         0
        !           336:        #define TARGET_CPU_SPARC                        0               
        !           337:        #define TARGET_CPU_ALPHA                        0
        !           338:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           339:        #define TARGET_RT_BIG_ENDIAN            1
        !           340:        #if powerc
        !           341:                #define TARGET_CPU_PPC                  1
        !           342:                #define TARGET_CPU_68K                  0
        !           343:                #define TARGET_RT_MAC_CFM               1
        !           344:                #define TARGET_RT_MAC_68881             0
        !           345:        #else
        !           346:                #define TARGET_CPU_PPC                  0
        !           347:                #define TARGET_CPU_68K                  1
        !           348:                #if defined(__CFM68K)
        !           349:                        #define TARGET_RT_MAC_CFM       1
        !           350:                #else
        !           351:                        #define TARGET_RT_MAC_CFM       0
        !           352:                #endif
        !           353:                #if mc68881
        !           354:                        #define TARGET_RT_MAC_68881     1
        !           355:                #else
        !           356:                        #define TARGET_RT_MAC_68881     0
        !           357:                #endif
        !           358:        #endif
        !           359:        #define PRAGMA_IMPORT                           0
        !           360:        #define PRAGMA_ONCE                                     1
        !           361:        #define PRAGMA_STRUCT_ALIGN                     1
        !           362:        #define PRAGMA_STRUCT_PACK                      0
        !           363:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           364:        #define PRAGMA_ENUM_PACK                        1
        !           365:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           366:        #define PRAGMA_ENUM_OPTIONS                     0
        !           367:        #define FOUR_CHAR_CODE(x)                       (x)
        !           368:        
        !           369:        #if __useAppleExts__
        !           370:                #define TYPE_EXTENDED                   1
        !           371:        #else
        !           372:                #define TYPE_EXTENDED                   0
        !           373:        #endif
        !           374:        #define TYPE_LONGLONG                           0
        !           375:        #define TYPE_BOOL                                       0
        !           376:        
        !           377: 
        !           378: 
        !           379: #elif defined(THINK_C)
        !           380:        /*
        !           381:                THINK C compiler from Symantec, Inc.            << WARNING: Unsupported Compiler >>
        !           382:        */
        !           383:        #define TARGET_CPU_PPC                          0
        !           384:        #define TARGET_CPU_68K                          1
        !           385:        #define TARGET_CPU_X86                          0
        !           386:        #define TARGET_CPU_MIPS                         0
        !           387:        #define TARGET_CPU_SPARC                        0               
        !           388:        #define TARGET_CPU_ALPHA                        0
        !           389:        #define TARGET_OS_MAC                           1
        !           390:        #define TARGET_OS_WIN32                         0
        !           391:        #define TARGET_OS_UNIX                          0
        !           392:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           393:        #define TARGET_RT_BIG_ENDIAN            1
        !           394:        #define TARGET_RT_MAC_CFM                       0
        !           395:        #if defined(mc68881)
        !           396:                #define TARGET_RT_MAC_68881             1
        !           397:        #else
        !           398:                #define TARGET_RT_MAC_68881             0
        !           399:        #endif
        !           400:        #define PRAGMA_IMPORT                           0
        !           401:        #define PRAGMA_STRUCT_ALIGN                     0
        !           402:        #define PRAGMA_ONCE                                     1
        !           403:        #define PRAGMA_STRUCT_PACK                      0
        !           404:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           405:        #define PRAGMA_ENUM_PACK                        1
        !           406:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           407:        #define PRAGMA_ENUM_OPTIONS                     0
        !           408:        #define FOUR_CHAR_CODE(x)                       (x)
        !           409:        
        !           410:        #define TYPE_EXTENDED                           1
        !           411:        #define TYPE_LONGLONG                           0
        !           412:        #define TYPE_BOOL                                       0
        !           413:        
        !           414: 
        !           415: 
        !           416: #elif defined(__PPCC__)
        !           417:        /*
        !           418:                PPCC compiler from Apple Computer, Inc.         << WARNING: Unsupported Compiler >>
        !           419:        */
        !           420:        #define TARGET_CPU_PPC                          1
        !           421:        #define TARGET_CPU_68K                          0
        !           422:        #define TARGET_CPU_X86                          0
        !           423:        #define TARGET_CPU_MIPS                         0
        !           424:        #define TARGET_CPU_SPARC                        0               
        !           425:        #define TARGET_CPU_ALPHA                        0
        !           426:        #define TARGET_OS_MAC                           1
        !           427:        #define TARGET_OS_WIN32                         0
        !           428:        #define TARGET_OS_UNIX                          0
        !           429:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           430:        #define TARGET_RT_BIG_ENDIAN            1
        !           431:        #define TARGET_RT_MAC_CFM                       1
        !           432:        #define TARGET_RT_MAC_68881                     0
        !           433:        #define PRAGMA_IMPORT                           0
        !           434:        #define PRAGMA_STRUCT_ALIGN                     1
        !           435:        #define PRAGMA_ONCE                                     0
        !           436:        #define PRAGMA_STRUCT_PACK                      0
        !           437:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           438:        #define PRAGMA_ENUM_PACK                        0
        !           439:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           440:        #define PRAGMA_ENUM_OPTIONS                     0
        !           441:        #define FOUR_CHAR_CODE(x)                       (x)
        !           442:        
        !           443:        #define TYPE_EXTENDED                           0
        !           444:        #define TYPE_LONGLONG                           0
        !           445:        #define TYPE_BOOL                                       0
        !           446: 
        !           447: 
        !           448: #elif defined(applec) && !defined(__SC__)
        !           449:        /*
        !           450:                MPW C compiler from Apple Computer, Inc.        << WARNING: Unsupported Compiler >>
        !           451:        */
        !           452:        #define TARGET_CPU_PPC                          0
        !           453:        #define TARGET_CPU_68K                          1
        !           454:        #define TARGET_CPU_X86                          0
        !           455:        #define TARGET_CPU_MIPS                         0
        !           456:        #define TARGET_CPU_SPARC                        0               
        !           457:        #define TARGET_CPU_ALPHA                        0
        !           458:        #define TARGET_OS_MAC                           1
        !           459:        #define TARGET_OS_WIN32                         0
        !           460:        #define TARGET_OS_UNIX                          0
        !           461:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           462:        #define TARGET_RT_BIG_ENDIAN            1
        !           463:        #define TARGET_RT_MAC_CFM                       0
        !           464:        #if defined(mc68881)
        !           465:                #define TARGET_RT_MAC_68881             1
        !           466:        #else
        !           467:                #define TARGET_RT_MAC_68881             0
        !           468:        #endif
        !           469:        #define PRAGMA_IMPORT                           0
        !           470:        #define PRAGMA_STRUCT_ALIGN                     0
        !           471:        #define PRAGMA_ONCE                                     0
        !           472:        #define PRAGMA_STRUCT_PACK                      0
        !           473:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           474:        #define PRAGMA_ENUM_PACK                        0
        !           475:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           476:        #define PRAGMA_ENUM_OPTIONS                     0
        !           477:        /* Note: MPW C 3.2 had a bug where MACRO('xx   ') would cause 'xx  ' to be misevaluated */
        !           478:        #define FOUR_CHAR_CODE                          
        !           479: 
        !           480:        #define TYPE_EXTENDED                           1
        !           481:        #define TYPE_LONGLONG                           0
        !           482:        #define TYPE_BOOL                                       0
        !           483: 
        !           484: 
        !           485: 
        !           486: #elif defined(__GNUC__)
        !           487:        /*
        !           488:                gC from Free Software Foundation, Inc.
        !           489:        */
        !           490: #if 0
        !           491: 
        !           492:        #if #cpu(powerpc)
        !           493:                #define TARGET_CPU_PPC                  1
        !           494:                #define TARGET_CPU_68K                  0
        !           495:                #define TARGET_CPU_X86                  0
        !           496:                #define TARGET_CPU_MIPS                 0
        !           497:                #define TARGET_CPU_SPARC                0       
        !           498:                #define TARGET_CPU_ALPHA                0
        !           499:                #define TARGET_RT_MAC_CFM               1
        !           500:                #define TARGET_RT_MAC_68881             0
        !           501:        #elif #cpu(m68k)
        !           502:                #define TARGET_CPU_PPC                  0
        !           503:                #define TARGET_CPU_68K                  1
        !           504:                #define TARGET_CPU_X86                  0
        !           505:                #define TARGET_CPU_MIPS                 0
        !           506:                #define TARGET_CPU_SPARC                0       
        !           507:                #define TARGET_CPU_ALPHA                0
        !           508:                #define TARGET_RT_MAC_CFM               0
        !           509:                #define TARGET_RT_MAC_68881             0
        !           510:        #else
        !           511:                #error unsupported GNU C compiler
        !           512:        #endif
        !           513:        
        !           514:        #if #system(macos)
        !           515:                #define TARGET_OS_MAC                   1
        !           516:                #define TARGET_OS_WIN32                 0
        !           517:                #define TARGET_OS_UNIX                  0
        !           518:        #elif #system(unix)
        !           519:                #define TARGET_OS_MAC                   0
        !           520:                #define TARGET_OS_WIN32                 0
        !           521:                #define TARGET_OS_UNIX                  1
        !           522:        #else
        !           523:                #error unsupported GNU C compiler
        !           524:        #endif
        !           525: #endif
        !           526: 
        !           527: #define TARGET_CPU_PPC                 1
        !           528: #define TARGET_CPU_68K                 0
        !           529: #define TARGET_CPU_X86                 0
        !           530: #define TARGET_CPU_MIPS                0
        !           531: #define TARGET_CPU_SPARC               0       
        !           532: #define TARGET_CPU_ALPHA               0
        !           533: #define TARGET_RT_MAC_CFM              0
        !           534: #define TARGET_RT_MAC_68881            0
        !           535: 
        !           536: #define TARGET_OS_MAC                  0
        !           537: #define TARGET_OS_WIN32                        0
        !           538: #define TARGET_OS_UNIX                 0
        !           539: #define TARGET_OS_RHAPSODY             1
        !           540: 
        !           541: #if DIAGNOSTIC
        !           542:     #define DEBUG_BUILD 1
        !           543: #else
        !           544:     #define DEBUG_BUILD 0
        !           545: #endif /* DIAGNOSTIC */
        !           546: 
        !           547:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           548:        #define TARGET_RT_BIG_ENDIAN            1
        !           549:        #define PRAGMA_IMPORT                           0
        !           550:        #define PRAGMA_STRUCT_ALIGN                     1
        !           551:        #define PRAGMA_ONCE                                     0
        !           552:        #define PRAGMA_STRUCT_PACK                      0
        !           553:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           554:        #define PRAGMA_ENUM_PACK                        0
        !           555:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           556:        #define PRAGMA_ENUM_OPTIONS                     0
        !           557:        #define DWORD                           unsigned long
        !           558:        #define FOUR_CHAR_CODE(x) x
        !           559: //     #define FOUR_CHAR_CODE(x)               (((DWORD) ((x) & 0x000000FF)) << 24) \
        !           560: //                                                        | (((DWORD) ((x) & 0x0000FF00)) << 8) \
        !           561: //                                                        | (((DWORD) ((x) & 0x00FF0000)) >> 8) \
        !           562: //                                                        | (((DWORD) ((x) & 0xFF000000)) >> 24)
        !           563: 
        !           564:        #define TYPE_EXTENDED                           0
        !           565:        #ifdef _LONG_LONG
        !           566:                #define TYPE_LONGLONG                   1
        !           567:        #else
        !           568:                #define TYPE_LONGLONG                   0
        !           569:        #endif
        !           570:        #define TYPE_BOOL                                       0
        !           571: 
        !           572: 
        !           573: 
        !           574: #elif defined(__xlc) || defined(__xlC) || defined(__xlC__) || defined(__XLC121__)
        !           575:        /*
        !           576:                xlc and xlC on RS/6000 from IBM, Inc.
        !           577:        */
        !           578:        #define TARGET_CPU_PPC                          1
        !           579:        #define TARGET_CPU_68K                          0
        !           580:        #define TARGET_CPU_X86                          0
        !           581:        #define TARGET_CPU_MIPS                         0
        !           582:        #define TARGET_CPU_SPARC                        0               
        !           583:        #define TARGET_CPU_ALPHA                        0
        !           584:        #define TARGET_OS_MAC                           1       
        !           585:        #define TARGET_OS_WIN32                         0
        !           586:        #define TARGET_OS_UNIX                          0
        !           587:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           588:        #define TARGET_RT_BIG_ENDIAN            1
        !           589:        #define TARGET_RT_MAC_CFM                       1
        !           590:        #define TARGET_RT_MAC_68881                     0
        !           591:        #define PRAGMA_IMPORT                           0
        !           592:        #define PRAGMA_STRUCT_ALIGN                     1
        !           593:        #define PRAGMA_ONCE                                     0
        !           594:        #define PRAGMA_STRUCT_PACK                      0
        !           595:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           596:        #define PRAGMA_ENUM_PACK                        0
        !           597:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           598:        #define PRAGMA_ENUM_OPTIONS                     1
        !           599:        #define FOUR_CHAR_CODE(x)                       (x)
        !           600: 
        !           601:        #define TYPE_EXTENDED                           0
        !           602:        #ifdef _LONG_LONG
        !           603:                #define TYPE_LONGLONG                   1
        !           604:        #else
        !           605:                #define TYPE_LONGLONG                   0
        !           606:        #endif
        !           607:        #define TYPE_BOOL                                       0
        !           608: 
        !           609: 
        !           610: #elif defined(_MSC_VER) && !defined(__MWERKS__) 
        !           611:        /*
        !           612:                Visual C++ from Microsoft, Inc.
        !           613:        */
        !           614:        #if defined(_M_M68K)    /* Visual C++ with Macintosh 68K target */
        !           615:                #define TARGET_CPU_PPC                          0
        !           616:                #define TARGET_CPU_68K                          1
        !           617:                #define TARGET_CPU_X86                          0
        !           618:                #define TARGET_CPU_MIPS                         0
        !           619:                #define TARGET_CPU_SPARC                        0
        !           620:                #define TARGET_CPU_ALPHA                        0
        !           621:                #define TARGET_OS_MAC                           1
        !           622:                #define TARGET_OS_WIN32                         0
        !           623:                #define TARGET_OS_UNIX                          0
        !           624:                #define TARGET_RT_LITTLE_ENDIAN         0
        !           625:                #define TARGET_RT_BIG_ENDIAN            1
        !           626:                #define TARGET_RT_MAC_CFM                       0
        !           627:                #define TARGET_RT_MAC_68881                     0
        !           628:                #define PRAGMA_IMPORT                           0
        !           629:                #define PRAGMA_STRUCT_ALIGN                     1
        !           630:                #define PRAGMA_ONCE                                     0
        !           631:                #define PRAGMA_STRUCT_PACK                      1
        !           632:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           633:                #define PRAGMA_ENUM_PACK                        0
        !           634:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           635:                #define PRAGMA_ENUM_OPTIONS                     0
        !           636:                #define FOUR_CHAR_CODE(x)                       (x)
        !           637:                #define TYPE_EXTENDED                           0
        !           638:                #define TYPE_LONGLONG                           0
        !           639:                #define TYPE_BOOL                                       0
        !           640:        #elif defined(_M_MPPC)  /* Visual C++ with Macintosh PowerPC target */
        !           641:                #define TARGET_CPU_PPC                          1
        !           642:                #define TARGET_CPU_68K                          0
        !           643:                #define TARGET_CPU_X86                          0
        !           644:                #define TARGET_CPU_MIPS                         0
        !           645:                #define TARGET_CPU_SPARC                        0
        !           646:                #define TARGET_CPU_ALPHA                        0
        !           647:                #define TARGET_OS_MAC                           1
        !           648:                #define TARGET_OS_WIN32                         0
        !           649:                #define TARGET_OS_UNIX                          0
        !           650:                #define TARGET_RT_LITTLE_ENDIAN         0
        !           651:                #define TARGET_RT_BIG_ENDIAN            1
        !           652:                #define TARGET_RT_MAC_CFM                       1
        !           653:                #define TARGET_RT_MAC_68881                     0
        !           654:                #define PRAGMA_IMPORT                           0
        !           655:                #define PRAGMA_STRUCT_ALIGN                     1
        !           656:                #define PRAGMA_ONCE                                     0
        !           657:                #define PRAGMA_STRUCT_PACK                      1
        !           658:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           659:                #define PRAGMA_ENUM_PACK                        0
        !           660:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           661:                #define PRAGMA_ENUM_OPTIONS                     0
        !           662:                #define FOUR_CHAR_CODE(x)                       (x)
        !           663:                #define TYPE_EXTENDED                           0
        !           664:                #define TYPE_LONGLONG                           0
        !           665:                #define TYPE_BOOL                                       0
        !           666: 
        !           667:        #elif defined(_M_IX86)  /* Visual C++ with Intel x86 target */
        !           668:                #define TARGET_CPU_PPC                          0
        !           669:                #define TARGET_CPU_68K                          0
        !           670:                #define TARGET_CPU_X86                          1
        !           671:                #define TARGET_CPU_MIPS                         0
        !           672:                #define TARGET_CPU_SPARC                        0
        !           673:                #define TARGET_CPU_ALPHA                        0
        !           674:                #define TARGET_OS_MAC                           0
        !           675:                #define TARGET_OS_WIN32                         1
        !           676:                #define TARGET_OS_UNIX                          0
        !           677:                #define TARGET_RT_LITTLE_ENDIAN         1
        !           678:                #define TARGET_RT_BIG_ENDIAN            0
        !           679:                #define TARGET_RT_MAC_CFM                       0
        !           680:                #define TARGET_RT_MAC_68881                     0
        !           681:                #define PRAGMA_IMPORT                           0
        !           682:                #define PRAGMA_STRUCT_ALIGN                     0
        !           683:                #define PRAGMA_ONCE                                     0
        !           684:                #define PRAGMA_STRUCT_PACK                      1
        !           685:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           686:                #define PRAGMA_ENUM_PACK                        0
        !           687:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           688:                #define PRAGMA_ENUM_OPTIONS                     0
        !           689:                #define FOUR_CHAR_CODE(x)               (((DWORD) ((x) & 0x000000FF)) << 24) \
        !           690:                                                                        | (((DWORD) ((x) & 0x0000FF00)) << 8) \
        !           691:                                                                        | (((DWORD) ((x) & 0x00FF0000)) >> 8) \
        !           692:                                                                        | (((DWORD) ((x) & 0xFF000000)) >> 24)
        !           693:                #define TYPE_EXTENDED                           0
        !           694:                #define TYPE_LONGLONG                           0
        !           695:                #if defined(__cplusplus) && (_MSC_VER >= 1100)
        !           696:                        #define TYPE_BOOL                               1
        !           697:                #else
        !           698:                        #define TYPE_BOOL                               0
        !           699:                #endif
        !           700: 
        !           701:                #elif defined(_M_ALPHA)         /* Visual C++ with Dec Alpha target */
        !           702:                #define TARGET_CPU_PPC                          0
        !           703:                #define TARGET_CPU_68K                          0
        !           704:                #define TARGET_CPU_X86                          0
        !           705:                #define TARGET_CPU_MIPS                         0
        !           706:                #define TARGET_CPU_SPARC                        0
        !           707:                #define TARGET_CPU_ALPHA                        1
        !           708:                #define TARGET_OS_MAC                           0
        !           709:                #define TARGET_OS_WIN32                         1
        !           710:                #define TARGET_OS_UNIX                          0
        !           711:                #define TARGET_RT_LITTLE_ENDIAN         1
        !           712:                #define TARGET_RT_BIG_ENDIAN            0
        !           713:                #define TARGET_RT_MAC_CFM                       0
        !           714:                #define TARGET_RT_MAC_68881                     0
        !           715:                #define PRAGMA_IMPORT                           0
        !           716:                #define PRAGMA_STRUCT_ALIGN                     0
        !           717:                #define PRAGMA_ONCE                                     0
        !           718:                #define PRAGMA_STRUCT_PACK                      1
        !           719:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           720:                #define PRAGMA_ENUM_PACK                        0
        !           721:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           722:                #define PRAGMA_ENUM_OPTIONS                     0
        !           723:                #define FOUR_CHAR_CODE(x)               (((DWORD) ((x) & 0x000000FF)) << 24) \
        !           724:                                                                        | (((DWORD) ((x) & 0x0000FF00)) << 8) \
        !           725:                                                                        | (((DWORD) ((x) & 0x00FF0000)) >> 8) \
        !           726:                                                                        | (((DWORD) ((x) & 0xFF000000)) >> 24)
        !           727:                #define TYPE_EXTENDED                           0
        !           728:                #define TYPE_LONGLONG                           0
        !           729:                #define TYPE_BOOL                                       0
        !           730: 
        !           731:        #elif defined(_M_PPC)   /* Visual C++ for Windows NT on PowerPC target */
        !           732:                #define TARGET_CPU_PPC                          1
        !           733:                #define TARGET_CPU_68K                          0
        !           734:                #define TARGET_CPU_X86                          0
        !           735:                #define TARGET_CPU_MIPS                         0
        !           736:                #define TARGET_CPU_SPARC                        0
        !           737:                #define TARGET_CPU_ALPHA                        0
        !           738:                #define TARGET_OS_MAC                           0
        !           739:                #define TARGET_OS_WIN32                         1
        !           740:                #define TARGET_OS_UNIX                          0
        !           741:                #define TARGET_RT_LITTLE_ENDIAN         1
        !           742:                #define TARGET_RT_BIG_ENDIAN            0
        !           743:                #define TARGET_RT_MAC_CFM                       0
        !           744:                #define TARGET_RT_MAC_68881                     0
        !           745:                #define PRAGMA_IMPORT                           0
        !           746:                #define PRAGMA_STRUCT_ALIGN                     0
        !           747:                #define PRAGMA_ONCE                                     0
        !           748:                #define PRAGMA_STRUCT_PACK                      1
        !           749:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           750:                #define PRAGMA_ENUM_PACK                        0
        !           751:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           752:                #define PRAGMA_ENUM_OPTIONS                     0
        !           753:                #define FOUR_CHAR_CODE(x)               (((DWORD) ((x) & 0x000000FF)) << 24) \
        !           754:                                                                        | (((DWORD) ((x) & 0x0000FF00)) << 8) \
        !           755:                                                                        | (((DWORD) ((x) & 0x00FF0000)) >> 8) \
        !           756:                                                                        | (((DWORD) ((x) & 0xFF000000)) >> 24)
        !           757:                #define TYPE_EXTENDED                           0
        !           758:                #define TYPE_LONGLONG                           0
        !           759:                #define TYPE_BOOL                                       0
        !           760: 
        !           761:                #elif defined(_M_MRX000)        /* Visual C++ for Windows NT on MIPS target */
        !           762:                #define TARGET_CPU_PPC                          0
        !           763:                #define TARGET_CPU_68K                          0
        !           764:                #define TARGET_CPU_X86                          0
        !           765:                #define TARGET_CPU_MIPS                         1
        !           766:                #define TARGET_CPU_SPARC                        0
        !           767:                #define TARGET_CPU_ALPHA                        0
        !           768:                #define TARGET_OS_MAC                           0
        !           769:                #define TARGET_OS_WIN32                         1
        !           770:                #define TARGET_OS_UNIX                          0
        !           771:                #define TARGET_RT_LITTLE_ENDIAN         1
        !           772:                #define TARGET_RT_BIG_ENDIAN            0
        !           773:                #define TARGET_RT_MAC_CFM                       0
        !           774:                #define TARGET_RT_MAC_68881                     0
        !           775:                #define PRAGMA_IMPORT                           0
        !           776:                #define PRAGMA_STRUCT_ALIGN                     0
        !           777:                #define PRAGMA_ONCE                                     0
        !           778:                #define PRAGMA_STRUCT_PACK                      1
        !           779:                #define PRAGMA_STRUCT_PACKPUSH          1
        !           780:                #define PRAGMA_ENUM_PACK                        0
        !           781:                #define PRAGMA_ENUM_ALWAYSINT           0
        !           782:                #define PRAGMA_ENUM_OPTIONS                     0
        !           783:                #define FOUR_CHAR_CODE(x)               (((DWORD) ((x) & 0x000000FF)) << 24) \
        !           784:                                                                        | (((DWORD) ((x) & 0x0000FF00)) << 8) \
        !           785:                                                                        | (((DWORD) ((x) & 0x00FF0000)) >> 8) \
        !           786:                                                                        | (((DWORD) ((x) & 0xFF000000)) >> 24)
        !           787:                #define TYPE_EXTENDED                           0
        !           788:                #define TYPE_LONGLONG                           0
        !           789:                #define TYPE_BOOL                                       0
        !           790:        #endif
        !           791: 
        !           792: 
        !           793: #elif defined(__MOTO__)
        !           794:        /*
        !           795:                mcc from Motorola, Inc. ??
        !           796:        */
        !           797: 
        !           798: 
        !           799: 
        !           800: #elif defined(_MIPS_ISA)
        !           801:        /*
        !           802:                MIPSpro compiler from Silicon Graphics Inc.
        !           803:        */
        !           804:        #define TARGET_CPU_PPC                          0
        !           805:        #define TARGET_CPU_68K                          0
        !           806:        #define TARGET_CPU_X86                          0
        !           807:        #define TARGET_CPU_MIPS                         1
        !           808:        #define TARGET_CPU_SPARC                        0               
        !           809:        #define TARGET_CPU_ALPHA                        0
        !           810:        #define TARGET_OS_MAC                           0
        !           811:        #define TARGET_OS_WIN32                         0
        !           812:        #define TARGET_OS_UNIX                          1
        !           813:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           814:        #define TARGET_RT_BIG_ENDIAN            1
        !           815:        #define TARGET_RT_MAC_CFM                       0
        !           816:        #define TARGET_RT_MAC_68881                     0
        !           817:        #define PRAGMA_IMPORT                           0
        !           818:        #define PRAGMA_STRUCT_ALIGN                     0
        !           819:        #define PRAGMA_ONCE                                     0
        !           820:        #define PRAGMA_STRUCT_PACK                      1
        !           821:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           822:        #define PRAGMA_ENUM_PACK                        0
        !           823:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           824:        #define PRAGMA_ENUM_OPTIONS                     0
        !           825:        #define FOUR_CHAR_CODE(x)                       (x)
        !           826:        #define TYPE_EXTENDED                           0
        !           827:        #define TYPE_LONGLONG                           0
        !           828:        #define TYPE_BOOL                                       0
        !           829: 
        !           830: 
        !           831: #elif defined(__sparc)
        !           832:        /*
        !           833:                SPARCompiler compiler from Sun Microsystems Inc.
        !           834:        */
        !           835:        #define TARGET_CPU_PPC                          0
        !           836:        #define TARGET_CPU_68K                          0
        !           837:        #define TARGET_CPU_X86                          0
        !           838:        #define TARGET_CPU_MIPS                         0
        !           839:        #define TARGET_CPU_SPARC                        1               
        !           840:        #define TARGET_CPU_ALPHA                        0
        !           841:        #define TARGET_OS_MAC                           0
        !           842:        #define TARGET_OS_WIN32                         0
        !           843:        #define TARGET_OS_UNIX                          1
        !           844:        #define TARGET_RT_LITTLE_ENDIAN         0
        !           845:        #define TARGET_RT_BIG_ENDIAN            1
        !           846:        #define TARGET_RT_MAC_CFM                       0
        !           847:        #define TARGET_RT_MAC_68881                     0
        !           848:        #define PRAGMA_IMPORT                           0
        !           849:        #define PRAGMA_STRUCT_ALIGN                     0
        !           850:        #define PRAGMA_ONCE                                     0
        !           851:        #define PRAGMA_STRUCT_PACK                      1
        !           852:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           853:        #define PRAGMA_ENUM_PACK                        0
        !           854:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           855:        #define PRAGMA_ENUM_OPTIONS                     0
        !           856:        #define FOUR_CHAR_CODE(x)               (((unsigned long) ((x) & 0x000000FF)) << 24) \
        !           857:                                                                        | (((unsigned long) ((x) & 0x0000FF00)) << 8) \
        !           858:                                                                        | (((unsigned long) ((x) & 0x00FF0000)) >> 8) \
        !           859:                                                                        | (((unsigned long) ((x) & 0xFF000000)) >> 24)
        !           860:        #define TYPE_EXTENDED                           0
        !           861:        #define TYPE_LONGLONG                           0
        !           862:        #define TYPE_BOOL                                       0
        !           863: 
        !           864: 
        !           865: #else
        !           866:        /*
        !           867:                Unknown compiler, perhaps set up from the command line (e.g. -d TARGET_CPU_MIPS , etc.)
        !           868:        */
        !           869:        #if defined(TARGET_CPU_PPC) && TARGET_CPU_PPC
        !           870:                #define TARGET_CPU_68K   0
        !           871:                #define TARGET_CPU_X86   0
        !           872:                #define TARGET_CPU_MIPS  0
        !           873:                #define TARGET_CPU_SPARC 0
        !           874:                #define TARGET_CPU_ALPHA 0
        !           875:        #elif defined(TARGET_CPU_68K) && TARGET_CPU_68K
        !           876:                #define TARGET_CPU_PPC   0
        !           877:                #define TARGET_CPU_X86   0
        !           878:                #define TARGET_CPU_MIPS  0
        !           879:                #define TARGET_CPU_SPARC 0
        !           880:                #define TARGET_CPU_ALPHA 0
        !           881:        #elif defined(TARGET_CPU_X86) && TARGET_CPU_X86
        !           882:                #define TARGET_CPU_PPC   0
        !           883:                #define TARGET_CPU_68K   0
        !           884:                #define TARGET_CPU_MIPS  0
        !           885:                #define TARGET_CPU_SPARC 0
        !           886:                #define TARGET_CPU_ALPHA 0
        !           887:        #elif defined(TARGET_CPU_MIPS) && TARGET_CPU_MIPS
        !           888:                #define TARGET_CPU_PPC   0
        !           889:                #define TARGET_CPU_68K   0
        !           890:                #define TARGET_CPU_X86   0
        !           891:                #define TARGET_CPU_SPARC 0
        !           892:                #define TARGET_CPU_ALPHA 0
        !           893:        #elif defined(TARGET_CPU_SPARC) && TARGET_CPU_SPARC
        !           894:                #define TARGET_CPU_PPC   0
        !           895:                #define TARGET_CPU_68K   0
        !           896:                #define TARGET_CPU_X86   0
        !           897:                #define TARGET_CPU_MIPS  0
        !           898:                #define TARGET_CPU_ALPHA 0
        !           899:        #elif defined(TARGET_CPU_ALPHA) && TARGET_CPU_ALPHA
        !           900:                #define TARGET_CPU_PPC   0
        !           901:                #define TARGET_CPU_68K   0
        !           902:                #define TARGET_CPU_X86   0
        !           903:                #define TARGET_CPU_MIPS  0
        !           904:                #define TARGET_CPU_SPARC 0
        !           905:        #else
        !           906:                #error ConditionalMacros.h: unknown compiler
        !           907:                #define TARGET_CPU_PPC   0
        !           908:                #define TARGET_CPU_68K   0
        !           909:                #define TARGET_CPU_X86   0
        !           910:                #define TARGET_CPU_MIPS  0
        !           911:                #define TARGET_CPU_SPARC 0
        !           912:                #define TARGET_CPU_ALPHA 0
        !           913:        #endif
        !           914:        
        !           915:        #if defined(TARGET_OS_RHAPSODY) && TARGET_OS_RHAPSODY
        !           916:                #define TARGET_OS_WIN32  0
        !           917:                #define TARGET_OS_MAC    0
        !           918:                #define TARGET_OS_UNIX   1
        !           919:        #endif
        !           920: 
        !           921:        #if defined(TARGET_OS_MAC) && TARGET_OS_MAC
        !           922:                #define TARGET_OS_WIN32  0
        !           923:                #define TARGET_OS_UNIX   0
        !           924:        #elif defined(TARGET_OS_WIN32) && TARGET_OS_WIN32
        !           925:                #define TARGET_OS_MAC    0
        !           926:                #define TARGET_OS_UNIX   0
        !           927:        #elif defined(TARGET_OS_UNIX) && TARGET_OS_UNIX
        !           928:                #define TARGET_OS_MAC    0
        !           929:                #define TARGET_OS_WIN32  0
        !           930:        #elif TARGET_CPU_PPC || TARGET_CPU_68K
        !           931:                #define TARGET_OS_MAC    1
        !           932:                #define TARGET_OS_WIN32  0
        !           933:                #define TARGET_OS_UNIX   0
        !           934:        #else
        !           935:                #error ConditionalMacros.h: unknown target OS
        !           936:        #endif
        !           937: 
        !           938:        
        !           939:        #if !defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
        !           940:                #if TARGET_OS_MAC
        !           941:                        #define TARGET_RT_LITTLE_ENDIAN         0
        !           942:                        #define TARGET_RT_BIG_ENDIAN            1
        !           943:                #elif TARGET_OS_WIN32
        !           944:                        #define TARGET_RT_LITTLE_ENDIAN         1
        !           945:                        #define TARGET_RT_BIG_ENDIAN            0
        !           946:                #endif
        !           947:        #endif
        !           948:                
        !           949:        #if defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
        !           950:                #define TARGET_RT_LITTLE_ENDIAN         !TARGET_RT_BIG_ENDIAN
        !           951:        #elif !defined(TARGET_RT_BIG_ENDIAN) && defined(TARGET_RT_LITTLE_ENDIAN)
        !           952:                #define TARGET_RT_BIG_ENDIAN            !TARGET_RT_LITTLE_ENDIAN
        !           953:        #endif
        !           954:        
        !           955:        #if !defined(TARGET_RT_BIG_ENDIAN) && !defined(TARGET_RT_LITTLE_ENDIAN)
        !           956:                #error unknown endianess of target processor
        !           957:        #endif
        !           958: 
        !           959:        #ifndef TARGET_RT_MAC_CFM
        !           960:        #define TARGET_RT_MAC_CFM                       TARGET_CPU_PPC
        !           961:        #endif
        !           962:        #ifndef TARGET_RT_MAC_68881
        !           963:        #define TARGET_RT_MAC_68881                     0
        !           964:        #endif
        !           965: 
        !           966:                
        !           967:        #ifndef PRAGMA_IMPORT
        !           968:        #define PRAGMA_IMPORT                           0
        !           969:        #endif
        !           970:        #ifndef PRAGMA_STRUCT_ALIGN
        !           971:        #define PRAGMA_STRUCT_ALIGN                     0
        !           972:        #endif
        !           973:        #ifndef PRAGMA_ONCE
        !           974:        #define PRAGMA_ONCE                                     0
        !           975:        #endif
        !           976:        #ifndef PRAGMA_STRUCT_PACK
        !           977:        #define PRAGMA_STRUCT_PACK                      0
        !           978:        #endif
        !           979:        #ifndef PRAGMA_STRUCT_PACKPUSH
        !           980:        #define PRAGMA_STRUCT_PACKPUSH          0
        !           981:        #endif
        !           982:        #ifndef PRAGMA_ENUM_PACK
        !           983:        #define PRAGMA_ENUM_PACK                        0
        !           984:        #endif
        !           985:        #ifndef PRAGMA_ENUM_ALWAYSINT
        !           986:        #define PRAGMA_ENUM_ALWAYSINT           0
        !           987:        #endif
        !           988:        #ifndef PRAGMA_ENUM_OPTIONS
        !           989:        #define PRAGMA_ENUM_OPTIONS                     0
        !           990:        #endif
        !           991:        #ifndef FOUR_CHAR_CODE
        !           992:        #define FOUR_CHAR_CODE(x)                       (x)
        !           993:        #endif
        !           994: 
        !           995:        #ifndef TYPE_EXTENDED
        !           996:        #define TYPE_EXTENDED                           0
        !           997:        #endif
        !           998:        #ifndef TYPE_LONGLONG
        !           999:        #define TYPE_LONGLONG                           0
        !          1000:        #endif
        !          1001:        #ifndef TYPE_BOOL
        !          1002:        #define TYPE_BOOL                                       0
        !          1003:        #endif
        !          1004: #endif
        !          1005: 
        !          1006: 
        !          1007: 
        !          1008: 
        !          1009: /****************************************************************************************************
        !          1010: 
        !          1011:        EXTERN_API�     
        !          1012:        These conditionals are used to specify the calling convention of a function.
        !          1013:        Mac classic 68K and Win32 each have two possible calling conventions:
        !          1014: 
        !          1015:                EXTERN_API                              - Classic 68K pascal, Win32 __cdecl
        !          1016:                EXTERN_API_C                    - Classic 68K C,      Win32 __cdecl
        !          1017:                EXTERN_API_STDCALL              - Classic 68K pascal, Win32 __stdcall
        !          1018:                EXTERN_API_C_STDCALL    - Classic 68K C,      Win32 __stdcall
        !          1019: 
        !          1020: 
        !          1021:        CALLBACK_API�   
        !          1022:        These conditionals are used to specify the calling convention of a function pointer.
        !          1023:        Mac classic 68K and Win32 each have two possible calling conventions:
        !          1024: 
        !          1025:                CALLBACK_API                    - Classic 68K pascal, Win32 __stdcall
        !          1026:                CALLBACK_API_C                  - Classic 68K C,      Win32 __stdcall
        !          1027:                CALLBACK_API_STDCALL    - Classic 68K pascal, Win32 __cdecl
        !          1028:                CALLBACK_API_C_STDCALL  - Classic 68K C,      Win32 __cdecl
        !          1029: 
        !          1030: ****************************************************************************************************/
        !          1031: #if TARGET_OS_MAC
        !          1032:        /*
        !          1033:                Mac OS
        !          1034:        */
        !          1035:        #define EXTERN_API(_type)                                               extern pascal _type             /* Note: all Mac OS compilers must be able to handle the pascal keyword */
        !          1036:        #define EXTERN_API_C(_type)                                             extern _type
        !          1037:        #define EXTERN_API_STDCALL(_type)                               extern pascal _type
        !          1038:        #define EXTERN_API_C_STDCALL(_type)                             extern _type
        !          1039:        #define CALLBACK_API(_type, _name)                              pascal _type (*_name)
        !          1040:        #define CALLBACK_API_C(_type, _name)                    _type (*_name)
        !          1041:        #define CALLBACK_API_STDCALL(_type, _name)              pascal _type (*_name)
        !          1042:        #define CALLBACK_API_C_STDCALL(_type, _name)    _type (*_name)  
        !          1043: #elif TARGET_OS_WIN32
        !          1044:        /*
        !          1045:                Win32 
        !          1046:        */
        !          1047:        #define EXTERN_API(_type)                                               __declspec(dllimport) _type __cdecl
        !          1048:        #define EXTERN_API_C(_type)                                             __declspec(dllimport) _type __cdecl
        !          1049:        #define EXTERN_API_STDCALL(_type)                               __declspec(dllimport) _type __stdcall
        !          1050:        #define EXTERN_API_C_STDCALL(_type)                             __declspec(dllimport) _type __stdcall
        !          1051:        #define CALLBACK_API(_type, _name)                              _type (* __cdecl _name)
        !          1052:        #define CALLBACK_API_C(_type, _name)                    _type (* __cdecl _name)
        !          1053:        #define CALLBACK_API_STDCALL(_type, _name)              _type (* __stdcall _name)
        !          1054:        #define CALLBACK_API_C_STDCALL(_type, _name)    _type (* __stdcall _name)       
        !          1055: #else
        !          1056:        /*
        !          1057:                Unix or anything else
        !          1058:        */
        !          1059:        #define EXTERN_API(_type)                                               extern _type
        !          1060:        #define EXTERN_API_C(_type)                                             extern _type
        !          1061:        #define EXTERN_API_STDCALL(_type)                               extern _type
        !          1062:        #define EXTERN_API_C_STDCALL(_type)                             extern _type
        !          1063:        #define CALLBACK_API(_type, _name)                              _type (*_name)
        !          1064:        #define CALLBACK_API_C(_type, _name)                    _type (*_name)
        !          1065:        #define CALLBACK_API_STDCALL(_type, _name)              _type (*_name)
        !          1066:        #define CALLBACK_API_C_STDCALL(_type, _name)    _type (*_name)  
        !          1067: #endif
        !          1068: 
        !          1069: 
        !          1070: /*  Backwards compatibility for clients expecting Universal Interfacew 3.0d7 (Interfacer 2.d014) style */
        !          1071: #define EXTERN_API_1   EXTERN_API_STDCALL
        !          1072: #define EXTERN_API_2   EXTERN_API_C_STDCALL
        !          1073: #define EXTERN_API_3   EXTERN_API
        !          1074: #define EXTERN_API_4   EXTERN_API_C
        !          1075: #define CALLBACK_API_1 CALLBACK_API_STDCALL
        !          1076: #define CALLBACK_API_2 CALLBACK_API_C_STDCALL
        !          1077: #define CALLBACK_API_3 CALLBACK_API
        !          1078: #define CALLBACK_API_4 CALLBACK_API_C
        !          1079: 
        !          1080: /* Remove pascal support from Rhapsody */
        !          1081: #ifdef TARGET_OS_RHAPSODY
        !          1082: #define pascal
        !          1083: #endif
        !          1084: 
        !          1085: /****************************************************************************************************
        !          1086:        Backward compatibility for clients expecting 2.x version on ConditionalMacros.h
        !          1087: 
        !          1088:        GENERATINGPOWERPC               - Compiler is generating PowerPC instructions
        !          1089:        GENERATING68K                   - Compiler is generating 68k family instructions
        !          1090:        GENERATING68881                 - Compiler is generating mc68881 floating point instructions
        !          1091:        GENERATINGCFM                   - Code being generated assumes CFM calling conventions
        !          1092:        CFMSYSTEMCALLS                  - No A-traps.  Systems calls are made using CFM and UPP's
        !          1093:        PRAGMA_ALIGN_SUPPORTED  - Compiler supports: #pragma options align=mac68k/power/reset
        !          1094:        PRAGMA_IMPORT_SUPPORTED - Compiler supports: #pragma import on/off/reset
        !          1095: 
        !          1096: ****************************************************************************************************/
        !          1097: #define GENERATINGPOWERPC TARGET_CPU_PPC
        !          1098: #define GENERATING68K TARGET_CPU_68K
        !          1099: #define GENERATING68881 TARGET_RT_MAC_68881
        !          1100: #define GENERATINGCFM TARGET_RT_MAC_CFM
        !          1101: #define CFMSYSTEMCALLS TARGET_RT_MAC_CFM
        !          1102: /*
        !          1103:    The SuperMario build sets PRAGMA_ALIGN_SUPPORTED in some cases to work around old MPW C compiler 
        !          1104:    using NameRegistry.  Once SM switches to Interfacer 2.0d14 the #ifndef will no longer be needed.
        !          1105: */
        !          1106: #ifndef PRAGMA_ALIGN_SUPPORTED
        !          1107:        #define PRAGMA_ALIGN_SUPPORTED PRAGMA_STRUCT_ALIGN
        !          1108: #endif
        !          1109: #define PRAGMA_IMPORT_SUPPORTED PRAGMA_IMPORT
        !          1110: /*
        !          1111:        NOTE: The FOR_� conditionals were developed to produce integerated
        !          1112:                  interface files for System 7 and Copland.  Now that Copland
        !          1113:                  is canceled, all FOR_ conditionals have been removed from
        !          1114:                  the interface files.  But, just in case you someone got an 
        !          1115:                  interface file that uses them, the following sets the FOR_�
        !          1116:                  conditionals to a consistent, usable state.
        !          1117: */
        !          1118: #define FOR_OPAQUE_SYSTEM_DATA_STRUCTURES 0
        !          1119: #ifndef FOR_PTR_BASED_AE
        !          1120: #define FOR_PTR_BASED_AE 0
        !          1121: #endif  /*  ! defined(FOR_PTR_BASED_AE)  */
        !          1122: 
        !          1123: #define FOR_SYSTEM7_ONLY 1
        !          1124: #define FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED 1
        !          1125: #define FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE 1
        !          1126: #define FOR_SYSTEM7_AND_SYSTEM8_PREEMPTIVE 1
        !          1127: #define FOR_SYSTEM8_COOPERATIVE 0
        !          1128: #define FOR_SYSTEM8_PREEMPTIVE 0
        !          1129: 
        !          1130: 
        !          1131: 
        !          1132: /****************************************************************************************************
        !          1133: 
        !          1134:        OLDROUTINENAMES                 - "Old" names for Macintosh system calls are allowed in source code.
        !          1135:                                                          (e.g. DisposPtr instead of DisposePtr). The names of system routine
        !          1136:                                                          are now more sensitive to change because CFM binds by name.  In the 
        !          1137:                                                          past, system routine names were compiled out to just an A-Trap.  
        !          1138:                                                          Macros have been added that each map an old name to its new name.  
        !          1139:                                                          This allows old routine names to be used in existing source files,
        !          1140:                                                          but the macros only work if OLDROUTINENAMES is true.  This support
        !          1141:                                                          will be removed in the near future.  Thus, all source code should 
        !          1142:                                                          be changed to use the new names! You can set OLDROUTINENAMES to false
        !          1143:                                                          to see if your code has any old names left in it.
        !          1144:        
        !          1145:        OLDROUTINELOCATIONS     - "Old" location of Macintosh system calls are used.  For example, c2pstr 
        !          1146:                                                          has been moved from Strings to TextUtils.  It is conditionalized in
        !          1147:                                                          Strings with OLDROUTINELOCATIONS and in TextUtils with !OLDROUTINELOCATIONS.
        !          1148:                                                          This allows developers to upgrade to newer interface files without 
        !          1149:                                                          having to change the includes in their source code.  But, it allows
        !          1150:                                                          the slow migration of system calls to more understandable file locations.  
        !          1151:                                                          OLDROUTINELOCATIONS currently defaults to true, but eventually will 
        !          1152:                                                          default to false.
        !          1153: 
        !          1154: ****************************************************************************************************/
        !          1155: #ifndef OLDROUTINENAMES
        !          1156: #define OLDROUTINENAMES 0
        !          1157: #endif  /*  ! defined(OLDROUTINENAMES)  */
        !          1158: 
        !          1159: #ifndef OLDROUTINELOCATIONS
        !          1160: #define OLDROUTINELOCATIONS 0
        !          1161: #endif  /*  ! defined(OLDROUTINELOCATIONS)  */
        !          1162: 
        !          1163: 
        !          1164: 
        !          1165: /****************************************************************************************************
        !          1166:        C specific conditionals
        !          1167: 
        !          1168:        CGLUESUPPORTED                  - Interface library will support "C glue" functions (function names
        !          1169:                                                          are: all lowercase, use C strings instead of pascal strings, use 
        !          1170:                                                          Point* instead of Point).
        !          1171: 
        !          1172: ****************************************************************************************************/
        !          1173: #ifndef CGLUESUPPORTED
        !          1174: #ifdef THINK_C
        !          1175: #define CGLUESUPPORTED 0
        !          1176: #else
        !          1177: #define CGLUESUPPORTED 1
        !          1178: #endif  /*  defined(THINK_C)  */
        !          1179: 
        !          1180: #endif  /*  ! defined(CGLUESUPPORTED)  */
        !          1181: 
        !          1182: 
        !          1183: 
        !          1184: /****************************************************************************************************
        !          1185:        The following macros isolate the use of 68K inlines in function prototypes.
        !          1186:        On the Mac OS under the Classic 68K runtime, function prototypes were followed
        !          1187:        by a list of 68K opcodes which the compiler inserted in the generated code instead
        !          1188:        of a JSR.  Under Classic 68K on the Mac OS, this macro will put the opcodes
        !          1189:        in the right syntax.  For all other OS's and runtimes the macro suppress the opcodes.
        !          1190:        Example:
        !          1191:        
        !          1192:                EXTERN_P void DrawPicture(PicHandle myPicture, const Rect *dstRect)
        !          1193:                        ONEWORDINLINE(0xA8F6);
        !          1194:        
        !          1195: ****************************************************************************************************/
        !          1196: 
        !          1197: #if TARGET_OS_MAC && !TARGET_RT_MAC_CFM
        !          1198:        #define ONEWORDINLINE(w1) = w1
        !          1199:        #define TWOWORDINLINE(w1,w2) = {w1,w2}
        !          1200:        #define THREEWORDINLINE(w1,w2,w3) = {w1,w2,w3}
        !          1201:        #define FOURWORDINLINE(w1,w2,w3,w4)  = {w1,w2,w3,w4}
        !          1202:        #define FIVEWORDINLINE(w1,w2,w3,w4,w5) = {w1,w2,w3,w4,w5}
        !          1203:        #define SIXWORDINLINE(w1,w2,w3,w4,w5,w6)         = {w1,w2,w3,w4,w5,w6}
        !          1204:        #define SEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7)    = {w1,w2,w3,w4,w5,w6,w7}
        !          1205:        #define EIGHTWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8)         = {w1,w2,w3,w4,w5,w6,w7,w8}
        !          1206:        #define NINEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9)       = {w1,w2,w3,w4,w5,w6,w7,w8,w9}
        !          1207:        #define TENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10)  = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10}
        !          1208:        #define ELEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11)     = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11}
        !          1209:        #define TWELVEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12)         = {w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12}
        !          1210: #else
        !          1211:        #define ONEWORDINLINE(w1)
        !          1212:        #define TWOWORDINLINE(w1,w2)
        !          1213:        #define THREEWORDINLINE(w1,w2,w3)
        !          1214:        #define FOURWORDINLINE(w1,w2,w3,w4)
        !          1215:        #define FIVEWORDINLINE(w1,w2,w3,w4,w5)
        !          1216:        #define SIXWORDINLINE(w1,w2,w3,w4,w5,w6)
        !          1217:        #define SEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7)
        !          1218:        #define EIGHTWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8)
        !          1219:        #define NINEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9)
        !          1220:        #define TENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10)
        !          1221:        #define ELEVENWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11)
        !          1222:        #define TWELVEWORDINLINE(w1,w2,w3,w4,w5,w6,w7,w8,w9,w10,w11,w12)
        !          1223: #endif
        !          1224: 
        !          1225: 
        !          1226: 
        !          1227: 
        !          1228: 
        !          1229: #endif /* __CONDITIONALMACROS__ */
        !          1230: 

unix.superglobalmegacorp.com

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