mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2025-02-07 05:30:33 +00:00
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
539 lines
14 KiB
OpenEdge ABL
539 lines
14 KiB
OpenEdge ABL
|
|
{
|
|
Created: Saturday, July 27, 1991 at 10:15 PM
|
|
OSUtils.p
|
|
Pascal Interface to the Macintosh Libraries
|
|
|
|
Copyright Apple Computer, Inc. 1985-1992
|
|
All rights reserved
|
|
|
|
|
|
Dont use:
|
|
-SetUpA5
|
|
-RestoreA5
|
|
Instead:
|
|
SetUpA5 --> myA5 := SetCurrentA5
|
|
RestoreA5 --> oldA5 := SetA5(myA5)
|
|
|
|
Change History (most recent first):
|
|
|
|
<21> 6/26/92 DCL Miner Formatting Changes. Digging deep for things to do. Getting
|
|
the file ready for ETO 8.
|
|
<20> 5/29/92 DCL Moved DateTime stuff from TextUtils to OSUtils.
|
|
<19> 5/7/92 DCL NIIM: Movin date & time Stuff back from DateTime to OSUtils.
|
|
<17> 4/16/92 DCL For New Inside Mac: Moved Read&WriteLocation from Script to
|
|
OSUtils.
|
|
<16> 3/26/92 DCL For New Inside Mac: Moved all of the Date & Time stuff to the
|
|
newly created DateTime include file. Removed inclusion of
|
|
TextUtils to remove the circular dependancies.. #1025005
|
|
<15> 3/12/92 DCL For New Inside Mac Text volume: Moved KeyTrans, EqualString,
|
|
RelString, Compare String, UprString, UpperString to the new
|
|
TextUtils.[ph]
|
|
<14> 3/10/92 DCL For New Improved Inside Mac: Added Call names without Abbrevs.:
|
|
SecsToDate (Secs2Date) and DateToSecs (Date2Secs). Affected
|
|
Files: OSUtils.[ph], SysEqu.a, Traps.[aph].
|
|
<13> 7/30/91 JL Updated Copyright.
|
|
<12> 1/27/91 LN Checked in Database generate file from DSG. Changed parameter
|
|
names from s to secs in DatetoSecs and SecstoDate to match .h
|
|
file.
|
|
<11> 11/4/90 dba get rid of SetUpA5 and RestoreA5; add GetOSTrapAddress,
|
|
SetOSTrapAddress, GetToolboxTrapAddress, SetToolboxTrapAddress,
|
|
GetToolTrapAddress, and SetToolTrapAddress
|
|
<10> 10/10/90 JL Fixing Inline for GETSYSPPTR
|
|
<9> 10/3/90 JAL Removed Restart, Added Inline for GetSysPPtr, added envMacIIfx.
|
|
<8> 8/29/90 dnf Change AltAccessParam to ForeignPrivParam
|
|
<7> 5/18/90 JAL Added sIQType into QTypes set and updated curSysEnvVers.
|
|
<6> 4/13/90 dnf Remove DTParam
|
|
<5> 3/16/90 dnf Add AltAccessParam
|
|
<4> 3/07/90 JAL Added Deferred Task support.
|
|
** 1.3 CCH 12/15/1989 Updated SysEnvirons equates.
|
|
** 1.2 EKN 07/31/1989 Added FIDParam
|
|
** 1.1 ngk 05/31/1989 Added env68030, envMacIIx, useMIDI, and useExtClk
|
|
** 1.0 CCH 11/17/1988 Adding to EASE.
|
|
}
|
|
|
|
|
|
{$IFC UNDEFINED UsingIncludes}
|
|
{$SETC UsingIncludes := 0}
|
|
{$ENDC}
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
UNIT OSUtils;
|
|
INTERFACE
|
|
{$ENDC}
|
|
|
|
{$IFC UNDEFINED UsingOSUtils}
|
|
{$SETC UsingOSUtils := 1}
|
|
|
|
{$I+}
|
|
{$SETC OSUtilsIncludes := UsingIncludes}
|
|
{$SETC UsingIncludes := 1}
|
|
{$IFC UNDEFINED UsingTypes}
|
|
{$I $$Shell(PInterfaces)Types.p}
|
|
{$ENDC}
|
|
{$SETC UsingIncludes := OSUtilsIncludes}
|
|
|
|
CONST
|
|
useFree = 0;
|
|
useATalk = 1;
|
|
useAsync = 2;
|
|
useExtClk = 3; {Externally clocked}
|
|
useMIDI = 4;
|
|
|
|
{*** Environs Equates ***}
|
|
curSysEnvVers = 2; {Updated to equal latest SysEnvirons version}
|
|
|
|
{ Machine Types }
|
|
envMac = -1;
|
|
envXL = -2;
|
|
envMachUnknown = 0;
|
|
env512KE = 1;
|
|
envMacPlus = 2;
|
|
envSE = 3;
|
|
envMacII = 4;
|
|
envMacIIx = 5;
|
|
envMacIIcx = 6;
|
|
envSE30 = 7;
|
|
envPortable = 8;
|
|
envMacIIci = 9;
|
|
envMacIIfx = 11;
|
|
|
|
{ CPU types }
|
|
envCPUUnknown = 0;
|
|
env68000 = 1;
|
|
env68010 = 2;
|
|
env68020 = 3;
|
|
env68030 = 4;
|
|
env68040 = 5;
|
|
|
|
{ Keyboard types }
|
|
envUnknownKbd = 0;
|
|
envMacKbd = 1;
|
|
envMacAndPad = 2;
|
|
envMacPlusKbd = 3;
|
|
envAExtendKbd = 4;
|
|
envStandADBKbd = 5;
|
|
envPrtblADBKbd = 6;
|
|
envPrtblISOKbd = 7;
|
|
envStdISOADBKbd = 8;
|
|
envExtISOADBKbd = 9;
|
|
false32b = 0; {24 bit addressing error}
|
|
true32b = 1; {32 bit addressing error}
|
|
|
|
{ result types for RelString Call }
|
|
sortsBefore = -1; {first string < second string}
|
|
sortsEqual = 0; {first string = second string}
|
|
sortsAfter = 1; {first string > second string}
|
|
|
|
{ Toggle results }
|
|
toggleUndefined = 0;
|
|
toggleOK = 1;
|
|
toggleBadField = 2;
|
|
toggleBadDelta = 3;
|
|
toggleBadChar = 4;
|
|
toggleUnknown = 5;
|
|
toggleBadNum = 6;
|
|
toggleOutOfRange = 7; {synonym for toggleErr3}
|
|
toggleErr3 = 7;
|
|
toggleErr4 = 8;
|
|
toggleErr5 = 9;
|
|
|
|
{ Date equates }
|
|
smallDateBit = 31; {Restrict valid date/time to range of Time global}
|
|
togChar12HourBit = 30; {If toggling hour by char, accept hours 1..12 only}
|
|
togCharZCycleBit = 29; {Modifier for togChar12HourBit: accept hours 0..11 only}
|
|
togDelta12HourBit = 28; {If toggling hour up/down, restrict to 12-hour range (am/pm)}
|
|
genCdevRangeBit = 27; {Restrict date/time to range used by genl CDEV}
|
|
validDateFields = -1;
|
|
maxDateField = 10;
|
|
eraMask = $0001;
|
|
yearMask = $0002;
|
|
monthMask = $0004;
|
|
dayMask = $0008;
|
|
hourMask = $0010;
|
|
minuteMask = $0020;
|
|
secondMask = $0040;
|
|
dayOfWeekMask = $0080;
|
|
dayOfYearMask = $0100;
|
|
weekOfYearMask = $0200;
|
|
pmMask = $0400;
|
|
dateStdMask = $007F; {default for ValidDate flags and ToggleDate TogglePB.togFlags}
|
|
|
|
TYPE
|
|
LongDateField = (eraField,yearField,monthField,dayField,hourField,minuteField,
|
|
secondField,dayOfWeekField,dayOfYearField,weekOfYearField,pmField,res1Field,
|
|
res2Field,res3Field);
|
|
|
|
QTypes = (dummyType,vType,ioQType,drvQType,evType,fsQType,sIQType,dtQType);
|
|
|
|
TrapType = (OSTrap,ToolTrap);
|
|
|
|
ParamBlkType = (IOParam,FileParam,VolumeParam,CntrlParam,SlotDevParam,MultiDevParam,
|
|
AccessParam,ObjParam,CopyParam,WDParam,FIDParam,CSParam,ForeignPrivParam);
|
|
|
|
|
|
SysPPtr = ^SysParmType;
|
|
SysParmType = PACKED RECORD
|
|
valid: Byte;
|
|
aTalkA: Byte;
|
|
aTalkB: Byte;
|
|
config: Byte;
|
|
portA: INTEGER;
|
|
portB: INTEGER;
|
|
alarm: LONGINT;
|
|
font: INTEGER;
|
|
kbdPrint: INTEGER;
|
|
volClik: INTEGER;
|
|
misc: INTEGER;
|
|
END;
|
|
|
|
{QElemPtr = ^QElem;}
|
|
|
|
QElemPtr = ^QElem;
|
|
|
|
FInfo = RECORD
|
|
fdType: OSType; {the type of the file}
|
|
fdCreator: OSType; {file's creator}
|
|
fdFlags: INTEGER; {flags ex. hasbundle,invisible,locked, etc.}
|
|
fdLocation: Point; {file's location in folder}
|
|
fdFldr: INTEGER; {folder containing file}
|
|
END;
|
|
|
|
VCB = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER;
|
|
vcbFlags: INTEGER;
|
|
vcbSigWord: INTEGER;
|
|
vcbCrDate: LONGINT;
|
|
vcbLsMod: LONGINT;
|
|
vcbAtrb: INTEGER;
|
|
vcbNmFls: INTEGER;
|
|
vcbVBMSt: INTEGER;
|
|
vcbAllocPtr: INTEGER;
|
|
vcbNmAlBlks: INTEGER;
|
|
vcbAlBlkSiz: LONGINT;
|
|
vcbClpSiz: LONGINT;
|
|
vcbAlBlSt: INTEGER;
|
|
vcbNxtCNID: LONGINT;
|
|
vcbFreeBks: INTEGER;
|
|
vcbVN: Str27;
|
|
vcbDrvNum: INTEGER;
|
|
vcbDRefNum: INTEGER;
|
|
vcbFSID: INTEGER;
|
|
vcbVRefNum: INTEGER;
|
|
vcbMAdr: Ptr;
|
|
vcbBufAdr: Ptr;
|
|
vcbMLen: INTEGER;
|
|
vcbDirIndex: INTEGER;
|
|
vcbDirBlk: INTEGER;
|
|
vcbVolBkUp: LONGINT;
|
|
vcbVSeqNum: INTEGER;
|
|
vcbWrCnt: LONGINT;
|
|
vcbXTClpSiz: LONGINT;
|
|
vcbCTClpSiz: LONGINT;
|
|
vcbNmRtDirs: INTEGER;
|
|
vcbFilCnt: LONGINT;
|
|
vcbDirCnt: LONGINT;
|
|
vcbFndrInfo: ARRAY [1..8] OF LONGINT;
|
|
vcbVCSize: INTEGER;
|
|
vcbVBMCSiz: INTEGER;
|
|
vcbCtlCSiz: INTEGER;
|
|
vcbXTAlBlks: INTEGER;
|
|
vcbCTAlBlks: INTEGER;
|
|
vcbXTRef: INTEGER;
|
|
vcbCTRef: INTEGER;
|
|
vcbCtlBuf: Ptr;
|
|
vcbDirIDM: LONGINT;
|
|
vcbOffsM: INTEGER;
|
|
END;
|
|
|
|
DrvQElPtr = ^DrvQEl;
|
|
DrvQEl = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER;
|
|
dQDrive: INTEGER;
|
|
dQRefNum: INTEGER;
|
|
dQFSID: INTEGER;
|
|
dQDrvSz: INTEGER;
|
|
dQDrvSz2: INTEGER;
|
|
END;
|
|
|
|
ParmBlkPtr = ^ParamBlockRec;
|
|
ParamBlockRec = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER;
|
|
ioTrap: INTEGER;
|
|
ioCmdAddr: Ptr;
|
|
ioCompletion: ProcPtr;
|
|
ioResult: OSErr;
|
|
ioNamePtr: StringPtr;
|
|
ioVRefNum: INTEGER;
|
|
CASE ParamBlkType OF
|
|
IOParam:
|
|
(ioRefNum: INTEGER;
|
|
ioVersNum: SignedByte;
|
|
ioPermssn: SignedByte;
|
|
ioMisc: Ptr;
|
|
ioBuffer: Ptr;
|
|
ioReqCount: LONGINT;
|
|
ioActCount: LONGINT;
|
|
ioPosMode: INTEGER;
|
|
ioPosOffset: LONGINT);
|
|
FileParam:
|
|
(ioFRefNum: INTEGER;
|
|
ioFVersNum: SignedByte;
|
|
filler1: SignedByte;
|
|
ioFDirIndex: INTEGER;
|
|
ioFlAttrib: SignedByte;
|
|
ioFlVersNum: SignedByte;
|
|
ioFlFndrInfo: FInfo;
|
|
ioFlNum: LONGINT;
|
|
ioFlStBlk: INTEGER;
|
|
ioFlLgLen: LONGINT;
|
|
ioFlPyLen: LONGINT;
|
|
ioFlRStBlk: INTEGER;
|
|
ioFlRLgLen: LONGINT;
|
|
ioFlRPyLen: LONGINT;
|
|
ioFlCrDat: LONGINT;
|
|
ioFlMdDat: LONGINT);
|
|
VolumeParam:
|
|
(filler2: LONGINT;
|
|
ioVolIndex: INTEGER;
|
|
ioVCrDate: LONGINT;
|
|
ioVLsBkUp: LONGINT;
|
|
ioVAtrb: INTEGER;
|
|
ioVNmFls: INTEGER;
|
|
ioVDirSt: INTEGER;
|
|
ioVBlLn: INTEGER;
|
|
ioVNmAlBlks: INTEGER;
|
|
ioVAlBlkSiz: LONGINT;
|
|
ioVClpSiz: LONGINT;
|
|
ioAlBlSt: INTEGER;
|
|
ioVNxtFNum: LONGINT;
|
|
ioVFrBlk: INTEGER);
|
|
CntrlParam:
|
|
(ioCRefNum: INTEGER;
|
|
csCode: INTEGER;
|
|
csParam: ARRAY [0..10] OF INTEGER);
|
|
SlotDevParam:
|
|
(filler3: LONGINT;
|
|
ioMix: Ptr;
|
|
ioFlags: INTEGER;
|
|
ioSlot: SignedByte;
|
|
ioID: SignedByte);
|
|
MultiDevParam:
|
|
(filler4: LONGINT;
|
|
ioMMix: Ptr;
|
|
ioMFlags: INTEGER;
|
|
ioSEBlkPtr: Ptr);
|
|
END;
|
|
|
|
EvQElPtr = ^EvQEl;
|
|
EvQEl = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER;
|
|
evtQWhat: INTEGER; {this part is identical to the EventRecord as...}
|
|
evtQMessage: LONGINT; {defined in ToolIntf}
|
|
evtQWhen: LONGINT;
|
|
evtQWhere: Point;
|
|
evtQModifiers: INTEGER;
|
|
END;
|
|
|
|
VBLTask = RECORD
|
|
qLink: QElemPtr;
|
|
qType: INTEGER;
|
|
vblAddr: ProcPtr;
|
|
vblCount: INTEGER;
|
|
vblPhase: INTEGER;
|
|
END;
|
|
|
|
DeferredTask = RECORD
|
|
qLink: QElemPtr; {next queue entry}
|
|
qType: INTEGER; {queue type}
|
|
dtFlags: INTEGER; {reserved}
|
|
dtAddr: ProcPtr; {pointer to task}
|
|
dtParm: LONGINT; {optional parameter}
|
|
dtReserved: LONGINT; {reserved--should be 0}
|
|
END;
|
|
|
|
QElem = RECORD
|
|
CASE QTypes OF
|
|
dtQType:
|
|
(dtQElem: DeferredTask); {deferred}
|
|
vType:
|
|
(vblQElem: VBLTask); {vertical blanking}
|
|
ioQType:
|
|
(ioQElem: ParamBlockRec); {I/O parameter block}
|
|
drvQType:
|
|
(drvQElem: DrvQEl); {drive}
|
|
evType:
|
|
(evQElem: EvQEl); {event}
|
|
fsQType:
|
|
(vcbQElem: VCB); {volume control block}
|
|
END;
|
|
|
|
QHdrPtr = ^QHdr;
|
|
QHdr = RECORD
|
|
qFlags: INTEGER;
|
|
qHead: QElemPtr;
|
|
qTail: QElemPtr;
|
|
END;
|
|
|
|
SysEnvRec = RECORD
|
|
environsVersion: INTEGER;
|
|
machineType: INTEGER;
|
|
systemVersion: INTEGER;
|
|
processor: INTEGER;
|
|
hasFPU: BOOLEAN;
|
|
hasColorQD: BOOLEAN;
|
|
keyBoardType: INTEGER;
|
|
atDrvrVersNum: INTEGER;
|
|
sysVRefNum: INTEGER;
|
|
END;
|
|
|
|
MachineLocation = RECORD
|
|
latitude: Fract;
|
|
longitude: Fract;
|
|
CASE INTEGER OF
|
|
0:
|
|
(dlsDelta: SignedByte); {signed byte; daylight savings delta}
|
|
1:
|
|
(gmtDelta: LONGINT); {must mask - see documentation}
|
|
END;
|
|
|
|
DateTimeRec = RECORD
|
|
year: INTEGER;
|
|
month: INTEGER;
|
|
day: INTEGER;
|
|
hour: INTEGER;
|
|
minute: INTEGER;
|
|
second: INTEGER;
|
|
dayOfWeek: INTEGER;
|
|
END;
|
|
|
|
|
|
LongDateTime = comp;
|
|
|
|
LongDateCvt = RECORD
|
|
CASE INTEGER OF
|
|
0:
|
|
(c: Comp);
|
|
1:
|
|
(lHigh: LONGINT;
|
|
lLow: LONGINT);
|
|
END;
|
|
|
|
LongDateRec = RECORD
|
|
CASE INTEGER OF
|
|
0:
|
|
(era: INTEGER;
|
|
year: INTEGER;
|
|
month: INTEGER;
|
|
day: INTEGER;
|
|
hour: INTEGER;
|
|
minute: INTEGER;
|
|
second: INTEGER;
|
|
dayOfWeek: INTEGER;
|
|
dayOfYear: INTEGER;
|
|
weekOfYear: INTEGER;
|
|
pm: INTEGER;
|
|
res1: INTEGER;
|
|
res2: INTEGER;
|
|
res3: INTEGER);
|
|
1:
|
|
(list: ARRAY [0..13] OF INTEGER); {Index by LongDateField!}
|
|
2:
|
|
(eraAlt: INTEGER;
|
|
oldDate: DateTimeRec);
|
|
END;
|
|
|
|
|
|
DateDelta = SignedByte;
|
|
|
|
TogglePB = RECORD
|
|
togFlags: LONGINT; {caller normally sets low word to dateStdMask=$7F}
|
|
amChars: ResType; {from 'itl0', but uppercased}
|
|
pmChars: ResType; {from 'itl0', but uppercased}
|
|
reserved: ARRAY [0..3] OF LONGINT;
|
|
END;
|
|
|
|
|
|
ToggleResults = INTEGER;
|
|
|
|
PROCEDURE LongDateToSeconds(lDate: LongDateRec;VAR lSecs: LongDateTime);
|
|
INLINE $2F3C,$8008,$FFF2,$A8B5;
|
|
PROCEDURE LongDate2Secs(lDate: LongDateRec;VAR lSecs: LongDateTime);
|
|
INLINE $2F3C,$8008,$FFF2,$A8B5;
|
|
PROCEDURE LongSecondsToDate(VAR lSecs: LongDateTime;VAR lDate: LongDateRec);
|
|
INLINE $2F3C,$8008,$FFF0,$A8B5;
|
|
PROCEDURE LongSecs2Date(VAR lSecs: LongDateTime;VAR lDate: LongDateRec);
|
|
INLINE $2F3C,$8008,$FFF0,$A8B5;
|
|
FUNCTION ToggleDate(VAR lSecs: LongDateTime;field: LongDateField;delta: DateDelta;
|
|
ch: INTEGER;params: TogglePB): ToggleResults;
|
|
INLINE $2F3C,$820E,$FFEE,$A8B5;
|
|
FUNCTION ValidDate(vDate: LongDateRec;flags: LONGINT;VAR newSecs: LongDateTime): INTEGER;
|
|
INLINE $2F3C,$820C,$FFE4,$A8B5;
|
|
FUNCTION IsMetric: BOOLEAN;
|
|
INLINE $3F3C,$0004,$A9ED;
|
|
FUNCTION IUMetric: BOOLEAN;
|
|
INLINE $3F3C,$0004,$A9ED;
|
|
FUNCTION ReadDateTime(VAR time: LONGINT): OSErr;
|
|
PROCEDURE GetDateTime(VAR secs: LONGINT);
|
|
FUNCTION SetDateTime(time: LONGINT): OSErr;
|
|
PROCEDURE SetTime(d: DateTimeRec);
|
|
PROCEDURE GetTime(VAR d: DateTimeRec);
|
|
PROCEDURE DateToSeconds(d: DateTimeRec;VAR secs: LONGINT);
|
|
PROCEDURE Date2Secs(d: DateTimeRec;VAR secs: LONGINT);
|
|
PROCEDURE SecondsToDate(secs: LONGINT;VAR d: DateTimeRec);
|
|
PROCEDURE Secs2Date(secs: LONGINT;VAR d: DateTimeRec);
|
|
FUNCTION GetSysPPtr: SysPPtr;
|
|
INLINE $2EBC,$0000,$01F8;
|
|
PROCEDURE SysBeep(duration: INTEGER);
|
|
INLINE $A9C8;
|
|
FUNCTION DTInstall(dtTaskPtr: QElemPtr): OSErr;
|
|
FUNCTION GetMMUMode: SignedByte;
|
|
PROCEDURE SwapMMUMode(VAR mode: SignedByte);
|
|
FUNCTION SysEnvirons(versionRequested: INTEGER;VAR theWorld: SysEnvRec): OSErr;
|
|
PROCEDURE Delay(numTicks: LONGINT;VAR finalTicks: LONGINT);
|
|
FUNCTION GetTrapAddress(trapNum: INTEGER): LONGINT;
|
|
PROCEDURE SetTrapAddress(trapAddr: LONGINT;trapNum: INTEGER);
|
|
FUNCTION NGetTrapAddress(trapNum: INTEGER;tTyp: TrapType): LONGINT;
|
|
PROCEDURE NSetTrapAddress(trapAddr: LONGINT;trapNum: INTEGER;tTyp: TrapType);
|
|
FUNCTION GetOSTrapAddress(trapNum: INTEGER): LONGINT;
|
|
PROCEDURE SetOSTrapAddress(trapAddr: LONGINT;trapNum: INTEGER);
|
|
FUNCTION GetToolTrapAddress(trapNum: INTEGER): LONGINT;
|
|
PROCEDURE SetToolTrapAddress(trapAddr: LONGINT;trapNum: INTEGER);
|
|
FUNCTION GetToolboxTrapAddress(trapNum: INTEGER): LONGINT;
|
|
PROCEDURE SetToolboxTrapAddress(trapAddr: LONGINT;trapNum: INTEGER);
|
|
FUNCTION WriteParam: OSErr;
|
|
PROCEDURE Enqueue(qElement: QElemPtr;qHeader: QHdrPtr);
|
|
FUNCTION Dequeue(qElement: QElemPtr;qHeader: QHdrPtr): OSErr;
|
|
FUNCTION SetCurrentA5: LONGINT;
|
|
INLINE $2E8D,$2A78,$0904;
|
|
FUNCTION SetA5(newA5: LONGINT): LONGINT;
|
|
INLINE $2F4D,$0004,$2A5F;
|
|
PROCEDURE Environs(VAR rom: INTEGER;VAR machine: INTEGER);
|
|
FUNCTION HandToHand(VAR theHndl: Handle): OSErr;
|
|
FUNCTION PtrToXHand(srcPtr: Ptr;dstHndl: Handle;size: LONGINT): OSErr;
|
|
FUNCTION PtrToHand(srcPtr: Ptr;VAR dstHndl: Handle;size: LONGINT): OSErr;
|
|
FUNCTION HandAndHand(hand1: Handle;hand2: Handle): OSErr;
|
|
FUNCTION PtrAndHand(ptr1: Ptr;hand2: Handle;size: LONGINT): OSErr;
|
|
FUNCTION InitUtil: OSErr;
|
|
INLINE $A03F,$3E80;
|
|
FUNCTION SwapInstructionCache(cacheEnable: BOOLEAN): BOOLEAN;
|
|
PROCEDURE FlushInstructionCache;
|
|
FUNCTION SwapDataCache(cacheEnable: BOOLEAN): BOOLEAN;
|
|
PROCEDURE FlushDataCache;
|
|
PROCEDURE ReadLocation(VAR loc: MachineLocation);
|
|
INLINE $205F,$203C,$000C,$00E4,$A051;
|
|
PROCEDURE WriteLocation(loc: MachineLocation);
|
|
INLINE $205F,$203C,$000C,$00E4,$A052;
|
|
|
|
|
|
{$ENDC} { UsingOSUtils }
|
|
|
|
{$IFC NOT UsingIncludes}
|
|
END.
|
|
{$ENDC}
|
|
|