Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

7856 lines
256 KiB

  1. /*
  2. File: Files.h
  3. Contains: File Manager (MFS, HFS, and HFS+) Interfaces.
  4. Version: QuickTime 7.3
  5. Copyright: (c) 2007 (c) 1985-2001 by Apple Computer, Inc., all rights reserved
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://developer.apple.com/bugreporter/
  9. */
  10. #ifndef __FILES__
  11. #define __FILES__
  12. #ifndef __MACTYPES__
  13. #include <MacTypes.h>
  14. #endif
  15. #ifndef __MIXEDMODE__
  16. #include <MixedMode.h>
  17. #endif
  18. #ifndef __OSUTILS__
  19. #include <OSUtils.h>
  20. #endif
  21. #ifndef __TEXTCOMMON__
  22. #include <TextCommon.h>
  23. #endif
  24. #ifndef __UTCUTILS__
  25. #include <UTCUtils.h>
  26. #endif
  27. /* Finder constants were moved to Finder.* */
  28. #ifndef __FINDER__
  29. #include <Finder.h>
  30. #endif
  31. #if PRAGMA_ONCE
  32. #pragma once
  33. #endif
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37. #if PRAGMA_IMPORT
  38. #pragma import on
  39. #endif
  40. #if PRAGMA_STRUCT_ALIGN
  41. #pragma options align=mac68k
  42. #elif PRAGMA_STRUCT_PACKPUSH
  43. #pragma pack(push, 2)
  44. #elif PRAGMA_STRUCT_PACK
  45. #pragma pack(2)
  46. #endif
  47. #if TARGET_API_MAC_OSX
  48. #include <sys/types.h>
  49. #else
  50. // #if TARGET_OS_WIN32
  51. typedef int pid_t;
  52. #endif
  53. /* HFSUniStr255 is the Unicode equivalent of Str255 */
  54. struct HFSUniStr255 {
  55. UInt16 length; /* number of unicode characters */
  56. UniChar unicode[255]; /* unicode characters */
  57. };
  58. typedef struct HFSUniStr255 HFSUniStr255;
  59. typedef const HFSUniStr255 * ConstHFSUniStr255Param;
  60. enum {
  61. fsCurPerm = 0x00, /* open access permissions in ioPermssn */
  62. fsRdPerm = 0x01,
  63. fsWrPerm = 0x02,
  64. fsRdWrPerm = 0x03,
  65. fsRdWrShPerm = 0x04,
  66. fsRdDenyPerm = 0x10, /* for use with OpenDeny and OpenRFDeny */
  67. fsWrDenyPerm = 0x20 /* for use with OpenDeny and OpenRFDeny */
  68. };
  69. enum {
  70. fsRtParID = 1,
  71. fsRtDirID = 2
  72. };
  73. enum {
  74. fsAtMark = 0, /* positioning modes in ioPosMode */
  75. fsFromStart = 1,
  76. fsFromLEOF = 2,
  77. fsFromMark = 3
  78. };
  79. enum {
  80. /* ioPosMode flags */
  81. pleaseCacheBit = 4, /* please cache this request */
  82. pleaseCacheMask = 0x0010,
  83. noCacheBit = 5, /* please don't cache this request */
  84. noCacheMask = 0x0020,
  85. rdVerifyBit = 6, /* read verify mode */
  86. rdVerifyMask = 0x0040,
  87. rdVerify = 64, /* old name of rdVerifyMask */
  88. forceReadBit = 6,
  89. forceReadMask = 0x0040,
  90. newLineBit = 7, /* newline mode */
  91. newLineMask = 0x0080,
  92. newLineCharMask = 0xFF00 /* newline character */
  93. };
  94. enum {
  95. /* CatSearch Search bitmask Constants */
  96. fsSBPartialName = 1,
  97. fsSBFullName = 2,
  98. fsSBFlAttrib = 4,
  99. fsSBFlFndrInfo = 8,
  100. fsSBFlLgLen = 32,
  101. fsSBFlPyLen = 64,
  102. fsSBFlRLgLen = 128,
  103. fsSBFlRPyLen = 256,
  104. fsSBFlCrDat = 512,
  105. fsSBFlMdDat = 1024,
  106. fsSBFlBkDat = 2048,
  107. fsSBFlXFndrInfo = 4096,
  108. fsSBFlParID = 8192,
  109. fsSBNegate = 16384,
  110. fsSBDrUsrWds = 8,
  111. fsSBDrNmFls = 16,
  112. fsSBDrCrDat = 512,
  113. fsSBDrMdDat = 1024,
  114. fsSBDrBkDat = 2048,
  115. fsSBDrFndrInfo = 4096,
  116. fsSBDrParID = 8192
  117. };
  118. enum {
  119. /* CatSearch Search bit value Constants */
  120. fsSBPartialNameBit = 0, /*ioFileName points to a substring*/
  121. fsSBFullNameBit = 1, /*ioFileName points to a match string*/
  122. fsSBFlAttribBit = 2, /*search includes file attributes*/
  123. fsSBFlFndrInfoBit = 3, /*search includes finder info*/
  124. fsSBFlLgLenBit = 5, /*search includes data logical length*/
  125. fsSBFlPyLenBit = 6, /*search includes data physical length*/
  126. fsSBFlRLgLenBit = 7, /*search includes resource logical length*/
  127. fsSBFlRPyLenBit = 8, /*search includes resource physical length*/
  128. fsSBFlCrDatBit = 9, /*search includes create date*/
  129. fsSBFlMdDatBit = 10, /*search includes modification date*/
  130. fsSBFlBkDatBit = 11, /*search includes backup date*/
  131. fsSBFlXFndrInfoBit = 12, /*search includes extended finder info*/
  132. fsSBFlParIDBit = 13, /*search includes file's parent ID*/
  133. fsSBNegateBit = 14, /*return all non-matches*/
  134. fsSBDrUsrWdsBit = 3, /*search includes directory finder info*/
  135. fsSBDrNmFlsBit = 4, /*search includes directory valence*/
  136. fsSBDrCrDatBit = 9, /*directory-named version of fsSBFlCrDatBit*/
  137. fsSBDrMdDatBit = 10, /*directory-named version of fsSBFlMdDatBit*/
  138. fsSBDrBkDatBit = 11, /*directory-named version of fsSBFlBkDatBit*/
  139. fsSBDrFndrInfoBit = 12, /*directory-named version of fsSBFlXFndrInfoBit*/
  140. fsSBDrParIDBit = 13 /*directory-named version of fsSBFlParIDBit*/
  141. };
  142. enum {
  143. /* vMAttrib (GetVolParms) bit position constants */
  144. bLimitFCBs = 31,
  145. bLocalWList = 30,
  146. bNoMiniFndr = 29,
  147. bNoVNEdit = 28,
  148. bNoLclSync = 27,
  149. bTrshOffLine = 26,
  150. bNoSwitchTo = 25,
  151. bNoDeskItems = 20,
  152. bNoBootBlks = 19,
  153. bAccessCntl = 18,
  154. bNoSysDir = 17,
  155. bHasExtFSVol = 16,
  156. bHasOpenDeny = 15,
  157. bHasCopyFile = 14,
  158. bHasMoveRename = 13,
  159. bHasDesktopMgr = 12,
  160. bHasShortName = 11,
  161. bHasFolderLock = 10,
  162. bHasPersonalAccessPrivileges = 9,
  163. bHasUserGroupList = 8,
  164. bHasCatSearch = 7,
  165. bHasFileIDs = 6,
  166. bHasBTreeMgr = 5,
  167. bHasBlankAccessPrivileges = 4,
  168. bSupportsAsyncRequests = 3, /* asynchronous requests to this volume are handled correctly at any time*/
  169. bSupportsTrashVolumeCache = 2
  170. };
  171. enum {
  172. /* vMExtendedAttributes (GetVolParms) bit position constants */
  173. bIsEjectable = 0, /* volume is in an ejectable disk drive */
  174. bSupportsHFSPlusAPIs = 1, /* volume supports HFS Plus APIs directly (not through compatibility layer) */
  175. bSupportsFSCatalogSearch = 2, /* volume supports FSCatalogSearch */
  176. bSupportsFSExchangeObjects = 3, /* volume supports FSExchangeObjects */
  177. bSupports2TBFiles = 4, /* volume supports supports 2 terabyte files */
  178. bSupportsLongNames = 5, /* volume supports file/directory/volume names longer than 31 characters */
  179. bSupportsMultiScriptNames = 6, /* volume supports file/directory/volume names with characters from multiple script systems */
  180. bSupportsNamedForks = 7, /* volume supports forks beyond the data and resource forks */
  181. bSupportsSubtreeIterators = 8, /* volume supports recursive iterators not at the volume root */
  182. bL2PCanMapFileBlocks = 9 /* volume supports Lg2Phys SPI correctly */
  183. };
  184. enum {
  185. /* vMExtendedAttributes (GetVolParms) bit position constants */
  186. bSupportsSymbolicLinks = 13, /* volume supports the creation and use of symbolic links (Mac OS X only) */
  187. bIsAutoMounted = 14, /* volume was mounted automatically (Mac OS X only) */
  188. bAllowCDiDataHandler = 17, /* allow QuickTime's CDi data handler to examine this volume */
  189. bSupportsExclusiveLocks = 18 /* volume supports exclusive opens for writing */
  190. };
  191. enum {
  192. /* Desktop Database, ffsGetIconMessage and fsmGetFSIconMessage icon type and size Constants */
  193. kLargeIcon = 1,
  194. kLarge4BitIcon = 2,
  195. kLarge8BitIcon = 3,
  196. kSmallIcon = 4,
  197. kSmall4BitIcon = 5,
  198. kSmall8BitIcon = 6,
  199. kicnsIconFamily = 239 /* Note: The 'icns' icon family record is variable sized. */
  200. };
  201. enum {
  202. kLargeIconSize = 256,
  203. kLarge4BitIconSize = 512,
  204. kLarge8BitIconSize = 1024,
  205. kSmallIconSize = 64,
  206. kSmall4BitIconSize = 128,
  207. kSmall8BitIconSize = 256
  208. };
  209. enum {
  210. /* Large Volume Constants */
  211. kWidePosOffsetBit = 8,
  212. kUseWidePositioning = (1 << kWidePosOffsetBit),
  213. kMaximumBlocksIn4GB = 0x007FFFFF
  214. };
  215. enum {
  216. /* Foreign Privilege Model Identifiers */
  217. fsUnixPriv = 1
  218. };
  219. enum {
  220. /* Authentication Constants */
  221. kNoUserAuthentication = 1,
  222. kPassword = 2,
  223. kEncryptPassword = 3,
  224. kTwoWayEncryptPassword = 6
  225. };
  226. /* mapping codes (ioObjType) for MapName & MapID */
  227. enum {
  228. kOwnerID2Name = 1,
  229. kGroupID2Name = 2,
  230. kOwnerName2ID = 3,
  231. kGroupName2ID = 4, /* types of oj object to be returned (ioObjType) for _GetUGEntry */
  232. kReturnNextUser = 1,
  233. kReturnNextGroup = 2,
  234. kReturnNextUG = 3
  235. };
  236. /* vcbFlags bits */
  237. enum {
  238. kVCBFlagsIdleFlushBit = 3, /* Set if volume should be flushed at idle time */
  239. kVCBFlagsIdleFlushMask = 0x0008,
  240. kVCBFlagsHFSPlusAPIsBit = 4, /* Set if volume implements HFS Plus APIs itself (not via emulation) */
  241. kVCBFlagsHFSPlusAPIsMask = 0x0010,
  242. kVCBFlagsHardwareGoneBit = 5, /* Set if disk driver returned a hardwareGoneErr to Read or Write */
  243. kVCBFlagsHardwareGoneMask = 0x0020,
  244. kVCBFlagsVolumeDirtyBit = 15, /* Set if volume information has changed since the last FlushVol */
  245. kVCBFlagsVolumeDirtyMask = 0x8000
  246. };
  247. /* ioVAtrb bits returned by PBHGetVInfo and PBXGetVolInfo */
  248. enum {
  249. kioVAtrbDefaultVolumeBit = 5, /* Set if the volume is the default volume */
  250. kioVAtrbDefaultVolumeMask = 0x0020,
  251. kioVAtrbFilesOpenBit = 6, /* Set if there are open files or iterators */
  252. kioVAtrbFilesOpenMask = 0x0040,
  253. kioVAtrbHardwareLockedBit = 7, /* Set if volume is locked by a hardware setting */
  254. kioVAtrbHardwareLockedMask = 0x0080,
  255. kioVAtrbSoftwareLockedBit = 15, /* Set if volume is locked by software */
  256. kioVAtrbSoftwareLockedMask = 0x8000
  257. };
  258. /* ioFlAttrib bits returned by PBGetCatInfo */
  259. enum {
  260. /* file and directory attributes in ioFlAttrib */
  261. kioFlAttribLockedBit = 0, /* Set if file or directory is locked */
  262. kioFlAttribLockedMask = 0x01,
  263. kioFlAttribResOpenBit = 2, /* Set if resource fork is open */
  264. kioFlAttribResOpenMask = 0x04,
  265. kioFlAttribDataOpenBit = 3, /* Set if data fork is open */
  266. kioFlAttribDataOpenMask = 0x08,
  267. kioFlAttribDirBit = 4, /* Set if this is a directory */
  268. kioFlAttribDirMask = 0x10,
  269. ioDirFlg = 4, /* Set if this is a directory (old name) */
  270. ioDirMask = 0x10,
  271. kioFlAttribCopyProtBit = 6, /* Set if AppleShare server "copy-protects" the file */
  272. kioFlAttribCopyProtMask = 0x40,
  273. kioFlAttribFileOpenBit = 7, /* Set if file (either fork) is open */
  274. kioFlAttribFileOpenMask = 0x80, /* ioFlAttrib for directories only */
  275. kioFlAttribInSharedBit = 2, /* Set if the directory is within a shared area of the directory hierarchy */
  276. kioFlAttribInSharedMask = 0x04,
  277. kioFlAttribMountedBit = 3, /* Set if the directory is a share point that is mounted by some user */
  278. kioFlAttribMountedMask = 0x08,
  279. kioFlAttribSharePointBit = 5, /* Set if the directory is a share point */
  280. kioFlAttribSharePointMask = 0x20
  281. };
  282. /* ioFCBFlags bits returned by PBGetFCBInfo */
  283. enum {
  284. kioFCBWriteBit = 8, /* Data can be written to this file */
  285. kioFCBWriteMask = 0x0100,
  286. kioFCBResourceBit = 9, /* This file is a resource fork */
  287. kioFCBResourceMask = 0x0200,
  288. kioFCBWriteLockedBit = 10, /* File has a locked byte range */
  289. kioFCBWriteLockedMask = 0x0400,
  290. kioFCBLargeFileBit = 11, /* File may grow beyond 2GB; cache uses file blocks, not bytes */
  291. kioFCBLargeFileMask = 0x0800,
  292. kioFCBSharedWriteBit = 12, /* File is open for shared write access */
  293. kioFCBSharedWriteMask = 0x1000,
  294. kioFCBFileLockedBit = 13, /* File is locked (write-protected) */
  295. kioFCBFileLockedMask = 0x2000,
  296. kioFCBOwnClumpBit = 14, /* File has clump size specified in FCB */
  297. kioFCBOwnClumpMask = 0x4000,
  298. kioFCBModifiedBit = 15, /* File has changed since it was last flushed */
  299. kioFCBModifiedMask = 0x8000
  300. };
  301. /* ioACUser bits returned by PBGetCatInfo */
  302. /* Note: you must clear ioACUser before calling PBGetCatInfo because some file systems do not use this field */
  303. enum {
  304. kioACUserNoSeeFolderBit = 0, /* Set if user does not have See Folder privileges */
  305. kioACUserNoSeeFolderMask = 0x01,
  306. kioACUserNoSeeFilesBit = 1, /* Set if user does not have See Files privileges */
  307. kioACUserNoSeeFilesMask = 0x02,
  308. kioACUserNoMakeChangesBit = 2, /* Set if user does not have Make Changes privileges */
  309. kioACUserNoMakeChangesMask = 0x04,
  310. kioACUserNotOwnerBit = 7, /* Set if user is not owner of the directory */
  311. kioACUserNotOwnerMask = 0x80
  312. };
  313. /* Folder and File values of access privileges in ioACAccess */
  314. enum {
  315. kioACAccessOwnerBit = 31, /* User is owner of directory */
  316. kioACAccessOwnerMask = (long)0x80000000,
  317. kioACAccessBlankAccessBit = 28, /* Directory has blank access privileges */
  318. kioACAccessBlankAccessMask = 0x10000000,
  319. kioACAccessUserWriteBit = 26, /* User has write privileges */
  320. kioACAccessUserWriteMask = 0x04000000,
  321. kioACAccessUserReadBit = 25, /* User has read privileges */
  322. kioACAccessUserReadMask = 0x02000000,
  323. kioACAccessUserSearchBit = 24, /* User has search privileges */
  324. kioACAccessUserSearchMask = 0x01000000,
  325. kioACAccessEveryoneWriteBit = 18, /* Everyone has write privileges */
  326. kioACAccessEveryoneWriteMask = 0x00040000,
  327. kioACAccessEveryoneReadBit = 17, /* Everyone has read privileges */
  328. kioACAccessEveryoneReadMask = 0x00020000,
  329. kioACAccessEveryoneSearchBit = 16, /* Everyone has search privileges */
  330. kioACAccessEveryoneSearchMask = 0x00010000,
  331. kioACAccessGroupWriteBit = 10, /* Group has write privileges */
  332. kioACAccessGroupWriteMask = 0x00000400,
  333. kioACAccessGroupReadBit = 9, /* Group has read privileges */
  334. kioACAccessGroupReadMask = 0x00000200,
  335. kioACAccessGroupSearchBit = 8, /* Group has search privileges */
  336. kioACAccessGroupSearchMask = 0x00000100,
  337. kioACAccessOwnerWriteBit = 2, /* Owner has write privileges */
  338. kioACAccessOwnerWriteMask = 0x00000004,
  339. kioACAccessOwnerReadBit = 1, /* Owner has read privileges */
  340. kioACAccessOwnerReadMask = 0x00000002,
  341. kioACAccessOwnerSearchBit = 0, /* Owner has search privileges */
  342. kioACAccessOwnerSearchMask = 0x00000001,
  343. kfullPrivileges = 0x00070007, /* all privileges for everybody and owner*/
  344. kownerPrivileges = 0x00000007 /* all privileges for owner only*/
  345. };
  346. /* values of user IDs and group IDs */
  347. enum {
  348. knoUser = 0,
  349. kadministratorUser = 1
  350. };
  351. enum {
  352. knoGroup = 0
  353. };
  354. struct GetVolParmsInfoBuffer {
  355. short vMVersion; /*version number*/
  356. long vMAttrib; /*bit vector of attributes (see vMAttrib constants)*/
  357. Handle vMLocalHand; /*handle to private data*/
  358. long vMServerAdr; /*AppleTalk server address or zero*/
  359. /* vMVersion 1 GetVolParmsInfoBuffer ends here */
  360. long vMVolumeGrade; /*approx. speed rating or zero if unrated*/
  361. short vMForeignPrivID; /*foreign privilege model supported or zero if none*/
  362. /* vMVersion 2 GetVolParmsInfoBuffer ends here */
  363. long vMExtendedAttributes; /*extended attribute bits (see vMExtendedAttributes constants)*/
  364. /* vMVersion 3 GetVolParmsInfoBuffer ends here */
  365. void * vMDeviceID; /* device id name for interoperability with IOKit */
  366. /* vMVersion 4 GetVolParmsInfoBuffer ends here */
  367. UniCharCount vMMaxNameLength;
  368. /* vMVersion 5 GetVolParmsInfoBuffer ends here */
  369. };
  370. typedef struct GetVolParmsInfoBuffer GetVolParmsInfoBuffer;
  371. typedef union ParamBlockRec ParamBlockRec;
  372. typedef ParamBlockRec * ParmBlkPtr;
  373. typedef CALLBACK_API_REGISTER68K( void , IOCompletionProcPtr, (ParmBlkPtr paramBlock) );
  374. typedef REGISTER_UPP_TYPE(IOCompletionProcPtr) IOCompletionUPP;
  375. struct IOParam {
  376. QElemPtr qLink; /*queue link in header*/
  377. short qType; /*type byte for safety check*/
  378. short ioTrap; /*FS: the Trap*/
  379. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  380. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  381. volatile OSErr ioResult; /*result code*/
  382. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  383. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  384. short ioRefNum; /*refNum for I/O operation*/
  385. SInt8 ioVersNum; /*version number*/
  386. SInt8 ioPermssn; /*Open: permissions (byte)*/
  387. Ptr ioMisc; /*Rename: new name (GetEOF,SetEOF: logical end of file) (Open: optional ptr to buffer) (SetFileType: new type)*/
  388. Ptr ioBuffer; /*data buffer Ptr*/
  389. long ioReqCount; /*requested byte count; also = ioNewDirID*/
  390. long ioActCount; /*actual byte count completed*/
  391. short ioPosMode; /*initial file positioning*/
  392. long ioPosOffset; /*file position offset*/
  393. };
  394. typedef struct IOParam IOParam;
  395. typedef IOParam * IOParamPtr;
  396. struct FileParam {
  397. QElemPtr qLink; /*queue link in header*/
  398. short qType; /*type byte for safety check*/
  399. short ioTrap; /*FS: the Trap*/
  400. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  401. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  402. volatile OSErr ioResult; /*result code*/
  403. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  404. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  405. short ioFRefNum; /*reference number*/
  406. SInt8 ioFVersNum; /*version number*/
  407. SInt8 filler1;
  408. short ioFDirIndex; /*GetFInfo directory index*/
  409. SInt8 ioFlAttrib; /*GetFInfo: in-use bit=7, lock bit=0*/
  410. SInt8 ioFlVersNum; /*file version number*/
  411. FInfo ioFlFndrInfo; /*user info*/
  412. unsigned long ioFlNum; /*GetFInfo: file number; TF- ioDirID*/
  413. unsigned short ioFlStBlk; /*start file block (0 if none)*/
  414. long ioFlLgLen; /*logical length (EOF)*/
  415. long ioFlPyLen; /*physical length*/
  416. unsigned short ioFlRStBlk; /*start block rsrc fork*/
  417. long ioFlRLgLen; /*file logical length rsrc fork*/
  418. long ioFlRPyLen; /*file physical length rsrc fork*/
  419. unsigned long ioFlCrDat; /*file creation date& time (32 bits in secs)*/
  420. unsigned long ioFlMdDat; /*last modified date and time*/
  421. };
  422. typedef struct FileParam FileParam;
  423. typedef FileParam * FileParamPtr;
  424. struct VolumeParam {
  425. QElemPtr qLink; /*queue link in header*/
  426. short qType; /*type byte for safety check*/
  427. short ioTrap; /*FS: the Trap*/
  428. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  429. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  430. volatile OSErr ioResult; /*result code*/
  431. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  432. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  433. long filler2;
  434. short ioVolIndex; /*volume index number*/
  435. unsigned long ioVCrDate; /*creation date and time*/
  436. unsigned long ioVLsBkUp; /*last backup date and time*/
  437. unsigned short ioVAtrb; /*volume attrib*/
  438. unsigned short ioVNmFls; /*number of files in directory*/
  439. unsigned short ioVDirSt; /*start block of file directory*/
  440. short ioVBlLn; /*GetVolInfo: length of dir in blocks*/
  441. unsigned short ioVNmAlBlks; /*for compatibilty ioVNmAlBlks * ioVAlBlkSiz <= 2 GB*/
  442. unsigned long ioVAlBlkSiz; /*for compatibilty ioVAlBlkSiz is <= $0000FE00 (65,024)*/
  443. unsigned long ioVClpSiz; /*GetVolInfo: bytes to allocate at a time*/
  444. unsigned short ioAlBlSt; /*starting disk(512-byte) block in block map*/
  445. unsigned long ioVNxtFNum; /*GetVolInfo: next free file number*/
  446. unsigned short ioVFrBlk; /*GetVolInfo: # free alloc blks for this vol*/
  447. };
  448. typedef struct VolumeParam VolumeParam;
  449. typedef VolumeParam * VolumeParamPtr;
  450. struct CntrlParam {
  451. QElemPtr qLink; /*queue link in header*/
  452. short qType; /*type byte for safety check*/
  453. short ioTrap; /*FS: the Trap*/
  454. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  455. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  456. volatile OSErr ioResult; /*result code*/
  457. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  458. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  459. short ioCRefNum; /*refNum for I/O operation*/
  460. short csCode; /*word for control status code*/
  461. short csParam[11]; /*operation-defined parameters*/
  462. };
  463. typedef struct CntrlParam CntrlParam;
  464. typedef CntrlParam * CntrlParamPtr;
  465. struct SlotDevParam {
  466. QElemPtr qLink; /*queue link in header*/
  467. short qType; /*type byte for safety check*/
  468. short ioTrap; /*FS: the Trap*/
  469. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  470. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  471. volatile OSErr ioResult; /*result code*/
  472. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  473. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  474. short ioSRefNum;
  475. SInt8 ioSVersNum;
  476. SInt8 ioSPermssn;
  477. Ptr ioSMix;
  478. short ioSFlags;
  479. SInt8 ioSlot;
  480. SInt8 ioID;
  481. };
  482. typedef struct SlotDevParam SlotDevParam;
  483. typedef SlotDevParam * SlotDevParamPtr;
  484. struct MultiDevParam {
  485. QElemPtr qLink; /*queue link in header*/
  486. short qType; /*type byte for safety check*/
  487. short ioTrap; /*FS: the Trap*/
  488. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  489. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  490. volatile OSErr ioResult; /*result code*/
  491. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  492. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  493. short ioMRefNum;
  494. SInt8 ioMVersNum;
  495. SInt8 ioMPermssn;
  496. Ptr ioMMix;
  497. short ioMFlags;
  498. Ptr ioSEBlkPtr;
  499. };
  500. typedef struct MultiDevParam MultiDevParam;
  501. typedef MultiDevParam * MultiDevParamPtr;
  502. union ParamBlockRec {
  503. IOParam ioParam;
  504. FileParam fileParam;
  505. VolumeParam volumeParam;
  506. CntrlParam cntrlParam;
  507. SlotDevParam slotDevParam;
  508. MultiDevParam multiDevParam;
  509. };
  510. struct HFileInfo {
  511. QElemPtr qLink; /*queue link in header*/
  512. short qType; /*type byte for safety check*/
  513. short ioTrap; /*FS: the Trap*/
  514. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  515. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  516. volatile OSErr ioResult; /*result code*/
  517. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  518. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  519. short ioFRefNum;
  520. SInt8 ioFVersNum;
  521. SInt8 filler1;
  522. short ioFDirIndex;
  523. SInt8 ioFlAttrib;
  524. SInt8 ioACUser;
  525. FInfo ioFlFndrInfo;
  526. long ioDirID;
  527. unsigned short ioFlStBlk;
  528. long ioFlLgLen;
  529. long ioFlPyLen;
  530. unsigned short ioFlRStBlk;
  531. long ioFlRLgLen;
  532. long ioFlRPyLen;
  533. unsigned long ioFlCrDat;
  534. unsigned long ioFlMdDat;
  535. unsigned long ioFlBkDat;
  536. FXInfo ioFlXFndrInfo;
  537. long ioFlParID;
  538. long ioFlClpSiz;
  539. };
  540. typedef struct HFileInfo HFileInfo;
  541. struct DirInfo {
  542. QElemPtr qLink; /*queue link in header*/
  543. short qType; /*type byte for safety check*/
  544. short ioTrap; /*FS: the Trap*/
  545. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  546. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  547. volatile OSErr ioResult; /*result code*/
  548. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  549. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  550. short ioFRefNum;
  551. SInt8 ioFVersNum;
  552. SInt8 filler1;
  553. short ioFDirIndex;
  554. SInt8 ioFlAttrib;
  555. SInt8 ioACUser;
  556. DInfo ioDrUsrWds;
  557. long ioDrDirID;
  558. unsigned short ioDrNmFls;
  559. short filler3[9];
  560. unsigned long ioDrCrDat;
  561. unsigned long ioDrMdDat;
  562. unsigned long ioDrBkDat;
  563. DXInfo ioDrFndrInfo;
  564. long ioDrParID;
  565. };
  566. typedef struct DirInfo DirInfo;
  567. union CInfoPBRec {
  568. HFileInfo hFileInfo;
  569. DirInfo dirInfo;
  570. };
  571. typedef union CInfoPBRec CInfoPBRec;
  572. typedef CInfoPBRec * CInfoPBPtr;
  573. struct XCInfoPBRec {
  574. QElemPtr qLink;
  575. short qType;
  576. short ioTrap;
  577. Ptr ioCmdAddr;
  578. ProcPtr ioCompletion; /* --> A pointer to a completion routine */
  579. volatile OSErr ioResult; /* --> The result code of the function */
  580. StringPtr ioNamePtr; /* --> Pointer to pathname to object */
  581. short ioVRefNum; /* --> A volume specification */
  582. long filler1;
  583. StringPtr ioShortNamePtr; /* <-> A pointer to the short name string buffer - required! */
  584. short filler2;
  585. short ioPDType; /* <-- The ProDOS file type */
  586. long ioPDAuxType; /* <-- The ProDOS aux type */
  587. long filler3[2];
  588. long ioDirID; /* --> A directory ID */
  589. };
  590. typedef struct XCInfoPBRec XCInfoPBRec;
  591. typedef XCInfoPBRec * XCInfoPBPtr;
  592. /* Catalog position record */
  593. struct CatPositionRec {
  594. long initialize;
  595. short priv[6];
  596. };
  597. typedef struct CatPositionRec CatPositionRec;
  598. struct FSSpec {
  599. short vRefNum;
  600. long parID;
  601. StrFileName name; /* a Str63 on MacOS*/
  602. };
  603. typedef struct FSSpec FSSpec;
  604. typedef FSSpec * FSSpecPtr;
  605. typedef FSSpecPtr * FSSpecHandle;
  606. /* pointer to array of FSSpecs */
  607. typedef FSSpecPtr FSSpecArrayPtr;
  608. /*
  609. The only difference between "const FSSpec*" and "ConstFSSpecPtr" is
  610. that as a parameter, ConstFSSpecPtr is allowed to be NULL
  611. */
  612. typedef const FSSpec * ConstFSSpecPtr;
  613. /*
  614. The following are structures to be filled out with the _PBGetVolMountInfo call
  615. and passed back into the _PBVolumeMount call for external file system mounts.
  616. */
  617. /* the "signature" of the file system */
  618. typedef OSType VolumeType;
  619. enum {
  620. /* the signature for AppleShare */
  621. AppleShareMediaType = FOUR_CHAR_CODE('afpm')
  622. };
  623. /*
  624. VolMount stuff was once in FSM.*
  625. */
  626. struct VolMountInfoHeader {
  627. short length; /* length of location data (including self) */
  628. VolumeType media; /* type of media. Variable length data follows */
  629. };
  630. typedef struct VolMountInfoHeader VolMountInfoHeader;
  631. typedef VolMountInfoHeader * VolMountInfoPtr;
  632. /* The new volume mount info record. The old one is included for compatibility.
  633. the new record allows access by foriegn filesystems writers to the flags
  634. portion of the record. This portion is now public.
  635. */
  636. struct VolumeMountInfoHeader {
  637. short length; /* length of location data (including self) */
  638. VolumeType media; /* type of media (must be registered with Apple) */
  639. short flags; /* volume mount flags. Variable length data follows */
  640. };
  641. typedef struct VolumeMountInfoHeader VolumeMountInfoHeader;
  642. typedef VolumeMountInfoHeader * VolumeMountInfoHeaderPtr;
  643. /* volume mount flags */
  644. enum {
  645. volMountNoLoginMsgFlagBit = 0, /* Input to VolumeMount: If set, the file system */
  646. volMountNoLoginMsgFlagMask = 0x0001, /* should suppresss any log-in message/greeting dialog */
  647. volMountExtendedFlagsBit = 7, /* Input to VolumeMount: If set, the mount info is a */
  648. volMountExtendedFlagsMask = 0x0080, /* AFPXVolMountInfo record for 3.7 AppleShare Client */
  649. volMountInteractBit = 15, /* Input to VolumeMount: If set, it's OK for the file system */
  650. volMountInteractMask = 0x8000, /* to perform user interaction to mount the volume */
  651. volMountChangedBit = 14, /* Output from VoumeMount: If set, the volume was mounted, but */
  652. volMountChangedMask = 0x4000, /* the volume mounting information record needs to be updated. */
  653. volMountFSReservedMask = 0x00FF, /* bits 0-7 are defined by each file system for its own use */
  654. volMountSysReservedMask = 0xFF00 /* bits 8-15 are reserved for Apple system use */
  655. };
  656. struct AFPVolMountInfo {
  657. short length; /* length of location data (including self) */
  658. VolumeType media; /* type of media */
  659. short flags; /* bits for no messages, no reconnect */
  660. SInt8 nbpInterval; /* NBP Interval parameter (IM2, p.322) */
  661. SInt8 nbpCount; /* NBP Interval parameter (IM2, p.322) */
  662. short uamType; /* User Authentication Method */
  663. short zoneNameOffset; /* short positive offset from start of struct to Zone Name */
  664. short serverNameOffset; /* offset to pascal Server Name string */
  665. short volNameOffset; /* offset to pascal Volume Name string */
  666. short userNameOffset; /* offset to pascal User Name string */
  667. short userPasswordOffset; /* offset to pascal User Password string */
  668. short volPasswordOffset; /* offset to pascal Volume Password string */
  669. char AFPData[144]; /* variable length data may follow */
  670. };
  671. typedef struct AFPVolMountInfo AFPVolMountInfo;
  672. typedef AFPVolMountInfo * AFPVolMountInfoPtr;
  673. /* AFPXVolMountInfo is the new AFP volume mount info record, requires the 3.7 AppleShare Client */
  674. struct AFPXVolMountInfo {
  675. short length; /* length of location data (including self) */
  676. VolumeType media; /* type of media */
  677. short flags; /* bits for no messages, no reconnect */
  678. SInt8 nbpInterval; /* NBP Interval parameter (IM2, p.322) */
  679. SInt8 nbpCount; /* NBP Interval parameter (IM2, p.322) */
  680. short uamType; /* User Authentication Method type */
  681. short zoneNameOffset; /* short positive offset from start of struct to Zone Name */
  682. short serverNameOffset; /* offset to pascal Server Name string */
  683. short volNameOffset; /* offset to pascal Volume Name string */
  684. short userNameOffset; /* offset to pascal User Name string */
  685. short userPasswordOffset; /* offset to pascal User Password string */
  686. short volPasswordOffset; /* offset to pascal Volume Password string */
  687. short extendedFlags; /* extended flags word */
  688. short uamNameOffset; /* offset to a pascal UAM name string */
  689. short alternateAddressOffset; /* offset to Alternate Addresses in tagged format */
  690. char AFPData[176]; /* variable length data may follow */
  691. };
  692. typedef struct AFPXVolMountInfo AFPXVolMountInfo;
  693. typedef AFPXVolMountInfo * AFPXVolMountInfoPtr;
  694. enum {
  695. kAFPExtendedFlagsAlternateAddressMask = 1 /* bit in AFPXVolMountInfo.extendedFlags that means alternateAddressOffset is used*/
  696. };
  697. enum {
  698. /* constants for use in AFPTagData.fType field*/
  699. kAFPTagTypeIP = 0x01, /* 4 byte IP address (MSB first) */
  700. kAFPTagTypeIPPort = 0x02, /* 4 byte IP address, 2 byte port (MSB first) */
  701. kAFPTagTypeDDP = 0x03, /* Net,Node,Socket Sent by the server, currently unused by the client */
  702. kAFPTagTypeDNS = 0x04 /* DNS name in address:port format (total length variable up to 254 chars of dns name) */
  703. };
  704. enum {
  705. /* constants for use in AFPTagData.fLength field*/
  706. kAFPTagLengthIP = 0x06,
  707. kAFPTagLengthIPPort = 0x08,
  708. kAFPTagLengthDDP = 0x06
  709. };
  710. struct AFPTagData {
  711. UInt8 fLength; /* length of this data tag including the fLength field */
  712. UInt8 fType;
  713. UInt8 fData[1]; /* variable length data */
  714. };
  715. typedef struct AFPTagData AFPTagData;
  716. struct AFPAlternateAddress {
  717. /* ooo.NOTE: fVersion was missing in 3.2 Universal Interfaces*/
  718. UInt8 fVersion; /* version of the structure (currently 0x00)*/
  719. UInt8 fAddressCount;
  720. UInt8 fAddressList[1]; /* actually variable length packed set of AFPTagData */
  721. };
  722. typedef struct AFPAlternateAddress AFPAlternateAddress;
  723. struct DTPBRec {
  724. QElemPtr qLink; /*queue link in header*/
  725. short qType; /*type byte for safety check*/
  726. short ioTrap; /*FS: the Trap*/
  727. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  728. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  729. volatile OSErr ioResult; /*result code*/
  730. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  731. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  732. short ioDTRefNum; /* desktop refnum */
  733. short ioIndex;
  734. long ioTagInfo;
  735. Ptr ioDTBuffer;
  736. long ioDTReqCount;
  737. long ioDTActCount;
  738. SInt8 ioFiller1;
  739. UInt8 ioIconType;
  740. short ioFiller2;
  741. long ioDirID;
  742. OSType ioFileCreator;
  743. OSType ioFileType;
  744. long ioFiller3;
  745. long ioDTLgLen;
  746. long ioDTPyLen;
  747. short ioFiller4[14];
  748. long ioAPPLParID;
  749. };
  750. typedef struct DTPBRec DTPBRec;
  751. typedef DTPBRec * DTPBPtr;
  752. struct HIOParam {
  753. QElemPtr qLink; /*queue link in header*/
  754. short qType; /*type byte for safety check*/
  755. short ioTrap; /*FS: the Trap*/
  756. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  757. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  758. volatile OSErr ioResult; /*result code*/
  759. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  760. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  761. short ioRefNum;
  762. SInt8 ioVersNum;
  763. SInt8 ioPermssn;
  764. Ptr ioMisc;
  765. Ptr ioBuffer;
  766. long ioReqCount;
  767. long ioActCount;
  768. short ioPosMode;
  769. long ioPosOffset;
  770. };
  771. typedef struct HIOParam HIOParam;
  772. typedef HIOParam * HIOParamPtr;
  773. struct HFileParam {
  774. QElemPtr qLink; /*queue link in header*/
  775. short qType; /*type byte for safety check*/
  776. short ioTrap; /*FS: the Trap*/
  777. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  778. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  779. volatile OSErr ioResult; /*result code*/
  780. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  781. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  782. short ioFRefNum;
  783. SInt8 ioFVersNum;
  784. SInt8 filler1;
  785. short ioFDirIndex;
  786. SInt8 ioFlAttrib;
  787. SInt8 ioFlVersNum;
  788. FInfo ioFlFndrInfo;
  789. long ioDirID;
  790. unsigned short ioFlStBlk;
  791. long ioFlLgLen;
  792. long ioFlPyLen;
  793. unsigned short ioFlRStBlk;
  794. long ioFlRLgLen;
  795. long ioFlRPyLen;
  796. unsigned long ioFlCrDat;
  797. unsigned long ioFlMdDat;
  798. };
  799. typedef struct HFileParam HFileParam;
  800. typedef HFileParam * HFileParamPtr;
  801. struct HVolumeParam {
  802. QElemPtr qLink; /*queue link in header*/
  803. short qType; /*type byte for safety check*/
  804. short ioTrap; /*FS: the Trap*/
  805. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  806. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  807. volatile OSErr ioResult; /*result code*/
  808. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  809. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  810. long filler2;
  811. short ioVolIndex;
  812. unsigned long ioVCrDate;
  813. unsigned long ioVLsMod;
  814. short ioVAtrb;
  815. unsigned short ioVNmFls;
  816. unsigned short ioVBitMap;
  817. unsigned short ioAllocPtr;
  818. unsigned short ioVNmAlBlks;
  819. unsigned long ioVAlBlkSiz;
  820. unsigned long ioVClpSiz;
  821. unsigned short ioAlBlSt;
  822. unsigned long ioVNxtCNID;
  823. unsigned short ioVFrBlk;
  824. unsigned short ioVSigWord;
  825. short ioVDrvInfo;
  826. short ioVDRefNum;
  827. short ioVFSID;
  828. unsigned long ioVBkUp;
  829. short ioVSeqNum;
  830. unsigned long ioVWrCnt;
  831. unsigned long ioVFilCnt;
  832. unsigned long ioVDirCnt;
  833. long ioVFndrInfo[8];
  834. };
  835. typedef struct HVolumeParam HVolumeParam;
  836. typedef HVolumeParam * HVolumeParamPtr;
  837. struct XIOParam {
  838. QElemPtr qLink;
  839. short qType;
  840. short ioTrap;
  841. Ptr ioCmdAddr;
  842. IOCompletionUPP ioCompletion;
  843. volatile OSErr ioResult;
  844. StringPtr ioNamePtr;
  845. short ioVRefNum;
  846. short ioRefNum;
  847. SInt8 ioVersNum;
  848. SInt8 ioPermssn;
  849. Ptr ioMisc;
  850. Ptr ioBuffer;
  851. long ioReqCount;
  852. long ioActCount;
  853. short ioPosMode; /* must have kUseWidePositioning bit set */
  854. wide ioWPosOffset; /* wide positioning offset */
  855. };
  856. typedef struct XIOParam XIOParam;
  857. typedef XIOParam * XIOParamPtr;
  858. struct XVolumeParam {
  859. QElemPtr qLink;
  860. short qType;
  861. short ioTrap;
  862. Ptr ioCmdAddr;
  863. IOCompletionUPP ioCompletion;
  864. volatile OSErr ioResult;
  865. StringPtr ioNamePtr;
  866. short ioVRefNum;
  867. unsigned long ioXVersion; /* this XVolumeParam version (0) */
  868. short ioVolIndex;
  869. unsigned long ioVCrDate;
  870. unsigned long ioVLsMod;
  871. short ioVAtrb;
  872. unsigned short ioVNmFls;
  873. unsigned short ioVBitMap;
  874. unsigned short ioAllocPtr;
  875. unsigned short ioVNmAlBlks;
  876. unsigned long ioVAlBlkSiz;
  877. unsigned long ioVClpSiz;
  878. unsigned short ioAlBlSt;
  879. unsigned long ioVNxtCNID;
  880. unsigned short ioVFrBlk;
  881. unsigned short ioVSigWord;
  882. short ioVDrvInfo;
  883. short ioVDRefNum;
  884. short ioVFSID;
  885. unsigned long ioVBkUp;
  886. short ioVSeqNum;
  887. unsigned long ioVWrCnt;
  888. unsigned long ioVFilCnt;
  889. unsigned long ioVDirCnt;
  890. long ioVFndrInfo[8];
  891. UInt64 ioVTotalBytes; /* total number of bytes on volume */
  892. UInt64 ioVFreeBytes; /* number of free bytes on volume */
  893. };
  894. typedef struct XVolumeParam XVolumeParam;
  895. typedef XVolumeParam * XVolumeParamPtr;
  896. struct AccessParam {
  897. QElemPtr qLink; /*queue link in header*/
  898. short qType; /*type byte for safety check*/
  899. short ioTrap; /*FS: the Trap*/
  900. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  901. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  902. volatile OSErr ioResult; /*result code*/
  903. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  904. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  905. short filler3;
  906. short ioDenyModes; /*access rights data*/
  907. short filler4;
  908. SInt8 filler5;
  909. SInt8 ioACUser; /*access rights for directory only*/
  910. long filler6;
  911. long ioACOwnerID; /*owner ID*/
  912. long ioACGroupID; /*group ID*/
  913. long ioACAccess; /*access rights*/
  914. long ioDirID;
  915. };
  916. typedef struct AccessParam AccessParam;
  917. typedef AccessParam * AccessParamPtr;
  918. struct ObjParam {
  919. QElemPtr qLink; /*queue link in header*/
  920. short qType; /*type byte for safety check*/
  921. short ioTrap; /*FS: the Trap*/
  922. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  923. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  924. volatile OSErr ioResult; /*result code*/
  925. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  926. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  927. short filler7;
  928. short ioObjType; /*function code*/
  929. StringPtr ioObjNamePtr; /*ptr to returned creator/group name*/
  930. long ioObjID; /*creator/group ID*/
  931. };
  932. typedef struct ObjParam ObjParam;
  933. typedef ObjParam * ObjParamPtr;
  934. struct CopyParam {
  935. QElemPtr qLink; /*queue link in header*/
  936. short qType; /*type byte for safety check*/
  937. short ioTrap; /*FS: the Trap*/
  938. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  939. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  940. volatile OSErr ioResult; /*result code*/
  941. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  942. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  943. short ioDstVRefNum; /*destination vol identifier*/
  944. short filler8;
  945. StringPtr ioNewName; /*ptr to destination pathname*/
  946. StringPtr ioCopyName; /*ptr to optional name*/
  947. long ioNewDirID; /*destination directory ID*/
  948. long filler14;
  949. long filler15;
  950. long ioDirID;
  951. };
  952. typedef struct CopyParam CopyParam;
  953. typedef CopyParam * CopyParamPtr;
  954. struct WDParam {
  955. QElemPtr qLink; /*queue link in header*/
  956. short qType; /*type byte for safety check*/
  957. short ioTrap; /*FS: the Trap*/
  958. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  959. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  960. volatile OSErr ioResult; /*result code*/
  961. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  962. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  963. short ioWDCreated;
  964. short ioWDIndex;
  965. long ioWDProcID;
  966. short ioWDVRefNum;
  967. short filler10;
  968. long filler11;
  969. long filler12;
  970. long filler13;
  971. long ioWDDirID;
  972. };
  973. typedef struct WDParam WDParam;
  974. typedef WDParam * WDParamPtr;
  975. struct FIDParam {
  976. QElemPtr qLink; /*queue link in header*/
  977. short qType; /*type byte for safety check*/
  978. short ioTrap; /*FS: the Trap*/
  979. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  980. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  981. volatile OSErr ioResult; /*result code*/
  982. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  983. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  984. long filler14;
  985. StringPtr ioDestNamePtr; /* dest file name */
  986. long filler15;
  987. long ioDestDirID; /* dest file's directory id */
  988. long filler16;
  989. long filler17;
  990. long ioSrcDirID; /* source file's directory id */
  991. short filler18;
  992. long ioFileID; /* file ID */
  993. };
  994. typedef struct FIDParam FIDParam;
  995. typedef FIDParam * FIDParamPtr;
  996. struct ForeignPrivParam {
  997. QElemPtr qLink; /*queue link in header*/
  998. short qType; /*type byte for safety check*/
  999. short ioTrap; /*FS: the Trap*/
  1000. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  1001. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  1002. volatile OSErr ioResult; /*result code*/
  1003. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  1004. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  1005. long ioFiller21;
  1006. long ioFiller22;
  1007. Ptr ioForeignPrivBuffer;
  1008. long ioForeignPrivActCount;
  1009. long ioForeignPrivReqCount;
  1010. long ioFiller23;
  1011. long ioForeignPrivDirID;
  1012. long ioForeignPrivInfo1;
  1013. long ioForeignPrivInfo2;
  1014. long ioForeignPrivInfo3;
  1015. long ioForeignPrivInfo4;
  1016. };
  1017. typedef struct ForeignPrivParam ForeignPrivParam;
  1018. typedef ForeignPrivParam * ForeignPrivParamPtr;
  1019. struct CSParam {
  1020. QElemPtr qLink; /*queue link in header*/
  1021. short qType; /*type byte for safety check*/
  1022. short ioTrap; /*FS: the Trap*/
  1023. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  1024. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  1025. volatile OSErr ioResult; /*result code*/
  1026. StringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  1027. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  1028. FSSpecPtr ioMatchPtr; /* match array */
  1029. long ioReqMatchCount; /* maximum allowable matches */
  1030. long ioActMatchCount; /* actual match count */
  1031. long ioSearchBits; /* search criteria selector */
  1032. CInfoPBPtr ioSearchInfo1; /* search values and range lower bounds */
  1033. CInfoPBPtr ioSearchInfo2; /* search values and range upper bounds */
  1034. long ioSearchTime; /* length of time to run search */
  1035. CatPositionRec ioCatPosition; /* current position in the catalog */
  1036. Ptr ioOptBuffer; /* optional performance enhancement buffer */
  1037. long ioOptBufSize; /* size of buffer pointed to by ioOptBuffer */
  1038. };
  1039. typedef struct CSParam CSParam;
  1040. typedef CSParam * CSParamPtr;
  1041. union HParamBlockRec {
  1042. HIOParam ioParam;
  1043. HFileParam fileParam;
  1044. HVolumeParam volumeParam;
  1045. AccessParam accessParam;
  1046. ObjParam objParam;
  1047. CopyParam copyParam;
  1048. WDParam wdParam;
  1049. FIDParam fidParam;
  1050. CSParam csParam;
  1051. ForeignPrivParam foreignPrivParam;
  1052. };
  1053. typedef union HParamBlockRec HParamBlockRec;
  1054. typedef HParamBlockRec * HParmBlkPtr;
  1055. struct CMovePBRec {
  1056. QElemPtr qLink;
  1057. short qType;
  1058. short ioTrap;
  1059. Ptr ioCmdAddr;
  1060. IOCompletionUPP ioCompletion;
  1061. volatile OSErr ioResult;
  1062. StringPtr ioNamePtr;
  1063. short ioVRefNum;
  1064. long filler1;
  1065. StringPtr ioNewName;
  1066. long filler2;
  1067. long ioNewDirID;
  1068. long filler3[2];
  1069. long ioDirID;
  1070. };
  1071. typedef struct CMovePBRec CMovePBRec;
  1072. typedef CMovePBRec * CMovePBPtr;
  1073. struct WDPBRec {
  1074. QElemPtr qLink;
  1075. short qType;
  1076. short ioTrap;
  1077. Ptr ioCmdAddr;
  1078. IOCompletionUPP ioCompletion;
  1079. volatile OSErr ioResult;
  1080. StringPtr ioNamePtr;
  1081. short ioVRefNum;
  1082. short filler1;
  1083. short ioWDIndex;
  1084. long ioWDProcID;
  1085. short ioWDVRefNum;
  1086. short filler2[7];
  1087. long ioWDDirID;
  1088. };
  1089. typedef struct WDPBRec WDPBRec;
  1090. typedef WDPBRec * WDPBPtr;
  1091. struct FCBPBRec {
  1092. QElemPtr qLink;
  1093. short qType;
  1094. short ioTrap;
  1095. Ptr ioCmdAddr;
  1096. IOCompletionUPP ioCompletion;
  1097. volatile OSErr ioResult;
  1098. StringPtr ioNamePtr;
  1099. short ioVRefNum;
  1100. short ioRefNum;
  1101. short filler;
  1102. short ioFCBIndx;
  1103. short filler1;
  1104. long ioFCBFlNm;
  1105. short ioFCBFlags;
  1106. unsigned short ioFCBStBlk;
  1107. long ioFCBEOF;
  1108. long ioFCBPLen;
  1109. long ioFCBCrPs;
  1110. short ioFCBVRefNum;
  1111. long ioFCBClpSiz;
  1112. long ioFCBParID;
  1113. };
  1114. typedef struct FCBPBRec FCBPBRec;
  1115. typedef FCBPBRec * FCBPBPtr;
  1116. struct VCB {
  1117. QElemPtr qLink;
  1118. short qType;
  1119. short vcbFlags;
  1120. unsigned short vcbSigWord;
  1121. unsigned long vcbCrDate;
  1122. unsigned long vcbLsMod;
  1123. short vcbAtrb;
  1124. unsigned short vcbNmFls;
  1125. short vcbVBMSt;
  1126. short vcbAllocPtr;
  1127. unsigned short vcbNmAlBlks;
  1128. long vcbAlBlkSiz;
  1129. long vcbClpSiz;
  1130. short vcbAlBlSt;
  1131. long vcbNxtCNID;
  1132. unsigned short vcbFreeBks;
  1133. Str27 vcbVN;
  1134. short vcbDrvNum;
  1135. short vcbDRefNum;
  1136. short vcbFSID;
  1137. short vcbVRefNum;
  1138. Ptr vcbMAdr;
  1139. Ptr vcbBufAdr;
  1140. short vcbMLen;
  1141. short vcbDirIndex;
  1142. short vcbDirBlk;
  1143. unsigned long vcbVolBkUp;
  1144. unsigned short vcbVSeqNum;
  1145. long vcbWrCnt;
  1146. long vcbXTClpSiz;
  1147. long vcbCTClpSiz;
  1148. unsigned short vcbNmRtDirs;
  1149. long vcbFilCnt;
  1150. long vcbDirCnt;
  1151. long vcbFndrInfo[8];
  1152. unsigned short vcbVCSize;
  1153. unsigned short vcbVBMCSiz;
  1154. unsigned short vcbCtlCSiz;
  1155. unsigned short vcbXTAlBlks;
  1156. unsigned short vcbCTAlBlks;
  1157. short vcbXTRef;
  1158. short vcbCTRef;
  1159. Ptr vcbCtlBuf;
  1160. long vcbDirIDM;
  1161. short vcbOffsM;
  1162. };
  1163. typedef struct VCB VCB;
  1164. typedef VCB * VCBPtr;
  1165. struct DrvQEl {
  1166. QElemPtr qLink;
  1167. short qType;
  1168. short dQDrive;
  1169. short dQRefNum;
  1170. short dQFSID;
  1171. unsigned short dQDrvSz;
  1172. unsigned short dQDrvSz2;
  1173. };
  1174. typedef struct DrvQEl DrvQEl;
  1175. typedef DrvQEl * DrvQElPtr;
  1176. /*
  1177. * NewIOCompletionUPP()
  1178. *
  1179. * Availability:
  1180. * Non-Carbon CFM: available as macro/inline
  1181. * CarbonLib: in CarbonLib 1.0 and later
  1182. * Mac OS X: in version 10.0 and later
  1183. */
  1184. EXTERN_API_C( IOCompletionUPP )
  1185. NewIOCompletionUPP(IOCompletionProcPtr userRoutine);
  1186. #if !OPAQUE_UPP_TYPES
  1187. enum { uppIOCompletionProcInfo = 0x00009802 }; /* register no_return_value Func(4_bytes:A0) */
  1188. #ifdef __cplusplus
  1189. inline DEFINE_API_C(IOCompletionUPP) NewIOCompletionUPP(IOCompletionProcPtr userRoutine) { return (IOCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIOCompletionProcInfo, GetCurrentArchitecture()); }
  1190. #else
  1191. #define NewIOCompletionUPP(userRoutine) (IOCompletionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIOCompletionProcInfo, GetCurrentArchitecture())
  1192. #endif
  1193. #endif
  1194. /*
  1195. * DisposeIOCompletionUPP()
  1196. *
  1197. * Availability:
  1198. * Non-Carbon CFM: available as macro/inline
  1199. * CarbonLib: in CarbonLib 1.0 and later
  1200. * Mac OS X: in version 10.0 and later
  1201. */
  1202. EXTERN_API_C( void )
  1203. DisposeIOCompletionUPP(IOCompletionUPP userUPP);
  1204. #if !OPAQUE_UPP_TYPES
  1205. #ifdef __cplusplus
  1206. inline DEFINE_API_C(void) DisposeIOCompletionUPP(IOCompletionUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); }
  1207. #else
  1208. #define DisposeIOCompletionUPP(userUPP) DisposeRoutineDescriptor(userUPP)
  1209. #endif
  1210. #endif
  1211. /*
  1212. * InvokeIOCompletionUPP()
  1213. *
  1214. * Availability:
  1215. * Non-Carbon CFM: available as macro/inline
  1216. * CarbonLib: in CarbonLib 1.0 and later
  1217. * Mac OS X: in version 10.0 and later
  1218. */
  1219. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1220. #pragma parameter InvokeIOCompletionUPP(__A0, __A1)
  1221. #endif
  1222. EXTERN_API_C( void )
  1223. InvokeIOCompletionUPP(
  1224. ParmBlkPtr paramBlock,
  1225. IOCompletionUPP userUPP) ONEWORDINLINE(0x4E91);
  1226. #if !OPAQUE_UPP_TYPES && (!TARGET_OS_MAC || !TARGET_CPU_68K || TARGET_RT_MAC_CFM)
  1227. #ifdef __cplusplus
  1228. inline DEFINE_API_C(void) InvokeIOCompletionUPP(ParmBlkPtr paramBlock, IOCompletionUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppIOCompletionProcInfo, paramBlock); }
  1229. #else
  1230. #define InvokeIOCompletionUPP(paramBlock, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppIOCompletionProcInfo, (paramBlock))
  1231. #endif
  1232. #endif
  1233. #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
  1234. /* support for pre-Carbon UPP routines: New...Proc and Call...Proc */
  1235. #define NewIOCompletionProc(userRoutine) NewIOCompletionUPP(userRoutine)
  1236. #define CallIOCompletionProc(userRoutine, paramBlock) InvokeIOCompletionUPP(paramBlock, userRoutine)
  1237. #endif /* CALL_NOT_IN_CARBON */
  1238. /*
  1239. PBOpenSync(), PBOpenAsync(), PBOpenImmed() were moved to Devices.h
  1240. PBCloseSync(), PBCloseAsync(), PBCloseImmed() were moved to Devices.h
  1241. PBReadSync(), PBReadAsync(), PBReadImmed() were moved to Devices.h
  1242. PBWriteSync(), PBWriteAsync(), PBWriteImmed() were moved to Devices.h
  1243. */
  1244. #if CALL_NOT_IN_CARBON
  1245. /*
  1246. * PBGetVInfoSync()
  1247. *
  1248. * Availability:
  1249. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1250. * CarbonLib: not available
  1251. * Mac OS X: not available
  1252. */
  1253. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1254. #pragma parameter __D0 PBGetVInfoSync(__A0)
  1255. #endif
  1256. EXTERN_API( OSErr ) PBGetVInfoSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA007);
  1257. /*
  1258. * PBGetVInfoAsync()
  1259. *
  1260. * Availability:
  1261. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1262. * CarbonLib: not available
  1263. * Mac OS X: not available
  1264. */
  1265. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1266. #pragma parameter __D0 PBGetVInfoAsync(__A0)
  1267. #endif
  1268. EXTERN_API( OSErr ) PBGetVInfoAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA407);
  1269. #endif /* CALL_NOT_IN_CARBON */
  1270. /*
  1271. * PBXGetVolInfoSync()
  1272. *
  1273. * Availability:
  1274. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  1275. * CarbonLib: in CarbonLib 1.0 and later
  1276. * Mac OS X: in version 10.0 and later
  1277. */
  1278. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1279. #pragma parameter __D0 PBXGetVolInfoSync(__A0)
  1280. #endif
  1281. EXTERN_API( OSErr ) PBXGetVolInfoSync(XVolumeParamPtr paramBlock) TWOWORDINLINE(0x7012, 0xA060);
  1282. /*
  1283. * PBXGetVolInfoAsync()
  1284. *
  1285. * Availability:
  1286. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  1287. * CarbonLib: in CarbonLib 1.0 and later
  1288. * Mac OS X: in version 10.0 and later
  1289. */
  1290. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1291. #pragma parameter __D0 PBXGetVolInfoAsync(__A0)
  1292. #endif
  1293. EXTERN_API( OSErr ) PBXGetVolInfoAsync(XVolumeParamPtr paramBlock) TWOWORDINLINE(0x7012, 0xA460);
  1294. #if CALL_NOT_IN_CARBON
  1295. /*
  1296. * PBGetVolSync()
  1297. *
  1298. * Availability:
  1299. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1300. * CarbonLib: not available
  1301. * Mac OS X: not available
  1302. */
  1303. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1304. #pragma parameter __D0 PBGetVolSync(__A0)
  1305. #endif
  1306. EXTERN_API( OSErr ) PBGetVolSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA014);
  1307. /*
  1308. * PBGetVolAsync()
  1309. *
  1310. * Availability:
  1311. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1312. * CarbonLib: not available
  1313. * Mac OS X: not available
  1314. */
  1315. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1316. #pragma parameter __D0 PBGetVolAsync(__A0)
  1317. #endif
  1318. EXTERN_API( OSErr ) PBGetVolAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA414);
  1319. /*
  1320. * PBSetVolSync()
  1321. *
  1322. * Availability:
  1323. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1324. * CarbonLib: not available
  1325. * Mac OS X: not available
  1326. */
  1327. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1328. #pragma parameter __D0 PBSetVolSync(__A0)
  1329. #endif
  1330. EXTERN_API( OSErr ) PBSetVolSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA015);
  1331. /*
  1332. * PBSetVolAsync()
  1333. *
  1334. * Availability:
  1335. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1336. * CarbonLib: not available
  1337. * Mac OS X: not available
  1338. */
  1339. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1340. #pragma parameter __D0 PBSetVolAsync(__A0)
  1341. #endif
  1342. EXTERN_API( OSErr ) PBSetVolAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA415);
  1343. #endif /* CALL_NOT_IN_CARBON */
  1344. /*
  1345. * PBFlushVolSync()
  1346. *
  1347. * Availability:
  1348. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1349. * CarbonLib: in CarbonLib 1.0 and later
  1350. * Mac OS X: in version 10.0 and later
  1351. */
  1352. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1353. #pragma parameter __D0 PBFlushVolSync(__A0)
  1354. #endif
  1355. EXTERN_API( OSErr ) PBFlushVolSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA013);
  1356. /*
  1357. * PBFlushVolAsync()
  1358. *
  1359. * Availability:
  1360. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1361. * CarbonLib: in CarbonLib 1.0 and later
  1362. * Mac OS X: in version 10.0 and later
  1363. */
  1364. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1365. #pragma parameter __D0 PBFlushVolAsync(__A0)
  1366. #endif
  1367. EXTERN_API( OSErr ) PBFlushVolAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA413);
  1368. #if CALL_NOT_IN_CARBON
  1369. /*
  1370. * PBHTrashVolumeCachesSync()
  1371. *
  1372. * Availability:
  1373. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  1374. * CarbonLib: not available
  1375. * Mac OS X: not available
  1376. */
  1377. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1378. #pragma parameter __D0 PBHTrashVolumeCachesSync(__A0)
  1379. #endif
  1380. EXTERN_API( OSErr ) PBHTrashVolumeCachesSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA213);
  1381. /*
  1382. * PBCreateSync()
  1383. *
  1384. * Availability:
  1385. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1386. * CarbonLib: not available
  1387. * Mac OS X: not available
  1388. */
  1389. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1390. #pragma parameter __D0 PBCreateSync(__A0)
  1391. #endif
  1392. EXTERN_API( OSErr ) PBCreateSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA008);
  1393. /*
  1394. * PBCreateAsync()
  1395. *
  1396. * Availability:
  1397. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1398. * CarbonLib: not available
  1399. * Mac OS X: not available
  1400. */
  1401. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1402. #pragma parameter __D0 PBCreateAsync(__A0)
  1403. #endif
  1404. EXTERN_API( OSErr ) PBCreateAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA408);
  1405. /*
  1406. * PBDeleteSync()
  1407. *
  1408. * Availability:
  1409. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1410. * CarbonLib: not available
  1411. * Mac OS X: not available
  1412. */
  1413. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1414. #pragma parameter __D0 PBDeleteSync(__A0)
  1415. #endif
  1416. EXTERN_API( OSErr ) PBDeleteSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA009);
  1417. /*
  1418. * PBDeleteAsync()
  1419. *
  1420. * Availability:
  1421. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1422. * CarbonLib: not available
  1423. * Mac OS X: not available
  1424. */
  1425. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1426. #pragma parameter __D0 PBDeleteAsync(__A0)
  1427. #endif
  1428. EXTERN_API( OSErr ) PBDeleteAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA409);
  1429. /*
  1430. * PBOpenDFSync()
  1431. *
  1432. * Availability:
  1433. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1434. * CarbonLib: not available
  1435. * Mac OS X: not available
  1436. */
  1437. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1438. #pragma parameter __D0 PBOpenDFSync(__A0)
  1439. #endif
  1440. EXTERN_API( OSErr ) PBOpenDFSync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA060);
  1441. /*
  1442. * PBOpenDFAsync()
  1443. *
  1444. * Availability:
  1445. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1446. * CarbonLib: not available
  1447. * Mac OS X: not available
  1448. */
  1449. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1450. #pragma parameter __D0 PBOpenDFAsync(__A0)
  1451. #endif
  1452. EXTERN_API( OSErr ) PBOpenDFAsync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA460);
  1453. /*
  1454. * PBOpenRFSync()
  1455. *
  1456. * Availability:
  1457. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1458. * CarbonLib: not available
  1459. * Mac OS X: not available
  1460. */
  1461. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1462. #pragma parameter __D0 PBOpenRFSync(__A0)
  1463. #endif
  1464. EXTERN_API( OSErr ) PBOpenRFSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00A);
  1465. /*
  1466. * PBOpenRFAsync()
  1467. *
  1468. * Availability:
  1469. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1470. * CarbonLib: not available
  1471. * Mac OS X: not available
  1472. */
  1473. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1474. #pragma parameter __D0 PBOpenRFAsync(__A0)
  1475. #endif
  1476. EXTERN_API( OSErr ) PBOpenRFAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40A);
  1477. /*
  1478. * PBRenameSync()
  1479. *
  1480. * Availability:
  1481. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1482. * CarbonLib: not available
  1483. * Mac OS X: not available
  1484. */
  1485. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1486. #pragma parameter __D0 PBRenameSync(__A0)
  1487. #endif
  1488. EXTERN_API( OSErr ) PBRenameSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00B);
  1489. /*
  1490. * PBRenameAsync()
  1491. *
  1492. * Availability:
  1493. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1494. * CarbonLib: not available
  1495. * Mac OS X: not available
  1496. */
  1497. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1498. #pragma parameter __D0 PBRenameAsync(__A0)
  1499. #endif
  1500. EXTERN_API( OSErr ) PBRenameAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40B);
  1501. /*
  1502. * PBGetFInfoSync()
  1503. *
  1504. * Availability:
  1505. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1506. * CarbonLib: not available
  1507. * Mac OS X: not available
  1508. */
  1509. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1510. #pragma parameter __D0 PBGetFInfoSync(__A0)
  1511. #endif
  1512. EXTERN_API( OSErr ) PBGetFInfoSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00C);
  1513. /*
  1514. * PBGetFInfoAsync()
  1515. *
  1516. * Availability:
  1517. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1518. * CarbonLib: not available
  1519. * Mac OS X: not available
  1520. */
  1521. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1522. #pragma parameter __D0 PBGetFInfoAsync(__A0)
  1523. #endif
  1524. EXTERN_API( OSErr ) PBGetFInfoAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40C);
  1525. /*
  1526. * PBSetFInfoSync()
  1527. *
  1528. * Availability:
  1529. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1530. * CarbonLib: not available
  1531. * Mac OS X: not available
  1532. */
  1533. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1534. #pragma parameter __D0 PBSetFInfoSync(__A0)
  1535. #endif
  1536. EXTERN_API( OSErr ) PBSetFInfoSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00D);
  1537. /*
  1538. * PBSetFInfoAsync()
  1539. *
  1540. * Availability:
  1541. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1542. * CarbonLib: not available
  1543. * Mac OS X: not available
  1544. */
  1545. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1546. #pragma parameter __D0 PBSetFInfoAsync(__A0)
  1547. #endif
  1548. EXTERN_API( OSErr ) PBSetFInfoAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA40D);
  1549. /*
  1550. * PBSetFLockSync()
  1551. *
  1552. * Availability:
  1553. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1554. * CarbonLib: not available
  1555. * Mac OS X: not available
  1556. */
  1557. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1558. #pragma parameter __D0 PBSetFLockSync(__A0)
  1559. #endif
  1560. EXTERN_API( OSErr ) PBSetFLockSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA041);
  1561. /*
  1562. * PBSetFLockAsync()
  1563. *
  1564. * Availability:
  1565. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1566. * CarbonLib: not available
  1567. * Mac OS X: not available
  1568. */
  1569. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1570. #pragma parameter __D0 PBSetFLockAsync(__A0)
  1571. #endif
  1572. EXTERN_API( OSErr ) PBSetFLockAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA441);
  1573. /*
  1574. * PBRstFLockSync()
  1575. *
  1576. * Availability:
  1577. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1578. * CarbonLib: not available
  1579. * Mac OS X: not available
  1580. */
  1581. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1582. #pragma parameter __D0 PBRstFLockSync(__A0)
  1583. #endif
  1584. EXTERN_API( OSErr ) PBRstFLockSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA042);
  1585. /*
  1586. * PBRstFLockAsync()
  1587. *
  1588. * Availability:
  1589. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1590. * CarbonLib: not available
  1591. * Mac OS X: not available
  1592. */
  1593. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1594. #pragma parameter __D0 PBRstFLockAsync(__A0)
  1595. #endif
  1596. EXTERN_API( OSErr ) PBRstFLockAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA442);
  1597. /*
  1598. * PBSetFVersSync()
  1599. *
  1600. * Availability:
  1601. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1602. * CarbonLib: not available
  1603. * Mac OS X: not available
  1604. */
  1605. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1606. #pragma parameter __D0 PBSetFVersSync(__A0)
  1607. #endif
  1608. EXTERN_API( OSErr ) PBSetFVersSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA043);
  1609. /*
  1610. * PBSetFVersAsync()
  1611. *
  1612. * Availability:
  1613. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1614. * CarbonLib: not available
  1615. * Mac OS X: not available
  1616. */
  1617. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1618. #pragma parameter __D0 PBSetFVersAsync(__A0)
  1619. #endif
  1620. EXTERN_API( OSErr ) PBSetFVersAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA443);
  1621. #endif /* CALL_NOT_IN_CARBON */
  1622. /*
  1623. * PBAllocateSync()
  1624. *
  1625. * Availability:
  1626. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1627. * CarbonLib: in CarbonLib 1.0 and later
  1628. * Mac OS X: in version 10.0 and later
  1629. */
  1630. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1631. #pragma parameter __D0 PBAllocateSync(__A0)
  1632. #endif
  1633. EXTERN_API( OSErr ) PBAllocateSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA010);
  1634. /*
  1635. * PBAllocateAsync()
  1636. *
  1637. * Availability:
  1638. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1639. * CarbonLib: in CarbonLib 1.0 and later
  1640. * Mac OS X: in version 10.0 and later
  1641. */
  1642. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1643. #pragma parameter __D0 PBAllocateAsync(__A0)
  1644. #endif
  1645. EXTERN_API( OSErr ) PBAllocateAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA410);
  1646. /*
  1647. * PBGetEOFSync()
  1648. *
  1649. * Availability:
  1650. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1651. * CarbonLib: in CarbonLib 1.0 and later
  1652. * Mac OS X: in version 10.0 and later
  1653. */
  1654. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1655. #pragma parameter __D0 PBGetEOFSync(__A0)
  1656. #endif
  1657. EXTERN_API( OSErr ) PBGetEOFSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA011);
  1658. /*
  1659. * PBGetEOFAsync()
  1660. *
  1661. * Availability:
  1662. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1663. * CarbonLib: in CarbonLib 1.0 and later
  1664. * Mac OS X: in version 10.0 and later
  1665. */
  1666. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1667. #pragma parameter __D0 PBGetEOFAsync(__A0)
  1668. #endif
  1669. EXTERN_API( OSErr ) PBGetEOFAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA411);
  1670. /*
  1671. * PBSetEOFSync()
  1672. *
  1673. * Availability:
  1674. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1675. * CarbonLib: in CarbonLib 1.0 and later
  1676. * Mac OS X: in version 10.0 and later
  1677. */
  1678. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1679. #pragma parameter __D0 PBSetEOFSync(__A0)
  1680. #endif
  1681. EXTERN_API( OSErr ) PBSetEOFSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA012);
  1682. /*
  1683. * PBSetEOFAsync()
  1684. *
  1685. * Availability:
  1686. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1687. * CarbonLib: in CarbonLib 1.0 and later
  1688. * Mac OS X: in version 10.0 and later
  1689. */
  1690. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1691. #pragma parameter __D0 PBSetEOFAsync(__A0)
  1692. #endif
  1693. EXTERN_API( OSErr ) PBSetEOFAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA412);
  1694. /*
  1695. * PBGetFPosSync()
  1696. *
  1697. * Availability:
  1698. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1699. * CarbonLib: in CarbonLib 1.0 and later
  1700. * Mac OS X: in version 10.0 and later
  1701. */
  1702. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1703. #pragma parameter __D0 PBGetFPosSync(__A0)
  1704. #endif
  1705. EXTERN_API( OSErr ) PBGetFPosSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA018);
  1706. /*
  1707. * PBGetFPosAsync()
  1708. *
  1709. * Availability:
  1710. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1711. * CarbonLib: in CarbonLib 1.0 and later
  1712. * Mac OS X: in version 10.0 and later
  1713. */
  1714. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1715. #pragma parameter __D0 PBGetFPosAsync(__A0)
  1716. #endif
  1717. EXTERN_API( OSErr ) PBGetFPosAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA418);
  1718. /*
  1719. * PBSetFPosSync()
  1720. *
  1721. * Availability:
  1722. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1723. * CarbonLib: in CarbonLib 1.0 and later
  1724. * Mac OS X: in version 10.0 and later
  1725. */
  1726. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1727. #pragma parameter __D0 PBSetFPosSync(__A0)
  1728. #endif
  1729. EXTERN_API( OSErr ) PBSetFPosSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA044);
  1730. /*
  1731. * PBSetFPosAsync()
  1732. *
  1733. * Availability:
  1734. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1735. * CarbonLib: in CarbonLib 1.0 and later
  1736. * Mac OS X: in version 10.0 and later
  1737. */
  1738. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1739. #pragma parameter __D0 PBSetFPosAsync(__A0)
  1740. #endif
  1741. EXTERN_API( OSErr ) PBSetFPosAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA444);
  1742. /*
  1743. * PBFlushFileSync()
  1744. *
  1745. * Availability:
  1746. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1747. * CarbonLib: in CarbonLib 1.0 and later
  1748. * Mac OS X: in version 10.0 and later
  1749. */
  1750. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1751. #pragma parameter __D0 PBFlushFileSync(__A0)
  1752. #endif
  1753. EXTERN_API( OSErr ) PBFlushFileSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA045);
  1754. /*
  1755. * PBFlushFileAsync()
  1756. *
  1757. * Availability:
  1758. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1759. * CarbonLib: in CarbonLib 1.0 and later
  1760. * Mac OS X: in version 10.0 and later
  1761. */
  1762. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1763. #pragma parameter __D0 PBFlushFileAsync(__A0)
  1764. #endif
  1765. EXTERN_API( OSErr ) PBFlushFileAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA445);
  1766. #if CALL_NOT_IN_CARBON
  1767. /*
  1768. * PBMountVol()
  1769. *
  1770. * Availability:
  1771. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1772. * CarbonLib: not available
  1773. * Mac OS X: not available
  1774. */
  1775. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1776. #pragma parameter __D0 PBMountVol(__A0)
  1777. #endif
  1778. EXTERN_API( OSErr ) PBMountVol(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00F);
  1779. #endif /* CALL_NOT_IN_CARBON */
  1780. /*
  1781. * PBUnmountVol()
  1782. *
  1783. * Availability:
  1784. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1785. * CarbonLib: in CarbonLib 1.0 and later
  1786. * Mac OS X: in version 10.0 and later
  1787. */
  1788. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1789. #pragma parameter __D0 PBUnmountVol(__A0)
  1790. #endif
  1791. EXTERN_API( OSErr ) PBUnmountVol(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA00E);
  1792. #if CALL_NOT_IN_CARBON
  1793. /*
  1794. * PBUnmountVolImmed()
  1795. *
  1796. * Availability:
  1797. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  1798. * CarbonLib: not available
  1799. * Mac OS X: not available
  1800. */
  1801. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1802. #pragma parameter __D0 PBUnmountVolImmed(__A0)
  1803. #endif
  1804. EXTERN_API( OSErr ) PBUnmountVolImmed(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA20E);
  1805. /*
  1806. * PBEject()
  1807. *
  1808. * Availability:
  1809. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1810. * CarbonLib: not available
  1811. * Mac OS X: not available
  1812. */
  1813. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1814. #pragma parameter __D0 PBEject(__A0)
  1815. #endif
  1816. EXTERN_API( OSErr ) PBEject(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA017);
  1817. /*
  1818. * PBOffLine()
  1819. *
  1820. * Availability:
  1821. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1822. * CarbonLib: not available
  1823. * Mac OS X: not available
  1824. */
  1825. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1826. #pragma parameter __D0 PBOffLine(__A0)
  1827. #endif
  1828. EXTERN_API( OSErr ) PBOffLine(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA035);
  1829. #endif /* CALL_NOT_IN_CARBON */
  1830. /*
  1831. * PBCatSearchSync()
  1832. *
  1833. * Availability:
  1834. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1835. * CarbonLib: in CarbonLib 1.0 and later
  1836. * Mac OS X: in version 10.0 and later
  1837. */
  1838. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1839. #pragma parameter __D0 PBCatSearchSync(__A0)
  1840. #endif
  1841. EXTERN_API( OSErr ) PBCatSearchSync(CSParamPtr paramBlock) TWOWORDINLINE(0x7018, 0xA260);
  1842. /*
  1843. * PBCatSearchAsync()
  1844. *
  1845. * Availability:
  1846. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1847. * CarbonLib: in CarbonLib 1.0 and later
  1848. * Mac OS X: in version 10.0 and later
  1849. */
  1850. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  1851. #pragma parameter __D0 PBCatSearchAsync(__A0)
  1852. #endif
  1853. EXTERN_API( OSErr ) PBCatSearchAsync(CSParamPtr paramBlock) TWOWORDINLINE(0x7018, 0xA660);
  1854. #if CALL_NOT_IN_CARBON
  1855. /*
  1856. * SetVol()
  1857. *
  1858. * Availability:
  1859. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1860. * CarbonLib: not available
  1861. * Mac OS X: not available
  1862. */
  1863. EXTERN_API( OSErr )
  1864. SetVol(
  1865. ConstStr63Param volName, /* can be NULL */
  1866. short vRefNum);
  1867. #endif /* CALL_NOT_IN_CARBON */
  1868. /*
  1869. * UnmountVol()
  1870. *
  1871. * Availability:
  1872. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1873. * CarbonLib: in CarbonLib 1.0 and later
  1874. * Mac OS X: in version 10.0 and later
  1875. */
  1876. EXTERN_API( OSErr )
  1877. UnmountVol(
  1878. ConstStr63Param volName, /* can be NULL */
  1879. short vRefNum);
  1880. #if CALL_NOT_IN_CARBON
  1881. /*
  1882. * Eject()
  1883. *
  1884. * Availability:
  1885. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1886. * CarbonLib: not available
  1887. * Mac OS X: not available
  1888. */
  1889. EXTERN_API( OSErr )
  1890. Eject(
  1891. ConstStr63Param volName, /* can be NULL */
  1892. short vRefNum);
  1893. #endif /* CALL_NOT_IN_CARBON */
  1894. /*
  1895. * FlushVol()
  1896. *
  1897. * Availability:
  1898. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1899. * CarbonLib: in CarbonLib 1.0 and later
  1900. * Mac OS X: in version 10.0 and later
  1901. */
  1902. EXTERN_API( OSErr )
  1903. FlushVol(
  1904. ConstStr63Param volName, /* can be NULL */
  1905. short vRefNum);
  1906. /*
  1907. * HSetVol()
  1908. *
  1909. * Availability:
  1910. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1911. * CarbonLib: in CarbonLib 1.0 and later
  1912. * Mac OS X: in version 10.0 and later
  1913. */
  1914. EXTERN_API( OSErr )
  1915. HSetVol(
  1916. ConstStr63Param volName, /* can be NULL */
  1917. short vRefNum,
  1918. long dirID);
  1919. /* AddDrive() was moved to Devices.h*/
  1920. #if CALL_NOT_IN_CARBON
  1921. /*
  1922. * FSOpen()
  1923. *
  1924. * Availability:
  1925. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1926. * CarbonLib: not available
  1927. * Mac OS X: not available
  1928. */
  1929. EXTERN_API( OSErr )
  1930. FSOpen(
  1931. ConstStr255Param fileName,
  1932. short vRefNum,
  1933. short * refNum);
  1934. /*
  1935. * OpenDF()
  1936. *
  1937. * Availability:
  1938. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1939. * CarbonLib: not available
  1940. * Mac OS X: not available
  1941. */
  1942. EXTERN_API( OSErr )
  1943. OpenDF(
  1944. ConstStr255Param fileName,
  1945. short vRefNum,
  1946. short * refNum);
  1947. #endif /* CALL_NOT_IN_CARBON */
  1948. /*
  1949. * FSClose()
  1950. *
  1951. * Availability:
  1952. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1953. * CarbonLib: in CarbonLib 1.0 and later
  1954. * Mac OS X: in version 10.0 and later
  1955. */
  1956. EXTERN_API( OSErr )
  1957. FSClose(short refNum);
  1958. /*
  1959. * FSRead()
  1960. *
  1961. * Availability:
  1962. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1963. * CarbonLib: in CarbonLib 1.0 and later
  1964. * Mac OS X: in version 10.0 and later
  1965. */
  1966. EXTERN_API( OSErr )
  1967. FSRead(
  1968. short refNum,
  1969. long * count,
  1970. void * buffPtr);
  1971. /*
  1972. * FSWrite()
  1973. *
  1974. * Availability:
  1975. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1976. * CarbonLib: in CarbonLib 1.0 and later
  1977. * Mac OS X: in version 10.0 and later
  1978. */
  1979. EXTERN_API( OSErr )
  1980. FSWrite(
  1981. short refNum,
  1982. long * count,
  1983. const void * buffPtr);
  1984. #if CALL_NOT_IN_CARBON
  1985. /*
  1986. * GetVInfo()
  1987. *
  1988. * Availability:
  1989. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1990. * CarbonLib: not available
  1991. * Mac OS X: not available
  1992. */
  1993. EXTERN_API( OSErr )
  1994. GetVInfo(
  1995. short drvNum,
  1996. StringPtr volName,
  1997. short * vRefNum,
  1998. long * freeBytes);
  1999. /*
  2000. * GetFInfo()
  2001. *
  2002. * Availability:
  2003. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2004. * CarbonLib: not available
  2005. * Mac OS X: not available
  2006. */
  2007. EXTERN_API( OSErr )
  2008. GetFInfo(
  2009. ConstStr255Param fileName,
  2010. short vRefNum,
  2011. FInfo * fndrInfo);
  2012. /*
  2013. * GetVol()
  2014. *
  2015. * Availability:
  2016. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2017. * CarbonLib: not available
  2018. * Mac OS X: not available
  2019. */
  2020. EXTERN_API( OSErr )
  2021. GetVol(
  2022. StringPtr volName,
  2023. short * vRefNum);
  2024. /*
  2025. * Create()
  2026. *
  2027. * Availability:
  2028. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2029. * CarbonLib: not available
  2030. * Mac OS X: not available
  2031. */
  2032. EXTERN_API( OSErr )
  2033. Create(
  2034. ConstStr255Param fileName,
  2035. short vRefNum,
  2036. OSType creator,
  2037. OSType fileType);
  2038. /*
  2039. * FSDelete()
  2040. *
  2041. * Availability:
  2042. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2043. * CarbonLib: not available
  2044. * Mac OS X: not available
  2045. */
  2046. EXTERN_API( OSErr )
  2047. FSDelete(
  2048. ConstStr255Param fileName,
  2049. short vRefNum);
  2050. /*
  2051. * OpenRF()
  2052. *
  2053. * Availability:
  2054. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2055. * CarbonLib: not available
  2056. * Mac OS X: not available
  2057. */
  2058. EXTERN_API( OSErr )
  2059. OpenRF(
  2060. ConstStr255Param fileName,
  2061. short vRefNum,
  2062. short * refNum);
  2063. /*
  2064. * Rename()
  2065. *
  2066. * Availability:
  2067. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2068. * CarbonLib: not available
  2069. * Mac OS X: not available
  2070. */
  2071. EXTERN_API( OSErr )
  2072. Rename(
  2073. ConstStr255Param oldName,
  2074. short vRefNum,
  2075. ConstStr255Param newName);
  2076. /*
  2077. * SetFInfo()
  2078. *
  2079. * Availability:
  2080. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2081. * CarbonLib: not available
  2082. * Mac OS X: not available
  2083. */
  2084. EXTERN_API( OSErr )
  2085. SetFInfo(
  2086. ConstStr255Param fileName,
  2087. short vRefNum,
  2088. const FInfo * fndrInfo);
  2089. /*
  2090. * SetFLock()
  2091. *
  2092. * Availability:
  2093. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2094. * CarbonLib: not available
  2095. * Mac OS X: not available
  2096. */
  2097. EXTERN_API( OSErr )
  2098. SetFLock(
  2099. ConstStr255Param fileName,
  2100. short vRefNum);
  2101. /*
  2102. * RstFLock()
  2103. *
  2104. * Availability:
  2105. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2106. * CarbonLib: not available
  2107. * Mac OS X: not available
  2108. */
  2109. EXTERN_API( OSErr )
  2110. RstFLock(
  2111. ConstStr255Param fileName,
  2112. short vRefNum);
  2113. #endif /* CALL_NOT_IN_CARBON */
  2114. /*
  2115. * Allocate()
  2116. *
  2117. * Availability:
  2118. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2119. * CarbonLib: in CarbonLib 1.0 and later
  2120. * Mac OS X: in version 10.0 and later
  2121. */
  2122. EXTERN_API( OSErr )
  2123. Allocate(
  2124. short refNum,
  2125. long * count);
  2126. /*
  2127. * GetEOF()
  2128. *
  2129. * Availability:
  2130. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2131. * CarbonLib: in CarbonLib 1.0 and later
  2132. * Mac OS X: in version 10.0 and later
  2133. */
  2134. EXTERN_API( OSErr )
  2135. GetEOF(
  2136. short refNum,
  2137. long * logEOF);
  2138. /*
  2139. * SetEOF()
  2140. *
  2141. * Availability:
  2142. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2143. * CarbonLib: in CarbonLib 1.0 and later
  2144. * Mac OS X: in version 10.0 and later
  2145. */
  2146. EXTERN_API( OSErr )
  2147. SetEOF(
  2148. short refNum,
  2149. long logEOF);
  2150. /*
  2151. * GetFPos()
  2152. *
  2153. * Availability:
  2154. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2155. * CarbonLib: in CarbonLib 1.0 and later
  2156. * Mac OS X: in version 10.0 and later
  2157. */
  2158. EXTERN_API( OSErr )
  2159. GetFPos(
  2160. short refNum,
  2161. long * filePos);
  2162. /*
  2163. * SetFPos()
  2164. *
  2165. * Availability:
  2166. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2167. * CarbonLib: in CarbonLib 1.0 and later
  2168. * Mac OS X: in version 10.0 and later
  2169. */
  2170. EXTERN_API( OSErr )
  2171. SetFPos(
  2172. short refNum,
  2173. short posMode,
  2174. long posOff);
  2175. /*
  2176. * GetVRefNum()
  2177. *
  2178. * Availability:
  2179. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2180. * CarbonLib: in CarbonLib 1.0 and later
  2181. * Mac OS X: in version 10.0 and later
  2182. */
  2183. EXTERN_API( OSErr )
  2184. GetVRefNum(
  2185. short fileRefNum,
  2186. short * vRefNum);
  2187. #if CALL_NOT_IN_CARBON
  2188. /*
  2189. * fsopen()
  2190. *
  2191. * Availability:
  2192. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2193. * CarbonLib: not available
  2194. * Mac OS X: not available
  2195. */
  2196. EXTERN_API_C( OSErr )
  2197. fsopen(
  2198. const char * fileName,
  2199. short vRefNum,
  2200. short * refNum);
  2201. /*
  2202. * getvinfo()
  2203. *
  2204. * Availability:
  2205. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2206. * CarbonLib: not available
  2207. * Mac OS X: not available
  2208. */
  2209. EXTERN_API_C( OSErr )
  2210. getvinfo(
  2211. short drvNum,
  2212. char * volName,
  2213. short * vRefNum,
  2214. long * freeBytes);
  2215. /*
  2216. * getfinfo()
  2217. *
  2218. * Availability:
  2219. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2220. * CarbonLib: not available
  2221. * Mac OS X: not available
  2222. */
  2223. EXTERN_API_C( OSErr )
  2224. getfinfo(
  2225. const char * fileName,
  2226. short vRefNum,
  2227. FInfo * fndrInfo);
  2228. /*
  2229. * getvol()
  2230. *
  2231. * Availability:
  2232. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2233. * CarbonLib: not available
  2234. * Mac OS X: not available
  2235. */
  2236. EXTERN_API_C( OSErr )
  2237. getvol(
  2238. char * volName,
  2239. short * vRefNum);
  2240. /*
  2241. * setvol()
  2242. *
  2243. * Availability:
  2244. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2245. * CarbonLib: not available
  2246. * Mac OS X: not available
  2247. */
  2248. EXTERN_API_C( OSErr )
  2249. setvol(
  2250. const char * volName,
  2251. short vRefNum);
  2252. /*
  2253. * unmountvol()
  2254. *
  2255. * Availability:
  2256. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2257. * CarbonLib: not available
  2258. * Mac OS X: not available
  2259. */
  2260. EXTERN_API_C( OSErr )
  2261. unmountvol(
  2262. const char * volName,
  2263. short vRefNum);
  2264. /*
  2265. * eject()
  2266. *
  2267. * Availability:
  2268. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2269. * CarbonLib: not available
  2270. * Mac OS X: not available
  2271. */
  2272. EXTERN_API_C( OSErr )
  2273. eject(
  2274. const char * volName,
  2275. short vRefNum);
  2276. /*
  2277. * flushvol()
  2278. *
  2279. * Availability:
  2280. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2281. * CarbonLib: not available
  2282. * Mac OS X: not available
  2283. */
  2284. EXTERN_API_C( OSErr )
  2285. flushvol(
  2286. const char * volName,
  2287. short vRefNum);
  2288. /*
  2289. * create()
  2290. *
  2291. * Availability:
  2292. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2293. * CarbonLib: not available
  2294. * Mac OS X: not available
  2295. */
  2296. EXTERN_API_C( OSErr )
  2297. create(
  2298. const char * fileName,
  2299. short vRefNum,
  2300. OSType creator,
  2301. OSType fileType);
  2302. /*
  2303. * fsdelete()
  2304. *
  2305. * Availability:
  2306. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2307. * CarbonLib: not available
  2308. * Mac OS X: not available
  2309. */
  2310. EXTERN_API_C( OSErr )
  2311. fsdelete(
  2312. const char * fileName,
  2313. short vRefNum);
  2314. /*
  2315. * openrf()
  2316. *
  2317. * Availability:
  2318. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2319. * CarbonLib: not available
  2320. * Mac OS X: not available
  2321. */
  2322. EXTERN_API_C( OSErr )
  2323. openrf(
  2324. const char * fileName,
  2325. short vRefNum,
  2326. short * refNum);
  2327. /*
  2328. * fsrename()
  2329. *
  2330. * Availability:
  2331. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2332. * CarbonLib: not available
  2333. * Mac OS X: not available
  2334. */
  2335. EXTERN_API_C( OSErr )
  2336. fsrename(
  2337. const char * oldName,
  2338. short vRefNum,
  2339. const char * newName);
  2340. /*
  2341. * setfinfo()
  2342. *
  2343. * Availability:
  2344. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2345. * CarbonLib: not available
  2346. * Mac OS X: not available
  2347. */
  2348. EXTERN_API_C( OSErr )
  2349. setfinfo(
  2350. const char * fileName,
  2351. short vRefNum,
  2352. const FInfo * fndrInfo);
  2353. /*
  2354. * setflock()
  2355. *
  2356. * Availability:
  2357. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2358. * CarbonLib: not available
  2359. * Mac OS X: not available
  2360. */
  2361. EXTERN_API_C( OSErr )
  2362. setflock(
  2363. const char * fileName,
  2364. short vRefNum);
  2365. /*
  2366. * rstflock()
  2367. *
  2368. * Availability:
  2369. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2370. * CarbonLib: not available
  2371. * Mac OS X: not available
  2372. */
  2373. EXTERN_API_C( OSErr )
  2374. rstflock(
  2375. const char * fileName,
  2376. short vRefNum);
  2377. #endif /* CALL_NOT_IN_CARBON */
  2378. #if CALL_NOT_IN_CARBON
  2379. /*
  2380. * PBOpenWDSync()
  2381. *
  2382. * Availability:
  2383. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2384. * CarbonLib: not available
  2385. * Mac OS X: not available
  2386. */
  2387. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2388. #pragma parameter __D0 PBOpenWDSync(__A0)
  2389. #endif
  2390. EXTERN_API( OSErr ) PBOpenWDSync(WDPBPtr paramBlock) TWOWORDINLINE(0x7001, 0xA260);
  2391. /*
  2392. * PBOpenWDAsync()
  2393. *
  2394. * Availability:
  2395. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2396. * CarbonLib: not available
  2397. * Mac OS X: not available
  2398. */
  2399. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2400. #pragma parameter __D0 PBOpenWDAsync(__A0)
  2401. #endif
  2402. EXTERN_API( OSErr ) PBOpenWDAsync(WDPBPtr paramBlock) TWOWORDINLINE(0x7001, 0xA660);
  2403. /*
  2404. * PBCloseWDSync()
  2405. *
  2406. * Availability:
  2407. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2408. * CarbonLib: not available
  2409. * Mac OS X: not available
  2410. */
  2411. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2412. #pragma parameter __D0 PBCloseWDSync(__A0)
  2413. #endif
  2414. EXTERN_API( OSErr ) PBCloseWDSync(WDPBPtr paramBlock) TWOWORDINLINE(0x7002, 0xA260);
  2415. /*
  2416. * PBCloseWDAsync()
  2417. *
  2418. * Availability:
  2419. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2420. * CarbonLib: not available
  2421. * Mac OS X: not available
  2422. */
  2423. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2424. #pragma parameter __D0 PBCloseWDAsync(__A0)
  2425. #endif
  2426. EXTERN_API( OSErr ) PBCloseWDAsync(WDPBPtr paramBlock) TWOWORDINLINE(0x7002, 0xA660);
  2427. #endif /* CALL_NOT_IN_CARBON */
  2428. /*
  2429. * PBHSetVolSync()
  2430. *
  2431. * Availability:
  2432. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2433. * CarbonLib: in CarbonLib 1.0 and later
  2434. * Mac OS X: in version 10.0 and later
  2435. */
  2436. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2437. #pragma parameter __D0 PBHSetVolSync(__A0)
  2438. #endif
  2439. EXTERN_API( OSErr ) PBHSetVolSync(WDPBPtr paramBlock) ONEWORDINLINE(0xA215);
  2440. /*
  2441. * PBHSetVolAsync()
  2442. *
  2443. * Availability:
  2444. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2445. * CarbonLib: in CarbonLib 1.0 and later
  2446. * Mac OS X: in version 10.0 and later
  2447. */
  2448. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2449. #pragma parameter __D0 PBHSetVolAsync(__A0)
  2450. #endif
  2451. EXTERN_API( OSErr ) PBHSetVolAsync(WDPBPtr paramBlock) ONEWORDINLINE(0xA615);
  2452. /*
  2453. * PBHGetVolSync()
  2454. *
  2455. * Availability:
  2456. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2457. * CarbonLib: in CarbonLib 1.0 and later
  2458. * Mac OS X: in version 10.0 and later
  2459. */
  2460. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2461. #pragma parameter __D0 PBHGetVolSync(__A0)
  2462. #endif
  2463. EXTERN_API( OSErr ) PBHGetVolSync(WDPBPtr paramBlock) ONEWORDINLINE(0xA214);
  2464. /*
  2465. * PBHGetVolAsync()
  2466. *
  2467. * Availability:
  2468. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2469. * CarbonLib: in CarbonLib 1.0 and later
  2470. * Mac OS X: in version 10.0 and later
  2471. */
  2472. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2473. #pragma parameter __D0 PBHGetVolAsync(__A0)
  2474. #endif
  2475. EXTERN_API( OSErr ) PBHGetVolAsync(WDPBPtr paramBlock) ONEWORDINLINE(0xA614);
  2476. /*
  2477. * PBCatMoveSync()
  2478. *
  2479. * Availability:
  2480. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2481. * CarbonLib: in CarbonLib 1.0 and later
  2482. * Mac OS X: in version 10.0 and later
  2483. */
  2484. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2485. #pragma parameter __D0 PBCatMoveSync(__A0)
  2486. #endif
  2487. EXTERN_API( OSErr ) PBCatMoveSync(CMovePBPtr paramBlock) TWOWORDINLINE(0x7005, 0xA260);
  2488. /*
  2489. * PBCatMoveAsync()
  2490. *
  2491. * Availability:
  2492. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2493. * CarbonLib: in CarbonLib 1.0 and later
  2494. * Mac OS X: in version 10.0 and later
  2495. */
  2496. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2497. #pragma parameter __D0 PBCatMoveAsync(__A0)
  2498. #endif
  2499. EXTERN_API( OSErr ) PBCatMoveAsync(CMovePBPtr paramBlock) TWOWORDINLINE(0x7005, 0xA660);
  2500. /*
  2501. * PBDirCreateSync()
  2502. *
  2503. * Availability:
  2504. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2505. * CarbonLib: in CarbonLib 1.0 and later
  2506. * Mac OS X: in version 10.0 and later
  2507. */
  2508. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2509. #pragma parameter __D0 PBDirCreateSync(__A0)
  2510. #endif
  2511. EXTERN_API( OSErr ) PBDirCreateSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7006, 0xA260);
  2512. /*
  2513. * PBDirCreateAsync()
  2514. *
  2515. * Availability:
  2516. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2517. * CarbonLib: in CarbonLib 1.0 and later
  2518. * Mac OS X: in version 10.0 and later
  2519. */
  2520. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2521. #pragma parameter __D0 PBDirCreateAsync(__A0)
  2522. #endif
  2523. EXTERN_API( OSErr ) PBDirCreateAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7006, 0xA660);
  2524. #if CALL_NOT_IN_CARBON
  2525. /*
  2526. * PBGetWDInfoSync()
  2527. *
  2528. * Availability:
  2529. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2530. * CarbonLib: not available
  2531. * Mac OS X: not available
  2532. */
  2533. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2534. #pragma parameter __D0 PBGetWDInfoSync(__A0)
  2535. #endif
  2536. EXTERN_API( OSErr ) PBGetWDInfoSync(WDPBPtr paramBlock) TWOWORDINLINE(0x7007, 0xA260);
  2537. /*
  2538. * PBGetWDInfoAsync()
  2539. *
  2540. * Availability:
  2541. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2542. * CarbonLib: not available
  2543. * Mac OS X: not available
  2544. */
  2545. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2546. #pragma parameter __D0 PBGetWDInfoAsync(__A0)
  2547. #endif
  2548. EXTERN_API( OSErr ) PBGetWDInfoAsync(WDPBPtr paramBlock) TWOWORDINLINE(0x7007, 0xA660);
  2549. #endif /* CALL_NOT_IN_CARBON */
  2550. /*
  2551. * PBGetFCBInfoSync()
  2552. *
  2553. * Availability:
  2554. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2555. * CarbonLib: in CarbonLib 1.0 and later
  2556. * Mac OS X: in version 10.0 and later
  2557. */
  2558. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2559. #pragma parameter __D0 PBGetFCBInfoSync(__A0)
  2560. #endif
  2561. EXTERN_API( OSErr ) PBGetFCBInfoSync(FCBPBPtr paramBlock) TWOWORDINLINE(0x7008, 0xA260);
  2562. /*
  2563. * PBGetFCBInfoAsync()
  2564. *
  2565. * Availability:
  2566. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2567. * CarbonLib: in CarbonLib 1.0 and later
  2568. * Mac OS X: in version 10.0 and later
  2569. */
  2570. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2571. #pragma parameter __D0 PBGetFCBInfoAsync(__A0)
  2572. #endif
  2573. EXTERN_API( OSErr ) PBGetFCBInfoAsync(FCBPBPtr paramBlock) TWOWORDINLINE(0x7008, 0xA660);
  2574. /*
  2575. * PBGetCatInfoSync()
  2576. *
  2577. * Availability:
  2578. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2579. * CarbonLib: in CarbonLib 1.0 and later
  2580. * Mac OS X: in version 10.0 and later
  2581. */
  2582. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2583. #pragma parameter __D0 PBGetCatInfoSync(__A0)
  2584. #endif
  2585. EXTERN_API( OSErr ) PBGetCatInfoSync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x7009, 0xA260);
  2586. /*
  2587. * PBGetCatInfoAsync()
  2588. *
  2589. * Availability:
  2590. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2591. * CarbonLib: in CarbonLib 1.0 and later
  2592. * Mac OS X: in version 10.0 and later
  2593. */
  2594. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2595. #pragma parameter __D0 PBGetCatInfoAsync(__A0)
  2596. #endif
  2597. EXTERN_API( OSErr ) PBGetCatInfoAsync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x7009, 0xA660);
  2598. /*
  2599. * PBSetCatInfoSync()
  2600. *
  2601. * Availability:
  2602. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2603. * CarbonLib: in CarbonLib 1.0 and later
  2604. * Mac OS X: in version 10.0 and later
  2605. */
  2606. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2607. #pragma parameter __D0 PBSetCatInfoSync(__A0)
  2608. #endif
  2609. EXTERN_API( OSErr ) PBSetCatInfoSync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x700A, 0xA260);
  2610. /*
  2611. * PBSetCatInfoAsync()
  2612. *
  2613. * Availability:
  2614. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2615. * CarbonLib: in CarbonLib 1.0 and later
  2616. * Mac OS X: in version 10.0 and later
  2617. */
  2618. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2619. #pragma parameter __D0 PBSetCatInfoAsync(__A0)
  2620. #endif
  2621. EXTERN_API( OSErr ) PBSetCatInfoAsync(CInfoPBPtr paramBlock) TWOWORDINLINE(0x700A, 0xA660);
  2622. /*
  2623. * PBAllocContigSync()
  2624. *
  2625. * Availability:
  2626. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2627. * CarbonLib: in CarbonLib 1.0 and later
  2628. * Mac OS X: in version 10.0 and later
  2629. */
  2630. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2631. #pragma parameter __D0 PBAllocContigSync(__A0)
  2632. #endif
  2633. EXTERN_API( OSErr ) PBAllocContigSync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA210);
  2634. /*
  2635. * PBAllocContigAsync()
  2636. *
  2637. * Availability:
  2638. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2639. * CarbonLib: in CarbonLib 1.0 and later
  2640. * Mac OS X: in version 10.0 and later
  2641. */
  2642. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2643. #pragma parameter __D0 PBAllocContigAsync(__A0)
  2644. #endif
  2645. EXTERN_API( OSErr ) PBAllocContigAsync(ParmBlkPtr paramBlock) ONEWORDINLINE(0xA610);
  2646. /*
  2647. * PBLockRangeSync()
  2648. *
  2649. * Availability:
  2650. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2651. * CarbonLib: in CarbonLib 1.0 and later
  2652. * Mac OS X: in version 10.0 and later
  2653. */
  2654. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2655. #pragma parameter __D0 PBLockRangeSync(__A0)
  2656. #endif
  2657. EXTERN_API( OSErr ) PBLockRangeSync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7010, 0xA260);
  2658. /*
  2659. * PBLockRangeAsync()
  2660. *
  2661. * Availability:
  2662. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2663. * CarbonLib: in CarbonLib 1.0 and later
  2664. * Mac OS X: in version 10.0 and later
  2665. */
  2666. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2667. #pragma parameter __D0 PBLockRangeAsync(__A0)
  2668. #endif
  2669. EXTERN_API( OSErr ) PBLockRangeAsync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7010, 0xA660);
  2670. /*
  2671. * PBUnlockRangeSync()
  2672. *
  2673. * Availability:
  2674. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2675. * CarbonLib: in CarbonLib 1.0 and later
  2676. * Mac OS X: in version 10.0 and later
  2677. */
  2678. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2679. #pragma parameter __D0 PBUnlockRangeSync(__A0)
  2680. #endif
  2681. EXTERN_API( OSErr ) PBUnlockRangeSync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7011, 0xA260);
  2682. /*
  2683. * PBUnlockRangeAsync()
  2684. *
  2685. * Availability:
  2686. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2687. * CarbonLib: in CarbonLib 1.0 and later
  2688. * Mac OS X: in version 10.0 and later
  2689. */
  2690. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2691. #pragma parameter __D0 PBUnlockRangeAsync(__A0)
  2692. #endif
  2693. EXTERN_API( OSErr ) PBUnlockRangeAsync(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7011, 0xA660);
  2694. /*
  2695. * PBSetVInfoSync()
  2696. *
  2697. * Availability:
  2698. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2699. * CarbonLib: in CarbonLib 1.0 and later
  2700. * Mac OS X: in version 10.0 and later
  2701. */
  2702. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2703. #pragma parameter __D0 PBSetVInfoSync(__A0)
  2704. #endif
  2705. EXTERN_API( OSErr ) PBSetVInfoSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x700B, 0xA260);
  2706. /*
  2707. * PBSetVInfoAsync()
  2708. *
  2709. * Availability:
  2710. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2711. * CarbonLib: in CarbonLib 1.0 and later
  2712. * Mac OS X: in version 10.0 and later
  2713. */
  2714. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2715. #pragma parameter __D0 PBSetVInfoAsync(__A0)
  2716. #endif
  2717. EXTERN_API( OSErr ) PBSetVInfoAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x700B, 0xA660);
  2718. /*
  2719. * PBHGetVInfoSync()
  2720. *
  2721. * Availability:
  2722. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2723. * CarbonLib: in CarbonLib 1.0 and later
  2724. * Mac OS X: in version 10.0 and later
  2725. */
  2726. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2727. #pragma parameter __D0 PBHGetVInfoSync(__A0)
  2728. #endif
  2729. EXTERN_API( OSErr ) PBHGetVInfoSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA207);
  2730. /*
  2731. * PBHGetVInfoAsync()
  2732. *
  2733. * Availability:
  2734. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2735. * CarbonLib: in CarbonLib 1.0 and later
  2736. * Mac OS X: in version 10.0 and later
  2737. */
  2738. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2739. #pragma parameter __D0 PBHGetVInfoAsync(__A0)
  2740. #endif
  2741. EXTERN_API( OSErr ) PBHGetVInfoAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA607);
  2742. /*
  2743. * PBHOpenSync()
  2744. *
  2745. * Availability:
  2746. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2747. * CarbonLib: in CarbonLib 1.0 and later
  2748. * Mac OS X: in version 10.0 and later
  2749. */
  2750. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2751. #pragma parameter __D0 PBHOpenSync(__A0)
  2752. #endif
  2753. EXTERN_API( OSErr ) PBHOpenSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA200);
  2754. /*
  2755. * PBHOpenAsync()
  2756. *
  2757. * Availability:
  2758. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2759. * CarbonLib: in CarbonLib 1.0 and later
  2760. * Mac OS X: in version 10.0 and later
  2761. */
  2762. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2763. #pragma parameter __D0 PBHOpenAsync(__A0)
  2764. #endif
  2765. EXTERN_API( OSErr ) PBHOpenAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA600);
  2766. /*
  2767. * PBHOpenRFSync()
  2768. *
  2769. * Availability:
  2770. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2771. * CarbonLib: in CarbonLib 1.0 and later
  2772. * Mac OS X: in version 10.0 and later
  2773. */
  2774. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2775. #pragma parameter __D0 PBHOpenRFSync(__A0)
  2776. #endif
  2777. EXTERN_API( OSErr ) PBHOpenRFSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20A);
  2778. /*
  2779. * PBHOpenRFAsync()
  2780. *
  2781. * Availability:
  2782. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2783. * CarbonLib: in CarbonLib 1.0 and later
  2784. * Mac OS X: in version 10.0 and later
  2785. */
  2786. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2787. #pragma parameter __D0 PBHOpenRFAsync(__A0)
  2788. #endif
  2789. EXTERN_API( OSErr ) PBHOpenRFAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60A);
  2790. /*
  2791. * PBHOpenDFSync()
  2792. *
  2793. * Availability:
  2794. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2795. * CarbonLib: in CarbonLib 1.0 and later
  2796. * Mac OS X: in version 10.0 and later
  2797. */
  2798. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2799. #pragma parameter __D0 PBHOpenDFSync(__A0)
  2800. #endif
  2801. EXTERN_API( OSErr ) PBHOpenDFSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA260);
  2802. /*
  2803. * PBHOpenDFAsync()
  2804. *
  2805. * Availability:
  2806. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2807. * CarbonLib: in CarbonLib 1.0 and later
  2808. * Mac OS X: in version 10.0 and later
  2809. */
  2810. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2811. #pragma parameter __D0 PBHOpenDFAsync(__A0)
  2812. #endif
  2813. EXTERN_API( OSErr ) PBHOpenDFAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701A, 0xA660);
  2814. /*
  2815. * PBHCreateSync()
  2816. *
  2817. * Availability:
  2818. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2819. * CarbonLib: in CarbonLib 1.0 and later
  2820. * Mac OS X: in version 10.0 and later
  2821. */
  2822. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2823. #pragma parameter __D0 PBHCreateSync(__A0)
  2824. #endif
  2825. EXTERN_API( OSErr ) PBHCreateSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA208);
  2826. /*
  2827. * PBHCreateAsync()
  2828. *
  2829. * Availability:
  2830. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2831. * CarbonLib: in CarbonLib 1.0 and later
  2832. * Mac OS X: in version 10.0 and later
  2833. */
  2834. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2835. #pragma parameter __D0 PBHCreateAsync(__A0)
  2836. #endif
  2837. EXTERN_API( OSErr ) PBHCreateAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA608);
  2838. /*
  2839. * PBHDeleteSync()
  2840. *
  2841. * Availability:
  2842. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2843. * CarbonLib: in CarbonLib 1.0 and later
  2844. * Mac OS X: in version 10.0 and later
  2845. */
  2846. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2847. #pragma parameter __D0 PBHDeleteSync(__A0)
  2848. #endif
  2849. EXTERN_API( OSErr ) PBHDeleteSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA209);
  2850. /*
  2851. * PBHDeleteAsync()
  2852. *
  2853. * Availability:
  2854. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2855. * CarbonLib: in CarbonLib 1.0 and later
  2856. * Mac OS X: in version 10.0 and later
  2857. */
  2858. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2859. #pragma parameter __D0 PBHDeleteAsync(__A0)
  2860. #endif
  2861. EXTERN_API( OSErr ) PBHDeleteAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA609);
  2862. /*
  2863. * PBHRenameSync()
  2864. *
  2865. * Availability:
  2866. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2867. * CarbonLib: in CarbonLib 1.0 and later
  2868. * Mac OS X: in version 10.0 and later
  2869. */
  2870. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2871. #pragma parameter __D0 PBHRenameSync(__A0)
  2872. #endif
  2873. EXTERN_API( OSErr ) PBHRenameSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20B);
  2874. /*
  2875. * PBHRenameAsync()
  2876. *
  2877. * Availability:
  2878. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2879. * CarbonLib: in CarbonLib 1.0 and later
  2880. * Mac OS X: in version 10.0 and later
  2881. */
  2882. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2883. #pragma parameter __D0 PBHRenameAsync(__A0)
  2884. #endif
  2885. EXTERN_API( OSErr ) PBHRenameAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60B);
  2886. /*
  2887. * PBHRstFLockSync()
  2888. *
  2889. * Availability:
  2890. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2891. * CarbonLib: in CarbonLib 1.0 and later
  2892. * Mac OS X: in version 10.0 and later
  2893. */
  2894. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2895. #pragma parameter __D0 PBHRstFLockSync(__A0)
  2896. #endif
  2897. EXTERN_API( OSErr ) PBHRstFLockSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA242);
  2898. /*
  2899. * PBHRstFLockAsync()
  2900. *
  2901. * Availability:
  2902. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2903. * CarbonLib: in CarbonLib 1.0 and later
  2904. * Mac OS X: in version 10.0 and later
  2905. */
  2906. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2907. #pragma parameter __D0 PBHRstFLockAsync(__A0)
  2908. #endif
  2909. EXTERN_API( OSErr ) PBHRstFLockAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA642);
  2910. /*
  2911. * PBHSetFLockSync()
  2912. *
  2913. * Availability:
  2914. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2915. * CarbonLib: in CarbonLib 1.0 and later
  2916. * Mac OS X: in version 10.0 and later
  2917. */
  2918. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2919. #pragma parameter __D0 PBHSetFLockSync(__A0)
  2920. #endif
  2921. EXTERN_API( OSErr ) PBHSetFLockSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA241);
  2922. /*
  2923. * PBHSetFLockAsync()
  2924. *
  2925. * Availability:
  2926. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2927. * CarbonLib: in CarbonLib 1.0 and later
  2928. * Mac OS X: in version 10.0 and later
  2929. */
  2930. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2931. #pragma parameter __D0 PBHSetFLockAsync(__A0)
  2932. #endif
  2933. EXTERN_API( OSErr ) PBHSetFLockAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA641);
  2934. /*
  2935. * PBHGetFInfoSync()
  2936. *
  2937. * Availability:
  2938. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2939. * CarbonLib: in CarbonLib 1.0 and later
  2940. * Mac OS X: in version 10.0 and later
  2941. */
  2942. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2943. #pragma parameter __D0 PBHGetFInfoSync(__A0)
  2944. #endif
  2945. EXTERN_API( OSErr ) PBHGetFInfoSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20C);
  2946. /*
  2947. * PBHGetFInfoAsync()
  2948. *
  2949. * Availability:
  2950. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2951. * CarbonLib: in CarbonLib 1.0 and later
  2952. * Mac OS X: in version 10.0 and later
  2953. */
  2954. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2955. #pragma parameter __D0 PBHGetFInfoAsync(__A0)
  2956. #endif
  2957. EXTERN_API( OSErr ) PBHGetFInfoAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60C);
  2958. /*
  2959. * PBHSetFInfoSync()
  2960. *
  2961. * Availability:
  2962. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2963. * CarbonLib: in CarbonLib 1.0 and later
  2964. * Mac OS X: in version 10.0 and later
  2965. */
  2966. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2967. #pragma parameter __D0 PBHSetFInfoSync(__A0)
  2968. #endif
  2969. EXTERN_API( OSErr ) PBHSetFInfoSync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA20D);
  2970. /*
  2971. * PBHSetFInfoAsync()
  2972. *
  2973. * Availability:
  2974. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2975. * CarbonLib: in CarbonLib 1.0 and later
  2976. * Mac OS X: in version 10.0 and later
  2977. */
  2978. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2979. #pragma parameter __D0 PBHSetFInfoAsync(__A0)
  2980. #endif
  2981. EXTERN_API( OSErr ) PBHSetFInfoAsync(HParmBlkPtr paramBlock) ONEWORDINLINE(0xA60D);
  2982. /*
  2983. * PBMakeFSSpecSync()
  2984. *
  2985. * Availability:
  2986. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2987. * CarbonLib: in CarbonLib 1.0 and later
  2988. * Mac OS X: in version 10.0 and later
  2989. */
  2990. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  2991. #pragma parameter __D0 PBMakeFSSpecSync(__A0)
  2992. #endif
  2993. EXTERN_API( OSErr ) PBMakeFSSpecSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701B, 0xA260);
  2994. /*
  2995. * PBMakeFSSpecAsync()
  2996. *
  2997. * Availability:
  2998. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  2999. * CarbonLib: in CarbonLib 1.0 and later
  3000. * Mac OS X: in version 10.0 and later
  3001. */
  3002. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3003. #pragma parameter __D0 PBMakeFSSpecAsync(__A0)
  3004. #endif
  3005. EXTERN_API( OSErr ) PBMakeFSSpecAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x701B, 0xA660);
  3006. #if CALL_NOT_IN_CARBON
  3007. /*
  3008. * FInitQueue()
  3009. *
  3010. * Availability:
  3011. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3012. * CarbonLib: not available
  3013. * Mac OS X: not available
  3014. */
  3015. EXTERN_API( void ) FInitQueue(void) ONEWORDINLINE(0xA016);
  3016. #endif /* CALL_NOT_IN_CARBON */
  3017. #if CALL_NOT_IN_CARBON
  3018. /*
  3019. * GetFSQHdr()
  3020. *
  3021. * Availability:
  3022. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3023. * CarbonLib: not available
  3024. * Mac OS X: not available
  3025. */
  3026. EXTERN_API( QHdrPtr )
  3027. GetFSQHdr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x0360);
  3028. /*
  3029. * GetVCBQHdr()
  3030. *
  3031. * Availability:
  3032. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3033. * CarbonLib: not available
  3034. * Mac OS X: not available
  3035. */
  3036. EXTERN_API( QHdrPtr )
  3037. GetVCBQHdr(void) THREEWORDINLINE(0x2EBC, 0x0000, 0x0356);
  3038. /* GetDrvQHdr was moved to Devices.h*/
  3039. #endif /* CALL_NOT_IN_CARBON */
  3040. /*
  3041. * HGetVol()
  3042. *
  3043. * Availability:
  3044. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3045. * CarbonLib: in CarbonLib 1.0 and later
  3046. * Mac OS X: in version 10.0 and later
  3047. */
  3048. EXTERN_API( OSErr )
  3049. HGetVol(
  3050. StringPtr volName,
  3051. short * vRefNum,
  3052. long * dirID);
  3053. /*
  3054. * HOpen()
  3055. *
  3056. * Availability:
  3057. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3058. * CarbonLib: in CarbonLib 1.0 and later
  3059. * Mac OS X: in version 10.0 and later
  3060. */
  3061. EXTERN_API( OSErr )
  3062. HOpen(
  3063. short vRefNum,
  3064. long dirID,
  3065. ConstStr255Param fileName,
  3066. SInt8 permission,
  3067. short * refNum);
  3068. /*
  3069. * HOpenDF()
  3070. *
  3071. * Availability:
  3072. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3073. * CarbonLib: in CarbonLib 1.0 and later
  3074. * Mac OS X: in version 10.0 and later
  3075. */
  3076. EXTERN_API( OSErr )
  3077. HOpenDF(
  3078. short vRefNum,
  3079. long dirID,
  3080. ConstStr255Param fileName,
  3081. SInt8 permission,
  3082. short * refNum);
  3083. /*
  3084. * HOpenRF()
  3085. *
  3086. * Availability:
  3087. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3088. * CarbonLib: in CarbonLib 1.0 and later
  3089. * Mac OS X: in version 10.0 and later
  3090. */
  3091. EXTERN_API( OSErr )
  3092. HOpenRF(
  3093. short vRefNum,
  3094. long dirID,
  3095. ConstStr255Param fileName,
  3096. SInt8 permission,
  3097. short * refNum);
  3098. /*
  3099. * AllocContig()
  3100. *
  3101. * Availability:
  3102. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3103. * CarbonLib: in CarbonLib 1.0 and later
  3104. * Mac OS X: in version 10.0 and later
  3105. */
  3106. EXTERN_API( OSErr )
  3107. AllocContig(
  3108. short refNum,
  3109. long * count);
  3110. /*
  3111. * HCreate()
  3112. *
  3113. * Availability:
  3114. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3115. * CarbonLib: in CarbonLib 1.0 and later
  3116. * Mac OS X: in version 10.0 and later
  3117. */
  3118. EXTERN_API( OSErr )
  3119. HCreate(
  3120. short vRefNum,
  3121. long dirID,
  3122. ConstStr255Param fileName,
  3123. OSType creator,
  3124. OSType fileType);
  3125. /*
  3126. * DirCreate()
  3127. *
  3128. * Availability:
  3129. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3130. * CarbonLib: in CarbonLib 1.0 and later
  3131. * Mac OS X: in version 10.0 and later
  3132. */
  3133. EXTERN_API( OSErr )
  3134. DirCreate(
  3135. short vRefNum,
  3136. long parentDirID,
  3137. ConstStr255Param directoryName,
  3138. long * createdDirID);
  3139. /*
  3140. * HDelete()
  3141. *
  3142. * Availability:
  3143. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3144. * CarbonLib: in CarbonLib 1.0 and later
  3145. * Mac OS X: in version 10.0 and later
  3146. */
  3147. EXTERN_API( OSErr )
  3148. HDelete(
  3149. short vRefNum,
  3150. long dirID,
  3151. ConstStr255Param fileName);
  3152. /*
  3153. * HGetFInfo()
  3154. *
  3155. * Availability:
  3156. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3157. * CarbonLib: in CarbonLib 1.0 and later
  3158. * Mac OS X: in version 10.0 and later
  3159. */
  3160. EXTERN_API( OSErr )
  3161. HGetFInfo(
  3162. short vRefNum,
  3163. long dirID,
  3164. ConstStr255Param fileName,
  3165. FInfo * fndrInfo);
  3166. /*
  3167. * HSetFInfo()
  3168. *
  3169. * Availability:
  3170. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3171. * CarbonLib: in CarbonLib 1.0 and later
  3172. * Mac OS X: in version 10.0 and later
  3173. */
  3174. EXTERN_API( OSErr )
  3175. HSetFInfo(
  3176. short vRefNum,
  3177. long dirID,
  3178. ConstStr255Param fileName,
  3179. const FInfo * fndrInfo);
  3180. /*
  3181. * HSetFLock()
  3182. *
  3183. * Availability:
  3184. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3185. * CarbonLib: in CarbonLib 1.0 and later
  3186. * Mac OS X: in version 10.0 and later
  3187. */
  3188. EXTERN_API( OSErr )
  3189. HSetFLock(
  3190. short vRefNum,
  3191. long dirID,
  3192. ConstStr255Param fileName);
  3193. /*
  3194. * HRstFLock()
  3195. *
  3196. * Availability:
  3197. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3198. * CarbonLib: in CarbonLib 1.0 and later
  3199. * Mac OS X: in version 10.0 and later
  3200. */
  3201. EXTERN_API( OSErr )
  3202. HRstFLock(
  3203. short vRefNum,
  3204. long dirID,
  3205. ConstStr255Param fileName);
  3206. /*
  3207. * HRename()
  3208. *
  3209. * Availability:
  3210. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3211. * CarbonLib: in CarbonLib 1.0 and later
  3212. * Mac OS X: in version 10.0 and later
  3213. */
  3214. EXTERN_API( OSErr )
  3215. HRename(
  3216. short vRefNum,
  3217. long dirID,
  3218. ConstStr255Param oldName,
  3219. ConstStr255Param newName);
  3220. /*
  3221. * CatMove()
  3222. *
  3223. * Availability:
  3224. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3225. * CarbonLib: in CarbonLib 1.0 and later
  3226. * Mac OS X: in version 10.0 and later
  3227. */
  3228. EXTERN_API( OSErr )
  3229. CatMove(
  3230. short vRefNum,
  3231. long dirID,
  3232. ConstStr255Param oldName,
  3233. long newDirID,
  3234. ConstStr255Param newName);
  3235. #if CALL_NOT_IN_CARBON
  3236. /*
  3237. * OpenWD()
  3238. *
  3239. * Availability:
  3240. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3241. * CarbonLib: not available
  3242. * Mac OS X: not available
  3243. */
  3244. EXTERN_API( OSErr )
  3245. OpenWD(
  3246. short vRefNum,
  3247. long dirID,
  3248. long procID,
  3249. short * wdRefNum);
  3250. /*
  3251. * CloseWD()
  3252. *
  3253. * Availability:
  3254. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3255. * CarbonLib: not available
  3256. * Mac OS X: not available
  3257. */
  3258. EXTERN_API( OSErr )
  3259. CloseWD(short wdRefNum);
  3260. /*
  3261. * GetWDInfo()
  3262. *
  3263. * Availability:
  3264. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3265. * CarbonLib: not available
  3266. * Mac OS X: not available
  3267. */
  3268. EXTERN_API( OSErr )
  3269. GetWDInfo(
  3270. short wdRefNum,
  3271. short * vRefNum,
  3272. long * dirID,
  3273. long * procID);
  3274. /* shared environment */
  3275. #endif /* CALL_NOT_IN_CARBON */
  3276. /*
  3277. * PBHGetVolParmsSync()
  3278. *
  3279. * Availability:
  3280. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3281. * CarbonLib: in CarbonLib 1.0 and later
  3282. * Mac OS X: in version 10.0 and later
  3283. */
  3284. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3285. #pragma parameter __D0 PBHGetVolParmsSync(__A0)
  3286. #endif
  3287. EXTERN_API( OSErr ) PBHGetVolParmsSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7030, 0xA260);
  3288. /*
  3289. * PBHGetVolParmsAsync()
  3290. *
  3291. * Availability:
  3292. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3293. * CarbonLib: in CarbonLib 1.0 and later
  3294. * Mac OS X: in version 10.0 and later
  3295. */
  3296. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3297. #pragma parameter __D0 PBHGetVolParmsAsync(__A0)
  3298. #endif
  3299. EXTERN_API( OSErr ) PBHGetVolParmsAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7030, 0xA660);
  3300. /*
  3301. * PBHGetLogInInfoSync()
  3302. *
  3303. * Availability:
  3304. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3305. * CarbonLib: in CarbonLib 1.0 and later
  3306. * Mac OS X: in version 10.0 and later
  3307. */
  3308. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3309. #pragma parameter __D0 PBHGetLogInInfoSync(__A0)
  3310. #endif
  3311. EXTERN_API( OSErr ) PBHGetLogInInfoSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7031, 0xA260);
  3312. /*
  3313. * PBHGetLogInInfoAsync()
  3314. *
  3315. * Availability:
  3316. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3317. * CarbonLib: in CarbonLib 1.0 and later
  3318. * Mac OS X: in version 10.0 and later
  3319. */
  3320. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3321. #pragma parameter __D0 PBHGetLogInInfoAsync(__A0)
  3322. #endif
  3323. EXTERN_API( OSErr ) PBHGetLogInInfoAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7031, 0xA660);
  3324. /*
  3325. * PBHGetDirAccessSync()
  3326. *
  3327. * Availability:
  3328. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3329. * CarbonLib: in CarbonLib 1.0 and later
  3330. * Mac OS X: in version 10.0 and later
  3331. */
  3332. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3333. #pragma parameter __D0 PBHGetDirAccessSync(__A0)
  3334. #endif
  3335. EXTERN_API( OSErr ) PBHGetDirAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7032, 0xA260);
  3336. /*
  3337. * PBHGetDirAccessAsync()
  3338. *
  3339. * Availability:
  3340. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3341. * CarbonLib: in CarbonLib 1.0 and later
  3342. * Mac OS X: in version 10.0 and later
  3343. */
  3344. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3345. #pragma parameter __D0 PBHGetDirAccessAsync(__A0)
  3346. #endif
  3347. EXTERN_API( OSErr ) PBHGetDirAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7032, 0xA660);
  3348. /*
  3349. * PBHSetDirAccessSync()
  3350. *
  3351. * Availability:
  3352. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3353. * CarbonLib: in CarbonLib 1.0 and later
  3354. * Mac OS X: in version 10.0 and later
  3355. */
  3356. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3357. #pragma parameter __D0 PBHSetDirAccessSync(__A0)
  3358. #endif
  3359. EXTERN_API( OSErr ) PBHSetDirAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7033, 0xA260);
  3360. /*
  3361. * PBHSetDirAccessAsync()
  3362. *
  3363. * Availability:
  3364. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3365. * CarbonLib: in CarbonLib 1.0 and later
  3366. * Mac OS X: in version 10.0 and later
  3367. */
  3368. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3369. #pragma parameter __D0 PBHSetDirAccessAsync(__A0)
  3370. #endif
  3371. EXTERN_API( OSErr ) PBHSetDirAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7033, 0xA660);
  3372. /*
  3373. * PBHMapIDSync()
  3374. *
  3375. * Availability:
  3376. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3377. * CarbonLib: in CarbonLib 1.0 and later
  3378. * Mac OS X: in version 10.0 and later
  3379. */
  3380. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3381. #pragma parameter __D0 PBHMapIDSync(__A0)
  3382. #endif
  3383. EXTERN_API( OSErr ) PBHMapIDSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7034, 0xA260);
  3384. /*
  3385. * PBHMapIDAsync()
  3386. *
  3387. * Availability:
  3388. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3389. * CarbonLib: in CarbonLib 1.0 and later
  3390. * Mac OS X: in version 10.0 and later
  3391. */
  3392. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3393. #pragma parameter __D0 PBHMapIDAsync(__A0)
  3394. #endif
  3395. EXTERN_API( OSErr ) PBHMapIDAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7034, 0xA660);
  3396. /*
  3397. * PBHMapNameSync()
  3398. *
  3399. * Availability:
  3400. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3401. * CarbonLib: in CarbonLib 1.0 and later
  3402. * Mac OS X: in version 10.0 and later
  3403. */
  3404. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3405. #pragma parameter __D0 PBHMapNameSync(__A0)
  3406. #endif
  3407. EXTERN_API( OSErr ) PBHMapNameSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7035, 0xA260);
  3408. /*
  3409. * PBHMapNameAsync()
  3410. *
  3411. * Availability:
  3412. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3413. * CarbonLib: in CarbonLib 1.0 and later
  3414. * Mac OS X: in version 10.0 and later
  3415. */
  3416. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3417. #pragma parameter __D0 PBHMapNameAsync(__A0)
  3418. #endif
  3419. EXTERN_API( OSErr ) PBHMapNameAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7035, 0xA660);
  3420. /*
  3421. * PBHCopyFileSync()
  3422. *
  3423. * Availability:
  3424. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3425. * CarbonLib: in CarbonLib 1.0 and later
  3426. * Mac OS X: in version 10.0 and later
  3427. */
  3428. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3429. #pragma parameter __D0 PBHCopyFileSync(__A0)
  3430. #endif
  3431. EXTERN_API( OSErr ) PBHCopyFileSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7036, 0xA260);
  3432. /*
  3433. * PBHCopyFileAsync()
  3434. *
  3435. * Availability:
  3436. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3437. * CarbonLib: in CarbonLib 1.0 and later
  3438. * Mac OS X: in version 10.0 and later
  3439. */
  3440. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3441. #pragma parameter __D0 PBHCopyFileAsync(__A0)
  3442. #endif
  3443. EXTERN_API( OSErr ) PBHCopyFileAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7036, 0xA660);
  3444. /*
  3445. * PBHMoveRenameSync()
  3446. *
  3447. * Availability:
  3448. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3449. * CarbonLib: in CarbonLib 1.0 and later
  3450. * Mac OS X: in version 10.0 and later
  3451. */
  3452. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3453. #pragma parameter __D0 PBHMoveRenameSync(__A0)
  3454. #endif
  3455. EXTERN_API( OSErr ) PBHMoveRenameSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7037, 0xA260);
  3456. /*
  3457. * PBHMoveRenameAsync()
  3458. *
  3459. * Availability:
  3460. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3461. * CarbonLib: in CarbonLib 1.0 and later
  3462. * Mac OS X: in version 10.0 and later
  3463. */
  3464. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3465. #pragma parameter __D0 PBHMoveRenameAsync(__A0)
  3466. #endif
  3467. EXTERN_API( OSErr ) PBHMoveRenameAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7037, 0xA660);
  3468. /*
  3469. * PBHOpenDenySync()
  3470. *
  3471. * Availability:
  3472. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3473. * CarbonLib: in CarbonLib 1.0 and later
  3474. * Mac OS X: in version 10.0 and later
  3475. */
  3476. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3477. #pragma parameter __D0 PBHOpenDenySync(__A0)
  3478. #endif
  3479. EXTERN_API( OSErr ) PBHOpenDenySync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7038, 0xA260);
  3480. /*
  3481. * PBHOpenDenyAsync()
  3482. *
  3483. * Availability:
  3484. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3485. * CarbonLib: in CarbonLib 1.0 and later
  3486. * Mac OS X: in version 10.0 and later
  3487. */
  3488. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3489. #pragma parameter __D0 PBHOpenDenyAsync(__A0)
  3490. #endif
  3491. EXTERN_API( OSErr ) PBHOpenDenyAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7038, 0xA660);
  3492. /*
  3493. * PBHOpenRFDenySync()
  3494. *
  3495. * Availability:
  3496. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3497. * CarbonLib: in CarbonLib 1.0 and later
  3498. * Mac OS X: in version 10.0 and later
  3499. */
  3500. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3501. #pragma parameter __D0 PBHOpenRFDenySync(__A0)
  3502. #endif
  3503. EXTERN_API( OSErr ) PBHOpenRFDenySync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7039, 0xA260);
  3504. /*
  3505. * PBHOpenRFDenyAsync()
  3506. *
  3507. * Availability:
  3508. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3509. * CarbonLib: in CarbonLib 1.0 and later
  3510. * Mac OS X: in version 10.0 and later
  3511. */
  3512. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3513. #pragma parameter __D0 PBHOpenRFDenyAsync(__A0)
  3514. #endif
  3515. EXTERN_API( OSErr ) PBHOpenRFDenyAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7039, 0xA660);
  3516. /*
  3517. * PBGetXCatInfoSync()
  3518. *
  3519. * Availability:
  3520. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  3521. * CarbonLib: in CarbonLib 1.0 and later
  3522. * Mac OS X: in version 10.0 and later
  3523. */
  3524. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3525. #pragma parameter __D0 PBGetXCatInfoSync(__A0)
  3526. #endif
  3527. EXTERN_API( OSErr ) PBGetXCatInfoSync(XCInfoPBPtr paramBlock) TWOWORDINLINE(0x703A, 0xA260);
  3528. /*
  3529. * PBGetXCatInfoAsync()
  3530. *
  3531. * Availability:
  3532. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  3533. * CarbonLib: in CarbonLib 1.0 and later
  3534. * Mac OS X: in version 10.0 and later
  3535. */
  3536. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3537. #pragma parameter __D0 PBGetXCatInfoAsync(__A0)
  3538. #endif
  3539. EXTERN_API( OSErr ) PBGetXCatInfoAsync(XCInfoPBPtr paramBlock) TWOWORDINLINE(0x703A, 0xA660);
  3540. /*
  3541. * PBExchangeFilesSync()
  3542. *
  3543. * Availability:
  3544. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3545. * CarbonLib: in CarbonLib 1.0 and later
  3546. * Mac OS X: in version 10.0 and later
  3547. */
  3548. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3549. #pragma parameter __D0 PBExchangeFilesSync(__A0)
  3550. #endif
  3551. EXTERN_API( OSErr ) PBExchangeFilesSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7017, 0xA260);
  3552. /*
  3553. * PBExchangeFilesAsync()
  3554. *
  3555. * Availability:
  3556. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3557. * CarbonLib: in CarbonLib 1.0 and later
  3558. * Mac OS X: in version 10.0 and later
  3559. */
  3560. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3561. #pragma parameter __D0 PBExchangeFilesAsync(__A0)
  3562. #endif
  3563. EXTERN_API( OSErr ) PBExchangeFilesAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7017, 0xA660);
  3564. /*
  3565. * PBCreateFileIDRefSync()
  3566. *
  3567. * Availability:
  3568. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3569. * CarbonLib: in CarbonLib 1.0 and later
  3570. * Mac OS X: in version 10.0 and later
  3571. */
  3572. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3573. #pragma parameter __D0 PBCreateFileIDRefSync(__A0)
  3574. #endif
  3575. EXTERN_API( OSErr ) PBCreateFileIDRefSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7014, 0xA260);
  3576. /*
  3577. * PBCreateFileIDRefAsync()
  3578. *
  3579. * Availability:
  3580. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3581. * CarbonLib: in CarbonLib 1.0 and later
  3582. * Mac OS X: in version 10.0 and later
  3583. */
  3584. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3585. #pragma parameter __D0 PBCreateFileIDRefAsync(__A0)
  3586. #endif
  3587. EXTERN_API( OSErr ) PBCreateFileIDRefAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7014, 0xA660);
  3588. /*
  3589. * PBResolveFileIDRefSync()
  3590. *
  3591. * Availability:
  3592. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3593. * CarbonLib: in CarbonLib 1.0 and later
  3594. * Mac OS X: in version 10.0 and later
  3595. */
  3596. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3597. #pragma parameter __D0 PBResolveFileIDRefSync(__A0)
  3598. #endif
  3599. EXTERN_API( OSErr ) PBResolveFileIDRefSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7016, 0xA260);
  3600. /*
  3601. * PBResolveFileIDRefAsync()
  3602. *
  3603. * Availability:
  3604. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3605. * CarbonLib: in CarbonLib 1.0 and later
  3606. * Mac OS X: in version 10.0 and later
  3607. */
  3608. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3609. #pragma parameter __D0 PBResolveFileIDRefAsync(__A0)
  3610. #endif
  3611. EXTERN_API( OSErr ) PBResolveFileIDRefAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7016, 0xA660);
  3612. /*
  3613. * PBDeleteFileIDRefSync()
  3614. *
  3615. * Availability:
  3616. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3617. * CarbonLib: in CarbonLib 1.0 and later
  3618. * Mac OS X: in version 10.0 and later
  3619. */
  3620. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3621. #pragma parameter __D0 PBDeleteFileIDRefSync(__A0)
  3622. #endif
  3623. EXTERN_API( OSErr ) PBDeleteFileIDRefSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7015, 0xA260);
  3624. /*
  3625. * PBDeleteFileIDRefAsync()
  3626. *
  3627. * Availability:
  3628. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3629. * CarbonLib: in CarbonLib 1.0 and later
  3630. * Mac OS X: in version 10.0 and later
  3631. */
  3632. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3633. #pragma parameter __D0 PBDeleteFileIDRefAsync(__A0)
  3634. #endif
  3635. EXTERN_API( OSErr ) PBDeleteFileIDRefAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7015, 0xA660);
  3636. /*
  3637. * PBGetForeignPrivsSync()
  3638. *
  3639. * Availability:
  3640. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3641. * CarbonLib: in CarbonLib 1.0 and later
  3642. * Mac OS X: in version 10.0 and later
  3643. */
  3644. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3645. #pragma parameter __D0 PBGetForeignPrivsSync(__A0)
  3646. #endif
  3647. EXTERN_API( OSErr ) PBGetForeignPrivsSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA260);
  3648. /*
  3649. * PBGetForeignPrivsAsync()
  3650. *
  3651. * Availability:
  3652. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3653. * CarbonLib: in CarbonLib 1.0 and later
  3654. * Mac OS X: in version 10.0 and later
  3655. */
  3656. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3657. #pragma parameter __D0 PBGetForeignPrivsAsync(__A0)
  3658. #endif
  3659. EXTERN_API( OSErr ) PBGetForeignPrivsAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA660);
  3660. /*
  3661. * PBSetForeignPrivsSync()
  3662. *
  3663. * Availability:
  3664. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3665. * CarbonLib: in CarbonLib 1.0 and later
  3666. * Mac OS X: in version 10.0 and later
  3667. */
  3668. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3669. #pragma parameter __D0 PBSetForeignPrivsSync(__A0)
  3670. #endif
  3671. EXTERN_API( OSErr ) PBSetForeignPrivsSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA260);
  3672. /*
  3673. * PBSetForeignPrivsAsync()
  3674. *
  3675. * Availability:
  3676. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3677. * CarbonLib: in CarbonLib 1.0 and later
  3678. * Mac OS X: in version 10.0 and later
  3679. */
  3680. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3681. #pragma parameter __D0 PBSetForeignPrivsAsync(__A0)
  3682. #endif
  3683. EXTERN_API( OSErr ) PBSetForeignPrivsAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA660);
  3684. /* Desktop Manager */
  3685. /*
  3686. * PBDTGetPath()
  3687. *
  3688. * Availability:
  3689. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3690. * CarbonLib: in CarbonLib 1.0 and later
  3691. * Mac OS X: in version 10.0 and later
  3692. */
  3693. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3694. #pragma parameter __D0 PBDTGetPath(__A0)
  3695. #endif
  3696. EXTERN_API( OSErr ) PBDTGetPath(DTPBPtr paramBlock) TWOWORDINLINE(0x7020, 0xA260);
  3697. /*
  3698. * PBDTCloseDown()
  3699. *
  3700. * Availability:
  3701. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3702. * CarbonLib: in CarbonLib 1.0 and later
  3703. * Mac OS X: in version 10.0 and later
  3704. */
  3705. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3706. #pragma parameter __D0 PBDTCloseDown(__A0)
  3707. #endif
  3708. EXTERN_API( OSErr ) PBDTCloseDown(DTPBPtr paramBlock) TWOWORDINLINE(0x7021, 0xA260);
  3709. /*
  3710. * PBDTAddIconSync()
  3711. *
  3712. * Availability:
  3713. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3714. * CarbonLib: in CarbonLib 1.0 and later
  3715. * Mac OS X: in version 10.0 and later
  3716. */
  3717. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3718. #pragma parameter __D0 PBDTAddIconSync(__A0)
  3719. #endif
  3720. EXTERN_API( OSErr ) PBDTAddIconSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7022, 0xA260);
  3721. /*
  3722. * PBDTAddIconAsync()
  3723. *
  3724. * Availability:
  3725. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3726. * CarbonLib: in CarbonLib 1.0 and later
  3727. * Mac OS X: in version 10.0 and later
  3728. */
  3729. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3730. #pragma parameter __D0 PBDTAddIconAsync(__A0)
  3731. #endif
  3732. EXTERN_API( OSErr ) PBDTAddIconAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7022, 0xA660);
  3733. /*
  3734. * PBDTGetIconSync()
  3735. *
  3736. * Availability:
  3737. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3738. * CarbonLib: in CarbonLib 1.0 and later
  3739. * Mac OS X: in version 10.0 and later
  3740. */
  3741. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3742. #pragma parameter __D0 PBDTGetIconSync(__A0)
  3743. #endif
  3744. EXTERN_API( OSErr ) PBDTGetIconSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7023, 0xA260);
  3745. /*
  3746. * PBDTGetIconAsync()
  3747. *
  3748. * Availability:
  3749. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3750. * CarbonLib: in CarbonLib 1.0 and later
  3751. * Mac OS X: in version 10.0 and later
  3752. */
  3753. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3754. #pragma parameter __D0 PBDTGetIconAsync(__A0)
  3755. #endif
  3756. EXTERN_API( OSErr ) PBDTGetIconAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7023, 0xA660);
  3757. /*
  3758. * PBDTGetIconInfoSync()
  3759. *
  3760. * Availability:
  3761. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3762. * CarbonLib: in CarbonLib 1.0 and later
  3763. * Mac OS X: in version 10.0 and later
  3764. */
  3765. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3766. #pragma parameter __D0 PBDTGetIconInfoSync(__A0)
  3767. #endif
  3768. EXTERN_API( OSErr ) PBDTGetIconInfoSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7024, 0xA260);
  3769. /*
  3770. * PBDTGetIconInfoAsync()
  3771. *
  3772. * Availability:
  3773. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3774. * CarbonLib: in CarbonLib 1.0 and later
  3775. * Mac OS X: in version 10.0 and later
  3776. */
  3777. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3778. #pragma parameter __D0 PBDTGetIconInfoAsync(__A0)
  3779. #endif
  3780. EXTERN_API( OSErr ) PBDTGetIconInfoAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7024, 0xA660);
  3781. /*
  3782. * PBDTAddAPPLSync()
  3783. *
  3784. * Availability:
  3785. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3786. * CarbonLib: in CarbonLib 1.0 and later
  3787. * Mac OS X: in version 10.0 and later
  3788. */
  3789. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3790. #pragma parameter __D0 PBDTAddAPPLSync(__A0)
  3791. #endif
  3792. EXTERN_API( OSErr ) PBDTAddAPPLSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7025, 0xA260);
  3793. /*
  3794. * PBDTAddAPPLAsync()
  3795. *
  3796. * Availability:
  3797. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3798. * CarbonLib: in CarbonLib 1.0 and later
  3799. * Mac OS X: in version 10.0 and later
  3800. */
  3801. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3802. #pragma parameter __D0 PBDTAddAPPLAsync(__A0)
  3803. #endif
  3804. EXTERN_API( OSErr ) PBDTAddAPPLAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7025, 0xA660);
  3805. /*
  3806. * PBDTRemoveAPPLSync()
  3807. *
  3808. * Availability:
  3809. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3810. * CarbonLib: in CarbonLib 1.0 and later
  3811. * Mac OS X: in version 10.0 and later
  3812. */
  3813. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3814. #pragma parameter __D0 PBDTRemoveAPPLSync(__A0)
  3815. #endif
  3816. EXTERN_API( OSErr ) PBDTRemoveAPPLSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7026, 0xA260);
  3817. /*
  3818. * PBDTRemoveAPPLAsync()
  3819. *
  3820. * Availability:
  3821. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3822. * CarbonLib: in CarbonLib 1.0 and later
  3823. * Mac OS X: in version 10.0 and later
  3824. */
  3825. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3826. #pragma parameter __D0 PBDTRemoveAPPLAsync(__A0)
  3827. #endif
  3828. EXTERN_API( OSErr ) PBDTRemoveAPPLAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7026, 0xA660);
  3829. /*
  3830. * PBDTGetAPPLSync()
  3831. *
  3832. * Availability:
  3833. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3834. * CarbonLib: in CarbonLib 1.0 and later
  3835. * Mac OS X: in version 10.0 and later
  3836. */
  3837. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3838. #pragma parameter __D0 PBDTGetAPPLSync(__A0)
  3839. #endif
  3840. EXTERN_API( OSErr ) PBDTGetAPPLSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7027, 0xA260);
  3841. /*
  3842. * PBDTGetAPPLAsync()
  3843. *
  3844. * Availability:
  3845. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3846. * CarbonLib: in CarbonLib 1.0 and later
  3847. * Mac OS X: in version 10.0 and later
  3848. */
  3849. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3850. #pragma parameter __D0 PBDTGetAPPLAsync(__A0)
  3851. #endif
  3852. EXTERN_API( OSErr ) PBDTGetAPPLAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7027, 0xA660);
  3853. /*
  3854. * PBDTSetCommentSync()
  3855. *
  3856. * Availability:
  3857. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3858. * CarbonLib: in CarbonLib 1.0 and later
  3859. * Mac OS X: in version 10.0 and later
  3860. */
  3861. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3862. #pragma parameter __D0 PBDTSetCommentSync(__A0)
  3863. #endif
  3864. EXTERN_API( OSErr ) PBDTSetCommentSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7028, 0xA260);
  3865. /*
  3866. * PBDTSetCommentAsync()
  3867. *
  3868. * Availability:
  3869. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3870. * CarbonLib: in CarbonLib 1.0 and later
  3871. * Mac OS X: in version 10.0 and later
  3872. */
  3873. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3874. #pragma parameter __D0 PBDTSetCommentAsync(__A0)
  3875. #endif
  3876. EXTERN_API( OSErr ) PBDTSetCommentAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7028, 0xA660);
  3877. /*
  3878. * PBDTRemoveCommentSync()
  3879. *
  3880. * Availability:
  3881. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3882. * CarbonLib: in CarbonLib 1.0 and later
  3883. * Mac OS X: in version 10.0 and later
  3884. */
  3885. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3886. #pragma parameter __D0 PBDTRemoveCommentSync(__A0)
  3887. #endif
  3888. EXTERN_API( OSErr ) PBDTRemoveCommentSync(DTPBPtr paramBlock) TWOWORDINLINE(0x7029, 0xA260);
  3889. /*
  3890. * PBDTRemoveCommentAsync()
  3891. *
  3892. * Availability:
  3893. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3894. * CarbonLib: in CarbonLib 1.0 and later
  3895. * Mac OS X: in version 10.0 and later
  3896. */
  3897. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3898. #pragma parameter __D0 PBDTRemoveCommentAsync(__A0)
  3899. #endif
  3900. EXTERN_API( OSErr ) PBDTRemoveCommentAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x7029, 0xA660);
  3901. /*
  3902. * PBDTGetCommentSync()
  3903. *
  3904. * Availability:
  3905. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3906. * CarbonLib: in CarbonLib 1.0 and later
  3907. * Mac OS X: in version 10.0 and later
  3908. */
  3909. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3910. #pragma parameter __D0 PBDTGetCommentSync(__A0)
  3911. #endif
  3912. EXTERN_API( OSErr ) PBDTGetCommentSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702A, 0xA260);
  3913. /*
  3914. * PBDTGetCommentAsync()
  3915. *
  3916. * Availability:
  3917. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3918. * CarbonLib: in CarbonLib 1.0 and later
  3919. * Mac OS X: in version 10.0 and later
  3920. */
  3921. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3922. #pragma parameter __D0 PBDTGetCommentAsync(__A0)
  3923. #endif
  3924. EXTERN_API( OSErr ) PBDTGetCommentAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702A, 0xA660);
  3925. /*
  3926. * PBDTFlushSync()
  3927. *
  3928. * Availability:
  3929. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3930. * CarbonLib: in CarbonLib 1.0 and later
  3931. * Mac OS X: in version 10.0 and later
  3932. */
  3933. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3934. #pragma parameter __D0 PBDTFlushSync(__A0)
  3935. #endif
  3936. EXTERN_API( OSErr ) PBDTFlushSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702B, 0xA260);
  3937. /*
  3938. * PBDTFlushAsync()
  3939. *
  3940. * Availability:
  3941. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3942. * CarbonLib: in CarbonLib 1.0 and later
  3943. * Mac OS X: in version 10.0 and later
  3944. */
  3945. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3946. #pragma parameter __D0 PBDTFlushAsync(__A0)
  3947. #endif
  3948. EXTERN_API( OSErr ) PBDTFlushAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702B, 0xA660);
  3949. /*
  3950. * PBDTResetSync()
  3951. *
  3952. * Availability:
  3953. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3954. * CarbonLib: in CarbonLib 1.0 and later
  3955. * Mac OS X: in version 10.0 and later
  3956. */
  3957. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3958. #pragma parameter __D0 PBDTResetSync(__A0)
  3959. #endif
  3960. EXTERN_API( OSErr ) PBDTResetSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702C, 0xA260);
  3961. /*
  3962. * PBDTResetAsync()
  3963. *
  3964. * Availability:
  3965. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3966. * CarbonLib: in CarbonLib 1.0 and later
  3967. * Mac OS X: in version 10.0 and later
  3968. */
  3969. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3970. #pragma parameter __D0 PBDTResetAsync(__A0)
  3971. #endif
  3972. EXTERN_API( OSErr ) PBDTResetAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702C, 0xA660);
  3973. /*
  3974. * PBDTGetInfoSync()
  3975. *
  3976. * Availability:
  3977. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3978. * CarbonLib: in CarbonLib 1.0 and later
  3979. * Mac OS X: in version 10.0 and later
  3980. */
  3981. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3982. #pragma parameter __D0 PBDTGetInfoSync(__A0)
  3983. #endif
  3984. EXTERN_API( OSErr ) PBDTGetInfoSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702D, 0xA260);
  3985. /*
  3986. * PBDTGetInfoAsync()
  3987. *
  3988. * Availability:
  3989. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  3990. * CarbonLib: in CarbonLib 1.0 and later
  3991. * Mac OS X: in version 10.0 and later
  3992. */
  3993. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  3994. #pragma parameter __D0 PBDTGetInfoAsync(__A0)
  3995. #endif
  3996. EXTERN_API( OSErr ) PBDTGetInfoAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702D, 0xA660);
  3997. /*
  3998. * PBDTOpenInform()
  3999. *
  4000. * Availability:
  4001. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4002. * CarbonLib: in CarbonLib 1.0 and later
  4003. * Mac OS X: in version 10.0 and later
  4004. */
  4005. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4006. #pragma parameter __D0 PBDTOpenInform(__A0)
  4007. #endif
  4008. EXTERN_API( OSErr ) PBDTOpenInform(DTPBPtr paramBlock) TWOWORDINLINE(0x702E, 0xA060);
  4009. /*
  4010. * PBDTDeleteSync()
  4011. *
  4012. * Availability:
  4013. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4014. * CarbonLib: in CarbonLib 1.0 and later
  4015. * Mac OS X: in version 10.0 and later
  4016. */
  4017. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4018. #pragma parameter __D0 PBDTDeleteSync(__A0)
  4019. #endif
  4020. EXTERN_API( OSErr ) PBDTDeleteSync(DTPBPtr paramBlock) TWOWORDINLINE(0x702F, 0xA060);
  4021. /*
  4022. * PBDTDeleteAsync()
  4023. *
  4024. * Availability:
  4025. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4026. * CarbonLib: in CarbonLib 1.0 and later
  4027. * Mac OS X: in version 10.0 and later
  4028. */
  4029. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4030. #pragma parameter __D0 PBDTDeleteAsync(__A0)
  4031. #endif
  4032. EXTERN_API( OSErr ) PBDTDeleteAsync(DTPBPtr paramBlock) TWOWORDINLINE(0x702F, 0xA460);
  4033. /* VolumeMount traps */
  4034. /*
  4035. * PBGetVolMountInfoSize()
  4036. *
  4037. * Availability:
  4038. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4039. * CarbonLib: in CarbonLib 1.0 and later
  4040. * Mac OS X: in version 10.0 and later
  4041. */
  4042. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4043. #pragma parameter __D0 PBGetVolMountInfoSize(__A0)
  4044. #endif
  4045. EXTERN_API( OSErr ) PBGetVolMountInfoSize(ParmBlkPtr paramBlock) TWOWORDINLINE(0x703F, 0xA260);
  4046. /*
  4047. * PBGetVolMountInfo()
  4048. *
  4049. * Availability:
  4050. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4051. * CarbonLib: in CarbonLib 1.0 and later
  4052. * Mac OS X: in version 10.0 and later
  4053. */
  4054. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4055. #pragma parameter __D0 PBGetVolMountInfo(__A0)
  4056. #endif
  4057. EXTERN_API( OSErr ) PBGetVolMountInfo(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7040, 0xA260);
  4058. /*
  4059. * PBVolumeMount()
  4060. *
  4061. * Availability:
  4062. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4063. * CarbonLib: in CarbonLib 1.0 and later
  4064. * Mac OS X: in version 10.0 and later
  4065. */
  4066. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4067. #pragma parameter __D0 PBVolumeMount(__A0)
  4068. #endif
  4069. EXTERN_API( OSErr ) PBVolumeMount(ParmBlkPtr paramBlock) TWOWORDINLINE(0x7041, 0xA260);
  4070. /* FSp traps */
  4071. /*
  4072. * FSMakeFSSpec()
  4073. *
  4074. * Availability:
  4075. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4076. * CarbonLib: in CarbonLib 1.0 and later
  4077. * Mac OS X: in version 10.0 and later
  4078. */
  4079. EXTERN_API( OSErr )
  4080. FSMakeFSSpec(
  4081. short vRefNum,
  4082. long dirID,
  4083. ConstStr255Param fileName,
  4084. FSSpec * spec) TWOWORDINLINE(0x7001, 0xAA52);
  4085. /*
  4086. * FSpOpenDF()
  4087. *
  4088. * Availability:
  4089. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4090. * CarbonLib: in CarbonLib 1.0 and later
  4091. * Mac OS X: in version 10.0 and later
  4092. */
  4093. EXTERN_API( OSErr )
  4094. FSpOpenDF(
  4095. const FSSpec * spec,
  4096. SInt8 permission,
  4097. short * refNum) TWOWORDINLINE(0x7002, 0xAA52);
  4098. /*
  4099. * FSpOpenRF()
  4100. *
  4101. * Availability:
  4102. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4103. * CarbonLib: in CarbonLib 1.0 and later
  4104. * Mac OS X: in version 10.0 and later
  4105. */
  4106. EXTERN_API( OSErr )
  4107. FSpOpenRF(
  4108. const FSSpec * spec,
  4109. SInt8 permission,
  4110. short * refNum) TWOWORDINLINE(0x7003, 0xAA52);
  4111. /*
  4112. * FSpCreate()
  4113. *
  4114. * Availability:
  4115. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4116. * CarbonLib: in CarbonLib 1.0 and later
  4117. * Mac OS X: in version 10.0 and later
  4118. */
  4119. EXTERN_API( OSErr )
  4120. FSpCreate(
  4121. const FSSpec * spec,
  4122. OSType creator,
  4123. OSType fileType,
  4124. ScriptCode scriptTag) TWOWORDINLINE(0x7004, 0xAA52);
  4125. /*
  4126. * FSpDirCreate()
  4127. *
  4128. * Availability:
  4129. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4130. * CarbonLib: in CarbonLib 1.0 and later
  4131. * Mac OS X: in version 10.0 and later
  4132. */
  4133. EXTERN_API( OSErr )
  4134. FSpDirCreate(
  4135. const FSSpec * spec,
  4136. ScriptCode scriptTag,
  4137. long * createdDirID) TWOWORDINLINE(0x7005, 0xAA52);
  4138. /*
  4139. * FSpDelete()
  4140. *
  4141. * Availability:
  4142. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4143. * CarbonLib: in CarbonLib 1.0 and later
  4144. * Mac OS X: in version 10.0 and later
  4145. */
  4146. EXTERN_API( OSErr )
  4147. FSpDelete(const FSSpec * spec) TWOWORDINLINE(0x7006, 0xAA52);
  4148. /*
  4149. * FSpGetFInfo()
  4150. *
  4151. * Availability:
  4152. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4153. * CarbonLib: in CarbonLib 1.0 and later
  4154. * Mac OS X: in version 10.0 and later
  4155. */
  4156. EXTERN_API( OSErr )
  4157. FSpGetFInfo(
  4158. const FSSpec * spec,
  4159. FInfo * fndrInfo) TWOWORDINLINE(0x7007, 0xAA52);
  4160. /*
  4161. * FSpSetFInfo()
  4162. *
  4163. * Availability:
  4164. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4165. * CarbonLib: in CarbonLib 1.0 and later
  4166. * Mac OS X: in version 10.0 and later
  4167. */
  4168. EXTERN_API( OSErr )
  4169. FSpSetFInfo(
  4170. const FSSpec * spec,
  4171. const FInfo * fndrInfo) TWOWORDINLINE(0x7008, 0xAA52);
  4172. /*
  4173. * FSpSetFLock()
  4174. *
  4175. * Availability:
  4176. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4177. * CarbonLib: in CarbonLib 1.0 and later
  4178. * Mac OS X: in version 10.0 and later
  4179. */
  4180. EXTERN_API( OSErr )
  4181. FSpSetFLock(const FSSpec * spec) TWOWORDINLINE(0x7009, 0xAA52);
  4182. /*
  4183. * FSpRstFLock()
  4184. *
  4185. * Availability:
  4186. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4187. * CarbonLib: in CarbonLib 1.0 and later
  4188. * Mac OS X: in version 10.0 and later
  4189. */
  4190. EXTERN_API( OSErr )
  4191. FSpRstFLock(const FSSpec * spec) TWOWORDINLINE(0x700A, 0xAA52);
  4192. /*
  4193. * FSpRename()
  4194. *
  4195. * Availability:
  4196. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4197. * CarbonLib: in CarbonLib 1.0 and later
  4198. * Mac OS X: in version 10.0 and later
  4199. */
  4200. EXTERN_API( OSErr )
  4201. FSpRename(
  4202. const FSSpec * spec,
  4203. ConstStr255Param newName) TWOWORDINLINE(0x700B, 0xAA52);
  4204. /*
  4205. * FSpCatMove()
  4206. *
  4207. * Availability:
  4208. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4209. * CarbonLib: in CarbonLib 1.0 and later
  4210. * Mac OS X: in version 10.0 and later
  4211. */
  4212. EXTERN_API( OSErr )
  4213. FSpCatMove(
  4214. const FSSpec * source,
  4215. const FSSpec * dest) TWOWORDINLINE(0x700C, 0xAA52);
  4216. /*
  4217. * FSpExchangeFiles()
  4218. *
  4219. * Availability:
  4220. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4221. * CarbonLib: in CarbonLib 1.0 and later
  4222. * Mac OS X: in version 10.0 and later
  4223. */
  4224. EXTERN_API( OSErr )
  4225. FSpExchangeFiles(
  4226. const FSSpec * source,
  4227. const FSSpec * dest) TWOWORDINLINE(0x700F, 0xAA52);
  4228. /*
  4229. * PBShareSync()
  4230. *
  4231. * Availability:
  4232. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4233. * CarbonLib: in CarbonLib 1.0 and later
  4234. * Mac OS X: in version 10.0 and later
  4235. */
  4236. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4237. #pragma parameter __D0 PBShareSync(__A0)
  4238. #endif
  4239. EXTERN_API( OSErr ) PBShareSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7042, 0xA260);
  4240. /*
  4241. * PBShareAsync()
  4242. *
  4243. * Availability:
  4244. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4245. * CarbonLib: in CarbonLib 1.0 and later
  4246. * Mac OS X: in version 10.0 and later
  4247. */
  4248. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4249. #pragma parameter __D0 PBShareAsync(__A0)
  4250. #endif
  4251. EXTERN_API( OSErr ) PBShareAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7042, 0xA660);
  4252. /*
  4253. * PBUnshareSync()
  4254. *
  4255. * Availability:
  4256. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4257. * CarbonLib: in CarbonLib 1.0 and later
  4258. * Mac OS X: in version 10.0 and later
  4259. */
  4260. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4261. #pragma parameter __D0 PBUnshareSync(__A0)
  4262. #endif
  4263. EXTERN_API( OSErr ) PBUnshareSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7043, 0xA260);
  4264. /*
  4265. * PBUnshareAsync()
  4266. *
  4267. * Availability:
  4268. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4269. * CarbonLib: in CarbonLib 1.0 and later
  4270. * Mac OS X: in version 10.0 and later
  4271. */
  4272. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4273. #pragma parameter __D0 PBUnshareAsync(__A0)
  4274. #endif
  4275. EXTERN_API( OSErr ) PBUnshareAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7043, 0xA660);
  4276. /*
  4277. * PBGetUGEntrySync()
  4278. *
  4279. * Availability:
  4280. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4281. * CarbonLib: in CarbonLib 1.0 and later
  4282. * Mac OS X: in version 10.0 and later
  4283. */
  4284. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4285. #pragma parameter __D0 PBGetUGEntrySync(__A0)
  4286. #endif
  4287. EXTERN_API( OSErr ) PBGetUGEntrySync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7044, 0xA260);
  4288. /*
  4289. * PBGetUGEntryAsync()
  4290. *
  4291. * Availability:
  4292. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  4293. * CarbonLib: in CarbonLib 1.0 and later
  4294. * Mac OS X: in version 10.0 and later
  4295. */
  4296. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4297. #pragma parameter __D0 PBGetUGEntryAsync(__A0)
  4298. #endif
  4299. EXTERN_API( OSErr ) PBGetUGEntryAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7044, 0xA660);
  4300. #if TARGET_CPU_68K
  4301. /*
  4302. PBGetAltAccess and PBSetAltAccess are obsolete and will not be supported
  4303. on PowerPC. Equivalent functionality is provided by the routines
  4304. PBGetForeignPrivs and PBSetForeignPrivs.
  4305. */
  4306. #if CALL_NOT_IN_CARBON
  4307. /*
  4308. * PBGetAltAccessSync()
  4309. *
  4310. * Availability:
  4311. * Non-Carbon CFM: not available
  4312. * CarbonLib: not available
  4313. * Mac OS X: not available
  4314. */
  4315. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4316. #pragma parameter __D0 PBGetAltAccessSync(__A0)
  4317. #endif
  4318. EXTERN_API( OSErr ) PBGetAltAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA060);
  4319. /*
  4320. * PBGetAltAccessAsync()
  4321. *
  4322. * Availability:
  4323. * Non-Carbon CFM: not available
  4324. * CarbonLib: not available
  4325. * Mac OS X: not available
  4326. */
  4327. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4328. #pragma parameter __D0 PBGetAltAccessAsync(__A0)
  4329. #endif
  4330. EXTERN_API( OSErr ) PBGetAltAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7060, 0xA460);
  4331. /*
  4332. * PBSetAltAccessSync()
  4333. *
  4334. * Availability:
  4335. * Non-Carbon CFM: not available
  4336. * CarbonLib: not available
  4337. * Mac OS X: not available
  4338. */
  4339. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4340. #pragma parameter __D0 PBSetAltAccessSync(__A0)
  4341. #endif
  4342. EXTERN_API( OSErr ) PBSetAltAccessSync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA060);
  4343. /*
  4344. * PBSetAltAccessAsync()
  4345. *
  4346. * Availability:
  4347. * Non-Carbon CFM: not available
  4348. * CarbonLib: not available
  4349. * Mac OS X: not available
  4350. */
  4351. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4352. #pragma parameter __D0 PBSetAltAccessAsync(__A0)
  4353. #endif
  4354. EXTERN_API( OSErr ) PBSetAltAccessAsync(HParmBlkPtr paramBlock) TWOWORDINLINE(0x7061, 0xA460);
  4355. #endif /* CALL_NOT_IN_CARBON */
  4356. #define PBSetAltAccess(pb, async) ((async) ? PBSetAltAccessAsync(pb) : PBSetAltAccessSync(pb))
  4357. #define PBGetAltAccess(pb, async) ((async) ? PBGetAltAccessAsync(pb) : PBGetAltAccessSync(pb))
  4358. #endif /* TARGET_CPU_68K */
  4359. /*
  4360. The PBxxx() routines are obsolete.
  4361. Use the PBxxxSync() or PBxxxAsync() version instead.
  4362. */
  4363. #define PBGetVInfo(pb, async) ((async) ? PBGetVInfoAsync(pb) : PBGetVInfoSync(pb))
  4364. #define PBXGetVolInfo(pb, async) ((async) ? PBXGetVolInfoAsync(pb) : PBXGetVolInfoSync(pb))
  4365. #define PBGetVol(pb, async) ((async) ? PBGetVolAsync(pb) : PBGetVolSync(pb))
  4366. #define PBSetVol(pb, async) ((async) ? PBSetVolAsync(pb) : PBSetVolSync(pb))
  4367. #define PBFlushVol(pb, async) ((async) ? PBFlushVolAsync(pb) : PBFlushVolSync(pb))
  4368. #define PBCreate(pb, async) ((async) ? PBCreateAsync(pb) : PBCreateSync(pb))
  4369. #define PBDelete(pb, async) ((async) ? PBDeleteAsync(pb) : PBDeleteSync(pb))
  4370. #define PBOpenDF(pb, async) ((async) ? PBOpenDFAsync(pb) : PBOpenDFSync(pb))
  4371. #define PBOpenRF(pb, async) ((async) ? PBOpenRFAsync(pb) : PBOpenRFSync(pb))
  4372. #define PBRename(pb, async) ((async) ? PBRenameAsync(pb) : PBRenameSync(pb))
  4373. #define PBGetFInfo(pb, async) ((async) ? PBGetFInfoAsync(pb) : PBGetFInfoSync(pb))
  4374. #define PBSetFInfo(pb, async) ((async) ? PBSetFInfoAsync(pb) : PBSetFInfoSync(pb))
  4375. #define PBSetFLock(pb, async) ((async) ? PBSetFLockAsync(pb) : PBSetFLockSync(pb))
  4376. #define PBRstFLock(pb, async) ((async) ? PBRstFLockAsync(pb) : PBRstFLockSync(pb))
  4377. #define PBSetFVers(pb, async) ((async) ? PBSetFVersAsync(pb) : PBSetFVersSync(pb))
  4378. #define PBAllocate(pb, async) ((async) ? PBAllocateAsync(pb) : PBAllocateSync(pb))
  4379. #define PBGetEOF(pb, async) ((async) ? PBGetEOFAsync(pb) : PBGetEOFSync(pb))
  4380. #define PBSetEOF(pb, async) ((async) ? PBSetEOFAsync(pb) : PBSetEOFSync(pb))
  4381. #define PBGetFPos(pb, async) ((async) ? PBGetFPosAsync(pb) : PBGetFPosSync(pb))
  4382. #define PBSetFPos(pb, async) ((async) ? PBSetFPosAsync(pb) : PBSetFPosSync(pb))
  4383. #define PBFlushFile(pb, async) ((async) ? PBFlushFileAsync(pb) : PBFlushFileSync(pb))
  4384. #define PBCatSearch(pb, async) ((async) ? PBCatSearchAsync(pb) : PBCatSearchSync(pb))
  4385. #define PBOpenWD(pb, async) ((async) ? PBOpenWDAsync(pb) : PBOpenWDSync(pb))
  4386. #define PBCloseWD(pb, async) ((async) ? PBCloseWDAsync(pb) : PBCloseWDSync(pb))
  4387. #define PBHSetVol(pb, async) ((async) ? PBHSetVolAsync(pb) : PBHSetVolSync(pb))
  4388. #define PBHGetVol(pb, async) ((async) ? PBHGetVolAsync(pb) : PBHGetVolSync(pb))
  4389. #define PBCatMove(pb, async) ((async) ? PBCatMoveAsync(pb) : PBCatMoveSync(pb))
  4390. #define PBDirCreate(pb, async) ((async) ? PBDirCreateAsync(pb) : PBDirCreateSync(pb))
  4391. #define PBGetWDInfo(pb, async) ((async) ? PBGetWDInfoAsync(pb) : PBGetWDInfoSync(pb))
  4392. #define PBGetFCBInfo(pb, async) ((async) ? PBGetFCBInfoAsync(pb) : PBGetFCBInfoSync(pb))
  4393. #define PBGetCatInfo(pb, async) ((async) ? PBGetCatInfoAsync(pb) : PBGetCatInfoSync(pb))
  4394. #define PBSetCatInfo(pb, async) ((async) ? PBSetCatInfoAsync(pb) : PBSetCatInfoSync(pb))
  4395. #define PBAllocContig(pb, async) ((async) ? PBAllocContigAsync(pb) : PBAllocContigSync(pb))
  4396. #define PBLockRange(pb, async) ((async) ? PBLockRangeAsync(pb) : PBLockRangeSync(pb))
  4397. #define PBUnlockRange(pb, async) ((async) ? PBUnlockRangeAsync(pb) : PBUnlockRangeSync(pb))
  4398. #define PBSetVInfo(pb, async) ((async) ? PBSetVInfoAsync(pb) : PBSetVInfoSync(pb))
  4399. #define PBHGetVInfo(pb, async) ((async) ? PBHGetVInfoAsync(pb) : PBHGetVInfoSync(pb))
  4400. #define PBHOpen(pb, async) ((async) ? PBHOpenAsync(pb) : PBHOpenSync(pb))
  4401. #define PBHOpenRF(pb, async) ((async) ? PBHOpenRFAsync(pb) : PBHOpenRFSync(pb))
  4402. #define PBHOpenDF(pb, async) ((async) ? PBHOpenDFAsync(pb) : PBHOpenDFSync(pb))
  4403. #define PBHCreate(pb, async) ((async) ? PBHCreateAsync(pb) : PBHCreateSync(pb))
  4404. #define PBHDelete(pb, async) ((async) ? PBHDeleteAsync(pb) : PBHDeleteSync(pb))
  4405. #define PBHRename(pb, async) ((async) ? PBHRenameAsync(pb) : PBHRenameSync(pb))
  4406. #define PBHRstFLock(pb, async) ((async) ? PBHRstFLockAsync(pb) : PBHRstFLockSync(pb))
  4407. #define PBHSetFLock(pb, async) ((async) ? PBHSetFLockAsync(pb) : PBHSetFLockSync(pb))
  4408. #define PBHGetFInfo(pb, async) ((async) ? PBHGetFInfoAsync(pb) : PBHGetFInfoSync(pb))
  4409. #define PBHSetFInfo(pb, async) ((async) ? PBHSetFInfoAsync(pb) : PBHSetFInfoSync(pb))
  4410. #define PBMakeFSSpec(pb, async) ((async) ? PBMakeFSSpecAsync(pb) : PBMakeFSSpecSync(pb))
  4411. #define PBHGetVolParms(pb, async) ((async) ? PBHGetVolParmsAsync(pb) : PBHGetVolParmsSync(pb))
  4412. #define PBHGetLogInInfo(pb, async) ((async) ? PBHGetLogInInfoAsync(pb) : PBHGetLogInInfoSync(pb))
  4413. #define PBHGetDirAccess(pb, async) ((async) ? PBHGetDirAccessAsync(pb) : PBHGetDirAccessSync(pb))
  4414. #define PBHSetDirAccess(pb, async) ((async) ? PBHSetDirAccessAsync(pb) : PBHSetDirAccessSync(pb))
  4415. #define PBHMapID(pb, async) ((async) ? PBHMapIDAsync(pb) : PBHMapIDSync(pb))
  4416. #define PBHMapName(pb, async) ((async) ? PBHMapNameAsync(pb) : PBHMapNameSync(pb))
  4417. #define PBHCopyFile(pb, async) ((async) ? PBHCopyFileAsync(pb) : PBHCopyFileSync(pb))
  4418. #define PBHMoveRename(pb, async) ((async) ? PBHMoveRenameAsync(pb) : PBHMoveRenameSync(pb))
  4419. #define PBHOpenDeny(pb, async) ((async) ? PBHOpenDenyAsync(pb) : PBHOpenDenySync(pb))
  4420. #define PBHOpenRFDeny(pb, async) ((async) ? PBHOpenRFDenyAsync(pb) : PBHOpenRFDenySync(pb))
  4421. #define PBExchangeFiles(pb, async) ((async) ? PBExchangeFilesAsync(pb) : PBExchangeFilesSync(pb))
  4422. #define PBCreateFileIDRef(pb, async) ((async) ? PBCreateFileIDRefAsync(pb) : PBCreateFileIDRefSync(pb))
  4423. #define PBResolveFileIDRef(pb, async) ((async) ? PBResolveFileIDRefAsync(pb) : PBResolveFileIDRefSync(pb))
  4424. #define PBDeleteFileIDRef(pb, async) ((async) ? PBDeleteFileIDRefAsync(pb) : PBDeleteFileIDRefSync(pb))
  4425. #define PBGetForeignPrivs(pb, async) ((async) ? PBGetForeignPrivsAsync(pb) : PBGetForeignPrivsSync(pb))
  4426. #define PBSetForeignPrivs(pb, async) ((async) ? PBSetForeignPrivsAsync(pb) : PBSetForeignPrivsSync(pb))
  4427. #define PBDTAddIcon(pb, async) ((async) ? PBDTAddIconAsync(pb) : PBDTAddIconSync(pb))
  4428. #define PBDTGetIcon(pb, async) ((async) ? PBDTGetIconAsync(pb) : PBDTGetIconSync(pb))
  4429. #define PBDTGetIconInfo(pb, async) ((async) ? PBDTGetIconInfoAsync(pb) : PBDTGetIconInfoSync(pb))
  4430. #define PBDTAddAPPL(pb, async) ((async) ? PBDTAddAPPLAsync(pb) : PBDTAddAPPLSync(pb))
  4431. #define PBDTRemoveAPPL(pb, async) ((async) ? PBDTRemoveAPPLAsync(pb) : PBDTRemoveAPPLSync(pb))
  4432. #define PBDTGetAPPL(pb, async) ((async) ? PBDTGetAPPLAsync(pb) : PBDTGetAPPLSync(pb))
  4433. #define PBDTSetComment(pb, async) ((async) ? PBDTSetCommentAsync(pb) : PBDTSetCommentSync(pb))
  4434. #define PBDTRemoveComment(pb, async) ((async) ? PBDTRemoveCommentAsync(pb) : PBDTRemoveCommentSync(pb))
  4435. #define PBDTGetComment(pb, async) ((async) ? PBDTGetCommentAsync(pb) : PBDTGetCommentSync(pb))
  4436. #define PBDTFlush(pb, async) ((async) ? PBDTFlushAsync(pb) : PBDTFlushSync(pb))
  4437. #define PBDTReset(pb, async) ((async) ? PBDTResetAsync(pb) : PBDTResetSync(pb))
  4438. #define PBDTGetInfo(pb, async) ((async) ? PBDTGetInfoAsync(pb) : PBDTGetInfoSync(pb))
  4439. #define PBDTDelete(pb, async) ((async) ? PBDTDeleteAsync(pb) : PBDTDeleteSync(pb))
  4440. typedef SInt16 FSVolumeRefNum;
  4441. enum {
  4442. kFSInvalidVolumeRefNum = 0
  4443. };
  4444. #if TARGET_OS_WIN32
  4445. struct FSRef {
  4446. UInt8 hidden[600]; /* private to File Manager; oo need symbolic constant */
  4447. };
  4448. typedef struct FSRef FSRef;
  4449. #else
  4450. struct FSRef {
  4451. UInt8 hidden[80]; /* private to File Manager; oo need symbolic constant */
  4452. };
  4453. typedef struct FSRef FSRef;
  4454. #endif /* TARGET_OS_WIN32 */
  4455. typedef FSRef * FSRefPtr;
  4456. /*
  4457. * FSPermissionInfo
  4458. *
  4459. * Discussion:
  4460. * This structure is used when kFSCatInfoPermissions is passed to
  4461. * the HFSPlus API. On return from GetCatalogInfo and
  4462. * GetCatalogInfoBulk, the userID, groupID, and mode fields are
  4463. * returned. When passed to SetCatalogInfo, only the mode field is
  4464. * set. See chmod(2) for details about the mode field. This is
  4465. * supported on Mac OS X only.
  4466. */
  4467. struct FSPermissionInfo {
  4468. UInt32 userID;
  4469. UInt32 groupID;
  4470. UInt8 reserved1;
  4471. UInt8 userAccess;
  4472. UInt16 mode;
  4473. UInt32 reserved2;
  4474. };
  4475. typedef struct FSPermissionInfo FSPermissionInfo;
  4476. /* CatalogInfoBitmap describes which fields of the CatalogInfo you wish to get or set.*/
  4477. typedef UInt32 FSCatalogInfoBitmap;
  4478. enum {
  4479. kFSCatInfoNone = 0x00000000,
  4480. kFSCatInfoTextEncoding = 0x00000001,
  4481. kFSCatInfoNodeFlags = 0x00000002, /* Locked (bit 0) and directory (bit 4) only */
  4482. kFSCatInfoVolume = 0x00000004,
  4483. kFSCatInfoParentDirID = 0x00000008,
  4484. kFSCatInfoNodeID = 0x00000010,
  4485. kFSCatInfoCreateDate = 0x00000020,
  4486. kFSCatInfoContentMod = 0x00000040,
  4487. kFSCatInfoAttrMod = 0x00000080,
  4488. kFSCatInfoAccessDate = 0x00000100,
  4489. kFSCatInfoBackupDate = 0x00000200,
  4490. kFSCatInfoPermissions = 0x00000400, /* Should this be finer granularity? */
  4491. kFSCatInfoFinderInfo = 0x00000800,
  4492. kFSCatInfoFinderXInfo = 0x00001000,
  4493. kFSCatInfoValence = 0x00002000, /* Folders only, zero for files */
  4494. kFSCatInfoDataSizes = 0x00004000, /* Data fork logical and physical size */
  4495. kFSCatInfoRsrcSizes = 0x00008000, /* Resource fork logical and physical size */
  4496. kFSCatInfoSharingFlags = 0x00010000, /* sharingFlags: kioFlAttribMountedBit, kioFlAttribSharePointBit */
  4497. kFSCatInfoUserPrivs = 0x00020000, /* userPrivileges */
  4498. kFSCatInfoUserAccess = 0x00080000, /* (OS X only) */
  4499. kFSCatInfoAllDates = 0x000003E0,
  4500. kFSCatInfoGettableInfo = 0x0003FFFF,
  4501. kFSCatInfoSettableInfo = 0x00001FE3, /* flags, dates, permissions, Finder info, text encoding */
  4502. kFSCatInfoReserved = (long)0xFFFC0000 /* bits that are currently reserved */
  4503. };
  4504. /* Constants for nodeFlags field of FSCatalogInfo */
  4505. enum {
  4506. kFSNodeLockedBit = 0, /* Set if file or directory is locked */
  4507. kFSNodeLockedMask = 0x0001,
  4508. kFSNodeResOpenBit = 2, /* Set if the resource fork is open */
  4509. kFSNodeResOpenMask = 0x0004,
  4510. kFSNodeDataOpenBit = 3, /* Set if the data fork is open */
  4511. kFSNodeDataOpenMask = 0x0008,
  4512. kFSNodeIsDirectoryBit = 4, /* Set if the object is a directory */
  4513. kFSNodeIsDirectoryMask = 0x0010,
  4514. kFSNodeCopyProtectBit = 6,
  4515. kFSNodeCopyProtectMask = 0x0040,
  4516. kFSNodeForkOpenBit = 7, /* Set if the file or directory has any open fork */
  4517. kFSNodeForkOpenMask = 0x0080,
  4518. kFSNodeHardLinkBit = 8, /* Set if the file is a hard link */
  4519. kFSNodeHardLinkMask = 0x00000100
  4520. };
  4521. /* Constants for sharingFlags field of FSCatalogInfo */
  4522. enum {
  4523. kFSNodeInSharedBit = 2, /* Set if a directory is within a share point */
  4524. kFSNodeInSharedMask = 0x0004,
  4525. kFSNodeIsMountedBit = 3, /* Set if a directory is a share point currently mounted by some user */
  4526. kFSNodeIsMountedMask = 0x0008,
  4527. kFSNodeIsSharePointBit = 5, /* Set if a directory is a share point (exported volume) */
  4528. kFSNodeIsSharePointMask = 0x0020
  4529. };
  4530. struct FSCatalogInfo {
  4531. UInt16 nodeFlags; /* node flags */
  4532. FSVolumeRefNum volume; /* object's volume ref */
  4533. UInt32 parentDirID; /* parent directory's ID */
  4534. UInt32 nodeID; /* file/directory ID */
  4535. UInt8 sharingFlags; /* kioFlAttribMountedBit and kioFlAttribSharePointBit */
  4536. UInt8 userPrivileges; /* user's effective AFP privileges (same as ioACUser) */
  4537. UInt8 reserved1;
  4538. UInt8 reserved2;
  4539. UTCDateTime createDate; /* date and time of creation */
  4540. UTCDateTime contentModDate; /* date and time of last fork modification */
  4541. UTCDateTime attributeModDate; /* date and time of last attribute modification */
  4542. UTCDateTime accessDate; /* date and time of last access (for Mac OS X) */
  4543. UTCDateTime backupDate; /* date and time of last backup */
  4544. UInt32 permissions[4]; /* permissions (for Mac OS X) */
  4545. UInt8 finderInfo[16]; /* Finder information part 1 */
  4546. UInt8 extFinderInfo[16]; /* Finder information part 2 */
  4547. UInt64 dataLogicalSize; /* files only */
  4548. UInt64 dataPhysicalSize; /* files only */
  4549. UInt64 rsrcLogicalSize; /* files only */
  4550. UInt64 rsrcPhysicalSize; /* files only */
  4551. UInt32 valence; /* folders only */
  4552. TextEncoding textEncodingHint;
  4553. };
  4554. typedef struct FSCatalogInfo FSCatalogInfo;
  4555. typedef FSCatalogInfo * FSCatalogInfoPtr;
  4556. struct FSRefParam {
  4557. QElemPtr qLink; /*queue link in header*/
  4558. short qType; /*type byte for safety check*/
  4559. short ioTrap; /*FS: the Trap*/
  4560. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  4561. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  4562. volatile OSErr ioResult; /*result code*/
  4563. ConstStringPtr ioNamePtr; /*ptr to Vol:FileName string*/
  4564. short ioVRefNum; /*volume refnum (DrvNum for Eject and MountVol)*/
  4565. SInt16 reserved1; /* was ioRefNum */
  4566. UInt8 reserved2; /* was ioVersNum */
  4567. UInt8 reserved3; /* was ioPermssn */
  4568. const FSRef * ref; /* Input ref; the target of the call */
  4569. FSCatalogInfoBitmap whichInfo;
  4570. FSCatalogInfo * catInfo;
  4571. UniCharCount nameLength; /* input name length for create/rename */
  4572. const UniChar * name; /* input name for create/rename */
  4573. long ioDirID;
  4574. FSSpec * spec;
  4575. FSRef * parentRef; /* ref of directory to move another ref to */
  4576. FSRef * newRef; /* Output ref */
  4577. TextEncoding textEncodingHint; /* for Rename, MakeFSRefUnicode */
  4578. HFSUniStr255 * outName; /* Output name for GetCatalogInfo */
  4579. };
  4580. typedef struct FSRefParam FSRefParam;
  4581. typedef FSRefParam * FSRefParamPtr;
  4582. typedef struct OpaqueFSIterator* FSIterator;
  4583. enum {
  4584. kFSIterateFlat = 0, /* Immediate children of container only */
  4585. kFSIterateSubtree = 1, /* Entire subtree rooted at container */
  4586. kFSIterateDelete = 2,
  4587. kFSIterateReserved = (long)0xFFFFFFFC
  4588. };
  4589. typedef OptionBits FSIteratorFlags;
  4590. enum {
  4591. /* CatalogSearch constants */
  4592. fsSBNodeID = 0x00008000, /* search by range of nodeID */
  4593. fsSBAttributeModDate = 0x00010000, /* search by range of attributeModDate */
  4594. fsSBAccessDate = 0x00020000, /* search by range of accessDate */
  4595. fsSBPermissions = 0x00040000, /* search by value/mask of permissions */
  4596. fsSBNodeIDBit = 15,
  4597. fsSBAttributeModDateBit = 16,
  4598. fsSBAccessDateBit = 17,
  4599. fsSBPermissionsBit = 18
  4600. };
  4601. struct FSSearchParams {
  4602. Duration searchTime; /* a Time Manager duration */
  4603. OptionBits searchBits; /* which fields to search on */
  4604. UniCharCount searchNameLength;
  4605. const UniChar * searchName;
  4606. FSCatalogInfo * searchInfo1; /* values and lower bounds */
  4607. FSCatalogInfo * searchInfo2; /* masks and upper bounds */
  4608. };
  4609. typedef struct FSSearchParams FSSearchParams;
  4610. typedef FSSearchParams * FSSearchParamsPtr;
  4611. struct FSCatalogBulkParam {
  4612. QElemPtr qLink; /*queue link in header*/
  4613. short qType; /*type byte for safety check*/
  4614. short ioTrap; /*FS: the Trap*/
  4615. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  4616. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  4617. volatile OSErr ioResult; /*result code*/
  4618. Boolean containerChanged; /* true if container changed since last iteration */
  4619. UInt8 reserved; /* make following fields 4-byte aligned */
  4620. FSIteratorFlags iteratorFlags;
  4621. FSIterator iterator;
  4622. const FSRef * container; /* directory/volume to iterate */
  4623. ItemCount maximumItems;
  4624. ItemCount actualItems;
  4625. FSCatalogInfoBitmap whichInfo;
  4626. FSCatalogInfo * catalogInfo; /* returns an array */
  4627. FSRef * refs; /* returns an array */
  4628. FSSpec * specs; /* returns an array */
  4629. HFSUniStr255 * names; /* returns an array */
  4630. const FSSearchParams * searchParams;
  4631. };
  4632. typedef struct FSCatalogBulkParam FSCatalogBulkParam;
  4633. typedef FSCatalogBulkParam * FSCatalogBulkParamPtr;
  4634. typedef UInt16 FSAllocationFlags;
  4635. enum {
  4636. kFSAllocDefaultFlags = 0x0000, /* as much as possible, not contiguous */
  4637. kFSAllocAllOrNothingMask = 0x0001, /* allocate all of the space, or nothing */
  4638. kFSAllocContiguousMask = 0x0002, /* new space must be one contiguous piece */
  4639. kFSAllocNoRoundUpMask = 0x0004, /* don't round up allocation to clump size */
  4640. kFSAllocReservedMask = 0xFFF8 /* these bits are reserved and must not be set */
  4641. };
  4642. struct FSForkIOParam {
  4643. QElemPtr qLink; /*queue link in header*/
  4644. short qType; /*type byte for safety check*/
  4645. short ioTrap; /*FS: the Trap*/
  4646. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  4647. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  4648. volatile OSErr ioResult; /*result code*/
  4649. void * reserved1; /* was ioNamePtr */
  4650. SInt16 reserved2; /* was ioVRefNum */
  4651. SInt16 forkRefNum; /* same as ioRefNum */
  4652. UInt8 reserved3; /* was ioVersNum */
  4653. SInt8 permissions; /* desired access to the fork */
  4654. const FSRef * ref; /* which object to open */
  4655. Ptr buffer; /*data buffer Ptr*/
  4656. UInt32 requestCount; /*requested byte count*/
  4657. UInt32 actualCount; /*actual byte count completed*/
  4658. UInt16 positionMode; /*initial file positioning*/
  4659. SInt64 positionOffset; /*file position offset*/
  4660. FSAllocationFlags allocationFlags;
  4661. UInt64 allocationAmount;
  4662. UniCharCount forkNameLength; /* input; length of fork name */
  4663. const UniChar * forkName; /* input; name of fork */
  4664. CatPositionRec forkIterator;
  4665. HFSUniStr255 * outForkName; /* output; name of fork */
  4666. };
  4667. typedef struct FSForkIOParam FSForkIOParam;
  4668. typedef FSForkIOParam * FSForkIOParamPtr;
  4669. struct FSForkInfo {
  4670. SInt8 flags; /* copy of FCB flags */
  4671. SInt8 permissions;
  4672. FSVolumeRefNum volume;
  4673. UInt32 reserved2;
  4674. UInt32 nodeID; /* file or directory ID */
  4675. UInt32 forkID; /* fork ID */
  4676. UInt64 currentPosition;
  4677. UInt64 logicalEOF;
  4678. UInt64 physicalEOF;
  4679. UInt64 process; /* should be ProcessSerialNumber */
  4680. };
  4681. typedef struct FSForkInfo FSForkInfo;
  4682. typedef FSForkInfo * FSForkInfoPtr;
  4683. struct FSForkCBInfoParam {
  4684. QElemPtr qLink; /*queue link in header*/
  4685. short qType; /*type byte for safety check*/
  4686. short ioTrap; /*FS: the Trap*/
  4687. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  4688. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  4689. volatile OSErr ioResult; /*result code*/
  4690. SInt16 desiredRefNum; /* 0 to iterate, non-0 for specific refnum */
  4691. SInt16 volumeRefNum; /* volume to match, or 0 for all volumes */
  4692. SInt16 iterator; /* 0 to start iteration */
  4693. SInt16 actualRefNum; /* actual refnum found */
  4694. FSRef * ref;
  4695. FSForkInfo * forkInfo;
  4696. HFSUniStr255 * forkName;
  4697. };
  4698. typedef struct FSForkCBInfoParam FSForkCBInfoParam;
  4699. typedef FSForkCBInfoParam * FSForkCBInfoParamPtr;
  4700. typedef UInt32 FSVolumeInfoBitmap;
  4701. enum {
  4702. kFSVolInfoNone = 0x0000,
  4703. kFSVolInfoCreateDate = 0x0001,
  4704. kFSVolInfoModDate = 0x0002,
  4705. kFSVolInfoBackupDate = 0x0004,
  4706. kFSVolInfoCheckedDate = 0x0008,
  4707. kFSVolInfoFileCount = 0x0010,
  4708. kFSVolInfoDirCount = 0x0020,
  4709. kFSVolInfoSizes = 0x0040, /* totalBytes and freeBytes */
  4710. kFSVolInfoBlocks = 0x0080, /* blockSize, totalBlocks, freeBlocks */
  4711. kFSVolInfoNextAlloc = 0x0100,
  4712. kFSVolInfoRsrcClump = 0x0200,
  4713. kFSVolInfoDataClump = 0x0400,
  4714. kFSVolInfoNextID = 0x0800,
  4715. kFSVolInfoFinderInfo = 0x1000,
  4716. kFSVolInfoFlags = 0x2000,
  4717. kFSVolInfoFSInfo = 0x4000, /* filesystemID, signature */
  4718. kFSVolInfoDriveInfo = 0x8000, /* driveNumber, driverRefNum */
  4719. kFSVolInfoGettableInfo = 0xFFFF, /* This seems like it is here just for completeness */
  4720. kFSVolInfoSettableInfo = 0x3004 /* backup date, Finder info, flags */
  4721. };
  4722. /* FSVolumeInfo.flags bits. These are the same as for ioVAtrb, but with nicer names. */
  4723. enum {
  4724. kFSVolFlagDefaultVolumeBit = 5, /* Set if the volume is the default volume */
  4725. kFSVolFlagDefaultVolumeMask = 0x0020,
  4726. kFSVolFlagFilesOpenBit = 6, /* Set if there are open files or iterators */
  4727. kFSVolFlagFilesOpenMask = 0x0040,
  4728. kFSVolFlagHardwareLockedBit = 7, /* Set if volume is locked by a hardware setting */
  4729. kFSVolFlagHardwareLockedMask = 0x0080,
  4730. kFSVolFlagSoftwareLockedBit = 15, /* Set if volume is locked by software */
  4731. kFSVolFlagSoftwareLockedMask = 0x8000
  4732. };
  4733. struct FSVolumeInfo {
  4734. /* Dates -- zero means "never" or "unknown" */
  4735. UTCDateTime createDate;
  4736. UTCDateTime modifyDate;
  4737. UTCDateTime backupDate;
  4738. UTCDateTime checkedDate;
  4739. /* File/Folder counts -- return zero if unknown */
  4740. UInt32 fileCount; /* total files on volume */
  4741. UInt32 folderCount; /* total folders on volume */
  4742. /* Note: no root directory counts */
  4743. UInt64 totalBytes; /* total number of bytes on volume */
  4744. UInt64 freeBytes; /* number of free bytes on volume */
  4745. /* HFS and HFS Plus specific. Set fields to zero if not appropriate */
  4746. UInt32 blockSize; /* size (in bytes) of allocation blocks */
  4747. UInt32 totalBlocks; /* number of allocation blocks in volume */
  4748. UInt32 freeBlocks; /* number of unused allocation blocks */
  4749. UInt32 nextAllocation; /* start of next allocation search */
  4750. UInt32 rsrcClumpSize; /* default resource fork clump size */
  4751. UInt32 dataClumpSize; /* default data fork clump size */
  4752. UInt32 nextCatalogID; /* next unused catalog node ID ooo OYG ooo need to make HFSVolumes.h work Should be HFSCatalogNodeID*/
  4753. UInt8 finderInfo[32]; /* information used by Finder */
  4754. /* Identifying information */
  4755. UInt16 flags; /* ioVAtrb */
  4756. UInt16 filesystemID; /* ioVFSID */
  4757. UInt16 signature; /* ioVSigWord, unique within an FSID */
  4758. UInt16 driveNumber; /* ioVDrvInfo */
  4759. short driverRefNum; /* ioVDRefNum */
  4760. };
  4761. typedef struct FSVolumeInfo FSVolumeInfo;
  4762. typedef FSVolumeInfo * FSVolumeInfoPtr;
  4763. struct FSVolumeInfoParam {
  4764. QElemPtr qLink; /*queue link in header*/
  4765. short qType; /*type byte for safety check*/
  4766. short ioTrap; /*FS: the Trap*/
  4767. Ptr ioCmdAddr; /*FS: address to dispatch to*/
  4768. IOCompletionUPP ioCompletion; /*completion routine addr (0 for synch calls)*/
  4769. volatile OSErr ioResult; /*result code*/
  4770. StringPtr ioNamePtr; /* unused */
  4771. FSVolumeRefNum ioVRefNum; /* volume refnum */
  4772. UInt32 volumeIndex; /* index, or 0 to use ioVRefNum */
  4773. FSVolumeInfoBitmap whichInfo; /* which volumeInfo fields to get/set */
  4774. FSVolumeInfo * volumeInfo; /* information about the volume */
  4775. HFSUniStr255 * volumeName; /* output; pointer to volume name */
  4776. FSRef * ref; /* volume's FSRef */
  4777. };
  4778. typedef struct FSVolumeInfoParam FSVolumeInfoParam;
  4779. typedef FSVolumeInfoParam * FSVolumeInfoParamPtr;
  4780. /*
  4781. MakeFSRef
  4782. Create an FSRef for an existing object specified by a combination
  4783. of volume refnum, parent directory, and pathname.
  4784. -> ioCompletion A pointer to a completion routine
  4785. <- ioResult The result code of the function
  4786. -> ioNamePtr A pointer to a pathname
  4787. -> ioVRefNum A volume specification
  4788. -> ioDirID A directory ID
  4789. <- newRef A pointer to an FSRef
  4790. */
  4791. /*
  4792. * FSpMakeFSRef()
  4793. *
  4794. * Availability:
  4795. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4796. * CarbonLib: in CarbonLib 1.0 and later
  4797. * Mac OS X: in version 10.0 and later
  4798. */
  4799. EXTERN_API( OSErr )
  4800. FSpMakeFSRef(
  4801. const FSSpec * source,
  4802. FSRef * newRef) THREEWORDINLINE(0x303C, 0x041A, 0xAA52);
  4803. /*
  4804. * PBMakeFSRefSync()
  4805. *
  4806. * Availability:
  4807. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4808. * CarbonLib: in CarbonLib 1.0 and later
  4809. * Mac OS X: in version 10.0 and later
  4810. */
  4811. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4812. #pragma parameter __D0 PBMakeFSRefSync(__A0)
  4813. #endif
  4814. EXTERN_API( OSErr )
  4815. PBMakeFSRefSync(FSRefParam * paramBlock) TWOWORDINLINE(0x706E, 0xA260);
  4816. /*
  4817. * PBMakeFSRefAsync()
  4818. *
  4819. * Availability:
  4820. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4821. * CarbonLib: in CarbonLib 1.0 and later
  4822. * Mac OS X: in version 10.0 and later
  4823. */
  4824. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4825. #pragma parameter PBMakeFSRefAsync(__A0)
  4826. #endif
  4827. EXTERN_API( void )
  4828. PBMakeFSRefAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x706E, 0xA660);
  4829. /*
  4830. MakeFSRefUnicode
  4831. Create an FSRef for an existing object specified by
  4832. Parent FSRef and Unicode name.
  4833. -> ioCompletion A pointer to a completion routine
  4834. <- ioResult The result code of the function
  4835. -> ref A pointer to the parent directory FSRef
  4836. -> name A pointer to Unicde name
  4837. -> nameLength The length of the Unicode Name
  4838. -> textEncodingHint A suggested text encoding to use for the name
  4839. <- newRef A pointer to an FSRef
  4840. */
  4841. /*
  4842. * FSMakeFSRefUnicode()
  4843. *
  4844. * Availability:
  4845. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4846. * CarbonLib: in CarbonLib 1.0 and later
  4847. * Mac OS X: in version 10.0 and later
  4848. */
  4849. EXTERN_API( OSErr )
  4850. FSMakeFSRefUnicode(
  4851. const FSRef * parentRef,
  4852. UniCharCount nameLength,
  4853. const UniChar * name,
  4854. TextEncoding textEncodingHint,
  4855. FSRef * newRef) THREEWORDINLINE(0x303C, 0x0A1B, 0xAA52);
  4856. /*
  4857. * PBMakeFSRefUnicodeSync()
  4858. *
  4859. * Availability:
  4860. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4861. * CarbonLib: in CarbonLib 1.0 and later
  4862. * Mac OS X: in version 10.0 and later
  4863. */
  4864. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4865. #pragma parameter __D0 PBMakeFSRefUnicodeSync(__A0)
  4866. #endif
  4867. EXTERN_API( OSErr )
  4868. PBMakeFSRefUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x707A, 0xA260);
  4869. /*
  4870. * PBMakeFSRefUnicodeAsync()
  4871. *
  4872. * Availability:
  4873. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4874. * CarbonLib: in CarbonLib 1.0 and later
  4875. * Mac OS X: in version 10.0 and later
  4876. */
  4877. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4878. #pragma parameter PBMakeFSRefUnicodeAsync(__A0)
  4879. #endif
  4880. EXTERN_API( void )
  4881. PBMakeFSRefUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x707A, 0xA660);
  4882. /*
  4883. CompareFSRefs
  4884. Test whether two FSRefs refer to the same file or directory.
  4885. If they do, noErr is returned. Otherwise, an appropriate error
  4886. (such as errFSRefsDifferent) is returned.
  4887. -> ioCompletion A pointer to a completion routine
  4888. <- ioResult The result code of the function
  4889. -> ref A pointer to the first FSRef
  4890. -> parentRef A pointer to the second FSRef
  4891. */
  4892. /*
  4893. * FSCompareFSRefs()
  4894. *
  4895. * Availability:
  4896. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4897. * CarbonLib: in CarbonLib 1.0 and later
  4898. * Mac OS X: in version 10.0 and later
  4899. */
  4900. EXTERN_API( OSErr )
  4901. FSCompareFSRefs(
  4902. const FSRef * ref1,
  4903. const FSRef * ref2) THREEWORDINLINE(0x303C, 0x0435, 0xAA52);
  4904. /*
  4905. * PBCompareFSRefsSync()
  4906. *
  4907. * Availability:
  4908. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4909. * CarbonLib: in CarbonLib 1.0 and later
  4910. * Mac OS X: in version 10.0 and later
  4911. */
  4912. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4913. #pragma parameter __D0 PBCompareFSRefsSync(__A0)
  4914. #endif
  4915. EXTERN_API( OSErr )
  4916. PBCompareFSRefsSync(FSRefParam * paramBlock) TWOWORDINLINE(0x707C, 0xA260);
  4917. /*
  4918. * PBCompareFSRefsAsync()
  4919. *
  4920. * Availability:
  4921. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4922. * CarbonLib: in CarbonLib 1.0 and later
  4923. * Mac OS X: in version 10.0 and later
  4924. */
  4925. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4926. #pragma parameter PBCompareFSRefsAsync(__A0)
  4927. #endif
  4928. EXTERN_API( void )
  4929. PBCompareFSRefsAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x707C, 0xA660);
  4930. /*
  4931. CreateFileUnicode
  4932. Creates a new file. The input filename is in Unicode.
  4933. You can optionally set catalog info for the file.
  4934. -> ioCompletion A pointer to a completion routine
  4935. <- ioResult The result code of the function
  4936. -> ref The directory where the file is to be created
  4937. -> whichInfo Which catalog info fields to set
  4938. -> catInfo The values for catalog info fields to set; may be NULL
  4939. -> nameLength Number of Unicode characters in the file's name
  4940. -> name A pointer to the Unicode name
  4941. <- spec A pointer to the FSSpec for the new directory; may be NULL
  4942. <- newRef A pointer to the FSRef for the new file; may be NULL
  4943. */
  4944. /*
  4945. * FSCreateFileUnicode()
  4946. *
  4947. * Availability:
  4948. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4949. * CarbonLib: in CarbonLib 1.0 and later
  4950. * Mac OS X: in version 10.0 and later
  4951. */
  4952. EXTERN_API( OSErr )
  4953. FSCreateFileUnicode(
  4954. const FSRef * parentRef,
  4955. UniCharCount nameLength,
  4956. const UniChar * name,
  4957. FSCatalogInfoBitmap whichInfo,
  4958. const FSCatalogInfo * catalogInfo, /* can be NULL */
  4959. FSRef * newRef, /* can be NULL */
  4960. FSSpec * newSpec) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0E1C, 0xAA52);
  4961. /*
  4962. * PBCreateFileUnicodeSync()
  4963. *
  4964. * Availability:
  4965. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4966. * CarbonLib: in CarbonLib 1.0 and later
  4967. * Mac OS X: in version 10.0 and later
  4968. */
  4969. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4970. #pragma parameter __D0 PBCreateFileUnicodeSync(__A0)
  4971. #endif
  4972. EXTERN_API( OSErr )
  4973. PBCreateFileUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7070, 0xA260);
  4974. /*
  4975. * PBCreateFileUnicodeAsync()
  4976. *
  4977. * Availability:
  4978. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  4979. * CarbonLib: in CarbonLib 1.0 and later
  4980. * Mac OS X: in version 10.0 and later
  4981. */
  4982. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  4983. #pragma parameter PBCreateFileUnicodeAsync(__A0)
  4984. #endif
  4985. EXTERN_API( void )
  4986. PBCreateFileUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7070, 0xA660);
  4987. /*
  4988. CreateDirectoryUnicode
  4989. Creates a new directory. The input directory name is in Unicode.
  4990. You can optionally set catalog info for the directory.
  4991. -> ioCompletion A pointer to a completion routine
  4992. <- ioResult The result code of the function
  4993. -> ref The parent directory where the directory is to be created
  4994. -> whichInfo Which catalog info fields to set
  4995. -> catInfo The values for catalog info fields to set; may be NULL
  4996. -> nameLength Number of Unicode characters in the directory's name
  4997. -> name A pointer to the Unicode name
  4998. <- ioDirID The DirID of the new directory
  4999. <- spec A pointer to the FSSpec for the new directory; may be NULL
  5000. <- newRef A pointer to the FSRef for the new directory; may be NULL
  5001. */
  5002. /*
  5003. * FSCreateDirectoryUnicode()
  5004. *
  5005. * Availability:
  5006. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5007. * CarbonLib: in CarbonLib 1.0 and later
  5008. * Mac OS X: in version 10.0 and later
  5009. */
  5010. EXTERN_API( OSErr )
  5011. FSCreateDirectoryUnicode(
  5012. const FSRef * parentRef,
  5013. UniCharCount nameLength,
  5014. const UniChar * name,
  5015. FSCatalogInfoBitmap whichInfo,
  5016. const FSCatalogInfo * catalogInfo, /* can be NULL */
  5017. FSRef * newRef, /* can be NULL */
  5018. FSSpec * newSpec, /* can be NULL */
  5019. UInt32 * newDirID) /* can be NULL */ THREEWORDINLINE(0x303C, 0x101D, 0xAA52);
  5020. /*
  5021. * PBCreateDirectoryUnicodeSync()
  5022. *
  5023. * Availability:
  5024. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5025. * CarbonLib: in CarbonLib 1.0 and later
  5026. * Mac OS X: in version 10.0 and later
  5027. */
  5028. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5029. #pragma parameter __D0 PBCreateDirectoryUnicodeSync(__A0)
  5030. #endif
  5031. EXTERN_API( OSErr )
  5032. PBCreateDirectoryUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7071, 0xA260);
  5033. /*
  5034. * PBCreateDirectoryUnicodeAsync()
  5035. *
  5036. * Availability:
  5037. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5038. * CarbonLib: in CarbonLib 1.0 and later
  5039. * Mac OS X: in version 10.0 and later
  5040. */
  5041. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5042. #pragma parameter PBCreateDirectoryUnicodeAsync(__A0)
  5043. #endif
  5044. EXTERN_API( void )
  5045. PBCreateDirectoryUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7071, 0xA660);
  5046. /*
  5047. DeleteObject
  5048. Deletes an existing file or directory.
  5049. -> ioCompletion A pointer to a completion routine
  5050. <- ioResult The result code of the function
  5051. -> ref The file or directory to be deleted
  5052. */
  5053. /*
  5054. * FSDeleteObject()
  5055. *
  5056. * Availability:
  5057. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5058. * CarbonLib: in CarbonLib 1.0 and later
  5059. * Mac OS X: in version 10.0 and later
  5060. */
  5061. EXTERN_API( OSErr )
  5062. FSDeleteObject(const FSRef * ref) THREEWORDINLINE(0x303C, 0x021E, 0xAA52);
  5063. /*
  5064. * PBDeleteObjectSync()
  5065. *
  5066. * Availability:
  5067. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5068. * CarbonLib: in CarbonLib 1.0 and later
  5069. * Mac OS X: in version 10.0 and later
  5070. */
  5071. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5072. #pragma parameter __D0 PBDeleteObjectSync(__A0)
  5073. #endif
  5074. EXTERN_API( OSErr )
  5075. PBDeleteObjectSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7072, 0xA260);
  5076. /*
  5077. * PBDeleteObjectAsync()
  5078. *
  5079. * Availability:
  5080. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5081. * CarbonLib: in CarbonLib 1.0 and later
  5082. * Mac OS X: in version 10.0 and later
  5083. */
  5084. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5085. #pragma parameter PBDeleteObjectAsync(__A0)
  5086. #endif
  5087. EXTERN_API( void )
  5088. PBDeleteObjectAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7072, 0xA660);
  5089. /*
  5090. MoveObject
  5091. Move an existing file or directory into a different directory.
  5092. -> ioCompletion A pointer to a completion routine
  5093. <- ioResult The result code of the function
  5094. -> ref The file or directory to be moved
  5095. -> parentRef The file or directory will be moved into this directory
  5096. <- newRef A new FSRef for the file or directory in its new location;
  5097. optional, may be NULL
  5098. NOTE: Moving an object may change its FSRef. If you want to continue to
  5099. refer to the object, you should pass a non-NULL pointer in newRef and use
  5100. that returned FSRef to access the object after the move. The FSRef passed
  5101. in "ref" may or may not be usable to access the object after it is moved.
  5102. "newRef" may point to the same storage as "parentRef" or "ref".
  5103. */
  5104. /*
  5105. * FSMoveObject()
  5106. *
  5107. * Availability:
  5108. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5109. * CarbonLib: in CarbonLib 1.0 and later
  5110. * Mac OS X: in version 10.0 and later
  5111. */
  5112. EXTERN_API( OSErr )
  5113. FSMoveObject(
  5114. const FSRef * ref,
  5115. const FSRef * destDirectory,
  5116. FSRef * newRef) /* can be NULL */ THREEWORDINLINE(0x303C, 0x061F, 0xAA52);
  5117. /*
  5118. * PBMoveObjectSync()
  5119. *
  5120. * Availability:
  5121. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5122. * CarbonLib: in CarbonLib 1.0 and later
  5123. * Mac OS X: in version 10.0 and later
  5124. */
  5125. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5126. #pragma parameter __D0 PBMoveObjectSync(__A0)
  5127. #endif
  5128. EXTERN_API( OSErr )
  5129. PBMoveObjectSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7073, 0xA260);
  5130. /*
  5131. * PBMoveObjectAsync()
  5132. *
  5133. * Availability:
  5134. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5135. * CarbonLib: in CarbonLib 1.0 and later
  5136. * Mac OS X: in version 10.0 and later
  5137. */
  5138. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5139. #pragma parameter PBMoveObjectAsync(__A0)
  5140. #endif
  5141. EXTERN_API( void )
  5142. PBMoveObjectAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7073, 0xA660);
  5143. /*
  5144. ExchangeObjects
  5145. swap the contents of two files.
  5146. -> ioCompletion A pointer to a completion routine
  5147. <- ioResult The result code of the function
  5148. -> ref The first file
  5149. -> parentRef The second file
  5150. */
  5151. /*
  5152. * FSExchangeObjects()
  5153. *
  5154. * Availability:
  5155. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5156. * CarbonLib: in CarbonLib 1.0 and later
  5157. * Mac OS X: in version 10.0 and later
  5158. */
  5159. EXTERN_API( OSErr )
  5160. FSExchangeObjects(
  5161. const FSRef * ref,
  5162. const FSRef * destRef) THREEWORDINLINE(0x303C, 0x0421, 0xAA52);
  5163. /*
  5164. * PBExchangeObjectsSync()
  5165. *
  5166. * Availability:
  5167. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5168. * CarbonLib: in CarbonLib 1.0 and later
  5169. * Mac OS X: in version 10.0 and later
  5170. */
  5171. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5172. #pragma parameter __D0 PBExchangeObjectsSync(__A0)
  5173. #endif
  5174. EXTERN_API( OSErr )
  5175. PBExchangeObjectsSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7075, 0xA260);
  5176. /*
  5177. * PBExchangeObjectsAsync()
  5178. *
  5179. * Availability:
  5180. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5181. * CarbonLib: in CarbonLib 1.0 and later
  5182. * Mac OS X: in version 10.0 and later
  5183. */
  5184. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5185. #pragma parameter PBExchangeObjectsAsync(__A0)
  5186. #endif
  5187. EXTERN_API( void )
  5188. PBExchangeObjectsAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7075, 0xA660);
  5189. /*
  5190. RenameUnicode
  5191. Change the name of an existing file or directory. The new name is in
  5192. Unicode.
  5193. -> ioCompletion A pointer to a completion routine
  5194. <- ioResult The result code of the function
  5195. -> ref The file or directory to be moved
  5196. -> nameLength Number of Unicode characters in the new name
  5197. -> name A pointer to the new Unicode name
  5198. -> textEncodingHint A suggested text encoding to use for the name
  5199. <- newRef A new FSRef for the file or directory; may be NULL
  5200. NOTE: Renaming an object may change its FSRef. If you want to continue to
  5201. refer to the object, you should pass a non-NULL pointer in newRef and use
  5202. that returned FSRef to access the object after the rename. The FSRef passed
  5203. in "ref" may or may not be usable to access the object after it is renamed.
  5204. "newRef" may point to the same storage as "ref".
  5205. */
  5206. /*
  5207. * FSRenameUnicode()
  5208. *
  5209. * Availability:
  5210. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5211. * CarbonLib: in CarbonLib 1.0 and later
  5212. * Mac OS X: in version 10.0 and later
  5213. */
  5214. EXTERN_API( OSErr )
  5215. FSRenameUnicode(
  5216. const FSRef * ref,
  5217. UniCharCount nameLength,
  5218. const UniChar * name,
  5219. TextEncoding textEncodingHint,
  5220. FSRef * newRef) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A20, 0xAA52);
  5221. /*
  5222. * PBRenameUnicodeSync()
  5223. *
  5224. * Availability:
  5225. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5226. * CarbonLib: in CarbonLib 1.0 and later
  5227. * Mac OS X: in version 10.0 and later
  5228. */
  5229. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5230. #pragma parameter __D0 PBRenameUnicodeSync(__A0)
  5231. #endif
  5232. EXTERN_API( OSErr )
  5233. PBRenameUnicodeSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7074, 0xA260);
  5234. /*
  5235. * PBRenameUnicodeAsync()
  5236. *
  5237. * Availability:
  5238. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5239. * CarbonLib: in CarbonLib 1.0 and later
  5240. * Mac OS X: in version 10.0 and later
  5241. */
  5242. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5243. #pragma parameter PBRenameUnicodeAsync(__A0)
  5244. #endif
  5245. EXTERN_API( void )
  5246. PBRenameUnicodeAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7074, 0xA660);
  5247. /*
  5248. GetCatalogInfo
  5249. Returns various information about a given file or directory.
  5250. -> ioCompletion A pointer to a completion routine
  5251. <- ioResult The result code of the function
  5252. -> ref The file or directory whose information is to be returned
  5253. -> whichInfo Which catalog info fields to get
  5254. <- catInfo The returned values of catalog info fields; may be NULL
  5255. <- spec A pointer to the FSSpec for the object; may be NULL
  5256. <- parentRef A pointer to the FSRef for the object's parent directory; may be NULL
  5257. <- outName The Unicode name is returned here. This pointer may be NULL.
  5258. Note: All of the outputs are optional; if you don't want that particular output, just
  5259. set its pointer to NULL. This is the call to use to map from an FSRef to an FSSpec.
  5260. */
  5261. /*
  5262. * FSGetCatalogInfo()
  5263. *
  5264. * Availability:
  5265. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5266. * CarbonLib: in CarbonLib 1.0 and later
  5267. * Mac OS X: in version 10.0 and later
  5268. */
  5269. EXTERN_API( OSErr )
  5270. FSGetCatalogInfo(
  5271. const FSRef * ref,
  5272. FSCatalogInfoBitmap whichInfo,
  5273. FSCatalogInfo * catalogInfo, /* can be NULL */
  5274. HFSUniStr255 * outName, /* can be NULL */
  5275. FSSpec * fsSpec, /* can be NULL */
  5276. FSRef * parentRef) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0C22, 0xAA52);
  5277. /*
  5278. * PBGetCatalogInfoSync()
  5279. *
  5280. * Availability:
  5281. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5282. * CarbonLib: in CarbonLib 1.0 and later
  5283. * Mac OS X: in version 10.0 and later
  5284. */
  5285. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5286. #pragma parameter __D0 PBGetCatalogInfoSync(__A0)
  5287. #endif
  5288. EXTERN_API( OSErr )
  5289. PBGetCatalogInfoSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7076, 0xA260);
  5290. /*
  5291. * PBGetCatalogInfoAsync()
  5292. *
  5293. * Availability:
  5294. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5295. * CarbonLib: in CarbonLib 1.0 and later
  5296. * Mac OS X: in version 10.0 and later
  5297. */
  5298. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5299. #pragma parameter PBGetCatalogInfoAsync(__A0)
  5300. #endif
  5301. EXTERN_API( void )
  5302. PBGetCatalogInfoAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7076, 0xA660);
  5303. /*
  5304. SetCatalogInfo
  5305. Set catalog information about a given file or directory.
  5306. -> ioCompletion A pointer to a completion routine
  5307. <- ioResult The result code of the function
  5308. -> ref The file or directory whose information is to be changed
  5309. -> whichInfo Which catalog info fields to set
  5310. -> catInfo The new values of catalog info fields
  5311. Note: Only some of the catalog info fields may be set. The settable fields
  5312. are given by the constant kFSCatInfoSettableInfo; no other bits may be set in
  5313. whichInfo.
  5314. */
  5315. /*
  5316. * FSSetCatalogInfo()
  5317. *
  5318. * Availability:
  5319. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5320. * CarbonLib: in CarbonLib 1.0 and later
  5321. * Mac OS X: in version 10.0 and later
  5322. */
  5323. EXTERN_API( OSErr )
  5324. FSSetCatalogInfo(
  5325. const FSRef * ref,
  5326. FSCatalogInfoBitmap whichInfo,
  5327. const FSCatalogInfo * catalogInfo) THREEWORDINLINE(0x303C, 0x0623, 0xAA52);
  5328. /*
  5329. * PBSetCatalogInfoSync()
  5330. *
  5331. * Availability:
  5332. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5333. * CarbonLib: in CarbonLib 1.0 and later
  5334. * Mac OS X: in version 10.0 and later
  5335. */
  5336. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5337. #pragma parameter __D0 PBSetCatalogInfoSync(__A0)
  5338. #endif
  5339. EXTERN_API( OSErr )
  5340. PBSetCatalogInfoSync(FSRefParam * paramBlock) TWOWORDINLINE(0x7077, 0xA260);
  5341. /*
  5342. * PBSetCatalogInfoAsync()
  5343. *
  5344. * Availability:
  5345. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5346. * CarbonLib: in CarbonLib 1.0 and later
  5347. * Mac OS X: in version 10.0 and later
  5348. */
  5349. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5350. #pragma parameter PBSetCatalogInfoAsync(__A0)
  5351. #endif
  5352. EXTERN_API( void )
  5353. PBSetCatalogInfoAsync(FSRefParam * paramBlock) TWOWORDINLINE(0x7077, 0xA660);
  5354. /*
  5355. OpenIterator
  5356. Creates an FSIterator to iterate over a directory or subtree. The
  5357. iterator can then be passed to GetCatalogInfoBulk or CatalogSearch.
  5358. -> ioCompletion A pointer to a completion routine
  5359. <- ioResult The result code of the function
  5360. <- iterator The returned FSIterator
  5361. -> iteratorFlags Controls whether the iterator iterates over subtrees
  5362. or just the immediate children of the container.
  5363. -> container An FSRef for the directory to iterate (or root of
  5364. the subtree to iterate).
  5365. */
  5366. /*
  5367. * FSOpenIterator()
  5368. *
  5369. * Availability:
  5370. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5371. * CarbonLib: in CarbonLib 1.0 and later
  5372. * Mac OS X: in version 10.0 and later
  5373. */
  5374. EXTERN_API( OSErr )
  5375. FSOpenIterator(
  5376. const FSRef * container,
  5377. FSIteratorFlags iteratorFlags,
  5378. FSIterator * iterator) THREEWORDINLINE(0x303C, 0x0624, 0xAA52);
  5379. /*
  5380. * PBOpenIteratorSync()
  5381. *
  5382. * Availability:
  5383. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5384. * CarbonLib: in CarbonLib 1.0 and later
  5385. * Mac OS X: in version 10.0 and later
  5386. */
  5387. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5388. #pragma parameter __D0 PBOpenIteratorSync(__A0)
  5389. #endif
  5390. EXTERN_API( OSErr )
  5391. PBOpenIteratorSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x7078, 0xA260);
  5392. /*
  5393. * PBOpenIteratorAsync()
  5394. *
  5395. * Availability:
  5396. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5397. * CarbonLib: in CarbonLib 1.0 and later
  5398. * Mac OS X: in version 10.0 and later
  5399. */
  5400. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5401. #pragma parameter PBOpenIteratorAsync(__A0)
  5402. #endif
  5403. EXTERN_API( void )
  5404. PBOpenIteratorAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x7078, 0xA660);
  5405. /*
  5406. CloseIterator
  5407. Invalidates and disposes an FSIterator.
  5408. -> ioCompletion A pointer to a completion routine
  5409. <- ioResult The result code of the function
  5410. -> iterator The returned FSIterator
  5411. */
  5412. /*
  5413. * FSCloseIterator()
  5414. *
  5415. * Availability:
  5416. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5417. * CarbonLib: in CarbonLib 1.0 and later
  5418. * Mac OS X: in version 10.0 and later
  5419. */
  5420. EXTERN_API( OSErr )
  5421. FSCloseIterator(FSIterator iterator) THREEWORDINLINE(0x303C, 0x0225, 0xAA52);
  5422. /*
  5423. * PBCloseIteratorSync()
  5424. *
  5425. * Availability:
  5426. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5427. * CarbonLib: in CarbonLib 1.0 and later
  5428. * Mac OS X: in version 10.0 and later
  5429. */
  5430. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5431. #pragma parameter __D0 PBCloseIteratorSync(__A0)
  5432. #endif
  5433. EXTERN_API( OSErr )
  5434. PBCloseIteratorSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705B, 0xA260);
  5435. /*
  5436. * PBCloseIteratorAsync()
  5437. *
  5438. * Availability:
  5439. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5440. * CarbonLib: in CarbonLib 1.0 and later
  5441. * Mac OS X: in version 10.0 and later
  5442. */
  5443. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5444. #pragma parameter PBCloseIteratorAsync(__A0)
  5445. #endif
  5446. EXTERN_API( void )
  5447. PBCloseIteratorAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705B, 0xA660);
  5448. /*
  5449. GetCatalogInfoBulk
  5450. Iterates over catalog objects and returns information about them.
  5451. For now, iterator must have been created with kFSIterateFlat option.
  5452. -> ioCompletion A pointer to a completion routine
  5453. <- ioResult The result code of the function
  5454. -> iterator The iterator
  5455. -> maximumItems The maximum number of items to return
  5456. <- actualItems The actual number of items returned
  5457. <- containerChanged Set to true if the container's contents changed
  5458. -> whichInfo The catalog information fields to return for each item
  5459. <- catalogInfo An array of catalog information; one for each returned item
  5460. <- refs An array of FSRefs; one for each returned item
  5461. <- specs An array of FSSpecs; one for each returned item
  5462. <- names An array of filenames; one for each returned item
  5463. Note: The catalogInfo, refs, specs, names, and containerChanged are all optional outputs;
  5464. if you don't want that particular output, set its pointer to NULL.
  5465. */
  5466. /*
  5467. * FSGetCatalogInfoBulk()
  5468. *
  5469. * Availability:
  5470. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5471. * CarbonLib: in CarbonLib 1.0 and later
  5472. * Mac OS X: in version 10.0 and later
  5473. */
  5474. EXTERN_API( OSErr )
  5475. FSGetCatalogInfoBulk(
  5476. FSIterator iterator,
  5477. ItemCount maximumObjects,
  5478. ItemCount * actualObjects,
  5479. Boolean * containerChanged, /* can be NULL */
  5480. FSCatalogInfoBitmap whichInfo,
  5481. FSCatalogInfo * catalogInfos, /* can be NULL */
  5482. FSRef * refs, /* can be NULL */
  5483. FSSpec * specs, /* can be NULL */
  5484. HFSUniStr255 * names) /* can be NULL */ THREEWORDINLINE(0x303C, 0x1226, 0xAA52);
  5485. /*
  5486. * PBGetCatalogInfoBulkSync()
  5487. *
  5488. * Availability:
  5489. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5490. * CarbonLib: in CarbonLib 1.0 and later
  5491. * Mac OS X: in version 10.0 and later
  5492. */
  5493. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5494. #pragma parameter __D0 PBGetCatalogInfoBulkSync(__A0)
  5495. #endif
  5496. EXTERN_API( OSErr )
  5497. PBGetCatalogInfoBulkSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705C, 0xA260);
  5498. /*
  5499. * PBGetCatalogInfoBulkAsync()
  5500. *
  5501. * Availability:
  5502. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5503. * CarbonLib: in CarbonLib 1.0 and later
  5504. * Mac OS X: in version 10.0 and later
  5505. */
  5506. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5507. #pragma parameter PBGetCatalogInfoBulkAsync(__A0)
  5508. #endif
  5509. EXTERN_API( void )
  5510. PBGetCatalogInfoBulkAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705C, 0xA660);
  5511. /*
  5512. CatalogSearch
  5513. Iterates over catalog objects, searching for objects that match given
  5514. search criteria. Returns various information about matching objects.
  5515. For now, iterator must have been created with kFSIterateSubtree option
  5516. and the container must have been the root directory of a volume.
  5517. -> ioCompletion A pointer to a completion routine
  5518. <- ioResult The result code of the function
  5519. -> iterator The iterator
  5520. -> maximumItems The maximum number of items to return
  5521. <- actualItems The actual number of items returned
  5522. <- containerChanged Set to true if the container's contents changed
  5523. -> whichInfo The catalog information fields to return for each item
  5524. <- catalogInfo An array of catalog information; one for each returned item
  5525. <- refs An array of FSRefs; one for each returned item
  5526. <- specs An array of FSSpecs; one for each returned item
  5527. <- names An array of filenames; one for each returned item
  5528. -> searchParams The criteria that controls the matching, including timeout, a bitmap
  5529. controlling the fields to compare, and the (Unicode) name to compare.
  5530. Note: The catalogInfo, refs, specs, and names are all optional outputs; if you don't want
  5531. that particular output, set its pointer to NULL.
  5532. */
  5533. /*
  5534. * FSCatalogSearch()
  5535. *
  5536. * Availability:
  5537. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5538. * CarbonLib: in CarbonLib 1.0 and later
  5539. * Mac OS X: in version 10.0 and later
  5540. */
  5541. EXTERN_API( OSErr )
  5542. FSCatalogSearch(
  5543. FSIterator iterator,
  5544. const FSSearchParams * searchCriteria,
  5545. ItemCount maximumObjects,
  5546. ItemCount * actualObjects,
  5547. Boolean * containerChanged, /* can be NULL */
  5548. FSCatalogInfoBitmap whichInfo,
  5549. FSCatalogInfo * catalogInfos, /* can be NULL */
  5550. FSRef * refs, /* can be NULL */
  5551. FSSpec * specs, /* can be NULL */
  5552. HFSUniStr255 * names) /* can be NULL */ THREEWORDINLINE(0x303C, 0x1427, 0xAA52);
  5553. /*
  5554. * PBCatalogSearchSync()
  5555. *
  5556. * Availability:
  5557. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5558. * CarbonLib: in CarbonLib 1.0 and later
  5559. * Mac OS X: in version 10.0 and later
  5560. */
  5561. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5562. #pragma parameter __D0 PBCatalogSearchSync(__A0)
  5563. #endif
  5564. EXTERN_API( OSErr )
  5565. PBCatalogSearchSync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705D, 0xA260);
  5566. /*
  5567. * PBCatalogSearchAsync()
  5568. *
  5569. * Availability:
  5570. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5571. * CarbonLib: in CarbonLib 1.0 and later
  5572. * Mac OS X: in version 10.0 and later
  5573. */
  5574. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5575. #pragma parameter PBCatalogSearchAsync(__A0)
  5576. #endif
  5577. EXTERN_API( void )
  5578. PBCatalogSearchAsync(FSCatalogBulkParam * paramBlock) TWOWORDINLINE(0x705D, 0xA660);
  5579. /*
  5580. CreateFork
  5581. Create a named fork for a file or directory.
  5582. -> ioCompletion A pointer to a completion routine
  5583. <- ioResult The result code of the function
  5584. -> ref The file or directory
  5585. -> forkNameLength The length of the fork name (in Unicode characters)
  5586. -> forkName The name of the fork to open (in Unicode)
  5587. */
  5588. /*
  5589. * FSCreateFork()
  5590. *
  5591. * Availability:
  5592. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5593. * CarbonLib: in CarbonLib 1.0 and later
  5594. * Mac OS X: in version 10.0 and later
  5595. */
  5596. EXTERN_API( OSErr )
  5597. FSCreateFork(
  5598. const FSRef * ref,
  5599. UniCharCount forkNameLength,
  5600. const UniChar * forkName) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0636, 0xAA52);
  5601. /*
  5602. * PBCreateForkSync()
  5603. *
  5604. * Availability:
  5605. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5606. * CarbonLib: in CarbonLib 1.0 and later
  5607. * Mac OS X: in version 10.0 and later
  5608. */
  5609. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5610. #pragma parameter __D0 PBCreateForkSync(__A0)
  5611. #endif
  5612. EXTERN_API( OSErr )
  5613. PBCreateForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707D, 0xA260);
  5614. /*
  5615. * PBCreateForkAsync()
  5616. *
  5617. * Availability:
  5618. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5619. * CarbonLib: in CarbonLib 1.0 and later
  5620. * Mac OS X: in version 10.0 and later
  5621. */
  5622. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5623. #pragma parameter PBCreateForkAsync(__A0)
  5624. #endif
  5625. EXTERN_API( void )
  5626. PBCreateForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707D, 0xA660);
  5627. /*
  5628. DeleteFork
  5629. Delete a named fork of a file or directory.
  5630. -> ioCompletion A pointer to a completion routine
  5631. <- ioResult The result code of the function
  5632. -> ref The file or directory
  5633. -> forkNameLength The length of the fork name (in Unicode characters)
  5634. -> forkName The name of the fork to open (in Unicode)
  5635. */
  5636. /*
  5637. * FSDeleteFork()
  5638. *
  5639. * Availability:
  5640. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5641. * CarbonLib: in CarbonLib 1.0 and later
  5642. * Mac OS X: in version 10.0 and later
  5643. */
  5644. EXTERN_API( OSErr )
  5645. FSDeleteFork(
  5646. const FSRef * ref,
  5647. UniCharCount forkNameLength,
  5648. const UniChar * forkName) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0637, 0xAA52);
  5649. /*
  5650. * PBDeleteForkSync()
  5651. *
  5652. * Availability:
  5653. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5654. * CarbonLib: in CarbonLib 1.0 and later
  5655. * Mac OS X: in version 10.0 and later
  5656. */
  5657. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5658. #pragma parameter __D0 PBDeleteForkSync(__A0)
  5659. #endif
  5660. EXTERN_API( OSErr )
  5661. PBDeleteForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707E, 0xA260);
  5662. /*
  5663. * PBDeleteForkAsync()
  5664. *
  5665. * Availability:
  5666. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5667. * CarbonLib: in CarbonLib 1.0 and later
  5668. * Mac OS X: in version 10.0 and later
  5669. */
  5670. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5671. #pragma parameter PBDeleteForkAsync(__A0)
  5672. #endif
  5673. EXTERN_API( void )
  5674. PBDeleteForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707E, 0xA660);
  5675. /*
  5676. IterateForks
  5677. Return the names and sizes of the forks of a file or directory.
  5678. One fork is returned per call.
  5679. -> ioCompletion A pointer to a completion routine.
  5680. <- ioResult The result code of the function.
  5681. -> ref The file or directory containing the forks.
  5682. <- positionOffset The length of the fork, in bytes.
  5683. <- allocationAmount The space allocated to the fork (physical length).
  5684. <- outForkName The name of the fork in Unicode.
  5685. <> forkIterator Maintains state between calls for a given FSRef.
  5686. Before the first call, set the initialize field to zero.
  5687. */
  5688. /*
  5689. * FSIterateForks()
  5690. *
  5691. * Availability:
  5692. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5693. * CarbonLib: in CarbonLib 1.0 and later
  5694. * Mac OS X: in version 10.0 and later
  5695. */
  5696. EXTERN_API( OSErr )
  5697. FSIterateForks(
  5698. const FSRef * ref,
  5699. CatPositionRec * forkIterator,
  5700. HFSUniStr255 * forkName, /* can be NULL */
  5701. SInt64 * forkSize, /* can be NULL */
  5702. UInt64 * forkPhysicalSize) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A38, 0xAA52);
  5703. /*
  5704. * PBIterateForksSync()
  5705. *
  5706. * Availability:
  5707. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5708. * CarbonLib: in CarbonLib 1.0 and later
  5709. * Mac OS X: in version 10.0 and later
  5710. */
  5711. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5712. #pragma parameter __D0 PBIterateForksSync(__A0)
  5713. #endif
  5714. EXTERN_API( OSErr )
  5715. PBIterateForksSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707F, 0xA260);
  5716. /*
  5717. * PBIterateForksAsync()
  5718. *
  5719. * Availability:
  5720. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5721. * CarbonLib: in CarbonLib 1.0 and later
  5722. * Mac OS X: in version 10.0 and later
  5723. */
  5724. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5725. #pragma parameter PBIterateForksAsync(__A0)
  5726. #endif
  5727. EXTERN_API( void )
  5728. PBIterateForksAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x707F, 0xA660);
  5729. /*
  5730. OpenFork
  5731. Open a fork for reading and/or writing. Allows the opened fork
  5732. to grow beyond 2GB in size. All volumes should support data and
  5733. resource forks. Other named forks may be supported by some
  5734. volumes.
  5735. -> ioCompletion A pointer to a completion routine
  5736. <- ioResult The result code of the function
  5737. -> ref The file or directory containing the fork to open
  5738. -> forkNameLength The length of the fork name (in Unicode characters)
  5739. -> forkName The name of the fork to open (in Unicode)
  5740. -> permissions The access (read and/or write) you want
  5741. <- forkRefNum The reference number for accessing the open fork
  5742. */
  5743. /*
  5744. * FSOpenFork()
  5745. *
  5746. * Availability:
  5747. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5748. * CarbonLib: in CarbonLib 1.0 and later
  5749. * Mac OS X: in version 10.0 and later
  5750. */
  5751. EXTERN_API( OSErr )
  5752. FSOpenFork(
  5753. const FSRef * ref,
  5754. UniCharCount forkNameLength,
  5755. const UniChar * forkName, /* can be NULL */
  5756. SInt8 permissions,
  5757. SInt16 * forkRefNum) THREEWORDINLINE(0x303C, 0x0928, 0xAA52);
  5758. /*
  5759. * PBOpenForkSync()
  5760. *
  5761. * Availability:
  5762. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5763. * CarbonLib: in CarbonLib 1.0 and later
  5764. * Mac OS X: in version 10.0 and later
  5765. */
  5766. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5767. #pragma parameter __D0 PBOpenForkSync(__A0)
  5768. #endif
  5769. EXTERN_API( OSErr )
  5770. PBOpenForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7079, 0xA260);
  5771. /*
  5772. * PBOpenForkAsync()
  5773. *
  5774. * Availability:
  5775. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5776. * CarbonLib: in CarbonLib 1.0 and later
  5777. * Mac OS X: in version 10.0 and later
  5778. */
  5779. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5780. #pragma parameter PBOpenForkAsync(__A0)
  5781. #endif
  5782. EXTERN_API( void )
  5783. PBOpenForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7079, 0xA660);
  5784. /*
  5785. ReadFork
  5786. Read data from a fork opened via OpenFork. The first byte to read is
  5787. indicated by a combination of positionMode and positionOffset.
  5788. -> ioCompletion A pointer to a completion routine
  5789. <- ioResult The result code of the function
  5790. -> forkRefNum The reference number of the fork to read from
  5791. <- buffer Pointer to buffer where data will be returned
  5792. -> requestCount The number of bytes to read
  5793. <- actualCount The number of bytes actually read
  5794. -> positionMode The base location for start of read
  5795. -> positionOffset The offset from base location for start of read
  5796. */
  5797. /*
  5798. * FSReadFork()
  5799. *
  5800. * Availability:
  5801. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5802. * CarbonLib: in CarbonLib 1.0 and later
  5803. * Mac OS X: in version 10.0 and later
  5804. */
  5805. EXTERN_API( OSErr )
  5806. FSReadFork(
  5807. SInt16 forkRefNum,
  5808. UInt16 positionMode,
  5809. SInt64 positionOffset,
  5810. ByteCount requestCount,
  5811. void * buffer,
  5812. ByteCount * actualCount) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A29, 0xAA52);
  5813. /*
  5814. * PBReadForkSync()
  5815. *
  5816. * Availability:
  5817. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5818. * CarbonLib: in CarbonLib 1.0 and later
  5819. * Mac OS X: in version 10.0 and later
  5820. */
  5821. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5822. #pragma parameter __D0 PBReadForkSync(__A0)
  5823. #endif
  5824. EXTERN_API( OSErr )
  5825. PBReadForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7051, 0xA2A8);
  5826. /*
  5827. * PBReadForkAsync()
  5828. *
  5829. * Availability:
  5830. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5831. * CarbonLib: in CarbonLib 1.0 and later
  5832. * Mac OS X: in version 10.0 and later
  5833. */
  5834. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5835. #pragma parameter PBReadForkAsync(__A0)
  5836. #endif
  5837. EXTERN_API( void )
  5838. PBReadForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7051, 0xA6A8);
  5839. /*
  5840. WriteFork
  5841. Write data to a fork opened via OpenFork. The first byte to write is
  5842. indicated by a combination of positionMode and positionOffset.
  5843. -> ioCompletion A pointer to a completion routine
  5844. <- ioResult The result code of the function
  5845. -> forkRefNum The reference number of the fork to write to
  5846. -> buffer Pointer to data to write
  5847. -> requestCount The number of bytes to write
  5848. <- actualCount The number of bytes actually written
  5849. -> positionMode The base location for start of write
  5850. -> positionOffset The offset from base location for start of write
  5851. */
  5852. /*
  5853. * FSWriteFork()
  5854. *
  5855. * Availability:
  5856. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5857. * CarbonLib: in CarbonLib 1.0 and later
  5858. * Mac OS X: in version 10.0 and later
  5859. */
  5860. EXTERN_API( OSErr )
  5861. FSWriteFork(
  5862. SInt16 forkRefNum,
  5863. UInt16 positionMode,
  5864. SInt64 positionOffset,
  5865. ByteCount requestCount,
  5866. const void * buffer,
  5867. ByteCount * actualCount) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0A2A, 0xAA52);
  5868. /*
  5869. * PBWriteForkSync()
  5870. *
  5871. * Availability:
  5872. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5873. * CarbonLib: in CarbonLib 1.0 and later
  5874. * Mac OS X: in version 10.0 and later
  5875. */
  5876. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5877. #pragma parameter __D0 PBWriteForkSync(__A0)
  5878. #endif
  5879. EXTERN_API( OSErr )
  5880. PBWriteForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7052, 0xA2A8);
  5881. /*
  5882. * PBWriteForkAsync()
  5883. *
  5884. * Availability:
  5885. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5886. * CarbonLib: in CarbonLib 1.0 and later
  5887. * Mac OS X: in version 10.0 and later
  5888. */
  5889. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5890. #pragma parameter PBWriteForkAsync(__A0)
  5891. #endif
  5892. EXTERN_API( void )
  5893. PBWriteForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7052, 0xA6A8);
  5894. /*
  5895. GetForkPosition
  5896. Get the current (default) position of a fork that was
  5897. opened via OpenFork.
  5898. -> ioCompletion A pointer to a completion routine
  5899. <- ioResult The result code of the function
  5900. -> forkRefNum The reference number of the fork
  5901. <- positionOffset The current position of the fork
  5902. */
  5903. /*
  5904. * FSGetForkPosition()
  5905. *
  5906. * Availability:
  5907. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5908. * CarbonLib: in CarbonLib 1.0 and later
  5909. * Mac OS X: in version 10.0 and later
  5910. */
  5911. EXTERN_API( OSErr )
  5912. FSGetForkPosition(
  5913. SInt16 forkRefNum,
  5914. SInt64 * position) THREEWORDINLINE(0x303C, 0x032B, 0xAA52);
  5915. /*
  5916. * PBGetForkPositionSync()
  5917. *
  5918. * Availability:
  5919. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5920. * CarbonLib: in CarbonLib 1.0 and later
  5921. * Mac OS X: in version 10.0 and later
  5922. */
  5923. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5924. #pragma parameter __D0 PBGetForkPositionSync(__A0)
  5925. #endif
  5926. EXTERN_API( OSErr )
  5927. PBGetForkPositionSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7053, 0xA260);
  5928. /*
  5929. * PBGetForkPositionAsync()
  5930. *
  5931. * Availability:
  5932. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5933. * CarbonLib: in CarbonLib 1.0 and later
  5934. * Mac OS X: in version 10.0 and later
  5935. */
  5936. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5937. #pragma parameter PBGetForkPositionAsync(__A0)
  5938. #endif
  5939. EXTERN_API( void )
  5940. PBGetForkPositionAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7053, 0xA660);
  5941. /*
  5942. SetForkPosition
  5943. Set the current (default) position of a fork that was
  5944. opened via OpenFork.
  5945. -> ioCompletion A pointer to a completion routine
  5946. <- ioResult The result code of the function
  5947. -> forkRefNum The reference number of the fork
  5948. -> positionMode The base location for the new position
  5949. -> positionOffset The offset of the new position from the base
  5950. */
  5951. /*
  5952. * FSSetForkPosition()
  5953. *
  5954. * Availability:
  5955. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5956. * CarbonLib: in CarbonLib 1.0 and later
  5957. * Mac OS X: in version 10.0 and later
  5958. */
  5959. EXTERN_API( OSErr )
  5960. FSSetForkPosition(
  5961. SInt16 forkRefNum,
  5962. UInt16 positionMode,
  5963. SInt64 positionOffset) THREEWORDINLINE(0x303C, 0x042C, 0xAA52);
  5964. /*
  5965. * PBSetForkPositionSync()
  5966. *
  5967. * Availability:
  5968. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5969. * CarbonLib: in CarbonLib 1.0 and later
  5970. * Mac OS X: in version 10.0 and later
  5971. */
  5972. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5973. #pragma parameter __D0 PBSetForkPositionSync(__A0)
  5974. #endif
  5975. EXTERN_API( OSErr )
  5976. PBSetForkPositionSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7054, 0xA260);
  5977. /*
  5978. * PBSetForkPositionAsync()
  5979. *
  5980. * Availability:
  5981. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  5982. * CarbonLib: in CarbonLib 1.0 and later
  5983. * Mac OS X: in version 10.0 and later
  5984. */
  5985. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  5986. #pragma parameter PBSetForkPositionAsync(__A0)
  5987. #endif
  5988. EXTERN_API( void )
  5989. PBSetForkPositionAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7054, 0xA660);
  5990. /*
  5991. GetForkSize
  5992. Get the current logical size (end-of-file) of an open fork.
  5993. -> ioCompletion A pointer to a completion routine
  5994. <- ioResult The result code of the function
  5995. -> forkRefNum The reference number of the fork
  5996. <- positionOffset The logical size of the fork, in bytes
  5997. */
  5998. /*
  5999. * FSGetForkSize()
  6000. *
  6001. * Availability:
  6002. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6003. * CarbonLib: in CarbonLib 1.0 and later
  6004. * Mac OS X: in version 10.0 and later
  6005. */
  6006. EXTERN_API( OSErr )
  6007. FSGetForkSize(
  6008. SInt16 forkRefNum,
  6009. SInt64 * forkSize) THREEWORDINLINE(0x303C, 0x032D, 0xAA52);
  6010. /*
  6011. * PBGetForkSizeSync()
  6012. *
  6013. * Availability:
  6014. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6015. * CarbonLib: in CarbonLib 1.0 and later
  6016. * Mac OS X: in version 10.0 and later
  6017. */
  6018. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6019. #pragma parameter __D0 PBGetForkSizeSync(__A0)
  6020. #endif
  6021. EXTERN_API( OSErr )
  6022. PBGetForkSizeSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7055, 0xA260);
  6023. /*
  6024. * PBGetForkSizeAsync()
  6025. *
  6026. * Availability:
  6027. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6028. * CarbonLib: in CarbonLib 1.0 and later
  6029. * Mac OS X: in version 10.0 and later
  6030. */
  6031. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6032. #pragma parameter PBGetForkSizeAsync(__A0)
  6033. #endif
  6034. EXTERN_API( void )
  6035. PBGetForkSizeAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7055, 0xA660);
  6036. /*
  6037. SetForkSize
  6038. Set the logical size (end-of-file) of an open fork. This
  6039. may cause space to be allocated or deallocated.
  6040. -> ioCompletion A pointer to a completion routine
  6041. <- ioResult The result code of the function
  6042. -> forkRefNum The reference number of the fork
  6043. -> positionMode The base location for the new size
  6044. -> positionOffset The offset of the new size from the base
  6045. */
  6046. /*
  6047. * FSSetForkSize()
  6048. *
  6049. * Availability:
  6050. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6051. * CarbonLib: in CarbonLib 1.0 and later
  6052. * Mac OS X: in version 10.0 and later
  6053. */
  6054. EXTERN_API( OSErr )
  6055. FSSetForkSize(
  6056. SInt16 forkRefNum,
  6057. UInt16 positionMode,
  6058. SInt64 positionOffset) THREEWORDINLINE(0x303C, 0x042E, 0xAA52);
  6059. /*
  6060. * PBSetForkSizeSync()
  6061. *
  6062. * Availability:
  6063. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6064. * CarbonLib: in CarbonLib 1.0 and later
  6065. * Mac OS X: in version 10.0 and later
  6066. */
  6067. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6068. #pragma parameter __D0 PBSetForkSizeSync(__A0)
  6069. #endif
  6070. EXTERN_API( OSErr )
  6071. PBSetForkSizeSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7056, 0xA260);
  6072. /*
  6073. * PBSetForkSizeAsync()
  6074. *
  6075. * Availability:
  6076. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6077. * CarbonLib: in CarbonLib 1.0 and later
  6078. * Mac OS X: in version 10.0 and later
  6079. */
  6080. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6081. #pragma parameter PBSetForkSizeAsync(__A0)
  6082. #endif
  6083. EXTERN_API( void )
  6084. PBSetForkSizeAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7056, 0xA660);
  6085. /*
  6086. AllocateFork
  6087. Allocate space to an open fork. Typically, the space to be
  6088. allocated is beyond the current size of the fork, to reserve
  6089. space so the file will be able to grow later. Some volume
  6090. formats are unable to allocate space beyond the logical size
  6091. of the fork.
  6092. -> ioCompletion A pointer to a completion routine
  6093. <- ioResult The result code of the function
  6094. -> forkRefNum The reference number of the fork
  6095. -> positionMode The base location for start of allocation
  6096. -> positionOffset The offset of the start of allocation
  6097. -> allocationFlags Zero or more of the following flags:
  6098. kFSAllocContiguousMask
  6099. Any newly allocated space must be one contiguous piece.
  6100. kFSAllocAllOrNothingMask
  6101. All of the request space must be available, or the call
  6102. will fail. (If not set, the call may succeed even though
  6103. some of the requested space wasn't allocated.)
  6104. kFSAllocNoRoundUpMask
  6105. Do not allocate additional space. (If not set, a volume
  6106. may allocate additional space in order to reduce fragmentation.)
  6107. <> allocationAmount The number of bytes to allocate
  6108. On output, the number of bytes actually added
  6109. */
  6110. /*
  6111. * FSAllocateFork()
  6112. *
  6113. * Availability:
  6114. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6115. * CarbonLib: in CarbonLib 1.0 and later
  6116. * Mac OS X: in version 10.0 and later
  6117. */
  6118. EXTERN_API( OSErr )
  6119. FSAllocateFork(
  6120. SInt16 forkRefNum,
  6121. FSAllocationFlags flags,
  6122. UInt16 positionMode,
  6123. SInt64 positionOffset,
  6124. UInt64 requestCount,
  6125. UInt64 * actualCount) /* can be NULL */ THREEWORDINLINE(0x303C, 0x092F, 0xAA52);
  6126. /*
  6127. * PBAllocateForkSync()
  6128. *
  6129. * Availability:
  6130. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6131. * CarbonLib: in CarbonLib 1.0 and later
  6132. * Mac OS X: in version 10.0 and later
  6133. */
  6134. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6135. #pragma parameter __D0 PBAllocateForkSync(__A0)
  6136. #endif
  6137. EXTERN_API( OSErr )
  6138. PBAllocateForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7057, 0xA260);
  6139. /*
  6140. * PBAllocateForkAsync()
  6141. *
  6142. * Availability:
  6143. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6144. * CarbonLib: in CarbonLib 1.0 and later
  6145. * Mac OS X: in version 10.0 and later
  6146. */
  6147. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6148. #pragma parameter PBAllocateForkAsync(__A0)
  6149. #endif
  6150. EXTERN_API( void )
  6151. PBAllocateForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7057, 0xA660);
  6152. /*
  6153. FlushFork
  6154. Flush a fork. Any data written to this fork refnum is flushed to the device.
  6155. The volume's control structures are also flushed to the device.
  6156. -> ioCompletion A pointer to a completion routine
  6157. <- ioResult The result code of the function
  6158. -> forkRefNum The reference number of the fork to flush
  6159. */
  6160. /*
  6161. * FSFlushFork()
  6162. *
  6163. * Availability:
  6164. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6165. * CarbonLib: in CarbonLib 1.0 and later
  6166. * Mac OS X: in version 10.0 and later
  6167. */
  6168. EXTERN_API( OSErr )
  6169. FSFlushFork(SInt16 forkRefNum) THREEWORDINLINE(0x303C, 0x0130, 0xAA52);
  6170. /*
  6171. * PBFlushForkSync()
  6172. *
  6173. * Availability:
  6174. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6175. * CarbonLib: in CarbonLib 1.0 and later
  6176. * Mac OS X: in version 10.0 and later
  6177. */
  6178. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6179. #pragma parameter __D0 PBFlushForkSync(__A0)
  6180. #endif
  6181. EXTERN_API( OSErr )
  6182. PBFlushForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7058, 0xA260);
  6183. /*
  6184. * PBFlushForkAsync()
  6185. *
  6186. * Availability:
  6187. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6188. * CarbonLib: in CarbonLib 1.0 and later
  6189. * Mac OS X: in version 10.0 and later
  6190. */
  6191. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6192. #pragma parameter PBFlushForkAsync(__A0)
  6193. #endif
  6194. EXTERN_API( void )
  6195. PBFlushForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7058, 0xA660);
  6196. /*
  6197. CloseFork
  6198. Flush and close a fork. Any data written to this fork refnum is flushed
  6199. to the device. The volume's control structures are also flushed to the device.
  6200. -> ioCompletion A pointer to a completion routine
  6201. <- ioResult The result code of the function
  6202. -> forkRefNum The reference number of the fork to close
  6203. */
  6204. /*
  6205. * FSCloseFork()
  6206. *
  6207. * Availability:
  6208. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6209. * CarbonLib: in CarbonLib 1.0 and later
  6210. * Mac OS X: in version 10.0 and later
  6211. */
  6212. EXTERN_API( OSErr )
  6213. FSCloseFork(SInt16 forkRefNum) THREEWORDINLINE(0x303C, 0x0131, 0xAA52);
  6214. /*
  6215. * PBCloseForkSync()
  6216. *
  6217. * Availability:
  6218. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6219. * CarbonLib: in CarbonLib 1.0 and later
  6220. * Mac OS X: in version 10.0 and later
  6221. */
  6222. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6223. #pragma parameter __D0 PBCloseForkSync(__A0)
  6224. #endif
  6225. EXTERN_API( OSErr )
  6226. PBCloseForkSync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7059, 0xA260);
  6227. /*
  6228. * PBCloseForkAsync()
  6229. *
  6230. * Availability:
  6231. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6232. * CarbonLib: in CarbonLib 1.0 and later
  6233. * Mac OS X: in version 10.0 and later
  6234. */
  6235. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6236. #pragma parameter PBCloseForkAsync(__A0)
  6237. #endif
  6238. EXTERN_API( void )
  6239. PBCloseForkAsync(FSForkIOParam * paramBlock) TWOWORDINLINE(0x7059, 0xA660);
  6240. /*
  6241. GetForkCBInfo
  6242. Return information about an open fork.
  6243. -> ioCompletion A pointer to a completion routine
  6244. <- ioResult The result code of the function
  6245. <> desiredRefNum If non-zero on input, then get information for this refnum;
  6246. unchanged on output. If zero on input, iterate over all open
  6247. forks (possibly limited to a single volume); on output, contains
  6248. the fork's refnum.
  6249. -> volumeRefNum Used when desiredRefNum is zero on input. Set to 0 to iterate over all
  6250. volumes, or set to a FSVolumeRefNum to limit iteration to that volume.
  6251. <> iterator Used when desiredRefNum is zero on input. Set to 0 before iterating.
  6252. Pass the iterator returned by the previous call to continue iterating.
  6253. <- actualRefNum The refnum of the open fork.
  6254. <- ref The FSRef for the file or directory that contains the fork.
  6255. <- forkInfo Various information about the open fork.
  6256. <- outForkName The name of the fork
  6257. Note: the foundRefNum, ref, forkInfo, and fork name outputs are all optional; if you don't want
  6258. a particular output, then set its pointer to NULL. If forkName is NULL, then forkNameLength
  6259. will be undefined.
  6260. Note: Returning the forkInfo generally does not require a disk access. Returning the
  6261. ref or forkName may cause disk access for some volume formats.
  6262. */
  6263. /*
  6264. * FSGetForkCBInfo()
  6265. *
  6266. * Availability:
  6267. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6268. * CarbonLib: in CarbonLib 1.0 and later
  6269. * Mac OS X: in version 10.0 and later
  6270. */
  6271. EXTERN_API( OSErr )
  6272. FSGetForkCBInfo(
  6273. SInt16 desiredRefNum,
  6274. FSVolumeRefNum volume,
  6275. SInt16 * iterator, /* can be NULL */
  6276. SInt16 * actualRefNum, /* can be NULL */
  6277. FSForkInfo * forkInfo, /* can be NULL */
  6278. FSRef * ref, /* can be NULL */
  6279. HFSUniStr255 * outForkName) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0C32, 0xAA52);
  6280. /*
  6281. * PBGetForkCBInfoSync()
  6282. *
  6283. * Availability:
  6284. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6285. * CarbonLib: in CarbonLib 1.0 and later
  6286. * Mac OS X: in version 10.0 and later
  6287. */
  6288. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6289. #pragma parameter __D0 PBGetForkCBInfoSync(__A0)
  6290. #endif
  6291. EXTERN_API( OSErr )
  6292. PBGetForkCBInfoSync(FSForkCBInfoParam * paramBlock) TWOWORDINLINE(0x705A, 0xA260);
  6293. /*
  6294. * PBGetForkCBInfoAsync()
  6295. *
  6296. * Availability:
  6297. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6298. * CarbonLib: in CarbonLib 1.0 and later
  6299. * Mac OS X: in version 10.0 and later
  6300. */
  6301. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6302. #pragma parameter PBGetForkCBInfoAsync(__A0)
  6303. #endif
  6304. EXTERN_API( void )
  6305. PBGetForkCBInfoAsync(FSForkCBInfoParam * paramBlock) TWOWORDINLINE(0x705A, 0xA660);
  6306. /*
  6307. GetVolumeInfo
  6308. Returns various information about a given volume, or indexing over all volumes.
  6309. -> ioCompletion A pointer to a completion routine
  6310. <- ioResult The result code of the function
  6311. <> ioVRefNum On input, the volume reference number or drive number whose
  6312. information is to be returned (if volumeIndex is 0); same
  6313. as "volume" input to FSGetVolumeInfo.
  6314. On output, the actual volume reference number; same as
  6315. "actualVolume" output of FSGetVolumeInfo.
  6316. -> volumeIndex The index of the desired volume, or 0 to use ioVRefNum
  6317. -> whichInfo Which volInfo info fields to get
  6318. <- volumeInfo The returned values of Volume info fields; may be NULL
  6319. <- name The Unicode name is returned here. This pointer may be NULL.
  6320. Note: All of the outputs are optional; if you don't want that particular output, just
  6321. set its pointer to NULL.
  6322. */
  6323. /*
  6324. * FSGetVolumeInfo()
  6325. *
  6326. * Availability:
  6327. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6328. * CarbonLib: in CarbonLib 1.0 and later
  6329. * Mac OS X: in version 10.0 and later
  6330. */
  6331. EXTERN_API( OSErr )
  6332. FSGetVolumeInfo(
  6333. FSVolumeRefNum volume,
  6334. ItemCount volumeIndex,
  6335. FSVolumeRefNum * actualVolume, /* can be NULL */
  6336. FSVolumeInfoBitmap whichInfo,
  6337. FSVolumeInfo * info, /* can be NULL */
  6338. HFSUniStr255 * volumeName, /* can be NULL */
  6339. FSRef * rootDirectory) /* can be NULL */ THREEWORDINLINE(0x303C, 0x0D33, 0xAA52);
  6340. /*
  6341. * PBGetVolumeInfoSync()
  6342. *
  6343. * Availability:
  6344. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6345. * CarbonLib: in CarbonLib 1.0 and later
  6346. * Mac OS X: in version 10.0 and later
  6347. */
  6348. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6349. #pragma parameter __D0 PBGetVolumeInfoSync(__A0)
  6350. #endif
  6351. EXTERN_API( OSErr )
  6352. PBGetVolumeInfoSync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701D, 0xA260);
  6353. /*
  6354. * PBGetVolumeInfoAsync()
  6355. *
  6356. * Availability:
  6357. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6358. * CarbonLib: in CarbonLib 1.0 and later
  6359. * Mac OS X: in version 10.0 and later
  6360. */
  6361. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6362. #pragma parameter PBGetVolumeInfoAsync(__A0)
  6363. #endif
  6364. EXTERN_API( void )
  6365. PBGetVolumeInfoAsync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701D, 0xA660);
  6366. /*
  6367. SetVolumeInfo
  6368. Set information about a given volume.
  6369. -> ioCompletion A pointer to a completion routine
  6370. <- ioResult The result code of the function
  6371. -> ioVRefNum The volume whose information is to be changed
  6372. -> whichInfo Which catalog info fields to set
  6373. -> volumeInfo The new values of volume info fields
  6374. Note: Only some of the volume info fields may be set. The settable fields
  6375. are given by the constant kFSVolInfoSettableInfo; no other bits may be set in
  6376. whichInfo.
  6377. */
  6378. /*
  6379. * FSSetVolumeInfo()
  6380. *
  6381. * Availability:
  6382. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6383. * CarbonLib: in CarbonLib 1.0 and later
  6384. * Mac OS X: in version 10.0 and later
  6385. */
  6386. EXTERN_API( OSErr )
  6387. FSSetVolumeInfo(
  6388. FSVolumeRefNum volume,
  6389. FSVolumeInfoBitmap whichInfo,
  6390. const FSVolumeInfo * info) THREEWORDINLINE(0x303C, 0x0534, 0xAA52);
  6391. /*
  6392. * PBSetVolumeInfoSync()
  6393. *
  6394. * Availability:
  6395. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6396. * CarbonLib: in CarbonLib 1.0 and later
  6397. * Mac OS X: in version 10.0 and later
  6398. */
  6399. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6400. #pragma parameter __D0 PBSetVolumeInfoSync(__A0)
  6401. #endif
  6402. EXTERN_API( OSErr )
  6403. PBSetVolumeInfoSync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701E, 0xA260);
  6404. /*
  6405. * PBSetVolumeInfoAsync()
  6406. *
  6407. * Availability:
  6408. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6409. * CarbonLib: in CarbonLib 1.0 and later
  6410. * Mac OS X: in version 10.0 and later
  6411. */
  6412. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  6413. #pragma parameter PBSetVolumeInfoAsync(__A0)
  6414. #endif
  6415. EXTERN_API( void )
  6416. PBSetVolumeInfoAsync(FSVolumeInfoParam * paramBlock) TWOWORDINLINE(0x701E, 0xA660);
  6417. /*
  6418. FSGetDataForkName
  6419. Returns the constant for the name of the data fork (the empty string)
  6420. */
  6421. /*
  6422. * FSGetDataForkName()
  6423. *
  6424. * Availability:
  6425. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6426. * CarbonLib: in CarbonLib 1.0 and later
  6427. * Mac OS X: in version 10.0 and later
  6428. */
  6429. EXTERN_API( OSErr )
  6430. FSGetDataForkName(HFSUniStr255 * dataForkName) THREEWORDINLINE(0x303C, 0x0218, 0xAA52);
  6431. /*
  6432. FSGetResourceForkName
  6433. Returns the constant for the name of the resource fork
  6434. (currently "RESOURCE_FORK").
  6435. */
  6436. /*
  6437. * FSGetResourceForkName()
  6438. *
  6439. * Availability:
  6440. * Non-Carbon CFM: in InterfaceLib 9.0 and later
  6441. * CarbonLib: in CarbonLib 1.0 and later
  6442. * Mac OS X: in version 10.0 and later
  6443. */
  6444. EXTERN_API( OSErr )
  6445. FSGetResourceForkName(HFSUniStr255 * resourceForkName) THREEWORDINLINE(0x303C, 0x0219, 0xAA52);
  6446. /*
  6447. * FSRefMakePath()
  6448. *
  6449. * Summary:
  6450. * converts an FSRef to a POSIX path
  6451. *
  6452. * Parameters:
  6453. *
  6454. * ref:
  6455. * the file/dir to get the POSIX path for
  6456. *
  6457. * path:
  6458. * a pointer to a buffer which FSRefMakePath will fill with a UTF8
  6459. * encoded C string representing the path the the specified FSRef
  6460. *
  6461. * maxPathSize:
  6462. * the maximum size path length in bytes that path can hold
  6463. *
  6464. * Availability:
  6465. * Non-Carbon CFM: not available
  6466. * CarbonLib: in CarbonLib 1.1 and later
  6467. * Mac OS X: in version 10.0 and later
  6468. */
  6469. EXTERN_API( OSStatus )
  6470. FSRefMakePath(
  6471. const FSRef * ref,
  6472. UInt8 * path,
  6473. UInt32 maxPathSize);
  6474. /*
  6475. * FSPathMakeRef()
  6476. *
  6477. * Summary:
  6478. * converts a POSIX path to an FSRef
  6479. *
  6480. * Parameters:
  6481. *
  6482. * path:
  6483. * a pointer to a UTF8 encoded C String that is a POSIX path
  6484. *
  6485. * ref:
  6486. * a pointer to an FSRef to fill in
  6487. *
  6488. * isDirectory:
  6489. * an optional pointer to a Boolean that will be filled in with
  6490. * whether the specified path is a directory (vs. a file)
  6491. *
  6492. * Availability:
  6493. * Non-Carbon CFM: not available
  6494. * CarbonLib: in CarbonLib 1.1 and later
  6495. * Mac OS X: in version 10.0 and later
  6496. */
  6497. EXTERN_API( OSStatus )
  6498. FSPathMakeRef(
  6499. const UInt8 * path,
  6500. FSRef * ref,
  6501. Boolean * isDirectory); /* can be NULL */
  6502. /*
  6503. * FNMessage
  6504. *
  6505. * Discussion:
  6506. * Messages broadcast about a directory. If system clients (such as
  6507. * the Finder) are interested in changes to a directory, they will
  6508. * receive notifications when application code broadcasts change
  6509. * messages about that directory.
  6510. */
  6511. typedef UInt32 FNMessage;
  6512. enum {
  6513. kFNDirectoryModifiedMessage = 1
  6514. };
  6515. /*
  6516. * FNNotify()
  6517. *
  6518. * Summary:
  6519. * Broadcasts notification of changes to the specified directory.
  6520. *
  6521. * Discussion:
  6522. * FNNotify is used to notify system clients (such as the Finder) of
  6523. * modifications to the contents of a directory, specifically
  6524. * addition or removal of files or folders from the directory. The
  6525. * Finder and other system clients will refresh their views of the
  6526. * specified directory when they receive the change notification.
  6527. * FNNotify is not meant to notify the Finder of changes to a
  6528. * specific file (for example, changes to a file's type or creator);
  6529. * for that purpose, use a kAESync AppleEvent sent to the Finder.
  6530. *
  6531. * Parameters:
  6532. *
  6533. * ref:
  6534. * The directory for which to broadcast the notification
  6535. *
  6536. * message:
  6537. * An indication of what happened to the target directory
  6538. *
  6539. * flags:
  6540. * Options about delivery of the notification (specify kNilOptions
  6541. * for default behaviour)
  6542. *
  6543. * Availability:
  6544. * Non-Carbon CFM: not available
  6545. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  6546. * Mac OS X: in version 10.0 and later
  6547. */
  6548. EXTERN_API_C( OSStatus )
  6549. FNNotify(
  6550. const FSRef * ref,
  6551. FNMessage message,
  6552. OptionBits flags);
  6553. /*
  6554. * FNNotifyByPath()
  6555. *
  6556. * Summary:
  6557. * Broadcasts notification of changes to the specified directory.
  6558. *
  6559. * Parameters:
  6560. *
  6561. * path:
  6562. * Path to the directory for which to broadcast the notification
  6563. *
  6564. * message:
  6565. * An indication of what happened to the target directory
  6566. *
  6567. * flags:
  6568. * Options about delivery of the notification (specify kNilOptions
  6569. * for default behaviour)
  6570. *
  6571. * Availability:
  6572. * Non-Carbon CFM: not available
  6573. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  6574. * Mac OS X: in version 10.0 and later
  6575. */
  6576. EXTERN_API_C( OSStatus )
  6577. FNNotifyByPath(
  6578. const UInt8 * path,
  6579. FNMessage message,
  6580. OptionBits flags);
  6581. /*
  6582. * FNNotifyAll()
  6583. *
  6584. * Discussion:
  6585. * Broadcasts notification of changes to the filesystem (should only
  6586. * be used by installers or programs which make lots of changes and
  6587. * only send one broadcast).
  6588. *
  6589. * Parameters:
  6590. *
  6591. * message:
  6592. * An indication of what happened
  6593. *
  6594. * flags:
  6595. * Options about delivery of the notification (specify kNilOptions
  6596. * for default behaviour)
  6597. *
  6598. * Availability:
  6599. * Non-Carbon CFM: not available
  6600. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  6601. * Mac OS X: in version 10.0 and later
  6602. */
  6603. EXTERN_API_C( OSStatus )
  6604. FNNotifyAll(
  6605. FNMessage message,
  6606. OptionBits flags);
  6607. /*
  6608. * FNSubscriptionRef
  6609. *
  6610. * Discussion:
  6611. * A token associated with a notification subscription. The
  6612. * subscriber gets one back when they subscribe to notifications for
  6613. * a particular directory, and they supply it when the unsubscribe.
  6614. * It is also delivered along with the notifications for that
  6615. * subscription.
  6616. */
  6617. typedef struct OpaqueFNSubscriptionRef* FNSubscriptionRef;
  6618. /*
  6619. * Discussion:
  6620. * Options that can be specified at subscription time.
  6621. */
  6622. enum {
  6623. /*
  6624. * Specify this option if you do not want to receive notifications on
  6625. * this subscription when FNNotifyAll is called; by default any
  6626. * subscription is also implicitly a subscription to wildcard
  6627. * notifications
  6628. */
  6629. kFNNoImplicitAllSubscription = (1 << 0)
  6630. };
  6631. /*
  6632. * FNSubscriptionProcPtr
  6633. *
  6634. * Discussion:
  6635. * Callback delivered for directory notifications.
  6636. *
  6637. * Parameters:
  6638. *
  6639. * message:
  6640. * An indication of what happened
  6641. *
  6642. * flags:
  6643. * Options about delivery of the notification (typically
  6644. * kNilOptions)
  6645. *
  6646. * refcon:
  6647. * User reference supplied with subscription
  6648. *
  6649. * subscription:
  6650. * Subscription corresponding to this notification
  6651. */
  6652. typedef CALLBACK_API_C( void , FNSubscriptionProcPtr )(FNMessage message, OptionBits flags, void *refcon, FNSubscriptionRef subscription);
  6653. typedef TVECTOR_UPP_TYPE(FNSubscriptionProcPtr) FNSubscriptionUPP;
  6654. /*
  6655. * NewFNSubscriptionUPP()
  6656. *
  6657. * Availability:
  6658. * Non-Carbon CFM: available as macro/inline
  6659. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  6660. * Mac OS X: in version 10.0 and later
  6661. */
  6662. EXTERN_API_C( FNSubscriptionUPP )
  6663. NewFNSubscriptionUPP(FNSubscriptionProcPtr userRoutine);
  6664. #if !OPAQUE_UPP_TYPES
  6665. enum { uppFNSubscriptionProcInfo = 0x00003FC1 }; /* no_return_value Func(4_bytes, 4_bytes, 4_bytes, 4_bytes) */
  6666. #ifdef __cplusplus
  6667. inline DEFINE_API_C(FNSubscriptionUPP) NewFNSubscriptionUPP(FNSubscriptionProcPtr userRoutine) { return userRoutine; }
  6668. #else
  6669. #define NewFNSubscriptionUPP(userRoutine) (userRoutine)
  6670. #endif
  6671. #endif
  6672. /*
  6673. * DisposeFNSubscriptionUPP()
  6674. *
  6675. * Availability:
  6676. * Non-Carbon CFM: available as macro/inline
  6677. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  6678. * Mac OS X: in version 10.0 and later
  6679. */
  6680. EXTERN_API_C( void )
  6681. DisposeFNSubscriptionUPP(FNSubscriptionUPP userUPP);
  6682. #if !OPAQUE_UPP_TYPES
  6683. #ifdef __cplusplus
  6684. inline DEFINE_API_C(void) DisposeFNSubscriptionUPP(FNSubscriptionUPP) {}
  6685. #else
  6686. #define DisposeFNSubscriptionUPP(userUPP)
  6687. #endif
  6688. #endif
  6689. /*
  6690. * InvokeFNSubscriptionUPP()
  6691. *
  6692. * Availability:
  6693. * Non-Carbon CFM: available as macro/inline
  6694. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later
  6695. * Mac OS X: in version 10.0 and later
  6696. */
  6697. EXTERN_API_C( void )
  6698. InvokeFNSubscriptionUPP(
  6699. FNMessage message,
  6700. OptionBits flags,
  6701. void * refcon,
  6702. FNSubscriptionRef subscription,
  6703. FNSubscriptionUPP userUPP);
  6704. #if !OPAQUE_UPP_TYPES
  6705. #ifdef __cplusplus
  6706. inline DEFINE_API_C(void) InvokeFNSubscriptionUPP(FNMessage message, OptionBits flags, void * refcon, FNSubscriptionRef subscription, FNSubscriptionUPP userUPP) { (*userUPP)(message, flags, refcon, subscription); }
  6707. #else
  6708. #define InvokeFNSubscriptionUPP(message, flags, refcon, subscription, userUPP) (*userUPP)(message, flags, refcon, subscription)
  6709. #endif
  6710. #endif
  6711. /*
  6712. * FNSubscribe()
  6713. *
  6714. * Summary:
  6715. * Subscribe to change notifications for the specified directory.
  6716. *
  6717. * Parameters:
  6718. *
  6719. * directoryRef:
  6720. * Directory for which the caller wants notifications
  6721. *
  6722. * callback:
  6723. * Function to call back when a notification arrives
  6724. *
  6725. * refcon:
  6726. * User state carried with the subscription
  6727. *
  6728. * flags:
  6729. * Options for future use (specify kNilOptions, or one of the
  6730. * FNSubscriptionOptions)
  6731. *
  6732. * subscription:
  6733. * Subscription token for subsequent query or unsubscription
  6734. *
  6735. * Availability:
  6736. * Non-Carbon CFM: not available
  6737. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  6738. * Mac OS X: in version 10.1 and later
  6739. */
  6740. EXTERN_API_C( OSStatus )
  6741. FNSubscribe(
  6742. const FSRef * directoryRef,
  6743. FNSubscriptionUPP callback,
  6744. void * refcon,
  6745. OptionBits flags,
  6746. FNSubscriptionRef * subscription);
  6747. /*
  6748. * FNSubscribeByPath()
  6749. *
  6750. * Summary:
  6751. * Subscribe to change notifications for the specified directory.
  6752. *
  6753. * Parameters:
  6754. *
  6755. * directoryPath:
  6756. * Directory for which the caller wants notifications
  6757. *
  6758. * callback:
  6759. * Function to call back when a notification arrives
  6760. *
  6761. * refcon:
  6762. * User state carried with the subscription
  6763. *
  6764. * flags:
  6765. * Options for future use (specify kNilOptions, or one of the
  6766. * FNSubscriptionOptions)
  6767. *
  6768. * subscription:
  6769. * Subscription token for subsequent query or unsubscription
  6770. *
  6771. * Availability:
  6772. * Non-Carbon CFM: not available
  6773. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  6774. * Mac OS X: in version 10.1 and later
  6775. */
  6776. EXTERN_API_C( OSStatus )
  6777. FNSubscribeByPath(
  6778. const UInt8 * directoryPath,
  6779. FNSubscriptionUPP callback,
  6780. void * refcon,
  6781. OptionBits flags,
  6782. FNSubscriptionRef * subscription);
  6783. /*
  6784. * FNUnsubscribe()
  6785. *
  6786. * Summary:
  6787. * Release a subscription which is no longer needed.
  6788. *
  6789. * Parameters:
  6790. *
  6791. * subscription:
  6792. * Subscription previously returned from FNSubscribe or
  6793. * FNSubscribeForPath
  6794. *
  6795. * Availability:
  6796. * Non-Carbon CFM: not available
  6797. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  6798. * Mac OS X: in version 10.1 and later
  6799. */
  6800. EXTERN_API_C( OSStatus )
  6801. FNUnsubscribe(FNSubscriptionRef subscription);
  6802. /*
  6803. * FNGetDirectoryForSubscription()
  6804. *
  6805. * Summary:
  6806. * Fetch the directory for which this subscription was originally
  6807. * entered. There is no path variant because paths are fragile, and
  6808. * the path may have changed. If the caller does not care about
  6809. * this subtlety, she can call FSRefMakePath to get a path from the
  6810. * returned ref.
  6811. *
  6812. * Parameters:
  6813. *
  6814. * subscription:
  6815. * Subscription previously returned from FNSubscribe or
  6816. * FNSubscribeForPath
  6817. *
  6818. * ref:
  6819. * Directory for which this subscription was created
  6820. *
  6821. * Availability:
  6822. * Non-Carbon CFM: not available
  6823. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.1 and later
  6824. * Mac OS X: in version 10.1 and later
  6825. */
  6826. EXTERN_API_C( OSStatus )
  6827. FNGetDirectoryForSubscription(
  6828. FNSubscriptionRef subscription,
  6829. FSRef * ref);
  6830. /* Async Volume Operation Status return values*/
  6831. enum {
  6832. kAsyncMountInProgress = 1,
  6833. kAsyncMountComplete = 2,
  6834. kAsyncUnmountInProgress = 3,
  6835. kAsyncUnmountComplete = 4,
  6836. kAsyncEjectInProgress = 5,
  6837. kAsyncEjectComplete = 6
  6838. };
  6839. typedef UInt32 FSMountStatus;
  6840. typedef UInt32 FSEjectStatus;
  6841. typedef UInt32 FSUnmountStatus;
  6842. typedef struct OpaqueFSVolumeOperation* FSVolumeOperation;
  6843. /*
  6844. * FSEjectVolumeSync()
  6845. *
  6846. * Discussion:
  6847. * This routine ejects the volume specified by vRefNum. If the
  6848. * volume cannot be ejected the pid of the process which denied the
  6849. * unmount will be returned in the dissenter parameter. This
  6850. * routine returns after the eject is complete. Ejecting a volume
  6851. * will result in the unmounting of other volumes on the same device.
  6852. *
  6853. * Parameters:
  6854. *
  6855. * vRefNum:
  6856. * The volume reference number of the volume to eject.
  6857. *
  6858. * flags:
  6859. * Options for future use.
  6860. *
  6861. * dissenter:
  6862. * pid of the process which denied the unmount if the eject is
  6863. * denied.
  6864. *
  6865. * Availability:
  6866. * Non-Carbon CFM: not available
  6867. * CarbonLib: not available in CarbonLib 1.x
  6868. * Mac OS X: in version 10.2 and later
  6869. */
  6870. EXTERN_API_C( OSStatus )
  6871. FSEjectVolumeSync(
  6872. FSVolumeRefNum vRefNum,
  6873. OptionBits flags,
  6874. pid_t * dissenter); /* can be NULL */
  6875. /*
  6876. * FSGetAsyncEjectStatus()
  6877. *
  6878. * Discussion:
  6879. * This routine returns the current status of an asynchronous eject
  6880. * operation. A return value of noErr signifies that the status
  6881. * parameter has been filled with valid information.
  6882. *
  6883. * Parameters:
  6884. *
  6885. * volumeOp:
  6886. * The async volume operation to get status about.
  6887. *
  6888. * status:
  6889. * The status of the operation.
  6890. *
  6891. * volumeOpStatus:
  6892. * If status is kAsyncEjectComplete then this contains the
  6893. * OSStatus for the operation.
  6894. *
  6895. * volumeRefNum:
  6896. * volume reference number of volume being ejected.
  6897. *
  6898. * dissenter:
  6899. * pid of the process which denied the unmount if the eject is
  6900. * denied.
  6901. *
  6902. * clientData:
  6903. * client data associated with the original
  6904. * FSMountServerVolumeAsync operation.
  6905. *
  6906. * Availability:
  6907. * Non-Carbon CFM: not available
  6908. * CarbonLib: not available in CarbonLib 1.x
  6909. * Mac OS X: in version 10.2 and later
  6910. */
  6911. EXTERN_API_C( OSStatus )
  6912. FSGetAsyncEjectStatus(
  6913. FSVolumeOperation volumeOp,
  6914. FSEjectStatus * status,
  6915. OSStatus * volumeOpStatus, /* can be NULL */
  6916. FSVolumeRefNum * volumeRefNum, /* can be NULL */
  6917. pid_t * dissenter, /* can be NULL */
  6918. void ** clientData); /* can be NULL */
  6919. /*
  6920. * FSCopyDiskIDForVolume()
  6921. *
  6922. * Discussion:
  6923. * This routine returns a copy of the diskID for the passed in
  6924. * volume. The caller is responsible for releasing the CFString
  6925. * later.
  6926. *
  6927. * Parameters:
  6928. *
  6929. * vRefNum:
  6930. * FSVolumeRefNum of the target volume.
  6931. *
  6932. * diskID:
  6933. * The diskID string associated with the target volume.
  6934. *
  6935. * Availability:
  6936. * Non-Carbon CFM: not available
  6937. * CarbonLib: not available in CarbonLib 1.x
  6938. * Mac OS X: in version 10.2 and later
  6939. */
  6940. EXTERN_API_C( OSStatus )
  6941. FSCopyDiskIDForVolume(
  6942. FSVolumeRefNum vRefNum,
  6943. CFStringRef * diskID);
  6944. #if PRAGMA_STRUCT_ALIGN
  6945. #pragma options align=reset
  6946. #elif PRAGMA_STRUCT_PACKPUSH
  6947. #pragma pack(pop)
  6948. #elif PRAGMA_STRUCT_PACK
  6949. #pragma pack()
  6950. #endif
  6951. #ifdef PRAGMA_IMPORT_OFF
  6952. #pragma import off
  6953. #elif PRAGMA_IMPORT
  6954. #pragma import reset
  6955. #endif
  6956. #ifdef __cplusplus
  6957. }
  6958. #endif
  6959. #endif /* __FILES__ */