/* 	File:		MacMemory.java  	Contains:	Sample java bindings for MacMemory.h for use with JDirect 2.0 in MRJ 2.1.  	Version:	Technology:	System 8.5 				Release:	MRJ 2.2  	Copyright:	© 1985-1999 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/  	Note:		This is only sample code.  You can copy any or all of these 				classes into your own code.  This sample code references other 				sample classes in other files.  You will need to put all sample 				classes you use in the same package, or add import statements. 				----------------------------Some things commented out for better backwards-compatibility.-jason*/package com.strangelight.mactoolbox;  import  com.apple.mrj.macos.libraries.DriverServicesLib;import  com.apple.mrj.macos.libraries.InterfaceLib;import  com.apple.mrj.jdirect.Struct;import  com.apple.mrj.jdirect.ByteArrayStruct;import  com.apple.mrj.jdirect.PointerStruct;import  com.apple.mrj.jdirect.MethodClosureUPP;//	import  com.apple.mrj.jdirect.NonNullArray;/** * The interface <CODE>MemoryConstants</CODE> contains java equivalents for all constants<BR> * defined in the C header <CODE>MacMemory.h</CODE><BR> * <BR> * When writing a java class which needs these constants, you can either use the <BR> * fully qualified name of the constant (e.g. <CODE>option = MemoryConstants.kWilyBit</CODE>)<BR> * or you can declare that your class <CODE>implements MemoryConstants<CODE> and then use the<BR> * simple name (e.g. <CODE>option = kWilyBit</CODE>)<BR> */public interface MemoryConstants {	/**		in C: <CODE>0x7FFFFFF0</CODE><BR>		the largest block possible	*/	public final int 	maxSize							= 0x7FFFFFF0;	/**		in C: <CODE>8</CODE>	*/	public final int 	defaultPhysicalEntryCount		= 8;	/**		in C: <CODE>0</CODE>	*/	public final short 	kPageInMemory					= (short)0;	/**		in C: <CODE>1</CODE>	*/	public final short 	kPageOnDisk						= (short)1;	/**		in C: <CODE>2</CODE>	*/	public final short 	kNotPaged						= (short)2;	/**		in C: <CODE>1</CODE><BR>		 valid in all Memory Managers 	*/	public final byte 	k32BitHeap						= (byte)1;	/**		in C: <CODE>2</CODE><BR>		 true if new Heap Manager is present 	*/	public final byte 	kNewStyleHeap					= (byte)2;	/**		in C: <CODE>4</CODE><BR>		 true if new Heap Manager is running in debug mode on this heap 	*/	public final byte 	kNewDebugHeap					= (byte)4;	/**		in C: <CODE>1</CODE><BR>		 first version of VolumeVirtualMemoryInfo	*/	public final int 	kVolumeVirtualMemoryInfoVersion1= 1;}/** * The class <CODE>MemoryFunctions</CODE> contains static native methods for all functions  * defined in the C header <CODE>MacMemory.h</CODE><BR> * <BR> * These native methods are invoked via JDirect 2.0 which can bind directly to the MacOS  * shared library DriverServicesLib, InterfaceLib.  Unlike JNI, no intermediate glue code is neeeded.<BR> *  */public class MemoryFunctions implements DriverServicesLib, InterfaceLib {	/**	 * No need to instantiate this class.  All methods are static.	 */	private MemoryFunctions() {};	/**	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int GetApplLimit();	/**	 * @return				in C: <CODE>THz </CODE>	 */	public native static int SystemZone();	/**	 * @return				in C: <CODE>THz </CODE>	 */	public native static int ApplicationZone();	/**	 * @return				in C: <CODE>Handle </CODE>	 */	public native static int GZSaveHnd();	/**	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int TopMem();	/**	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short MemError();	/**	 * @return				in C: <CODE>THz </CODE>	 */	public native static int GetZone();	/**	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 * @return				in C: <CODE>Handle </CODE>	 */	public native static int NewHandle(int byteCount);	/**	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 * @return				in C: <CODE>Handle </CODE>	 */	public native static int NewHandleSys(int byteCount);	/**	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 * @return				in C: <CODE>Handle </CODE>	 */	public native static int NewHandleClear(int byteCount);	/**	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 * @return				in C: <CODE>Handle </CODE>	 */	public native static int NewHandleSysClear(int byteCount);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @return				in C: <CODE>THz </CODE>	 */	public native static int HandleZone(int h);	/**	 * @param p				in C: <CODE>Ptr p</CODE>	 * @return				in C: <CODE>Handle </CODE>	 */	public native static int RecoverHandle(int p);	/**	 * @param p				in C: <CODE>Ptr p</CODE>	 * @return				in C: <CODE>Handle </CODE>	 */	public native static int RecoverHandleSys(int p);	/**	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int NewPtr(int byteCount);	/**	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int NewPtrSys(int byteCount);	/**	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int NewPtrClear(int byteCount);	/**	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int NewPtrSysClear(int byteCount);	/**	 * @param p				in C: <CODE>Ptr p</CODE>	 * @return				in C: <CODE>THz </CODE>	 */	public native static int PtrZone(int p);	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int MaxBlock();	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int MaxBlockSys();	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int StackSpace();	/**	 * @return				in C: <CODE>Handle </CODE>	 */	public native static int NewEmptyHandle();	/**	 * @return				in C: <CODE>Handle </CODE>	 */	public native static int NewEmptyHandleSys();	/**	 * @param h				in C: <CODE>Handle h</CODE>	 */	public native static void HLock(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 */	public native static void HUnlock(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 */	public native static void HPurge(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 */	public native static void HNoPurge(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 */	public native static void HLockHi(int h);	/**	 * @param logicalSize	in C: <CODE>Size logicalSize</CODE>	 * @param resultCode	in C: <CODE>OSErr *resultCode</CODE>	 * @return				in C: <CODE>Handle </CODE>	 */	public native static int TempNewHandle(int logicalSize, short [] resultCode);	/**	 * @param grow			in C: <CODE>Size *grow</CODE>	 * @return				in C: <CODE>Size </CODE>	 */	public native static int TempMaxMem(int [] grow);	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int TempFreeMem();	/**	 * @param pgrowZone		in C: <CODE>GrowZoneUPP pgrowZone</CODE>	 * @param cmoreMasters	in C: <CODE>short cmoreMasters</CODE>	 * @param limitPtr		in C: <CODE>void *limitPtr</CODE>	 * @param startPtr		in C: <CODE>void *startPtr</CODE>	 */	public static void InitZone(GrowZoneClosureUPP pgrowZone, short cmoreMasters, int limitPtr, int startPtr) {		InitZone(pgrowZone.getProc(), cmoreMasters, limitPtr, startPtr);	}	public native static void InitZone(int pgrowZone, short cmoreMasters, int limitPtr, int startPtr);	/**	 * @param pgrowZone		in C: <CODE>GrowZoneUPP pgrowZone</CODE>	 * @param cmoreMasters	in C: <CODE>short cmoreMasters</CODE>	 * @param limitPtr		in C: <CODE>void *limitPtr</CODE>	 * @param startPtr		in C: <CODE>void *startPtr</CODE>	 */	public static void InitZone(GrowZoneClosureUPP pgrowZone, short cmoreMasters, byte [] limitPtr, byte [] startPtr) {		InitZone(pgrowZone.getProc(), cmoreMasters, limitPtr, startPtr);	}	public native static void InitZone(int pgrowZone, short cmoreMasters, byte [] limitPtr, byte [] startPtr);	/**	 * @param hz			in C: <CODE>THz hz</CODE>	 */	public static void SetZone(ZoneStruct hz) {		SetZone(hz.getPointer());	}	public native static void SetZone(int hz);	/**	 * @param cbNeeded		in C: <CODE>Size cbNeeded</CODE>	 * @return				in C: <CODE>Size </CODE>	 */	public native static int CompactMem(int cbNeeded);	/**	 * @param cbNeeded		in C: <CODE>Size cbNeeded</CODE>	 * @return				in C: <CODE>Size </CODE>	 */	public native static int CompactMemSys(int cbNeeded);	/**	 * @param cbNeeded		in C: <CODE>Size cbNeeded</CODE>	 */	public native static void PurgeMem(int cbNeeded);	/**	 * @param cbNeeded		in C: <CODE>Size cbNeeded</CODE>	 */	public native static void PurgeMemSys(int cbNeeded);	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int FreeMem();	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int FreeMemSys();	/**	 * @param cbNeeded		in C: <CODE>Size cbNeeded</CODE>	 */	public native static void ReserveMem(int cbNeeded);	/**	 * @param cbNeeded		in C: <CODE>Size cbNeeded</CODE>	 */	public native static void ReserveMemSys(int cbNeeded);	/**	 * @param grow			in C: <CODE>Size *grow</CODE>	 * @return				in C: <CODE>Size </CODE>	 */	public native static int MaxMem(int [] grow);	/**	 * @param grow			in C: <CODE>Size *grow</CODE>	 * @return				in C: <CODE>Size </CODE>	 */	public native static int MaxMemSys(int [] grow);	/**	 * @param growZone		in C: <CODE>GrowZoneUPP growZone</CODE>	 */	public static void SetGrowZone(GrowZoneClosureUPP growZone) {		SetGrowZone(growZone.getProc());	}	public native static void SetGrowZone(int growZone);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 */	public native static void MoveHHi(int h);	/**	 * @param p				in C: <CODE>Ptr p</CODE>	 */	public native static void DisposePtr(int p);	/**	 * @param p				in C: <CODE>Ptr p</CODE>	 * @return				in C: <CODE>Size </CODE>	 */	public native static int GetPtrSize(int p);	/**	 * @param p				in C: <CODE>Ptr p</CODE>	 * @param newSize		in C: <CODE>Size newSize</CODE>	 */	public native static void SetPtrSize(int p, int newSize);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 */	public native static void DisposeHandle(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @param newSize		in C: <CODE>Size newSize</CODE>	 */	public native static void SetHandleSize(int h, int newSize);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @return				in C: <CODE>Size </CODE>	 */	public native static int GetHandleSize(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @return				in C: <CODE>Size </CODE>	 */	public native static int InlineGetHandleSize(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void ReallocateHandle(int h, int byteCount);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void ReallocateHandleSys(int h, int byteCount);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 */	public native static void EmptyHandle(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 */	public native static void HSetRBit(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 */	public native static void HClrRBit(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @return				in C: <CODE>SInt8 </CODE>	 */	public native static byte HGetState(int h);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @param flags			in C: <CODE>SInt8 flags</CODE>	 */	public native static void HSetState(int h, byte flags);	/**	 * @param total			in C: <CODE>long *total</CODE>	 * @param contig		in C: <CODE>long *contig</CODE>	 */	public native static void PurgeSpace(int [] total, int [] contig);	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int PurgeSpaceTotal();	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int PurgeSpaceContiguous();	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int PurgeSpaceSysTotal();	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int PurgeSpaceSysContiguous();	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockMove(int srcPtr, int destPtr, int byteCount);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockMove(byte [] srcPtr, byte [] destPtr, int byteCount);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockMoveData(int srcPtr, int destPtr, int byteCount);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockMoveData(byte [] srcPtr, byte [] destPtr, int byteCount);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockMoveUncached(int srcPtr, int destPtr, int byteCount);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockMoveUncached(byte [] srcPtr, byte [] destPtr, int byteCount);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockMoveDataUncached(int srcPtr, int destPtr, int byteCount);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockMoveDataUncached(byte [] srcPtr, byte [] destPtr, int byteCount);	/**	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockZero(int destPtr, int byteCount);	/**	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockZero(byte [] destPtr, int byteCount);	/**	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockZeroUncached(int destPtr, int byteCount);	/**	 * @param destPtr		in C: <CODE>void *destPtr</CODE>	 * @param byteCount		in C: <CODE>Size byteCount</CODE>	 */	public native static void BlockZeroUncached(byte [] destPtr, int byteCount);	/**	 */	public native static void MaxApplZone();	/**	 * @param startPtr		in C: <CODE>void *startPtr</CODE>	 */	public native static void SetApplBase(int startPtr);	/**	 * @param startPtr		in C: <CODE>void *startPtr</CODE>	 */	public native static void SetApplBase(byte [] startPtr);	/**	 */	public native static void MoreMasters();	// MoreMasterPointers() is not accessible from Java because it is only in CarbonLib	/**	 * @param zoneLimit		in C: <CODE>void *zoneLimit</CODE>	 */	public native static void SetApplLimit(int zoneLimit);	/**	 * @param zoneLimit		in C: <CODE>void *zoneLimit</CODE>	 */	public native static void SetApplLimit(byte [] zoneLimit);	/**	 */	public native static void InitApplZone();	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @param resultCode	in C: <CODE>OSErr *resultCode</CODE>	 */	public native static void TempHLock(int h, short [] resultCode);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @param resultCode	in C: <CODE>OSErr *resultCode</CODE>	 */	public native static void TempHUnlock(int h, short [] resultCode);	/**	 * @param h				in C: <CODE>Handle h</CODE>	 * @param resultCode	in C: <CODE>OSErr *resultCode</CODE>	 */	public native static void TempDisposeHandle(int h, short [] resultCode);	/**	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int TempTopMem();	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short HoldMemory(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short HoldMemory(byte [] address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short UnholdMemory(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short UnholdMemory(byte [] address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short LockMemory(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short LockMemory(byte [] address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short LockMemoryForOutput(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short LockMemoryForOutput(byte [] address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short LockMemoryContiguous(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short LockMemoryContiguous(byte [] address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short UnlockMemory(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short UnlockMemory(byte [] address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short MakeMemoryResident(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short MakeMemoryResident(byte [] address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short ReleaseMemoryData(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short ReleaseMemoryData(byte [] address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short MakeMemoryNonResident(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short MakeMemoryNonResident(byte [] address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short FlushMemory(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short FlushMemory(byte [] address, int count);	/**	 * @param addresses		in C: <CODE>LogicalToPhysicalTable *addresses</CODE>	 * @param physicalEntryCountin C: <CODE>unsigned long *physicalEntryCount</CODE>	 * @return				in C: <CODE>OSErr </CODE>	public static short GetPhysical(LogicalToPhysicalTableStruct addresses, int [] physicalEntryCount) {		 return GetPhysical(addresses.getByteArray(), NonNullArray.assert(physicalEntryCount));	}	public native static short GetPhysical(byte[] addresses, int [] physicalEntryCount);	 */	/**	 * @param volVMInfo		in C: <CODE>VolumeVirtualMemoryInfoPtr volVMInfo</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public static short GetVolumeVirtualMemoryInfo(VolumeVirtualMemoryInfoStruct volVMInfo) {		 return GetVolumeVirtualMemoryInfo(volVMInfo.getByteArray());	}	public native static short GetVolumeVirtualMemoryInfo(byte[] volVMInfo);	/**	 * @param userFunction	in C: <CODE>UserFnUPP userFunction</CODE>	 * @param argument		in C: <CODE>void *argument</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public static short DeferUserFn(UserFnClosureUPP userFunction, int argument) {		 return DeferUserFn(userFunction.getProc(), argument);	}	public native static short DeferUserFn(int userFunction, int argument);	/**	 * @param userFunction	in C: <CODE>UserFnUPP userFunction</CODE>	 * @param argument		in C: <CODE>void *argument</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public static short DeferUserFn(UserFnClosureUPP userFunction, byte [] argument) {		 return DeferUserFn(userFunction.getProc(), argument);	}	public native static short DeferUserFn(int userFunction, byte [] argument);	/**	 * @return				in C: <CODE>long </CODE>	 */	public native static int DebuggerGetMax();	/**	 */	public native static void DebuggerEnter();	/**	 */	public native static void DebuggerExit();	/**	 */	public native static void DebuggerPoll();	/**	 * @param address		in C: <CODE>const void *address</CODE>	 * @return				in C: <CODE>PageState </CODE>	 */	public native static short GetPageState(int address);	/**	 * @param address		in C: <CODE>const void *address</CODE>	 * @return				in C: <CODE>PageState </CODE>	 */	public native static short GetPageState(byte [] address);	/**	 * @return				in C: <CODE>Boolean </CODE>	 */	public native static boolean PageFaultFatal();	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short DebuggerLockMemory(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short DebuggerLockMemory(byte [] address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short DebuggerUnlockMemory(int address, int count);	/**	 * @param address		in C: <CODE>void *address</CODE>	 * @param count			in C: <CODE>unsigned long count</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short DebuggerUnlockMemory(byte [] address, int count);	/**	 * @return				in C: <CODE>StatusRegisterContents </CODE>	 */	public native static short EnterSupervisorMode();	/**	 * @param theAddress	in C: <CODE>void *theAddress</CODE>	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int StripAddress(int theAddress);	/**	 * @param theAddress	in C: <CODE>void *theAddress</CODE>	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int StripAddress(byte [] theAddress);	/**	 * @param addr24		in C: <CODE>void *addr24</CODE>	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int Translate24To32(int addr24);	/**	 * @param addr24		in C: <CODE>void *addr24</CODE>	 * @return				in C: <CODE>Ptr </CODE>	 */	public native static int Translate24To32(byte [] addr24);	/**	 * @param theHndl		in C: <CODE>Handle *theHndl</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short HandToHand(int [] theHndl);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param dstHndl		in C: <CODE>Handle dstHndl</CODE>	 * @param size			in C: <CODE>long size</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short PtrToXHand(int srcPtr, int dstHndl, int size);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param dstHndl		in C: <CODE>Handle dstHndl</CODE>	 * @param size			in C: <CODE>long size</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short PtrToXHand(byte [] srcPtr, int dstHndl, int size);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param dstHndl		in C: <CODE>Handle *dstHndl</CODE>	 * @param size			in C: <CODE>long size</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short PtrToHand(int srcPtr, int [] dstHndl, int size);	/**	 * @param srcPtr		in C: <CODE>const void *srcPtr</CODE>	 * @param dstHndl		in C: <CODE>Handle *dstHndl</CODE>	 * @param size			in C: <CODE>long size</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short PtrToHand(byte [] srcPtr, int [] dstHndl, int size);	/**	 * @param hand1			in C: <CODE>Handle hand1</CODE>	 * @param hand2			in C: <CODE>Handle hand2</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short HandAndHand(int hand1, int hand2);	/**	 * @param ptr1			in C: <CODE>const void *ptr1</CODE>	 * @param hand2			in C: <CODE>Handle hand2</CODE>	 * @param size			in C: <CODE>long size</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short PtrAndHand(int ptr1, int hand2, int size);	/**	 * @param ptr1			in C: <CODE>const void *ptr1</CODE>	 * @param hand2			in C: <CODE>Handle hand2</CODE>	 * @param size			in C: <CODE>long size</CODE>	 * @return				in C: <CODE>OSErr </CODE>	 */	public native static short PtrAndHand(byte [] ptr1, int hand2, int size);	// CheckAllHeaps() is not accessible from Java because it is only in CarbonLib	// IsHeapValid() is not accessible from Java because it is only in CarbonLib	// IsHandleValid() is not accessible from Java because it is only in CarbonLib	// IsPointerValid() is not accessible from Java because it is only in CarbonLib}/** * <CODE>ZoneStruct</CODE> is a class which holds a reference to the C struct <CODE>Zone</CODE> defined in <CODE>MacMemory.h</CODE><BR><BR> * This class contains a get and set method for each field in <CODE>Zone</CODE>.<BR><BR> * Using JDirect 2.0, a <CODE>ZoneStruct</CODE> can be passed to a native toolbox function * that expects a pointer to a <CODE>Zone</CODE> by using the <CODE>getPointer()</CODE> method.  */public class ZoneStruct extends PointerStruct {	/**	 * Constructs a <CODE>ZoneStruct</CODE> given a pointer to a MacOS toolbox <CODE>Zone</CODE>	 */	public ZoneStruct(int pointer) {		super(pointer);	}	/**	 * in C: <CODE>Ptr bkLim</CODE>	 * @return field <CODE>bkLim</CODE> of <CODE>struct Zone</CODE>	 */	public final int getBkLim() {		return getIntAt(0);	}	/**	 * in C: <CODE>Ptr bkLim</CODE>	 * @param bkLim sets field <CODE>bkLim</CODE> of <CODE>struct Zone</CODE>	 */	public final void setBkLim(int bkLim) {		setIntAt(0, bkLim);	}	/**	 * in C: <CODE>Ptr purgePtr</CODE>	 * @return field <CODE>purgePtr</CODE> of <CODE>struct Zone</CODE>	 */	public final int getPurgePtr() {		return getIntAt(4);	}	/**	 * in C: <CODE>Ptr purgePtr</CODE>	 * @param purgePtr sets field <CODE>purgePtr</CODE> of <CODE>struct Zone</CODE>	 */	public final void setPurgePtr(int purgePtr) {		setIntAt(4, purgePtr);	}	/**	 * in C: <CODE>Ptr hFstFree</CODE>	 * @return field <CODE>hFstFree</CODE> of <CODE>struct Zone</CODE>	 */	public final int getHFstFree() {		return getIntAt(8);	}	/**	 * in C: <CODE>Ptr hFstFree</CODE>	 * @param hFstFree sets field <CODE>hFstFree</CODE> of <CODE>struct Zone</CODE>	 */	public final void setHFstFree(int hFstFree) {		setIntAt(8, hFstFree);	}	/**	 * in C: <CODE>long zcbFree</CODE>	 * @return field <CODE>zcbFree</CODE> of <CODE>struct Zone</CODE>	 */	public final int getZcbFree() {		return getIntAt(12);	}	/**	 * in C: <CODE>long zcbFree</CODE>	 * @param zcbFree sets field <CODE>zcbFree</CODE> of <CODE>struct Zone</CODE>	 */	public final void setZcbFree(int zcbFree) {		setIntAt(12, zcbFree);	}	/**	 * in C: <CODE>GrowZoneUPP gzProc</CODE>	 * @return field <CODE>gzProc</CODE> of <CODE>struct Zone</CODE>	 */	public final int getGzProc() {		return getIntAt(16);	}	/**	 * in C: <CODE>GrowZoneUPP gzProc</CODE>	 * @param gzProc sets field <CODE>gzProc</CODE> of <CODE>struct Zone</CODE>	 */	public final void setGzProc(int gzProc) {		setIntAt(16, gzProc);	}	/**	 * in C: <CODE>short moreMast</CODE>	 * @return field <CODE>moreMast</CODE> of <CODE>struct Zone</CODE>	 */	public final short getMoreMast() {		return getShortAt(20);	}	/**	 * in C: <CODE>short moreMast</CODE>	 * @param moreMast sets field <CODE>moreMast</CODE> of <CODE>struct Zone</CODE>	 */	public final void setMoreMast(short moreMast) {		setShortAt(20, moreMast);	}	/**	 * in C: <CODE>short flags</CODE>	 * @return field <CODE>flags</CODE> of <CODE>struct Zone</CODE>	 */	public final short getFlags() {		return getShortAt(22);	}	/**	 * in C: <CODE>short flags</CODE>	 * @param flags sets field <CODE>flags</CODE> of <CODE>struct Zone</CODE>	 */	public final void setFlags(short flags) {		setShortAt(22, flags);	}	/**	 * in C: <CODE>short cntRel</CODE>	 * @return field <CODE>cntRel</CODE> of <CODE>struct Zone</CODE>	 */	public final short getCntRel() {		return getShortAt(24);	}	/**	 * in C: <CODE>short cntRel</CODE>	 * @param cntRel sets field <CODE>cntRel</CODE> of <CODE>struct Zone</CODE>	 */	public final void setCntRel(short cntRel) {		setShortAt(24, cntRel);	}	/**	 * in C: <CODE>short maxRel</CODE>	 * @return field <CODE>maxRel</CODE> of <CODE>struct Zone</CODE>	 */	public final short getMaxRel() {		return getShortAt(26);	}	/**	 * in C: <CODE>short maxRel</CODE>	 * @param maxRel sets field <CODE>maxRel</CODE> of <CODE>struct Zone</CODE>	 */	public final void setMaxRel(short maxRel) {		setShortAt(26, maxRel);	}	/**	 * in C: <CODE>short cntNRel</CODE>	 * @return field <CODE>cntNRel</CODE> of <CODE>struct Zone</CODE>	 */	public final short getCntNRel() {		return getShortAt(28);	}	/**	 * in C: <CODE>short cntNRel</CODE>	 * @param cntNRel sets field <CODE>cntNRel</CODE> of <CODE>struct Zone</CODE>	 */	public final void setCntNRel(short cntNRel) {		setShortAt(28, cntNRel);	}	/**	 * in C: <CODE>SInt8 heapType</CODE>	 * @return field <CODE>heapType</CODE> of <CODE>struct Zone</CODE>	 */	public final byte getHeapType() {		return getByteAt(30);	}	/**	 * in C: <CODE>SInt8 heapType</CODE>	 * @param heapType sets field <CODE>heapType</CODE> of <CODE>struct Zone</CODE>	 */	public final void setHeapType(byte heapType) {		setByteAt(30, heapType);	}	/**	 * in C: <CODE>SInt8 unused</CODE>	 * @return field <CODE>unused</CODE> of <CODE>struct Zone</CODE>	 */	public final byte getUnused() {		return getByteAt(31);	}	/**	 * in C: <CODE>SInt8 unused</CODE>	 * @param unused sets field <CODE>unused</CODE> of <CODE>struct Zone</CODE>	 */	public final void setUnused(byte unused) {		setByteAt(31, unused);	}	/**	 * in C: <CODE>short cntEmpty</CODE>	 * @return field <CODE>cntEmpty</CODE> of <CODE>struct Zone</CODE>	 */	public final short getCntEmpty() {		return getShortAt(32);	}	/**	 * in C: <CODE>short cntEmpty</CODE>	 * @param cntEmpty sets field <CODE>cntEmpty</CODE> of <CODE>struct Zone</CODE>	 */	public final void setCntEmpty(short cntEmpty) {		setShortAt(32, cntEmpty);	}	/**	 * in C: <CODE>short cntHandles</CODE>	 * @return field <CODE>cntHandles</CODE> of <CODE>struct Zone</CODE>	 */	public final short getCntHandles() {		return getShortAt(34);	}	/**	 * in C: <CODE>short cntHandles</CODE>	 * @param cntHandles sets field <CODE>cntHandles</CODE> of <CODE>struct Zone</CODE>	 */	public final void setCntHandles(short cntHandles) {		setShortAt(34, cntHandles);	}	/**	 * in C: <CODE>long minCBFree</CODE>	 * @return field <CODE>minCBFree</CODE> of <CODE>struct Zone</CODE>	 */	public final int getMinCBFree() {		return getIntAt(36);	}	/**	 * in C: <CODE>long minCBFree</CODE>	 * @param minCBFree sets field <CODE>minCBFree</CODE> of <CODE>struct Zone</CODE>	 */	public final void setMinCBFree(int minCBFree) {		setIntAt(36, minCBFree);	}	/**	 * in C: <CODE>PurgeUPP purgeProc</CODE>	 * @return field <CODE>purgeProc</CODE> of <CODE>struct Zone</CODE>	 */	public final int getPurgeProc() {		return getIntAt(40);	}	/**	 * in C: <CODE>PurgeUPP purgeProc</CODE>	 * @param purgeProc sets field <CODE>purgeProc</CODE> of <CODE>struct Zone</CODE>	 */	public final void setPurgeProc(int purgeProc) {		setIntAt(40, purgeProc);	}	/**	 * in C: <CODE>Ptr sparePtr</CODE>	 * @return field <CODE>sparePtr</CODE> of <CODE>struct Zone</CODE>	 */	public final int getSparePtr() {		return getIntAt(44);	}	/**	 * in C: <CODE>Ptr sparePtr</CODE>	 * @param sparePtr sets field <CODE>sparePtr</CODE> of <CODE>struct Zone</CODE>	 */	public final void setSparePtr(int sparePtr) {		setIntAt(44, sparePtr);	}	/**	 * in C: <CODE>Ptr allocPtr</CODE>	 * @return field <CODE>allocPtr</CODE> of <CODE>struct Zone</CODE>	 */	public final int getAllocPtr() {		return getIntAt(48);	}	/**	 * in C: <CODE>Ptr allocPtr</CODE>	 * @param allocPtr sets field <CODE>allocPtr</CODE> of <CODE>struct Zone</CODE>	 */	public final void setAllocPtr(int allocPtr) {		setIntAt(48, allocPtr);	}	/**	 * in C: <CODE>short heapData</CODE>	 * @return field <CODE>heapData</CODE> of <CODE>struct Zone</CODE>	 */	public final short getHeapData() {		return getShortAt(52);	}	/**	 * in C: <CODE>short heapData</CODE>	 * @param heapData sets field <CODE>heapData</CODE> of <CODE>struct Zone</CODE>	 */	public final void setHeapData(short heapData) {		setShortAt(52, heapData);	}	/**	 * Size of <CODE>struct Zone</CODE> in bytes	 */	public final static int sizeOfZone = 54;	public int getSize() {		return sizeOfZone;	}}/** * <CODE>MemoryBlockStruct</CODE> is a class which mimics the C struct <CODE>MemoryBlock</CODE> defined in <CODE>MacMemory.h</CODE><BR><BR> * This class contains a get and set method for each field in <CODE>MemoryBlock</CODE>.<BR><BR> * Using JDirect 2.0, a <CODE>MemoryBlockStruct</CODE> can be passed to a native toolbox function * that expects a pointer to a <CODE>MemoryBlock</CODE> by using the <CODE>getByteArray()</CODE> method.  */public class MemoryBlockStruct extends ByteArrayStruct {	/**	 * Constructs an uninitialized <CODE>MemoryBlockStruct</CODE>	 */	public MemoryBlockStruct() {		super(sizeOfMemoryBlock);	}	/**	 * Constructs a <CODE>MemoryBlockStruct</CODE> and initializes it with the data in another <CODE>Struct</CODE>. 	 * Useful when a C struct <CODE>MemoryBlock</CODE> is embedded in another C struct and you want to	 * copy it out. 	 * @param src the <CODE>Struct</CODE> containing the data to be copied	 * @param offsetInSrc the offest in of the data in <CODE>src</CODE>	 */	public MemoryBlockStruct(Struct src, int offsetInSrc) {		super(sizeOfMemoryBlock);		byte[] bytes = src.getBytesAt(offsetInSrc, sizeOfMemoryBlock);		this.setBytesAt(0, bytes);	}	/**	 * Used only by subclasses of <CODE>MemoryBlockStruct</CODE>	 */	protected MemoryBlockStruct(int size) {		super(size);	}	/**	 * in C: <CODE>void *address</CODE>	 * @return field <CODE>address</CODE> of <CODE>struct MemoryBlock</CODE>	 */	public final int getAddress() {		return getIntAt(0);	}	/**	 * in C: <CODE>void *address</CODE>	 * @param address sets field <CODE>address</CODE> of <CODE>struct MemoryBlock</CODE>	 */	public final void setAddress(int address) {		setIntAt(0, address);	}	/**	 * in C: <CODE>unsigned long count</CODE>	 * @return field <CODE>count</CODE> of <CODE>struct MemoryBlock</CODE>	 */	public final int getCount() {		return getIntAt(4);	}	/**	 * in C: <CODE>unsigned long count</CODE>	 * @param count sets field <CODE>count</CODE> of <CODE>struct MemoryBlock</CODE>	 */	public final void setCount(int count) {		setIntAt(4, count);	}	/**	 * Size of <CODE>struct MemoryBlock</CODE> in bytes	 */	public final static int sizeOfMemoryBlock = 8;	public long getValue() {		return getLongAt(0);	}}/** * <CODE>LogicalToPhysicalTableStruct</CODE> is a class which mimics the C struct <CODE>LogicalToPhysicalTable</CODE> defined in <CODE>MacMemory.h</CODE><BR><BR> * This class contains a get and set method for each field in <CODE>LogicalToPhysicalTable</CODE>.<BR><BR> * Using JDirect 2.0, a <CODE>LogicalToPhysicalTableStruct</CODE> can be passed to a native toolbox function * that expects a pointer to a <CODE>LogicalToPhysicalTable</CODE> by using the <CODE>getByteArray()</CODE> method.  */public class LogicalToPhysicalTableStruct extends ByteArrayStruct {	/**	 * Constructs an uninitialized <CODE>LogicalToPhysicalTableStruct</CODE>	 */	public LogicalToPhysicalTableStruct() {		super(sizeOfLogicalToPhysicalTable);	}	/**	 * Constructs a <CODE>LogicalToPhysicalTableStruct</CODE> and initializes it with the data in another <CODE>Struct</CODE>. 	 * Useful when a C struct <CODE>LogicalToPhysicalTable</CODE> is embedded in another C struct and you want to	 * copy it out. 	 * @param src the <CODE>Struct</CODE> containing the data to be copied	 * @param offsetInSrc the offest in of the data in <CODE>src</CODE>	 */	public LogicalToPhysicalTableStruct(Struct src, int offsetInSrc) {		super(sizeOfLogicalToPhysicalTable);		byte[] bytes = src.getBytesAt(offsetInSrc, sizeOfLogicalToPhysicalTable);		this.setBytesAt(0, bytes);	}	/**	 * Used only by subclasses of <CODE>LogicalToPhysicalTableStruct</CODE>	 */	protected LogicalToPhysicalTableStruct(int size) {		super(size);	}	/**	 * in C: <CODE>MemoryBlock logical</CODE>	 * @return field <CODE>logical</CODE> of <CODE>struct LogicalToPhysicalTable</CODE>	 */	public final MemoryBlockStruct getLogical() {		return new MemoryBlockStruct (this, 0);	}	/**	 * in C: <CODE>MemoryBlock logical</CODE>	 * @param logical sets field <CODE>logical</CODE> of <CODE>struct LogicalToPhysicalTable</CODE>	 */	public final void setLogical(MemoryBlockStruct logical) {		setStructAt(0, logical);	}	/**	 * in C: <CODE>MemoryBlock physical[8]</CODE>	 * @param arrayindex zero based index	 * @return arrayindex element of field <CODE>physical</CODE> of <CODE>struct LogicalToPhysicalTable</CODE>	 */	public final MemoryBlockStruct getPhysical(int arrayindex) {		return new MemoryBlockStruct (this, 8 + (arrayindex*8));	}	/**	 * in C: <CODE>MemoryBlock physical[8]</CODE>	 * @param arrayindex zero based index	 * @param physical sets arrayindex element of field <CODE>physical</CODE> of <CODE>struct LogicalToPhysicalTable</CODE>	 */	public final void setPhysical(int arrayindex, MemoryBlockStruct physical) {		setStructAt(8 + (arrayindex*8), physical);	}	/**	 * Size of <CODE>struct LogicalToPhysicalTable</CODE> in bytes	 */	public final static int sizeOfLogicalToPhysicalTable = 72;}/** * <CODE>VolumeVirtualMemoryInfoStruct</CODE> is a class which mimics the C struct <CODE>VolumeVirtualMemoryInfo</CODE> defined in <CODE>MacMemory.h</CODE><BR><BR> * This class contains a get and set method for each field in <CODE>VolumeVirtualMemoryInfo</CODE>.<BR><BR> * Using JDirect 2.0, a <CODE>VolumeVirtualMemoryInfoStruct</CODE> can be passed to a native toolbox function * that expects a pointer to a <CODE>VolumeVirtualMemoryInfo</CODE> by using the <CODE>getByteArray()</CODE> method.  */public class VolumeVirtualMemoryInfoStruct extends ByteArrayStruct {	/**	 * Constructs an uninitialized <CODE>VolumeVirtualMemoryInfoStruct</CODE>	 */	public VolumeVirtualMemoryInfoStruct() {		super(sizeOfVolumeVirtualMemoryInfo);	}	/**	 * Constructs a <CODE>VolumeVirtualMemoryInfoStruct</CODE> and initializes it with the data in another <CODE>Struct</CODE>. 	 * Useful when a C struct <CODE>VolumeVirtualMemoryInfo</CODE> is embedded in another C struct and you want to	 * copy it out. 	 * @param src the <CODE>Struct</CODE> containing the data to be copied	 * @param offsetInSrc the offest in of the data in <CODE>src</CODE>	 */	public VolumeVirtualMemoryInfoStruct(Struct src, int offsetInSrc) {		super(sizeOfVolumeVirtualMemoryInfo);		byte[] bytes = src.getBytesAt(offsetInSrc, sizeOfVolumeVirtualMemoryInfo);		this.setBytesAt(0, bytes);	}	/**	 * Used only by subclasses of <CODE>VolumeVirtualMemoryInfoStruct</CODE>	 */	protected VolumeVirtualMemoryInfoStruct(int size) {		super(size);	}	/**	 * in C: <CODE>PBVersion version</CODE>	 * @return field <CODE>version</CODE> of <CODE>struct VolumeVirtualMemoryInfo</CODE>	 */	public final int getVersion() {		return getIntAt(0);	}	/**	 * in C: <CODE>PBVersion version</CODE>	 * @param version sets field <CODE>version</CODE> of <CODE>struct VolumeVirtualMemoryInfo</CODE>	 */	public final void setVersion(int version) {		setIntAt(0, version);	}	/**	 * in C: <CODE>SInt16 volumeRefNum</CODE>	 * @return field <CODE>volumeRefNum</CODE> of <CODE>struct VolumeVirtualMemoryInfo</CODE>	 */	public final short getVolumeRefNum() {		return getShortAt(4);	}	/**	 * in C: <CODE>SInt16 volumeRefNum</CODE>	 * @param volumeRefNum sets field <CODE>volumeRefNum</CODE> of <CODE>struct VolumeVirtualMemoryInfo</CODE>	 */	public final void setVolumeRefNum(short volumeRefNum) {		setShortAt(4, volumeRefNum);	}	/**	 * in C: <CODE>Boolean inUse</CODE>	 * @return field <CODE>inUse</CODE> of <CODE>struct VolumeVirtualMemoryInfo</CODE>	 */	public final boolean getInUse() {		return getBooleanAt(6);	}	/**	 * in C: <CODE>Boolean inUse</CODE>	 * @param inUse sets field <CODE>inUse</CODE> of <CODE>struct VolumeVirtualMemoryInfo</CODE>	 */	public final void setInUse(boolean inUse) {		setBooleanAt(6, inUse);	}	/**	 * in C: <CODE>UInt8 _fill</CODE>	 * @return field <CODE>_fill</CODE> of <CODE>struct VolumeVirtualMemoryInfo</CODE>	 */	public final byte get_fill() {		return getByteAt(7);	}	/**	 * in C: <CODE>UInt8 _fill</CODE>	 * @param _fill sets field <CODE>_fill</CODE> of <CODE>struct VolumeVirtualMemoryInfo</CODE>	 */	public final void set_fill(byte _fill) {		setByteAt(7, _fill);	}	/**	 * in C: <CODE>UInt32 vmOptions</CODE>	 * @return field <CODE>vmOptions</CODE> of <CODE>struct VolumeVirtualMemoryInfo</CODE>	 */	public final int getVmOptions() {		return getIntAt(8);	}	/**	 * in C: <CODE>UInt32 vmOptions</CODE>	 * @param vmOptions sets field <CODE>vmOptions</CODE> of <CODE>struct VolumeVirtualMemoryInfo</CODE>	 */	public final void setVmOptions(int vmOptions) {		setIntAt(8, vmOptions);	}	/**	 * Size of <CODE>struct VolumeVirtualMemoryInfo</CODE> in bytes	 */	public final static int sizeOfVolumeVirtualMemoryInfo = 12;}/** * The interface <CODE>GrowZoneInterface</CODE> defines the java interface which a class <BR> * must implement if it wants to be called by native code which expects a <CODE>GrowZoneProcPtr</CODE> * function pointer as defined in the C header <CODE>MacMemory.h</CODE><BR> *  * @see GrowZoneClosureUPP */public interface GrowZoneInterface {	/**	 * The method <CODE>GrowZone</CODE> will be invoked via a <CODE>GrowZoneClosureUPP</CODE> thunk.<BR>	 * No conversion is done to wrap java objects around the raw native parameters.<BR> 	 * You may need to do the conversion yourself. 	 * 	 * @param cbNeeded		in C: <CODE>Size cbNeeded</CODE>	 * @return				in C: <CODE>long </CODE>	 */	public int GrowZone(int cbNeeded);}/** * The class <CODE>GrowZoneClosureUPP</CODE> defines thunk objects which support transitioning  * from a <CODE>GrowZoneProcPtr</CODE> (as defined in the C header <CODE>MacMemory.h</CODE>file) function pointer * into the MRJ Java VM.<BR> *<BR> * * @see GrowZoneInterface */public final class GrowZoneClosureUPP extends MethodClosureUPP {	/**	 * To instantiate a <CODE>GrowZoneClosureUPP</CODE> object you must pass the constructor an object which implements	 * the <CODE>GrowZoneInterface interface</CODE>.<BR>	 * Do not subclass this class.  It is a thunk that glues native code to java code.	 */	public GrowZoneClosureUPP(GrowZoneInterface context) {		super(context, "GrowZone", "(I)I", 0x000000F0);	}}/** * The interface <CODE>PurgeInterface</CODE> defines the java interface which a class <BR> * must implement if it wants to be called by native code which expects a <CODE>PurgeProcPtr</CODE> * function pointer as defined in the C header <CODE>MacMemory.h</CODE><BR> *  * @see PurgeClosureUPP */public interface PurgeInterface {	/**	 * The method <CODE>Purge</CODE> will be invoked via a <CODE>PurgeClosureUPP</CODE> thunk.<BR>	 * No conversion is done to wrap java objects around the raw native parameters.<BR> 	 * You may need to do the conversion yourself. 	 * 	 * @param blockToPurge	in C: <CODE>Handle blockToPurge</CODE>	 */	public void Purge(int blockToPurge);}/** * The class <CODE>PurgeClosureUPP</CODE> defines thunk objects which support transitioning  * from a <CODE>PurgeProcPtr</CODE> (as defined in the C header <CODE>MacMemory.h</CODE>file) function pointer * into the MRJ Java VM.<BR> *<BR> * * @see PurgeInterface */public final class PurgeClosureUPP extends MethodClosureUPP {	/**	 * To instantiate a <CODE>PurgeClosureUPP</CODE> object you must pass the constructor an object which implements	 * the <CODE>PurgeInterface interface</CODE>.<BR>	 * Do not subclass this class.  It is a thunk that glues native code to java code.	 */	public PurgeClosureUPP(PurgeInterface context) {		super(context, "Purge", "(I)V", 0x000000C0);	}}/** * The interface <CODE>UserFnInterface</CODE> defines the java interface which a class <BR> * must implement if it wants to be called by native code which expects a <CODE>UserFnProcPtr</CODE> * function pointer as defined in the C header <CODE>MacMemory.h</CODE><BR> *  * @see UserFnClosureUPP */public interface UserFnInterface {	/**	 * The method <CODE>UserFn</CODE> will be invoked via a <CODE>UserFnClosureUPP</CODE> thunk.<BR>	 * No conversion is done to wrap java objects around the raw native parameters.<BR> 	 * You may need to do the conversion yourself. 	 * 	 * @param parameter		in C: <CODE>void *parameter</CODE>	 */	public void UserFn(int parameter);}/** * The class <CODE>UserFnClosureUPP</CODE> defines thunk objects which support transitioning  * from a <CODE>UserFnProcPtr</CODE> (as defined in the C header <CODE>MacMemory.h</CODE>file) function pointer * into the MRJ Java VM.<BR> *<BR> * * @see UserFnInterface */public final class UserFnClosureUPP extends MethodClosureUPP {	/**	 * To instantiate a <CODE>UserFnClosureUPP</CODE> object you must pass the constructor an object which implements	 * the <CODE>UserFnInterface interface</CODE>.<BR>	 * Do not subclass this class.  It is a thunk that glues native code to java code.	 */	public UserFnClosureUPP(UserFnInterface context) {		super(context, "UserFn", "(I)V", 0x00009802);	}}