canonball 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1342 @@
1
+ /******************************************************************************
2
+ * *
3
+ * PROJECT : EOS Digital Software Development Kit EDSDK *
4
+ * NAME : EdsTypes.h *
5
+ * *
6
+ * Description: COMMON DEFINITION FOR EDSDK *
7
+ * *
8
+ *******************************************************************************
9
+ * *
10
+ * Written and developed by Canon Inc. *
11
+ * Copyright Canon Inc. 2006-2013 All Rights Reserved *
12
+ * *
13
+ ******************************************************************************/
14
+
15
+ #ifndef _EDS_TYPES_H_
16
+ #define _EDS_TYPES_H_
17
+
18
+
19
+ #ifdef __MACOS__
20
+ #if PRAGMA_STRUCT_ALIGN
21
+ #pragma options align=mac68k
22
+ #endif
23
+ #if defined __LP64__/*__x86_64__*/
24
+ #define MAC64
25
+ #endif
26
+ #else
27
+ #pragma pack (push, 8)
28
+ #endif
29
+
30
+
31
+ #ifdef __MACOS__
32
+ #define EDSSTDCALL
33
+ #define EDSEXPORT
34
+ #define EDSIMPORT
35
+ #else
36
+ #define EDSSTDCALL __stdcall
37
+ #define EDSEXPORT __declspec(dllexport)
38
+ #define EDSIMPORT __declspec(dllimport)
39
+ #endif
40
+
41
+
42
+ /*----------------------------------------------------------------------------*/
43
+
44
+
45
+ /******************************************************************************
46
+ Definition of Constants
47
+ ******************************************************************************/
48
+ #define EDS_MAX_NAME 256
49
+ #define EDS_TRANSFER_BLOCK_SIZE 512
50
+
51
+ /******************************************************************************
52
+ Definition of Data Types
53
+ ******************************************************************************/
54
+ /*-----------------------------------------------------------------------------
55
+ Callback Types
56
+ -----------------------------------------------------------------------------*/
57
+ #define EDSCALLBACK EDSSTDCALL
58
+
59
+ /*-----------------------------------------------------------------------------
60
+ Basic Types
61
+ -----------------------------------------------------------------------------*/
62
+ #ifndef NULL
63
+ #ifdef __cplusplus
64
+ #define NULL 0
65
+ #else
66
+ #define NULL ((void *)0)
67
+ #endif
68
+ #endif
69
+
70
+ #ifndef FALSE
71
+ #define FALSE 0
72
+ #endif
73
+
74
+ #ifndef TRUE
75
+ #define TRUE 1
76
+ #endif
77
+
78
+ typedef void EdsVoid;
79
+ typedef int EdsBool;
80
+ typedef char EdsChar;
81
+
82
+ #ifdef __MACOS__
83
+ typedef SInt8 EdsInt8;
84
+ typedef UInt8 EdsUInt8;
85
+ typedef SInt16 EdsInt16;
86
+ typedef UInt16 EdsUInt16;
87
+ typedef SInt32 EdsInt32;
88
+ typedef UInt32 EdsUInt32;
89
+ #ifdef __cplusplus
90
+ typedef long long EdsInt64;
91
+ typedef unsigned long long EdsUInt64;
92
+ #else
93
+ typedef SInt64 EdsInt64;
94
+ typedef UInt64 EdsUInt64;
95
+ #endif
96
+ #else
97
+ typedef char EdsInt8;
98
+ typedef unsigned char EdsUInt8;
99
+ typedef short EdsInt16;
100
+ typedef unsigned short EdsUInt16;
101
+ typedef long EdsInt32;
102
+ typedef unsigned long EdsUInt32;
103
+ typedef __int64 EdsInt64;
104
+ typedef unsigned __int64 EdsUInt64;
105
+ #endif
106
+
107
+ typedef float EdsFloat;
108
+ typedef double EdsDouble;
109
+
110
+
111
+ /*-----------------------------------------------------------------------------
112
+ Error Types
113
+ -----------------------------------------------------------------------------*/
114
+ typedef EdsUInt32 EdsError;
115
+
116
+ /*-----------------------------------------------------------------------------
117
+ Reference Types
118
+ -----------------------------------------------------------------------------*/
119
+ typedef struct __EdsObject* EdsBaseRef;
120
+
121
+ typedef EdsBaseRef EdsCameraListRef;
122
+ typedef EdsBaseRef EdsCameraRef;
123
+ typedef EdsBaseRef EdsVolumeRef;
124
+ typedef EdsBaseRef EdsDirectoryItemRef;
125
+
126
+ typedef EdsBaseRef EdsStreamRef;
127
+ typedef EdsStreamRef EdsImageRef;
128
+
129
+ typedef EdsBaseRef EdsEvfImageRef ;
130
+
131
+ /*-----------------------------------------------------------------------------
132
+ Data Types
133
+ -----------------------------------------------------------------------------*/
134
+ typedef enum
135
+ {
136
+ kEdsDataType_Unknown = 0,
137
+ kEdsDataType_Bool = 1,
138
+ kEdsDataType_String = 2,
139
+ kEdsDataType_Int8 = 3,
140
+ kEdsDataType_UInt8 = 6,
141
+ kEdsDataType_Int16 = 4,
142
+ kEdsDataType_UInt16 = 7,
143
+ kEdsDataType_Int32 = 8,
144
+ kEdsDataType_UInt32 = 9,
145
+ kEdsDataType_Int64 = 10,
146
+ kEdsDataType_UInt64 = 11,
147
+ kEdsDataType_Float = 12,
148
+ kEdsDataType_Double = 13,
149
+ kEdsDataType_ByteBlock = 14,
150
+ kEdsDataType_Rational = 20,
151
+ kEdsDataType_Point = 21,
152
+ kEdsDataType_Rect = 22,
153
+ kEdsDataType_Time = 23,
154
+
155
+ kEdsDataType_Bool_Array = 30,
156
+ kEdsDataType_Int8_Array = 31,
157
+ kEdsDataType_Int16_Array = 32,
158
+ kEdsDataType_Int32_Array = 33,
159
+ kEdsDataType_UInt8_Array = 34,
160
+ kEdsDataType_UInt16_Array = 35,
161
+ kEdsDataType_UInt32_Array = 36,
162
+ kEdsDataType_Rational_Array = 37,
163
+
164
+ kEdsDataType_FocusInfo = 101,
165
+ kEdsDataType_PictureStyleDesc,
166
+
167
+ } EdsDataType;
168
+
169
+ /*-----------------------------------------------------------------------------
170
+ Property IDs
171
+ -----------------------------------------------------------------------------*/
172
+ typedef EdsUInt32 EdsPropertyID;
173
+ /*----------------------------------
174
+ Camera Setting Properties
175
+ ----------------------------------*/
176
+ #define kEdsPropID_Unknown 0x0000ffff
177
+
178
+ #define kEdsPropID_ProductName 0x00000002
179
+ #define kEdsPropID_OwnerName 0x00000004
180
+ #define kEdsPropID_MakerName 0x00000005
181
+ #define kEdsPropID_DateTime 0x00000006
182
+ #define kEdsPropID_FirmwareVersion 0x00000007
183
+ #define kEdsPropID_BatteryLevel 0x00000008
184
+ #define kEdsPropID_CFn 0x00000009
185
+ #define kEdsPropID_SaveTo 0x0000000b
186
+ #define kEdsPropID_CurrentStorage 0x0000000c
187
+ #define kEdsPropID_CurrentFolder 0x0000000d
188
+ #define kEdsPropID_MyMenu 0x0000000e
189
+
190
+ #define kEdsPropID_BatteryQuality 0x00000010
191
+
192
+ #define kEdsPropID_BodyIDEx 0x00000015
193
+ #define kEdsPropID_HDDirectoryStructure 0x00000020
194
+
195
+
196
+ /*----------------------------------
197
+ Image Properties
198
+ ----------------------------------*/
199
+ #define kEdsPropID_ImageQuality 0x00000100
200
+ #define kEdsPropID_JpegQuality 0x00000101
201
+ #define kEdsPropID_Orientation 0x00000102
202
+ #define kEdsPropID_ICCProfile 0x00000103
203
+ #define kEdsPropID_FocusInfo 0x00000104
204
+ #define kEdsPropID_DigitalExposure 0x00000105
205
+ #define kEdsPropID_WhiteBalance 0x00000106
206
+ #define kEdsPropID_ColorTemperature 0x00000107
207
+ #define kEdsPropID_WhiteBalanceShift 0x00000108
208
+ #define kEdsPropID_Contrast 0x00000109
209
+ #define kEdsPropID_ColorSaturation 0x0000010a
210
+ #define kEdsPropID_ColorTone 0x0000010b
211
+ #define kEdsPropID_Sharpness 0x0000010c
212
+ #define kEdsPropID_ColorSpace 0x0000010d
213
+ #define kEdsPropID_ToneCurve 0x0000010e
214
+ #define kEdsPropID_PhotoEffect 0x0000010f
215
+ #define kEdsPropID_FilterEffect 0x00000110
216
+ #define kEdsPropID_ToningEffect 0x00000111
217
+ #define kEdsPropID_ParameterSet 0x00000112
218
+ #define kEdsPropID_ColorMatrix 0x00000113
219
+ #define kEdsPropID_PictureStyle 0x00000114
220
+ #define kEdsPropID_PictureStyleDesc 0x00000115
221
+ #define kEdsPropID_PictureStyleCaption 0x00000200
222
+
223
+ /*----------------------------------
224
+ Image Processing Properties
225
+ ----------------------------------*/
226
+ #define kEdsPropID_Linear 0x00000300
227
+ #define kEdsPropID_ClickWBPoint 0x00000301
228
+ #define kEdsPropID_WBCoeffs 0x00000302
229
+
230
+
231
+ /*----------------------------------
232
+ Image GPS Properties
233
+ ----------------------------------*/
234
+ #define kEdsPropID_GPSVersionID 0x00000800
235
+ #define kEdsPropID_GPSLatitudeRef 0x00000801
236
+ #define kEdsPropID_GPSLatitude 0x00000802
237
+ #define kEdsPropID_GPSLongitudeRef 0x00000803
238
+ #define kEdsPropID_GPSLongitude 0x00000804
239
+ #define kEdsPropID_GPSAltitudeRef 0x00000805
240
+ #define kEdsPropID_GPSAltitude 0x00000806
241
+ #define kEdsPropID_GPSTimeStamp 0x00000807
242
+ #define kEdsPropID_GPSSatellites 0x00000808
243
+ #define kEdsPropID_GPSStatus 0x00000809
244
+ #define kEdsPropID_GPSMapDatum 0x00000812
245
+ #define kEdsPropID_GPSDateStamp 0x0000081D
246
+
247
+
248
+ /*----------------------------------
249
+ Property Mask
250
+ ----------------------------------*/
251
+ #define kEdsPropID_AtCapture_Flag 0x80000000
252
+
253
+
254
+ /*----------------------------------
255
+ Capture Properties
256
+ ----------------------------------*/
257
+ #define kEdsPropID_AEMode 0x00000400
258
+ #define kEdsPropID_DriveMode 0x00000401
259
+ #define kEdsPropID_ISOSpeed 0x00000402
260
+ #define kEdsPropID_MeteringMode 0x00000403
261
+ #define kEdsPropID_AFMode 0x00000404
262
+ #define kEdsPropID_Av 0x00000405
263
+ #define kEdsPropID_Tv 0x00000406
264
+ #define kEdsPropID_ExposureCompensation 0x00000407
265
+ #define kEdsPropID_FlashCompensation 0x00000408
266
+ #define kEdsPropID_FocalLength 0x00000409
267
+ #define kEdsPropID_AvailableShots 0x0000040a
268
+ #define kEdsPropID_Bracket 0x0000040b
269
+ #define kEdsPropID_WhiteBalanceBracket 0x0000040c
270
+ #define kEdsPropID_LensName 0x0000040d
271
+ #define kEdsPropID_AEBracket 0x0000040e
272
+ #define kEdsPropID_FEBracket 0x0000040f
273
+ #define kEdsPropID_ISOBracket 0x00000410
274
+ #define kEdsPropID_NoiseReduction 0x00000411
275
+ #define kEdsPropID_FlashOn 0x00000412
276
+ #define kEdsPropID_RedEye 0x00000413
277
+ #define kEdsPropID_FlashMode 0x00000414
278
+ #define kEdsPropID_LensStatus 0x00000416
279
+ #define kEdsPropID_Artist 0x00000418
280
+ #define kEdsPropID_Copyright 0x00000419
281
+ #define kEdsPropID_DepthOfField 0x0000041b
282
+ #define kEdsPropID_EFCompensation 0x0000041e
283
+ #define kEdsPropID_AEModeSelect 0x00000436
284
+
285
+ /*----------------------------------
286
+ EVF Properties
287
+ ----------------------------------*/
288
+ #define kEdsPropID_Evf_OutputDevice 0x00000500
289
+ #define kEdsPropID_Evf_Mode 0x00000501
290
+ #define kEdsPropID_Evf_WhiteBalance 0x00000502
291
+ #define kEdsPropID_Evf_ColorTemperature 0x00000503
292
+ #define kEdsPropID_Evf_DepthOfFieldPreview 0x00000504
293
+
294
+ // EVF IMAGE DATA Properties
295
+ #define kEdsPropID_Evf_Zoom 0x00000507
296
+ #define kEdsPropID_Evf_ZoomPosition 0x00000508
297
+ #define kEdsPropID_Evf_FocusAid 0x00000509
298
+ #define kEdsPropID_Evf_Histogram 0x0000050A
299
+ #define kEdsPropID_Evf_ImagePosition 0x0000050B
300
+ #define kEdsPropID_Evf_HistogramStatus 0x0000050C
301
+ #define kEdsPropID_Evf_AFMode 0x0000050E
302
+
303
+ #define kEdsPropID_Record 0x00000510
304
+
305
+ #define kEdsPropID_Evf_HistogramY 0x00000515
306
+ #define kEdsPropID_Evf_HistogramR 0x00000516
307
+ #define kEdsPropID_Evf_HistogramG 0x00000517
308
+ #define kEdsPropID_Evf_HistogramB 0x00000518
309
+
310
+ #define kEdsPropID_Evf_CoordinateSystem 0x00000540
311
+ #define kEdsPropID_Evf_ZoomRect 0x00000541
312
+ #define kEdsPropID_Evf_ImageClipRect 0x00000545
313
+
314
+ /*-----------------------------------------------------------------------------
315
+ Camera Commands
316
+ -----------------------------------------------------------------------------*/
317
+ typedef EdsUInt32 EdsCameraCommand;
318
+ /*----------------------------------
319
+ Send Commands
320
+ ----------------------------------*/
321
+ #define kEdsCameraCommand_TakePicture 0x00000000
322
+ #define kEdsCameraCommand_ExtendShutDownTimer 0x00000001
323
+ #define kEdsCameraCommand_BulbStart 0x00000002
324
+ #define kEdsCameraCommand_BulbEnd 0x00000003
325
+ #define kEdsCameraCommand_DoEvfAf 0x00000102
326
+ #define kEdsCameraCommand_DriveLensEvf 0x00000103
327
+ #define kEdsCameraCommand_DoClickWBEvf 0x00000104
328
+
329
+ #define kEdsCameraCommand_PressShutterButton 0x00000004
330
+
331
+ typedef enum
332
+ {
333
+ kEdsCameraCommand_EvfAf_OFF = 0,
334
+ kEdsCameraCommand_EvfAf_ON = 1,
335
+ } EdsEvfAf ;
336
+
337
+ typedef enum
338
+ {
339
+ kEdsCameraCommand_ShutterButton_OFF = 0x00000000,
340
+ kEdsCameraCommand_ShutterButton_Halfway = 0x00000001,
341
+ kEdsCameraCommand_ShutterButton_Completely = 0x00000003,
342
+ kEdsCameraCommand_ShutterButton_Halfway_NonAF = 0x00010001,
343
+ kEdsCameraCommand_ShutterButton_Completely_NonAF = 0x00010003,
344
+ } EdsShutterButton ;
345
+
346
+
347
+
348
+ typedef EdsUInt32 EdsCameraStatusCommand;
349
+ /*----------------------------------
350
+ Camera Status Commands
351
+ ----------------------------------*/
352
+ #define kEdsCameraStatusCommand_UILock 0x00000000
353
+ #define kEdsCameraStatusCommand_UIUnLock 0x00000001
354
+ #define kEdsCameraStatusCommand_EnterDirectTransfer 0x00000002
355
+ #define kEdsCameraStatusCommand_ExitDirectTransfer 0x00000003
356
+
357
+ /*-----------------------------------------------------------------------------
358
+ Camera Events
359
+ -----------------------------------------------------------------------------*/
360
+ typedef EdsUInt32 EdsPropertyEvent;
361
+ /*----------------------------------
362
+ Property Event
363
+ ----------------------------------*/
364
+
365
+ /* Notifies all property events. */
366
+ #define kEdsPropertyEvent_All 0x00000100
367
+
368
+ /* Notifies that a camera property value has been changed.
369
+ The changed property can be retrieved from event data.
370
+ The changed value can be retrieved by means of EdsGetPropertyData.
371
+ In the case of type 1 protocol standard cameras,
372
+ notification of changed properties can only be issued for custom functions (CFn).
373
+ If the property type is 0x0000FFFF, the changed property cannot be identified.
374
+ Thus, retrieve all required properties repeatedly. */
375
+ #define kEdsPropertyEvent_PropertyChanged 0x00000101
376
+
377
+ /* Notifies of changes in the list of camera properties with configurable values.
378
+ The list of configurable values for property IDs indicated in event data
379
+ can be retrieved by means of EdsGetPropertyDesc.
380
+ For type 1 protocol standard cameras, the property ID is identified as "Unknown"
381
+ during notification.
382
+ Thus, you must retrieve a list of configurable values for all properties and
383
+ retrieve the property values repeatedly.
384
+ (For details on properties for which you can retrieve a list of configurable
385
+ properties,
386
+ see the description of EdsGetPropertyDesc). */
387
+ #define kEdsPropertyEvent_PropertyDescChanged 0x00000102
388
+
389
+ typedef EdsUInt32 EdsObjectEvent;
390
+ /*----------------------------------
391
+ Object Event
392
+ ----------------------------------*/
393
+
394
+ /* Notifies all object events. */
395
+ #define kEdsObjectEvent_All 0x00000200
396
+
397
+ /* Notifies that the volume object (memory card) state (VolumeInfo)
398
+ has been changed.
399
+ Changed objects are indicated by event data.
400
+ The changed value can be retrieved by means of EdsGetVolumeInfo.
401
+ Notification of this event is not issued for type 1 protocol standard cameras. */
402
+ #define kEdsObjectEvent_VolumeInfoChanged 0x00000201
403
+
404
+ /* Notifies if the designated volume on a camera has been formatted.
405
+ If notification of this event is received, get sub-items of the designated
406
+ volume again as needed.
407
+ Changed volume objects can be retrieved from event data.
408
+ Objects cannot be identified on cameras earlier than the D30
409
+ if files are added or deleted.
410
+ Thus, these events are subject to notification. */
411
+ #define kEdsObjectEvent_VolumeUpdateItems 0x00000202
412
+
413
+ /* Notifies if many images are deleted in a designated folder on a camera.
414
+ If notification of this event is received, get sub-items of the designated
415
+ folder again as needed.
416
+ Changed folders (specifically, directory item objects) can be retrieved
417
+ from event data. */
418
+ #define kEdsObjectEvent_FolderUpdateItems 0x00000203
419
+
420
+ /* Notifies of the creation of objects such as new folders or files
421
+ on a camera compact flash card or the like.
422
+ This event is generated if the camera has been set to store captured
423
+ images simultaneously on the camera and a computer,
424
+ for example, but not if the camera is set to store images
425
+ on the computer alone.
426
+ Newly created objects are indicated by event data.
427
+ Because objects are not indicated for type 1 protocol standard cameras,
428
+ (that is, objects are indicated as NULL),
429
+ you must again retrieve child objects under the camera object to
430
+ identify the new objects. */
431
+ #define kEdsObjectEvent_DirItemCreated 0x00000204
432
+
433
+ /* Notifies of the deletion of objects such as folders or files on a camera
434
+ compact flash card or the like.
435
+ Deleted objects are indicated in event data.
436
+ Because objects are not indicated for type 1 protocol standard cameras,
437
+ you must again retrieve child objects under the camera object to
438
+ identify deleted objects. */
439
+ #define kEdsObjectEvent_DirItemRemoved 0x00000205
440
+
441
+ /* Notifies that information of DirItem objects has been changed.
442
+ Changed objects are indicated by event data.
443
+ The changed value can be retrieved by means of EdsGetDirectoryItemInfo.
444
+ Notification of this event is not issued for type 1 protocol standard cameras. */
445
+ #define kEdsObjectEvent_DirItemInfoChanged 0x00000206
446
+
447
+ /* Notifies that header information has been updated, as for rotation information
448
+ of image files on the camera.
449
+ If this event is received, get the file header information again, as needed.
450
+ This function is for type 2 protocol standard cameras only. */
451
+ #define kEdsObjectEvent_DirItemContentChanged 0x00000207
452
+
453
+ /* Notifies that there are objects on a camera to be transferred to a computer.
454
+ This event is generated after remote release from a computer or local release
455
+ from a camera.
456
+ If this event is received, objects indicated in the event data must be downloaded.
457
+ Furthermore, if the application does not require the objects, instead
458
+ of downloading them,
459
+ execute EdsDownloadCancel and release resources held by the camera.
460
+ The order of downloading from type 1 protocol standard cameras must be the order
461
+ in which the events are received. */
462
+ #define kEdsObjectEvent_DirItemRequestTransfer 0x00000208
463
+
464
+ /* Notifies if the camera's direct transfer button is pressed.
465
+ If this event is received, objects indicated in the event data must be downloaded.
466
+ Furthermore, if the application does not require the objects, instead of
467
+ downloading them,
468
+ execute EdsDownloadCancel and release resources held by the camera.
469
+ Notification of this event is not issued for type 1 protocol standard cameras. */
470
+ #define kEdsObjectEvent_DirItemRequestTransferDT 0x00000209
471
+
472
+ /* Notifies of requests from a camera to cancel object transfer
473
+ if the button to cancel direct transfer is pressed on the camera.
474
+ If the parameter is 0, it means that cancellation of transfer is requested for
475
+ objects still not downloaded,
476
+ with these objects indicated by kEdsObjectEvent_DirItemRequestTransferDT.
477
+ Notification of this event is not issued for type 1 protocol standard cameras. */
478
+ #define kEdsObjectEvent_DirItemCancelTransferDT 0x0000020a
479
+
480
+ #define kEdsObjectEvent_VolumeAdded 0x0000020c
481
+ #define kEdsObjectEvent_VolumeRemoved 0x0000020d
482
+
483
+ typedef EdsUInt32 EdsStateEvent;
484
+ /*----------------------------------
485
+ State Event
486
+ ----------------------------------*/
487
+
488
+ /* Notifies all state events. */
489
+ #define kEdsStateEvent_All 0x00000300
490
+
491
+ /* Indicates that a camera is no longer connected to a computer,
492
+ whether it was disconnected by unplugging a cord, opening
493
+ the compact flash compartment,
494
+ turning the camera off, auto shut-off, or by other means. */
495
+ #define kEdsStateEvent_Shutdown 0x00000301
496
+
497
+ /* Notifies of whether or not there are objects waiting to
498
+ be transferred to a host computer.
499
+ This is useful when ensuring all shot images have been transferred
500
+ when the application is closed.
501
+ Notification of this event is not issued for type 1 protocol
502
+ standard cameras. */
503
+ #define kEdsStateEvent_JobStatusChanged 0x00000302
504
+
505
+ /* Notifies that the camera will shut down after a specific period.
506
+ Generated only if auto shut-off is set.
507
+ Exactly when notification is issued (that is, the number of
508
+ seconds until shutdown) varies depending on the camera model.
509
+ To continue operation without having the camera shut down,
510
+ use EdsSendCommand to extend the auto shut-off timer.
511
+ The time in seconds until the camera shuts down is returned
512
+ as the initial value. */
513
+ #define kEdsStateEvent_WillSoonShutDown 0x00000303
514
+
515
+ /* As the counterpart event to kEdsStateEvent_WillSoonShutDown,
516
+ this event notifies of updates to the number of seconds until
517
+ a camera shuts down.
518
+ After the update, the period until shutdown is model-dependent. */
519
+ #define kEdsStateEvent_ShutDownTimerUpdate 0x00000304
520
+
521
+ /* Notifies that a requested release has failed, due to focus
522
+ failure or similar factors. */
523
+ #define kEdsStateEvent_CaptureError 0x00000305
524
+
525
+ /* Notifies of internal SDK errors.
526
+ If this error event is received, the issuing device will probably
527
+ not be able to continue working properly,
528
+ so cancel the remote connection. */
529
+ #define kEdsStateEvent_InternalError 0x00000306
530
+
531
+
532
+ #define kEdsStateEvent_AfResult 0x00000309
533
+
534
+
535
+ #define kEdsStateEvent_BulbExposureTime 0x00000310
536
+
537
+ /*-----------------------------------------------------------------------------
538
+ Drive Lens
539
+ -----------------------------------------------------------------------------*/
540
+ typedef enum
541
+ {
542
+ kEdsEvfDriveLens_Near1 = 0x00000001,
543
+ kEdsEvfDriveLens_Near2 = 0x00000002,
544
+ kEdsEvfDriveLens_Near3 = 0x00000003,
545
+ kEdsEvfDriveLens_Far1 = 0x00008001,
546
+ kEdsEvfDriveLens_Far2 = 0x00008002,
547
+ kEdsEvfDriveLens_Far3 = 0x00008003,
548
+ } EdsEvfDriveLens ;
549
+
550
+
551
+
552
+ /*-----------------------------------------------------------------------------
553
+ Depth of Field Preview
554
+ -----------------------------------------------------------------------------*/
555
+ typedef enum {
556
+ kEdsEvfDepthOfFieldPreview_OFF = 0x00000000,
557
+ kEdsEvfDepthOfFieldPreview_ON = 0x00000001,
558
+ } EdsEvfDepthOfFieldPreview ;
559
+
560
+
561
+ /*-----------------------------------------------------------------------------
562
+ Stream Seek Origins
563
+ -----------------------------------------------------------------------------*/
564
+ typedef enum
565
+ {
566
+ kEdsSeek_Cur = 0,
567
+ kEdsSeek_Begin ,
568
+ kEdsSeek_End ,
569
+
570
+ } EdsSeekOrigin;
571
+
572
+ /*-----------------------------------------------------------------------------
573
+ File and Propaties Access
574
+ -----------------------------------------------------------------------------*/
575
+ typedef enum
576
+ {
577
+ kEdsAccess_Read = 0,
578
+ kEdsAccess_Write ,
579
+ kEdsAccess_ReadWrite ,
580
+ kEdsAccess_Error = 0xFFFFFFFF,
581
+
582
+ } EdsAccess;
583
+
584
+ /*-----------------------------------------------------------------------------
585
+ File Create Disposition
586
+ -----------------------------------------------------------------------------*/
587
+ typedef enum
588
+ {
589
+ kEdsFileCreateDisposition_CreateNew = 0,
590
+ kEdsFileCreateDisposition_CreateAlways ,
591
+ kEdsFileCreateDisposition_OpenExisting ,
592
+ kEdsFileCreateDisposition_OpenAlways ,
593
+ kEdsFileCreateDisposition_TruncateExsisting ,
594
+
595
+ } EdsFileCreateDisposition;
596
+
597
+
598
+
599
+ /*-----------------------------------------------------------------------------
600
+ Image Types
601
+ -----------------------------------------------------------------------------*/
602
+ typedef enum
603
+ {
604
+ kEdsImageType_Unknown = 0x00000000,
605
+ kEdsImageType_Jpeg = 0x00000001,
606
+ kEdsImageType_CRW = 0x00000002,
607
+ kEdsImageType_RAW = 0x00000004,
608
+ kEdsImageType_CR2 = 0x00000006,
609
+
610
+ } EdsImageType;
611
+
612
+ /*-----------------------------------------------------------------------------
613
+ Image Size
614
+ -----------------------------------------------------------------------------*/
615
+ typedef enum
616
+ {
617
+ kEdsImageSize_Large = 0,
618
+ kEdsImageSize_Middle = 1,
619
+ kEdsImageSize_Small = 2,
620
+ kEdsImageSize_Middle1 = 5,
621
+ kEdsImageSize_Middle2 = 6,
622
+ kEdsImageSize_Small1 = 14,
623
+ kEdsImageSize_Small2 = 15,
624
+ kEdsImageSize_Small3 = 16,
625
+ kEdsImageSize_Unknown = 0xffffffff,
626
+
627
+ } EdsImageSize;
628
+
629
+ /*-----------------------------------------------------------------------------
630
+ Image Compress Quality
631
+ -----------------------------------------------------------------------------*/
632
+ typedef enum
633
+ {
634
+ kEdsCompressQuality_Normal = 2,
635
+ kEdsCompressQuality_Fine = 3,
636
+ kEdsCompressQuality_Lossless = 4,
637
+ kEdsCompressQuality_SuperFine = 5,
638
+ kEdsCompressQuality_Unknown = 0xffffffff,
639
+
640
+ } EdsCompressQuality;
641
+
642
+ /*-----------------------------------------------------------------------------
643
+ Image Quality
644
+ -----------------------------------------------------------------------------*/
645
+
646
+ typedef enum
647
+ {
648
+ /* Jpeg Only */
649
+ EdsImageQuality_LJ = 0x0010ff0f, /* Jpeg Large */
650
+ EdsImageQuality_M1J = 0x0510ff0f, /* Jpeg Middle1 */
651
+ EdsImageQuality_M2J = 0x0610ff0f, /* Jpeg Middle2 */
652
+ EdsImageQuality_SJ = 0x0210ff0f, /* Jpeg Small */
653
+ EdsImageQuality_LJF = 0x0013ff0f, /* Jpeg Large Fine */
654
+ EdsImageQuality_LJN = 0x0012ff0f, /* Jpeg Large Normal */
655
+ EdsImageQuality_MJF = 0x0113ff0f, /* Jpeg Middle Fine */
656
+ EdsImageQuality_MJN = 0x0112ff0f, /* Jpeg Middle Normal */
657
+ EdsImageQuality_SJF = 0x0213ff0f, /* Jpeg Small Fine */
658
+ EdsImageQuality_SJN = 0x0212ff0f, /* Jpeg Small Normal */
659
+ EdsImageQuality_S1JF = 0x0E13ff0f, /* Jpeg Small1 Fine */
660
+ EdsImageQuality_S1JN = 0x0E12ff0f, /* Jpeg Small1 Normal */
661
+ EdsImageQuality_S2JF = 0x0F13ff0f, /* Jpeg Small2 */
662
+ EdsImageQuality_S3JF = 0x1013ff0f, /* Jpeg Small3 */
663
+
664
+ /* RAW + Jpeg */
665
+ EdsImageQuality_LR = 0x0064ff0f, /* RAW */
666
+ EdsImageQuality_LRLJF = 0x00640013, /* RAW + Jpeg Large Fine */
667
+ EdsImageQuality_LRLJN = 0x00640012, /* RAW + Jpeg Large Normal */
668
+ EdsImageQuality_LRMJF = 0x00640113, /* RAW + Jpeg Middle Fine */
669
+ EdsImageQuality_LRMJN = 0x00640112, /* RAW + Jpeg Middle Normal */
670
+ EdsImageQuality_LRSJF = 0x00640213, /* RAW + Jpeg Small Fine */
671
+ EdsImageQuality_LRSJN = 0x00640212, /* RAW + Jpeg Small Normal */
672
+ EdsImageQuality_LRS1JF = 0x00640E13, /* RAW + Jpeg Small1 Fine */
673
+ EdsImageQuality_LRS1JN = 0x00640E12, /* RAW + Jpeg Small1 Normal */
674
+ EdsImageQuality_LRS2JF = 0x00640F13, /* RAW + Jpeg Small2 */
675
+ EdsImageQuality_LRS3JF = 0x00641013, /* RAW + Jpeg Small3 */
676
+
677
+ EdsImageQuality_LRLJ = 0x00640010, /* RAW + Jpeg Large */
678
+ EdsImageQuality_LRM1J = 0x00640510, /* RAW + Jpeg Middle1 */
679
+ EdsImageQuality_LRM2J = 0x00640610, /* RAW + Jpeg Middle2 */
680
+ EdsImageQuality_LRSJ = 0x00640210, /* RAW + Jpeg Small */
681
+
682
+ /* MRAW(SRAW1) + Jpeg */
683
+ EdsImageQuality_MR = 0x0164ff0f, /* MRAW(SRAW1) */
684
+ EdsImageQuality_MRLJF = 0x01640013, /* MRAW(SRAW1) + Jpeg Large Fine */
685
+ EdsImageQuality_MRLJN = 0x01640012, /* MRAW(SRAW1) + Jpeg Large Normal */
686
+ EdsImageQuality_MRMJF = 0x01640113, /* MRAW(SRAW1) + Jpeg Middle Fine */
687
+ EdsImageQuality_MRMJN = 0x01640112, /* MRAW(SRAW1) + Jpeg Middle Normal */
688
+ EdsImageQuality_MRSJF = 0x01640213, /* MRAW(SRAW1) + Jpeg Small Fine */
689
+ EdsImageQuality_MRSJN = 0x01640212, /* MRAW(SRAW1) + Jpeg Small Normal */
690
+ EdsImageQuality_MRS1JF = 0x01640E13, /* MRAW(SRAW1) + Jpeg Small1 Fine */
691
+ EdsImageQuality_MRS1JN = 0x01640E12, /* MRAW(SRAW1) + Jpeg Small1 Normal */
692
+ EdsImageQuality_MRS2JF = 0x01640F13, /* MRAW(SRAW1) + Jpeg Small2 */
693
+ EdsImageQuality_MRS3JF = 0x01641013, /* MRAW(SRAW1) + Jpeg Small3 */
694
+
695
+ EdsImageQuality_MRLJ = 0x01640010, /* MRAW(SRAW1) + Jpeg Large */
696
+ EdsImageQuality_MRM1J = 0x01640510, /* MRAW(SRAW1) + Jpeg Middle1 */
697
+ EdsImageQuality_MRM2J = 0x01640610, /* MRAW(SRAW1) + Jpeg Middle2 */
698
+ EdsImageQuality_MRSJ = 0x01640210, /* MRAW(SRAW1) + Jpeg Small */
699
+
700
+ /* SRAW(SRAW2) + Jpeg */
701
+ EdsImageQuality_SR = 0x0264ff0f, /* SRAW(SRAW2) */
702
+ EdsImageQuality_SRLJF = 0x02640013, /* SRAW(SRAW2) + Jpeg Large Fine */
703
+ EdsImageQuality_SRLJN = 0x02640012, /* SRAW(SRAW2) + Jpeg Large Normal */
704
+ EdsImageQuality_SRMJF = 0x02640113, /* SRAW(SRAW2) + Jpeg Middle Fine */
705
+ EdsImageQuality_SRMJN = 0x02640112, /* SRAW(SRAW2) + Jpeg Middle Normal */
706
+ EdsImageQuality_SRSJF = 0x02640213, /* SRAW(SRAW2) + Jpeg Small Fine */
707
+ EdsImageQuality_SRSJN = 0x02640212, /* SRAW(SRAW2) + Jpeg Small Normal */
708
+ EdsImageQuality_SRS1JF = 0x02640E13, /* SRAW(SRAW2) + Jpeg Small1 Fine */
709
+ EdsImageQuality_SRS1JN = 0x02640E12, /* SRAW(SRAW2) + Jpeg Small1 Normal */
710
+ EdsImageQuality_SRS2JF = 0x02640F13, /* SRAW(SRAW2) + Jpeg Small2 */
711
+ EdsImageQuality_SRS3JF = 0x02641013, /* SRAW(SRAW2) + Jpeg Small3 */
712
+
713
+ EdsImageQuality_SRLJ = 0x02640010, /* SRAW(SRAW2) + Jpeg Large */
714
+ EdsImageQuality_SRM1J = 0x02640510, /* SRAW(SRAW2) + Jpeg Middle1 */
715
+ EdsImageQuality_SRM2J = 0x02640610, /* SRAW(SRAW2) + Jpeg Middle2 */
716
+ EdsImageQuality_SRSJ = 0x02640210, /* SRAW(SRAW2) + Jpeg Small */
717
+
718
+ EdsImageQuality_Unknown = 0xffffffff,
719
+ }EdsImageQuality;
720
+
721
+ typedef enum
722
+ {
723
+ kEdsImageQualityForLegacy_LJ = 0x001f000f, /* Jpeg Large */
724
+ kEdsImageQualityForLegacy_M1J = 0x051f000f, /* Jpeg Middle1 */
725
+ kEdsImageQualityForLegacy_M2J = 0x061f000f, /* Jpeg Middle2 */
726
+ kEdsImageQualityForLegacy_SJ = 0x021f000f, /* Jpeg Small */
727
+ kEdsImageQualityForLegacy_LJF = 0x00130000, /* Jpeg Large Fine */
728
+ kEdsImageQualityForLegacy_LJN = 0x00120000, /* Jpeg Large Normal */
729
+ kEdsImageQualityForLegacy_MJF = 0x01130000, /* Jpeg Middle Fine */
730
+ kEdsImageQualityForLegacy_MJN = 0x01120000, /* Jpeg Middle Normal */
731
+ kEdsImageQualityForLegacy_SJF = 0x02130000, /* Jpeg Small Fine */
732
+ kEdsImageQualityForLegacy_SJN = 0x02120000, /* Jpeg Small Normal */
733
+
734
+ kEdsImageQualityForLegacy_LR = 0x00240000, /* RAW */
735
+ kEdsImageQualityForLegacy_LRLJF = 0x00240013, /* RAW + Jpeg Large Fine */
736
+ kEdsImageQualityForLegacy_LRLJN = 0x00240012, /* RAW + Jpeg Large Normal */
737
+ kEdsImageQualityForLegacy_LRMJF = 0x00240113, /* RAW + Jpeg Middle Fine */
738
+ kEdsImageQualityForLegacy_LRMJN = 0x00240112, /* RAW + Jpeg Middle Normal */
739
+ kEdsImageQualityForLegacy_LRSJF = 0x00240213, /* RAW + Jpeg Small Fine */
740
+ kEdsImageQualityForLegacy_LRSJN = 0x00240212, /* RAW + Jpeg Small Normal */
741
+
742
+ kEdsImageQualityForLegacy_LR2 = 0x002f000f, /* RAW */
743
+ kEdsImageQualityForLegacy_LR2LJ = 0x002f001f, /* RAW + Jpeg Large */
744
+ kEdsImageQualityForLegacy_LR2M1J = 0x002f051f, /* RAW + Jpeg Middle1 */
745
+ kEdsImageQualityForLegacy_LR2M2J = 0x002f061f, /* RAW + Jpeg Middle2 */
746
+ kEdsImageQualityForLegacy_LR2SJ = 0x002f021f, /* RAW + Jpeg Small */
747
+
748
+ kEdsImageQualityForLegacy_Unknown = 0xffffffff,
749
+ }EdsImageQualityForLegacy;
750
+
751
+
752
+ /*-----------------------------------------------------------------------------
753
+ Image Source
754
+ -----------------------------------------------------------------------------*/
755
+ typedef enum
756
+ {
757
+ kEdsImageSrc_FullView = 0 ,
758
+ kEdsImageSrc_Thumbnail ,
759
+ kEdsImageSrc_Preview ,
760
+ kEdsImageSrc_RAWThumbnail ,
761
+ kEdsImageSrc_RAWFullView ,
762
+
763
+ } EdsImageSource;
764
+
765
+
766
+ /*-----------------------------------------------------------------------------
767
+ Target Image Types
768
+ -----------------------------------------------------------------------------*/
769
+ typedef enum
770
+ {
771
+ kEdsTargetImageType_Unknown = 0x00000000,
772
+ kEdsTargetImageType_Jpeg = 0x00000001,
773
+ kEdsTargetImageType_TIFF = 0x00000007,
774
+ kEdsTargetImageType_TIFF16 = 0x00000008,
775
+ kEdsTargetImageType_RGB = 0x00000009,
776
+ kEdsTargetImageType_RGB16 = 0x0000000A,
777
+ kEdsTargetImageType_DIB = 0x0000000B
778
+
779
+ } EdsTargetImageType;
780
+
781
+ /*-----------------------------------------------------------------------------
782
+ Progress Option
783
+ -----------------------------------------------------------------------------*/
784
+ typedef enum
785
+ {
786
+ kEdsProgressOption_NoReport = 0,
787
+ kEdsProgressOption_Done ,
788
+ kEdsProgressOption_Periodically ,
789
+
790
+ } EdsProgressOption;
791
+
792
+
793
+ /*-----------------------------------------------------------------------------
794
+ File attribute
795
+ -----------------------------------------------------------------------------*/
796
+ typedef enum
797
+ {
798
+ kEdsFileAttribute_Normal = 0x00000000,
799
+ kEdsFileAttribute_ReadOnly = 0x00000001,
800
+ kEdsFileAttribute_Hidden = 0x00000002,
801
+ kEdsFileAttribute_System = 0x00000004,
802
+ kEdsFileAttribute_Archive = 0x00000020,
803
+
804
+ } EdsFileAttributes;
805
+
806
+
807
+ /*-----------------------------------------------------------------------------
808
+ Battery level
809
+ -----------------------------------------------------------------------------*/
810
+ typedef enum
811
+ {
812
+ kEdsBatteryLevel2_Empty = 0,
813
+ kEdsBatteryLevel2_Low = 9,
814
+ kEdsBatteryLevel2_Half = 49,
815
+ kEdsBatteryLevel2_Normal = 80,
816
+ kEdsBatteryLevel2_Hi = 69,
817
+ kEdsBatteryLevel2_Quarter = 19,
818
+ kEdsBatteryLevel2_Error = 0,
819
+ kEdsBatteryLevel2_BCLevel = 0,
820
+ kEdsBatteryLevel2_AC = 0xFFFFFFFF,
821
+ } EdsBatteryLevel2;
822
+
823
+ /*-----------------------------------------------------------------------------
824
+ Save To
825
+ -----------------------------------------------------------------------------*/
826
+ typedef enum
827
+ {
828
+ kEdsSaveTo_Camera = 1,
829
+ kEdsSaveTo_Host = 2,
830
+ kEdsSaveTo_Both = kEdsSaveTo_Camera | kEdsSaveTo_Host,
831
+
832
+ } EdsSaveTo;
833
+
834
+ /*-----------------------------------------------------------------------------
835
+ StorageType
836
+ -----------------------------------------------------------------------------*/
837
+ typedef enum
838
+ {
839
+ kEdsStorageType_Non = 0,
840
+ kEdsStorageType_CF = 1,
841
+ kEdsStorageType_SD = 2,
842
+ kEdsStorageType_HD = 4,
843
+
844
+ } EdsStorageType;
845
+
846
+ /*-----------------------------------------------------------------------------
847
+ White Balance
848
+ -----------------------------------------------------------------------------*/
849
+ typedef enum
850
+ {
851
+ kEdsWhiteBalance_Auto = 0,
852
+ kEdsWhiteBalance_Daylight = 1,
853
+ kEdsWhiteBalance_Cloudy = 2,
854
+ kEdsWhiteBalance_Tangsten = 3,
855
+ kEdsWhiteBalance_Fluorescent = 4,
856
+ kEdsWhiteBalance_Strobe = 5,
857
+ kEdsWhiteBalance_WhitePaper = 6,
858
+ kEdsWhiteBalance_Shade = 8,
859
+ kEdsWhiteBalance_ColorTemp = 9,
860
+ kEdsWhiteBalance_PCSet1 = 10,
861
+ kEdsWhiteBalance_PCSet2 = 11,
862
+ kEdsWhiteBalance_PCSet3 = 12,
863
+ kEdsWhiteBalance_WhitePaper2 = 15,
864
+ kEdsWhiteBalance_WhitePaper3 = 16,
865
+ kEdsWhiteBalance_WhitePaper4 = 18,
866
+ kEdsWhiteBalance_WhitePaper5 = 19,
867
+ kEdsWhiteBalance_PCSet4 = 20,
868
+ kEdsWhiteBalance_PCSet5 = 21,
869
+ kEdsWhiteBalance_Click = -1,
870
+ kEdsWhiteBalance_Pasted = -2,
871
+
872
+ } EdsWhiteBalance;
873
+
874
+ /*-----------------------------------------------------------------------------
875
+ Photo Effects
876
+ -----------------------------------------------------------------------------*/
877
+ typedef enum
878
+ {
879
+ kEdsPhotoEffect_Off = 0,
880
+ kEdsPhotoEffect_Monochrome = 5,
881
+
882
+ } EdsPhotoEffect;
883
+
884
+ /*-----------------------------------------------------------------------------
885
+ Color Matrix
886
+ -----------------------------------------------------------------------------*/
887
+ typedef enum
888
+ {
889
+ kEdsColorMatrix_Custom = 0,
890
+ kEdsColorMatrix_1 = 1,
891
+ kEdsColorMatrix_2 = 2,
892
+ kEdsColorMatrix_3 = 3,
893
+ kEdsColorMatrix_4 = 4,
894
+ kEdsColorMatrix_5 = 5,
895
+ kEdsColorMatrix_6 = 6,
896
+ kEdsColorMatrix_7 = 7,
897
+
898
+ } EdsColorMatrix;
899
+
900
+ /*-----------------------------------------------------------------------------
901
+ Filter Effects
902
+ -----------------------------------------------------------------------------*/
903
+ typedef enum
904
+ {
905
+ kEdsFilterEffect_None = 0,
906
+ kEdsFilterEffect_Yellow = 1,
907
+ kEdsFilterEffect_Orange = 2,
908
+ kEdsFilterEffect_Red = 3,
909
+ kEdsFilterEffect_Green = 4,
910
+
911
+ } EdsFilterEffect;
912
+
913
+ /*-----------------------------------------------------------------------------
914
+ Toning Effects
915
+ -----------------------------------------------------------------------------*/
916
+ typedef enum
917
+ {
918
+ kEdsTonigEffect_None = 0,
919
+ kEdsTonigEffect_Sepia = 1,
920
+ kEdsTonigEffect_Blue = 2,
921
+ kEdsTonigEffect_Purple = 3,
922
+ kEdsTonigEffect_Green = 4,
923
+
924
+ } EdsTonigEffect;
925
+
926
+ /*-----------------------------------------------------------------------------
927
+ Color Space
928
+ -----------------------------------------------------------------------------*/
929
+ typedef enum
930
+ {
931
+ kEdsColorSpace_sRGB = 1,
932
+ kEdsColorSpace_AdobeRGB = 2,
933
+ kEdsColorSpace_Unknown = 0xffffffff,
934
+
935
+ } EdsColorSpace;
936
+
937
+ /*-----------------------------------------------------------------------------
938
+ PictureStyle
939
+ -----------------------------------------------------------------------------*/
940
+ typedef enum
941
+ {
942
+ kEdsPictureStyle_Standard = 0x0081,
943
+ kEdsPictureStyle_Portrait = 0x0082,
944
+ kEdsPictureStyle_Landscape = 0x0083,
945
+ kEdsPictureStyle_Neutral = 0x0084,
946
+ kEdsPictureStyle_Faithful = 0x0085,
947
+ kEdsPictureStyle_Monochrome = 0x0086,
948
+ kEdsPictureStyle_Auto = 0x0087,
949
+ kEdsPictureStyle_User1 = 0x0021,
950
+ kEdsPictureStyle_User2 = 0x0022,
951
+ kEdsPictureStyle_User3 = 0x0023,
952
+ kEdsPictureStyle_PC1 = 0x0041,
953
+ kEdsPictureStyle_PC2 = 0x0042,
954
+ kEdsPictureStyle_PC3 = 0x0043,
955
+
956
+ } EdsPictureStyle;
957
+
958
+ /*-----------------------------------------------------------------------------
959
+ Transfer Option
960
+ -----------------------------------------------------------------------------*/
961
+ typedef enum
962
+ {
963
+ kEdsTransferOption_ByDirectTransfer = 1,
964
+ kEdsTransferOption_ByRelease = 2,
965
+ kEdsTransferOption_ToDesktop = 0x00000100,
966
+
967
+ } EdsTransferOption;
968
+
969
+ /*-----------------------------------------------------------------------------
970
+ AE Mode
971
+ -----------------------------------------------------------------------------*/
972
+ typedef enum
973
+ {
974
+ kEdsAEMode_Program = 0 ,
975
+ kEdsAEMode_Tv = 1,
976
+ kEdsAEMode_Av = 2,
977
+ kEdsAEMode_Manual = 3,
978
+ kEdsAEMode_Bulb = 4,
979
+ kEdsAEMode_A_DEP = 5,
980
+ kEdsAEMode_DEP = 6,
981
+ kEdsAEMode_Custom = 7,
982
+ kEdsAEMode_Lock = 8,
983
+ kEdsAEMode_Green = 9,
984
+ kEdsAEMode_NightPortrait = 10,
985
+ kEdsAEMode_Sports = 11,
986
+ kEdsAEMode_Portrait = 12,
987
+ kEdsAEMode_Landscape = 13,
988
+ kEdsAEMode_Closeup = 14,
989
+ kEdsAEMode_FlashOff = 15,
990
+ kEdsAEMode_CreativeAuto = 19,
991
+ kEdsAEMode_Movie = 20,
992
+ kEdsAEMode_PhotoInMovie = 21,
993
+ kEdsAEMode_SceneIntelligentAuto = 22,
994
+ kEdsAEMode_SCN = 25,
995
+ kEdsAEMode_Unknown = 0xffffffff,
996
+
997
+ } EdsAEMode;
998
+
999
+ /*-----------------------------------------------------------------------------
1000
+ Bracket
1001
+ -----------------------------------------------------------------------------*/
1002
+ typedef enum
1003
+ {
1004
+ kEdsBracket_AEB = 0x01,
1005
+ kEdsBracket_ISOB = 0x02,
1006
+ kEdsBracket_WBB = 0x04,
1007
+ kEdsBracket_FEB = 0x08,
1008
+ kEdsBracket_Unknown = 0xffffffff,
1009
+
1010
+ } EdsBracket;
1011
+
1012
+ /*-----------------------------------------------------------------------------
1013
+ EVF Output Device [Flag]
1014
+ -----------------------------------------------------------------------------*/
1015
+ typedef enum
1016
+ {
1017
+ kEdsEvfOutputDevice_TFT = 1,
1018
+ kEdsEvfOutputDevice_PC = 2,
1019
+ kEdsEvfOutputDevice_MOBILE = 4,
1020
+ kEdsEvfOutputDevice_MOBILE2 = 8,
1021
+ } EdsEvfOutputDevice;
1022
+
1023
+ /*-----------------------------------------------------------------------------
1024
+ EVF Zoom
1025
+ -----------------------------------------------------------------------------*/
1026
+ typedef enum
1027
+ {
1028
+ kEdsEvfZoom_Fit = 1,
1029
+ kEdsEvfZoom_x5 = 5,
1030
+ kEdsEvfZoom_x10 = 10,
1031
+ } EdsEvfZoom;
1032
+
1033
+ /*-----------------------------------------------------------------------------
1034
+ EVF AF Mode
1035
+ -----------------------------------------------------------------------------*/
1036
+ typedef enum
1037
+ {
1038
+ Evf_AFMode_Quick = 0,
1039
+ Evf_AFMode_Live = 1,
1040
+ Evf_AFMode_LiveFace = 2,
1041
+ Evf_AFMode_LiveMulti = 3,
1042
+ } EdsEvfAFMode;
1043
+
1044
+ /*-----------------------------------------------------------------------------
1045
+ Strobo Mode
1046
+ -----------------------------------------------------------------------------*/
1047
+ typedef enum
1048
+ {
1049
+ kEdsStroboModeInternal = 0,
1050
+ kEdsStroboModeExternalETTL = 1,
1051
+ kEdsStroboModeExternalATTL = 2,
1052
+ kEdsStroboModeExternalTTL = 3,
1053
+ kEdsStroboModeExternalAuto = 4,
1054
+ kEdsStroboModeExternalManual = 5,
1055
+ kEdsStroboModeManual = 6,
1056
+ }EdsStroboMode;
1057
+
1058
+ /*-----------------------------------------------------------------------------
1059
+ ETTL-II Mode
1060
+ -----------------------------------------------------------------------------*/
1061
+ typedef enum
1062
+ {
1063
+ kEdsETTL2ModeEvaluative = 0,
1064
+ kEdsETTL2ModeAverage = 1,
1065
+ }EdsETTL2Mode;
1066
+
1067
+ /******************************************************************************
1068
+ Definition of base Structures
1069
+ ******************************************************************************/
1070
+ /*-----------------------------------------------------------------------------
1071
+ Point
1072
+ -----------------------------------------------------------------------------*/
1073
+ typedef struct tagEdsPoint
1074
+ {
1075
+ EdsInt32 x;
1076
+ EdsInt32 y;
1077
+
1078
+ } EdsPoint;
1079
+
1080
+ /*-----------------------------------------------------------------------------
1081
+ Size
1082
+ -----------------------------------------------------------------------------*/
1083
+ typedef struct tagEdsSize
1084
+ {
1085
+ EdsInt32 width;
1086
+ EdsInt32 height;
1087
+
1088
+ } EdsSize;
1089
+
1090
+ /*-----------------------------------------------------------------------------
1091
+ Rectangle
1092
+ -----------------------------------------------------------------------------*/
1093
+ typedef struct tagEdsRect
1094
+ {
1095
+ EdsPoint point;
1096
+ EdsSize size;
1097
+
1098
+ } EdsRect;
1099
+
1100
+ /*-----------------------------------------------------------------------------
1101
+ Rational
1102
+ -----------------------------------------------------------------------------*/
1103
+ typedef struct tagEdsRational
1104
+ {
1105
+ EdsInt32 numerator;
1106
+ EdsUInt32 denominator;
1107
+ } EdsRational;
1108
+
1109
+ /*-----------------------------------------------------------------------------
1110
+ Time
1111
+ -----------------------------------------------------------------------------*/
1112
+ typedef struct tagEdsTime
1113
+ {
1114
+ EdsUInt32 year;
1115
+ EdsUInt32 month;
1116
+ EdsUInt32 day;
1117
+ EdsUInt32 hour;
1118
+ EdsUInt32 minute;
1119
+ EdsUInt32 second;
1120
+ EdsUInt32 milliseconds;
1121
+
1122
+ } EdsTime;
1123
+
1124
+ /*-----------------------------------------------------------------------------
1125
+ Device Info
1126
+ -----------------------------------------------------------------------------*/
1127
+ typedef struct tagEdsDeviceInfo
1128
+ {
1129
+ EdsChar szPortName[ EDS_MAX_NAME ];
1130
+ EdsChar szDeviceDescription[ EDS_MAX_NAME ];
1131
+ EdsUInt32 deviceSubType;
1132
+ EdsUInt32 reserved;
1133
+ } EdsDeviceInfo;
1134
+
1135
+ /*-----------------------------------------------------------------------------
1136
+ Volume Info
1137
+ -----------------------------------------------------------------------------*/
1138
+ typedef struct tagEdsVolumeInfo
1139
+ {
1140
+ EdsUInt32 storageType;
1141
+ EdsAccess access;
1142
+ EdsUInt64 maxCapacity;
1143
+ EdsUInt64 freeSpaceInBytes;
1144
+ EdsChar szVolumeLabel[ EDS_MAX_NAME ];
1145
+
1146
+ } EdsVolumeInfo;
1147
+
1148
+ /*-----------------------------------------------------------------------------
1149
+ DirectoryItem Info
1150
+ -----------------------------------------------------------------------------*/
1151
+ typedef struct tagEdsDirectoryItemInfo
1152
+ {
1153
+ EdsUInt32 size;
1154
+ EdsBool isFolder;
1155
+ EdsUInt32 groupID;
1156
+ EdsUInt32 option;
1157
+ EdsChar szFileName[ EDS_MAX_NAME ];
1158
+
1159
+ EdsUInt32 format;
1160
+ EdsUInt32 dateTime;
1161
+
1162
+ } EdsDirectoryItemInfo;
1163
+
1164
+ /*-----------------------------------------------------------------------------
1165
+ Image Info
1166
+ -----------------------------------------------------------------------------*/
1167
+ typedef struct tagEdsImageInfo
1168
+ {
1169
+ EdsUInt32 width;
1170
+ EdsUInt32 height;
1171
+ EdsUInt32 numOfComponents;
1172
+ EdsUInt32 componentDepth;
1173
+ EdsRect effectiveRect;
1174
+ EdsUInt32 reserved1;
1175
+ EdsUInt32 reserved2;
1176
+
1177
+ } EdsImageInfo;
1178
+
1179
+ /*-----------------------------------------------------------------------------
1180
+ SaveImage Setting
1181
+ -----------------------------------------------------------------------------*/
1182
+ typedef struct tagEdsSaveImageSetting
1183
+ {
1184
+ EdsUInt32 JPEGQuality;
1185
+ EdsStreamRef iccProfileStream;
1186
+ EdsUInt32 reserved;
1187
+
1188
+ } EdsSaveImageSetting;
1189
+
1190
+ /*-----------------------------------------------------------------------------
1191
+ Property Desc
1192
+ -----------------------------------------------------------------------------*/
1193
+ typedef struct tagEdsPropertyDesc
1194
+ {
1195
+ EdsInt32 form;
1196
+ EdsInt32 access;
1197
+ EdsInt32 numElements;
1198
+ EdsInt32 propDesc[128];
1199
+
1200
+ } EdsPropertyDesc;
1201
+
1202
+ /*-----------------------------------------------------------------------------
1203
+ Picture Style Desc
1204
+ -----------------------------------------------------------------------------*/
1205
+ typedef struct tagEdsPictureStyleDesc
1206
+ {
1207
+ EdsInt32 contrast;
1208
+ EdsUInt32 sharpness;
1209
+ EdsInt32 saturation;
1210
+ EdsInt32 colorTone;
1211
+ EdsUInt32 filterEffect;
1212
+ EdsUInt32 toningEffect;
1213
+
1214
+ } EdsPictureStyleDesc;
1215
+
1216
+ /*-----------------------------------------------------------------------------
1217
+ Focus Info
1218
+ -----------------------------------------------------------------------------*/
1219
+ typedef struct tagEdsFrameDesc
1220
+ {
1221
+ EdsUInt32 valid;
1222
+ EdsUInt32 selected;
1223
+ EdsUInt32 justFocus;
1224
+ EdsRect rect;
1225
+ EdsUInt32 reserved;
1226
+
1227
+ } EdsFocusPoint;
1228
+
1229
+ typedef struct tagEdsFocusInfo
1230
+ {
1231
+ EdsRect imageRect;
1232
+ EdsUInt32 pointNumber;
1233
+ EdsFocusPoint focusPoint[128];
1234
+ EdsUInt32 executeMode;
1235
+
1236
+ } EdsFocusInfo;
1237
+
1238
+ /*-----------------------------------------------------------------------------
1239
+ User WhiteBalance (PC set1,2,3)/ User ToneCurve / User PictureStyle dataset
1240
+ -----------------------------------------------------------------------------*/
1241
+ typedef struct tagEdsUsersetData
1242
+ {
1243
+ EdsUInt32 valid;
1244
+ EdsUInt32 dataSize;
1245
+ EdsChar szCaption[32];
1246
+ EdsUInt8 data[1];
1247
+
1248
+ } EdsUsersetData;
1249
+
1250
+ /*-----------------------------------------------------------------------------
1251
+ Capacity
1252
+ -----------------------------------------------------------------------------*/
1253
+ typedef struct tagEdsCapacity
1254
+ {
1255
+ EdsInt32 numberOfFreeClusters;
1256
+ EdsInt32 bytesPerSector;
1257
+ EdsBool reset;
1258
+
1259
+ } EdsCapacity;
1260
+
1261
+
1262
+ /*-----------------------------------------------------------------------------
1263
+ FramePoint
1264
+ -----------------------------------------------------------------------------*/
1265
+ typedef struct tagEdsFramePoint
1266
+ {
1267
+ EdsInt32 x;
1268
+ EdsInt32 y;
1269
+
1270
+ } EdsFramePoint;
1271
+
1272
+ /******************************************************************************
1273
+ Callback Functions
1274
+ ******************************************************************************/
1275
+ /*-----------------------------------------------------------------------------
1276
+ EdsProgressCallback
1277
+ -----------------------------------------------------------------------------*/
1278
+ typedef EdsError ( EDSCALLBACK *EdsProgressCallback )(
1279
+ EdsUInt32 inPercent,
1280
+ EdsVoid * inContext,
1281
+ EdsBool * outCancel );
1282
+
1283
+ /*-----------------------------------------------------------------------------
1284
+ EdsCameraAddedHandler
1285
+ -----------------------------------------------------------------------------*/
1286
+ typedef EdsError ( EDSCALLBACK *EdsCameraAddedHandler )(
1287
+ EdsVoid *inContext );
1288
+
1289
+ /*-----------------------------------------------------------------------------
1290
+ EdsPropertyEventHandler
1291
+ -----------------------------------------------------------------------------*/
1292
+ typedef EdsError ( EDSCALLBACK *EdsPropertyEventHandler )(
1293
+ EdsPropertyEvent inEvent,
1294
+ EdsPropertyID inPropertyID,
1295
+ EdsUInt32 inParam,
1296
+ EdsVoid * inContext );
1297
+
1298
+ /*-----------------------------------------------------------------------------
1299
+ EdsObjectEventHandler
1300
+ -----------------------------------------------------------------------------*/
1301
+ typedef EdsError ( EDSCALLBACK *EdsObjectEventHandler )(
1302
+ EdsObjectEvent inEvent,
1303
+ EdsBaseRef inRef,
1304
+ EdsVoid * inContext );
1305
+
1306
+ /*-----------------------------------------------------------------------------
1307
+ EdsStateEventHandler
1308
+ -----------------------------------------------------------------------------*/
1309
+ typedef EdsError ( EDSCALLBACK *EdsStateEventHandler )(
1310
+ EdsStateEvent inEvent,
1311
+ EdsUInt32 inEventData,
1312
+ EdsVoid * inContext );
1313
+
1314
+
1315
+ /*----------------------------------------------------------------------------*/
1316
+ typedef EdsError EDSSTDCALL EdsReadStream (void *inContext, EdsUInt32 inReadSize, EdsVoid* outBuffer, EdsUInt32* outReadSize);
1317
+ typedef EdsError EDSSTDCALL EdsWriteStream (void *inContext, EdsUInt32 inWriteSize, const EdsVoid* inBuffer, EdsUInt32* outWrittenSize);
1318
+ typedef EdsError EDSSTDCALL EdsSeekStream (void *inContext, EdsInt32 inSeekOffset, EdsSeekOrigin inSeekOrigin);
1319
+ typedef EdsError EDSSTDCALL EdsTellStream (void *inContext, EdsInt32 *outPosition);
1320
+ typedef EdsError EDSSTDCALL EdsGetStreamLength (void *inContext, EdsUInt32 *outLength);
1321
+
1322
+ typedef struct
1323
+ {
1324
+ void *context;
1325
+
1326
+ EdsReadStream *read;
1327
+ EdsWriteStream *write;
1328
+ EdsSeekStream *seek;
1329
+ EdsTellStream *tell;
1330
+ EdsGetStreamLength *getLength;
1331
+ } EdsIStream;
1332
+
1333
+ #ifdef __MACOS__
1334
+ #if PRAGMA_STRUCT_ALIGN
1335
+ #pragma options align=reset
1336
+ #endif
1337
+ #else
1338
+ #pragma pack (pop)
1339
+ #endif
1340
+
1341
+
1342
+ #endif /* _EDS_TYPES_H_ */