mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-27 10:29:32 +00:00
4325cdcc78
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.
185 lines
4.8 KiB
OpenEdge ABL
185 lines
4.8 KiB
OpenEdge ABL
{
|
|
File: AEDFPRivateInterfaces.p
|
|
|
|
Written by: Ed Lai
|
|
|
|
Copyright: © 1990 by Apple Computer, Inc., all rights reserved.
|
|
|
|
Codes used in: BigBang
|
|
Change History (most recent first):
|
|
|
|
<5> 12/14/90 dba <JDR> get rid of redundant definition of OSTypePtr, now in
|
|
Types.p
|
|
<4> 9/18/90 Lai Change receiptRecord
|
|
<3> 9/15/90 Lai Change AcceptRecord and ReceiptRecord so that they can share the
|
|
same procedure.
|
|
<2> 9/10/90 Lai Remove obsolete constants
|
|
<1> 9/7/90 Lai first checked in
|
|
<0> 9/7/90 Lai First Checked in.
|
|
|
|
To Do:
|
|
}
|
|
|
|
{[a-,body+,h-,o=100,r+,rec+,t=4,u+,#+,j=20/57/1$,n-]} { Pasmat format control line }
|
|
{ AEDFPrivateInterfaces.p }
|
|
{ Copyright © 1984-1990 by Apple Computer Inc. All rights reserved. }
|
|
|
|
CONST
|
|
errResetTimer = 1990;
|
|
|
|
keySelectProc = 'selh'; { your own idle procedure }
|
|
|
|
typeMeta = 'meta';
|
|
kMhdrType = 'mhdr';
|
|
kLhdrType = 'lhdr';
|
|
aeEndOfMetaDataKeyword = ';;;;';
|
|
aeRecTypeKeyword = 'type';
|
|
|
|
kInteractLevelKeyword = 'inte';
|
|
kReplyRequestedKeyword = 'repq';
|
|
kNeverInteract = 'nevi';
|
|
kCanInteact = 'cani';
|
|
kCanSwitchIfInteract = 'cans';
|
|
kAlwaysInteract = 'alwi';
|
|
kAlwaysSwitchIfInteract = 'alws';
|
|
|
|
kVersionOne = $00010001;
|
|
|
|
kAEProtocolMask = $0000000F; { mask for sending protocols }
|
|
kAEInteractMask = $00000070; { mask for interact level in send protocol }
|
|
|
|
standardTimeOut = 3600; { this is the value of standard timeout, one day
|
|
we may change this to a function }
|
|
|
|
|
|
TYPE
|
|
AENotifyRec = RECORD
|
|
theNMRec: NMRec;
|
|
posted: Boolean;
|
|
END;
|
|
AENotifyRecPtr = ^AENotifyRec;
|
|
|
|
CommonHeader = RECORD
|
|
theKeyword: Keyword;
|
|
theType: DescType;
|
|
theLength: LONGINT;
|
|
END;
|
|
CommonHeaderPointer = ^CommonHeader;
|
|
CommonHeaderHandle = ^CommonHeaderPointer;
|
|
|
|
MsgHdrPtr = ^MsgHdr;
|
|
MsgHdrHdl = ^MsgHdrPtr;
|
|
MsgHdr = RECORD
|
|
theHeader: CommonHeader;
|
|
hintIndex: LONGINT;
|
|
hintOffset: LONGINT;
|
|
ParamBegin: LONGINT;
|
|
paramCount: LONGINT;
|
|
metaCount: LONGINT;
|
|
inUse: Boolean;
|
|
inWaiting: Boolean;
|
|
accessMask: LONGINT;
|
|
switchFromPSN: ProcessSerialNumber; { switch back to this process afterwards }
|
|
notifyRecPtr: AENotifyRecPtr;
|
|
prevMsg: MsgHdrHdl; { we were processing this before this one }
|
|
thisEventClass: EventClass;
|
|
thisEventID: EventID;
|
|
returnID: LONGINT;
|
|
msgAddrType: DescType;
|
|
msgAddrSize: LONGINT;
|
|
msgAddrTarget: TargetID;
|
|
END;
|
|
|
|
ListHdr = RECORD
|
|
theHeader: CommonHeader;
|
|
hintIndex: LONGINT;
|
|
hintOffset: LONGINT;
|
|
END;
|
|
ListHdrPtr = ^ListHdr;
|
|
ListHdrHdl = ^ListHdrPtr;
|
|
|
|
AEMetaDesc = RECORD
|
|
aevtMarker: Keyword;
|
|
version: LONGINT;
|
|
metaTerminator: Keyword;
|
|
END;
|
|
AEMetaPointer = ^AEMetaDesc;
|
|
|
|
AEMetaTransaction = RECORD
|
|
aevtMarker: Keyword;
|
|
version: LONGINT;
|
|
theKeyword: Keyword;
|
|
theType: DescType;
|
|
theLength: LONGINT;
|
|
theValue: LONGINT;
|
|
metaTerminator: Keyword;
|
|
END;
|
|
AEMetaTransPointer = ^AEMetaTransaction;
|
|
|
|
|
|
AETableRec = RECORD
|
|
firstKey: OSType;
|
|
secondKey: OSType;
|
|
theValue: ProcPtr;
|
|
theRefCon: LongInt;
|
|
END;
|
|
AETablePointer = ^AETableRec;
|
|
AETableHandle = ^AETablePointer;
|
|
|
|
PLongint = ^LONGINT;
|
|
HLongint = ^PLongint;
|
|
PInteger = ^Integer;
|
|
|
|
GlobalRec = RECORD
|
|
aeTable: AETableHandle;
|
|
aeTableSize: LONGINT;
|
|
coercionTable: AETableHandle;
|
|
coerTableSize: LONGINT;
|
|
phacProcPtr: ProcPtr;
|
|
selhProcPtr: ProcPtr;
|
|
blockingPtr: ProcPtr;
|
|
unblockingPtr: ProcPtr;
|
|
AENonAevtHandler: ProcPtr;
|
|
waitReplyList: Handle; { handle to a list of reply handle waiting for event }
|
|
waitReplyCount: Integer;
|
|
returnIDCounter: LONGINT;
|
|
currentMsg: MsgHdrHdl;
|
|
interactAllowance: AEInteractAllowed;
|
|
END;
|
|
GlobalRecPointer = ^GlobalRec;
|
|
GlobalRecHandle = ^GlobalRecPointer;
|
|
|
|
{ these are of offset of the field from the beginning of globalRec }
|
|
|
|
CONST
|
|
phacOffset = 16;
|
|
selhOffset = 20;
|
|
|
|
TYPE
|
|
|
|
AEListRec = RECORD
|
|
theHeader: CommonHeader;
|
|
numberOfItems: LONGINT;
|
|
sizeOfPrefix: LONGINT;
|
|
END;
|
|
AEListPointer = ^AEListRec;
|
|
|
|
ReceiptRecord = RECORD {record to send to filterProc and
|
|
GetSpecific..}
|
|
aTransactionID: LONGINT; {to match reply to msg}
|
|
anErr: OSErr; {any errors in getting the reply}
|
|
areturnID: Longint; {to match reply to msg}
|
|
END;
|
|
|
|
AcceptRecord = RECORD {record to send to filterProc and
|
|
GetSpecific..}
|
|
aBufferHdl: MsgHdrHdl; {to hold the reply}
|
|
anErr: OSErr; {any errors in getting the reply}
|
|
extraFilter: ProcPtr; {filter for extra events}
|
|
END;
|
|
AcceptRecordPtr = ^AcceptRecord;
|
|
|
|
FUNCTION theGlobalRef: GlobalRecHandle; inline $2078, $02B6, $2EA8, $0154;
|
|
procedure SetGlobalRef(aGlobal:GlobalRecHandle); inline $2078, $02B6, $215F, $0154;
|
|
FUNCTION GetSysGlobal: GlobalRecHandle; EXTERNAL;
|