summaryrefslogtreecommitdiff
path: root/src/ptp.h
diff options
context:
space:
mode:
authorLinus Walleij <triad@df.lth.se>2009-05-06 21:25:09 +0000
committerLinus Walleij <triad@df.lth.se>2009-05-06 21:25:09 +0000
commit7e75653e64021908ca66b155eeb950d8304c87d8 (patch)
tree99fb2cf64741fd35a12b87e4e410ee643dcfc03b /src/ptp.h
parent6f05002d6cfbf22777def1c79d92d4df323e5d48 (diff)
downloadlibmtp-7e75653e64021908ca66b155eeb950d8304c87d8.tar.gz
Upstream sync to libgphoto2
Diffstat (limited to 'src/ptp.h')
-rw-r--r--src/ptp.h265
1 files changed, 241 insertions, 24 deletions
diff --git a/src/ptp.h b/src/ptp.h
index b861972..a042616 100644
--- a/src/ptp.h
+++ b/src/ptp.h
@@ -307,7 +307,10 @@ typedef struct _PTPIPHeader PTPIPHeader;
*/
#define PTP_OC_CANON_EOS_GetObjectInfoEx 0x9109
#define PTP_OC_CANON_EOS_GetThumbEx 0x910A
+#define PTP_OC_CANON_EOS_SendPartialObject 0x910B
#define PTP_OC_CANON_EOS_SetObjectAttributes 0x910C
+#define PTP_OC_CANON_EOS_GetObjectTime 0x910D
+#define PTP_OC_CANON_EOS_SetObjectTime 0x910E
/* 910f: no args, no data, 1 response arg (0). */
#define PTP_OC_CANON_EOS_RemoteRelease 0x910F
@@ -339,6 +342,30 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_OC_CANON_EOS_ResetUILock 0x911C
#define PTP_OC_CANON_EOS_KeepDeviceOn 0x911D
#define PTP_OC_CANON_EOS_SetNullPacketMode 0x911E
+#define PTP_OC_CANON_EOS_UpdateFirmware 0x911F
+#define PTP_OC_CANON_EOS_TransferCompleteDT 0x9120
+#define PTP_OC_CANON_EOS_CancelTransferDT 0x9121
+#define PTP_OC_CANON_EOS_SetWftProfile 0x9122
+#define PTP_OC_CANON_EOS_GetWftProfile 0x9122
+#define PTP_OC_CANON_EOS_SetProfileToWft 0x9124
+#define PTP_OC_CANON_EOS_BulbStart 0x9125
+#define PTP_OC_CANON_EOS_BulbEnd 0x9126
+#define PTP_OC_CANON_EOS_RequestDevicePropValue 0x9127
+#define PTP_OC_CANON_EOS_RemoteReleaseOn 0x9128
+#define PTP_OC_CANON_EOS_RemoteReleaseOff 0x9129
+#define PTP_OC_CANON_EOS_InitiateViewfinder 0x9151
+#define PTP_OC_CANON_EOS_TerminateViewfinder 0x9152
+#define PTP_OC_CANON_EOS_GetViewFinderData 0x9153
+#define PTP_OC_CANON_EOS_DoAf 0x9154
+#define PTP_OC_CANON_EOS_DriveLens 0x9155
+#define PTP_OC_CANON_EOS_DepthOfFieldPreview 0x9156
+#define PTP_OC_CANON_EOS_ClickWB 0x9157
+#define PTP_OC_CANON_EOS_Zoom 0x9158
+#define PTP_OC_CANON_EOS_ZoomPosition 0x9159
+#define PTP_OC_CANON_EOS_SetLiveAfFrame 0x915a
+#define PTP_OC_CANON_EOS_AfCancel 0x9160
+#define PTP_OC_CANON_EOS_FAPIMessageTX 0x91FE
+#define PTP_OC_CANON_EOS_FAPIMessageRX 0x91FF
/* Nikon extension Operation Codes */
#define PTP_OC_NIKON_GetProfileAllData 0x9006
@@ -351,17 +378,18 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_OC_NIKON_AfDrive 0x90C1 /* no params, no data */
#define PTP_OC_NIKON_SetControlMode 0x90C2 /* 1 param, no data */
#define PTP_OC_NIKON_DelImageSDRAM 0x90C3 /* no params, no data */
+#define PTP_OC_NIKON_GetLargeThumb 0x90C4
#define PTP_OC_NIKON_CurveDownload 0x90C5 /* 1 param, data in */
#define PTP_OC_NIKON_CurveUpload 0x90C6 /* 1 param, data out */
#define PTP_OC_NIKON_CheckEvent 0x90C7 /* no params, data in */
#define PTP_OC_NIKON_DeviceReady 0x90C8 /* no params, no data */
#define PTP_OC_NIKON_SetPreWBData 0x90C9 /* 3 params, data out */
- /* 0x90CA */
+#define PTP_OC_NIKON_GetVendorPropCodes 0x90CA /* 0 params, data in */
#define PTP_OC_NIKON_AfCaptureSDRAM 0x90CB /* no params, no data */
#define PTP_OC_NIKON_GetPictCtrlData 0x90CC
#define PTP_OC_NIKON_SetPictCtrlData 0x90CD
#define PTP_OC_NIKON_DelCstPicCtrl 0x90CE
-#define PTP_OC_NIKON_GetQuickParam 0x90CF
+#define PTP_OC_NIKON_GetPicCtrlCapability 0x90CF
/* Nikon Liveview stuff */
#define PTP_OC_NIKON_GetPreviewImg 0x9200
@@ -369,7 +397,7 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_OC_NIKON_EndLiveView 0x9202
#define PTP_OC_NIKON_GetLiveViewImg 0x9203
#define PTP_OC_NIKON_MfDrive 0x9204
-#define PTP_OC_NIKON_ChangeAfDrive 0x9205
+#define PTP_OC_NIKON_ChangeAfArea 0x9205
#define PTP_OC_NIKON_AfDriveCancel 0x9206
#define PTP_OC_NIKON_GetDevicePTPIPInfo 0x90E0
@@ -506,7 +534,20 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_RC_EK_FilenameInvalid 0xA003
/* Nikon specific response codes */
-#define PTP_RC_NIKON_AdvancedTransferCancel 0xA022
+#define PTP_RC_NIKON_HardwareError 0xA001
+#define PTP_RC_NIKON_OutOfFocus 0xA002
+#define PTP_RC_NIKON_ChangeCameraModeFailed 0xA003
+#define PTP_RC_NIKON_InvalidStatus 0xA004
+#define PTP_RC_NIKON_SetPropertyNotSupported 0xA005
+#define PTP_RC_NIKON_WbResetError 0xA006
+#define PTP_RC_NIKON_DustReferenceError 0xA007
+#define PTP_RC_NIKON_ShutterSpeedBulb 0xA008
+#define PTP_RC_NIKON_MirrorUpSequence 0xA009
+#define PTP_RC_NIKON_CameraModeNotAdjustFNumber 0xA00A
+#define PTP_RC_NIKON_NotLiveView 0xA00B
+#define PTP_RC_NIKON_MfDriveStepEnd 0xA00C
+#define PTP_RC_NIKON_MfDriveStepInsufficiency 0xA00E
+#define PTP_RC_NIKON_AdvancedTransferCancel 0xA022
/* Canon specific response codes */
#define PTP_RC_CANON_A009 0xA009
@@ -568,11 +609,39 @@ typedef struct _PTPIPHeader PTPIPHeader;
#define PTP_EC_CANON_StartDirectTransfer 0xC011
#define PTP_EC_CANON_StopDirectTransfer 0xC013
+/* Canon EOS events */
+#define PTP_EC_CANON_EOS_RequestGetEvent 0xc101
+#define PTP_EC_CANON_EOS_ObjectAddedEx 0xc181
+#define PTP_EC_CANON_EOS_ObjectRemoved 0xc182
+#define PTP_EC_CANON_EOS_RequestGetObjectInfoEx 0xc183
+#define PTP_EC_CANON_EOS_StorageStatusChanged 0xc184
+#define PTP_EC_CANON_EOS_StorageInfoChanged 0xc185
+#define PTP_EC_CANON_EOS_RequestObjectTransfer 0xc186
+#define PTP_EC_CANON_EOS_ObjectInfoChangedEx 0xc187
+#define PTP_EC_CANON_EOS_ObjectContentChanged 0xc188
+#define PTP_EC_CANON_EOS_PropValueChanged 0xc189
+#define PTP_EC_CANON_EOS_AvailListChanged 0xc18a
+#define PTP_EC_CANON_EOS_CameraStatusChanged 0xc18b
+#define PTP_EC_CANON_EOS_WillSoonShutdown 0xc18d
+#define PTP_EC_CANON_EOS_ShutdownTimerUpdated 0xc18e
+#define PTP_EC_CANON_EOS_RequestCancelTransfer 0xc18f
+#define PTP_EC_CANON_EOS_RequestObjectTransferDT 0xc190
+#define PTP_EC_CANON_EOS_RequestCancelTransferDT 0xc191
+#define PTP_EC_CANON_EOS_StoreAdded 0xc192
+#define PTP_EC_CANON_EOS_StoreRemoved 0xc193
+#define PTP_EC_CANON_EOS_BulbExposureTime 0xc194
+#define PTP_EC_CANON_EOS_RecordingTime 0xc195
+#define PTP_EC_CANON_EOS_RequestObjectTransferTS 0xC1a2
+#define PTP_EC_CANON_EOS_AfResult 0xc1a3
+
+/* Nikon extension Event Codes */
+
/* Nikon extension Event Codes */
#define PTP_EC_Nikon_ObjectAddedInSDRAM 0xC101
-#define PTP_EC_Nikon_CaptureOverflow 0xC102
+#define PTP_EC_Nikon_CaptureCompleteRecInSdram 0xC102
/* Gets 1 parameter, objectid pointing to DPOF object */
#define PTP_EC_Nikon_AdvancedTransfer 0xC103
+#define PTP_EC_Nikon_PreviewImageAdded 0xC104
/* MTP Event codes */
#define PTP_EC_MTP_ObjectPropChanged 0xC801
@@ -713,6 +782,7 @@ typedef struct _PTPObjectInfo PTPObjectInfo;
#define PTP_OFC_EK_M3U 0xb002
/* Canon extension */
#define PTP_OFC_CANON_CRW 0xb101
+#define PTP_OFC_CANON_CRW3 0xb103
/* MTP extensions */
#define PTP_OFC_MTP_MediaCard 0xb211
#define PTP_OFC_MTP_MediaCardGroup 0xb212
@@ -785,6 +855,8 @@ typedef struct _PTPObjectInfo PTPObjectInfo;
#define PTP_PS_NoProtection 0x0000
#define PTP_PS_ReadOnly 0x0001
+#define PTP_PS_MTP_ReadOnlyData 0x8002
+#define PTP_PS_MTP_NonTransferableData 0x8003
/* PTP Storage Types */
@@ -996,6 +1068,17 @@ typedef struct _PTPCanon_Property {
PTPDevicePropDesc dpd;
} PTPCanon_Property;
+typedef struct _PTPCanonEOSDeviceInfo {
+ /* length */
+ uint32_t EventsSupported_len;
+ uint32_t *EventsSupported;
+
+ uint32_t DevicePropertiesSupported_len;
+ uint32_t *DevicePropertiesSupported;
+
+ uint32_t unk_len;
+ uint32_t *unk;
+} PTPCanonEOSDeviceInfo;
/* DataType Codes */
@@ -1180,18 +1263,119 @@ typedef struct _PTPCanon_Property {
#define PTP_DPC_CANON_EOS_ShutterSpeed 0xD102
#define PTP_DPC_CANON_EOS_ISOSpeed 0xD103
#define PTP_DPC_CANON_EOS_ExpCompensation 0xD104
-#define PTP_DPC_CANON_EOS_CameraMode 0xD105
-#define PTP_DPC_CANON_EOS_MeteringMode 0xD107
-#define PTP_DPC_CANON_EOS_Focus 0xD108
+#define PTP_DPC_CANON_EOS_AutoExposureMode 0xD105
+#define PTP_DPC_CANON_EOS_DriveMode 0xD106
+#define PTP_DPC_CANON_EOS_MeteringMode 0xD107
+#define PTP_DPC_CANON_EOS_FocusMode 0xD108
#define PTP_DPC_CANON_EOS_WhiteBalance 0xD109
+#define PTP_DPC_CANON_EOS_ColorTemperature 0xD10A
#define PTP_DPC_CANON_EOS_WhiteBalanceAdjustA 0xD10B
#define PTP_DPC_CANON_EOS_WhiteBalanceAdjustB 0xD10C
+#define PTP_DPC_CANON_EOS_WhiteBalanceXA 0xD10D
+#define PTP_DPC_CANON_EOS_WhiteBalanceXB 0xD10E
#define PTP_DPC_CANON_EOS_ColorSpace 0xD10F
#define PTP_DPC_CANON_EOS_PictureStyle 0xD110
-#define PTP_DPC_CANON_EOS_TransferOption 0xD111
+#define PTP_DPC_CANON_EOS_BatteryPower 0xD111
+#define PTP_DPC_CANON_EOS_BatterySelect 0xD112
#define PTP_DPC_CANON_EOS_CameraTime 0xD113
#define PTP_DPC_CANON_EOS_Owner 0xD115
-#define PTP_DPC_CANON_EOS_ImageFormat 0xD120
+#define PTP_DPC_CANON_EOS_ModelID 0xD116
+#define PTP_DPC_CANON_EOS_PTPExtensionVersion 0xD119
+#define PTP_DPC_CANON_EOS_DPOFVersion 0xD11A
+#define PTP_DPC_CANON_EOS_AvailableShots 0xD11B
+#define PTP_DPC_CANON_EOS_CaptureDestination 0xD11C
+#define PTP_DPC_CANON_EOS_BracketMode 0xD11D
+#define PTP_DPC_CANON_EOS_CurrentStorage 0xD11E
+#define PTP_DPC_CANON_EOS_CurrentFolder 0xD11F
+#define PTP_DPC_CANON_EOS_ImageFormat 0xD120 /* file setting */
+#define PTP_DPC_CANON_EOS_ImageFormatCF 0xD121 /* file setting CF */
+#define PTP_DPC_CANON_EOS_ImageFormatSD 0xD122 /* file setting SD */
+#define PTP_DPC_CANON_EOS_ImageFormatExtHD 0xD123 /* file setting exthd */
+#define PTP_DPC_CANON_EOS_CompressionS 0xD130
+#define PTP_DPC_CANON_EOS_CompressionM1 0xD131
+#define PTP_DPC_CANON_EOS_CompressionM2 0xD132
+#define PTP_DPC_CANON_EOS_CompressionL 0xD133
+#define PTP_DPC_CANON_EOS_PCWhiteBalance1 0xD140
+#define PTP_DPC_CANON_EOS_PCWhiteBalance2 0xD141
+#define PTP_DPC_CANON_EOS_PCWhiteBalance3 0xD142
+#define PTP_DPC_CANON_EOS_PCWhiteBalance4 0xD143
+#define PTP_DPC_CANON_EOS_PCWhiteBalance5 0xD144
+#define PTP_DPC_CANON_EOS_MWhiteBalance 0xD145
+#define PTP_DPC_CANON_EOS_PictureStyleStandard 0xD150
+#define PTP_DPC_CANON_EOS_PictureStylePortrait 0xD151
+#define PTP_DPC_CANON_EOS_PictureStyleLandscape 0xD152
+#define PTP_DPC_CANON_EOS_PictureStyleNeutral 0xD153
+#define PTP_DPC_CANON_EOS_PictureStyleFaithful 0xD154
+#define PTP_DPC_CANON_EOS_PictureStyleBlackWhite 0xD155
+#define PTP_DPC_CANON_EOS_PictureStyleUserSet1 0xD160
+#define PTP_DPC_CANON_EOS_PictureStyleUserSet2 0xD161
+#define PTP_DPC_CANON_EOS_PictureStyleUserSet3 0xD162
+#define PTP_DPC_CANON_EOS_PictureStyleParam1 0xD170
+#define PTP_DPC_CANON_EOS_PictureStyleParam2 0xD171
+#define PTP_DPC_CANON_EOS_PictureStyleParam3 0xD172
+#define PTP_DPC_CANON_EOS_FlavorLUTParams 0xD17f
+#define PTP_DPC_CANON_EOS_CustomFunc1 0xD180
+#define PTP_DPC_CANON_EOS_CustomFunc2 0xD181
+#define PTP_DPC_CANON_EOS_CustomFunc3 0xD182
+#define PTP_DPC_CANON_EOS_CustomFunc4 0xD183
+#define PTP_DPC_CANON_EOS_CustomFunc5 0xD184
+#define PTP_DPC_CANON_EOS_CustomFunc6 0xD185
+#define PTP_DPC_CANON_EOS_CustomFunc7 0xD186
+#define PTP_DPC_CANON_EOS_CustomFunc8 0xD187
+#define PTP_DPC_CANON_EOS_CustomFunc9 0xD188
+#define PTP_DPC_CANON_EOS_CustomFunc10 0xD189
+#define PTP_DPC_CANON_EOS_CustomFunc11 0xD18a
+#define PTP_DPC_CANON_EOS_CustomFunc12 0xD18b
+#define PTP_DPC_CANON_EOS_CustomFunc13 0xD18c
+#define PTP_DPC_CANON_EOS_CustomFunc14 0xD18d
+#define PTP_DPC_CANON_EOS_CustomFunc15 0xD18e
+#define PTP_DPC_CANON_EOS_CustomFunc16 0xD18f
+#define PTP_DPC_CANON_EOS_CustomFunc17 0xD190
+#define PTP_DPC_CANON_EOS_CustomFunc18 0xD191
+#define PTP_DPC_CANON_EOS_CustomFunc19 0xD192
+#define PTP_DPC_CANON_EOS_CustomFunc19 0xD192
+#define PTP_DPC_CANON_EOS_CustomFuncEx 0xD1a0
+#define PTP_DPC_CANON_EOS_MyMenu 0xD1a1
+#define PTP_DPC_CANON_EOS_MyMenuList 0xD1a2
+#define PTP_DPC_CANON_EOS_WftStatus 0xD1a3
+#define PTP_DPC_CANON_EOS_WftInputTransmission 0xD1a4
+#define PTP_DPC_CANON_EOS_HDDirectoryStructure 0xD1a5
+#define PTP_DPC_CANON_EOS_BatteryInfo 0xD1a6
+#define PTP_DPC_CANON_EOS_AdapterInfo 0xD1a7
+#define PTP_DPC_CANON_EOS_LensStatus 0xD1a8
+#define PTP_DPC_CANON_EOS_QuickReviewTime 0xD1a9
+#define PTP_DPC_CANON_EOS_CardExtension 0xD1aa
+#define PTP_DPC_CANON_EOS_TempStatus 0xD1ab
+#define PTP_DPC_CANON_EOS_ShutterCounter 0xD1ac
+#define PTP_DPC_CANON_EOS_SpecialOption 0xD1ad
+#define PTP_DPC_CANON_EOS_PhotoStudioMode 0xD1ae
+#define PTP_DPC_CANON_EOS_SerialNumber 0xD1af
+#define PTP_DPC_CANON_EOS_EVFOutputDevice 0xD1b0
+#define PTP_DPC_CANON_EOS_EVFMode 0xD1b1
+#define PTP_DPC_CANON_EOS_DepthOfFieldPreview 0xD1b2
+#define PTP_DPC_CANON_EOS_EVFSharpness 0xD1b3
+#define PTP_DPC_CANON_EOS_EVFWBMode 0xD1b4
+#define PTP_DPC_CANON_EOS_EVFClickWBCoeffs 0xD1b5
+#define PTP_DPC_CANON_EOS_EVFColorTemp 0xD1b6
+#define PTP_DPC_CANON_EOS_ExposureSimMode 0xD1b7
+#define PTP_DPC_CANON_EOS_EVFRecordStatus 0xD1b8
+#define PTP_DPC_CANON_EOS_LvAfSystem 0xD1ba
+#define PTP_DPC_CANON_EOS_MovSize 0xD1bb
+#define PTP_DPC_CANON_EOS_LvViewTypeSelect 0xD1bc
+#define PTP_DPC_CANON_EOS_Artist 0xD1d0
+#define PTP_DPC_CANON_EOS_Copyright 0xD1d1
+#define PTP_DPC_CANON_EOS_BracketValue 0xD1d2
+#define PTP_DPC_CANON_EOS_FocusInfoEx 0xD1d3
+#define PTP_DPC_CANON_EOS_DepthOfField 0xD1d4
+#define PTP_DPC_CANON_EOS_Brightness 0xD1d5
+#define PTP_DPC_CANON_EOS_LensAdjustParams 0xD1d6
+#define PTP_DPC_CANON_EOS_EFComp 0xD1d7
+#define PTP_DPC_CANON_EOS_LensName 0xD1d8
+#define PTP_DPC_CANON_EOS_AEB 0xD1d9
+#define PTP_DPC_CANON_EOS_StroboSetting 0xD1da
+#define PTP_DPC_CANON_EOS_StroboWirelessSetting 0xD1db
+#define PTP_DPC_CANON_EOS_StroboFiring 0xD1dc
+#define PTP_DPC_CANON_EOS_LensID 0xD1dd
/* Nikon extension device property codes */
#define PTP_DPC_NIKON_ShootingBank 0xD010
@@ -1316,7 +1500,9 @@ typedef struct _PTPCanon_Property {
#define PTP_DPC_NIKON_AutofocusArea 0xD108
#define PTP_DPC_NIKON_FlexibleProgram 0xD109
#define PTP_DPC_NIKON_LightMeter 0xD10A /* Exposure Status */
+#define PTP_DPC_NIKON_RecordingMedia 0xD10B /* Card or SDRAM */
#define PTP_DPC_NIKON_USBSpeed 0xD10C
+#define PTP_DPC_NIKON_CCDNumber 0xD10D
#define PTP_DPC_NIKON_CameraOrientation 0xD10E
#define PTP_DPC_NIKON_GroupPtnType 0xD10F
#define PTP_DPC_NIKON_ExposureApertureLock 0xD111
@@ -1352,8 +1538,12 @@ typedef struct _PTPCanon_Property {
#define PTP_DPC_NIKON_BatteryCellKind 0xD182
#define PTP_DPC_NIKON_ISOAutoHiLimit 0xD183
#define PTP_DPC_NIKON_BracketingFramesAndSteps 0xD190
-#define PTP_DPC_NIKON_LowLight 0xD1B0 /* exp disp status */
-#define PTP_DPC_NIKON_ExposureIndicateStatus 0xD1B1 /* exp indicate status */
+#define PTP_DPC_NIKON_LiveViewStatus 0xD1A2
+#define PTP_DPC_NIKON_LiveViewImageZoomRatio 0xD1A3
+#define PTP_DPC_NIKON_LiveViewProhibitCondition 0xD1A4
+#define PTP_DPC_NIKON_ExposureDisplayStatus 0xD1B0
+#define PTP_DPC_NIKON_ExposureIndicateStatus 0xD1B1
+#define PTP_DPC_NIKON_ExposureIndicateLightup 0xD1B3
#define PTP_DPC_NIKON_FlashOpen 0xD1C0
#define PTP_DPC_NIKON_FlashCharged 0xD1C1
#define PTP_DPC_NIKON_FlashMRepeatValue 0xD1D0
@@ -1369,15 +1559,19 @@ typedef struct _PTPCanon_Property {
#define PTP_DPC_NIKON_FlashCommandBMode 0xD1DA
#define PTP_DPC_NIKON_FlashCommandBCompensation 0xD1DB
#define PTP_DPC_NIKON_FlashCommandBValue 0xD1DC
+#define PTP_DPC_NIKON_ActivePicCtrlItem 0xD200
+#define PTP_DPC_NIKON_ChangePicCtrlItem 0xD201
/* Microsoft/MTP specific */
-#define PTP_DPC_MTP_SecureTime 0xD101
-#define PTP_DPC_MTP_DeviceCertificate 0xD102
-#define PTP_DPC_MTP_RevocationInfo 0xD103
-#define PTP_DPC_MTP_SynchronizationPartner 0xD401
-#define PTP_DPC_MTP_DeviceFriendlyName 0xD402
-#define PTP_DPC_MTP_VolumeLevel 0xD403
-#define PTP_DPC_MTP_DeviceIcon 0xD405
+#define PTP_DPC_MTP_SecureTime 0xD101
+#define PTP_DPC_MTP_DeviceCertificate 0xD102
+#define PTP_DPC_MTP_RevocationInfo 0xD103
+#define PTP_DPC_MTP_SynchronizationPartner 0xD401
+#define PTP_DPC_MTP_DeviceFriendlyName 0xD402
+#define PTP_DPC_MTP_VolumeLevel 0xD403
+#define PTP_DPC_MTP_DeviceIcon 0xD405
+#define PTP_DPC_MTP_SessionInitiatorInfo 0xD406
+#define PTP_DPC_MTP_PerceivedDeviceType 0xD407
#define PTP_DPC_MTP_PlaybackRate 0xD410
#define PTP_DPC_MTP_PlaybackObject 0xD411
#define PTP_DPC_MTP_PlaybackContainerIndex 0xD412
@@ -1660,11 +1854,20 @@ struct _PTPParams {
PTPObjectInfo *objectinfo;
PTPDeviceInfo deviceinfo;
+ /* PTP: the current event queue */
+ PTPContainer *events;
+ int nrofevents;
+
/* PTP: Canon specific flags list */
- uint32_t *canon_flags; /* size(handles.n) */
+ uint32_t *canon_flags; /* size(handles.n) */
PTPCanon_Property *canon_props;
int nrofcanon_props;
+ /* PTP: Canon EOS event queue */
+ PTPCanon_changes_entry *backlogentries;
+ int nrofbacklogentries;
+ int eos_captureenabled;
+
/* PTP: Wifi profiles */
uint8_t wifi_profiles_version;
uint8_t wifi_profiles_number;
@@ -1768,6 +1971,10 @@ uint16_t ptp_getdevicepropvalue (PTPParams* params, uint16_t propcode,
uint16_t ptp_setdevicepropvalue (PTPParams* params, uint16_t propcode,
PTPPropertyValue* value, uint16_t datatype);
+
+uint16_t ptp_check_event (PTPParams *params);
+int ptp_get_one_event (PTPParams *params, PTPContainer *evt);
+
/* Microsoft MTP extensions */
uint16_t ptp_mtp_getobjectpropdesc (PTPParams* params, uint16_t opc, uint16_t ofc,
PTPObjectPropDesc *objectpropertydesc);
@@ -1816,7 +2023,7 @@ uint16_t ptp_canon_viewfinderoff (PTPParams* params);
#define PTP_CANON_RESET_AWB 0x4
uint16_t ptp_canon_reset_aeafawb (PTPParams* params, uint32_t flags);
uint16_t ptp_canon_checkevent (PTPParams* params,
- PTPUSBEventContainer* event, int* isevent);
+ PTPContainer* event, int* isevent);
uint16_t ptp_canon_focuslock (PTPParams* params);
uint16_t ptp_canon_focusunlock (PTPParams* params);
uint16_t ptp_canon_keepdeviceon (PTPParams* params);
@@ -1836,7 +2043,12 @@ uint16_t ptp_canon_getobjectinfo (PTPParams* params, uint32_t store,
uint32_t handle,
PTPCANONFolderEntry** entries,
uint32_t* entnum);
-uint16_t ptp_canon_eos_getdeviceinfo (PTPParams* params, unsigned char**di, unsigned long *len );
+uint16_t ptp_canon_eos_getdeviceinfo (PTPParams* params, PTPCanonEOSDeviceInfo*di);
+uint16_t ptp_canon_eos_setuilock (PTPParams* params);
+uint16_t ptp_canon_eos_resetuilock (PTPParams* params);
+uint16_t ptp_canon_eos_start_viewfinder (PTPParams* params);
+uint16_t ptp_canon_eos_end_viewfinder (PTPParams* params);
+uint16_t ptp_canon_eos_get_viewfinder_image (PTPParams* params, unsigned char **data, unsigned int *size);
uint16_t ptp_canon_get_objecthandle_by_name (PTPParams* params, char* name, uint32_t* objectid);
uint16_t ptp_canon_get_directory (PTPParams* params, PTPObjectHandles *handles, PTPObjectInfo **oinfos, uint32_t **flags);
uint16_t ptp_canon_setobjectarchive (PTPParams* params, uint32_t oid, uint32_t flags);
@@ -1856,7 +2068,7 @@ uint16_t ptp_canon_eos_getdevicepropdesc (PTPParams* params, uint16_t propcode,
PTPDevicePropDesc *devicepropertydesc);
uint16_t ptp_canon_eos_setdevicepropvalue (PTPParams* params, uint16_t propcode,
PTPPropertyValue* value, uint16_t datatype);
-
+uint16_t ptp_nikon_get_vendorpropcodes (PTPParams* params, uint16_t **props, unsigned int *size);
uint16_t ptp_nikon_curve_download (PTPParams* params,
unsigned char **data, unsigned int *size);
uint16_t ptp_nikon_getptpipinfo (PTPParams* params, unsigned char **data, unsigned int *size);
@@ -1865,9 +2077,14 @@ uint16_t ptp_nikon_writewifiprofile (PTPParams* params, PTPNIKONWifiProfile* pro
uint16_t ptp_nikon_deletewifiprofile (PTPParams* params, uint32_t profilenr);
uint16_t ptp_nikon_setcontrolmode (PTPParams* params, uint32_t mode);
uint16_t ptp_nikon_afdrive (PTPParams* params);
+uint16_t ptp_nikon_mfdrive (PTPParams* params, uint32_t flag, uint16_t amount);
uint16_t ptp_nikon_capture (PTPParams* params, uint32_t x);
uint16_t ptp_nikon_capture_sdram (PTPParams* params);
-uint16_t ptp_nikon_check_event (PTPParams* params, PTPUSBEventContainer **evt, int *evtcnt);
+uint16_t ptp_nikon_start_liveview (PTPParams* params);
+uint16_t ptp_nikon_get_liveview_image (PTPParams* params, unsigned char**,unsigned int*);
+uint16_t ptp_nikon_get_preview_image (PTPParams* params, unsigned char**, unsigned int*, uint32_t*);
+uint16_t ptp_nikon_end_liveview (PTPParams* params);
+uint16_t ptp_nikon_check_event (PTPParams* params, PTPContainer **evt, int *evtcnt);
uint16_t ptp_nikon_getfileinfoinblock (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3,
unsigned char **data, unsigned int *size);
uint16_t ptp_nikon_device_ready (PTPParams* params);