canonball 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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_ */