ICAApplication.pas 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733
  1. {
  2. File: ICAApplication.p
  3. Contains: General purpose Image Capture definitions
  4. Version: Technology: 1.0
  5. Release: Universal Interfaces 3.4.2
  6. Copyright: © 2000-2002 by Apple Computer, Inc., all rights reserved.
  7. Bugs?: For bug reports, consult the following page on
  8. the World Wide Web:
  9. http://www.freepascal.org/bugs.html
  10. }
  11. {
  12. Modified for use with Free Pascal
  13. Version 200
  14. Please report any bugs to <[email protected]>
  15. }
  16. {$mode macpas}
  17. {$packenum 1}
  18. {$macro on}
  19. {$inline on}
  20. {$CALLING MWPASCAL}
  21. unit ICAApplication;
  22. interface
  23. {$setc UNIVERSAL_INTERFACES_VERSION := $0342}
  24. {$setc GAP_INTERFACES_VERSION := $0200}
  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 CPUPOWERPC}
  35. {$setc __ppc__ := 1}
  36. {$elsec}
  37. {$setc __ppc__ := 0}
  38. {$endc}
  39. {$ifc not defined __i386__ and defined CPUI386}
  40. {$setc __i386__ := 1}
  41. {$elsec}
  42. {$setc __i386__ := 0}
  43. {$endc}
  44. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  45. {$error Conflicting definitions for __ppc__ and __i386__}
  46. {$endc}
  47. {$ifc defined __ppc__ and __ppc__}
  48. {$setc TARGET_CPU_PPC := TRUE}
  49. {$setc TARGET_CPU_X86 := FALSE}
  50. {$elifc defined __i386__ and __i386__}
  51. {$setc TARGET_CPU_PPC := FALSE}
  52. {$setc TARGET_CPU_X86 := TRUE}
  53. {$elsec}
  54. {$error Neither __ppc__ nor __i386__ is defined.}
  55. {$endc}
  56. {$setc TARGET_CPU_PPC_64 := FALSE}
  57. {$ifc defined FPC_BIG_ENDIAN}
  58. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  59. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  60. {$elifc defined FPC_LITTLE_ENDIAN}
  61. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  62. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  63. {$elsec}
  64. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  65. {$endc}
  66. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  67. {$setc CALL_NOT_IN_CARBON := FALSE}
  68. {$setc OLDROUTINENAMES := FALSE}
  69. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  70. {$setc OPAQUE_UPP_TYPES := TRUE}
  71. {$setc OTCARBONAPPLICATION := TRUE}
  72. {$setc OTKERNEL := FALSE}
  73. {$setc PM_USE_SESSION_APIS := TRUE}
  74. {$setc TARGET_API_MAC_CARBON := TRUE}
  75. {$setc TARGET_API_MAC_OS8 := FALSE}
  76. {$setc TARGET_API_MAC_OSX := TRUE}
  77. {$setc TARGET_CARBON := TRUE}
  78. {$setc TARGET_CPU_68K := FALSE}
  79. {$setc TARGET_CPU_MIPS := FALSE}
  80. {$setc TARGET_CPU_SPARC := FALSE}
  81. {$setc TARGET_OS_MAC := TRUE}
  82. {$setc TARGET_OS_UNIX := FALSE}
  83. {$setc TARGET_OS_WIN32 := FALSE}
  84. {$setc TARGET_RT_MAC_68881 := FALSE}
  85. {$setc TARGET_RT_MAC_CFM := FALSE}
  86. {$setc TARGET_RT_MAC_MACHO := TRUE}
  87. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  88. {$setc TYPE_BOOL := FALSE}
  89. {$setc TYPE_EXTENDED := FALSE}
  90. {$setc TYPE_LONGLONG := TRUE}
  91. uses MacTypes,AEDataModel,Files,CFDictionary;
  92. {$ALIGN MAC68K}
  93. type
  94. ICAObject = ^SInt32; { an opaque 32-bit type }
  95. ICAObjectPtr = ^ICAObject; { when a var xx:ICAObject parameter can be nil, it is changed to xx: ICAObjectPtr }
  96. ICAProperty = ^SInt32; { an opaque 32-bit type }
  97. ICAPropertyPtr = ^ICAProperty; { when a var xx:ICAProperty parameter can be nil, it is changed to xx: ICAPropertyPtr }
  98. ICAConnectionID = ^SInt32; { an opaque 32-bit type }
  99. ICAConnectionIDPtr = ^ICAConnectionID; { when a var xx:ICAConnectionID parameter can be nil, it is changed to xx: ICAConnectionIDPtr }
  100. {
  101. --------------- Defines ---------------
  102. }
  103. { Error codes (Image Capture range = -9900...-9949) }
  104. const
  105. kICACommunicationErr = -9900;
  106. kICADeviceNotFoundErr = -9901;
  107. kICADeviceNotOpenErr = -9902;
  108. kICAFileCorruptedErr = -9903;
  109. kICAIOPendingErr = -9904;
  110. kICAInvalidObjectErr = -9905;
  111. kICAInvalidPropertyErr = -9906;
  112. kICAIndexOutOfRangeErr = -9907;
  113. kICAPropertyTypeNotFoundErr = -9908;
  114. {
  115. NOTE: vendor specific constants are UPPERCASE (exception: 'TEXT')
  116. }
  117. { ICAObject types and subtypes }
  118. kICADevice = $69636476 (* 'icdv' *); { Also creator of device library files }
  119. kICADeviceCamera = $636D7261 (* 'cmra' *); { Also file type of device library files }
  120. kICADeviceScanner = $7363616E (* 'scan' *); { Also file type of device library files }
  121. kICADeviceMFP = $6D667020 (* 'mfp ' *); { Also file type of device library files }
  122. kICAList = $6F626A6C (* 'objl' *);
  123. kICADirectory = $64697265 (* 'dire' *);
  124. kICAFile = $66696C65 (* 'file' *);
  125. kICAFileImage = $696D6167 (* 'imag' *);
  126. kICAFileMovie = $6D6F6F76 (* 'moov' *);
  127. kICAFileAudio = $6175646F (* 'audo' *);
  128. kICAFileFirmware = $6669726D (* 'firm' *);
  129. kICAFileOther = $6F746865 (* 'othe' *);
  130. { ICAProperties }
  131. kICAProperty = $70726F70 (* 'prop' *); { }
  132. { file properties }
  133. { }
  134. { for images, refer to 'Digital Still Camera Image File Format Standard' Exif Version 2.1 section 2.6.4. and 2.6.5. }
  135. kICAPropertyImageWidth = $30313030 (* '0100' *); { UInt32 }
  136. kICAPropertyImageHeight = $30313031 (* '0101' *); { UInt32 }
  137. kICAPropertyImageBitDepth = $30313032 (* '0102' *); { UInt32 }
  138. kICAPropertyImageDPI = $30313141 (* '011A' *); { UInt32 }
  139. kICAPropertyImageExposureTime = $38323941 (* '829A' *);
  140. kICAPropertyImageFNumber = $38323944 (* '829D' *);
  141. kICAPropertyImageDateOriginal = $39303033 (* '9003' *); { null terminated string (YYYYMMDDThhmmss.s) }
  142. kICAPropertyImageDateDigitized = $39303034 (* '9004' *); { null terminated string (YYYYMMDDThhmmss.s) }
  143. kICAPropertyImageShutterSpeed = $39323031 (* '9201' *); { }
  144. kICAPropertyImageAperture = $39323032 (* '9202' *); { }
  145. kICAPropertyImageFlash = $39323039 (* '9209' *); { UInt16 }
  146. kICAPropertyColorSpace = $41303031 (* 'A001' *); { UInt16 }
  147. kICAPropertyImageFilename = $6966696C (* 'ifil' *); { null terminated string }
  148. kICAPropertyImageSize = $6973697A (* 'isiz' *); { UInt32 }
  149. kICAPropertyImageData = $69646174 (* 'idat' *); { void * }
  150. kICAPropertyImageThumbnail = $7468756D (* 'thum' *); { void * }
  151. kICAPropertyColorSyncProfile = $70726F66 (* 'prof' *);
  152. { Messages }
  153. kICAMessageConnect = $6F70656E (* 'open' *);
  154. kICAMessageDisconnect = $636C6F73 (* 'clos' *);
  155. kICAMessageReset = $72657365 (* 'rese' *);
  156. kICAMessageCheckDevice = $63686B64 (* 'chkd' *);
  157. { Data type definitions, mapped to AppleEvent types }
  158. kICATypeUInt16 = $75693136 (* 'ui16' *); { UInt16 }
  159. kICATypeUInt32 = $75693332 (* 'ui32' *); { UInt32 }
  160. kICATypeUInt64 = $75693634 (* 'ui64' *); { UInt64 }
  161. kICATypeSInt16 = $73693136 (* 'si16' *); { SInt16 }
  162. kICATypeSInt32 = $73693332 (* 'si32' *); { SInt32 }
  163. kICATypeSInt64 = $73693634 (* 'si64' *); { SInt64 }
  164. kICATypeFixed = $73696E67 (* 'sing' *); { typeIEEE32BitFloatingPoint }
  165. kICATypeBoolean = $626F6F6C (* 'bool' *); { typeBoolean }
  166. kICATypeString = $54455854 (* 'TEXT' *); { typeChar }
  167. kICATypeData = $64617461 (* 'data' *); { void * }
  168. kICATypeThumbnail = $7468756D (* 'thum' *); { ICAThumbnail }
  169. { Flags for PropertyInfo flag element }
  170. kICAFlagReadWriteAccess = $00000001;
  171. kICAFlagReadAccess = $00000002;
  172. { Notification types (Refer to section 12.4 of PTP spec) }
  173. kICAEventCancelTransaction = $65636E74 (* 'ecnt' *);
  174. kICAEventObjectAdded = $656F6261 (* 'eoba' *);
  175. kICAEventObjectRemoved = $656F6272 (* 'eobr' *);
  176. kICAEventStoreAdded = $65737461 (* 'esta' *);
  177. kICAEventStoreRemoved = $65737472 (* 'estr' *);
  178. kICAEventDeviceAdded = $65646561 (* 'edea' *);
  179. kICAEventDeviceRemoved = $65646572 (* 'eder' *);
  180. kICAEventDevicePropChanged = $65647063 (* 'edpc' *);
  181. kICAEventObjectInfoChanged = $656F6963 (* 'eoic' *);
  182. kICAEventDeviceInfoChanged = $65646963 (* 'edic' *);
  183. kICAEventRequestObjectTransfer = $65726F74 (* 'erot' *);
  184. kICAEventStoreFull = $65737466 (* 'estf' *);
  185. kICAEventDeviceReset = $65647672 (* 'edvr' *);
  186. kICAEventStorageInfoChanged = $65736963 (* 'esic' *);
  187. kICAEventCaptureComplete = $65637063 (* 'ecpc' *);
  188. kICAEventUnreportedStatus = $65757273 (* 'eurs' *);
  189. { Used for partial reads via ICAGetPropertyData }
  190. kICAStartAtBeginning = 0;
  191. kICAEntireLength = -1;
  192. { ICADownloadFile flags }
  193. kDeleteAfterDownload = $00000001;
  194. kCreateCustomIcon = $00000002;
  195. kAddMetaDataToFinderComment = $00000004;
  196. kAdjustCreationDate = $00000008;
  197. kSetFileTypeAndCreator = $00000010;
  198. kEmbedColorSyncProfile = $00000020;
  199. kRotateImage = $00000040;
  200. {
  201. --------------- Structures ---------------
  202. }
  203. type
  204. ICAObjectInfoPtr = ^ICAObjectInfo;
  205. ICAObjectInfo = record
  206. objectType: OSType; { i.e. kICAFile }
  207. objectSubtype: OSType; { i.e. kICAFileImage }
  208. end;
  209. ICAPropertyInfoPtr = ^ICAPropertyInfo;
  210. ICAPropertyInfo = record
  211. propertyType: OSType;
  212. dataType: OSType;
  213. dataSize: UInt32;
  214. dataFlags: UInt32;
  215. end;
  216. ICAMessagePtr = ^ICAMessage;
  217. ICAMessage = record
  218. messageType: OSType; { <-- i.e. kICAMessageCameraCaptureNewImage }
  219. startByte: UInt32; { <-- }
  220. dataPtr: Ptr; { <-- }
  221. dataSize: UInt32; { <-- }
  222. dataType: OSType; { <-- }
  223. end;
  224. ICAThumbnailPtr = ^ICAThumbnail;
  225. ICAThumbnail = record
  226. width: UInt32;
  227. height: UInt32;
  228. dataSize: UInt32;
  229. data: SInt8; { 8-bit RGB data (RGBRGBRGB...) }
  230. end;
  231. const
  232. kICAPBVersion = $00010000;
  233. {
  234. --------------- Completion Procs ---------------
  235. }
  236. {
  237. NOTE: the parameter for the completion proc (ICAHeader*) has to be casted to the appropriate type
  238. e.g. (ICAGetChildCountPB*), ...
  239. }
  240. type
  241. ICAHeaderPtr = ^ICAHeader;
  242. {$ifc TYPED_FUNCTION_POINTERS}
  243. ICACompletion = procedure(pb: ICAHeaderPtr);
  244. {$elsec}
  245. ICACompletion = ProcPtr;
  246. {$endc}
  247. {
  248. --------------- ICAHeader ---------------
  249. }
  250. ICAHeader = record
  251. err: OSErr; { --> }
  252. refcon: UInt32; { <-- }
  253. end;
  254. {
  255. --------------- Object parameter blocks ---------------
  256. }
  257. ICAGetChildCountPBPtr = ^ICAGetChildCountPB;
  258. ICAGetChildCountPB = record
  259. header: ICAHeader;
  260. objct: ICAObject; { <-- }
  261. count: UInt32; { --> }
  262. end;
  263. ICAGetNthChildPBPtr = ^ICAGetNthChildPB;
  264. ICAGetNthChildPB = record
  265. header: ICAHeader;
  266. parentObject: ICAObject; { <-- }
  267. index: UInt32; { <-- zero based }
  268. childObject: ICAObject; { --> }
  269. childInfo: ICAObjectInfo; { --> }
  270. end;
  271. ICAGetObjectInfoPBPtr = ^ICAGetObjectInfoPB;
  272. ICAGetObjectInfoPB = record
  273. header: ICAHeader;
  274. objct: ICAObject; { <-- }
  275. objectInfo: ICAObjectInfo; { --> }
  276. end;
  277. ICAGetParentOfObjectPBPtr = ^ICAGetParentOfObjectPB;
  278. ICAGetParentOfObjectPB = record
  279. header: ICAHeader;
  280. objct: ICAObject; { <-- }
  281. parentObject: ICAObject; { --> }
  282. parentInfo: ICAObjectInfo; { --> }
  283. end;
  284. ICAGetRootOfObjectPBPtr = ^ICAGetRootOfObjectPB;
  285. ICAGetRootOfObjectPB = record
  286. header: ICAHeader;
  287. objct: ICAObject; { <-- }
  288. rootObject: ICAObject; { --> }
  289. rootInfo: ICAObjectInfo; { --> }
  290. end;
  291. ICAGetObjectRefConPBPtr = ^ICAGetObjectRefConPB;
  292. ICAGetObjectRefConPB = record
  293. header: ICAHeader;
  294. objct: ICAObject; { <-- }
  295. objectRefCon: UInt32; { --> }
  296. end;
  297. ICASetObjectRefConPBPtr = ^ICASetObjectRefConPB;
  298. ICASetObjectRefConPB = record
  299. header: ICAHeader;
  300. objct: ICAObject; { <-- }
  301. objectRefCon: UInt32; { <-- }
  302. end;
  303. {
  304. --------------- Property parameter blocks ---------------
  305. }
  306. ICAGetPropertyCountPBPtr = ^ICAGetPropertyCountPB;
  307. ICAGetPropertyCountPB = record
  308. header: ICAHeader;
  309. objct: ICAObject; { <-- }
  310. count: UInt32; { --> }
  311. end;
  312. ICAGetNthPropertyPBPtr = ^ICAGetNthPropertyPB;
  313. ICAGetNthPropertyPB = record
  314. header: ICAHeader;
  315. objct: ICAObject; { <-- }
  316. index: UInt32; { <-- zero based }
  317. proprty: ICAProperty; { --> }
  318. propertyInfo: ICAPropertyInfo; { --> }
  319. end;
  320. ICAGetPropertyByTypePBPtr = ^ICAGetPropertyByTypePB;
  321. ICAGetPropertyByTypePB = record
  322. header: ICAHeader;
  323. objct: ICAObject; { <-- }
  324. propertyType: OSType; { <-- }
  325. proprty: ICAProperty; { --> }
  326. propertyInfo: ICAPropertyInfo; { --> }
  327. end;
  328. ICAGetPropertyInfoPBPtr = ^ICAGetPropertyInfoPB;
  329. ICAGetPropertyInfoPB = record
  330. header: ICAHeader;
  331. proprty: ICAProperty; { <-- }
  332. propertyInfo: ICAPropertyInfo; { --> }
  333. end;
  334. ICAGetPropertyDataPBPtr = ^ICAGetPropertyDataPB;
  335. ICAGetPropertyDataPB = record
  336. header: ICAHeader;
  337. proprty: ICAProperty; { <-- }
  338. startByte: UInt32; { <-- }
  339. requestedSize: UInt32; { <-- }
  340. dataPtr: Ptr; { <-> }
  341. actualSize: UInt32; { --> }
  342. dataType: OSType; { --> }
  343. end;
  344. ICASetPropertyDataPBPtr = ^ICASetPropertyDataPB;
  345. ICASetPropertyDataPB = record
  346. header: ICAHeader;
  347. proprty: ICAProperty; { <-- }
  348. startByte: UInt32; { <-- }
  349. dataPtr: Ptr; { <-- }
  350. dataSize: UInt32; { <-- }
  351. dataType: OSType; { <-- }
  352. end;
  353. ICAGetParentOfPropertyPBPtr = ^ICAGetParentOfPropertyPB;
  354. ICAGetParentOfPropertyPB = record
  355. header: ICAHeader;
  356. proprty: ICAProperty; { <-- }
  357. parentObject: ICAObject; { --> }
  358. parentInfo: ICAObjectInfo; { --> }
  359. end;
  360. ICAGetRootOfPropertyPBPtr = ^ICAGetRootOfPropertyPB;
  361. ICAGetRootOfPropertyPB = record
  362. header: ICAHeader;
  363. proprty: ICAProperty; { <-- }
  364. rootObject: ICAObject; { --> }
  365. rootInfo: ICAObjectInfo; { --> }
  366. end;
  367. ICAGetPropertyRefConPBPtr = ^ICAGetPropertyRefConPB;
  368. ICAGetPropertyRefConPB = record
  369. header: ICAHeader;
  370. proprty: ICAProperty; { <-- }
  371. propertyRefCon: UInt32; { --> }
  372. end;
  373. ICASetPropertyRefConPBPtr = ^ICASetPropertyRefConPB;
  374. ICASetPropertyRefConPB = record
  375. header: ICAHeader;
  376. proprty: ICAProperty; { <-- }
  377. propertyRefCon: UInt32; { <-- }
  378. end;
  379. {
  380. --------------- Device parameter blocks ---------------
  381. }
  382. ICAGetDeviceListPBPtr = ^ICAGetDeviceListPB;
  383. ICAGetDeviceListPB = record
  384. header: ICAHeader;
  385. objct: ICAObject; { --> }
  386. end;
  387. ICAObjectSendMessagePBPtr = ^ICAObjectSendMessagePB;
  388. ICAObjectSendMessagePB = record
  389. header: ICAHeader;
  390. objct: ICAObject; { <-- }
  391. message: ICAMessage; { <-- }
  392. result: UInt32; { --> message specific result }
  393. end;
  394. ICARegisterEventNotificationPBPtr = ^ICARegisterEventNotificationPB;
  395. ICARegisterEventNotificationPB = record
  396. header: ICAHeader;
  397. objct: ICAObject; { <-- }
  398. notifyType: OSType; { <-- }
  399. notifyProc: ICACompletion; { <-- }
  400. end;
  401. ICADownloadFilePBPtr = ^ICADownloadFilePB;
  402. ICADownloadFilePB = record
  403. header: ICAHeader;
  404. objct: ICAObject; { <-- }
  405. dirFSRef: FSRefPtr; { <-- }
  406. flags: UInt32; { <-- }
  407. fileType: OSType; { <-- }
  408. fileCreator: OSType; { <-- }
  409. rotationAngle: Fixed; { <-- }
  410. fileFSRef: FSRefPtr; { --> can be NULL }
  411. end;
  412. ICACopyObjectPropertyDictionaryPBPtr = ^ICACopyObjectPropertyDictionaryPB;
  413. ICACopyObjectPropertyDictionaryPB = record
  414. header: ICAHeader;
  415. objct: ICAObject; { <-- }
  416. theDict: ^CFDictionaryRef; { --> }
  417. end;
  418. {
  419. NOTE: for all APIs - pass NULL as completion parameter to make a synchronous call
  420. }
  421. {
  422. --------------- Object functions ---------------
  423. }
  424. {
  425. * ICAGetChildCount()
  426. *
  427. * Availability:
  428. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  429. * CarbonLib: in CarbonLib 1.1 and later
  430. * Mac OS X: in version 10.0 and later
  431. }
  432. function ICAGetChildCount(var pb: ICAGetChildCountPB; completion: ICACompletion): OSErr; external name '_ICAGetChildCount';
  433. {
  434. * ICAGetNthChild()
  435. *
  436. * Availability:
  437. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  438. * CarbonLib: in CarbonLib 1.1 and later
  439. * Mac OS X: in version 10.0 and later
  440. }
  441. function ICAGetNthChild(var pb: ICAGetNthChildPB; completion: ICACompletion): OSErr; external name '_ICAGetNthChild';
  442. {
  443. * ICAGetObjectInfo()
  444. *
  445. * Availability:
  446. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  447. * CarbonLib: in CarbonLib 1.1 and later
  448. * Mac OS X: in version 10.0 and later
  449. }
  450. function ICAGetObjectInfo(var pb: ICAGetObjectInfoPB; completion: ICACompletion): OSErr; external name '_ICAGetObjectInfo';
  451. {
  452. * ICAGetParentOfObject()
  453. *
  454. * Availability:
  455. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  456. * CarbonLib: in CarbonLib 1.1 and later
  457. * Mac OS X: in version 10.0 and later
  458. }
  459. function ICAGetParentOfObject(var pb: ICAGetParentOfObjectPB; completion: ICACompletion): OSErr; external name '_ICAGetParentOfObject';
  460. {
  461. * ICAGetRootOfObject()
  462. *
  463. * Availability:
  464. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  465. * CarbonLib: in CarbonLib 1.1 and later
  466. * Mac OS X: in version 10.0 and later
  467. }
  468. function ICAGetRootOfObject(var pb: ICAGetRootOfObjectPB; completion: ICACompletion): OSErr; external name '_ICAGetRootOfObject';
  469. {
  470. * ICAGetObjectRefCon()
  471. *
  472. * Availability:
  473. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  474. * CarbonLib: in CarbonLib 1.1 and later
  475. * Mac OS X: in version 10.0 and later
  476. }
  477. function ICAGetObjectRefCon(var pb: ICAGetObjectRefConPB; completion: ICACompletion): OSErr; external name '_ICAGetObjectRefCon';
  478. {
  479. * ICASetObjectRefCon()
  480. *
  481. * Availability:
  482. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  483. * CarbonLib: in CarbonLib 1.1 and later
  484. * Mac OS X: in version 10.0 and later
  485. }
  486. function ICASetObjectRefCon(var pb: ICASetObjectRefConPB; completion: ICACompletion): OSErr; external name '_ICASetObjectRefCon';
  487. {
  488. --------------- Property functions ---------------
  489. }
  490. {
  491. * ICAGetPropertyCount()
  492. *
  493. * Availability:
  494. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  495. * CarbonLib: in CarbonLib 1.1 and later
  496. * Mac OS X: in version 10.0 and later
  497. }
  498. function ICAGetPropertyCount(var pb: ICAGetPropertyCountPB; completion: ICACompletion): OSErr; external name '_ICAGetPropertyCount';
  499. {
  500. * ICAGetNthProperty()
  501. *
  502. * Availability:
  503. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  504. * CarbonLib: in CarbonLib 1.1 and later
  505. * Mac OS X: in version 10.0 and later
  506. }
  507. function ICAGetNthProperty(var pb: ICAGetNthPropertyPB; completion: ICACompletion): OSErr; external name '_ICAGetNthProperty';
  508. {
  509. * ICAGetPropertyByType()
  510. *
  511. * Availability:
  512. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  513. * CarbonLib: in CarbonLib 1.1 and later
  514. * Mac OS X: in version 10.0 and later
  515. }
  516. function ICAGetPropertyByType(var pb: ICAGetPropertyByTypePB; completion: ICACompletion): OSErr; external name '_ICAGetPropertyByType';
  517. {
  518. * ICAGetPropertyInfo()
  519. *
  520. * Availability:
  521. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  522. * CarbonLib: in CarbonLib 1.1 and later
  523. * Mac OS X: in version 10.0 and later
  524. }
  525. function ICAGetPropertyInfo(var pb: ICAGetPropertyInfoPB; completion: ICACompletion): OSErr; external name '_ICAGetPropertyInfo';
  526. {
  527. * ICAGetPropertyData()
  528. *
  529. * Availability:
  530. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  531. * CarbonLib: in CarbonLib 1.1 and later
  532. * Mac OS X: in version 10.0 and later
  533. }
  534. function ICAGetPropertyData(var pb: ICAGetPropertyDataPB; completion: ICACompletion): OSErr; external name '_ICAGetPropertyData';
  535. {
  536. * ICASetPropertyData()
  537. *
  538. * Availability:
  539. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  540. * CarbonLib: in CarbonLib 1.1 and later
  541. * Mac OS X: in version 10.0 and later
  542. }
  543. function ICASetPropertyData(var pb: ICASetPropertyDataPB; completion: ICACompletion): OSErr; external name '_ICASetPropertyData';
  544. {
  545. * ICAGetParentOfProperty()
  546. *
  547. * Availability:
  548. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  549. * CarbonLib: in CarbonLib 1.1 and later
  550. * Mac OS X: in version 10.0 and later
  551. }
  552. function ICAGetParentOfProperty(var pb: ICAGetParentOfPropertyPB; completion: ICACompletion): OSErr; external name '_ICAGetParentOfProperty';
  553. {
  554. * ICAGetRootOfProperty()
  555. *
  556. * Availability:
  557. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  558. * CarbonLib: in CarbonLib 1.1 and later
  559. * Mac OS X: in version 10.0 and later
  560. }
  561. function ICAGetRootOfProperty(var pb: ICAGetRootOfPropertyPB; completion: ICACompletion): OSErr; external name '_ICAGetRootOfProperty';
  562. {
  563. * ICAGetPropertyRefCon()
  564. *
  565. * Availability:
  566. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  567. * CarbonLib: in CarbonLib 1.1 and later
  568. * Mac OS X: in version 10.0 and later
  569. }
  570. function ICAGetPropertyRefCon(var pb: ICAGetPropertyRefConPB; completion: ICACompletion): OSErr; external name '_ICAGetPropertyRefCon';
  571. {
  572. * ICASetPropertyRefCon()
  573. *
  574. * Availability:
  575. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  576. * CarbonLib: in CarbonLib 1.1 and later
  577. * Mac OS X: in version 10.0 and later
  578. }
  579. function ICASetPropertyRefCon(var pb: ICASetPropertyRefConPB; completion: ICACompletion): OSErr; external name '_ICASetPropertyRefCon';
  580. {
  581. --------------- Device functions ---------------
  582. }
  583. {
  584. * ICAGetDeviceList()
  585. *
  586. * Availability:
  587. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  588. * CarbonLib: in CarbonLib 1.1 and later
  589. * Mac OS X: in version 10.0 and later
  590. }
  591. function ICAGetDeviceList(var pb: ICAGetDeviceListPB; completion: ICACompletion): OSErr; external name '_ICAGetDeviceList';
  592. {
  593. * ICAObjectSendMessage()
  594. *
  595. * Availability:
  596. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  597. * CarbonLib: in CarbonLib 1.1 and later
  598. * Mac OS X: in version 10.0 and later
  599. }
  600. function ICAObjectSendMessage(var pb: ICAObjectSendMessagePB; completion: ICACompletion): OSErr; external name '_ICAObjectSendMessage';
  601. {
  602. * ICARegisterEventNotification()
  603. *
  604. * Availability:
  605. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  606. * CarbonLib: in CarbonLib 1.1 and later
  607. * Mac OS X: in version 10.0 and later
  608. }
  609. function ICARegisterEventNotification(var pb: ICARegisterEventNotificationPB; completion: ICACompletion): OSErr; external name '_ICARegisterEventNotification';
  610. {
  611. ------------------------------------------------
  612. }
  613. {
  614. * ICADownloadFile()
  615. *
  616. * Availability:
  617. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  618. * CarbonLib: in CarbonLib 1.4 and later
  619. * Mac OS X: in version 10.1 and later
  620. }
  621. function ICADownloadFile(var pb: ICADownloadFilePB; completion: ICACompletion): OSErr; external name '_ICADownloadFile';
  622. {
  623. * ICACopyObjectPropertyDictionary()
  624. *
  625. * Availability:
  626. * Non-Carbon CFM: in ImageCaptureLib 1.0 and later
  627. * CarbonLib: in CarbonLib 1.4 and later
  628. * Mac OS X: in version 10.1 and later
  629. }
  630. function ICACopyObjectPropertyDictionary(var pb: ICACopyObjectPropertyDictionaryPB; completion: ICACompletion): OSErr; external name '_ICACopyObjectPropertyDictionary';
  631. {$ALIGN MAC68K}
  632. end.