Retired Document
Important:
The Multiprocessing Services API is deprecated in OS X v10.8. In earlier versions of OS X, Multiprocessing Services allowed legacy apps to support multitasking. In apps that run in OS X v10.8 and later, you should use Grand Central Dispatch or POSIX threads to support multitasking. To learn about multiprocessing on OS X, see Concurrency Programming Guide; to learn about POSIX thread routines, see pthread.
Preemptive Task–Safe Mac OS System Software Functions
This appendix lists Mac OS 9 system software calls that you can call directly from a Multiprocessing Services task without using a remote procedure call. Other system software functions are not preemptive task–safe, so you must call them through a callback as described in Making Remote Procedure Calls.
These preemptive task–safe functions cause the calling task to block until the call is completed. However, unlike a remote procedure call, the called function does not have to wait until the calling process receives processor time; it executes asynchronously as if it was an interrupt call.
This appendix contains the following tables of functions::
Device Manager functions: Table A-1
File Manager:
Table A-2, “Preemptive task–safe HFS Plus parameter block functions”
Table A-3, “Preemptive task–safe HFS Plus file system reference functions”
Table A-4, “Preemptive task–safe HFS parameter block functions”
Table A-5, “Preemptive task–safe high-level HFS functions”
Table A-6, “Preemptive task–safe file system specification functions”
Device Manager and File Manager shared functions: Table A-7
Miscellaneous functions: Table A-8
Table A-1 Preemptive task–safe Device Manager functions Name
Comments
PBOpenSyncNot supported in Carbon, so you should not use this function for File Manager open requests. For file open requests, you should call
PBHOpenDFSync,PBHOpenDF,PBOpenForkSync, orFSOpenForkinstead. May be handled by the File Manager in Mac OS 9.PBControlSyncPBStatusSyncPBKillIOSyncTable A-2 Preemptive task–safe HFS Plus parameter block functions Name
Comments
PBMakeFSRefSyncPBMakeFSRefUnicodeSyncPBCompareFSRefsSyncPBCreateFileUnicodeSyncPBCreateDirectoryUnicodeSyncPBDeleteObjectSyncPBMoveObjectSyncPBExchangeObjectsSyncPBRenameUnicodeSyncPBGetCatalogInfoSyncPBSetCatalogInfoSyncPBOpenIteratorSyncPBCloseIteratorSyncPBGetCatalogInfoBulkSyncPBCatalogSearchSyncPBCreateForkSyncPBDeleteForkSyncPBIterateForksSyncPBOpenForkSyncPBReadForkSyncPBWriteForkSyncPBGetForkPositionSyncPBSetForkPositionSyncPBGetForkSizeSyncPBSetForkSizeSyncPBAllocateForkSyncPBFlushForkSyncPBCloseForkSyncPBGetForkCBInfoSyncPBGetVolumeInfoSyncPBSetVolumeInfoSyncTable A-3 Preemptive task–safe HFS Plus file system reference functions Name
Comments
FSpMakeFSRefFSMakeFSRefUnicodeFSCompareFSRefsFSCreateFileUnicodeFSCreateDirectoryUnicodeFSDeleteObjectFSMoveObjectFSExchangeObjectsFSRenameUnicodeFSGetCatalogInfoFSSetCatalogInfoFSOpenIteratorFSCloseIteratorFSGetCatalogInfoBulkFSCatalogSearchFSCreateForkFSDeleteForkFSIterateForksFSOpenForkFSReadForkFSWriteForkFSGetForkPositionFSSetForkPositionFSGetForkSizeFSSetForkSizeFSAllocateForkFSFlushForkFSCloseForkFSGetForkCBInfoFSGetVolumeInfoFSSetVolumeInfoFSGetDataForkNameFSGetResourceForkNameTable A-4 Preemptive task–safe HFS parameter block functions Name
Comments
PBXGetVolInfoSyncPBFlushVolSyncPBAllocateSyncPBGetEOFSyncPBSetEOFSyncPBGetFPosSyncPBSetFPosSyncPBFlushFileSyncPBCatSearchSyncPBHSetVolSyncPBHGetVolSyncPBCatMoveSyncPBDirCreateSyncPBGetFCBInfoSyncPBGetCatInfoSyncPBSetCatInfoSyncPBAllocContigSyncPBLockRangeSyncPBUnlockRangeSyncPBSetVInfoSyncPBHGetVInfoSyncPBHOpenSyncPBHOpenRFSyncPBHOpenDFSyncPBHCreateSyncPBHDeleteSyncPBHRenameSyncPBHRstFLockSyncPBHSetFLockSyncPBHGetFInfoSyncPBHSetFInfoSyncPBMakeFSSpecSyncPBHGetVolParmsSyncPBHGetLogInInfoSyncPBHGetDirAccessSyncPBHSetDirAccessSyncPBHMapIDSyncPBHMapNameSyncPBHCopyFileSyncPBHMoveRenameSyncPBHOpenDenySyncPBHOpenRFDenySyncPBGetXCatInfoSyncPBExchangeFilesSyncPBCreateFileIDRefSyncPBResolveFileIDRefSyncPBDeleteFileIDRefSyncPBGetForeignPrivsSyncPBSetForeignPrivsSyncPBDTAddIconSyncPBDTGetIconSyncPBDTGetIconInfoSyncPBDTAddAPPLSyncPBDTRemoveAPPLSyncPBDTGetAPPLSyncPBDTSetCommentSyncPBDTRemoveCommentSyncPBDTGetCommentSyncPBDTFlushSyncPBDTResetSyncPBDTGetInfoSyncPBDTDeleteSyncPBShareSyncPBUnshareSyncPBGetUGEntrySyncTable A-5 Preemptive task–safe high-level HFS functions Name
Comments
FSCloseFSReadFSWriteFlushVolAllocateGetEOFSetEOFGetFPosSetFPosHGetVolHSetVolHOpenHOpenDFHOpenRFAllocContigHCreateDirCreateHDeleteHGetFInfoHSetFInfoHSetFLockHRstFLockHRenameCatMoveTable A-6 Preemptive task–safe file system specification functions Name
Comments
FSMakeFSSpecFSpOpenDFFSpOpenRFFSpCreateFSpDirCreateFSpDeleteFSpGetFInfoFSpSetFInfoFSpSetFLockFSpRstFLockFSpRenameFSpCatMoveFSpExchangeFilesTable A-7 Preemptive task–safe functions shared by the Device Manager and File Manager Name
Comments
PBCloseSyncPBReadSyncPBWriteSyncTable A-8 Miscellaneous preemptive task–safe functions Name
Comments
DTInstallDeferred Task Manager function
WakeUpProcessProcess Manager function
Copyright © 2012 Apple Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2012-07-23