boot3/Toolbox/AppleEventMgr/AEDFPrivateInterfaces.p
Elliot Nunn 5b0f0cc134 Bring in CubeE sources
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.
2017-12-26 10:02:57 +08:00

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;