; ; File: FSpDispatch.a ; ; Contains: Dispatcher for FSp routines ; ; Written by: David Feldman ; ; Copyright: © 1990-1992 by Apple Computer, Inc., all rights reserved. ; ; Change History (most recent first): ; ; <8> 4/4/92 FM #1021881,: 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Őt in the interfaces anywhere, but is here in the dispatcher. ; We dreamed it up for use by FSpExchangeFiles but itŐ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