mac-rom/OS/HFS/Extensions/FSpDispatch.a

72 lines
3.2 KiB
Plaintext
Raw Normal View History

;
; File: FSpDispatch.a
;
; Contains: Dispatcher for FSp routines
;
; Written by: David Feldman
;
; Copyright: <09> 1990-1992 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <8> 4/4/92 FM #1021881,<DTY>: Add two new calls to turn the ProcessMgr's file
; tracking on and off. SuspendFileTracking and ResumeFileTracking.
; These wil be internal calls for a while.
; <7> 9/13/91 JSM Cleanup header.
; <6> 1/13/91 dnf (csd) Add private FSpGetCatInfo call.
; <5> 10/30/90 dnf (with dba) Add FSpExchangeFiles to dispatch table. Use
; DispatchHelper for maximum throughput.
; <4> 8/17/90 KST Using A1 points to trap table instead of A2.
; <3> 8/6/90 dnf Change DispatchEntry names to match new names in FSSpecCalls.a
; <2> 8/6/90 dnf Turned HFSPinaforeDispatch into a MakePatch routine
; <1> 8/6/90 dnf first checked in
;
;
; This dispatcher assumes that the high byte of the low word of d0 contains the
; number of words of parameters to strip off of the stack if a selector is out of
; range. This will allow this code to return a paramErr when it sees newer selectors.
; If you add any selectors to this dispatcher, you must make sure that the
; trap macro for them includes the number of words of parameters as the high byte
; of d0.w in case that call is made on a machine running an older dispatcher
;
load 'StandardEqu.d'
include 'LinkedPatchMacros.a'
HighLevelFSDispatch: BeginDispatcher _HighLevelFSDispatch,(Plus,SE,II,Portable,IIci)
DispatchSelectors __FSMakeFSSpec = selectFSMakeFSSpec
DispatchSelectors __FSpOpenDF = selectFSpOpenDF
DispatchSelectors __FSpOpenRF = selectFSpOpenRF
DispatchSelectors __FSpCreate = selectFSpCreate
DispatchSelectors __FSpDirCreate = selectFSpDirCreate
DispatchSelectors __FSpDelete = selectFSpDelete
DispatchSelectors __FSpGetFInfo = selectFSpGetFInfo
DispatchSelectors __FSpSetFInfo = selectFSpSetFInfo
DispatchSelectors __FSpSetFLock = selectFSpSetFLock
DispatchSelectors __FSpRstFLock = selectFSpRstFLock
DispatchSelectors __FSpRename = selectFSpRename
DispatchSelectors __FSpCatMove = selectFSpCatMove
DispatchSelectors __FSpOpenResFile = selectFSpOpenResFile
DispatchSelectors __FSpCreateResFile = selectFSpCreateResFile
DispatchSelectors __FSpExchangeFiles = selectFSpExchangeFiles
; This one isn<73>t in the interfaces anywhere, but is here in the dispatcher.
; We dreamed it up for use by FSpExchangeFiles but it<69>s a bit late
; to make it into Inside Mac. Feel free to add this call later.
selectFSpGetCatInfo equ selectFSpExchangeFiles+1
DispatchSelectors __FSpGetCatInfo = selectFSpGetCatInfo
; These routines were needed by Akiko for opening dictionary files. <8>
; Right now they just call BeginSysMode and EndSysMode. Hopefully in the <8>
; future we will be able to release these calls to developers, but for <8>
; now they are internal only. <8>
selectSuspendProcessMgrFileTracking equ selectFSpGetCatInfo+1 ;<8>
DispatchSelectors __SuspendProcessMgrFileTracking = selectSuspendProcessMgrFileTracking ;<8>
selectResumeProcessMgrFileTracking equ selectSuspendProcessMgrFileTracking+1 ;<8>
DispatchSelectors __ResumeProcessMgrFileTracking = selectResumeProcessMgrFileTracking ;<8>
EndDispatcher
end