/*
	File:		ConditionalMacros.h

	Copyright:	© 1984-1993 by Apple Computer, Inc., all rights reserved.

	WARNING
	This file was auto generated by the interfacer tool. Modifications
	must be made to the master file.

*/

#ifndef __CONDITIONALMACROS__
#define __CONDITIONALMACROS__

#ifndef RC_INVOKED

#ifdef WINVER
#undef SystemSevenOrLater
#define SystemSevenOrLater 0
#define USES68KINLINES 0
#ifndef OLDROUTINENAMES
#define OLDROUTINENAMES 1
#endif
#define USESROUTINEDESCRIPTORS 0
#endif

/*
	Defaults
*/

#ifndef SystemSevenOrLater
#if defined(powerc) || defined(__powerc)
#define SystemSevenOrLater 1

#else
#define SystemSevenOrLater 0

#endif

#endif

#ifndef SystemSixOrLater
#define SystemSixOrLater SystemSevenOrLater

#endif

#ifndef OLDROUTINENAMES
#define OLDROUTINENAMES 1

#endif

#ifndef USES68KINLINES
#if defined(powerc) || defined(__powerc)
#define USES68KINLINES 0

#else
#define USES68KINLINES 1

#endif

#endif

#ifndef USESROUTINEDESCRIPTORS
#define USESROUTINEDESCRIPTORS !USES68KINLINES

#endif

#ifndef USESCODEFRAGMENTS
#define USESCODEFRAGMENTS !USES68KINLINES

#endif


/*
	The following macros isolate the use of inlines from the routine prototypes.
	A routine prototype will always be followed by on of these inline macros with
	a list of the opcodes to be inlined.  On the 68K side, the appropriate inline
	code will be generated.  On platforms that use code fragments, the macros are
	essentially NOPs.
*/

#if USES68KINLINES && !USESCODEFRAGMENTS
#define ONEWORDINLINE(trapNum) = trapNum

#define TWOWORDINLINE(firstWord, secondWord) = {firstWord, secondWord}

#define THREEWORDINLINE(firstWord, secondWord, thirdWord) = {firstWord,	\
	secondWord,			\
	thirdWord}

#define FOURWORDINLINE(firstWord, secondWord, thirdWord, fourthWord) = {firstWord,	\
	secondWord,			\
	thirdWord,			\
	fourthWord}

#define FIVEWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord) =	\
	{firstWord,			\
	secondWord,			\
	thirdWord,			\
	fourthWord,			\
	fifthWord}

#define SIXWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord) =	\
	{firstWord,			\
	secondWord,			\
	thirdWord,			\
	fourthWord,			\
	fifthWord,			\
	sixthWord}

#define SEVENWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord) =	\
	{firstWord,			\
	secondWord,			\
	thirdWord,			\
	fourthWord,			\
	fifthWord,			\
	sixthWord,			\
	seventhWord}

#define EIGHTWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord, eighthWord) =	\
	{firstWord,			\
	secondWord,			\
	thirdWord,			\
	fourthWord,			\
	fifthWord,			\
	sixthWord,			\
	seventhWord,			\
	eighthWord}

#define NINEWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord, eighthWord, ninthWord) =	\
	{firstWord,			\
	secondWord,			\
	thirdWord,			\
	fourthWord,			\
	fifthWord,			\
	sixthWord,			\
	seventhWord,			\
	eighthWord,			\
	ninthWord}

#else

#ifndef ONEWORDINLINE

#define ONEWORDINLINE(trapNum)

#define TWOWORDINLINE(firstWord, secondWord)

#define THREEWORDINLINE(firstWord, secondWord, thirdWord)

#define FOURWORDINLINE(firstWord, secondWord, thirdWord, fourthWord)

#define FIVEWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord)

#define SIXWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord)

#define SEVENWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord)

#define EIGHTWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord, eighthWord)

#define NINEWORDINLINE(firstWord, secondWord, thirdWord, fourthWord, fifthWord, sixthWord, seventhWord, eighthWord, ninthWord)

#endif

#endif

#endif		// #ifndef RC_INVOKED

#endif		// #ifndef __CONDITIONALMACROS__
