22 #ifndef __CONDITIONALMACROS__
39 #if PRAGMA_STRUCT_ALIGN
40 #pragma options align = mac68k
41 #elif PRAGMA_STRUCT_PACKPUSH
43 #elif PRAGMA_STRUCT_PACK
56 #if !defined(__cplusplus) && (defined(__SC__) || defined(THINK_C))
58 #define NULL ((void *)0)
83 typedef unsigned char UInt8;
84 typedef signed char SInt8;
85 typedef unsigned short UInt16;
86 typedef signed short SInt16;
87 typedef unsigned long UInt32;
88 typedef signed long SInt32;
89 #if TARGET_RT_BIG_ENDIAN
130 #if defined(_MSC_VER) && !defined(__MWERKS__) && defined(_M_IX86)
131 typedef signed __int64
SInt64;
132 typedef unsigned __int64
UInt64;
134 typedef signed long long SInt64;
135 typedef unsigned long long UInt64;
154 typedef Fixed *FixedPtr;
156 typedef Fract *FractPtr;
157 typedef unsigned long UnsignedFixed;
158 typedef UnsignedFixed *UnsignedFixedPtr;
159 typedef short ShortFixed;
160 typedef ShortFixed *ShortFixedPtr;
180 typedef float Float32;
181 #if defined(__MWERKS__) || defined(THINK_C)
182 typedef short double Float64;
184 typedef double Float64;
187 #if TARGET_RT_MAC_68881
265 typedef SInt16 OSErr;
266 typedef SInt32 OSStatus;
267 typedef void *LogicalAddress;
268 typedef const void *ConstLogicalAddress;
269 typedef void *PhysicalAddress;
270 typedef UInt8 *BytePtr;
271 typedef UInt32 ByteCount;
272 typedef UInt32 ByteOffset;
273 typedef SInt32 Duration;
275 typedef UInt32 OptionBits;
276 typedef UInt32 ItemCount;
277 typedef UInt32 PBVersion;
278 typedef SInt16 ScriptCode;
279 typedef SInt16 LangCode;
280 typedef SInt16 RegionCode;
281 typedef unsigned long FourCharCode;
282 typedef FourCharCode OSType;
283 typedef FourCharCode ResType;
284 typedef OSType *OSTypePtr;
285 typedef ResType *ResTypePtr;
305 #pragma warning(disable : 4237)
314 #pragma warning(default : 4237)
332 typedef CALLBACK_API_C(
long, ProcPtr)();
333 typedef CALLBACK_API(
void, Register68kProcPtr)();
334 #if TARGET_OS_MAC && TARGET_RT_MAC_CFM
338 typedef ProcPtr UniversalProcPtr;
342 typedef UniversalProcPtr *UniversalProcHandle;
378 kVariableLengthArray = 1
439 typedef UInt32 UnicodeScalarValue;
440 typedef UInt32 UTF32Char;
441 typedef UInt16 UniChar;
442 typedef UInt16 UTF16Char;
443 typedef UInt8 UTF8Char;
444 typedef UniChar *UniCharPtr;
445 typedef UInt32 UniCharCount;
446 typedef UniCharCount *UniCharCountPtr;
447 typedef unsigned char Str255[256];
448 typedef unsigned char Str63[64];
449 typedef unsigned char Str32[33];
450 typedef unsigned char Str31[32];
451 typedef unsigned char Str27[28];
452 typedef unsigned char Str15[16];
479 typedef const unsigned char *ConstStringPtr;
480 typedef const unsigned char *ConstStr255Param;
481 typedef const unsigned char *ConstStr63Param;
482 typedef const unsigned char *ConstStr32Param;
483 typedef const unsigned char *ConstStr31Param;
484 typedef const unsigned char *ConstStr27Param;
485 typedef const unsigned char *ConstStr15Param;
487 typedef ConstStr63Param ConstStrFileNameParam;
489 typedef ConstStr255Param ConstStrFileNameParam;
493 inline unsigned char StrLength(ConstStr255Param
string) {
return (*
string); }
495 #define StrLength(string) (*(unsigned char *)(string))
499 #define Length(string) StrLength(string)
550 typedef short CharParameter;
563 typedef unsigned char Style;
564 typedef short StyleParameter;
565 typedef Style StyleField;
579 typedef long TimeValue;
580 typedef long TimeScale;
583 typedef struct TimeBaseRecord *TimeBase;
600 #if defined(__SC__) && !defined(__STDC__) && defined(__cplusplus)
601 class __machdl HandleObject
605 class __pasobj PascalObject
626 #if TARGET_RT_BIG_ENDIAN
685 typedef SInt8 SignedByte;
690 typedef SInt8 VHSelect;
712 ... The DebugStr
function does the same
thing, but passes a
string to the
713 debugger(which then displays the message)
714 .Remember that Debugger will
crash the system with an ID 12 System
715 Error
if no
debugger is installed when it is invoked.This is the real reason
716 why not to ship with debug traps in your code
717 - most end users
do not have debuggers installed.</ pre> * \copyright THINK Reference © 1991 - 1992 Symantec Corporation * \non_carbon_cfm in InterfaceLib 7.1 and
719 * \carbon_lib in CarbonLib 1.0 and
721 * \mac_os_x in version 10.0 and
739 DebugStr(
"\pGot an invalid Menu command.");
741 ... The Debugger
function also activates the
debugger, but does not pass any information to it.Remember that Debugger will
crash the system with an ID 12 System Error
if no
debugger is installed when it is invoked.This is the real reason why not to ship with debug traps in your code - most end users
do not have debuggers installed.A real handy feature of
using DebugStr is the
";" feature.You can issue Macsbug commands from inside your program by embedding the commands in a pascal string, prefixing each command with the
";" character.For example : DebugStr(
"\p ;hs ;g");
742 Would toggle heap scrambling. You can use
this for any Macsbug command
743 such as logging files, toggling heap scrambling and doing heap displays
744 during execution of your program
for later review.
746 * \copyright THINK Reference © 1991-1992 Symantec Corporation
747 * \non_carbon_cfm in InterfaceLib 7.1 and later
748 * \carbon_lib in CarbonLib 1.0 and later
749 * \mac_os_x in version 10.0 and later
752 DebugStr(ConstStr255Param debuggerMsg);
755 #if CALL_NOT_IN_CARBON
764 void debugstr(
const char *debuggerMsg);
770 #if CALL_NOT_IN_CARBON
791 SysDebugStr(ConstStr255Param str);
818 SysBreakStr(ConstStr255Param debuggerMsg);
829 SysBreakFunc(ConstStr255Param debuggerMsg);
832 #if OLDROUTINENAMES && TARGET_CPU_68K
833 #define Debugger68k() Debugger()
834 #define DebugStr68k(s) DebugStr(s)
838 #if PRAGMA_STRUCT_ALIGN
839 #pragma options align = reset
840 #elif PRAGMA_STRUCT_PACKPUSH
842 #elif PRAGMA_STRUCT_PACK
846 #ifdef PRAGMA_IMPORT_OFF
Set up for compiler independent conditionals.
long Fixed
Definition: MacTypes.h:153
unsigned char Str32Field[34]
Definition: MacTypes.h:461
Str255 StrFileName
Definition: MacTypes.h:474
unsigned char * StringPtr
Definition: MacTypes.h:477
ProcPtr * ProcHandle
Definition: MacTypes.h:341
The DebugStr function does the same but passes a string to the debugger(which then displays the message) .Remember that Debugger will crash the system with an ID 12 System Error if no debugger is installed when it is invoked.This is the real reason why not to ship with debug traps in your code - most end users do not have debuggers installed.</pre > *@par Copyright The Debugger function also activates the debugger
Invoke the debugging program; pass string to display.
Definition: MacTypes.h:713
#define StrLength(string)
Definition: MacTypes.h:495
The DebugStr function does the same thing
Invoke the debugging program.
Definition: MacTypes.h:712
unsigned char Boolean
Definition: MacTypes.h:318
@ developStage
Definition: MacTypes.h:652
wide SInt64
Definition: MacTypes.h:139
@ crash
Definition: Script.h:1071
Definition: MacTypes.h:536
Definition: MacTypes.h:542
Definition: MacTypes.h:220
Definition: MacTypes.h:206
Definition: MacTypes.h:213
UInt16 man[4]
Definition: MacTypes.h:215
Definition: MacTypes.h:638
UInt8 majorRev
Definition: MacTypes.h:644
UInt8 stage
Definition: MacTypes.h:642
UInt8 minorAndBugRev
Definition: MacTypes.h:643
UInt8 nonRelRev
Definition: MacTypes.h:641
Definition: MacTypes.h:520
Definition: MacTypes.h:527
Definition: MixedMode.h:214
Definition: MacTypes.h:585
TimeBase base
Definition: MacTypes.h:588
TimeScale scale
Definition: MacTypes.h:587
Definition: MacTypes.h:110
Definition: MacTypes.h:669
Str255 reserved
Definition: MacTypes.h:674
NumVersion numericVersion
Definition: MacTypes.h:671
short countryCode
Definition: MacTypes.h:672
Str255 shortVersion
Definition: MacTypes.h:673
Definition: MacTypes.h:104
Definition: MacTypes.h:659
NumVersion parts
Definition: MacTypes.h:662