/* File: MacMemory.h Contains: Memory Manager Interfaces. Version: QuickTime 7.3 Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved Bugs?: For bug reports, consult the following page on the World Wide Web: http://developer.apple.com/bugreporter/ */ #ifndef __MACMEMORY__ #define __MACMEMORY__ #ifndef __MACTYPES__ #include #endif #ifndef __MIXEDMODE__ #include #endif #if PRAGMA_ONCE #pragma once #endif #ifdef __cplusplus extern "C" { #endif #if PRAGMA_IMPORT #pragma import on #endif #if PRAGMA_STRUCT_ALIGN #pragma options align=mac68k #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(push, 2) #elif PRAGMA_STRUCT_PACK #pragma pack(2) #endif enum { maxSize = 0x7FFFFFF0 /*the largest block possible*/ }; enum { defaultPhysicalEntryCount = 8 }; enum { /* values returned from the GetPageState function */ kPageInMemory = 0, kPageOnDisk = 1, kNotPaged = 2 }; enum { /* masks for Zone->heapType field */ k32BitHeap = 1, /* valid in all Memory Managers */ kNewStyleHeap = 2, /* true if new Heap Manager is present */ kNewDebugHeap = 4 /* true if new Heap Manager is running in debug mode on this heap */ }; /* bits for use with HGetState/HSetState*/ enum { kHandleIsResourceBit = 5, kHandlePurgeableBit = 6, kHandleLockedBit = 7 }; /* masks for use with HGetState/HSetState*/ enum { kHandleIsResourceMask = 0x20, kHandlePurgeableMask = 0x40, kHandleLockedMask = 0x80 }; typedef CALLBACK_API( long , GrowZoneProcPtr )(Size cbNeeded); typedef CALLBACK_API( void , PurgeProcPtr )(Handle blockToPurge); typedef CALLBACK_API_REGISTER68K( void , UserFnProcPtr, (void * parameter) ); typedef STACK_UPP_TYPE(GrowZoneProcPtr) GrowZoneUPP; typedef STACK_UPP_TYPE(PurgeProcPtr) PurgeUPP; typedef REGISTER_UPP_TYPE(UserFnProcPtr) UserFnUPP; struct Zone { Ptr bkLim; Ptr purgePtr; Ptr hFstFree; long zcbFree; GrowZoneUPP gzProc; short moreMast; short flags; short cntRel; short maxRel; short cntNRel; SInt8 heapType; /* previously "maxNRel", now holds flags (e.g. k32BitHeap)*/ SInt8 unused; short cntEmpty; short cntHandles; long minCBFree; PurgeUPP purgeProc; Ptr sparePtr; Ptr allocPtr; short heapData; }; typedef struct Zone Zone; typedef Zone * THz; typedef THz * THzPtr; struct MemoryBlock { void * address; unsigned long count; }; typedef struct MemoryBlock MemoryBlock; struct LogicalToPhysicalTable { MemoryBlock logical; MemoryBlock physical[8]; }; typedef struct LogicalToPhysicalTable LogicalToPhysicalTable; typedef short PageState; typedef short StatusRegisterContents; enum { kVolumeVirtualMemoryInfoVersion1 = 1 /* first version of VolumeVirtualMemoryInfo*/ }; struct VolumeVirtualMemoryInfo { PBVersion version; /* Input: Version of the VolumeVirtualMemoryInfo structure*/ SInt16 volumeRefNum; /* Input: volume reference number*/ Boolean inUse; /* output: true if volume is currently used for file mapping*/ UInt8 _fill; UInt32 vmOptions; /* output: tells what volume can support (same as DriverGestaltVMOptionsResponse vmOptions bits in DriverGestalt)*/ /* end of kVolumeVirtualMemoryInfoVersion1 structure*/ }; typedef struct VolumeVirtualMemoryInfo VolumeVirtualMemoryInfo; typedef VolumeVirtualMemoryInfo * VolumeVirtualMemoryInfoPtr; /* * NewGrowZoneUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( GrowZoneUPP ) NewGrowZoneUPP(GrowZoneProcPtr userRoutine); #if !OPAQUE_UPP_TYPES enum { uppGrowZoneProcInfo = 0x000000F0 }; /* pascal 4_bytes Func(4_bytes) */ #ifdef __cplusplus inline DEFINE_API_C(GrowZoneUPP) NewGrowZoneUPP(GrowZoneProcPtr userRoutine) { return (GrowZoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGrowZoneProcInfo, GetCurrentArchitecture()); } #else #define NewGrowZoneUPP(userRoutine) (GrowZoneUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppGrowZoneProcInfo, GetCurrentArchitecture()) #endif #endif /* * NewPurgeUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( PurgeUPP ) NewPurgeUPP(PurgeProcPtr userRoutine); #if !OPAQUE_UPP_TYPES enum { uppPurgeProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */ #ifdef __cplusplus inline DEFINE_API_C(PurgeUPP) NewPurgeUPP(PurgeProcPtr userRoutine) { return (PurgeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPurgeProcInfo, GetCurrentArchitecture()); } #else #define NewPurgeUPP(userRoutine) (PurgeUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppPurgeProcInfo, GetCurrentArchitecture()) #endif #endif /* * NewUserFnUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( UserFnUPP ) NewUserFnUPP(UserFnProcPtr userRoutine); #if !OPAQUE_UPP_TYPES enum { uppUserFnProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */ #ifdef __cplusplus inline DEFINE_API_C(UserFnUPP) NewUserFnUPP(UserFnProcPtr userRoutine) { return (UserFnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserFnProcInfo, GetCurrentArchitecture()); } #else #define NewUserFnUPP(userRoutine) (UserFnUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppUserFnProcInfo, GetCurrentArchitecture()) #endif #endif /* * DisposeGrowZoneUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) DisposeGrowZoneUPP(GrowZoneUPP userUPP); #if !OPAQUE_UPP_TYPES #ifdef __cplusplus inline DEFINE_API_C(void) DisposeGrowZoneUPP(GrowZoneUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } #else #define DisposeGrowZoneUPP(userUPP) DisposeRoutineDescriptor(userUPP) #endif #endif /* * DisposePurgeUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) DisposePurgeUPP(PurgeUPP userUPP); #if !OPAQUE_UPP_TYPES #ifdef __cplusplus inline DEFINE_API_C(void) DisposePurgeUPP(PurgeUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } #else #define DisposePurgeUPP(userUPP) DisposeRoutineDescriptor(userUPP) #endif #endif /* * DisposeUserFnUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) DisposeUserFnUPP(UserFnUPP userUPP); #if !OPAQUE_UPP_TYPES #ifdef __cplusplus inline DEFINE_API_C(void) DisposeUserFnUPP(UserFnUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } #else #define DisposeUserFnUPP(userUPP) DisposeRoutineDescriptor(userUPP) #endif #endif /* * InvokeGrowZoneUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( long ) InvokeGrowZoneUPP( Size cbNeeded, GrowZoneUPP userUPP); #if !OPAQUE_UPP_TYPES #ifdef __cplusplus inline DEFINE_API_C(long) InvokeGrowZoneUPP(Size cbNeeded, GrowZoneUPP userUPP) { return (long)CALL_ONE_PARAMETER_UPP(userUPP, uppGrowZoneProcInfo, cbNeeded); } #else #define InvokeGrowZoneUPP(cbNeeded, userUPP) (long)CALL_ONE_PARAMETER_UPP((userUPP), uppGrowZoneProcInfo, (cbNeeded)) #endif #endif /* * InvokePurgeUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) InvokePurgeUPP( Handle blockToPurge, PurgeUPP userUPP); #if !OPAQUE_UPP_TYPES #ifdef __cplusplus inline DEFINE_API_C(void) InvokePurgeUPP(Handle blockToPurge, PurgeUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppPurgeProcInfo, blockToPurge); } #else #define InvokePurgeUPP(blockToPurge, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppPurgeProcInfo, (blockToPurge)) #endif #endif /* * InvokeUserFnUPP() * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter InvokeUserFnUPP(__A0, __A1) #endif EXTERN_API_C( void ) InvokeUserFnUPP( void * parameter, UserFnUPP userUPP) ONEWORDINLINE(0x4E91); #if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM) #ifdef __cplusplus inline DEFINE_API_C(void) InvokeUserFnUPP(void * parameter, UserFnUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppUserFnProcInfo, parameter); } #else #define InvokeUserFnUPP(parameter, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppUserFnProcInfo, (parameter)) #endif #endif #if CALL_NOT_IN_CARBON || OLDROUTINENAMES /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ #define NewGrowZoneProc(userRoutine) NewGrowZoneUPP(userRoutine) #define NewPurgeProc(userRoutine) NewPurgeUPP(userRoutine) #define NewUserFnProc(userRoutine) NewUserFnUPP(userRoutine) #define CallGrowZoneProc(userRoutine, cbNeeded) InvokeGrowZoneUPP(cbNeeded, userRoutine) #define CallPurgeProc(userRoutine, blockToPurge) InvokePurgeUPP(blockToPurge, userRoutine) #define CallUserFnProc(userRoutine, parameter) InvokeUserFnUPP(parameter, userRoutine) #endif /* CALL_NOT_IN_CARBON */ #if CALL_NOT_IN_CARBON /* * GetApplLimit() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( Ptr ) GetApplLimit(void) TWOWORDINLINE(0x2EB8, 0x0130); /* * SystemZone() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( THz ) SystemZone(void) TWOWORDINLINE(0x2EB8, 0x02A6); /* * ApplicationZone() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( THz ) ApplicationZone(void) TWOWORDINLINE(0x2EB8, 0x02AA); #endif /* CALL_NOT_IN_CARBON */ /* * GZSaveHnd() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Handle ) GZSaveHnd(void) TWOWORDINLINE(0x2EB8, 0x0328); /* * TopMem() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Ptr ) TopMem(void) TWOWORDINLINE(0x2EB8, 0x0108); /* * MemError() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( OSErr ) MemError(void) TWOWORDINLINE(0x3EB8, 0x0220); #if CALL_NOT_IN_CARBON /* * GetZone() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 GetZone #endif EXTERN_API( THz ) GetZone(void) ONEWORDINLINE(0xA11A); #endif /* CALL_NOT_IN_CARBON */ /* * NewHandle() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 NewHandle(__D0) #endif EXTERN_API( Handle ) NewHandle(Size byteCount) ONEWORDINLINE(0xA122); #if CALL_NOT_IN_CARBON /* * NewHandleSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 NewHandleSys(__D0) #endif EXTERN_API( Handle ) NewHandleSys(Size byteCount) ONEWORDINLINE(0xA522); #endif /* CALL_NOT_IN_CARBON */ /* * NewHandleClear() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 NewHandleClear(__D0) #endif EXTERN_API( Handle ) NewHandleClear(Size byteCount) ONEWORDINLINE(0xA322); #if CALL_NOT_IN_CARBON /* * NewHandleSysClear() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 NewHandleSysClear(__D0) #endif EXTERN_API( Handle ) NewHandleSysClear(Size byteCount) ONEWORDINLINE(0xA722); /* * HandleZone() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 HandleZone(__A0) #endif EXTERN_API( THz ) HandleZone(Handle h) ONEWORDINLINE(0xA126); #endif /* CALL_NOT_IN_CARBON */ /* * RecoverHandle() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 RecoverHandle(__A0) #endif EXTERN_API( Handle ) RecoverHandle(Ptr p) ONEWORDINLINE(0xA128); #if CALL_NOT_IN_CARBON /* * RecoverHandleSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 RecoverHandleSys(__A0) #endif EXTERN_API( Handle ) RecoverHandleSys(Ptr p) ONEWORDINLINE(0xA528); #endif /* CALL_NOT_IN_CARBON */ /* * NewPtr() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 NewPtr(__D0) #endif EXTERN_API( Ptr ) NewPtr(Size byteCount) ONEWORDINLINE(0xA11E); #if CALL_NOT_IN_CARBON /* * NewPtrSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 NewPtrSys(__D0) #endif EXTERN_API( Ptr ) NewPtrSys(Size byteCount) ONEWORDINLINE(0xA51E); #endif /* CALL_NOT_IN_CARBON */ /* * NewPtrClear() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 NewPtrClear(__D0) #endif EXTERN_API( Ptr ) NewPtrClear(Size byteCount) ONEWORDINLINE(0xA31E); #if CALL_NOT_IN_CARBON /* * NewPtrSysClear() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 NewPtrSysClear(__D0) #endif EXTERN_API( Ptr ) NewPtrSysClear(Size byteCount) ONEWORDINLINE(0xA71E); /* * PtrZone() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 PtrZone(__A0) #endif EXTERN_API( THz ) PtrZone(Ptr p) ONEWORDINLINE(0xA148); #endif /* CALL_NOT_IN_CARBON */ /* * MaxBlock() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 MaxBlock #endif EXTERN_API( long ) MaxBlock(void) ONEWORDINLINE(0xA061); #if CALL_NOT_IN_CARBON /* * MaxBlockSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 MaxBlockSys #endif EXTERN_API( long ) MaxBlockSys(void) ONEWORDINLINE(0xA461); #endif /* CALL_NOT_IN_CARBON */ /* * StackSpace() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 StackSpace #endif EXTERN_API( long ) StackSpace(void) ONEWORDINLINE(0xA065); /* * NewEmptyHandle() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 NewEmptyHandle #endif EXTERN_API( Handle ) NewEmptyHandle(void) ONEWORDINLINE(0xA166); #if CALL_NOT_IN_CARBON /* * NewEmptyHandleSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 NewEmptyHandleSys #endif EXTERN_API( Handle ) NewEmptyHandleSys(void) ONEWORDINLINE(0xA566); #endif /* CALL_NOT_IN_CARBON */ /* * HLock() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter HLock(__A0) #endif EXTERN_API( void ) HLock(Handle h) ONEWORDINLINE(0xA029); /* * HUnlock() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter HUnlock(__A0) #endif EXTERN_API( void ) HUnlock(Handle h) ONEWORDINLINE(0xA02A); /* * HPurge() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter HPurge(__A0) #endif EXTERN_API( void ) HPurge(Handle h) ONEWORDINLINE(0xA049); /* * HNoPurge() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter HNoPurge(__A0) #endif EXTERN_API( void ) HNoPurge(Handle h) ONEWORDINLINE(0xA04A); /* * HLockHi() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter HLockHi(__A0) #endif EXTERN_API( void ) HLockHi(Handle h) TWOWORDINLINE(0xA064, 0xA029); /* * TempNewHandle() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Handle ) TempNewHandle( Size logicalSize, OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x001D, 0xA88F); /* * TempMaxMem() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Size ) TempMaxMem(Size * grow) THREEWORDINLINE(0x3F3C, 0x0015, 0xA88F); /* * TempFreeMem() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( long ) TempFreeMem(void) THREEWORDINLINE(0x3F3C, 0x0018, 0xA88F); #if CALL_NOT_IN_CARBON /* * InitZone() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( void ) InitZone( GrowZoneUPP pgrowZone, short cmoreMasters, void * limitPtr, void * startPtr); #endif /* CALL_NOT_IN_CARBON */ #if CALL_NOT_IN_CARBON /* * SetZone() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter SetZone(__A0) #endif EXTERN_API( void ) SetZone(THz hz) ONEWORDINLINE(0xA01B); #endif /* CALL_NOT_IN_CARBON */ /* * CompactMem() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 CompactMem(__D0) #endif EXTERN_API( Size ) CompactMem(Size cbNeeded) ONEWORDINLINE(0xA04C); #if CALL_NOT_IN_CARBON /* * CompactMemSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 CompactMemSys(__D0) #endif EXTERN_API( Size ) CompactMemSys(Size cbNeeded) ONEWORDINLINE(0xA44C); #endif /* CALL_NOT_IN_CARBON */ /* * PurgeMem() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter PurgeMem(__D0) #endif EXTERN_API( void ) PurgeMem(Size cbNeeded) ONEWORDINLINE(0xA04D); #if CALL_NOT_IN_CARBON /* * PurgeMemSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter PurgeMemSys(__D0) #endif EXTERN_API( void ) PurgeMemSys(Size cbNeeded) ONEWORDINLINE(0xA44D); #endif /* CALL_NOT_IN_CARBON */ /* * FreeMem() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 FreeMem #endif EXTERN_API( long ) FreeMem(void) ONEWORDINLINE(0xA01C); #if CALL_NOT_IN_CARBON /* * FreeMemSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 FreeMemSys #endif EXTERN_API( long ) FreeMemSys(void) ONEWORDINLINE(0xA41C); #endif /* CALL_NOT_IN_CARBON */ /* * ReserveMem() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter ReserveMem(__D0) #endif EXTERN_API( void ) ReserveMem(Size cbNeeded) ONEWORDINLINE(0xA040); #if CALL_NOT_IN_CARBON /* * ReserveMemSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter ReserveMemSys(__D0) #endif EXTERN_API( void ) ReserveMemSys(Size cbNeeded) ONEWORDINLINE(0xA440); #endif /* CALL_NOT_IN_CARBON */ /* * MaxMem() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 MaxMem(__A1) #endif EXTERN_API( Size ) MaxMem(Size * grow) TWOWORDINLINE(0xA11D, 0x2288); #if CALL_NOT_IN_CARBON /* * MaxMemSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 MaxMemSys(__A1) #endif EXTERN_API( Size ) MaxMemSys(Size * grow) TWOWORDINLINE(0xA51D, 0x2288); #endif /* CALL_NOT_IN_CARBON */ /* * SetGrowZone() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter SetGrowZone(__A0) #endif EXTERN_API( void ) SetGrowZone(GrowZoneUPP growZone) ONEWORDINLINE(0xA04B); /* * GetGrowZone() * * Availability: * Non-Carbon CFM: not available * CarbonLib: in CarbonLib 1.1 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( GrowZoneUPP ) GetGrowZone(void); /* * MoveHHi() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter MoveHHi(__A0) #endif EXTERN_API( void ) MoveHHi(Handle h) ONEWORDINLINE(0xA064); /* * DisposePtr() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter DisposePtr(__A0) #endif EXTERN_API( void ) DisposePtr(Ptr p) ONEWORDINLINE(0xA01F); /* * GetPtrSize() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Size ) GetPtrSize(Ptr p); /* * SetPtrSize() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter SetPtrSize(__A0, __D0) #endif EXTERN_API( void ) SetPtrSize( Ptr p, Size newSize) ONEWORDINLINE(0xA020); /* * DisposeHandle() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter DisposeHandle(__A0) #endif EXTERN_API( void ) DisposeHandle(Handle h) ONEWORDINLINE(0xA023); /* * SetHandleSize() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter SetHandleSize(__A0, __D0) #endif EXTERN_API( void ) SetHandleSize( Handle h, Size newSize) ONEWORDINLINE(0xA024); /* NOTE GetHandleSize and GetPtrSize are documented in Inside Mac as returning 0 in case of an error, but the traps actually return an error code in D0. The glue sets D0 to 0 if an error occurred. */ /* * GetHandleSize() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Size ) GetHandleSize(Handle h); #if CALL_NOT_IN_CARBON /* * InlineGetHandleSize() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 InlineGetHandleSize(__A0) #endif EXTERN_API( Size ) InlineGetHandleSize(Handle h) ONEWORDINLINE(0xA025); #endif /* CALL_NOT_IN_CARBON */ #if !TARGET_OS_MAC #define InlineGetHandleSize GetHandleSize #endif /* * ReallocateHandle() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter ReallocateHandle(__A0, __D0) #endif EXTERN_API( void ) ReallocateHandle( Handle h, Size byteCount) ONEWORDINLINE(0xA027); #if CALL_NOT_IN_CARBON /* * ReallocateHandleSys() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter ReallocateHandleSys(__A0, __D0) #endif EXTERN_API( void ) ReallocateHandleSys( Handle h, Size byteCount) ONEWORDINLINE(0xA427); #endif /* CALL_NOT_IN_CARBON */ /* * EmptyHandle() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter EmptyHandle(__A0) #endif EXTERN_API( void ) EmptyHandle(Handle h) ONEWORDINLINE(0xA02B); /* * HSetRBit() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter HSetRBit(__A0) #endif EXTERN_API( void ) HSetRBit(Handle h) ONEWORDINLINE(0xA067); /* * HClrRBit() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter HClrRBit(__A0) #endif EXTERN_API( void ) HClrRBit(Handle h) ONEWORDINLINE(0xA068); /* * HGetState() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 HGetState(__A0) #endif EXTERN_API( SInt8 ) HGetState(Handle h) ONEWORDINLINE(0xA069); /* * HSetState() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter HSetState(__A0, __D0) #endif EXTERN_API( void ) HSetState( Handle h, SInt8 flags) ONEWORDINLINE(0xA06A); /* * PurgeSpace() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( void ) PurgeSpace( long * total, long * contig); /* PurgeSpaceTotal and PurgeSpaceContiguous are currently only implement on classic 68K. The are the same as PurgeSpace() but return just one value (either total space purgable or contiguous space purgable). Begining in Mac OS 8.5 they are available in InterfaceLib. */ /* * PurgeSpaceTotal() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 PurgeSpaceTotal #endif EXTERN_API( long ) PurgeSpaceTotal(void) ONEWORDINLINE(0xA062); /* * PurgeSpaceContiguous() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 PurgeSpaceContiguous #endif EXTERN_API( long ) PurgeSpaceContiguous(void) ONEWORDINLINE(0xA062); #if CALL_NOT_IN_CARBON /* * PurgeSpaceSysTotal() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __A0 PurgeSpaceSysTotal #endif EXTERN_API( long ) PurgeSpaceSysTotal(void) ONEWORDINLINE(0xA562); /* * PurgeSpaceSysContiguous() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 PurgeSpaceSysContiguous #endif EXTERN_API( long ) PurgeSpaceSysContiguous(void) ONEWORDINLINE(0xA562); /***************************************************************************** The routines: BlockMoveUncached, BlockMoveDataUncached BlockZero, BlockZeroUncached were first created for developers writing drivers. Originally they only existed in DriverServicesLib. Later they were added to InterfaceLib in PCI based PowerMacs. MacOS 8.5 provides these routines in InterfaceLib on all supported machines. *****************************************************************************/ #endif /* CALL_NOT_IN_CARBON */ /* * BlockMove() * * Availability: * Non-Carbon CFM: in DriverServicesLib 1.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter BlockMove(__A0, __A1, __D0) #endif EXTERN_API( void ) BlockMove( const void * srcPtr, void * destPtr, Size byteCount) ONEWORDINLINE(0xA02E); /* * BlockMoveData() * * Availability: * Non-Carbon CFM: in DriverServicesLib 1.0 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter BlockMoveData(__A0, __A1, __D0) #endif EXTERN_API( void ) BlockMoveData( const void * srcPtr, void * destPtr, Size byteCount) ONEWORDINLINE(0xA22E); /* * BlockMoveUncached() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) BlockMoveUncached( const void * srcPtr, void * destPtr, Size byteCount); /* * BlockMoveDataUncached() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) BlockMoveDataUncached( const void * srcPtr, void * destPtr, Size byteCount); /* * BlockZero() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) BlockZero( void * destPtr, Size byteCount); /* * BlockZeroUncached() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) BlockZeroUncached( void * destPtr, Size byteCount); #if CALL_NOT_IN_CARBON /* * MaxApplZone() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( void ) MaxApplZone(void) ONEWORDINLINE(0xA063); /* * SetApplBase() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter SetApplBase(__A0) #endif EXTERN_API( void ) SetApplBase(void * startPtr) ONEWORDINLINE(0xA057); #endif /* CALL_NOT_IN_CARBON */ /* * MoreMasters() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( void ) MoreMasters(void) ONEWORDINLINE(0xA036); /* * MoreMasterPointers() * * Availability: * Non-Carbon CFM: not available * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API_C( void ) MoreMasterPointers(UInt32 inCount); #if CALL_NOT_IN_CARBON /* * SetApplLimit() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter SetApplLimit(__A0) #endif EXTERN_API( void ) SetApplLimit(void * zoneLimit) ONEWORDINLINE(0xA02D); /* * InitApplZone() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( void ) InitApplZone(void) ONEWORDINLINE(0xA02C); /* Temporary Memory routines renamed, but obsolete, in System 7.0 and later. */ #endif /* CALL_NOT_IN_CARBON */ /* * TempHLock() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( void ) TempHLock( Handle h, OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x001E, 0xA88F); /* * TempHUnlock() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( void ) TempHUnlock( Handle h, OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x001F, 0xA88F); /* * TempDisposeHandle() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( void ) TempDisposeHandle( Handle h, OSErr * resultCode) THREEWORDINLINE(0x3F3C, 0x0020, 0xA88F); /* * TempTopMem() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Ptr ) TempTopMem(void) THREEWORDINLINE(0x3F3C, 0x0016, 0xA88F); /* * HoldMemory() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.1 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 HoldMemory(__A0, __A1) #endif EXTERN_API( OSErr ) HoldMemory( void * address, unsigned long count) TWOWORDINLINE(0x7000, 0xA05C); /* * UnholdMemory() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.1 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 UnholdMemory(__A0, __A1) #endif EXTERN_API( OSErr ) UnholdMemory( void * address, unsigned long count) TWOWORDINLINE(0x7001, 0xA05C); #if CALL_NOT_IN_CARBON /* * LockMemory() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 LockMemory(__A0, __A1) #endif EXTERN_API( OSErr ) LockMemory( void * address, unsigned long count) TWOWORDINLINE(0x7002, 0xA05C); /* * LockMemoryForOutput() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 LockMemoryForOutput(__A0, __A1) #endif EXTERN_API( OSErr ) LockMemoryForOutput( void * address, unsigned long count) TWOWORDINLINE(0x700A, 0xA05C); /* * LockMemoryContiguous() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 LockMemoryContiguous(__A0, __A1) #endif EXTERN_API( OSErr ) LockMemoryContiguous( void * address, unsigned long count) TWOWORDINLINE(0x7004, 0xA05C); /* * UnlockMemory() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 UnlockMemory(__A0, __A1) #endif EXTERN_API( OSErr ) UnlockMemory( void * address, unsigned long count) TWOWORDINLINE(0x7003, 0xA05C); #endif /* CALL_NOT_IN_CARBON */ /* * MakeMemoryResident() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: in CarbonLib 1.0.2 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 MakeMemoryResident(__A0, __A1) #endif EXTERN_API( OSErr ) MakeMemoryResident( void * address, unsigned long count) TWOWORDINLINE(0x700B, 0xA05C); /* * ReleaseMemoryData() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: in CarbonLib 1.0.2 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 ReleaseMemoryData(__A0, __A1) #endif EXTERN_API( OSErr ) ReleaseMemoryData( void * address, unsigned long count) TWOWORDINLINE(0x700C, 0xA05C); /* * MakeMemoryNonResident() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: in CarbonLib 1.0.2 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 MakeMemoryNonResident(__A0, __A1) #endif EXTERN_API( OSErr ) MakeMemoryNonResident( void * address, unsigned long count) TWOWORDINLINE(0x700D, 0xA05C); /* * FlushMemory() * * Availability: * Non-Carbon CFM: in InterfaceLib 8.5 and later * CarbonLib: in CarbonLib 1.0.2 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 FlushMemory(__A0, __A1) #endif EXTERN_API( OSErr ) FlushMemory( void * address, unsigned long count) TWOWORDINLINE(0x700E, 0xA05C); #if CALL_NOT_IN_CARBON /* * GetPhysical() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 GetPhysical(__A0, __A1) #endif EXTERN_API( OSErr ) GetPhysical( LogicalToPhysicalTable * addresses, unsigned long * physicalEntryCount) SIXWORDINLINE(0x2209, 0x2251, 0x7005, 0xA15C, 0x2241, 0x2288); #endif /* CALL_NOT_IN_CARBON */ #if CALL_NOT_IN_CARBON /* * GetVolumeVirtualMemoryInfo() * * Availability: * Non-Carbon CFM: in InterfaceLib 9.0 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 GetVolumeVirtualMemoryInfo(__A0) #endif EXTERN_API( OSErr ) GetVolumeVirtualMemoryInfo(VolumeVirtualMemoryInfoPtr volVMInfo) TWOWORDINLINE(0x700F, 0xA05C); /* * DeferUserFn() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 DeferUserFn(__A0, __D0) #endif EXTERN_API( OSErr ) DeferUserFn( UserFnUPP userFunction, void * argument) ONEWORDINLINE(0xA08F); /* * DebuggerGetMax() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 DebuggerGetMax #endif EXTERN_API( long ) DebuggerGetMax(void) TWOWORDINLINE(0x7000, 0xA08D); /* * DebuggerEnter() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( void ) DebuggerEnter(void) TWOWORDINLINE(0x7001, 0xA08D); /* * DebuggerExit() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( void ) DebuggerExit(void) TWOWORDINLINE(0x7002, 0xA08D); /* * DebuggerPoll() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ EXTERN_API( void ) DebuggerPoll(void) TWOWORDINLINE(0x7003, 0xA08D); /* * GetPageState() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 GetPageState(__A0) #endif EXTERN_API( PageState ) GetPageState(const void * address) TWOWORDINLINE(0x7004, 0xA08D); /* * PageFaultFatal() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 PageFaultFatal #endif EXTERN_API( Boolean ) PageFaultFatal(void) TWOWORDINLINE(0x7005, 0xA08D); /* * DebuggerLockMemory() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 DebuggerLockMemory(__A0, __A1) #endif EXTERN_API( OSErr ) DebuggerLockMemory( void * address, unsigned long count) TWOWORDINLINE(0x7006, 0xA08D); /* * DebuggerUnlockMemory() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 DebuggerUnlockMemory(__A0, __A1) #endif EXTERN_API( OSErr ) DebuggerUnlockMemory( void * address, unsigned long count) TWOWORDINLINE(0x7007, 0xA08D); /* * EnterSupervisorMode() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 EnterSupervisorMode #endif EXTERN_API( StatusRegisterContents ) EnterSupervisorMode(void) TWOWORDINLINE(0x7008, 0xA08D); /* * StripAddress() * * Summary: * A trap on classic 68K, and the identity function for pre-carbon * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 StripAddress(__D0) #endif EXTERN_API( Ptr ) StripAddress(void * theAddress) ONEWORDINLINE(0xA055); #if !TARGET_OS_MAC || !TARGET_CPU_68K #ifdef __cplusplus inline DEFINE_API(Ptr ) StripAddress(void *theAddress) { return (Ptr)theAddress; } #else #define StripAddress(theAddress) ((Ptr)theAddress) #endif #endif /* * Translate24To32() * * Summary: * A trap on classic 68K, and the identity function for pre-carbon * * Availability: * Non-Carbon CFM: available as macro/inline * CarbonLib: not available * Mac OS X: not available */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 Translate24To32(__D0) #endif EXTERN_API( Ptr ) Translate24To32(void * addr24) ONEWORDINLINE(0xA091); #if !TARGET_OS_MAC || !TARGET_CPU_68K #ifdef __cplusplus inline DEFINE_API(Ptr ) Translate24To32(void *addr24) { return (Ptr)addr24; } #else #define Translate24To32(addr24) ((Ptr)addr24) #endif #endif #endif /* CALL_NOT_IN_CARBON */ /* * HandToHand() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( OSErr ) HandToHand(Handle * theHndl); /* * PtrToXHand() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 PtrToXHand(__A0, __A1, __D0) #endif EXTERN_API( OSErr ) PtrToXHand( const void * srcPtr, Handle dstHndl, long size) ONEWORDINLINE(0xA9E2); /* * PtrToHand() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( OSErr ) PtrToHand( const void * srcPtr, Handle * dstHndl, long size); /* * HandAndHand() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 HandAndHand(__A0, __A1) #endif EXTERN_API( OSErr ) HandAndHand( Handle hand1, Handle hand2) ONEWORDINLINE(0xA9E4); /* * PtrAndHand() * * Availability: * Non-Carbon CFM: in InterfaceLib 7.1 and later * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM #pragma parameter __D0 PtrAndHand(__A0, __A1, __D0) #endif EXTERN_API( OSErr ) PtrAndHand( const void * ptr1, Handle hand2, long size) ONEWORDINLINE(0xA9EF); /* Carbon routines to aid in debugging. */ /* Checks all applicable heaps for validity */ /* * CheckAllHeaps() * * Availability: * Non-Carbon CFM: not available * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Boolean ) CheckAllHeaps(void); /* Checks the application heap for validity */ /* * IsHeapValid() * * Availability: * Non-Carbon CFM: not available * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Boolean ) IsHeapValid(void); /* It is invalid to pass a NULL or an empty Handle to IsHandleValid */ /* * IsHandleValid() * * Availability: * Non-Carbon CFM: not available * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Boolean ) IsHandleValid(Handle h); /* It is invalid to pass a NULL Pointer to IsPointerValid */ /* * IsPointerValid() * * Availability: * Non-Carbon CFM: not available * CarbonLib: in CarbonLib 1.0 and later * Mac OS X: in version 10.0 and later */ EXTERN_API( Boolean ) IsPointerValid(Ptr p); #if OLDROUTINENAMES #define ApplicZone() ApplicationZone() #define MFTempNewHandle(logicalSize, resultCode) TempNewHandle(logicalSize, resultCode) #define MFMaxMem(grow) TempMaxMem(grow) #define MFFreeMem() TempFreeMem() #define MFTempHLock(h, resultCode) TempHLock(h, resultCode) #define MFTempHUnlock(h, resultCode) TempHUnlock(h, resultCode) #define MFTempDisposHandle(h, resultCode) TempDisposeHandle(h, resultCode) #define MFTopMem() TempTopMem() #define ResrvMem(cbNeeded) ReserveMem(cbNeeded) #define DisposPtr(p) DisposePtr(p) #define DisposHandle(h) DisposeHandle(h) #define ReallocHandle(h, byteCount) ReallocateHandle(h, byteCount) #endif /* OLDROUTINENAMES */ #if PRAGMA_STRUCT_ALIGN #pragma options align=reset #elif PRAGMA_STRUCT_PACKPUSH #pragma pack(pop) #elif PRAGMA_STRUCT_PACK #pragma pack() #endif #ifdef PRAGMA_IMPORT_OFF #pragma import off #elif PRAGMA_IMPORT #pragma import reset #endif #ifdef __cplusplus } #endif #endif /* __MACMEMORY__ */