Mac OS 9
ICAApplication.h
Go to the documentation of this file.
1 
19 #ifndef __ICAAPPLICATION__
20 #define __ICAAPPLICATION__
21 
22 #ifndef __MACTYPES__
23 #include <MacTypes.h>
24 #endif
25 
26 #ifndef __FILES__
27 #include <Files.h>
28 #endif
29 
30 #ifndef __CFDICTIONARY__
31 #include <CFDictionary.h>
32 #endif
33 
34 #if PRAGMA_ONCE
35 #pragma once
36 #endif
37 
38 #ifdef __cplusplus
39 extern "C"
40 {
41 #endif
42 
43 #if PRAGMA_IMPORT
44 #pragma import on
45 #endif
46 
47 #if PRAGMA_STRUCT_ALIGN
48 #pragma options align = mac68k
49 #elif PRAGMA_STRUCT_PACKPUSH
50 #pragma pack(push, 2)
51 #elif PRAGMA_STRUCT_PACK
52 #pragma pack(2)
53 #endif
54 
55  typedef struct OpaqueICAObject *ICAObject;
56  typedef struct OpaqueICAProperty *ICAProperty;
57  typedef struct OpaqueICAConnectionID *ICAConnectionID;
62  enum
63  {
64  kICACommunicationErr = -9900,
65  kICADeviceNotFoundErr = -9901,
66  kICADeviceNotOpenErr = -9902,
67  kICAFileCorruptedErr = -9903,
68  kICAIOPendingErr = -9904,
69  kICAInvalidObjectErr = -9905,
70  kICAInvalidPropertyErr = -9906,
71  kICAIndexOutOfRangeErr = -9907,
72  kICAPropertyTypeNotFoundErr = -9908
73  };
74 
79  enum
80  {
81  kICADevice =
82  FOUR_CHAR_CODE('icdv'),
84  FOUR_CHAR_CODE('cmra'),
86  FOUR_CHAR_CODE('scan'),
88  FOUR_CHAR_CODE('mfp '),
89  kICAList = FOUR_CHAR_CODE('objl'),
90  kICADirectory = FOUR_CHAR_CODE('dire'),
91  kICAFile = FOUR_CHAR_CODE('file'),
92  kICAFileImage = FOUR_CHAR_CODE('imag'),
93  kICAFileMovie = FOUR_CHAR_CODE('moov'),
94  kICAFileAudio = FOUR_CHAR_CODE('audo'),
95  kICAFileFirmware = FOUR_CHAR_CODE('firm'),
96  kICAFileOther = FOUR_CHAR_CODE('othe')
97  };
98 
100  enum
101  {
102  kICAProperty = FOUR_CHAR_CODE('prop'),
107  kICAPropertyImageWidth = FOUR_CHAR_CODE('0100'),
108  kICAPropertyImageHeight = FOUR_CHAR_CODE('0101'),
109  kICAPropertyImageBitDepth = FOUR_CHAR_CODE('0102'),
110  kICAPropertyImageDPI = FOUR_CHAR_CODE('011A'),
111  kICAPropertyImageExposureTime = FOUR_CHAR_CODE('829A'),
112  kICAPropertyImageFNumber = FOUR_CHAR_CODE('829D'),
113  kICAPropertyImageDateOriginal =
114  FOUR_CHAR_CODE('9003'),
116  FOUR_CHAR_CODE('9004'),
117  kICAPropertyImageShutterSpeed = FOUR_CHAR_CODE('9201'),
118  kICAPropertyImageAperture = FOUR_CHAR_CODE('9202'),
119  kICAPropertyImageFlash = FOUR_CHAR_CODE('9209'),
120  kICAPropertyColorSpace = FOUR_CHAR_CODE('A001'),
122  FOUR_CHAR_CODE('ifil'),
123  kICAPropertyImageSize = FOUR_CHAR_CODE('isiz'),
124  kICAPropertyImageData = FOUR_CHAR_CODE('idat'),
125  kICAPropertyImageThumbnail = FOUR_CHAR_CODE('thum'),
126  kICAPropertyColorSyncProfile = FOUR_CHAR_CODE('prof')
127  };
128 
130  enum
131  {
132  kICAMessageConnect = FOUR_CHAR_CODE('open'),
133  kICAMessageDisconnect = FOUR_CHAR_CODE('clos'),
134  kICAMessageReset = FOUR_CHAR_CODE('rese'),
135  kICAMessageCheckDevice = FOUR_CHAR_CODE('chkd')
136  };
137 
139  enum
140  {
141  kICATypeUInt16 = FOUR_CHAR_CODE('ui16'),
142  kICATypeUInt32 = FOUR_CHAR_CODE('ui32'),
143  kICATypeUInt64 = FOUR_CHAR_CODE('ui64'),
144  kICATypeSInt16 = FOUR_CHAR_CODE('si16'),
145  kICATypeSInt32 = FOUR_CHAR_CODE('si32'),
146  kICATypeSInt64 = FOUR_CHAR_CODE('si64'),
147  kICATypeFixed = FOUR_CHAR_CODE('sing'),
148  kICATypeBoolean = FOUR_CHAR_CODE('bool'),
149  kICATypeString = FOUR_CHAR_CODE('TEXT'),
150  kICATypeData = FOUR_CHAR_CODE('data'),
151  kICATypeThumbnail = FOUR_CHAR_CODE('thum')
152  };
153 
155  enum
156  {
157  kICAFlagReadWriteAccess = 1L << 0,
158  kICAFlagReadAccess = 1L << 1
159  };
160 
162  enum
163  {
164  kICAEventCancelTransaction = FOUR_CHAR_CODE('ecnt'),
165  kICAEventObjectAdded = FOUR_CHAR_CODE('eoba'),
166  kICAEventObjectRemoved = FOUR_CHAR_CODE('eobr'),
167  kICAEventStoreAdded = FOUR_CHAR_CODE('esta'),
168  kICAEventStoreRemoved = FOUR_CHAR_CODE('estr'),
169  kICAEventDeviceAdded = FOUR_CHAR_CODE('edea'),
170  kICAEventDeviceRemoved = FOUR_CHAR_CODE('eder'),
171  kICAEventDevicePropChanged = FOUR_CHAR_CODE('edpc'),
172  kICAEventObjectInfoChanged = FOUR_CHAR_CODE('eoic'),
173  kICAEventDeviceInfoChanged = FOUR_CHAR_CODE('edic'),
174  kICAEventRequestObjectTransfer = FOUR_CHAR_CODE('erot'),
175  kICAEventStoreFull = FOUR_CHAR_CODE('estf'),
176  kICAEventDeviceReset = FOUR_CHAR_CODE('edvr'),
177  kICAEventStorageInfoChanged = FOUR_CHAR_CODE('esic'),
178  kICAEventCaptureComplete = FOUR_CHAR_CODE('ecpc'),
179  kICAEventUnreportedStatus = FOUR_CHAR_CODE('eurs')
180  };
181 
183  enum
184  {
185  kICAStartAtBeginning = 0,
186  kICAEntireLength = -1
187  };
188 
190  enum
191  {
192  kDeleteAfterDownload = 0x00000001,
193  kCreateCustomIcon = 0x00000002,
194  kAddMetaDataToFinderComment = 0x00000004,
195  kAdjustCreationDate = 0x00000008,
196  kSetFileTypeAndCreator = 0x00000010,
197  kEmbedColorSyncProfile = 0x00000020,
198  kRotateImage = 0x00000040
199  };
200 
205  {
206  OSType objectType;
207  OSType objectSubtype;
208  };
209  typedef struct ICAObjectInfo ICAObjectInfo;
211  {
212  OSType propertyType;
213  OSType dataType;
214  UInt32 dataSize;
215  UInt32 dataFlags;
216  };
217  typedef struct ICAPropertyInfo ICAPropertyInfo;
218  struct ICAMessage
219  {
220  OSType messageType;
222  UInt32 startByte;
223  void *dataPtr;
224  UInt32 dataSize;
225  OSType dataType;
226  };
227  typedef struct ICAMessage ICAMessage;
229  {
230  UInt32 width;
231  UInt32 height;
232  UInt32 dataSize;
233  UInt8 data[1];
234  };
235  typedef struct ICAThumbnail ICAThumbnail;
236  enum
237  {
238  kICAPBVersion = 0x00010000
239  };
240 
251  typedef struct ICAHeader ICAHeader;
252  typedef CALLBACK_API_C(void, ICACompletion)(ICAHeader *pb);
256  struct ICAHeader
257  {
258  OSErr err;
259  UInt32 refcon;
260  };
261 
266  {
268 
269  ICAObject object;
271  UInt32 count;
272  };
273  typedef struct ICAGetChildCountPB ICAGetChildCountPB;
275  {
277 
278  ICAObject parentObject;
279  UInt32 index;
281  ICAObject childObject;
283  };
284  typedef struct ICAGetNthChildPB ICAGetNthChildPB;
286  {
288 
289  ICAObject object;
292  };
293  typedef struct ICAGetObjectInfoPB ICAGetObjectInfoPB;
295  {
297 
298  ICAObject object;
300  ICAObject parentObject;
302  };
305  {
307 
308  ICAObject object;
310  ICAObject rootObject;
312  };
315  {
317 
318  ICAObject object;
320  UInt32 objectRefCon;
321  };
324  {
326 
327  ICAObject object;
329  UInt32 objectRefCon;
330  };
336  {
338 
339  ICAObject object;
341  UInt32 count;
342  };
345  {
347 
348  ICAObject object;
349  UInt32 index;
351  ICAProperty property;
353  };
356  {
358 
359  ICAObject object;
360  OSType propertyType;
362  ICAProperty property;
364  };
367  {
369 
370  ICAProperty property;
373  };
376  {
378 
379  ICAProperty property;
380  UInt32 startByte;
381  UInt32 requestedSize;
383  void *dataPtr;
385  UInt32 actualSize;
386  OSType dataType;
387  };
390  {
392 
393  ICAProperty property;
394  UInt32 startByte;
395  void *dataPtr;
396  UInt32 dataSize;
397  OSType dataType;
398  };
401  {
403 
404  ICAProperty property;
406  ICAObject parentObject;
408  };
411  {
413 
414  ICAProperty property;
416  ICAObject rootObject;
418  };
421  {
423 
424  ICAProperty property;
426  UInt32 propertyRefCon;
427  };
430  {
432 
433  ICAProperty property;
434  UInt32 propertyRefCon;
435  };
441  {
443 
444  ICAObject object;
445  };
446  typedef struct ICAGetDeviceListPB ICAGetDeviceListPB;
448  {
450 
451  ICAObject object;
453  UInt32 result;
454  };
457  {
459 
460  ICAObject object;
461  OSType notifyType;
462  ICACompletion notifyProc;
463  };
466  {
468 
469  ICAObject object;
471  UInt32 flags;
472  OSType fileType;
473  OSType fileCreator;
476  };
477  typedef struct ICADownloadFilePB ICADownloadFilePB;
479  {
481 
482  ICAObject object;
483  CFDictionaryRef *theDict;
484  };
485  typedef struct ICACopyObjectPropertyDictionaryPB
505  OSErr
507  ICACompletion completion);
517  OSErr
519  ICACompletion completion);
529  OSErr
531  ICACompletion completion);
541  OSErr
543  ICACompletion completion);
553  OSErr
555  ICACompletion completion);
565  OSErr
567  ICACompletion completion);
577  OSErr
579  ICACompletion completion);
592  OSErr
594  ICACompletion completion);
604  OSErr
606  ICACompletion completion);
616  OSErr
618  ICACompletion completion);
628  OSErr
630  ICACompletion completion);
640  OSErr
642  ICACompletion completion);
652  OSErr
654  ICACompletion completion);
664  OSErr
666  ICACompletion completion);
676  OSErr
678  ICACompletion completion);
688  OSErr
690  ICACompletion completion);
700  OSErr
702  ICACompletion completion);
715  OSErr
717  ICACompletion completion);
727  OSErr
729  ICACompletion completion);
739  OSErr
741  ICACompletion completion);
754  OSErr
756  ICACompletion completion);
766  OSErr
768  ICACompletion completion);
770 #if PRAGMA_STRUCT_ALIGN
771 #pragma options align = reset
772 #elif PRAGMA_STRUCT_PACKPUSH
773 #pragma pack(pop)
774 #elif PRAGMA_STRUCT_PACK
775 #pragma pack()
776 #endif
777 
778 #ifdef PRAGMA_IMPORT_OFF
779 #pragma import off
780 #elif PRAGMA_IMPORT
781 #pragma import reset
782 #endif
783 
784 #ifdef __cplusplus
785 }
786 #endif
787 
788 #endif
File Manager (MFS, HFS, and HFS+) Interfaces.
OSErr ICAGetPropertyData(ICAGetPropertyDataPB *pb, ICACompletion completion)
@ kICATypeThumbnail
Definition: ICAApplication.h:151
@ kICATypeUInt32
Definition: ICAApplication.h:142
@ kICATypeFixed
Definition: ICAApplication.h:147
@ kICATypeSInt32
Definition: ICAApplication.h:145
@ kICATypeData
Definition: ICAApplication.h:150
@ kICATypeSInt64
Definition: ICAApplication.h:146
@ kICATypeUInt64
Definition: ICAApplication.h:143
@ kICATypeBoolean
Definition: ICAApplication.h:148
@ kICATypeString
Definition: ICAApplication.h:149
@ kICATypeSInt16
Definition: ICAApplication.h:144
OSErr ICARegisterEventNotification(ICARegisterEventNotificationPB *pb, ICACompletion completion)
OSErr ICACopyObjectPropertyDictionary(ICACopyObjectPropertyDictionaryPB *pb, ICACompletion completion)
OSErr ICAGetNthChild(ICAGetNthChildPB *pb, ICACompletion completion)
OSErr ICADownloadFile(ICADownloadFilePB *pb, ICACompletion completion)
OSErr ICAObjectSendMessage(ICAObjectSendMessagePB *pb, ICACompletion completion)
OSErr ICAGetRootOfObject(ICAGetRootOfObjectPB *pb, ICACompletion completion)
OSErr ICAGetParentOfProperty(ICAGetParentOfPropertyPB *pb, ICACompletion completion)
OSErr ICAGetPropertyInfo(ICAGetPropertyInfoPB *pb, ICACompletion completion)
OSErr ICAGetPropertyByType(ICAGetPropertyByTypePB *pb, ICACompletion completion)
OSErr ICASetPropertyData(ICASetPropertyDataPB *pb, ICACompletion completion)
@ kICAList
Definition: ICAApplication.h:89
@ kICADeviceScanner
Definition: ICAApplication.h:85
@ kICADeviceCamera
Definition: ICAApplication.h:83
@ kICADeviceMFP
Definition: ICAApplication.h:87
OSErr ICAGetDeviceList(ICAGetDeviceListPB *pb, ICACompletion completion)
OSErr ICAGetParentOfObject(ICAGetParentOfObjectPB *pb, ICACompletion completion)
OSErr ICAGetObjectRefCon(ICAGetObjectRefConPB *pb, ICACompletion completion)
OSErr ICAGetPropertyCount(ICAGetPropertyCountPB *pb, ICACompletion completion)
OSErr ICAGetRootOfProperty(ICAGetRootOfPropertyPB *pb, ICACompletion completion)
OSErr ICASetPropertyRefCon(ICASetPropertyRefConPB *pb, ICACompletion completion)
OSErr ICAGetObjectInfo(ICAGetObjectInfoPB *pb, ICACompletion completion)
@ kICAPropertyImageThumbnail
Definition: ICAApplication.h:125
@ kICAPropertyImageDPI
Definition: ICAApplication.h:110
@ kICAPropertyColorSpace
Definition: ICAApplication.h:120
@ kICAPropertyImageData
Definition: ICAApplication.h:124
@ kICAPropertyColorSyncProfile
Definition: ICAApplication.h:126
@ kICAPropertyImageExposureTime
Definition: ICAApplication.h:111
@ kICAPropertyImageDateDigitized
Definition: ICAApplication.h:115
@ kICAPropertyImageHeight
Definition: ICAApplication.h:108
@ kICAPropertyImageSize
Definition: ICAApplication.h:123
@ kICAPropertyImageBitDepth
Definition: ICAApplication.h:109
@ kICAPropertyImageShutterSpeed
Definition: ICAApplication.h:117
@ kICAPropertyImageWidth
Definition: ICAApplication.h:107
@ kICAPropertyImageFilename
Definition: ICAApplication.h:121
OSErr ICAGetNthProperty(ICAGetNthPropertyPB *pb, ICACompletion completion)
OSErr ICAGetChildCount(ICAGetChildCountPB *pb, ICACompletion completion)
OSErr ICASetObjectRefCon(ICASetObjectRefConPB *pb, ICACompletion completion)
OSErr ICAGetPropertyRefCon(ICAGetPropertyRefConPB *pb, ICACompletion completion)
Basic Macintosh data types.
long Fixed
Definition: MacTypes.h:153
Definition: ATA.h:616
Definition: Components.h:266
Definition: Files.h:6527
Definition: ICAApplication.h:479
CFDictionaryRef * theDict
Definition: ICAApplication.h:483
Definition: ICAApplication.h:466
OSType fileType
Definition: ICAApplication.h:472
Fixed rotationAngle
Definition: ICAApplication.h:474
OSType fileCreator
Definition: ICAApplication.h:473
FSRef * fileFSRef
Definition: ICAApplication.h:475
UInt32 flags
Definition: ICAApplication.h:471
FSRef * dirFSRef
Definition: ICAApplication.h:470
Definition: ICAApplication.h:266
UInt32 count
Definition: ICAApplication.h:271
Definition: ICAApplication.h:441
Definition: ICAApplication.h:275
UInt32 index
Definition: ICAApplication.h:279
ICAObjectInfo childInfo
Definition: ICAApplication.h:282
ICAObject childObject
Definition: ICAApplication.h:281
Definition: ICAApplication.h:345
ICAPropertyInfo propertyInfo
Definition: ICAApplication.h:352
ICAProperty property
Definition: ICAApplication.h:351
UInt32 index
Definition: ICAApplication.h:349
Definition: ICAApplication.h:286
ICAObjectInfo objectInfo
Definition: ICAApplication.h:291
Definition: ICAApplication.h:315
UInt32 objectRefCon
Definition: ICAApplication.h:320
Definition: ICAApplication.h:295
ICAObjectInfo parentInfo
Definition: ICAApplication.h:301
ICAObject parentObject
Definition: ICAApplication.h:300
Definition: ICAApplication.h:401
ICAObject parentObject
Definition: ICAApplication.h:406
ICAObjectInfo parentInfo
Definition: ICAApplication.h:407
Definition: ICAApplication.h:356
OSType propertyType
Definition: ICAApplication.h:360
ICAProperty property
Definition: ICAApplication.h:362
ICAPropertyInfo propertyInfo
Definition: ICAApplication.h:363
Definition: ICAApplication.h:336
UInt32 count
Definition: ICAApplication.h:341
Definition: ICAApplication.h:376
OSType dataType
Definition: ICAApplication.h:386
void * dataPtr
Definition: ICAApplication.h:383
UInt32 requestedSize
Definition: ICAApplication.h:381
UInt32 startByte
Definition: ICAApplication.h:380
UInt32 actualSize
Definition: ICAApplication.h:385
Definition: ICAApplication.h:367
ICAPropertyInfo propertyInfo
Definition: ICAApplication.h:372
Definition: ICAApplication.h:421
UInt32 propertyRefCon
Definition: ICAApplication.h:426
Definition: ICAApplication.h:305
ICAObject rootObject
Definition: ICAApplication.h:310
ICAObjectInfo rootInfo
Definition: ICAApplication.h:311
Definition: ICAApplication.h:411
ICAObject rootObject
Definition: ICAApplication.h:416
ICAObjectInfo rootInfo
Definition: ICAApplication.h:417
Definition: ICAApplication.h:257
UInt32 refcon
Definition: ICAApplication.h:259
Definition: ICAApplication.h:219
OSType dataType
Definition: ICAApplication.h:225
UInt32 dataSize
Definition: ICAApplication.h:224
UInt32 startByte
Definition: ICAApplication.h:222
void * dataPtr
Definition: ICAApplication.h:223
Definition: ICAApplication.h:205
OSType objectSubtype
Definition: ICAApplication.h:207
Definition: ICAApplication.h:448
UInt32 result
Definition: ICAApplication.h:453
ICAMessage message
Definition: ICAApplication.h:452
Definition: ICAApplication.h:211
Definition: ICAApplication.h:457
OSType notifyType
Definition: ICAApplication.h:461
ICACompletion notifyProc
Definition: ICAApplication.h:462
Definition: ICAApplication.h:324
UInt32 objectRefCon
Definition: ICAApplication.h:329
Definition: ICAApplication.h:390
void * dataPtr
Definition: ICAApplication.h:395
OSType dataType
Definition: ICAApplication.h:397
UInt32 dataSize
Definition: ICAApplication.h:396
UInt32 startByte
Definition: ICAApplication.h:394
Definition: ICAApplication.h:430
UInt32 propertyRefCon
Definition: ICAApplication.h:434
Definition: ICAApplication.h:229