--- /dev/null
+#include <bindings.dsl.h>
+#include <CoreServices/CoreServices.h>
+
+module Bindings.CoreServices.CarbonCore.Files where
+#strict_import
+import Bindings.CoreServices.CarbonCore.MacTypes
+
+#starttype struct HFSUniStr255
+# field length , <UInt16>
+# array_field unicode, <UniChar>
+#stoptype
+#synonym_t ConstHFSUniStr255Param, Ptr <HFSUniStr255>
+
+#num kFSFileSecurityRemoveACL
+
+#num fsCurPerm
+#num fsRdPerm
+#num fsWrPerm
+#num fsRdWrPerm
+#num fsRdWrShPerm
+
+#num fsRdAccessPerm
+#num fsWrAccessPerm
+#num fsRdDenyPerm
+#num fsWrDenyPerm
+
+#num fsRtParID
+#num fsRtDirID
+
+#num fsAtMark
+#num fsFromStart
+#num fsFromLEOF
+#num fsFromMark
+
+#num kFSAllowConcurrentAsyncIOBit
+#num kFSAllowConcurrentAsyncIOMask
+#num kFSPleaseCacheBit
+#num kFSPleaseCacheMask
+#num kFSNoCacheBit
+#num kFSNoCacheMask
+#num kFSRdVerifyBit
+#num kFSRdVerifyMask
+#num kFSForceReadBit
+#num kFSForceReadMask
+#num kFSNewLineBit
+#num kFSNewLineMask
+#num kFSNewLineCharMask
+
+#num fsSBPartialName
+#num fsSBFullName
+#num fsSBFlAttrib
+#num fsSBFlFndrInfo
+#num fsSBFlLgLen
+#num fsSBFlPyLen
+#num fsSBFlRLgLen
+#num fsSBFlRPyLen
+#num fsSBFlCrDat
+#num fsSBFlMdDat
+#num fsSBFlBkDat
+#num fsSBFlXFndrInfo
+#num fsSBFlParID
+#num fsSBNegate
+#num fsSBDrUsrWds
+#num fsSBDrNmFls
+#num fsSBDrCrDat
+#num fsSBDrMdDat
+#num fsSBDrBkDat
+#num fsSBDrFndrInfo
+#num fsSBDrParID
+#num fsSBNodeID
+#num fsSBAttributeModDate
+#num fsSBAccessDate
+#num fsSBPermissions
+#num fsSBSkipPackageContents
+#num fsSBSkipHiddenItems
+#num fsSBUserID
+#num fsSBGroupID
+
+#num fsSBPartialNameBit
+#num fsSBFullNameBit
+#num fsSBFlAttribBit
+#num fsSBFlFndrInfoBit
+#num fsSBFlLgLenBit
+#num fsSBFlPyLenBit
+#num fsSBFlRLgLenBit
+#num fsSBFlRPyLenBit
+#num fsSBFlCrDatBit
+#num fsSBFlMdDatBit
+#num fsSBFlBkDatBit
+#num fsSBFlXFndrInfoBit
+#num fsSBFlParIDBit
+#num fsSBNegateBit
+#num fsSBDrUsrWdsBit
+#num fsSBDrNmFlsBit
+#num fsSBDrCrDatBit
+#num fsSBDrMdDatBit
+#num fsSBDrBkDatBit
+#num fsSBDrFndrInfoBit
+#num fsSBDrParIDBit
+#num fsSBNodeIDBit
+#num fsSBAttributeModDateBit
+#num fsSBAccessDateBit
+#num fsSBPermissionsBit
+#num fsSBSkipPackageContentsBit
+#num fsSBSkipHiddenItemsBit
+#num fsSBUserIDBit
+#num fsSBGroupIDBit
+
+#num bLimitFCBs
+#num bLocalWList
+#num bNoMiniFndr
+#num bNoVNEdit
+#num bNoLclSync
+#num bTrshOffLine
+#num bNoSwitchTo
+#num bNoDeskItems
+#num bNoBootBlks
+#num bAccessCntl
+#num bNoSysDir
+#num bHasExtFSVol
+#num bHasOpenDeny
+#num bHasCopyFile
+#num bHasMoveRename
+#num bHasDesktopMgr
+#num bHasShortName
+#num bHasFolderLock
+#num bHasPersonalAccessPrivileges
+#num bHasUserGroupList
+#num bHasCatSearch
+#num bHasFileIDs
+#num bHasBTreeMgr
+#num bHasBlankAccessPrivileges
+#num bSupportsAsyncRequests
+#num bSupportsTrashVolumeCache
+
+#num bHasDirectIO
+
+#num bIsEjectable
+#num bSupportsHFSPlusAPIs
+#num bSupportsFSCatalogSearch
+#num bSupportsFSExchangeObjects
+#num bSupports2TBFiles
+#num bSupportsLongNames
+#num bSupportsMultiScriptNames
+#num bSupportsNamedForks
+#num bSupportsSubtreeIterators
+#num bL2PCanMapFileBlocks
+#num bParentModDateChanges
+#num bAncestorModDateChanges
+#num bSupportsSymbolicLinks
+#num bIsAutoMounted
+#num bAllowCDiDataHandler
+#num bSupportsExclusiveLocks
+#num bSupportsJournaling
+#num bNoVolumeSizes
+#num bIsOnInternalBus
+#num bIsCaseSensitive
+#num bIsCasePreserving
+#num bDoNotDisplay
+#num bIsRemovable
+#num bNoRootTimes
+#num bIsOnExternalBus
+#num bSupportsExtendedFileSecurity
+
+#num kWidePosOffsetBit
+#num kUseWidePositioning
+#num kMaximumBlocksIn4GB
+
+#num fsUnixPriv
+
+#num kNoUserAuthentication
+#num kPassword
+#num kEncryptPassword
+#num kTwoWayEncryptPassword
+
+#num knoUser
+#num kadministratorUser
+
+#num knoGroup
+
+#synonym_t FSVolumeRefNum, <SInt16>
+#integral_t FSIORefNum
+
+#num kFSInvalidVolumeRefNum
+
+#starttype struct FSRef
+# array_field hidden, <UInt8>
+#stoptype
+#synonym_t FSRefPtr, Ptr <FSRef>
+
+#opaque_t __FSFileSecurity
+#synonym_t FSFileSecurityRef, Ptr <__FSFileSecurity>
+
+#starttype struct CatPositionRec
+# field initialize, <SInt16>
+# array_field priv , <SInt16>
+#stoptype
+
+#if __LP64__
+# starttype struct FSSpec
+# array_field hidden, <UInt8>
+# stoptype
+#else
+# starttype struct FSSpec
+# field vRefNum, <FSVolumeRefNum>
+# field parID , <SInt32>
+# field name , <StrFileName>
+# stoptype
+#endif
+#synonym_t FSSpecPtr , Ptr <FSSpec>
+#synonym_t FSSpecHandle , Ptr <FSSpecPtr>
+#synonym_t FSSpecArrayPtr, <FSSpecPtr>
+#synonym_t ConstFSSpecPtr, Ptr <FSSpec>
+
+#if __LP64__
+# synonym_t ParmBlkPtr, Ptr ()
+#else
+# synonym_t ParmBlkPtr, Ptr <ParamBlockRec>
+#endif
+
+#callback IOCompletionProcPtr, <ParmBlkPtr> -> IO ()
+#synonym_t IOCompletionUPP , <IOCompletionProcPtr>
+
+#if !__LP64__
+# starttype struct IOParam
+# 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 ioRefNum , <FSIORefNum>
+# field ioVersNum , <SInt8>
+# field ioPermssn , <SInt8>
+# field ioMisc , <Ptr>
+# field ioBuffer , <Ptr>
+# field ioReqCount , <SInt32>
+# field ioActCount , <SInt32>
+# field ioPosMode , <SInt16>
+# field ioPosOffset , <SInt32>
+# stoptype
+# synonym_t IOParamPtr, Ptr <IOParam>
+
+# starttype struct FileParam
+# 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 ioFRefNum , <FSIORefNum>
+# field ioFVersNum , <SInt8>
+# field filler1 , <SInt8>
+# field ioFDirIndex , <SInt16>
+# field ioFlAttrib , <SInt8>
+# field ioFlVersNum , <SInt8>
+# field ioFlFndrInfo, <FInfo>
+# field ioFlNum , <UInt32>
+# field ioFlStBlk , <UInt16>
+# field ioFlLgLen , <SInt32>
+# field ioFlPyLen , <SInt32>
+# field ioFlRStBlk , <UInt16>
+# field ioFlRLgLen , <SInt32>
+# field ioFlRPyLen , <SInt32>
+# field ioFlCrDat , <UInt32>
+# field ioFlMdDat , <UInt32>
+# stoptype
+# synonym_t FileParamPtr, Ptr <FileParam>
+
+# starttype struct VolumeParam
+# 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 filler2 , <UInt32>
+# field ioVolIndex , <SInt16>
+# field ioVCrDate , <UInt32>
+# field ioVLsBkUp , <UInt32>
+# field ioVAtrb , <UInt16>
+# field ioVNmFls , <UInt16>
+# field ioVDirSt , <UInt16>
+# field ioVBlLn , <SInt16>
+# field ioVNmAlBlks , <UInt16>
+# field ioVAlBlkSiz , <UInt32>
+# field ioVClpSiz , <UInt32>
+# field ioAlBlSt , <UInt16>
+# field ioVNxtFNum , <UInt32>
+# field ioVFrBlk , <UInt16>
+# stoptype
+# synonym_t VolumeParamPtr, Ptr <VolumeParam>
+
+# starttype struct CntrlParam
+# 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 ioCRefNum , <FSIORefNum>
+# field csCode , <SInt16>
+# array_field csParam, <SInt16>
+# stoptype
+# synonym_t CntrlParamPtr, Ptr <CntrlParamPtr>
+
+# starttype struct SlotDevParam
+# 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 ioSRefNum , <FSIORefNum>
+# field ioSVersNum , <SInt8>
+# field ioSPermssn , <SInt8>
+# field ioSMix , <Ptr>
+# field ioSFlags , <SInt16>
+# field ioSlot , <SInt8>
+# field ioID , <SInt8>
+# stoptype
+# synonym_t SlotDevParamPtr, Ptr <SlotDevParam>
+
+# starttype struct MultiDevParam
+# 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 ioMRefNum , <FSIORefNum>
+# field ioMVersNum , <SInt8>
+# field ioMPermssn , <SInt8>
+# field ioMMix , <Ptr>
+# field ioMFlags , <SInt16>
+# field ioSEBlkPtr , <Ptr>
+# stoptype
+# synonym_t MultiDevParamPtr, Ptr <MultiDevParam>
+
+# starttype union ParamBlockRec
+# union_field ioParam , <IOParam>
+# union_field fileParam , <FileParam>
+# union_field volumeParam , <VolumeParam>
+# union_field cntrlParam , <CntrlParam>
+# union_field slotDevParam , <SlotDevParam>
+# union_field multiDevParam, <MultiDevParam>
+# stoptype
+
+# starttype struct HFileInfo
+# 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 ioFRefNum , <FSIORefNum>
+# field ioFVersNum , <SInt8>
+# field filler1 , <SInt8>
+# field ioFDirIndex , <SInt16>
+# field ioFlAttrib , <SInt8>
+# field ioACUser , <SInt8>
+# field ioFlFndrInfo, <FInfo>
+# field ioDirID , <SInt32>
+# field ioFlStBlk , <UInt16>
+# field ioFlLgLen , <SInt32>
+# field ioFlPyLen , <SInt32>
+# field ioFlRStBlk , <UInt16>
+# field ioFlRLgLen , <SInt32>
+# field ioFlRPyLen , <SInt32>
+# field ioFlCrDat , <UInt32>
+# field ioFlMdDat , <UInt32>
+# field ioFlBkDat , <UInt32>
+# field ioFlXFndrInfo, <FXInfo>
+# field ioFlParID , <SInt32>
+# field ioFlClpSiz , <SInt32>
+# stoptype
+
+# starttype struct DirInfo
+# 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 ioFRefNum , <FSIORefNum>
+# field ioFVersNum , <SInt8>
+# field filler1 , <SInt8>
+# field ioFDirIndex , <SInt16>
+# field ioFlAttrib , <SInt8>
+# field ioACUser , <SInt8>
+# field ioDrUsrWds , <DInfo>
+# field ioDrDirID , <SInt32>
+# field ioDrNmFls , <UInt16>
+# array_field filler3, <SInt16>
+# field ioDrCrDat , <UInt32>
+# field ioDrMdDat , <UInt32>
+# field ioDrBkDat , <UInt32>
+# field ioDrFndrInfo, <DXInfo>
+# field ioDrParID , <SInt32>
+# stoptype
+
+# starttype union CInfoPBRec
+# union_field hFileInfo, <HFileInfo>
+# union_field dirInfo , <DirInfo>
+# stoptype
+# synonym_t CInfoPBPtr, Ptr <CInfoPBRec>
+
+# starttype struct XCInfoPBRec
+# field qLink , <QElemPtr>
+# field qType , <SInt16>
+# field ioTrap , <SInt16>
+# field ioCmdAddr , <Ptr>
+# field ioCompletion, <ProcPtr>
+# field ioResult , <OSErr>
+# field ioNamePtr , <StringPtr>
+# field ioVRefNum , <FSVolumeRefNum>
+# field filler1 , <SInt32>
+# field ioShortNamePtr, <StringPtr>
+# field filler2 , <SInt16>
+# field ioPDType , <SInt16>
+# field ioPDAuxType , <SInt32>
+# array_field filler3, <SInt32>
+# field ioDirID , <SInt32>
+# stoptype
+# synonym_t XCInfoPBPtr, Ptr <XCInfoPBRec>
+
+# starttype struct DTPBRec
+# 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 ioDTRefNum , <FSIORefNum>
+# field ioIndex , <SInt16>
+# field ioTagInfo , <SInt16>
+# field ioDTBuffer , <Ptr>
+# field ioDTReqCount, <SInt32>
+# field ioDTActCount, <SInt32>
+# field ioFiller1 , <SInt8>
+# field ioIconType , <UInt8>
+# field ioFiller2 , <SInt16>
+# field ioDirID , <SInt32>
+# field ioFileCreator, <OSType>
+# field ioFileType , <OSType>
+# field ioFiller3 , <SInt32>
+# field ioDTLgLen , <SInt32>
+# field ioDTPyLen , <SInt32>
+# array_field ioFiller4, <SInt16>
+# field ioAPPLParID , <SInt32>
+# stoptype
+# synonym_t DTPBPtr, Ptr <DTPBRec>
+
+# starttype struct HIOParam
+# 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 ioRefNum , <FSIORefNum>
+# field ioVersNum , <SInt8>
+# field ioPermssn , <SInt8>
+# field ioMisc , <Ptr>
+# field ioBuffer , <Ptr>
+# field ioReqCount , <SInt32>
+# field ioActCount , <SInt32>
+# field ioPosMode , <SInt16>
+# field ioPosOffset , <SInt32>
+# stoptype
+# synonym_t HIOParamPtr, Ptr <HIOParam>
+
+# starttype struct HFileParam
+# 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 ioFRefNum , <FSIORefNum>
+# field ioFVersNum , <SInt8>
+# field filler1 , <SInt8>
+# field ioFDirIndex , <SInt16>
+# field ioFlAttrib , <SInt8>
+# field ioFlVersNum , <SInt8>
+# field ioFlFndrInfo, <FInfo>
+# field ioDirID , <SInt32>
+# field ioFlStBlk , <UInt16>
+# field ioFlLgLen , <SInt32>
+# field ioFlPyLen , <SInt32>
+# field ioFlRStBlk , <UInt16>
+# field ioFlRLgLen , <SInt32>
+# field ioFlRPyLen , <SInt32>
+# field ioFlCrDat , <UInt32>
+# field ioFlMdDat , <UInt32>
+# stoptype
+# synonym_t HFileParamPtr, Ptr <HFileParam>
+
+# starttype struct HVolumeParam
+# 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 filler2 , <UInt32>
+# field ioVolIndex , <SInt16>
+# field ioVCrDate , <UInt32>
+# field ioVLsMod , <UInt32>
+# field ioVAtrb , <SInt16>
+# field ioVNmFls , <UInt16>
+# field ioVBitMap , <UInt16>
+# field ioAllocPtr , <UInt16>
+# field ioVNmAlBlks , <UInt16>
+# field ioVAlBlkSiz , <UInt32>
+# field ioVClpSiz , <UInt32>
+# field ioAlBlSt , <UInt16>
+# field ioVNxtCNID , <UInt16>
+# field ioVFrBlk , <UInt16>
+# field ioVSigWord , <UInt16>
+# field ioVDrvInfo , <SInt16>
+# field ioVDRefNum , <FSIORefNum>
+# field ioVFSID , <SInt16>
+# field ioVBkUp , <UInt32>
+# field ioVSeqNum , <SInt16>
+# field ioVWrCnt , <UInt32>
+# field ioVFilCnt , <UInt32>
+# field ioVDirCnt , <UInt32>
+# array_field ioVFndrInfo, <SInt32>
+# stoptype
+# synonym_t HVolumeParamPtr, Ptr <HVolumeParam>
+
+# starttype struct XIOParam
+# 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 ioRefNum , <FSIORefNum>
+# field ioVersNum , <SInt8>
+# field ioPermssn , <SInt8>
+# field ioMisc , <Ptr>
+# field ioBuffer , <Ptr>
+# field ioReqCount , <SInt32>
+# field ioActCount , <SInt32>
+# field ioPosMode , <SInt16>
+# field ioWPosOffset, <wide>
+# stoptype
+# synonym_t XIOParamPtr, Ptr <XIOParam>
+
+# starttype struct XVolumeParam
+# 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 ioXVersion , <UInt32>
+# field ioVolIndex , <SInt16>
+# field ioVCrDate , <UInt32>
+# field ioVLsMod , <UInt32>
+# field ioVAtrb , <SInt16>
+# field ioVNmFls , <UInt16>
+# field ioVBitMap , <UInt16>
+# field ioAllocPtr , <UInt16>
+# field ioVNmAlBlks , <UInt16>
+# field ioVAlBlkSiz , <UInt32>
+# field ioVClpSiz , <UInt32>
+# field ioAlBlSt , <UInt16>
+# field ioVNxtCNID , <UInt16>
+# field ioVFrBlk , <UInt16>
+# field ioVSigWord , <UInt16>
+# field ioVDrvInfo , <SInt16>
+# field ioVDRefNum , <FSIORefNum>
+# field ioVFSID , <SInt16>
+# field ioVBkUp , <UInt32>
+# field ioVSeqNum , <SInt16>
+# field ioVWrCnt , <UInt32>
+# field ioVFilCnt , <UInt32>
+# field ioVDirCnt , <UInt32>
+# array_field ioVFndrInfo, <SInt32>
+# field ioVTotalBytes, <UInt64>
+# field ioVFreeBytes , <UInt64>
+# stoptype
+# synonym_t XVolumeParamPtr, Ptr <XVolumeParam>
+
+# starttype struct AccessParam
+# 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 ioRefNum , <FSIORefNum>
+# field ioDenyModes , <SInt16>
+# field filler4 , <SInt16>
+# field filler5 , <SInt8>
+# field ioACUser , <SInt8>
+# field filler6 , <SInt32>
+# field ioACOwnerID , <SInt32>
+# field ioACGroupID , <SInt32>
+# field ioACAccess , <SInt32>
+# field ioDirID , <SInt32>
+# stoptype
+# synonym_t AccessParamPtr, Ptr <AccessParam>
+
+# starttype struct ObjParam
+# 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 filler7 , <SInt16>
+# field ioObjType , <SInt16>
+# field ioObjNamePtr, <StringPtr>
+# field ioObjID , <SInt32>
+# stoptype
+# synonym_t ObjParamPtr, Ptr <ObjParam>
+
+# starttype struct CopyParam
+# 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 ioDstVRefNum, <FSVolumeRefNum>
+# field filler8 , <SInt16>
+# field ioNewName , <StringPtr>
+# field ioCopyName , <StringPtr>
+# field ioNewDirID , <SInt32>
+# field filler14 , <SInt32>
+# field filler15 , <SInt32>
+# field ioDirID , <SInt32>
+# stoptype
+# synonym_t CopyParamPtr, Ptr <CopyParam>
+
+# starttype struct WDParam
+# 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 ioWDCreated , <SInt16>
+# field ioWDIndex , <SInt16>
+# field ioWDProcID , <SInt32>
+# field ioWDVRefNum , <FSVolumeRefNum>
+# field filler10 , <SInt16>
+# field filler11 , <SInt32>
+# field filler12 , <SInt32>
+# field filler13 , <SInt32>
+# field ioWDDirID , <SInt32>
+# stoptype
+# synonym_t WDParamPtr, Ptr <WDParam>
+
+# starttype struct FIDParam
+# 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 filler14 , <SInt32>
+# field ioDestNamePtr, <StringPtr>
+# field filler15 , <SInt32>
+# field ioDestDirID , <SInt32>
+# field filler16 , <SInt32>
+# field filler17 , <SInt32>
+# field ioSrcDirID , <SInt32>
+# field filler18 , <SInt16>
+# field ioFileID , <SInt32>
+# stoptype
+# synonym_t FIDParamPtr, Ptr <FIDParam>
+
+# starttype struct ForeignPrivParam
+# 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 ioFiller21 , <SInt32>
+# field ioFiller22 , <SInt32>
+# field ioForeignPrivBuffer , <Ptr>
+# field ioForeignPrivActCount, <SInt32>
+# field ioForeignPrivReqCount, <SInt32>
+# field ioFiller23 , <SInt32>
+# field ioForeignPrivDirID , <SInt32>
+# field ioForeignPrivInfo1 , <SInt32>
+# field ioForeignPrivInfo2 , <SInt32>
+# field ioForeignPrivInfo3 , <SInt32>
+# field ioForeignPrivInfo4 , <SInt32>
+# stoptype
+# synonym_t ForeignPrivParamPtr, Ptr <ForeignPrivParam>
+
+# starttype struct CSParam
+# 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 ioMatchPtr , <FSSpecPtr>
+# field ioReqMatchCount, <SInt32>
+# field ioActMatchCount, <SInt32>
+# field ioSearchBits , <SInt32>
+# field ioSearchInfo1 , <CInfoPBPtr>
+# field ioSearchInfo2 , <CInfoPBPtr>
+# field ioSearchTime , <SInt32>
+# field ioCatPosition , <CatPositionRec>
+# field ioOptBuffer , <Ptr>
+# field ioOptBufSize , <SInt32>
+# stoptype
+# synonym_t CSParamPtr, Ptr <CSParam>
+
+# starttype union HParamBlockRec
+# union_field ioParam , <HIOParam>
+# union_field fileParam , <HFileParam>
+# union_field volumeParam, <HVolumeParam>
+# union_field accessParam, <AccessParam>
+# union_field objParam , <ObjParam>
+# union_field copyParam , <CopyParam>
+# union_field wdParam , <WDParam>
+# union_field fidParam , <FIDParam>
+# union_field csParam , <CSParam>
+# union_field foreignPrivParam, <ForeignPrivParam>
+# stoptype
+# synonym_t HParmBlkPtr, Ptr <HParamBlockRec>
+
+# starttype struct CMovePBRec
+# 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 filler1 , <SInt32>
+# field ioNewName , <StringPtr>
+# field filler2 , <SInt32>
+# field ioNewDirID , <SInt32>
+# array_field filler3, <SInt32>
+# field ioDirID , <SInt32>
+# stoptype
+# synonym_t CMovePBPtr, Ptr <CMovePBRec>
+
+# starttype struct WDPBRec
+# 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 filler1 , <SInt16>
+# field ioWDIndex , <SInt16>
+# field ioWDProcID , <SInt32>
+# field ioWDVRefNum , <FSVolumeRefNum>
+# array_field filler2, <SInt16>
+# field ioWDDirID , <SInt32>
+# stoptype
+# synonym_t WDPBPtr, Ptr <WDPBRec>
+
+# starttype struct FCBPBRec
+# 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 ioRefNum , <FSIORefNum>
+# field filler , <SInt16>
+# field ioFCBIndx , <SInt16>
+# field filler1 , <SInt16>
+# field ioFCBFlNm , <SInt32>
+# field ioFCBFlags , <SInt16>
+# field ioFCBStBlk , <UInt16>
+# field ioFCBEOF , <SInt32>
+# field ioFCBPLen , <SInt32>
+# field ioFCBCrPs , <SInt32>
+# field ioFCBVRefNum, <FSVolumeRefNum>
+# field ioFCBClpSiz , <SInt32>
+# field ioFCBParID , <SInt32>
+# stoptype
+# synonym_t FCBPBPtr, Ptr <FCBPBRec>
+
+# starttype struct VCB
+# field qLink , <QElemPtr>
+# field qType , <SInt16>
+# field vcbFlags , <SInt16>
+# field vcbSigWord , <UInt16>
+# field vcbCrDate , <UInt32>
+# field vcbLsMod , <SInt16>
+# field vcbAtrb , <SInt16>
+# field vcbVBMSt , <SInt16>
+# field vcbAllocPtr , <SInt16>
+# field vcbNmAlBlks , <UInt16>
+# field vcbAlBlkSiz , <SInt32>
+# field vcbClpSiz , <SInt32>
+# field vcbAlBlSt , <SInt16>
+# field vcbNxtCNID , <SInt32>
+# field vcbFreeBks , <UInt16>
+# field vcbVN , <Str27>
+# field vcbDrvNum , <SInt16>
+# field vcbDRefNum , <FSIORefNum>
+# field vcbFSID , <SInt16>
+# field vcbVRefNum , <FSVolumeRefNum>
+# field vcbMAdr , <Ptr>
+# field vcbBufAdr , <Ptr>
+# field vcbMLen , <SInt16>
+# field vcbDirIndex , <SInt16>
+# field vcbDirBlk , <SInt16>
+# field vcbVolBkUp , <UInt32>
+# field vcbVSeqNum , <UInt16>
+# field vcbWrCnt , <SInt16>
+# field vcbXTClpSiz , <SInt32>
+# field vcbCTClpSiz , <SInt32>
+# field vcbNmRtDirs , <UInt16>
+# field vcbFilCnt , <SInt32>
+# field vcbDirCnt , <SInt32>
+# array_field vcbFndrInfo, <SInt32>
+# field vcbVCSize , <UInt16>
+# field vcbVBMCSiz , <UInt16>
+# field vcbCtlCSiz , <UInt16>
+# field vcbXTAlBlks , <UInt16>
+# field vcbCTAlBlks , <UInt16>
+# field vcbXTRef , <SInt16>
+# field vcbCTRef , <SInt16>
+# field vcbCtlBuf , <Ptr>
+# field vcbDirIDM , <SInt32>
+# field vcbOffsM , <SInt16>
+# stoptype
+# synonym_t VCBtr, Ptr <VCB>
+
+# starttype DrvQEl
+# field qLink , <QElemPtr>
+# field qType , <SInt16>
+# field dQDrive , <SInt16>
+# field dQRefNum, <SInt16>
+# field dQFSID , <SInt16>
+# field dQDrvSz , <UInt16>
+# field dQDrvSz2, <UInt16>
+# stoptype
+# synonym_t DrvQElPtr, Ptr <DrvQEl>
+#endif
+
+-- FIXME: FSPermissionInfo