+{- -*- coding: utf-8 -*- -}
#include <bindings.dsl.h>
#include <CoreServices/CoreServices.h>
# synonym_t DrvQElPtr, Ptr <DrvQEl>
#endif
--- FIXME: FSPermissionInfo
+#starttype struct FSPermissionInfo
+# field userID , <UInt32>
+# field groupID , <UInt32>
+# field reserved1 , <UInt8>
+# field userAccess, <UInt8>
+# field mode , <UInt16>
+# field fileSec , <FSFileSecurityRef>
+#stoptype
+
+#synonym_t FSCatalogInfoBitmap, <UInt32>
+#num kFSCatInfoNone
+#num kFSCatInfoTextEncoding
+#num kFSCatInfoNodeFlags
+#num kFSCatInfoVolume
+#num kFSCatInfoParentDirID
+#num kFSCatInfoNodeID
+#num kFSCatInfoCreateDate
+#num kFSCatInfoContentMod
+#num kFSCatInfoAttrMod
+#num kFSCatInfoAccessDate
+#num kFSCatInfoBackupDate
+#num kFSCatInfoPermissions
+#num kFSCatInfoFinderInfo
+#num kFSCatInfoFinderXInfo
+#num kFSCatInfoValence
+#num kFSCatInfoDataSizes
+#num kFSCatInfoRsrcSizes
+#num kFSCatInfoSharingFlags
+#num kFSCatInfoUserPrivs
+#num kFSCatInfoUserAccess
+#num kFSCatInfoSetOwnership
+#num kFSCatInfoFSFileSecurityRef
+#num kFSCatInfoAllDates
+#num kFSCatInfoGettableInfo
+#num kFSCatInfoSettableInfo
+#num kFSCatInfoReserved
+
+#num kFSNodeLockedBit
+#num kFSNodeLockedMask
+#num kFSNodeResOpenBit
+#num kFSNodeResOpenMask
+#num kFSNodeDataOpenBit
+#num kFSNodeDataOpenMask
+#num kFSNodeIsDirectoryBit
+#num kFSNodeIsDirectoryMask
+#num kFSNodeCopyProtectBit
+#num kFSNodeCopyProtectMask
+#num kFSNodeForkOpenBit
+#num kFSNodeForkOpenMask
+#num kFSNodeHardLinkBit
+#num kFSNodeHardLinkMask
+
+#num kFSNodeInSharedBit
+#num kFSNodeInSharedMask
+#num kFSNodeIsMountedBit
+#num kFSNodeIsMountedMask
+#num kFSNodeIsSharePointBit
+#num kFSNodeIsSharePointMask
+
+#ifdef __LP64__
+# starttype struct FSCatalogInfo
+# field nodeFlags , <UInt16>
+# field volume , <FSVolumeRefNum>
+# field parentDirID , <UInt32>
+# field nodeID , <UInt32>
+# field sharingFlags , <UInt8>
+# field userPrivileges , <UInt8>
+# field reserved1 , <UInt8>
+# field reserved2 , <UInt8>
+# field createDate , <UTCDateTime>
+# field contentModDate , <UTCDateTime>
+# field attributeModDate, <UTCDateTime>
+# field accessDate , <UTCDateTime>
+# field backupDate , <UTCDateTime>
+# field permissions , <FSPermissionInfo>
+# array_field finderInfo, <UInt8>
+# array_field extFinderInfo, <UInt8>
+# field dataLogicalSize , <UInt64>
+# field dataPhysicalSize, <UInt64>
+# field rsrcLogicalSize , <UInt64>
+# field rsrcPhysicalSize, <UInt64>
+# field valence , <UInt32>
+# field textEncodingHint, <TextEncoding>
+# stoptype
+#else
+# starttype struct FSCatalogInfo
+# field nodeFlags , <UInt16>
+# field volume , <FSVolumeRefNum>
+# field parentDirID , <UInt32>
+# field nodeID , <UInt32>
+# field sharingFlags , <UInt8>
+# field userPrivileges , <UInt8>
+# field reserved1 , <UInt8>
+# field reserved2 , <UInt8>
+# field createDate , <UTCDateTime>
+# field contentModDate , <UTCDateTime>
+# field attributeModDate, <UTCDateTime>
+# field accessDate , <UTCDateTime>
+# field backupDate , <UTCDateTime>
+# array_field permissions, <UInt32>
+# array_field finderInfo, <UInt8>
+# array_field extFinderInfo, <UInt8>
+# field dataLogicalSize , <UInt64>
+# field dataPhysicalSize, <UInt64>
+# field rsrcLogicalSize , <UInt64>
+# field rsrcPhysicalSize, <UInt64>
+# field valence , <UInt32>
+# field textEncodingHint, <TextEncoding>
+# stoptype
+#endif
+
+#starttype struct FSRefParam
+# field qLink , <QElemPtr>
+# field qType , <SInt16>
+# field ioTrap , <SInt16>
+# field ioCmdAddr , <Ptr>
+# field ioCompletion, <IOCompletionUPP>
+# field ioResult , <OSErr>
+# field ioNamePtr , <StringPtr>
+# field ioVRefNum , <FSVolumeRefNum>
+# field reserved1 , <SInt16>
+# field reserved2 , <UInt8>
+# field reserved3 , <UInt8>
+# field ref , Ptr <FSRef>
+# field whichInfo , <FSCatalogInfoBitmap>
+# field catInfo , Ptr <FSCatalogInfo>
+# field nameLength , <UniCharCount>
+# field name , Ptr <UniChar>
+# field ioDirID , <UInt32>
+# field spec , <FSSpecPtr>
+# field parentRef , Ptr <FSRef>
+# field newRef , Ptr <FSRef>
+# field textEncodingHint, <TextEncoding>
+# field outName , Ptr <HFSUniStr255>
+#stoptype
+#synonym_t FSRefParamPtr, Ptr <FSRefParam>
+
+#starttype struct FSRefForkIOParam
+# field qLink , <QElemPtr>
+# field qType , <SInt16>
+# field ioTrap , <SInt16>
+# field ioCmdAddr , <Ptr>
+# field ioCompletion, <IOCompletionUPP>
+# field ioResult , <OSErr>
+# field parentRef , Ptr <FSRef>
+# field nameLength , <UniCharCount>
+# field name , Ptr <UniChar>
+# field whichInfo , <FSCatalogInfoBitmap>
+# field catInfo , Ptr <FSCatalogInfo>
+# field forkNameLength, <UniCharCount>
+# field forkName , Ptr <UniChar>
+# field permissions , <SInt8>
+# field reserved1 , <UInt8>
+# field forkRefNum , <FSIORefNum>
+# field newRef , Ptr <FSRef>
+#stoptype
+#synonym_t FSRefForkIOParamPtr, Ptr <FSRefForkIOParam>
+
+#opaque_t OpaqueFSIterator
+#synonym_t FSIterator, Ptr <OpaqueFSIterator>
+
+#num kFSIterateFlat
+#num kFSIterateSubtree
+#num kFSIterateDelete
+#num kFSIterateReserved
+
+#synonym_t FSIteratorFlags, <OptionBits>
+
+#starttype struct FSSearchParams
+# field searchTime , <Duration>
+# field searchBits , <OptionBits>
+# field searchNameLength, <UniCharCount>
+# field searchName , Ptr <UniChar>
+# field searchInfo1 , Ptr <FSCatalogInfo>
+# field searchInfo2 , Ptr <FSCatalogInfo>
+#stoptype
+#synonym_t FSSearchParamsPtr, Ptr <FSSearchParams>
+
+#starttype struct FSCatalogBulkParam
+# field qLink , <QElemPtr>
+# field qType , <SInt16>
+# field ioTrap , <SInt16>
+# field ioCmdAddr , <Ptr>
+# field ioCompletion, <IOCompletionUPP>
+# field ioResult , <OSErr>
+# field containerChanged, <Boolean>
+# field reserved , <UInt8>
+# field iteratorFlags, <FSIteratorFlags>
+# field iterator , <FSIterator>
+# field container , Ptr <FSRef>
+# field maximumItems, <ItemCount>
+# field actualItems , <ItemCount>
+# field whichInfo , <FSCatalogInfoBitmap>
+# field catalogInfo , Ptr <FSCatalogInfo>
+# field refs , Ptr <FSRef>
+# field specs , <FSSpecPtr>
+# field names , Ptr <HFSUniStr255>
+# field searchParams, Ptr <FSSearchParams>
+#stoptype
+#synonym_t FSCatalogBulkParamPtr, Ptr <FSCatalogBulkParam>
+
+#synonym_t FSAllocationFlags, <UInt16>
+#num kFSAllocDefaultFlags
+#num kFSAllocAllOrNothingMask
+#num kFSAllocContiguousMask
+#num kFSAllocNoRoundUpMask
+#num kFSAllocReservedMask
+
+#starttype struct FSForkIOParam
+# field qLink , <QElemPtr>
+# field qType , <SInt16>
+# field ioTrap , <SInt16>
+# field ioCmdAddr , <Ptr>
+# field ioCompletion, <IOCompletionUPP>
+# field ioResult , <OSErr>
+# field reserved1 , Ptr ()
+# field reserved2 , <SInt16>
+# field forkRefNum , <FSIORefNum>
+# field reserved3 , <UInt8>
+# field permissions , <SInt8>
+# field ref , Ptr <FSRef>
+# field buffer , <Ptr>
+# field requestCount, <UInt32>
+# field actualCount , <UInt32>
+# field positionMode, <UInt16>
+# field positionOffset, <SInt64>
+# field allocationFlags, <FSAllocationFlags>
+# field allocationAmount, <UInt64>
+# field forkNameLength, <UniCharCount>
+# field forkName, Ptr <UniChar>
+# field forkIterator, <CatPositionRec>
+# field outForkName , Ptr <HFSUniStr255>
+#stoptype
+#synonym_t FSForkIOParamPtr, Ptr <FSForkIOParam>
+
+{-
+ *'``・* 。
+ | `*。
+ ,。∩ * もうどうにでもな〜れ
+ + (´・ω・`) *。+゚
+ `*。 ヽ、 つ *゚*
+ `・+。*・' ゚⊃ +゚
+ ☆ ∪~ 。*゚
+ `・+。*・ ゚
+-}
+
+#starttype struct FSForkInfo
+# field flags , <SInt8>
+# field permissions, <SInt8>
+# field volume , <FSVolumeRefNum>
+# field reserved2 , <UInt32>
+# field nodeID , <UInt32>
+# field forkID , <UInt32>
+# field currentPosition, <UInt64>
+# field logicalEOF , <UInt64>
+# field physicalEOF, <UInt64>
+# field process , <UInt64>
+#stoptype
+#synonym_t FSForkInfoPtr, Ptr <FSForkInfo>
+
+#starttype struct FSForkCBInfoParam
+# field qLink , <QElemPtr>
+# field qType , <SInt16>
+# field ioTrap , <SInt16>
+# field ioCmdAddr , <Ptr>
+# field ioCompletion, <IOCompletionUPP>
+# field ioResult , <OSErr>
+# field desiredRefNum, <FSIORefNum>
+# field volumeRefNum, <FSVolumeRefNum>
+# field iterator , <FSIORefNum>
+# field actualRefNum, <FSVolumeRefNum>
+# field ref , Ptr <FSRef>
+# field forkInfo , Ptr <FSForkInfo>
+# field forkName , Ptr <HFSUniStr255>
+#stoptype
+#synonym_t FSForkCBInfoParamPtr, Ptr <FSForkCBInfoParam>
+
+#starttype struct FSRangeLockParam
+# field qLink , <QElemPtr>
+# field qType , <SInt16>
+# field ioTrap , <SInt16>
+# field ioCmdAddr , <Ptr>
+# field ioCompletion, <IOCompletionUPP>
+# field ioResult , <OSErr>
+# field forkRefNum , <FSIORefNum>
+# field requestCount, <UInt64>
+# field positionMode, <UInt16>
+# field positionOffset, <SInt64>
+# field rangeStart , <UInt64>
+#stoptype
+#synonym_t FSRangeLockParamPtr, Ptr <FSRangeLockParam>
+
+#synonym_t FSVolumeInfoBitmap, <UInt32>
+#num kFSVolInfoNone
+#num kFSVolInfoCreateDate
+#num kFSVolInfoModDate
+#num kFSVolInfoBackupDate
+#num kFSVolInfoCheckedDate
+#num kFSVolInfoFileCount
+#num kFSVolInfoSizes
+#num kFSVolInfoBlocks
+#num kFSVolInfoNextAlloc
+#num kFSVolInfoRsrcClump
+#num kFSVolInfoDataClump
+#num kFSVolInfoNextID
+#num kFSVolInfoFinderInfo
+#num kFSVolInfoFlags
+#num kFSVolInfoFSInfo
+#num kFSVolInfoDriveInfo
+#num kFSVolInfoGettableInfo
+#num kFSVolInfoSettableInfo
+
+#num kFSVolFlagDefaultVolumeBit
+#num kFSVolFlagDefaultVolumeMask
+#num kFSVolFlagFilesOpenBit
+#num kFSVolFlagFilesOpenMask
+#num kFSVolFlagHardwareLockedBit
+#num kFSVolFlagHardwareLockedMask
+#num kFSVolFlagJournalingActiveBit
+#num kFSVolFlagJournalingActiveMask
+#num kFSVolFlagSoftwareLockedBit
+#num kFSVolFlagSoftwareLockedMask
+
+#starttype struct FSVolumeInfo
+# field createDate , <UTCDateTime>
+# field modifyDate , <UTCDateTime>
+# field backupDate , <UTCDateTime>
+# field checkedDate, <UTCDateTime>
+# field fileCount , <UInt32>
+# field folderCount, <UInt32>
+# field totalBytes , <UInt64>
+# field freeBytes , <UInt64>
+# field blockSize , <UInt32>
+# field totalBlocks, <UInt32>
+# field freeBlocks , <UInt32>
+# field nextAllocation , <UInt32>
+# field rsrcClumpSize , <UInt32>
+# field dataClumpSize , <UInt32>
+# field nextCatalogID , <UInt32>
+# array_field finderInfo, <UInt8>
+# field flags , <UInt16>
+# field filesystemID , <UInt16>
+# field signature , <UInt16>
+# field driveNumber , <UInt16>
+# field driverRefNum , <FSIORefNum>
+#stoptype
+#synonym_t FSVolumeInfoPtr, Ptr <FSVolumeInfo>
+
+#starttype struct FSVolumeInfoParam
+# field qLink , <QElemPtr>
+# field qType , <SInt16>
+# field ioTrap , <SInt16>
+# field ioCmdAddr , <Ptr>
+# field ioCompletion, <IOCompletionUPP>
+# field ioResult , <OSErr>
+# field ioNamePtr , <StringPtr>
+# field ioVRefNum , <FSVolumeRefNum>
+# field volumeIndex , <UInt32>
+# field whichInfo , <FSVolumeInfoBitmap>
+# field volumeInfo , Ptr <FSVolumeInfo>
+# field volumeName , Ptr <HFSUniStr255>
+# field ref , Ptr <FSRef>
+#stoptype
+#synonym_t FSVolumeInfoParamPtr, Ptr <FSVolumeInfoParam>
+
+#starttype struct GetVolParmsInfoBuffer
+# field vMVersion , <SInt16>
+# field vMAttrib , <SInt32>
+# field vMLocalHand, <Handle>
+# field vMServerAdr, <SInt32>
+# field vMVolumeGrade , <SInt32>
+# field vMForeignPrivID , <SInt16>
+# field vMExtendedAttributes, <SInt32>
+# field vMDeviceID , Ptr ()
+# field vMMaxNameLength , <UniCharCount>
+#stoptype
+
+#synonym_t VolumeType, <OSType>
+#num AppleShareMediaType
+
+#starttype struct VolMountInfoHeader
+# field length, <SInt16>
+# field media , <VolumeType>
+#stoptype
+#synonym_t VolMountInfoPtr, Ptr <VolMountInfoHeader>
+
+#starttype struct VolumeMountInfoHeader
+# field length, <SInt16>
+# field media , <VolumeType>
+# field flags , <SInt16>
+#stoptype
+#synonym_t VolumeMountInfoHeaderPtr, Ptr <VolumeMountInfoHeader>
+
+#num volMountNoLoginMsgFlagBit
+#num volMountNoLoginMsgFlagMask
+#num volMountExtendedFlagsBit
+#num volMountExtendedFlagsMask
+#num volMountInteractBit
+#num volMountInteractMask
+#num volMountChangedBit
+#num volMountChangedMask
+#num volMountFSReservedMask
+#num volMountSysReservedMask
+
+#starttype struct AFPVolMountInfo
+# field length , <SInt16>
+# field media , <VolumeType>
+# field flags , <SInt16>
+# field nbpInterval , <SInt8>
+# field nbpCount , <SInt8>
+# field uamType , <SInt16>
+# field zoneNameOffset , <SInt16>
+# field serverNameOffset , <SInt16>
+# field volNameOffset , <SInt16>
+# field userNameOffset , <SInt16>
+# field userPasswordOffset, <SInt16>
+# field volPasswordOffset , <SInt16>
+# array_field AFPData , CChar
+#stoptype
+#synonym_t AFPVolMountInfoPtr, Ptr <AFPVolMountInfo>
+
+#num kAFPExtendedFlagsAlternateAddressMask
+
+#num kAFPTagTypeIP
+#num kAFPTagTypeIPPort
+#num kAFPTagTypeDDP
+#num kAFPTagTypeDNS
+
+#num kAFPTagLengthIP
+#num kAFPTagLengthIPPort
+#num kAFPTagLengthDDP
+
+#starttype struct AFPTagData
+# field fLength, <UInt8>
+# field fType , <UInt8>
+# flexible_array_member fData, <UInt8>
+#stoptype
+
+#starttype struct AFPAlternateAddress
+# field fVersion , <UInt8>
+# field fAddressCount, <UInt8>
+# flexible_array_member fAddressList, <UInt8>
+#stoptype
+
+#num kLargeIconSize
+#num kLarge4BitIconSize
+#num kLarge8BitIconSize
+#num kSmallIconSize
+#num kSmall4BitIconSize
+#num kSmall8BitIconSize
+
+#ccall FSMakeFSRefUnicode , Ptr <FSRef> -> <UniCharCount> -> Ptr <UniChar> -> <TextEncoding> -> Ptr <FSRef> -> IO <OSErr>
+#ccall PBMakeFSRefUnicodeSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBMakeFSRefUnicodeAsync , Ptr <FSRefParam> -> IO ()
+#ccall FSCompareFSRefs , Ptr <FSRef> -> Ptr <FSRef> -> IO <OSErr>
+#ccall PBCompareFSRefsSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBCompareFSRefsAsync , Ptr <FSRefParam> -> IO ()
+#ccall FSCreateFileUnicode , Ptr <FSRef> -> <UniCharCount> -> Ptr <UniChar> -> <FSCatalogInfoBitmap> -> Ptr <FSCatalogInfo> -> Ptr <FSRef> -> <FSSpecPtr> -> IO <OSErr>
+#ccall PBCreateFileUnicodeSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBCreateFileUnicodeAsync, Ptr <FSRefParam> -> IO ()
+#ccall FSCreateDirectoryUnicode, Ptr <FSRef> -> <UniCharCount> -> Ptr <UniChar> -> <FSCatalogInfoBitmap> -> Ptr <FSCatalogInfo> -> Ptr <FSRef> -> <FSSpecPtr> -> Ptr <UInt32> -> IO <OSErr>
+#ccall PBCreateDirectoryUnicodeSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBCreateDirectoryUnicodeAsync, Ptr <FSRefParam> -> IO ()
+#ccall FSDeleteObject , Ptr <FSRef> -> IO <OSErr>
+#ccall PBDeleteObjectSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBDeleteObjectAsync , Ptr <FSRefParam> -> IO ()
+#ccall FSUnlinkObject , Ptr <FSRef> -> IO <OSErr>
+#ccall PBUnlinkObjectSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBUnlinkObjectAsync , Ptr <FSRefParam> -> IO ()
+#ccall FSMoveObject , Ptr <FSRef> -> Ptr <FSRef> -> Ptr <FSRef> -> IO <OSErr>
+#ccall PBMoveObjectSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBMoveObjectAsync , Ptr <FSRefParam> -> IO ()
+#ccall FSExchangeObjects , Ptr <FSRef> -> Ptr <FSRef> -> IO <OSErr>
+#ccall PBExchangeObjectsSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBExchangeObjectsAsync , Ptr <FSRefParam> -> IO ()
+
+#num kFSReplaceObjectDefaultOptions
+#num kFSReplaceObjectReplaceMetadata
+#num kFSReplaceObjectSaveOriginalAsABackup
+#num kFSReplaceObjectReplacePermissionInfo
+#num kFSReplaceObjectPreservePermissionInfo
+#num kFSReplaceObjectDoNotCheckObjectWriteAccess
+
+#ccall FSReplaceObject , Ptr <FSRef> -> Ptr <FSRef> -> <CFStringRef> -> <CFStringRef> -> Ptr <FSRef> -> <OptionBits> -> Ptr <FSRef> -> IO <OSStatus>
+#ccall FSPathReplaceObject , Ptr CChar -> Ptr CChar -> <CFStringRef> -> <CFStringRef> -> Ptr CChar -> <OptionBits> -> IO <OSStatus>
+#ccall FSGetTemporaryDirectoryForReplaceObject , Ptr <FSRef> -> Ptr <FSRef> -> <OptionBits> -> IO <OSStatus>
+#ccall FSPathGetTemporaryDirectoryForReplaceObject, Ptr CChar -> Ptr CChar -> <UInt32> -> <OptionBits> -> IO <OSStatus>
+#ccall FSRenameUnicode , Ptr <FSRef> -> <UniCharCount> -> Ptr <UniChar> -> <TextEncoding> -> Ptr <FSRef> -> IO <OSErr>
+#ccall PBRenameUnicodeSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBRenameUnicodeAsync , Ptr <FSRefParam> -> IO ()
+#ccall FSGetCatalogInfo , Ptr <FSRef> -> <FSCatalogInfoBitmap> -> Ptr <FSCatalogInfo> -> Ptr <HFSUniStr255> -> <FSSpecPtr> -> Ptr <FSRef> -> IO <OSErr>
+#ccall PBGetCatalogInfoSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBGetCatalogInfoAsync, Ptr <FSRefParam> -> IO ()
+#ccall FSSetCatalogInfo , Ptr <FSRef> -> <FSCatalogInfoBitmap> -> Ptr <FSCatalogInfo> -> IO <OSErr>
+#ccall PBSetCatalogInfoSync , Ptr <FSRefParam> -> IO <OSErr>
+#ccall PBSetCatalogInfoAsync, Ptr <FSRefParam> -> IO ()
+#ccall FSOpenIterator , Ptr <FSRef> -> <FSIteratorFlags> -> Ptr <FSIterator> -> IO <OSErr>
+#ccall PBOpenIteratorSync , Ptr <FSCatalogBulkParam> -> IO <OSErr>
+#ccall PBOpenIteratorAsync , Ptr <FSCatalogBulkParam> -> IO ()
+#ccall FSCloseIterator , <FSIterator> -> IO <OSErr>
+#ccall PBCloseIteratorSync , Ptr <FSCatalogBulkParam> -> IO <OSErr>
+#ccall PBCloseIteratorAsync , Ptr <FSCatalogBulkParam> -> IO ()
+#ccall FSGetCatalogInfoBulk , <FSIterator> -> <ItemCount> -> Ptr <ItemCount> -> Ptr <Boolean> -> <FSCatalogInfoBitmap> -> Ptr <FSCatalogInfo> -> Ptr <FSRef> -> <FSSpecPtr> -> Ptr <HFSUniStr255> -> IO <OSErr>
+#ccall PBGetCatalogInfoBulkSync , Ptr <FSCatalogBulkParam> -> IO <OSErr>
+#ccall PBGetCatalogInfoBulkAsync, Ptr <FSCatalogBulkParam> -> IO ()
+#ccall FSCatalogSearch , <FSIterator> -> Ptr <FSSearchParams> -> <ItemCount> -> Ptr <ItemCount> -> Ptr <Boolean> -> <FSCatalogBulkParam> -> Ptr <FSCatalogInfo> -> Ptr <FSRef> -> <FSSpecPtr> -> Ptr <HFSUniStr255> -> IO <OSErr>
+#ccall PBCatalogSearchSync , Ptr <FSCatalogBulkParam> -> IO <OSErr>
+#ccall PBCatalogSearchAsync , Ptr <FSCatalogBulkParam> -> IO ()
+#ccall FSCreateFileAndOpenForkUnicode , Ptr <FSRef> -> <UniCharCount> -> Ptr <UniChar> -> <FSCatalogInfoBitmap> -> Ptr <FSCatalogInfo> -> <UniCharCount> -> Ptr <UniChar> -> <SInt8> -> Ptr <FSIORefNum> -> Ptr <FSRef> -> IO <OSStatus>
+#ccall PBCreateFileAndOpenForkUnicodeSync , <FSRefForkIOParamPtr> -> IO <OSStatus>
+#ccall PBCreateFileAndOpenForkUnicodeAsync, <FSRefForkIOParamPtr> -> IO ()
+#ccall FSCreateFork , Ptr <FSRef> -> <UniCharCount> -> Ptr <UniChar> -> IO <OSErr>
+#ccall PBCreateForkSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBCreateForkAsync , Ptr <FSForkIOParam> -> IO ()
+#ccall FSDeleteFork , Ptr <FSRef> -> <UniCharCount> -> Ptr <UniChar> -> IO <OSErr>
+#ccall PBDeleteForkSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBDeleteForkAsync , Ptr <FSForkIOParam> -> IO ()
+#ccall FSIterateForks , Ptr <FSRef> -> Ptr <CatPositionRec> -> Ptr <HFSUniStr255> -> Ptr <SInt64> -> Ptr <UInt64> -> IO <OSErr>
+#ccall PBIterateForksSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBIterateForksAsync , Ptr <FSForkIOParam> -> IO ()
+#ccall FSOpenFork , Ptr <FSRef> -> <UniCharCount> -> Ptr <UniChar> -> <SInt8> -> Ptr <FSIORefNum> -> IO <OSErr>
+#ccall PBOpenForkSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBOpenForkAsync , Ptr <FSForkIOParam> -> IO ()
+#ccall FSReadFork , <FSIORefNum> -> <UInt16> -> <SInt64> -> <ByteCount> -> Ptr () -> Ptr <ByteCount> -> IO <OSErr>
+#ccall PBReadForkSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBReadForkAsync , Ptr <FSForkIOParam> -> IO ()
+#ccall FSWriteFork , <FSIORefNum> -> <UInt16> -> <SInt64> -> <ByteCount> -> Ptr () -> Ptr <ByteCount> -> IO <OSErr>
+#ccall PBWriteForkSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBWriteForkAsync , Ptr <FSForkIOParam> -> IO ()
+#ccall FSGetForkPosition , <FSIORefNum> -> Ptr <SInt64> -> IO <OSErr>
+#ccall PBGetForkPositionSync, Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBGetForkPositionAsync, Ptr <FSForkIOParam> -> IO ()
+#ccall FSSetForkPosition , <FSIORefNum> -> <UInt16> -> <SInt64> -> IO <OSErr>
+#ccall PBSetForkPositionSync, Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBSetForkPositionAsync, Ptr <FSForkIOParam> -> IO ()
+#ccall FSGetForkSize , <FSIORefNum> -> Ptr <SInt64> -> IO <OSErr>
+#ccall PBGetForkSizeSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBGetForkSizeAsync , Ptr <FSForkIOParam> -> IO ()
+#ccall FSSetForkSize , <FSIORefNum> -> <UInt16> -> <SInt64> -> IO <OSErr>
+#ccall PBSetForkSizeSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBSetForkSizeAsync , Ptr <FSForkIOParam> -> IO ()
+#ccall FSAllocateFork , <FSIORefNum> -> <FSAllocationFlags> -> <UInt16> -> <SInt64> -> <UInt64> -> Ptr <UInt64> -> IO <OSErr>
+#ccall PBAllocateForkSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBAllocateForkAsync , Ptr <FSForkIOParam> -> IO ()
+#ccall FSFlushFork , <FSIORefNum> -> IO <OSErr>
+#ccall PBFlushForkSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBFlushForkAsync , Ptr <FSForkIOParam> -> IO ()
+#ccall FSCloseFork , <FSIORefNum> -> IO <OSErr>
+#ccall PBCloseForkSync , Ptr <FSForkIOParam> -> IO <OSErr>
+#ccall PBCloseForkAsync , Ptr <FSForkIOParam> -> IO ()