this repo has no description
at fixPythonPipStalling 808 lines 32 kB view raw
1/* 2 * Copyright (c) 1985-2011 by Apple Inc.. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24/* 25 File: MacTypes.h 26 27 Contains: Basic Macintosh data types. 28 29 Version: CarbonCore-769~1 30 31 Bugs?: For bug reports, consult the following page on 32 the World Wide Web: 33 34 http://developer.apple.com/bugreporter/ 35 36*/ 37#ifndef __MACTYPES__ 38#define __MACTYPES__ 39 40#ifndef __CONDITIONALMACROS__ 41#include <ConditionalMacros.h> 42#endif 43 44#include <stdbool.h> 45 46#include <sys/types.h> 47 48#include <Availability.h> 49 50#if PRAGMA_ONCE 51#pragma once 52#endif 53 54#ifdef __cplusplus 55extern "C" { 56#endif 57 58#pragma pack(push, 2) 59 60 61/* 62 CarbonCore Deprecation flags. 63 64 Certain Carbon API functions are deprecated in 10.3 and later 65 systems. These will produce a warning when compiling on 10.3. 66 67 Other functions and constants do not produce meaningful 68 results when building Carbon for Mac OS X. For these 69 functions, no-op macros are provided, but only when the 70 ALLOW_OBSOLETE_CARBON flag is defined to be 0: eg 71 -DALLOW_OBSOLETE_CARBON=0. 72*/ 73 74#if ! defined(ALLOW_OBSOLETE_CARBON) || ! ALLOW_OBSOLETE_CARBON 75 76#define ALLOW_OBSOLETE_CARBON_MACMEMORY 0 77#define ALLOW_OBSOLETE_CARBON_OSUTILS 0 78 79#else 80 81#define ALLOW_OBSOLETE_CARBON_MACMEMORY 1 /* Removes obsolete constants; turns HLock/HUnlock into no-op macros */ 82#define ALLOW_OBSOLETE_CARBON_OSUTILS 1 /* Removes obsolete structures */ 83 84#endif 85 86#ifndef NULL 87#define NULL __DARWIN_NULL 88#endif /* ! NULL */ 89#ifndef nil 90 #if defined(__has_feature) 91 #if __has_feature(cxx_nullptr) 92 #define nil nullptr 93 #else 94 #define nil __DARWIN_NULL 95 #endif 96 #else 97 #define nil __DARWIN_NULL 98 #endif 99#endif 100 101/******************************************************************************** 102 103 Base integer types for all target OS's and CPU's 104 105 UInt8 8-bit unsigned integer 106 SInt8 8-bit signed integer 107 UInt16 16-bit unsigned integer 108 SInt16 16-bit signed integer 109 UInt32 32-bit unsigned integer 110 SInt32 32-bit signed integer 111 UInt64 64-bit unsigned integer 112 SInt64 64-bit signed integer 113 114*********************************************************************************/ 115typedef unsigned char UInt8; 116typedef signed char SInt8; 117typedef unsigned short UInt16; 118typedef signed short SInt16; 119 120#if __LP64__ 121typedef unsigned int UInt32; 122typedef signed int SInt32; 123#else 124typedef unsigned long UInt32; 125typedef signed long SInt32; 126#endif 127 128/* avoid redeclaration if libkern/OSTypes.h */ 129#ifndef _OS_OSTYPES_H 130#if TARGET_RT_BIG_ENDIAN 131struct wide { 132 SInt32 hi; 133 UInt32 lo; 134}; 135typedef struct wide wide; 136struct UnsignedWide { 137 UInt32 hi; 138 UInt32 lo; 139}; 140typedef struct UnsignedWide UnsignedWide; 141#else 142struct wide { 143 UInt32 lo; 144 SInt32 hi; 145}; 146typedef struct wide wide; 147struct UnsignedWide { 148 UInt32 lo; 149 UInt32 hi; 150}; 151typedef struct UnsignedWide UnsignedWide; 152#endif /* TARGET_RT_BIG_ENDIAN */ 153 154#endif 155 156#if TYPE_LONGLONG 157/* 158 Note: wide and UnsignedWide must always be structs for source code 159 compatibility. On the other hand UInt64 and SInt64 can be 160 either a struct or a long long, depending on the compiler. 161 162 If you use UInt64 and SInt64 you should do all operations on 163 those data types through the functions/macros in Math64.h. 164 This will assure that your code compiles with compilers that 165 support long long and those that don't. 166 167 The MS Visual C/C++ compiler uses __int64 instead of long long. 168*/ 169 #if defined(_MSC_VER) && !defined(__MWERKS__) && defined(_M_IX86) 170 typedef signed __int64 SInt64; 171 typedef unsigned __int64 UInt64; 172 #else 173 typedef signed long long SInt64; 174 typedef unsigned long long UInt64; 175 #endif 176#else 177 178 179typedef wide SInt64; 180typedef UnsignedWide UInt64; 181#endif /* TYPE_LONGLONG */ 182 183/******************************************************************************** 184 185 Base fixed point types 186 187 Fixed 16-bit signed integer plus 16-bit fraction 188 UnsignedFixed 16-bit unsigned integer plus 16-bit fraction 189 Fract 2-bit signed integer plus 30-bit fraction 190 ShortFixed 8-bit signed integer plus 8-bit fraction 191 192*********************************************************************************/ 193typedef SInt32 Fixed; 194typedef Fixed * FixedPtr; 195typedef SInt32 Fract; 196typedef Fract * FractPtr; 197typedef UInt32 UnsignedFixed; 198typedef UnsignedFixed * UnsignedFixedPtr; 199typedef short ShortFixed; 200typedef ShortFixed * ShortFixedPtr; 201 202 203/******************************************************************************** 204 205 Base floating point types 206 207 Float32 32 bit IEEE float: 1 sign bit, 8 exponent bits, 23 fraction bits 208 Float64 64 bit IEEE float: 1 sign bit, 11 exponent bits, 52 fraction bits 209 Float80 80 bit MacOS float: 1 sign bit, 15 exponent bits, 1 integer bit, 63 fraction bits 210 Float96 96 bit 68881 float: 1 sign bit, 15 exponent bits, 16 pad bits, 1 integer bit, 63 fraction bits 211 212 Note: These are fixed size floating point types, useful when writing a floating 213 point value to disk. If your compiler does not support a particular size 214 float, a struct is used instead. 215 Use of of the NCEG types (e.g. double_t) or an ANSI C type (e.g. double) if 216 you want a floating point representation that is natural for any given 217 compiler, but might be a different size on different compilers. 218 219*********************************************************************************/ 220typedef float Float32; 221typedef double Float64; 222struct Float80 { 223 SInt16 exp; 224 UInt16 man[4]; 225}; 226typedef struct Float80 Float80; 227 228struct Float96 { 229 SInt16 exp[2]; /* the second 16-bits are undefined */ 230 UInt16 man[4]; 231}; 232typedef struct Float96 Float96; 233struct Float32Point { 234 Float32 x; 235 Float32 y; 236}; 237typedef struct Float32Point Float32Point; 238 239/******************************************************************************** 240 241 MacOS Memory Manager types 242 243 Ptr Pointer to a non-relocatable block 244 Handle Pointer to a master pointer to a relocatable block 245 Size The number of bytes in a block (signed for historical reasons) 246 247*********************************************************************************/ 248typedef char * Ptr; 249typedef Ptr * Handle; 250typedef long Size; 251 252/******************************************************************************** 253 254 Higher level basic types 255 256 OSErr 16-bit result error code 257 OSStatus 32-bit result error code 258 LogicalAddress Address in the clients virtual address space 259 ConstLogicalAddress Address in the clients virtual address space that will only be read 260 PhysicalAddress Real address as used on the hardware bus 261 BytePtr Pointer to an array of bytes 262 ByteCount The size of an array of bytes 263 ByteOffset An offset into an array of bytes 264 ItemCount 32-bit iteration count 265 OptionBits Standard 32-bit set of bit flags 266 PBVersion ? 267 Duration 32-bit millisecond timer for drivers 268 AbsoluteTime 64-bit clock 269 ScriptCode A particular set of written characters (e.g. Roman vs Cyrillic) and their encoding 270 LangCode A particular language (e.g. English), as represented using a particular ScriptCode 271 RegionCode Designates a language as used in a particular region (e.g. British vs American 272 English) together with other region-dependent characteristics (e.g. date format) 273 FourCharCode A 32-bit value made by packing four 1 byte characters together 274 OSType A FourCharCode used in the OS and file system (e.g. creator) 275 ResType A FourCharCode used to tag resources (e.g. 'DLOG') 276 277*********************************************************************************/ 278typedef SInt16 OSErr; 279typedef SInt32 OSStatus; 280typedef void * LogicalAddress; 281typedef const void * ConstLogicalAddress; 282typedef void * PhysicalAddress; 283typedef UInt8 * BytePtr; 284typedef unsigned long ByteCount; 285typedef unsigned long ByteOffset; 286typedef SInt32 Duration; 287typedef UnsignedWide AbsoluteTime; 288typedef UInt32 OptionBits; 289typedef unsigned long ItemCount; 290typedef UInt32 PBVersion; 291typedef SInt16 ScriptCode; 292typedef SInt16 LangCode; 293typedef SInt16 RegionCode; 294typedef UInt32 FourCharCode; 295typedef FourCharCode OSType; 296typedef FourCharCode ResType; 297typedef OSType * OSTypePtr; 298typedef ResType * ResTypePtr; 299/******************************************************************************** 300 301 Boolean types and values 302 303 Boolean Mac OS historic type, sizeof(Boolean)==1 304 bool Defined in stdbool.h, ISO C/C++ standard type 305 false Now defined in stdbool.h 306 true Now defined in stdbool.h 307 308*********************************************************************************/ 309typedef unsigned char Boolean; 310/******************************************************************************** 311 312 Function Pointer Types 313 314 ProcPtr Generic pointer to a function 315 Register68kProcPtr Pointer to a 68K function that expects parameters in registers 316 UniversalProcPtr Pointer to classic 68K code or a RoutineDescriptor 317 318 ProcHandle Pointer to a ProcPtr 319 UniversalProcHandle Pointer to a UniversalProcPtr 320 321*********************************************************************************/ 322typedef CALLBACK_API_C( long , ProcPtr )(); 323typedef CALLBACK_API( void , Register68kProcPtr )(); 324#if TARGET_RT_MAC_CFM 325/* The RoutineDescriptor structure is defined in MixedMode.h */ 326typedef struct RoutineDescriptor *UniversalProcPtr; 327#else 328typedef ProcPtr UniversalProcPtr; 329#endif /* TARGET_RT_MAC_CFM */ 330 331typedef ProcPtr * ProcHandle; 332typedef UniversalProcPtr * UniversalProcHandle; 333/******************************************************************************** 334 335 RefCon Types 336 337 For access to private data in callbacks, etc.; refcons are generally 338 used as a pointer to something, but in the 32-bit world refcons in 339 different APIs have had various types: pointer, unsigned scalar, and 340 signed scalar. The RefCon types defined here support the current 32-bit 341 usage but provide normalization to pointer types for 64-bit. 342 343 PRefCon is preferred for new APIs; URefCon and SRefCon are primarily 344 for compatibility with existing APIs. 345 346*********************************************************************************/ 347typedef void * PRefCon; 348#if __LP64__ 349typedef void * URefCon; 350typedef void * SRefCon; 351#else 352typedef UInt32 URefCon; 353typedef SInt32 SRefCon; 354#endif /* __LP64__ */ 355 356/******************************************************************************** 357 358 Common Constants 359 360 noErr OSErr: function performed properly - no error 361 kNilOptions OptionBits: all flags false 362 kInvalidID KernelID: NULL is for pointers as kInvalidID is for ID's 363 kVariableLengthArray array bounds: variable length array 364 365 Note: kVariableLengthArray was used in array bounds to specify a variable length array, 366 usually the last field in a struct. Now that the C language supports 367 the concept of flexible array members, you can instead use: 368 369 struct BarList 370 { 371 short listLength; 372 Bar elements[]; 373 }; 374 375 However, this changes the semantics somewhat, as sizeof( BarList ) contains 376 no space for any of the elements, so to allocate a list with space for 377 the count elements 378 379 struct BarList* l = (struct BarList*) malloc( sizeof(BarList) + count * sizeof(Bar) ); 380 381*********************************************************************************/ 382enum { 383 noErr = 0 384}; 385 386enum { 387 kNilOptions = 0 388}; 389 390#define kInvalidID 0 391enum { 392 kVariableLengthArray 393#ifdef __has_extension 394 #if __has_extension(enumerator_attributes) 395 __attribute__((deprecated)) 396 #endif 397#endif 398 = 1 399}; 400 401enum { 402 kUnknownType = 0x3F3F3F3F /* "????" QuickTime 3.0: default unknown ResType or OSType */ 403}; 404 405 406 407/******************************************************************************** 408 409 String Types and Unicode Types 410 411 UnicodeScalarValue, A complete Unicode character in UTF-32 format, with 412 UTF32Char values from 0 through 0x10FFFF (excluding the surrogate 413 range 0xD800-0xDFFF and certain disallowed values). 414 415 UniChar, A 16-bit Unicode code value in the default UTF-16 format. 416 UTF16Char UnicodeScalarValues 0-0xFFFF are expressed in UTF-16 417 format using a single UTF16Char with the same value. 418 UnicodeScalarValues 0x10000-0x10FFFF are expressed in 419 UTF-16 format using a pair of UTF16Chars - one in the 420 high surrogate range (0xD800-0xDBFF) followed by one in 421 the low surrogate range (0xDC00-0xDFFF). All of the 422 characters defined in Unicode versions through 3.0 are 423 in the range 0-0xFFFF and can be expressed using a single 424 UTF16Char, thus the term "Unicode character" generally 425 refers to a UniChar = UTF16Char. 426 427 UTF8Char An 8-bit code value in UTF-8 format. UnicodeScalarValues 428 0-0x7F are expressed in UTF-8 format using one UTF8Char 429 with the same value. UnicodeScalarValues above 0x7F are 430 expressed in UTF-8 format using 2-4 UTF8Chars, all with 431 values in the range 0x80-0xF4 (UnicodeScalarValues 432 0x100-0xFFFF use two or three UTF8Chars, 433 UnicodeScalarValues 0x10000-0x10FFFF use four UTF8Chars). 434 435 UniCharCount A count of UTF-16 code values in an array or buffer. 436 437 StrNNN Pascal string holding up to NNN bytes 438 StringPtr Pointer to a pascal string 439 StringHandle Pointer to a StringPtr 440 ConstStringPtr Pointer to a read-only pascal string 441 ConstStrNNNParam For function parameters only - means string is const 442 443 CStringPtr Pointer to a C string (in C: char*) 444 ConstCStringPtr Pointer to a read-only C string (in C: const char*) 445 446 Note: The length of a pascal string is stored as the first byte. 447 A pascal string does not have a termination byte. 448 A pascal string can hold at most 255 bytes of data. 449 The first character in a pascal string is offset one byte from the start of the string. 450 451 A C string is terminated with a byte of value zero. 452 A C string has no length limitation. 453 The first character in a C string is the zeroth byte of the string. 454 455 456*********************************************************************************/ 457typedef UInt32 UnicodeScalarValue; 458typedef UInt32 UTF32Char; 459typedef UInt16 UniChar; 460typedef UInt16 UTF16Char; 461typedef UInt8 UTF8Char; 462typedef UniChar * UniCharPtr; 463typedef unsigned long UniCharCount; 464typedef UniCharCount * UniCharCountPtr; 465typedef unsigned char Str255[256]; 466typedef unsigned char Str63[64]; 467typedef unsigned char Str32[33]; 468typedef unsigned char Str31[32]; 469typedef unsigned char Str27[28]; 470typedef unsigned char Str15[16]; 471/* 472 The type Str32 is used in many AppleTalk based data structures. 473 It holds up to 32 one byte chars. The problem is that with the 474 length byte it is 33 bytes long. This can cause weird alignment 475 problems in structures. To fix this the type "Str32Field" has 476 been created. It should only be used to hold 32 chars, but 477 it is 34 bytes long so that there are no alignment problems. 478*/ 479typedef unsigned char Str32Field[34]; 480/* 481 QuickTime 3.0: 482 The type StrFileName is used to make MacOS structs work 483 cross-platform. For example FSSpec or SFReply previously 484 contained a Str63 field. They now contain a StrFileName 485 field which is the same when targeting the MacOS but is 486 a 256 char buffer for Win32 and unix, allowing them to 487 contain long file names. 488*/ 489typedef Str63 StrFileName; 490typedef unsigned char * StringPtr; 491typedef StringPtr * StringHandle; 492typedef const unsigned char * ConstStringPtr; 493typedef const unsigned char * ConstStr255Param; 494typedef const unsigned char * ConstStr63Param; 495typedef const unsigned char * ConstStr32Param; 496typedef const unsigned char * ConstStr31Param; 497typedef const unsigned char * ConstStr27Param; 498typedef const unsigned char * ConstStr15Param; 499typedef ConstStr63Param ConstStrFileNameParam; 500#ifdef __cplusplus 501inline unsigned char StrLength(ConstStr255Param string) { return (*string); } 502#else 503#define StrLength(string) (*(unsigned char *)(string)) 504#endif /* defined(__cplusplus) */ 505 506#if OLDROUTINENAMES 507#define Length(string) StrLength(string) 508#endif /* OLDROUTINENAMES */ 509 510/******************************************************************************** 511 512 Process Manager type ProcessSerialNumber (previously in Processes.h) 513 514*********************************************************************************/ 515/* type for unique process identifier */ 516struct ProcessSerialNumber { 517 UInt32 highLongOfPSN; 518 UInt32 lowLongOfPSN; 519}; 520typedef struct ProcessSerialNumber ProcessSerialNumber; 521typedef ProcessSerialNumber * ProcessSerialNumberPtr; 522/******************************************************************************** 523 524 Quickdraw Types 525 526 Point 2D Quickdraw coordinate, range: -32K to +32K 527 Rect Rectangular Quickdraw area 528 Style Quickdraw font rendering styles 529 StyleParameter Style when used as a parameter (historical 68K convention) 530 StyleField Style when used as a field (historical 68K convention) 531 CharParameter Char when used as a parameter (historical 68K convention) 532 533 Note: The original Macintosh toolbox in 68K Pascal defined Style as a SET. 534 Both Style and CHAR occupy 8-bits in packed records or 16-bits when 535 used as fields in non-packed records or as parameters. 536 537*********************************************************************************/ 538struct Point { 539 short v; 540 short h; 541}; 542typedef struct Point Point; 543typedef Point * PointPtr; 544struct Rect { 545 short top; 546 short left; 547 short bottom; 548 short right; 549}; 550typedef struct Rect Rect; 551typedef Rect * RectPtr; 552struct FixedPoint { 553 Fixed x; 554 Fixed y; 555}; 556typedef struct FixedPoint FixedPoint; 557struct FixedRect { 558 Fixed left; 559 Fixed top; 560 Fixed right; 561 Fixed bottom; 562}; 563typedef struct FixedRect FixedRect; 564 565typedef short CharParameter; 566enum { 567 normal = 0, 568 bold = 1, 569 italic = 2, 570 underline = 4, 571 outline = 8, 572 shadow = 0x10, 573 condense = 0x20, 574 extend = 0x40 575}; 576 577typedef unsigned char Style; 578typedef short StyleParameter; 579typedef Style StyleField; 580 581 582/******************************************************************************** 583 584 QuickTime TimeBase types (previously in Movies.h) 585 586 TimeValue Count of units 587 TimeScale Units per second 588 CompTimeValue 64-bit count of units (always a struct) 589 TimeValue64 64-bit count of units (long long or struct) 590 TimeBase An opaque reference to a time base 591 TimeRecord Package of TimeBase, duration, and scale 592 593*********************************************************************************/ 594typedef SInt32 TimeValue; 595typedef SInt32 TimeScale; 596typedef wide CompTimeValue; 597typedef SInt64 TimeValue64; 598typedef struct TimeBaseRecord* TimeBase; 599struct TimeRecord { 600 CompTimeValue value; /* units (duration or absolute) */ 601 TimeScale scale; /* units per second */ 602 TimeBase base; /* refernce to the time base */ 603}; 604typedef struct TimeRecord TimeRecord; 605 606/******************************************************************************** 607 608 THINK C base objects 609 610 HandleObject Root class for handle based THINK C++ objects 611 PascalObject Root class for pascal style objects in THINK C++ 612 613*********************************************************************************/ 614#if defined(__SC__) && !defined(__STDC__) && defined(__cplusplus) 615 class __machdl HandleObject {}; 616 #if TARGET_CPU_68K 617 class __pasobj PascalObject {}; 618 #endif 619#endif 620 621 622/******************************************************************************** 623 624 MacOS versioning structures 625 626 VersRec Contents of a 'vers' resource 627 VersRecPtr Pointer to a VersRecPtr 628 VersRecHndl Resource Handle containing a VersRec 629 NumVersion Packed BCD version representation (e.g. "4.2.1a3" is 0x04214003) 630 UniversalProcPtr Pointer to classic 68K code or a RoutineDescriptor 631 632 ProcHandle Pointer to a ProcPtr 633 UniversalProcHandle Pointer to a UniversalProcPtr 634 635*********************************************************************************/ 636#if TARGET_RT_BIG_ENDIAN 637struct NumVersion { 638 /* Numeric version part of 'vers' resource */ 639 UInt8 majorRev; /*1st part of version number in BCD*/ 640 UInt8 minorAndBugRev; /*2nd & 3rd part of version number share a byte*/ 641 UInt8 stage; /*stage code: dev, alpha, beta, final*/ 642 UInt8 nonRelRev; /*revision level of non-released version*/ 643}; 644typedef struct NumVersion NumVersion; 645#else 646struct NumVersion { 647 /* Numeric version part of 'vers' resource accessable in little endian format */ 648 UInt8 nonRelRev; /*revision level of non-released version*/ 649 UInt8 stage; /*stage code: dev, alpha, beta, final*/ 650 UInt8 minorAndBugRev; /*2nd & 3rd part of version number share a byte*/ 651 UInt8 majorRev; /*1st part of version number in BCD*/ 652}; 653typedef struct NumVersion NumVersion; 654#endif /* TARGET_RT_BIG_ENDIAN */ 655 656enum { 657 /* Version Release Stage Codes */ 658 developStage = 0x20, 659 alphaStage = 0x40, 660 betaStage = 0x60, 661 finalStage = 0x80 662}; 663 664union NumVersionVariant { 665 /* NumVersionVariant is a wrapper so NumVersion can be accessed as a 32-bit value */ 666 NumVersion parts; 667 UInt32 whole; 668}; 669typedef union NumVersionVariant NumVersionVariant; 670typedef NumVersionVariant * NumVersionVariantPtr; 671typedef NumVersionVariantPtr * NumVersionVariantHandle; 672struct VersRec { 673 /* 'vers' resource format */ 674 NumVersion numericVersion; /*encoded version number*/ 675 short countryCode; /*country code from intl utilities*/ 676 Str255 shortVersion; /*version number string - worst case*/ 677 Str255 reserved; /*longMessage string packed after shortVersion*/ 678}; 679typedef struct VersRec VersRec; 680typedef VersRec * VersRecPtr; 681typedef VersRecPtr * VersRecHndl; 682/********************************************************************************* 683 684 Old names for types 685 686*********************************************************************************/ 687typedef UInt8 Byte; 688typedef SInt8 SignedByte; 689typedef wide * WidePtr; 690typedef UnsignedWide * UnsignedWidePtr; 691typedef Float80 extended80; 692typedef Float96 extended96; 693typedef SInt8 VHSelect; 694/********************************************************************************* 695 696 Debugger functions 697 698*********************************************************************************/ 699/* 700 * Debugger() 701 * 702 * Availability: 703 * Mac OS X: in version 10.0 and later in CoreServices.framework 704 * CarbonLib: in CarbonLib 1.0 and later 705 * Non-Carbon CFM: in InterfaceLib 7.1 and later 706 */ 707extern void 708Debugger(void) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA); 709 710 711/* 712 * DebugStr() 713 * 714 * Availability: 715 * Mac OS X: in version 10.0 and later in CoreServices.framework 716 * CarbonLib: in CarbonLib 1.0 and later 717 * Non-Carbon CFM: in InterfaceLib 7.1 and later 718 */ 719extern void 720DebugStr(ConstStr255Param debuggerMsg) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA); 721 722 723/* 724 * debugstr() 725 * 726 * Availability: 727 * Mac OS X: not available 728 * CarbonLib: not available 729 * Non-Carbon CFM: in InterfaceLib 7.1 and later 730 */ 731 732 733#if TARGET_CPU_PPC 734/* Only for Mac OS native drivers */ 735/* 736 * SysDebug() 737 * 738 * Availability: 739 * Mac OS X: not available 740 * CarbonLib: not available 741 * Non-Carbon CFM: in DriverServicesLib 1.0 and later 742 */ 743 744 745/* 746 * SysDebugStr() 747 * 748 * Availability: 749 * Mac OS X: not available 750 * CarbonLib: not available 751 * Non-Carbon CFM: in DriverServicesLib 1.0 and later 752 */ 753 754 755#endif /* TARGET_CPU_PPC */ 756 757/* SADE break points */ 758/* 759 * SysBreak() 760 * 761 * Availability: 762 * Mac OS X: in version 10.0 and later in CoreServices.framework 763 * CarbonLib: in CarbonLib 1.0 and later 764 * Non-Carbon CFM: in InterfaceLib 7.1 and later 765 */ 766extern void 767SysBreak(void) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA); 768 769 770/* 771 * SysBreakStr() 772 * 773 * Availability: 774 * Mac OS X: in version 10.0 and later in CoreServices.framework 775 * CarbonLib: in CarbonLib 1.0 and later 776 * Non-Carbon CFM: in InterfaceLib 7.1 and later 777 */ 778extern void 779SysBreakStr(ConstStr255Param debuggerMsg) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA); 780 781 782/* 783 * SysBreakFunc() 784 * 785 * Availability: 786 * Mac OS X: in version 10.0 and later in CoreServices.framework 787 * CarbonLib: in CarbonLib 1.0 and later 788 * Non-Carbon CFM: in InterfaceLib 7.1 and later 789 */ 790extern void 791SysBreakFunc(ConstStr255Param debuggerMsg) __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA); 792 793 794/* old names for Debugger and DebugStr */ 795#if OLDROUTINENAMES && TARGET_CPU_68K 796 #define Debugger68k() Debugger() 797 #define DebugStr68k(s) DebugStr(s) 798#endif 799 800 801#pragma pack(pop) 802 803#ifdef __cplusplus 804} 805#endif 806 807#endif /* __MACTYPES__ */ 808