Aliases.pas 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206
  1. {
  2. File: CarbonCore/Aliases.h
  3. Contains: Alias Manager Interfaces.
  4. The contents of this header file are deprecated.
  5. Use Foundation or CoreFoundation URL Bookmarks instead.
  6. Copyright: © 1989-2011 by Apple Inc. All rights reserved.
  7. }
  8. { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2009 }
  9. { Pascal Translation Updated: Jonas Maebe, <[email protected]>, September 2012 }
  10. {
  11. Modified for use with Free Pascal
  12. Version 308
  13. Please report any bugs to <[email protected]>
  14. }
  15. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  16. {$mode macpas}
  17. {$packenum 1}
  18. {$macro on}
  19. {$inline on}
  20. {$calling mwpascal}
  21. unit Aliases;
  22. interface
  23. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  24. {$setc GAP_INTERFACES_VERSION := $0308}
  25. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  26. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  27. {$endc}
  28. {$ifc defined CPUPOWERPC and defined CPUI386}
  29. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  30. {$endc}
  31. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  32. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  33. {$endc}
  34. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  35. {$setc __ppc__ := 1}
  36. {$elsec}
  37. {$setc __ppc__ := 0}
  38. {$endc}
  39. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  40. {$setc __ppc64__ := 1}
  41. {$elsec}
  42. {$setc __ppc64__ := 0}
  43. {$endc}
  44. {$ifc not defined __i386__ and defined CPUI386}
  45. {$setc __i386__ := 1}
  46. {$elsec}
  47. {$setc __i386__ := 0}
  48. {$endc}
  49. {$ifc not defined __x86_64__ and defined CPUX86_64}
  50. {$setc __x86_64__ := 1}
  51. {$elsec}
  52. {$setc __x86_64__ := 0}
  53. {$endc}
  54. {$ifc not defined __arm__ and defined CPUARM}
  55. {$setc __arm__ := 1}
  56. {$elsec}
  57. {$setc __arm__ := 0}
  58. {$endc}
  59. {$ifc not defined __arm64__ and defined CPUAARCH64}
  60. {$setc __arm64__ := 1}
  61. {$elsec}
  62. {$setc __arm64__ := 0}
  63. {$endc}
  64. {$ifc defined cpu64}
  65. {$setc __LP64__ := 1}
  66. {$elsec}
  67. {$setc __LP64__ := 0}
  68. {$endc}
  69. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  70. {$error Conflicting definitions for __ppc__ and __i386__}
  71. {$endc}
  72. {$ifc defined __ppc__ and __ppc__}
  73. {$setc TARGET_CPU_PPC := TRUE}
  74. {$setc TARGET_CPU_PPC64 := FALSE}
  75. {$setc TARGET_CPU_X86 := FALSE}
  76. {$setc TARGET_CPU_X86_64 := FALSE}
  77. {$setc TARGET_CPU_ARM := FALSE}
  78. {$setc TARGET_CPU_ARM64 := FALSE}
  79. {$setc TARGET_OS_MAC := TRUE}
  80. {$setc TARGET_OS_IPHONE := FALSE}
  81. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  82. {$setc TARGET_OS_EMBEDDED := FALSE}
  83. {$elifc defined __ppc64__ and __ppc64__}
  84. {$setc TARGET_CPU_PPC := FALSE}
  85. {$setc TARGET_CPU_PPC64 := TRUE}
  86. {$setc TARGET_CPU_X86 := FALSE}
  87. {$setc TARGET_CPU_X86_64 := FALSE}
  88. {$setc TARGET_CPU_ARM := FALSE}
  89. {$setc TARGET_CPU_ARM64 := FALSE}
  90. {$setc TARGET_OS_MAC := TRUE}
  91. {$setc TARGET_OS_IPHONE := FALSE}
  92. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  93. {$setc TARGET_OS_EMBEDDED := FALSE}
  94. {$elifc defined __i386__ and __i386__}
  95. {$setc TARGET_CPU_PPC := FALSE}
  96. {$setc TARGET_CPU_PPC64 := FALSE}
  97. {$setc TARGET_CPU_X86 := TRUE}
  98. {$setc TARGET_CPU_X86_64 := FALSE}
  99. {$setc TARGET_CPU_ARM := FALSE}
  100. {$setc TARGET_CPU_ARM64 := FALSE}
  101. {$ifc defined(iphonesim)}
  102. {$setc TARGET_OS_MAC := FALSE}
  103. {$setc TARGET_OS_IPHONE := TRUE}
  104. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  105. {$elsec}
  106. {$setc TARGET_OS_MAC := TRUE}
  107. {$setc TARGET_OS_IPHONE := FALSE}
  108. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  109. {$endc}
  110. {$setc TARGET_OS_EMBEDDED := FALSE}
  111. {$elifc defined __x86_64__ and __x86_64__}
  112. {$setc TARGET_CPU_PPC := FALSE}
  113. {$setc TARGET_CPU_PPC64 := FALSE}
  114. {$setc TARGET_CPU_X86 := FALSE}
  115. {$setc TARGET_CPU_X86_64 := TRUE}
  116. {$setc TARGET_CPU_ARM := FALSE}
  117. {$setc TARGET_CPU_ARM64 := FALSE}
  118. {$ifc defined(iphonesim)}
  119. {$setc TARGET_OS_MAC := FALSE}
  120. {$setc TARGET_OS_IPHONE := TRUE}
  121. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  122. {$elsec}
  123. {$setc TARGET_OS_MAC := TRUE}
  124. {$setc TARGET_OS_IPHONE := FALSE}
  125. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  126. {$endc}
  127. {$setc TARGET_OS_EMBEDDED := FALSE}
  128. {$elifc defined __arm__ and __arm__}
  129. {$setc TARGET_CPU_PPC := FALSE}
  130. {$setc TARGET_CPU_PPC64 := FALSE}
  131. {$setc TARGET_CPU_X86 := FALSE}
  132. {$setc TARGET_CPU_X86_64 := FALSE}
  133. {$setc TARGET_CPU_ARM := TRUE}
  134. {$setc TARGET_CPU_ARM64 := FALSE}
  135. { will require compiler define when/if other Apple devices with ARM cpus ship }
  136. {$setc TARGET_OS_MAC := FALSE}
  137. {$setc TARGET_OS_IPHONE := TRUE}
  138. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  139. {$setc TARGET_OS_EMBEDDED := TRUE}
  140. {$elifc defined __arm64__ and __arm64__}
  141. {$setc TARGET_CPU_PPC := FALSE}
  142. {$setc TARGET_CPU_PPC64 := FALSE}
  143. {$setc TARGET_CPU_X86 := FALSE}
  144. {$setc TARGET_CPU_X86_64 := FALSE}
  145. {$setc TARGET_CPU_ARM := FALSE}
  146. {$setc TARGET_CPU_ARM64 := TRUE}
  147. { will require compiler define when/if other Apple devices with ARM cpus ship }
  148. {$setc TARGET_OS_MAC := FALSE}
  149. {$setc TARGET_OS_IPHONE := TRUE}
  150. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  151. {$setc TARGET_OS_EMBEDDED := TRUE}
  152. {$elsec}
  153. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
  154. {$endc}
  155. {$ifc defined __LP64__ and __LP64__ }
  156. {$setc TARGET_CPU_64 := TRUE}
  157. {$elsec}
  158. {$setc TARGET_CPU_64 := FALSE}
  159. {$endc}
  160. {$ifc defined FPC_BIG_ENDIAN}
  161. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  162. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  163. {$elifc defined FPC_LITTLE_ENDIAN}
  164. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  165. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  166. {$elsec}
  167. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  168. {$endc}
  169. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  170. {$setc CALL_NOT_IN_CARBON := FALSE}
  171. {$setc OLDROUTINENAMES := FALSE}
  172. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  173. {$setc OPAQUE_UPP_TYPES := TRUE}
  174. {$setc OTCARBONAPPLICATION := TRUE}
  175. {$setc OTKERNEL := FALSE}
  176. {$setc PM_USE_SESSION_APIS := TRUE}
  177. {$setc TARGET_API_MAC_CARBON := TRUE}
  178. {$setc TARGET_API_MAC_OS8 := FALSE}
  179. {$setc TARGET_API_MAC_OSX := TRUE}
  180. {$setc TARGET_CARBON := TRUE}
  181. {$setc TARGET_CPU_68K := FALSE}
  182. {$setc TARGET_CPU_MIPS := FALSE}
  183. {$setc TARGET_CPU_SPARC := FALSE}
  184. {$setc TARGET_OS_UNIX := FALSE}
  185. {$setc TARGET_OS_WIN32 := FALSE}
  186. {$setc TARGET_RT_MAC_68881 := FALSE}
  187. {$setc TARGET_RT_MAC_CFM := FALSE}
  188. {$setc TARGET_RT_MAC_MACHO := TRUE}
  189. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  190. {$setc TYPE_BOOL := FALSE}
  191. {$setc TYPE_EXTENDED := FALSE}
  192. {$setc TYPE_LONGLONG := TRUE}
  193. uses MacTypes,Files,UTCUtils,CFBase;
  194. {$endc} {not MACOSALLINCLUDE}
  195. {$ifc TARGET_OS_MAC}
  196. {$ALIGN MAC68K}
  197. type
  198. FSAliasInfoBitmap = UInt32;
  199. FSAliasInfoBitmapPtr = ^FSAliasInfoBitmap;
  200. const
  201. kFSAliasInfoNone = $00000000; { no valid info}
  202. kFSAliasInfoVolumeCreateDate = $00000001; { volume creation date is valid}
  203. kFSAliasInfoTargetCreateDate = $00000002; { target creation date is valid}
  204. kFSAliasInfoFinderInfo = $00000004; { file type and creator are valid}
  205. kFSAliasInfoIsDirectory = $00000008; { isDirectory boolean is valid}
  206. kFSAliasInfoIDs = $00000010; { parentDirID and nodeID are valid}
  207. kFSAliasInfoFSInfo = $00000020; { filesystemID and signature are valid}
  208. kFSAliasInfoVolumeFlags = $00000040; { volumeIsBootVolume, volumeIsAutomounted, volumeIsEjectable and volumeHasPersistentFileIDs are valid}
  209. const
  210. rAliasType = FourCharCode('alis'); { Aliases are stored as resources of this type }
  211. const
  212. { define alias resolution action rules mask }
  213. kARMMountVol = $00000001; { mount the volume automatically }
  214. kARMNoUI = $00000002; { no user interface allowed during resolution }
  215. kARMMultVols = $00000008; { search on multiple volumes }
  216. kARMSearch = $00000100; { search quickly }
  217. kARMSearchMore = $00000200; { search further }
  218. kARMSearchRelFirst = $00000400; { search target on a relative path first }
  219. kARMTryFileIDFirst = $00000800; { search by file id before path }
  220. const
  221. { define alias record information types }
  222. asiZoneName = -3; { get zone name }
  223. asiServerName = -2; { get server name }
  224. asiVolumeName = -1; { get volume name }
  225. asiAliasName = 0; { get aliased file/folder/volume name }
  226. asiParentName = 1; { get parent folder name }
  227. { ResolveAliasFileWithMountFlags options }
  228. const
  229. kResolveAliasFileNoUI = $00000001; { no user interaction during resolution }
  230. kResolveAliasTryFileIDFirst = $00000002; { search by file id before path }
  231. { define the alias record that will be the blackbox for the caller }
  232. type
  233. AliasRecordPtr = ^AliasRecord;
  234. { Opaque as of Mac OS X 10.4 ... }
  235. AliasRecord = record
  236. userType: OSType; { appl stored type like creator type }
  237. aliasSize: UInt16; { alias record size in bytes, for appl usage }
  238. end;
  239. type
  240. AliasPtr = AliasRecordPtr;
  241. AliasHandle = ^AliasPtr;
  242. { info block to pass to FSCopyAliasInfo }
  243. type
  244. FSAliasInfo = record
  245. volumeCreateDate: UTCDateTime;
  246. targetCreateDate: UTCDateTime;
  247. fileType: OSType;
  248. fileCreator: OSType;
  249. parentDirID: UInt32;
  250. nodeID: UInt32;
  251. filesystemID: UInt16;
  252. signature: UInt16;
  253. volumeIsBootVolume: Boolean;
  254. volumeIsAutomounted: Boolean;
  255. volumeIsEjectable: Boolean;
  256. volumeHasPersistentFileIDs: Boolean;
  257. isDirectory: Boolean;
  258. end;
  259. FSAliasInfoPtr = ^FSAliasInfo;
  260. { alias record information type }
  261. type
  262. AliasInfoType = SInt16;
  263. {$ifc not TARGET_CPU_64}
  264. type
  265. AliasFilterProcPtr = function( cpbPtr: CInfoPBPtr; var quitFlag: Boolean; myDataPtr: Ptr ): Boolean;
  266. AliasFilterUPP = AliasFilterProcPtr;
  267. {
  268. * NewAliasFilterUPP()
  269. *
  270. * Availability:
  271. * Mac OS X: in version 10.0 and later in CoreServices.framework
  272. * CarbonLib: in CarbonLib 1.0 and later
  273. * Non-Carbon CFM: available as macro/inline
  274. }
  275. { old name was NewAliasFilterProc }
  276. function NewAliasFilterUPP( userRoutine: AliasFilterProcPtr ): AliasFilterUPP; external name '_NewAliasFilterUPP';
  277. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  278. {
  279. * DisposeAliasFilterUPP()
  280. *
  281. * Availability:
  282. * Mac OS X: in version 10.0 and later in CoreServices.framework
  283. * CarbonLib: in CarbonLib 1.0 and later
  284. * Non-Carbon CFM: available as macro/inline
  285. }
  286. procedure DisposeAliasFilterUPP( userUPP: AliasFilterUPP ); external name '_DisposeAliasFilterUPP';
  287. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  288. {
  289. * InvokeAliasFilterUPP()
  290. *
  291. * Availability:
  292. * Mac OS X: in version 10.0 and later in CoreServices.framework
  293. * CarbonLib: in CarbonLib 1.0 and later
  294. * Non-Carbon CFM: available as macro/inline
  295. }
  296. function InvokeAliasFilterUPP( cpbPtr: CInfoPBPtr; var quitFlag: Boolean; myDataPtr: Ptr; userUPP: AliasFilterUPP ): Boolean; external name '_InvokeAliasFilterUPP';
  297. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  298. {#if __MACH__
  299. #define NewAliasFilterUPP(userRoutine) ((AliasFilterUPP)userRoutine)
  300. #define DisposeAliasFilterUPP(userUPP)
  301. #define InvokeAliasFilterUPP(cpbPtr, quitFlag, myDataPtr, userUPP) (*userUPP)(cpbPtr, quitFlag, myDataPtr)
  302. #endif}
  303. {$endc} {not TARGET_CPU_64}
  304. type
  305. FSAliasFilterProcPtr = function( const (*var*) ref: FSRef; var quitFlag: Boolean; myDataPtr: Ptr ): Boolean;
  306. FSAliasFilterUPP = FSAliasFilterProcPtr;
  307. {
  308. * FSNewAlias()
  309. *
  310. * Mac OS X threading:
  311. * Thread safe since version 10.3
  312. *
  313. * Availability:
  314. * Mac OS X: in version 10.0 and later in CoreServices.framework
  315. * CarbonLib: in CarbonLib 1.1 and later
  316. * Non-Carbon CFM: in InterfaceLib 9.1 and later
  317. }
  318. function FSNewAlias( {const} fromFile: FSRefPtr { can be NULL }; const (*var*) target: FSRef; var inAlias: AliasHandle ): OSErr; external name '_FSNewAlias';
  319. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  320. {
  321. * FSNewAliasMinimal()
  322. *
  323. * Mac OS X threading:
  324. * Thread safe since version 10.3
  325. *
  326. * Availability:
  327. * Mac OS X: in version 10.0 and later in CoreServices.framework
  328. * CarbonLib: in CarbonLib 1.1 and later
  329. * Non-Carbon CFM: in InterfaceLib 9.1 and later
  330. }
  331. function FSNewAliasMinimal( const (*var*) target: FSRef; var inAlias: AliasHandle ): OSErr; external name '_FSNewAliasMinimal';
  332. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  333. {
  334. * FSIsAliasFile()
  335. *
  336. * Mac OS X threading:
  337. * Thread safe since version 10.3
  338. *
  339. * Availability:
  340. * Mac OS X: in version 10.0 and later in CoreServices.framework
  341. * CarbonLib: in CarbonLib 1.1 and later
  342. * Non-Carbon CFM: in InterfaceLib 9.1 and later
  343. }
  344. function FSIsAliasFile( const (*var*) fileRef: FSRef; var aliasFileFlag: Boolean; var folderFlag: Boolean ): OSErr; external name '_FSIsAliasFile';
  345. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  346. {
  347. * FSResolveAliasWithMountFlags()
  348. *
  349. * Mac OS X threading:
  350. * Thread safe since version 10.3
  351. *
  352. * Availability:
  353. * Mac OS X: in version 10.0 and later in CoreServices.framework
  354. * CarbonLib: in CarbonLib 1.1 and later
  355. * Non-Carbon CFM: in InterfaceLib 9.1 and later
  356. }
  357. function FSResolveAliasWithMountFlags( {const} fromFile: FSRefPtr { can be NULL }; inAlias: AliasHandle; var target: FSRef; var wasChanged: Boolean; mountFlags: UNSIGNEDLONG ): OSErr; external name '_FSResolveAliasWithMountFlags';
  358. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  359. {
  360. * FSResolveAlias()
  361. *
  362. * Mac OS X threading:
  363. * Thread safe since version 10.3
  364. *
  365. * Availability:
  366. * Mac OS X: in version 10.0 and later in CoreServices.framework
  367. * CarbonLib: in CarbonLib 1.1 and later
  368. * Non-Carbon CFM: in InterfaceLib 9.1 and later
  369. }
  370. function FSResolveAlias( {const} fromFile: FSRefPtr { can be NULL }; alias: AliasHandle; var target: FSRef; var wasChanged: Boolean ): OSErr; external name '_FSResolveAlias';
  371. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  372. {
  373. * FSResolveAliasFileWithMountFlags()
  374. *
  375. * Mac OS X threading:
  376. * Thread safe since version 10.3
  377. *
  378. * Availability:
  379. * Mac OS X: in version 10.0 and later in CoreServices.framework
  380. * CarbonLib: in CarbonLib 1.1 and later
  381. * Non-Carbon CFM: in InterfaceLib 9.1 and later
  382. }
  383. function FSResolveAliasFileWithMountFlags( var theRef: FSRef; resolveAliasChains: Boolean; var targetIsFolder: Boolean; var wasAliased: Boolean; mountFlags: UNSIGNEDLONG ): OSErr; external name '_FSResolveAliasFileWithMountFlags';
  384. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  385. {
  386. * FSResolveAliasFile()
  387. *
  388. * Mac OS X threading:
  389. * Thread safe since version 10.3
  390. *
  391. * Availability:
  392. * Mac OS X: in version 10.0 and later in CoreServices.framework
  393. * CarbonLib: in CarbonLib 1.1 and later
  394. * Non-Carbon CFM: in InterfaceLib 9.1 and later
  395. }
  396. function FSResolveAliasFile( var theRef: FSRef; resolveAliasChains: Boolean; var targetIsFolder: Boolean; var wasAliased: Boolean ): OSErr; external name '_FSResolveAliasFile';
  397. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  398. {
  399. * FSFollowFinderAlias()
  400. *
  401. * Mac OS X threading:
  402. * Thread safe since version 10.3
  403. *
  404. * Availability:
  405. * Mac OS X: in version 10.0 and later in CoreServices.framework
  406. * CarbonLib: in CarbonLib 1.1 and later
  407. * Non-Carbon CFM: in InterfaceLib 9.1 and later
  408. }
  409. function FSFollowFinderAlias( fromFile: FSRefPtr { can be NULL }; alias: AliasHandle; logon: Boolean; var target: FSRef; var wasChanged: Boolean ): OSErr; external name '_FSFollowFinderAlias';
  410. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  411. {
  412. * FSUpdateAlias()
  413. *
  414. * Mac OS X threading:
  415. * Thread safe since version 10.3
  416. *
  417. * Availability:
  418. * Mac OS X: in version 10.0 and later in CoreServices.framework
  419. * CarbonLib: in CarbonLib 1.1 and later
  420. * Non-Carbon CFM: in InterfaceLib 9.1 and later
  421. }
  422. function FSUpdateAlias( {const} fromFile: FSRefPtr { can be NULL }; const (*var*) target: FSRef; alias: AliasHandle; var wasChanged: Boolean ): OSErr; external name '_FSUpdateAlias';
  423. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  424. {
  425. * FSNewAliasUnicode()
  426. *
  427. * Summary:
  428. * Creates an alias given a ref to the target's parent directory and
  429. * the target's unicode name. If the target does not exist fnfErr
  430. * will be returned but the alias will still be created. This
  431. * allows the creation of aliases to targets that do not exist.
  432. *
  433. * Mac OS X threading:
  434. * Thread safe since version 10.3
  435. *
  436. * Parameters:
  437. *
  438. * fromFile:
  439. * The starting point for a relative search.
  440. *
  441. * targetParentRef:
  442. * An FSRef to the parent directory of the target.
  443. *
  444. * targetNameLength:
  445. * Number of Unicode characters in the target's name.
  446. *
  447. * targetName:
  448. * A pointer to the Unicode name.
  449. *
  450. * inAlias:
  451. * A Handle to the newly created alias record.
  452. *
  453. * isDirectory:
  454. * On input, if target does not exist, a flag to indicate whether
  455. * or not the target is a directory. On output, if the target did
  456. * exist, a flag indicating if the target is a directory. Pass
  457. * NULL in the non-existant case if unsure.
  458. *
  459. * Availability:
  460. * Mac OS X: in version 10.2 and later in CoreServices.framework
  461. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  462. * Non-Carbon CFM: not available
  463. }
  464. function FSNewAliasUnicode( {const} fromFile: FSRefPtr { can be NULL }; const (*var*) targetParentRef: FSRef; targetNameLength: UniCharCount; targetName: ConstUniCharPtr; var inAlias: AliasHandle; isDirectory: BooleanPtr { can be NULL } ): OSErr; external name '_FSNewAliasUnicode';
  465. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  466. {
  467. * FSNewAliasMinimalUnicode()
  468. *
  469. * Summary:
  470. * Creates a minimal alias given a ref to the target's parent
  471. * directory and the target's unicode name. If the target does not
  472. * exist fnfErr will be returned but the alias will still be created.
  473. *
  474. * Mac OS X threading:
  475. * Thread safe since version 10.3
  476. *
  477. * Parameters:
  478. *
  479. * targetParentRef:
  480. * An FSRef to the parent directory of the target.
  481. *
  482. * targetNameLength:
  483. * Number of Unicode characters in the target's name.
  484. *
  485. * targetName:
  486. * A pointer to the Unicode name.
  487. *
  488. * inAlias:
  489. * A Handle to the newly created alias record.
  490. *
  491. * isDirectory:
  492. * On input, if target does not exist, a flag to indicate whether
  493. * or not the target is a directory. On output, if the target did
  494. * exist, a flag indicating if the target is a directory. Pass
  495. * NULL in the non-existant case if unsure.
  496. *
  497. * Availability:
  498. * Mac OS X: in version 10.2 and later in CoreServices.framework
  499. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  500. * Non-Carbon CFM: not available
  501. }
  502. function FSNewAliasMinimalUnicode( const (*var*) targetParentRef: FSRef; targetNameLength: UniCharCount; targetName: ConstUniCharPtr; var inAlias: AliasHandle; isDirectory: BooleanPtr { can be NULL } ): OSErr; external name '_FSNewAliasMinimalUnicode';
  503. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  504. {
  505. * FSNewAliasFromPath()
  506. *
  507. * Summary:
  508. * Creates an alias given a POSIX style utf-8 path to the target.
  509. * If the target file does not exist but the path up to the leaf
  510. * does then fnfErr will be returned but the alias will still be
  511. * created.
  512. *
  513. * Mac OS X threading:
  514. * Thread safe since version 10.5
  515. *
  516. * Parameters:
  517. *
  518. * fromFilePath:
  519. * The starting point for a relative search.
  520. *
  521. * targetPath:
  522. * POSIX style UTF-8 path to target.
  523. *
  524. * flags:
  525. * Options for future use. Pass in 0.
  526. *
  527. * inAlias:
  528. * A Handle to the newly created alias record.
  529. *
  530. * isDirectory:
  531. * On input, if target does not exist, a flag to indicate whether
  532. * or not the target is a directory. On output, if the target did
  533. * exist, a flag indicating if the target is a directory. Pass
  534. * NULL in the non-existant case if unsure.
  535. *
  536. * Availability:
  537. * Mac OS X: in version 10.5 and later in CoreServices.framework
  538. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.5 and later
  539. * Non-Carbon CFM: not available
  540. }
  541. function FSNewAliasFromPath( fromFilePath: ConstCStringPtr { can be NULL }; targetPath: ConstCStringPtr; flags: OptionBits; var inAlias: AliasHandle; isDirectory: BooleanPtr { can be NULL } ): OSStatus; external name '_FSNewAliasFromPath';
  542. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  543. {
  544. * FSMatchAliasBulk()
  545. *
  546. * Summary:
  547. * Given an alias handle and fromFile, match the alias and return
  548. * FSRefs to the aliased file(s) and needsUpdate flag
  549. *
  550. * Mac OS X threading:
  551. * Thread safe since version 10.5
  552. *
  553. * Availability:
  554. * Mac OS X: in version 10.5 and later in CoreServices.framework
  555. * CarbonLib: not available
  556. * Non-Carbon CFM: not available
  557. }
  558. function FSMatchAliasBulk( {const} fromFile: FSRefPtr { can be NULL }; rulesMask: UNSIGNEDLONG; inAlias: AliasHandle; var aliasCount: SInt16; var aliasList: FSRef; var needsUpdate: Boolean; aliasFilter: FSAliasFilterProcPtr { can be NULL }; yourDataPtr: UnivPtr { can be NULL } ): OSStatus; external name '_FSMatchAliasBulk';
  559. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_5, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  560. {
  561. * FSCopyAliasInfo()
  562. *
  563. * Discussion:
  564. * This routine will return the requested information from the
  565. * passed in aliasHandle. The information is gathered only from the
  566. * alias record so it may not match what is on disk (no disk i/o is
  567. * performed). The whichInfo paramter is an output parameter that
  568. * signifies which fields in the info record contain valid data.
  569. *
  570. * Mac OS X threading:
  571. * Thread safe since version 10.2
  572. *
  573. * Parameters:
  574. *
  575. * inAlias:
  576. * A handle to the alias record to get the information from.
  577. *
  578. * targetName:
  579. * The name of the target item.
  580. *
  581. * volumeName:
  582. * The name of the volume the target resides on.
  583. *
  584. * pathString:
  585. * POSIX path to target.
  586. *
  587. * whichInfo:
  588. * An indication of which fields in the info block contain valid
  589. * data.
  590. *
  591. * info:
  592. * Returned information about the alias.
  593. *
  594. * Availability:
  595. * Mac OS X: in version 10.2 and later in CoreServices.framework
  596. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  597. * Non-Carbon CFM: not available
  598. }
  599. function FSCopyAliasInfo( inAlias: AliasHandle; targetName: HFSUniStr255Ptr { can be NULL }; volumeName: HFSUniStr255Ptr { can be NULL }; pathString: CFStringRefPtr { can be NULL }; whichInfo: FSAliasInfoBitmapPtr { can be NULL }; info: FSAliasInfoPtr { can be NULL } ): OSStatus; external name '_FSCopyAliasInfo';
  600. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  601. {
  602. * GetAliasSize()
  603. *
  604. * Discussion:
  605. * This routine will return the size of the alias record referenced
  606. * by the AliasHandle alias. This will be smaller than the size
  607. * returned by GetHandleSize if any custom data has been added (IM
  608. * Files 4-13).
  609. *
  610. * Mac OS X threading:
  611. * Thread safe since version 10.4
  612. *
  613. * Parameters:
  614. *
  615. * alias:
  616. * A handle to the alias record to get the information from.
  617. *
  618. * Result:
  619. * The size of the private section of the alias record.
  620. *
  621. * Availability:
  622. * Mac OS X: in version 10.4 and later in CoreServices.framework
  623. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  624. * Non-Carbon CFM: not available
  625. }
  626. function GetAliasSize( alias: AliasHandle ): Size; external name '_GetAliasSize';
  627. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  628. {
  629. * GetAliasUserType()
  630. *
  631. * Discussion:
  632. * This routine will return the usertype associated with the alias
  633. * record referenced by the AliasHandle alias.
  634. *
  635. * Mac OS X threading:
  636. * Thread safe since version 10.4
  637. *
  638. * Parameters:
  639. *
  640. * alias:
  641. * A handle to the alias record to get the userType from.
  642. *
  643. * Result:
  644. * The userType associated with the alias as an OSType
  645. *
  646. * Availability:
  647. * Mac OS X: in version 10.4 and later in CoreServices.framework
  648. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  649. * Non-Carbon CFM: not available
  650. }
  651. function GetAliasUserType( alias: AliasHandle ): OSType; external name '_GetAliasUserType';
  652. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  653. {
  654. * SetAliasUserType()
  655. *
  656. * Discussion:
  657. * This routine will set the userType associated with an alias
  658. * record.
  659. *
  660. * Mac OS X threading:
  661. * Thread safe since version 10.4
  662. *
  663. * Parameters:
  664. *
  665. * alias:
  666. * A handle to the alias record to set the userType for.
  667. *
  668. * userType:
  669. * The OSType to set the userType to.
  670. *
  671. * Availability:
  672. * Mac OS X: in version 10.4 and later in CoreServices.framework
  673. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  674. * Non-Carbon CFM: not available
  675. }
  676. procedure SetAliasUserType( alias: AliasHandle; userType: OSType ); external name '_SetAliasUserType';
  677. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  678. {
  679. * GetAliasSizeFromPtr()
  680. *
  681. * Discussion:
  682. * This routine will return the size of the alias record referenced
  683. * by a pointer to the AliasRecord.
  684. *
  685. * Mac OS X threading:
  686. * Thread safe since version 10.4
  687. *
  688. * Parameters:
  689. *
  690. * alias:
  691. * A pointer to the alias record to get the information from.
  692. *
  693. * Result:
  694. * The size of the private section of the alias record.
  695. *
  696. * Availability:
  697. * Mac OS X: in version 10.4 and later in CoreServices.framework
  698. * CarbonLib: not available
  699. * Non-Carbon CFM: not available
  700. }
  701. function GetAliasSizeFromPtr( const (*var*) alias: AliasRecord ): Size; external name '_GetAliasSizeFromPtr';
  702. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  703. {
  704. * GetAliasUserTypeFromPtr()
  705. *
  706. * Discussion:
  707. * This routine will return the usertype associated withthe alias
  708. * record pointed to by alias.
  709. *
  710. * Mac OS X threading:
  711. * Thread safe since version 10.4
  712. *
  713. * Parameters:
  714. *
  715. * alias:
  716. * A pointer to the alias record to get the userType from.
  717. *
  718. * Result:
  719. * The userType associated with the alias as an OSType
  720. *
  721. * Availability:
  722. * Mac OS X: in version 10.4 and later in CoreServices.framework
  723. * CarbonLib: not available
  724. * Non-Carbon CFM: not available
  725. }
  726. function GetAliasUserTypeFromPtr( const (*var*) alias: AliasRecord ): OSType; external name '_GetAliasUserTypeFromPtr';
  727. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  728. {
  729. * SetAliasUserTypeWithPtr()
  730. *
  731. * Discussion:
  732. * This routine will set the userType associated with an alias
  733. * record.
  734. *
  735. * Mac OS X threading:
  736. * Thread safe since version 10.4
  737. *
  738. * Parameters:
  739. *
  740. * alias:
  741. * A pointer to the alias record to set the userType for.
  742. *
  743. * userType:
  744. * The OSType to set the userType to.
  745. *
  746. * Availability:
  747. * Mac OS X: in version 10.4 and later in CoreServices.framework
  748. * CarbonLib: not available
  749. * Non-Carbon CFM: not available
  750. }
  751. procedure SetAliasUserTypeWithPtr( alias: AliasPtr; userType: OSType ); external name '_SetAliasUserTypeWithPtr';
  752. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_4, __MAC_10_8, __IPHONE_NA, __IPHONE_NA) *)
  753. { Functions beyond this point are deprecated}
  754. {$ifc not TARGET_CPU_64}
  755. {
  756. * FSMatchAlias() *** DEPRECATED ***
  757. *
  758. * Deprecated:
  759. * Use FSMatchAliasBulk instead
  760. *
  761. * Summary:
  762. * Given an alias handle and fromFile, match the alias and return
  763. * FSRefs to the aliased file(s) and needsUpdate flag
  764. *
  765. * Mac OS X threading:
  766. * Thread safe since version 10.3
  767. *
  768. * Availability:
  769. * Mac OS X: in version 10.2 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  770. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  771. * Non-Carbon CFM: not available
  772. }
  773. function FSMatchAlias( {const} fromFile: FSRefPtr { can be NULL }; rulesMask: UNSIGNEDLONG; inAlias: AliasHandle; var aliasCount: SInt16; var aliasList: FSRef; var needsUpdate: Boolean; aliasFilter: AliasFilterUPP; yourDataPtr: UnivPtr ): OSErr; external name '_FSMatchAlias';
  774. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  775. {
  776. * FSMatchAliasNoUI() *** DEPRECATED ***
  777. *
  778. * Deprecated:
  779. * Use FSMatchAliasBulk with the kARMNoUI flag instead
  780. *
  781. * Summary:
  782. * variation on FSMatchAlias that does not prompt user with a dialog
  783. *
  784. * Mac OS X threading:
  785. * Thread safe since version 10.3
  786. *
  787. * Availability:
  788. * Mac OS X: in version 10.2 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  789. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
  790. * Non-Carbon CFM: not available
  791. }
  792. function FSMatchAliasNoUI( {const} fromFile: FSRefPtr { can be NULL }; rulesMask: UNSIGNEDLONG; inAlias: AliasHandle; var aliasCount: SInt16; var aliasList: FSRef; var needsUpdate: Boolean; aliasFilter: AliasFilterUPP; yourDataPtr: UnivPtr ): OSErr; external name '_FSMatchAliasNoUI';
  793. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_2, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  794. {
  795. * NewAlias() *** DEPRECATED ***
  796. *
  797. * Deprecated:
  798. * Use FSNewAlias
  799. *
  800. * Summary:
  801. * create a new alias between fromFile and target, returns alias
  802. * record handle
  803. *
  804. * Discussion:
  805. * Create an alias betwen fromFile and target, and return it in an
  806. * AliasHandle. This function is deprecated in Mac OS X 10.4;
  807. * instead, you should use FSNewAliasUnicode() because NewAlias()
  808. * has problems creating aliases to certain files, including those
  809. * which are impossible to represent in an FSSpec.
  810. *
  811. * Mac OS X threading:
  812. * Thread safe since version 10.3
  813. *
  814. * Availability:
  815. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  816. * CarbonLib: in CarbonLib 1.0 and later
  817. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  818. }
  819. function NewAlias( {const} fromFile: FSSpecPtr { can be NULL }; const (*var*) target: FSSpec; var alias: AliasHandle ): OSErr; external name '_NewAlias';
  820. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  821. {
  822. * NewAliasMinimal() *** DEPRECATED ***
  823. *
  824. * Deprecated:
  825. * Use FSNewAliasMinimalUnicode
  826. *
  827. * Summary:
  828. * create a minimal new alias for a target and return alias record
  829. * handle
  830. *
  831. * Discussion:
  832. * Create a minimal alias for a target, and return it in an
  833. * AliasHandle. This function is deprecated in Mac OS X 10.4;
  834. * instead, you should use FSNewAliasMinimalUnicode() because
  835. * NewAliasMinimalAlias() has problems creating aliases to certain
  836. * files, including those which are impossible to represent in an
  837. * FSSpec.
  838. *
  839. * Mac OS X threading:
  840. * Thread safe since version 10.3
  841. *
  842. * Availability:
  843. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  844. * CarbonLib: in CarbonLib 1.0 and later
  845. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  846. }
  847. function NewAliasMinimal( const (*var*) target: FSSpec; var alias: AliasHandle ): OSErr; external name '_NewAliasMinimal';
  848. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  849. {
  850. * NewAliasMinimalFromFullPath() *** DEPRECATED ***
  851. *
  852. * Deprecated:
  853. * Use FSNewAliasMinimalUnicode
  854. *
  855. * Summary:
  856. * create a minimal new alias from a target fullpath (optional zone
  857. * and server name) and return alias record handle
  858. *
  859. * Discussion:
  860. * Create a minimal alias for a target fullpath, and return it in an
  861. * AliasHandle. This function is deprecated in Mac OS X 10.4;
  862. * instead, you should use FSNewAliasMinimalUnicode() because
  863. * NewAliasMinimalFromFullPath() has problems creating aliases to
  864. * certain files, including those which are impossible to represent
  865. * in an FSSpec.
  866. *
  867. * Mac OS X threading:
  868. * Thread safe since version 10.3
  869. *
  870. * Availability:
  871. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  872. * CarbonLib: in CarbonLib 1.0 and later
  873. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  874. }
  875. function NewAliasMinimalFromFullPath( fullPathLength: SInt16; fullPath: {const} UnivPtr; const (*var*) zoneName: Str32; const (*var*) serverName: Str31; var alias: AliasHandle ): OSErr; external name '_NewAliasMinimalFromFullPath';
  876. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  877. {
  878. * ResolveAlias() *** DEPRECATED ***
  879. *
  880. * Deprecated:
  881. * Use FSResolveAlias() or FSResolveAliasWithMountFlags() instead.
  882. *
  883. * Summary:
  884. * given an alias handle and fromFile, resolve the alias, update the
  885. * alias record and return aliased filename and wasChanged flag.
  886. *
  887. * Mac OS X threading:
  888. * Thread safe since version 10.3
  889. *
  890. * Availability:
  891. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  892. * CarbonLib: in CarbonLib 1.0 and later
  893. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  894. }
  895. function ResolveAlias( {const} fromFile: FSSpecPtr { can be NULL }; alias: AliasHandle; var target: FSSpec; var wasChanged: Boolean ): OSErr; external name '_ResolveAlias';
  896. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  897. {
  898. * GetAliasInfo() *** DEPRECATED ***
  899. *
  900. * Deprecated:
  901. * Use FSCopyAliasInfo instead.
  902. *
  903. * Summary:
  904. * This call does not work on all aliases. Given an alias handle and
  905. * an index specifying requested alias information type, return the
  906. * information from alias record as a string. An empty string is
  907. * returned when the index is greater than the number of levels
  908. * between the target and root.
  909. *
  910. * Mac OS X threading:
  911. * Thread safe since version 10.0
  912. *
  913. * Availability:
  914. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.3
  915. * CarbonLib: in CarbonLib 1.0 and later
  916. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  917. }
  918. function GetAliasInfo( alias: AliasHandle; itemIndex: AliasInfoType; var theString: Str63 ): OSErr; external name '_GetAliasInfo';
  919. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_3, __IPHONE_NA, __IPHONE_NA) *)
  920. {
  921. * IsAliasFile() *** DEPRECATED ***
  922. *
  923. * Deprecated:
  924. * Use FSIsAliasFile() instead.
  925. *
  926. * Summary:
  927. * Return true if the file pointed to by fileFSSpec is an alias file.
  928. *
  929. * Mac OS X threading:
  930. * Thread safe since version 10.0
  931. *
  932. * Availability:
  933. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  934. * CarbonLib: in CarbonLib 1.0 and later
  935. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  936. }
  937. function IsAliasFile( const (*var*) fileFSSpec: FSSpec; var aliasFileFlag: Boolean; var folderFlag: Boolean ): OSErr; external name '_IsAliasFile';
  938. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  939. {
  940. * ResolveAliasWithMountFlags() *** DEPRECATED ***
  941. *
  942. * Deprecated:
  943. * Use FSResolveAliasWithMountFlags() instead.
  944. *
  945. * Summary:
  946. * Given an AliasHandle, return target file spec. It resolves the
  947. * entire alias chain or one step of the chain. It returns info
  948. * about whether the target is a folder or file; and whether the
  949. * input file spec was an alias or not.
  950. *
  951. * Mac OS X threading:
  952. * Thread safe since version 10.3
  953. *
  954. * Availability:
  955. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  956. * CarbonLib: in CarbonLib 1.0 and later
  957. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  958. }
  959. function ResolveAliasWithMountFlags( {const} fromFile: FSSpecPtr { can be NULL }; alias: AliasHandle; var target: FSSpec; var wasChanged: Boolean; mountFlags: UNSIGNEDLONG ): OSErr; external name '_ResolveAliasWithMountFlags';
  960. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  961. {
  962. * ResolveAliasFile() *** DEPRECATED ***
  963. *
  964. * Deprecated:
  965. * Use FSResolveAliasFile
  966. *
  967. * Summary:
  968. * Given a file spec, return target file spec if input file spec is
  969. * an alias. It resolves the entire alias chain or one step of the
  970. * chain. It returns info about whether the target is a folder or
  971. * file; and whether the input file spec was an alias or not.
  972. *
  973. * Mac OS X threading:
  974. * Thread safe since version 10.3
  975. *
  976. * Availability:
  977. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  978. * CarbonLib: in CarbonLib 1.0 and later
  979. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  980. }
  981. function ResolveAliasFile( var theSpec: FSSpec; resolveAliasChains: Boolean; var targetIsFolder: Boolean; var wasAliased: Boolean ): OSErr; external name '_ResolveAliasFile';
  982. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  983. { Deprecated: Use FSResolveAliasFileWithMountFlags instead}
  984. {
  985. * ResolveAliasFileWithMountFlags() *** DEPRECATED ***
  986. *
  987. * Mac OS X threading:
  988. * Thread safe since version 10.3
  989. *
  990. * Availability:
  991. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  992. * CarbonLib: in CarbonLib 1.0 and later
  993. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  994. }
  995. function ResolveAliasFileWithMountFlags( var theSpec: FSSpec; resolveAliasChains: Boolean; var targetIsFolder: Boolean; var wasAliased: Boolean; mountFlags: UNSIGNEDLONG ): OSErr; external name '_ResolveAliasFileWithMountFlags';
  996. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  997. { Deprecated: Use FSFollowFinderAlias instead}
  998. {
  999. * FollowFinderAlias() *** DEPRECATED ***
  1000. *
  1001. * Mac OS X threading:
  1002. * Thread safe since version 10.3
  1003. *
  1004. * Availability:
  1005. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  1006. * CarbonLib: in CarbonLib 1.0 and later
  1007. * Non-Carbon CFM: in InterfaceLib 8.5 and later
  1008. }
  1009. function FollowFinderAlias( {const} fromFile: FSSpecPtr { can be NULL }; alias: AliasHandle; logon: Boolean; var target: FSSpec; var wasChanged: Boolean ): OSErr; external name '_FollowFinderAlias';
  1010. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  1011. {
  1012. Low Level Routines
  1013. }
  1014. {
  1015. * UpdateAlias() *** DEPRECATED ***
  1016. *
  1017. * Deprecated:
  1018. * UseFSUpdateAlias
  1019. *
  1020. * Summary:
  1021. * given a fromFile-target pair and an alias handle, update the
  1022. * alias record pointed to by alias handle to represent target as
  1023. * the new alias.
  1024. *
  1025. * Mac OS X threading:
  1026. * Thread safe since version 10.3
  1027. *
  1028. * Availability:
  1029. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  1030. * CarbonLib: in CarbonLib 1.0 and later
  1031. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1032. }
  1033. function UpdateAlias( {const} fromFile: FSSpecPtr { can be NULL }; const (*var*) target: FSSpec; alias: AliasHandle; var wasChanged: Boolean ): OSErr; external name '_UpdateAlias';
  1034. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  1035. {
  1036. * MatchAlias() *** DEPRECATED ***
  1037. *
  1038. * Deprecated:
  1039. * Use FSMatchAliasBulk instead
  1040. *
  1041. * Summary:
  1042. * Given an alias handle and fromFile, match the alias and return
  1043. * FSSpecs to the aliased file(s) and needsUpdate flag
  1044. *
  1045. * Mac OS X threading:
  1046. * Thread safe since version 10.3
  1047. *
  1048. * Availability:
  1049. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  1050. * CarbonLib: in CarbonLib 1.0 and later
  1051. * Non-Carbon CFM: in InterfaceLib 7.1 and later
  1052. }
  1053. function MatchAlias( {const} fromFile: FSSpecPtr { can be NULL }; rulesMask: UNSIGNEDLONG; alias: AliasHandle; var aliasCount: SInt16; aliasList: FSSpecArrayPtr; var needsUpdate: Boolean; aliasFilter: AliasFilterUPP; yourDataPtr: UnivPtr ): OSErr; external name '_MatchAlias';
  1054. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  1055. {
  1056. * ResolveAliasFileWithMountFlagsNoUI() *** DEPRECATED ***
  1057. *
  1058. * Deprecated:
  1059. * Use FSResolveAliasFileWithMountFlags passing in the
  1060. * kResolveAliasFileNoUI flag
  1061. *
  1062. * Summary:
  1063. * variation on ResolveAliasFile that does not prompt user with a
  1064. * dialog
  1065. *
  1066. * Mac OS X threading:
  1067. * Thread safe since version 10.3
  1068. *
  1069. * Availability:
  1070. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
  1071. * CarbonLib: in CarbonLib 1.0 and later
  1072. * Non-Carbon CFM: not available
  1073. }
  1074. function ResolveAliasFileWithMountFlagsNoUI( var theSpec: FSSpec; resolveAliasChains: Boolean; var targetIsFolder: Boolean; var wasAliased: Boolean; mountFlags: UNSIGNEDLONG ): OSErr; external name '_ResolveAliasFileWithMountFlagsNoUI';
  1075. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
  1076. {
  1077. * MatchAliasNoUI() *** DEPRECATED ***
  1078. *
  1079. * Deprecated:
  1080. * Use FSMatchAliasBulk with the kARMNoUI flag instead
  1081. *
  1082. * Summary:
  1083. * variation on MatchAlias that does not prompt user with a dialog
  1084. *
  1085. * Mac OS X threading:
  1086. * Thread safe since version 10.3
  1087. *
  1088. * Availability:
  1089. * Mac OS X: in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
  1090. * CarbonLib: in CarbonLib 1.0 and later
  1091. * Non-Carbon CFM: not available
  1092. }
  1093. function MatchAliasNoUI( {const} fromFile: FSSpecPtr { can be NULL }; rulesMask: UNSIGNEDLONG; alias: AliasHandle; var aliasCount: SInt16; aliasList: FSSpecArrayPtr; var needsUpdate: Boolean; aliasFilter: AliasFilterUPP; yourDataPtr: UnivPtr ): OSErr; external name '_MatchAliasNoUI';
  1094. (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
  1095. {$endc} {not TARGET_CPU_64}
  1096. {$endc} {TARGET_OS_MAC}
  1097. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  1098. end.
  1099. {$endc} {not MACOSALLINCLUDE}