home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 March / macformat-022.iso / Shareware City / Developers / MW MPW Binaries 1.1.1a2 / mwcPPC / MWCIncludes / Memory.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-01-31  |  16.5 KB  |  696 lines  |  [TEXT/MMCC]

  1. /*
  2.     File:        Memory.h
  3.  
  4.     Copyright:    © 1984-1993 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef __MEMORY__
  13. #define __MEMORY__
  14.  
  15. #ifndef __TYPES__
  16. #include <Types.h>
  17. /*    #include <ConditionalMacros.h>                                */
  18. /*    #include <MixedMode.h>                                        */
  19. /*        #include <Traps.h>                                        */
  20. #endif
  21.  
  22. enum  {
  23.     maxSize                        = 0x800000,                        /*Max data block size is 8 megabytes*/
  24.     defaultPhysicalEntryCount    = 8,
  25. /* values returned from the GetPageState function */
  26.     kPageInMemory                = 0,
  27.     kPageOnDisk                    = 1,
  28.     kNotPaged                    = 2
  29. };
  30.  
  31. enum  {
  32. /* masks for Zone->heapType field */
  33.     k32BitHeap                    = 1,                            /* valid in all Memory Managers */
  34.     kNewStyleHeap                = 2,                            /* true if new Heap Manager is present */
  35.     kNewDebugHeap                = 4                                /* true if new Heap Manager is running in debug mode on this heap */
  36. };
  37.  
  38.  
  39. /* size of a block in bytes */
  40.  
  41. typedef long Size;
  42.  
  43. typedef struct Zone Zone, *THz;
  44.  
  45. typedef pascal long (*GrowZoneProcPtr)(Size cbNeeded);
  46.  
  47. enum {
  48.     uppGrowZoneProcInfo = kPascalStackBased
  49.          | RESULT_SIZE(SIZE_CODE(sizeof(long)))
  50.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Size)))
  51. };
  52.  
  53. #if USESROUTINEDESCRIPTORS
  54. typedef UniversalProcPtr GrowZoneUPP;
  55.  
  56. #define CallGrowZoneProc(userRoutine, cbNeeded)        \
  57.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppGrowZoneProcInfo, (cbNeeded))
  58. #define NewGrowZoneProc(userRoutine)        \
  59.         (GrowZoneUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppGrowZoneProcInfo, GetCurrentISA())
  60. #else
  61. typedef GrowZoneProcPtr GrowZoneUPP;
  62.  
  63. #define CallGrowZoneProc(userRoutine, cbNeeded)        \
  64.         (*(userRoutine))((cbNeeded))
  65. #define NewGrowZoneProc(userRoutine)        \
  66.         (GrowZoneUPP)(userRoutine)
  67. #endif
  68.  
  69. typedef pascal void (*PurgeProcPtr)(Handle blockToPurge);
  70.  
  71. enum {
  72.     uppPurgeProcInfo = kPascalStackBased
  73.          | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(Handle)))
  74. };
  75.  
  76. #if USESROUTINEDESCRIPTORS
  77. typedef UniversalProcPtr PurgeUPP;
  78.  
  79. #define CallPurgeProc(userRoutine, blockToPurge)        \
  80.         CallUniversalProc((UniversalProcPtr)(userRoutine), uppPurgeProcInfo, (blockToPurge))
  81. #define NewPurgeProc(userRoutine)        \
  82.         (PurgeUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppPurgeProcInfo, GetCurrentISA())
  83. #else
  84. typedef PurgeProcPtr PurgeUPP;
  85.  
  86. #define CallPurgeProc(userRoutine, blockToPurge)        \
  87.         (*(userRoutine))((blockToPurge))
  88. #define NewPurgeProc(userRoutine)        \
  89.         (PurgeUPP)(userRoutine)
  90. #endif
  91.  
  92. #if defined(powerc) || defined (__powerc)
  93. #pragma options align=mac68k
  94. #endif
  95. struct Zone {
  96.     Ptr                            bkLim;
  97.     Ptr                            purgePtr;
  98.     Ptr                            hFstFree;
  99.     long                        zcbFree;
  100.     GrowZoneUPP                    gzProc;
  101.     short                        moreMast;
  102.     short                        flags;
  103.     short                        cntRel;
  104.     short                        maxRel;
  105.     short                        cntNRel;
  106.     Byte                        heapType;
  107.     Byte                        unused;
  108.     short                        cntEmpty;
  109.     short                        cntHandles;
  110.     long                        minCBFree;
  111.     PurgeUPP                    purgeProc;
  112.     Ptr                            sparePtr;
  113.     Ptr                            allocPtr;
  114.     short                        heapData;
  115. };
  116. #if defined(powerc) || defined(__powerc)
  117. #pragma options align=reset
  118. #endif
  119.  
  120. #if defined(powerc) || defined (__powerc)
  121. #pragma options align=mac68k
  122. #endif
  123. struct MemoryBlock {
  124.     void                        *address;
  125.     unsigned long                count;
  126. };
  127. #if defined(powerc) || defined(__powerc)
  128. #pragma options align=reset
  129. #endif
  130.  
  131. typedef struct MemoryBlock MemoryBlock;
  132.  
  133. #if defined(powerc) || defined (__powerc)
  134. #pragma options align=mac68k
  135. #endif
  136. struct LogicalToPhysicalTable {
  137.     MemoryBlock                    logical;
  138.     MemoryBlock                    physical[defaultPhysicalEntryCount];
  139. };
  140. #if defined(powerc) || defined(__powerc)
  141. #pragma options align=reset
  142. #endif
  143.  
  144. typedef struct LogicalToPhysicalTable LogicalToPhysicalTable;
  145.  
  146. typedef short PageState;
  147.  
  148. typedef short StatusRegisterContents;
  149.  
  150.  
  151. /*
  152.     UserFnProcs cannot be written in or called from a high-level 
  153.     language without the help of mixed mode or assembly glue because they 
  154.     use the following parameter-passing convention:
  155.  
  156.     typedef pascal void (*UserFnProcPtr)(void *parameter);
  157.  
  158.         In:
  159.             =>     parameter                A0.L
  160.         Out:
  161.             none
  162. */
  163.  
  164. enum  {
  165.     uppUserFnProcInfo            = kRegisterBased|REGISTER_ROUTINE_PARAMETER(1,kRegisterA0,kFourByteCode)
  166. };
  167.  
  168. #if USESROUTINEDESCRIPTORS
  169. typedef pascal void (*UserFnProcPtr)(void *parameter);
  170.  
  171. typedef UniversalProcPtr UserFnUPP;
  172.  
  173. #define CallUserFnProc(userRoutine, parameter)  \
  174.     CallUniversalProc((UniversalProcPtr)(userRoutine), uppUserFnProcInfo, (parameter))
  175.  
  176. #define NewUserFnProc(userRoutine)  \
  177.     (UserFnUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserFnProcInfo, GetCurrentISA())
  178.  
  179. #else
  180. typedef ProcPtr UserFnUPP;
  181.  
  182. #define NewUserFnProc(userRoutine)  \
  183.     (UserFnUPP)(userRoutine)
  184.  
  185. #endif
  186.  
  187. #ifdef __cplusplus
  188. extern "C" {
  189. #endif
  190.  
  191. #if USESCODEFRAGMENTS
  192. extern pascal Ptr GetApplLimit(void);
  193. extern pascal THz SystemZone(void);
  194. extern pascal THz ApplicationZone(void);
  195. extern pascal Handle GZSaveHnd(void);
  196. extern pascal Ptr TopMem(void);
  197. extern pascal OSErr MemError(void);
  198. #else
  199. #define GetApplLimit() (* (Ptr*) 0x0130)
  200.  
  201. #define SystemZone() (* (THz*) 0x02A6)
  202.  
  203. #define ApplicationZone() (* (THz*) 0x02AA)
  204.  
  205. #define GZSaveHnd() (* (Handle*) 0x0328)
  206.  
  207. #define TopMem() (* (Ptr*) 0x0108)
  208.  
  209. #define MemError() (* (OSErr*) 0x0220)
  210.  
  211. #endif
  212.  
  213.  
  214. #if USES68KINLINES
  215. #pragma parameter __A0 GetZone
  216. #endif
  217. extern pascal THz GetZone(void)
  218.  ONEWORDINLINE(0xA11A);
  219.  
  220. #if USES68KINLINES
  221. #pragma parameter __A0 NewHandle(__D0)
  222. #endif
  223. extern pascal Handle NewHandle(Size byteCount)
  224.  ONEWORDINLINE(0xA122);
  225.  
  226. #if USES68KINLINES
  227. #pragma parameter __A0 NewHandleSys(__D0)
  228. #endif
  229. extern pascal Handle NewHandleSys(Size byteCount)
  230.  ONEWORDINLINE(0xA522);
  231.  
  232. #if USES68KINLINES
  233. #pragma parameter __A0 NewHandleClear(__D0)
  234. #endif
  235. extern pascal Handle NewHandleClear(Size byteCount)
  236.  ONEWORDINLINE(0xA322);
  237.  
  238. #if USES68KINLINES
  239. #pragma parameter __A0 NewHandleSysClear(__D0)
  240. #endif
  241. extern pascal Handle NewHandleSysClear(Size byteCount)
  242.  ONEWORDINLINE(0xA722);
  243.  
  244. #if USES68KINLINES
  245. #pragma parameter __A0 HandleZone(__A0)
  246. #endif
  247. extern pascal THz HandleZone(Handle h)
  248.  ONEWORDINLINE(0xA126);
  249.  
  250. #if USES68KINLINES
  251. #pragma parameter __A0 RecoverHandle(__A0)
  252. #endif
  253. extern pascal Handle RecoverHandle(Ptr p)
  254.  ONEWORDINLINE(0xA128);
  255.  
  256. #if USES68KINLINES
  257. #pragma parameter __A0 RecoverHandleSys(__A0)
  258. #endif
  259. extern pascal Handle RecoverHandleSys(Ptr p)
  260.  ONEWORDINLINE(0xA528);
  261.  
  262. #if USES68KINLINES
  263. #pragma parameter __A0 NewPtr(__D0)
  264. #endif
  265. extern pascal Ptr NewPtr(Size byteCount)
  266.  ONEWORDINLINE(0xA11E);
  267.  
  268. #if USES68KINLINES
  269. #pragma parameter __A0 NewPtrSys(__D0)
  270. #endif
  271. extern pascal Ptr NewPtrSys(Size byteCount)
  272.  ONEWORDINLINE(0xA51E);
  273.  
  274. #if USES68KINLINES
  275. #pragma parameter __A0 NewPtrClear(__D0)
  276. #endif
  277. extern pascal Ptr NewPtrClear(Size byteCount)
  278.  ONEWORDINLINE(0xA31E);
  279.  
  280. #if USES68KINLINES
  281. #pragma parameter __A0 NewPtrSysClear(__D0)
  282. #endif
  283. extern pascal Ptr NewPtrSysClear(Size byteCount)
  284.  ONEWORDINLINE(0xA71E);
  285.  
  286. #if USES68KINLINES
  287. #pragma parameter __A0 PtrZone(__A0)
  288. #endif
  289. extern pascal THz PtrZone(Ptr p)
  290.  ONEWORDINLINE(0xA148);
  291.  
  292. #if USES68KINLINES
  293. #pragma parameter __D0 MaxBlock
  294. #endif
  295. extern pascal long MaxBlock(void)
  296.  ONEWORDINLINE(0xA061);
  297.  
  298. #if USES68KINLINES
  299. #pragma parameter __D0 MaxBlockSys
  300. #endif
  301. extern pascal long MaxBlockSys(void)
  302.  ONEWORDINLINE(0xA461);
  303.  
  304. #if USES68KINLINES
  305. #pragma parameter __D0 StackSpace
  306. #endif
  307. extern pascal long StackSpace(void)
  308.  ONEWORDINLINE(0xA065);
  309.  
  310. #if USES68KINLINES
  311. #pragma parameter __A0 NewEmptyHandle
  312. #endif
  313. extern pascal Handle NewEmptyHandle(void)
  314.  ONEWORDINLINE(0xA166);
  315.  
  316. #if USES68KINLINES
  317. #pragma parameter __A0 NewEmptyHandleSys
  318. #endif
  319. extern pascal Handle NewEmptyHandleSys(void)
  320.  ONEWORDINLINE(0xA566);
  321.  
  322. #if USES68KINLINES
  323. #pragma parameter  HLock(__A0)
  324. #endif
  325. extern pascal void HLock(Handle h)
  326.  ONEWORDINLINE(0xA029);
  327.  
  328. #if USES68KINLINES
  329. #pragma parameter  HUnlock(__A0)
  330. #endif
  331. extern pascal void HUnlock(Handle h)
  332.  ONEWORDINLINE(0xA02A);
  333.  
  334. #if USES68KINLINES
  335. #pragma parameter  HPurge(__A0)
  336. #endif
  337. extern pascal void HPurge(Handle h)
  338.  ONEWORDINLINE(0xA049);
  339.  
  340. #if USES68KINLINES
  341. #pragma parameter  HNoPurge(__A0)
  342. #endif
  343. extern pascal void HNoPurge(Handle h)
  344.  ONEWORDINLINE(0xA04A);
  345.  
  346. #if USES68KINLINES
  347. #pragma parameter  HLockHi(__A0)
  348. #endif
  349. extern pascal void HLockHi(Handle h)
  350.  TWOWORDINLINE(0xA064, 0xA029);
  351. extern pascal Handle TempNewHandle(Size logicalSize, OSErr *resultCode)
  352.  THREEWORDINLINE(0x3F3C, 0x001D, 0xA88F);
  353. extern pascal Size TempMaxMem(Size *grow)
  354.  THREEWORDINLINE(0x3F3C, 0x0015, 0xA88F);
  355. extern pascal long TempFreeMem(void)
  356.  THREEWORDINLINE(0x3F3C, 0x0018, 0xA88F);
  357.  
  358. /*  Temporary Memory routines renamed, but obsolete, in System 7.0 and later.  */
  359.  
  360. extern pascal void TempHLock(Handle h, OSErr *resultCode)
  361.  THREEWORDINLINE(0x3F3C, 0x001E, 0xA88F);
  362. extern pascal void TempHUnlock(Handle h, OSErr *resultCode)
  363.  THREEWORDINLINE(0x3F3C, 0x001F, 0xA88F);
  364. extern pascal void TempDisposeHandle(Handle h, OSErr *resultCode)
  365.  THREEWORDINLINE(0x3F3C, 0x0020, 0xA88F);
  366. extern pascal Ptr TempTopMem(void)
  367.  THREEWORDINLINE(0x3F3C, 0x0016, 0xA88F);
  368. extern pascal void InitApplZone(void)
  369.  ONEWORDINLINE(0xA02C);
  370. extern pascal void InitZone(GrowZoneUPP pgrowZone, short cmoreMasters, void *limitPtr, void *startPtr);
  371.  
  372. #if USES68KINLINES
  373. #pragma parameter  SetZone(__A0)
  374. #endif
  375. extern pascal void SetZone(THz hz)
  376.  ONEWORDINLINE(0xA01B);
  377.  
  378. #if USES68KINLINES
  379. #pragma parameter __D0 CompactMem(__D0)
  380. #endif
  381. extern pascal Size CompactMem(Size cbNeeded)
  382.  ONEWORDINLINE(0xA04C);
  383.  
  384. #if USES68KINLINES
  385. #pragma parameter __D0 CompactMemSys(__D0)
  386. #endif
  387. extern pascal Size CompactMemSys(Size cbNeeded)
  388.  ONEWORDINLINE(0xA44C);
  389.  
  390. #if USES68KINLINES
  391. #pragma parameter  PurgeMem(__D0)
  392. #endif
  393. extern pascal void PurgeMem(Size cbNeeded)
  394.  ONEWORDINLINE(0xA04D);
  395.  
  396. #if USES68KINLINES
  397. #pragma parameter  PurgeMemSys(__D0)
  398. #endif
  399. extern pascal void PurgeMemSys(Size cbNeeded)
  400.  ONEWORDINLINE(0xA44D);
  401.  
  402. #if USES68KINLINES
  403. #pragma parameter __D0 FreeMem
  404. #endif
  405. extern pascal long FreeMem(void)
  406.  ONEWORDINLINE(0xA01C);
  407.  
  408. #if USES68KINLINES
  409. #pragma parameter __D0 FreeMemSys
  410. #endif
  411. extern pascal long FreeMemSys(void)
  412.  ONEWORDINLINE(0xA41C);
  413.  
  414. #if USES68KINLINES
  415. #pragma parameter  ReserveMem(__D0)
  416. #endif
  417. extern pascal void ReserveMem(Size cbNeeded)
  418.  ONEWORDINLINE(0xA040);
  419.  
  420. #if USES68KINLINES
  421. #pragma parameter  ReserveMemSys(__D0)
  422. #endif
  423. extern pascal void ReserveMemSys(Size cbNeeded)
  424.  ONEWORDINLINE(0xA440);
  425.  
  426. #if USES68KINLINES
  427. #pragma parameter __D0 MaxMem(__A1)
  428. #endif
  429. extern pascal Size MaxMem(Size *grow)
  430.  TWOWORDINLINE(0xA11D, 0x2288);
  431.  
  432. #if USES68KINLINES
  433. #pragma parameter __D0 MaxMemSys(__A1)
  434. #endif
  435. extern pascal Size MaxMemSys(Size *grow)
  436.  TWOWORDINLINE(0xA51D, 0x2288);
  437.  
  438. #if USES68KINLINES
  439. #pragma parameter  SetGrowZone(__A0)
  440. #endif
  441. extern pascal void SetGrowZone(GrowZoneUPP growZone)
  442.  ONEWORDINLINE(0xA04B);
  443.  
  444. #if USES68KINLINES
  445. #pragma parameter  SetApplLimit(__A0)
  446. #endif
  447. extern pascal void SetApplLimit(void *zoneLimit)
  448.  ONEWORDINLINE(0xA02D);
  449.  
  450. #if USES68KINLINES
  451. #pragma parameter  MoveHHi(__A0)
  452. #endif
  453. extern pascal void MoveHHi(Handle h)
  454.  ONEWORDINLINE(0xA064);
  455.  
  456. #if USES68KINLINES
  457. #pragma parameter  DisposePtr(__A0)
  458. #endif
  459. extern pascal void DisposePtr(Ptr p)
  460.  ONEWORDINLINE(0xA01F);
  461. extern pascal Size GetPtrSize(Ptr p);
  462.  
  463. #if USES68KINLINES
  464. #pragma parameter  SetPtrSize(__A0, __D0)
  465. #endif
  466. extern pascal void SetPtrSize(Ptr p, Size newSize)
  467.  ONEWORDINLINE(0xA020);
  468.  
  469. #if USES68KINLINES
  470. #pragma parameter  DisposeHandle(__A0)
  471. #endif
  472. extern pascal void DisposeHandle(Handle h)
  473.  ONEWORDINLINE(0xA023);
  474.  
  475. #if USES68KINLINES
  476. #pragma parameter  SetHandleSize(__A0, __D0)
  477. #endif
  478. extern pascal void SetHandleSize(Handle h, Size newSize)
  479.  ONEWORDINLINE(0xA024);
  480. extern pascal Size GetHandleSize(Handle h);
  481.  
  482. #if USES68KINLINES
  483. #pragma parameter __D0 InlineGetHandleSize(__A0)
  484. #endif
  485. extern pascal Size InlineGetHandleSize(Handle h)
  486.  ONEWORDINLINE(0xA025);
  487.  
  488. #if USES68KINLINES
  489. #pragma parameter  ReallocateHandle(__A0, __D0)
  490. #endif
  491. extern pascal void ReallocateHandle(Handle h, Size byteCount)
  492.  ONEWORDINLINE(0xA027);
  493.  
  494. #if USES68KINLINES
  495. #pragma parameter  EmptyHandle(__A0)
  496. #endif
  497. extern pascal void EmptyHandle(Handle h)
  498.  ONEWORDINLINE(0xA02B);
  499.  
  500. #if USES68KINLINES
  501. #pragma parameter  HSetRBit(__A0)
  502. #endif
  503. extern pascal void HSetRBit(Handle h)
  504.  ONEWORDINLINE(0xA067);
  505.  
  506. #if USES68KINLINES
  507. #pragma parameter  HClrRBit(__A0)
  508. #endif
  509. extern pascal void HClrRBit(Handle h)
  510.  ONEWORDINLINE(0xA068);
  511. extern pascal void MoreMasters(void)
  512.  ONEWORDINLINE(0xA036);
  513.  
  514. #if USES68KINLINES
  515. #pragma parameter  BlockMove(__A0, __A1, __D0)
  516. #endif
  517. extern pascal void BlockMove(const void *srcPtr, void *destPtr, Size byteCount)
  518.  ONEWORDINLINE(0xA02E);
  519.  
  520. #if USES68KINLINES
  521. #pragma parameter  BlockMoveData(__A0, __A1, __D0)
  522. #endif
  523. extern pascal void BlockMoveData(const void *srcPtr, void *destPtr, Size byteCount)
  524.  ONEWORDINLINE(0xA22E);
  525. extern pascal void PurgeSpace(long *total, long *contig);
  526.  
  527. #if USES68KINLINES
  528. #pragma parameter __D0 HGetState(__A0)
  529. #endif
  530. extern pascal char HGetState(Handle h)
  531.  ONEWORDINLINE(0xA069);
  532.  
  533. #if USES68KINLINES
  534. #pragma parameter  HSetState(__A0, __D0)
  535. #endif
  536. extern pascal void HSetState(Handle h, char flags)
  537.  ONEWORDINLINE(0xA06A);
  538.  
  539. #if USES68KINLINES
  540. #pragma parameter  SetApplBase(__A0)
  541. #endif
  542. extern pascal void SetApplBase(void *startPtr)
  543.  ONEWORDINLINE(0xA057);
  544. extern pascal void MaxApplZone(void)
  545.  ONEWORDINLINE(0xA063);
  546.  
  547. #if USES68KINLINES
  548. #pragma parameter __D0 HoldMemory(__A0, __A1)
  549. #endif
  550. extern pascal OSErr HoldMemory(void *address, unsigned long count)
  551.  TWOWORDINLINE(0x7000, 0xA05C);
  552.  
  553. #if USES68KINLINES
  554. #pragma parameter __D0 UnholdMemory(__A0, __A1)
  555. #endif
  556. extern pascal OSErr UnholdMemory(void *address, unsigned long count)
  557.  TWOWORDINLINE(0x7001, 0xA05C);
  558.  
  559. #if USES68KINLINES
  560. #pragma parameter __D0 LockMemory(__A0, __A1)
  561. #endif
  562. extern pascal OSErr LockMemory(void *address, unsigned long count)
  563.  TWOWORDINLINE(0x7002, 0xA05C);
  564.  
  565. #if USES68KINLINES
  566. #pragma parameter __D0 LockMemoryContiguous(__A0, __A1)
  567. #endif
  568. extern pascal OSErr LockMemoryContiguous(void *address, unsigned long count)
  569.  TWOWORDINLINE(0x7004, 0xA05C);
  570.  
  571. #if USES68KINLINES
  572. #pragma parameter __D0 UnlockMemory(__A0, __A1)
  573. #endif
  574. extern pascal OSErr UnlockMemory(void *address, unsigned long count)
  575.  TWOWORDINLINE(0x7003, 0xA05C);
  576. extern pascal OSErr GetPhysical(LogicalToPhysicalTable *addresses, unsigned long *physicalEntryCount);
  577.  
  578. #if USES68KINLINES
  579. #pragma parameter __D0 DeferUserFn(__A0, __D0)
  580. #endif
  581. extern pascal OSErr DeferUserFn(UserFnUPP userFunction, void *argument)
  582.  ONEWORDINLINE(0xA08F);
  583.  
  584. #if USES68KINLINES
  585. #pragma parameter __D0 DebuggerGetMax
  586. #endif
  587. extern pascal long DebuggerGetMax(void)
  588.  TWOWORDINLINE(0x7000, 0xA08D);
  589. extern pascal void DebuggerEnter(void)
  590.  TWOWORDINLINE(0x7001, 0xA08D);
  591. extern pascal void DebuggerExit(void)
  592.  TWOWORDINLINE(0x7002, 0xA08D);
  593. extern pascal void DebuggerPoll(void)
  594.  TWOWORDINLINE(0x7003, 0xA08D);
  595.  
  596. #if USES68KINLINES
  597. #pragma parameter __D0 GetPageState(__A0)
  598. #endif
  599. extern pascal PageState GetPageState(const void *address)
  600.  TWOWORDINLINE(0x7004, 0xA08D);
  601.  
  602. #if USES68KINLINES
  603. #pragma parameter __D0 PageFaultFatal
  604. #endif
  605. extern pascal Boolean PageFaultFatal(void)
  606.  TWOWORDINLINE(0x7005, 0xA08D);
  607.  
  608. #if USES68KINLINES
  609. #pragma parameter __D0 DebuggerLockMemory(__A0, __A1)
  610. #endif
  611. extern pascal OSErr DebuggerLockMemory(void *address, unsigned long count)
  612.  TWOWORDINLINE(0x7006, 0xA08D);
  613.  
  614. #if USES68KINLINES
  615. #pragma parameter __D0 DebuggerUnlockMemory(__A0, __A1)
  616. #endif
  617. extern pascal OSErr DebuggerUnlockMemory(void *address, unsigned long count)
  618.  TWOWORDINLINE(0x7007, 0xA08D);
  619.  
  620. #if USES68KINLINES
  621. #pragma parameter __D0 EnterSupervisorMode
  622. #endif
  623. extern pascal StatusRegisterContents EnterSupervisorMode(void)
  624.  TWOWORDINLINE(0x7008, 0xA08D);
  625.  
  626. /* HeapDispatch glue */
  627.  
  628.  
  629. #if USES68KINLINES
  630. #pragma parameter __D0 DisposeZone(__A0)
  631. #endif
  632. extern pascal OSErr DisposeZone(THz theZone)
  633.  TWOWORDINLINE(0x701D, 0xA0A4);
  634. #if USES68KINLINES
  635. #if SystemSixOrLater
  636.  
  637. #if USES68KINLINES
  638. #pragma parameter __D0 StripAddress(__D0)
  639. #endif
  640. extern pascal Ptr StripAddress(void *theAddress)
  641.  ONEWORDINLINE(0xA055);
  642. #else
  643. extern pascal Ptr StripAddress(void *theAddress);
  644. #endif
  645.  
  646. #else
  647. #define StripAddress(x) ((Ptr)(x))
  648.  
  649. #endif
  650.  
  651. #if USES68KINLINES
  652.  
  653. #if USES68KINLINES
  654. #pragma parameter __D0 Translate24To32(__D0)
  655. #endif
  656. extern pascal Ptr Translate24To32(void *addr24)
  657.  ONEWORDINLINE(0xA091);
  658. #else
  659. #define Translate24To32(x) ((Ptr)(x))
  660.  
  661. #endif
  662.  
  663. #if OLDROUTINENAMES
  664. #define ApplicZone() ApplicationZone()
  665.  
  666. #define MFTempNewHandle(logicalSize, resultCode) TempNewHandle(logicalSize, resultCode)
  667.  
  668. #define MFMaxMem(grow) TempMaxMem(grow)
  669.  
  670. #define MFFreeMem() TempFreeMem()
  671.  
  672. #define MFTempHLock(h, resultCode) TempHLock(h, resultCode)
  673.  
  674. #define MFTempHUnlock(h, resultCode) TempHUnlock(h, resultCode)
  675.  
  676. #define MFTempDisposHandle(h, resultCode) TempDisposeHandle(h, resultCode)
  677.  
  678. #define MFTopMem() TempTopMem()
  679.  
  680. #define ResrvMem(cbNeeded) ReserveMem(cbNeeded)
  681.  
  682. #define DisposPtr(p) DisposePtr(p)
  683.  
  684. #define DisposHandle(h) DisposeHandle(h)
  685.  
  686. #define ReallocHandle(h, byteCount) ReallocateHandle(h, byteCount)
  687.  
  688. #endif
  689.  
  690. #ifdef __cplusplus
  691. }
  692. #endif
  693.  
  694. #endif
  695.  
  696.