Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: src/ptp.h

Issue 2345493002: Uprev libmtp to 1.1.12 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libmtp@master
Patch Set: Re-upload cl Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/playlist-spl.c ('k') | src/ptp.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* ptp.h 1 /* ptp.h
2 * 2 *
3 * Copyright (C) 2001 Mariusz Woloszyn <emsi@ipartners.pl> 3 * Copyright (C) 2001 Mariusz Woloszyn <emsi@ipartners.pl>
4 * Copyright (C) 2003-2012 Marcus Meissner <marcus@jet.franken.de> 4 * Copyright (C) 2003-2014 Marcus Meissner <marcus@jet.franken.de>
5 * Copyright (C) 2006-2008 Linus Walleij <triad@df.lth.se> 5 * Copyright (C) 2006-2008 Linus Walleij <triad@df.lth.se>
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public 8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
11 * 11 *
12 * This library is distributed in the hope that it will be useful, 12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details. 15 * Lesser General Public License for more details.
16 * 16 *
17 * You should have received a copy of the GNU Lesser General Public 17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the 18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, 19 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02111-1307, USA. 20 * Boston, MA 02110-1301 USA
21 */ 21 */
22 22
23 #ifndef __PTP_H__ 23 #ifndef __PTP_H__
24 #define __PTP_H__ 24 #define __PTP_H__
25 25
26 #include <stdarg.h> 26 #include <stdarg.h>
27 #include <time.h> 27 #include <time.h>
28 #ifdef HAVE_ICONV 28 #if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H)
29 #include <iconv.h> 29 #include <iconv.h>
30 #endif 30 #endif
31 #include "gphoto2-endian.h" 31 #include "gphoto2-endian.h"
32 #include "device-flags.h" 32 #include "device-flags.h"
33 33
34 #ifdef __cplusplus 34 #ifdef __cplusplus
35 extern "C" { 35 extern "C" {
36 #endif /* __cplusplus */ 36 #endif /* __cplusplus */
37 37
38 /* PTP datalayer byteorder */ 38 /* PTP datalayer byteorder */
(...skipping 28 matching lines...) Expand all
67 /* USB bulk max packet length for high speed endpoints */ 67 /* USB bulk max packet length for high speed endpoints */
68 /* The max packet is set to 512 bytes. The spec says 68 /* The max packet is set to 512 bytes. The spec says
69 * "end of data transfers are signaled by short packets or NULL 69 * "end of data transfers are signaled by short packets or NULL
70 * packets". It never says anything about 512, but current 70 * packets". It never says anything about 512, but current
71 * implementations seem to have chosen this value, which also 71 * implementations seem to have chosen this value, which also
72 * happens to be the size of an USB 2.0 HS endpoint, even though 72 * happens to be the size of an USB 2.0 HS endpoint, even though
73 * this is not necessary. 73 * this is not necessary.
74 * 74 *
75 * Previously we had this as 4096 for MTP devices. We have found 75 * Previously we had this as 4096 for MTP devices. We have found
76 * and fixed the bugs that made this necessary and it can be 512 again. 76 * and fixed the bugs that made this necessary and it can be 512 again.
77 *
78 * USB 3.0 has now 1024 byte EPs.
77 */ 79 */
78 #define PTP_USB_BULK_HS_MAX_PACKET_LEN_WRITE 512 80 #define PTP_USB_BULK_HS_MAX_PACKET_LEN_WRITE 512
79 #define PTP_USB_BULK_HS_MAX_PACKET_LEN_READ 512 81 #define PTP_USB_BULK_HS_MAX_PACKET_LEN_READ 512
82 #define PTP_USB_BULK_SS_MAX_PACKET_LEN_WRITE 1024
83 #define PTP_USB_BULK_SS_MAX_PACKET_LEN_READ 1024
80 #define PTP_USB_BULK_HDR_LEN (2*sizeof(uint32_t)+2*sizeof(uint16_t)) 84 #define PTP_USB_BULK_HDR_LEN (2*sizeof(uint32_t)+2*sizeof(uint16_t))
81 #define PTP_USB_BULK_PAYLOAD_LEN_WRITE» (PTP_USB_BULK_HS_MAX_PACKET_LEN_WRITE-PT P_USB_BULK_HDR_LEN) 85 #define PTP_USB_BULK_PAYLOAD_LEN_WRITE» (PTP_USB_BULK_SS_MAX_PACKET_LEN_WRITE-PT P_USB_BULK_HDR_LEN)
82 #define PTP_USB_BULK_PAYLOAD_LEN_READ» (PTP_USB_BULK_HS_MAX_PACKET_LEN_READ-PTP _USB_BULK_HDR_LEN) 86 #define PTP_USB_BULK_PAYLOAD_LEN_READ» (PTP_USB_BULK_SS_MAX_PACKET_LEN_READ-PTP _USB_BULK_HDR_LEN)
83 #define PTP_USB_BULK_REQ_LEN (PTP_USB_BULK_HDR_LEN+5*sizeof(uint32_t)) 87 #define PTP_USB_BULK_REQ_LEN (PTP_USB_BULK_HDR_LEN+5*sizeof(uint32_t))
84 88
85 struct _PTPUSBBulkContainer { 89 struct _PTPUSBBulkContainer {
86 uint32_t length; 90 uint32_t length;
87 uint16_t type; 91 uint16_t type;
88 uint16_t code; 92 uint16_t code;
89 uint32_t trans_id; 93 uint32_t trans_id;
90 union { 94 union {
91 struct { 95 struct {
92 uint32_t param1; 96 uint32_t param1;
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 #define PTP_VENDOR_AGFA_GEVAERT 0x00000005 162 #define PTP_VENDOR_AGFA_GEVAERT 0x00000005
159 #define PTP_VENDOR_MICROSOFT 0x00000006 163 #define PTP_VENDOR_MICROSOFT 0x00000006
160 #define PTP_VENDOR_EQUINOX 0x00000007 164 #define PTP_VENDOR_EQUINOX 0x00000007
161 #define PTP_VENDOR_VIEWQUEST 0x00000008 165 #define PTP_VENDOR_VIEWQUEST 0x00000008
162 #define PTP_VENDOR_STMICROELECTRONICS 0x00000009 166 #define PTP_VENDOR_STMICROELECTRONICS 0x00000009
163 #define PTP_VENDOR_NIKON 0x0000000A 167 #define PTP_VENDOR_NIKON 0x0000000A
164 #define PTP_VENDOR_CANON 0x0000000B 168 #define PTP_VENDOR_CANON 0x0000000B
165 #define PTP_VENDOR_FOTONATION 0x0000000C 169 #define PTP_VENDOR_FOTONATION 0x0000000C
166 #define PTP_VENDOR_PENTAX 0x0000000D 170 #define PTP_VENDOR_PENTAX 0x0000000D
167 #define PTP_VENDOR_FUJI 0x0000000E 171 #define PTP_VENDOR_FUJI 0x0000000E
172 /* not from standards papers, but from traces: */
173 #define PTP_VENDOR_SONY 0x00000011 /* observed in the A900 */
174 #define PTP_VENDOR_SAMSUNG 0x0000001a /* observed in the Samsung NX 1000 */
168 /* Vendor extension ID used for MTP (occasionaly, usualy 6 is used) */ 175 /* Vendor extension ID used for MTP (occasionaly, usualy 6 is used) */
169 #define PTP_VENDOR_MTP 0xffffffff 176 #define PTP_VENDOR_MTP 0xffffffff
170 177
178 /* gphoto overrides */
179 #define PTP_VENDOR_GP_OLYMPUS 0xfffffffe
180
171 /* Operation Codes */ 181 /* Operation Codes */
172 182
173 /* PTP v1.0 operation codes */ 183 /* PTP v1.0 operation codes */
174 #define PTP_OC_Undefined 0x1000 184 #define PTP_OC_Undefined 0x1000
175 #define PTP_OC_GetDeviceInfo 0x1001 185 #define PTP_OC_GetDeviceInfo 0x1001
176 #define PTP_OC_OpenSession 0x1002 186 #define PTP_OC_OpenSession 0x1002
177 #define PTP_OC_CloseSession 0x1003 187 #define PTP_OC_CloseSession 0x1003
178 #define PTP_OC_GetStorageIDs 0x1004 188 #define PTP_OC_GetStorageIDs 0x1004
179 #define PTP_OC_GetStorageInfo 0x1005 189 #define PTP_OC_GetStorageInfo 0x1005
180 #define PTP_OC_GetNumObjects 0x1006 190 #define PTP_OC_GetNumObjects 0x1006
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 #define PTP_OC_CANON_SendObjectByPath 0x9025 271 #define PTP_OC_CANON_SendObjectByPath 0x9025
262 #define PTP_OC_CANON_InitiateDirectTansferEx 0x9026 272 #define PTP_OC_CANON_InitiateDirectTansferEx 0x9026
263 #define PTP_OC_CANON_GetAncillaryObjectHandles 0x9027 273 #define PTP_OC_CANON_GetAncillaryObjectHandles 0x9027
264 #define PTP_OC_CANON_GetTreeInfo 0x9028 274 #define PTP_OC_CANON_GetTreeInfo 0x9028
265 #define PTP_OC_CANON_GetTreeSize 0x9029 275 #define PTP_OC_CANON_GetTreeSize 0x9029
266 #define PTP_OC_CANON_NotifyProgress 0x902A 276 #define PTP_OC_CANON_NotifyProgress 0x902A
267 #define PTP_OC_CANON_NotifyCancelAccepted 0x902B 277 #define PTP_OC_CANON_NotifyCancelAccepted 0x902B
268 /* 902c: no parms, read 3 uint32 in data, no response parms */ 278 /* 902c: no parms, read 3 uint32 in data, no response parms */
269 #define PTP_OC_CANON_902C 0x902C 279 #define PTP_OC_CANON_902C 0x902C
270 #define PTP_OC_CANON_GetDirectory 0x902D 280 #define PTP_OC_CANON_GetDirectory 0x902D
281 #define PTP_OC_CANON_902E 0x902E
271 282
272 #define PTP_OC_CANON_SetPairingInfo 0x9030 283 #define PTP_OC_CANON_SetPairingInfo 0x9030
273 #define PTP_OC_CANON_GetPairingInfo 0x9031 284 #define PTP_OC_CANON_GetPairingInfo 0x9031
274 #define PTP_OC_CANON_DeletePairingInfo 0x9032 285 #define PTP_OC_CANON_DeletePairingInfo 0x9032
275 #define PTP_OC_CANON_GetMACAddress 0x9033 286 #define PTP_OC_CANON_GetMACAddress 0x9033
276 /* 9034: 1 param, no parms returned */ 287 /* 9034: 1 param, no parms returned */
277 #define PTP_OC_CANON_SetDisplayMonitor 0x9034 288 #define PTP_OC_CANON_SetDisplayMonitor 0x9034
278 #define PTP_OC_CANON_PairingComplete 0x9035 289 #define PTP_OC_CANON_PairingComplete 0x9035
279 #define PTP_OC_CANON_GetWirelessMAXChannel 0x9036 290 #define PTP_OC_CANON_GetWirelessMAXChannel 0x9036
280 291
292 #define PTP_OC_CANON_GetWebServiceSpec 0x9068
293 #define PTP_OC_CANON_GetWebServiceData 0x9069
294 #define PTP_OC_CANON_SetWebServiceData 0x906B
295 #define PTP_OC_CANON_GetRootCertificateSpec 0x906C
296 #define PTP_OC_CANON_GetRootCertificateData 0x906D
297 #define PTP_OC_CANON_SetRootCertificateData 0x906F
298
281 /* 9101: no args, 8 byte data (01 00 00 00 00 00 00 00), no resp data. */ 299 /* 9101: no args, 8 byte data (01 00 00 00 00 00 00 00), no resp data. */
282 #define PTP_OC_CANON_EOS_GetStorageIDs 0x9101 300 #define PTP_OC_CANON_EOS_GetStorageIDs 0x9101
283 /* 9102: 1 arg (0) 301 /* 9102: 1 arg (0)
284 * 0x28 bytes of data: 302 * 0x28 bytes of data:
285 00000000: 34 00 00 00 02 00 02 91 0a 00 00 00 04 00 03 00 303 00000000: 34 00 00 00 02 00 02 91 0a 00 00 00 04 00 03 00
286 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 304 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
287 00000020: 00 00 ff ff ff ff 03 43 00 46 00 00 00 03 41 00 305 00000020: 00 00 ff ff ff ff 03 43 00 46 00 00 00 03 41 00
288 00000030: 3a 00 00 00 306 00000030: 3a 00 00 00
289 * no resp args 307 * no resp args
290 */ 308 */
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
352 /* 911b: no cmd args, no data, no resp args */ 370 /* 911b: no cmd args, no data, no resp args */
353 #define PTP_OC_CANON_EOS_SetUILock 0x911B 371 #define PTP_OC_CANON_EOS_SetUILock 0x911B
354 /* 911c: no cmd args, no data, no resp args */ 372 /* 911c: no cmd args, no data, no resp args */
355 #define PTP_OC_CANON_EOS_ResetUILock 0x911C 373 #define PTP_OC_CANON_EOS_ResetUILock 0x911C
356 #define PTP_OC_CANON_EOS_KeepDeviceOn 0x911D 374 #define PTP_OC_CANON_EOS_KeepDeviceOn 0x911D
357 #define PTP_OC_CANON_EOS_SetNullPacketMode 0x911E 375 #define PTP_OC_CANON_EOS_SetNullPacketMode 0x911E
358 #define PTP_OC_CANON_EOS_UpdateFirmware 0x911F 376 #define PTP_OC_CANON_EOS_UpdateFirmware 0x911F
359 #define PTP_OC_CANON_EOS_TransferCompleteDT 0x9120 377 #define PTP_OC_CANON_EOS_TransferCompleteDT 0x9120
360 #define PTP_OC_CANON_EOS_CancelTransferDT 0x9121 378 #define PTP_OC_CANON_EOS_CancelTransferDT 0x9121
361 #define PTP_OC_CANON_EOS_SetWftProfile 0x9122 379 #define PTP_OC_CANON_EOS_SetWftProfile 0x9122
362 #define PTP_OC_CANON_EOS_GetWftProfile» » 0x9122 380 #define PTP_OC_CANON_EOS_GetWftProfile» » 0x9123
363 #define PTP_OC_CANON_EOS_SetProfileToWft 0x9124 381 #define PTP_OC_CANON_EOS_SetProfileToWft 0x9124
364 #define PTP_OC_CANON_EOS_BulbStart 0x9125 382 #define PTP_OC_CANON_EOS_BulbStart 0x9125
365 #define PTP_OC_CANON_EOS_BulbEnd 0x9126 383 #define PTP_OC_CANON_EOS_BulbEnd 0x9126
366 #define PTP_OC_CANON_EOS_RequestDevicePropValue 0x9127 384 #define PTP_OC_CANON_EOS_RequestDevicePropValue 0x9127
367 385
368 /* 0x9128 args (0x1/0x2, 0x0), no data, no resp args */ 386 /* 0x9128 args (0x1/0x2, 0x0), no data, no resp args */
369 #define PTP_OC_CANON_EOS_RemoteReleaseOn 0x9128 387 #define PTP_OC_CANON_EOS_RemoteReleaseOn 0x9128
370 /* 0x9129 args (0x1/0x2), no data, no resp args */ 388 /* 0x9129 args (0x1/0x2), no data, no resp args */
371 #define PTP_OC_CANON_EOS_RemoteReleaseOff 0x9129 389 #define PTP_OC_CANON_EOS_RemoteReleaseOff 0x9129
372 390
391 #define PTP_OC_CANON_EOS_RegistBackgroundImage 0x912A
392 #define PTP_OC_CANON_EOS_ChangePhotoStudioMode 0x912B
393 #define PTP_OC_CANON_EOS_GetPartialObjectEx 0x912C
394 #define PTP_OC_CANON_EOS_ResetMirrorLockupState 0x9130
395 #define PTP_OC_CANON_EOS_PopupBuiltinFlash 0x9131
396 #define PTP_OC_CANON_EOS_EndGetPartialObjectEx 0x9132
397 #define PTP_OC_CANON_EOS_MovieSelectSWOn 0x9133
398 #define PTP_OC_CANON_EOS_MovieSelectSWOff 0x9134
399 #define PTP_OC_CANON_EOS_GetCTGInfo 0x9135
400 #define PTP_OC_CANON_EOS_GetLensAdjust 0x9136
401 #define PTP_OC_CANON_EOS_SetLensAdjust 0x9137
402 #define PTP_OC_CANON_EOS_GetMusicInfo 0x9138
403 /* 3 paramaeters, no data, OFC, size, unknown */
404 #define PTP_OC_CANON_EOS_CreateHandle 0x9139
405 #define PTP_OC_CANON_EOS_SendPartialObjectEx 0x913A
406 #define PTP_OC_CANON_EOS_EndSendPartialObjectEx 0x913B
407 #define PTP_OC_CANON_EOS_SetCTGInfo 0x913C
408 #define PTP_OC_CANON_EOS_SetRequestOLCInfoGroup 0x913D
409 #define PTP_OC_CANON_EOS_SetRequestRollingPitchingLevel 0x913E
410 #define PTP_OC_CANON_EOS_GetCameraSupport 0x913F
411 #define PTP_OC_CANON_EOS_SetRating 0x9140 /* 2 args */
412 #define PTP_OC_CANON_EOS_RequestInnerDevelopStart 0x9141 /* 2 args: 1 type , 1 object? */
413 #define PTP_OC_CANON_EOS_RequestInnerDevelopParamChange 0x9142
414 #define PTP_OC_CANON_EOS_RequestInnerDevelopEnd 0x9143
415 #define PTP_OC_CANON_EOS_GpsLoggingDataMode 0x9144 /* 1 arg */
416 #define PTP_OC_CANON_EOS_GetGpsLogCurrentHandle 0x9145
417
373 #define PTP_OC_CANON_EOS_InitiateViewfinder 0x9151 418 #define PTP_OC_CANON_EOS_InitiateViewfinder 0x9151
374 #define PTP_OC_CANON_EOS_TerminateViewfinder 0x9152 419 #define PTP_OC_CANON_EOS_TerminateViewfinder 0x9152
420 /* EOS M2 wlan: 2 params, 0x00200000 0x01000000 */
375 #define PTP_OC_CANON_EOS_GetViewFinderData 0x9153 421 #define PTP_OC_CANON_EOS_GetViewFinderData 0x9153
376 #define PTP_OC_CANON_EOS_DoAf 0x9154 422 #define PTP_OC_CANON_EOS_DoAf 0x9154
377 #define PTP_OC_CANON_EOS_DriveLens 0x9155 423 #define PTP_OC_CANON_EOS_DriveLens 0x9155
378 #define PTP_OC_CANON_EOS_DepthOfFieldPreview» 0x9156 424 #define PTP_OC_CANON_EOS_DepthOfFieldPreview» 0x9156 /* 1 arg */
379 #define PTP_OC_CANON_EOS_ClickWB» » 0x9157 425 #define PTP_OC_CANON_EOS_ClickWB» » 0x9157 /* 2 args: x,y */
380 #define PTP_OC_CANON_EOS_Zoom» » » 0x9158 426 #define PTP_OC_CANON_EOS_Zoom» » » 0x9158 /* 1 arg */
381 #define PTP_OC_CANON_EOS_ZoomPosition» » 0x9159 427 #define PTP_OC_CANON_EOS_ZoomPosition» » 0x9159 /* 2 args: x,y */
382 #define PTP_OC_CANON_EOS_SetLiveAfFrame»» 0x915a 428 #define PTP_OC_CANON_EOS_SetLiveAfFrame»» 0x915A
429 #define PTP_OC_CANON_EOS_TouchAfPosition» 0x915B /* 3 args: type,x,y */
430 #define PTP_OC_CANON_EOS_SetLvPcFlavoreditMode» 0x915C /* 1 arg */
431 #define PTP_OC_CANON_EOS_SetLvPcFlavoreditParam»0x915D /* 1 arg */
383 #define PTP_OC_CANON_EOS_AfCancel 0x9160 432 #define PTP_OC_CANON_EOS_AfCancel 0x9160
433 #define PTP_OC_CANON_EOS_SetDefaultCameraSetting 0x91BE
434 #define PTP_OC_CANON_EOS_GetAEData 0x91BF
435 #define PTP_OC_CANON_EOS_NotifyNetworkError 0x91E8
436 #define PTP_OC_CANON_EOS_AdapterTransferProgress 0x91E9
437 #define PTP_OC_CANON_EOS_TransferComplete2 0x91F0
438 #define PTP_OC_CANON_EOS_CancelTransfer2 0x91F1
384 #define PTP_OC_CANON_EOS_FAPIMessageTX 0x91FE 439 #define PTP_OC_CANON_EOS_FAPIMessageTX 0x91FE
385 #define PTP_OC_CANON_EOS_FAPIMessageRX 0x91FF 440 #define PTP_OC_CANON_EOS_FAPIMessageRX 0x91FF
386 441
387 /* Nikon extension Operation Codes */ 442 /* Nikon extension Operation Codes */
388 #define PTP_OC_NIKON_GetProfileAllData 0x9006 443 #define PTP_OC_NIKON_GetProfileAllData 0x9006
389 #define PTP_OC_NIKON_SendProfileData 0x9007 444 #define PTP_OC_NIKON_SendProfileData 0x9007
390 #define PTP_OC_NIKON_DeleteProfile 0x9008 445 #define PTP_OC_NIKON_DeleteProfile 0x9008
391 #define PTP_OC_NIKON_SetProfileData 0x9009 446 #define PTP_OC_NIKON_SetProfileData 0x9009
392 #define PTP_OC_NIKON_AdvancedTransfer 0x9010 447 #define PTP_OC_NIKON_AdvancedTransfer 0x9010
393 #define PTP_OC_NIKON_GetFileInfoInBlock 0x9011 448 #define PTP_OC_NIKON_GetFileInfoInBlock 0x9011
394 #define PTP_OC_NIKON_Capture 0x90C0 /* 1 param, no data */ 449 #define PTP_OC_NIKON_Capture 0x90C0 /* 1 param, no data */
395 #define PTP_OC_NIKON_AfDrive 0x90C1 /* no params, no data */ 450 #define PTP_OC_NIKON_AfDrive 0x90C1 /* no params, no data */
396 #define PTP_OC_NIKON_SetControlMode» 0x90C2» /* 1 param, no data */ 451 #define PTP_OC_NIKON_SetControlMode» 0x90C2» /* 1 param, no data */
397 #define PTP_OC_NIKON_DelImageSDRAM» 0x90C3» /* no params, no data */ 452 #define PTP_OC_NIKON_DelImageSDRAM» 0x90C3» /* 1 param, no data */
398 #define PTP_OC_NIKON_GetLargeThumb 0x90C4 453 #define PTP_OC_NIKON_GetLargeThumb 0x90C4
399 #define PTP_OC_NIKON_CurveDownload 0x90C5 /* 1 param, data in */ 454 #define PTP_OC_NIKON_CurveDownload 0x90C5 /* 1 param, data in */
400 #define PTP_OC_NIKON_CurveUpload 0x90C6 /* 1 param, data out */ 455 #define PTP_OC_NIKON_CurveUpload 0x90C6 /* 1 param, data out */
401 #define PTP_OC_NIKON_CheckEvent 0x90C7 /* no params, data in */ 456 #define PTP_OC_NIKON_CheckEvent 0x90C7 /* no params, data in */
402 #define PTP_OC_NIKON_DeviceReady 0x90C8 /* no params, no data */ 457 #define PTP_OC_NIKON_DeviceReady 0x90C8 /* no params, no data */
403 #define PTP_OC_NIKON_SetPreWBData 0x90C9 /* 3 params, data out */ 458 #define PTP_OC_NIKON_SetPreWBData 0x90C9 /* 3 params, data out */
404 #define PTP_OC_NIKON_GetVendorPropCodes 0x90CA /* 0 params, data in */ 459 #define PTP_OC_NIKON_GetVendorPropCodes 0x90CA /* 0 params, data in */
405 #define PTP_OC_NIKON_AfCaptureSDRAM 0x90CB /* no params, no data */ 460 #define PTP_OC_NIKON_AfCaptureSDRAM 0x90CB /* no params, no data */
406 #define PTP_OC_NIKON_GetPictCtrlData» 0x90CC 461 #define PTP_OC_NIKON_GetPictCtrlData» 0x90CC» /* 2 params, data in */
407 #define PTP_OC_NIKON_SetPictCtrlData» 0x90CD 462 #define PTP_OC_NIKON_SetPictCtrlData» 0x90CD» /* 2 params, data out */
408 #define PTP_OC_NIKON_DelCstPicCtrl» 0x90CE 463 #define PTP_OC_NIKON_DelCstPicCtrl» 0x90CE» /* 1 param, no data */
409 #define PTP_OC_NIKON_GetPicCtrlCapability» 0x90CF 464 #define PTP_OC_NIKON_GetPicCtrlCapability» 0x90CF» /* 1 param, data in */
410 465
411 /* Nikon Liveview stuff */ 466 /* Nikon Liveview stuff */
412 #define PTP_OC_NIKON_GetPreviewImg 0x9200 467 #define PTP_OC_NIKON_GetPreviewImg 0x9200
413 #define PTP_OC_NIKON_StartLiveView» 0x9201 468 #define PTP_OC_NIKON_StartLiveView» 0x9201» /* no params */
414 #define PTP_OC_NIKON_EndLiveView» 0x9202 469 #define PTP_OC_NIKON_EndLiveView» 0x9202» /* no params */
415 #define PTP_OC_NIKON_GetLiveViewImg» 0x9203 470 #define PTP_OC_NIKON_GetLiveViewImg» 0x9203» /* no params, data in */
416 #define PTP_OC_NIKON_MfDrive» » 0x9204 471 #define PTP_OC_NIKON_MfDrive» » 0x9204» /* 2 params */
417 #define PTP_OC_NIKON_ChangeAfArea» 0x9205 472 #define PTP_OC_NIKON_ChangeAfArea» 0x9205» /* 2 params */
418 #define PTP_OC_NIKON_AfDriveCancel» 0x9206 473 #define PTP_OC_NIKON_AfDriveCancel» 0x9206» /* no params */
474 /* 2 params:
475 * 0xffffffff == No AF before, 0xfffffffe == AF before capture
476 * sdram=1, card=0
477 */
478 #define PTP_OC_NIKON_InitiateCaptureRecInMedia» 0x9207» /* 1 params */
479
480 #define PTP_OC_NIKON_GetVendorStorageIDs» 0x9209» /* no params, data in */
481
482 #define PTP_OC_NIKON_StartMovieRecInCard» 0x920a» /* no params, no data */
483 #define PTP_OC_NIKON_EndMovieRec» » 0x920b» /* no params, no data */
484
485 #define PTP_OC_NIKON_TerminateCapture» » 0x920c» /* 2 params */
419 486
420 #define PTP_OC_NIKON_GetDevicePTPIPInfo 0x90E0 487 #define PTP_OC_NIKON_GetDevicePTPIPInfo 0x90E0
421 488
489 #define PTP_OC_NIKON_GetPartialObjectHiSpeed 0x9400 /* 3 params, data in */
490
491 /* From Nikon V1 Trace */
492 #define PTP_OC_NIKON_GetDevicePropEx 0x9504 /* gets device prop data a */
493
422 /* Casio EX-F1 (from http://code.google.com/p/exf1ctrl/ ) */ 494 /* Casio EX-F1 (from http://code.google.com/p/exf1ctrl/ ) */
423 #define PTP_OC_CASIO_STILL_START 0x9001 495 #define PTP_OC_CASIO_STILL_START 0x9001
424 #define PTP_OC_CASIO_STILL_STOP 0x9002 496 #define PTP_OC_CASIO_STILL_STOP 0x9002
425 497
426 #define PTP_OC_CASIO_FOCUS 0x9007 498 #define PTP_OC_CASIO_FOCUS 0x9007
427 #define PTP_OC_CASIO_CF_PRESS 0x9009 499 #define PTP_OC_CASIO_CF_PRESS 0x9009
428 #define PTP_OC_CASIO_CF_RELEASE 0x900A 500 #define PTP_OC_CASIO_CF_RELEASE 0x900A
429 #define PTP_OC_CASIO_GET_OBJECT_INFO 0x900C 501 #define PTP_OC_CASIO_GET_OBJECT_INFO 0x900C
430 502
431 #define PTP_OC_CASIO_SHUTTER 0x9024 503 #define PTP_OC_CASIO_SHUTTER 0x9024
(...skipping 11 matching lines...) Expand all
443 #define PTP_OC_CASIO_MOVIE_START 0x9041 515 #define PTP_OC_CASIO_MOVIE_START 0x9041
444 #define PTP_OC_CASIO_MOVIE_STOP 0x9042 516 #define PTP_OC_CASIO_MOVIE_STOP 0x9042
445 #define PTP_OC_CASIO_MOVIE_PRESS 0x9043 517 #define PTP_OC_CASIO_MOVIE_PRESS 0x9043
446 #define PTP_OC_CASIO_MOVIE_RELEASE 0x9044 518 #define PTP_OC_CASIO_MOVIE_RELEASE 0x9044
447 #define PTP_OC_CASIO_GET_MOVIE_HANDLES 0x9045 519 #define PTP_OC_CASIO_GET_MOVIE_HANDLES 0x9045
448 #define PTP_OC_CASIO_MOVIE_RESET 0x9046 520 #define PTP_OC_CASIO_MOVIE_RESET 0x9046
449 521
450 #define PTP_OC_CASIO_GET_OBJECT 0x9025 522 #define PTP_OC_CASIO_GET_OBJECT 0x9025
451 #define PTP_OC_CASIO_GET_THUMBNAIL 0x9026 523 #define PTP_OC_CASIO_GET_THUMBNAIL 0x9026
452 524
525 /* Sony stuff */
526 /* 9201:
527 * 3 params: 1,0,0 ; IN: data 8 bytes all 0
528 * or:
529 * 3 params: 2,0,0 ; IN: data 8 bytes all 0
530 * or
531 * 3 params: 3,0,0,: IN: data 8 butes all 0
532 */
533 #define PTP_OC_SONY_SDIOConnect 0x9201
534 /* 9202: 1 param, 0xc8; IN data:
535 * 16 bit: 0xc8
536 * ptp array 32 bit: index, 16 bit values of propcodes */
537 #define PTP_OC_SONY_GetSDIOGetExtDeviceInfo 0x9202
538
539 #define PTP_OC_SONY_GetDevicePropdesc 0x9203
540 #define PTP_OC_SONY_GetDevicePropertyValue 0x9204
541 /* 1 param, 16bit propcode, SEND DATA: propvalue */
542 #define PTP_OC_SONY_SetControlDeviceA 0x9205
543 #define PTP_OC_SONY_GetControlDeviceDesc 0x9206
544 /* 1 param, 16bit propcode, SEND DATA: propvalue */
545 #define PTP_OC_SONY_SetControlDeviceB 0x9207
546 /* get all device property data at once */
547 #define PTP_OC_SONY_GetAllDevicePropData 0x9209 /* gets a 4126 byte blob of device props ?*/
548
453 /* Microsoft / MTP extension codes */ 549 /* Microsoft / MTP extension codes */
454 550
455 #define PTP_OC_MTP_GetObjectPropsSupported 0x9801 551 #define PTP_OC_MTP_GetObjectPropsSupported 0x9801
456 #define PTP_OC_MTP_GetObjectPropDesc 0x9802 552 #define PTP_OC_MTP_GetObjectPropDesc 0x9802
457 #define PTP_OC_MTP_GetObjectPropValue 0x9803 553 #define PTP_OC_MTP_GetObjectPropValue 0x9803
458 #define PTP_OC_MTP_SetObjectPropValue 0x9804 554 #define PTP_OC_MTP_SetObjectPropValue 0x9804
459 #define PTP_OC_MTP_GetObjPropList 0x9805 555 #define PTP_OC_MTP_GetObjPropList 0x9805
460 #define PTP_OC_MTP_SetObjPropList 0x9806 556 #define PTP_OC_MTP_SetObjPropList 0x9806
461 #define PTP_OC_MTP_GetInterdependendPropdesc 0x9807 557 #define PTP_OC_MTP_GetInterdependendPropdesc 0x9807
462 #define PTP_OC_MTP_SendObjectPropList 0x9808 558 #define PTP_OC_MTP_SendObjectPropList 0x9808
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 /* Olympus E series commands */ 631 /* Olympus E series commands */
536 #define PTP_OC_OLYMPUS_Capture 0x9101 632 #define PTP_OC_OLYMPUS_Capture 0x9101
537 #define PTP_OC_OLYMPUS_SelfCleaning 0x9103 633 #define PTP_OC_OLYMPUS_SelfCleaning 0x9103
538 #define PTP_OC_OLYMPUS_SetRGBGain 0x9106 634 #define PTP_OC_OLYMPUS_SetRGBGain 0x9106
539 #define PTP_OC_OLYMPUS_SetPresetMode 0x9107 635 #define PTP_OC_OLYMPUS_SetPresetMode 0x9107
540 #define PTP_OC_OLYMPUS_SetWBBiasAll 0x9108 636 #define PTP_OC_OLYMPUS_SetWBBiasAll 0x9108
541 #define PTP_OC_OLYMPUS_GetCameraControlMode 0x910a 637 #define PTP_OC_OLYMPUS_GetCameraControlMode 0x910a
542 #define PTP_OC_OLYMPUS_SetCameraControlMode 0x910b 638 #define PTP_OC_OLYMPUS_SetCameraControlMode 0x910b
543 #define PTP_OC_OLYMPUS_SetWBRGBGain 0x910c 639 #define PTP_OC_OLYMPUS_SetWBRGBGain 0x910c
544 #define PTP_OC_OLYMPUS_GetDeviceInfo 0x9301 640 #define PTP_OC_OLYMPUS_GetDeviceInfo 0x9301
545 #define PTP_OC_OLYMPUS_Init1» » » » 0x9302 641 #define PTP_OC_OLYMPUS_OpenSession» » » 0x9302
546 #define PTP_OC_OLYMPUS_SetDateTime 0x9402 642 #define PTP_OC_OLYMPUS_SetDateTime 0x9402
547 #define PTP_OC_OLYMPUS_GetDateTime 0x9482 643 #define PTP_OC_OLYMPUS_GetDateTime 0x9482
548 #define PTP_OC_OLYMPUS_SetCameraID 0x9501 644 #define PTP_OC_OLYMPUS_SetCameraID 0x9501
549 #define PTP_OC_OLYMPUS_GetCameraID 0x9581 645 #define PTP_OC_OLYMPUS_GetCameraID 0x9581
550 646
647 /* Android Random I/O Extensions Codes */
648 #define PTP_OC_ANDROID_GetPartialObject64 0x95C1
649 #define PTP_OC_ANDROID_SendPartialObject 0x95C2
650 #define PTP_OC_ANDROID_TruncateObject 0x95C3
651 #define PTP_OC_ANDROID_BeginEditObject 0x95C4
652 #define PTP_OC_ANDROID_EndEditObject 0x95C5
653
654 /* Leica opcodes, from Lightroom tether plugin */
655 #define PTP_OC_LEICA_SetCameraSettings 0x9001
656 #define PTP_OC_LEICA_GetCameraSettings 0x9002
657 #define PTP_OC_LEICA_GetLensParameter 0x9003
658 /* probably 2 arguments.
659 * generic: releaseStage, stepSize
660 * Release(releasestage) = (releasestage,0)
661 * Release() = (0,0)
662 * AEStart() = (1,0)
663 * Autofocusrelease() = (2,0)
664 * AutofocusPush() = (1,0) ... same as AEStart?
665 * KeepCameraActive() = (0xe,0)
666 */
667 #define PTP_OC_LEICA_Release 0x9004
668 #define PTP_OC_LEICA_OpenLESession 0x9005
669 #define PTP_OC_LEICA_CloseLESession 0x9006
670 #define PTP_OC_LEICA_RequestObjectTransferReady 0x9007
671
551 /* Proprietary vendor extension operations mask */ 672 /* Proprietary vendor extension operations mask */
552 #define PTP_OC_EXTENSION_MASK 0xF000 673 #define PTP_OC_EXTENSION_MASK 0xF000
553 #define PTP_OC_EXTENSION 0x9000 674 #define PTP_OC_EXTENSION 0x9000
554 675
555 /* Response Codes */ 676 /* Response Codes */
556 677
557 /* PTP v1.0 response codes */ 678 /* PTP v1.0 response codes */
558 #define PTP_RC_Undefined 0x2000 679 #define PTP_RC_Undefined 0x2000
559 #define PTP_RC_OK 0x2001 680 #define PTP_RC_OK 0x2001
560 #define PTP_RC_GeneralError 0x2002 681 #define PTP_RC_GeneralError 0x2002
561 #define PTP_RC_SessionNotOpen 0x2003 682 #define PTP_RC_SessionNotOpen 0x2003
562 #define PTP_RC_InvalidTransactionID» 0x2004 683 #define PTP_RC_InvalidTransactionID 0x2004
563 #define PTP_RC_OperationNotSupported 0x2005 684 #define PTP_RC_OperationNotSupported 0x2005
564 #define PTP_RC_ParameterNotSupported 0x2006 685 #define PTP_RC_ParameterNotSupported 0x2006
565 #define PTP_RC_IncompleteTransfer 0x2007 686 #define PTP_RC_IncompleteTransfer 0x2007
566 #define PTP_RC_InvalidStorageId 0x2008 687 #define PTP_RC_InvalidStorageId 0x2008
567 #define PTP_RC_InvalidObjectHandle 0x2009 688 #define PTP_RC_InvalidObjectHandle 0x2009
568 #define PTP_RC_DevicePropNotSupported 0x200A 689 #define PTP_RC_DevicePropNotSupported 0x200A
569 #define PTP_RC_InvalidObjectFormatCode 0x200B 690 #define PTP_RC_InvalidObjectFormatCode 0x200B
570 #define PTP_RC_StoreFull 0x200C 691 #define PTP_RC_StoreFull 0x200C
571 #define PTP_RC_ObjectWriteProtected 0x200D 692 #define PTP_RC_ObjectWriteProtected 0x200D
572 #define PTP_RC_StoreReadOnly 0x200E 693 #define PTP_RC_StoreReadOnly 0x200E
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 (microsoft.com/AAVT 1.0) */ 760 (microsoft.com/AAVT 1.0) */
640 #define PTP_RC_MTP_Invalid_Media_Session_ID 0xA170 761 #define PTP_RC_MTP_Invalid_Media_Session_ID 0xA170
641 #define PTP_RC_MTP_Media_Session_Limit_Reached 0xA171 762 #define PTP_RC_MTP_Media_Session_Limit_Reached 0xA171
642 #define PTP_RC_MTP_No_More_Data 0xA172 763 #define PTP_RC_MTP_No_More_Data 0xA172
643 764
644 /* WiFi Provisioning MTP Extension Error Codes (microsoft.com/WPDWCN: 1.0) */ 765 /* WiFi Provisioning MTP Extension Error Codes (microsoft.com/WPDWCN: 1.0) */
645 #define PTP_RC_MTP_Invalid_WFC_Syntax 0xA121 766 #define PTP_RC_MTP_Invalid_WFC_Syntax 0xA121
646 #define PTP_RC_MTP_WFC_Version_Not_Supported 0xA122 767 #define PTP_RC_MTP_WFC_Version_Not_Supported 0xA122
647 768
648 /* libptp2 extended ERROR codes */ 769 /* libptp2 extended ERROR codes */
770 #define PTP_ERROR_TIMEOUT 0x02FA
771 #define PTP_ERROR_CANCEL 0x02FB
772 #define PTP_ERROR_BADPARAM 0x02FC
773 #define PTP_ERROR_RESP_EXPECTED 0x02FD
774 #define PTP_ERROR_DATA_EXPECTED 0x02FE
649 #define PTP_ERROR_IO 0x02FF 775 #define PTP_ERROR_IO 0x02FF
650 #define PTP_ERROR_DATA_EXPECTED 0x02FE
651 #define PTP_ERROR_RESP_EXPECTED 0x02FD
652 #define PTP_ERROR_BADPARAM 0x02FC
653 #define PTP_ERROR_CANCEL 0x02FB
654 #define PTP_ERROR_TIMEOUT 0x02FA
655 776
656 /* PTP Event Codes */ 777 /* PTP Event Codes */
657 778
658 #define PTP_EC_Undefined 0x4000 779 #define PTP_EC_Undefined 0x4000
659 #define PTP_EC_CancelTransaction 0x4001 780 #define PTP_EC_CancelTransaction 0x4001
660 #define PTP_EC_ObjectAdded 0x4002 781 #define PTP_EC_ObjectAdded 0x4002
661 #define PTP_EC_ObjectRemoved 0x4003 782 #define PTP_EC_ObjectRemoved 0x4003
662 #define PTP_EC_StoreAdded 0x4004 783 #define PTP_EC_StoreAdded 0x4004
663 #define PTP_EC_StoreRemoved 0x4005 784 #define PTP_EC_StoreRemoved 0x4005
664 #define PTP_EC_DevicePropChanged 0x4006 785 #define PTP_EC_DevicePropChanged 0x4006
665 #define PTP_EC_ObjectInfoChanged 0x4007 786 #define PTP_EC_ObjectInfoChanged 0x4007
666 #define PTP_EC_DeviceInfoChanged 0x4008 787 #define PTP_EC_DeviceInfoChanged 0x4008
667 #define PTP_EC_RequestObjectTransfer 0x4009 788 #define PTP_EC_RequestObjectTransfer 0x4009
668 #define PTP_EC_StoreFull 0x400A 789 #define PTP_EC_StoreFull 0x400A
669 #define PTP_EC_DeviceReset 0x400B 790 #define PTP_EC_DeviceReset 0x400B
670 #define PTP_EC_StorageInfoChanged 0x400C 791 #define PTP_EC_StorageInfoChanged 0x400C
671 #define PTP_EC_CaptureComplete 0x400D 792 #define PTP_EC_CaptureComplete 0x400D
672 #define PTP_EC_UnreportedStatus 0x400E 793 #define PTP_EC_UnreportedStatus 0x400E
673 794
674 /* Canon extension Event Codes */ 795 /* Canon extension Event Codes */
675 #define PTP_EC_CANON_ExtendedErrorcode 0xC005 /* ? */ 796 #define PTP_EC_CANON_ExtendedErrorcode 0xC005 /* ? */
676 #define PTP_EC_CANON_ObjectInfoChanged 0xC008 797 #define PTP_EC_CANON_ObjectInfoChanged 0xC008
677 #define PTP_EC_CANON_RequestObjectTransfer 0xC009 798 #define PTP_EC_CANON_RequestObjectTransfer 0xC009
799 #define PTP_EC_CANON_ShutterButtonPressed0 0xC00B
678 #define PTP_EC_CANON_CameraModeChanged 0xC00C 800 #define PTP_EC_CANON_CameraModeChanged 0xC00C
679 #define PTP_EC_CANON_ShutterButtonPressed» 0xC00E 801 #define PTP_EC_CANON_ShutterButtonPressed1» 0xC00E
680 802
681 #define PTP_EC_CANON_StartDirectTransfer 0xC011 803 #define PTP_EC_CANON_StartDirectTransfer 0xC011
682 #define PTP_EC_CANON_StopDirectTransfer 0xC013 804 #define PTP_EC_CANON_StopDirectTransfer 0xC013
683 805
684 /* Canon EOS events */ 806 /* Canon EOS events */
685 #define PTP_EC_CANON_EOS_RequestGetEvent» 0xc101 807 #define PTP_EC_CANON_EOS_RequestGetEvent» » 0xc101
686 #define PTP_EC_CANON_EOS_ObjectAddedEx» » 0xc181 808 #define PTP_EC_CANON_EOS_ObjectAddedEx» » » 0xc181
687 #define PTP_EC_CANON_EOS_ObjectRemoved» » 0xc182 809 #define PTP_EC_CANON_EOS_ObjectRemoved» » » 0xc182
688 #define PTP_EC_CANON_EOS_RequestGetObjectInfoEx»0xc183 810 #define PTP_EC_CANON_EOS_RequestGetObjectInfoEx»» 0xc183
689 #define PTP_EC_CANON_EOS_StorageStatusChanged» 0xc184 811 #define PTP_EC_CANON_EOS_StorageStatusChanged» » 0xc184
690 #define PTP_EC_CANON_EOS_StorageInfoChanged» 0xc185 812 #define PTP_EC_CANON_EOS_StorageInfoChanged» » 0xc185
691 #define PTP_EC_CANON_EOS_RequestObjectTransfer» 0xc186 813 #define PTP_EC_CANON_EOS_RequestObjectTransfer» » 0xc186
692 #define PTP_EC_CANON_EOS_ObjectInfoChangedEx» 0xc187 814 #define PTP_EC_CANON_EOS_ObjectInfoChangedEx» » 0xc187
693 #define PTP_EC_CANON_EOS_ObjectContentChanged» 0xc188 815 #define PTP_EC_CANON_EOS_ObjectContentChanged» » 0xc188
694 #define PTP_EC_CANON_EOS_PropValueChanged» 0xc189 816 #define PTP_EC_CANON_EOS_PropValueChanged» » 0xc189
695 #define PTP_EC_CANON_EOS_AvailListChanged» 0xc18a 817 #define PTP_EC_CANON_EOS_AvailListChanged» » 0xc18a
696 #define PTP_EC_CANON_EOS_CameraStatusChanged» 0xc18b 818 #define PTP_EC_CANON_EOS_CameraStatusChanged» » 0xc18b
697 #define PTP_EC_CANON_EOS_WillSoonShutdown» 0xc18d 819 #define PTP_EC_CANON_EOS_WillSoonShutdown» » 0xc18d
698 #define PTP_EC_CANON_EOS_ShutdownTimerUpdated» 0xc18e 820 #define PTP_EC_CANON_EOS_ShutdownTimerUpdated» » 0xc18e
699 #define PTP_EC_CANON_EOS_RequestCancelTransfer» 0xc18f 821 #define PTP_EC_CANON_EOS_RequestCancelTransfer» » 0xc18f
700 #define PTP_EC_CANON_EOS_RequestObjectTransferDT 0xc190 822 #define PTP_EC_CANON_EOS_RequestObjectTransferDT 0xc190
701 #define PTP_EC_CANON_EOS_RequestCancelTransferDT 0xc191 823 #define PTP_EC_CANON_EOS_RequestCancelTransferDT 0xc191
702 #define PTP_EC_CANON_EOS_StoreAdded» » 0xc192 824 #define PTP_EC_CANON_EOS_StoreAdded» » » 0xc192
703 #define PTP_EC_CANON_EOS_StoreRemoved» » 0xc193 825 #define PTP_EC_CANON_EOS_StoreRemoved» » » 0xc193
704 #define PTP_EC_CANON_EOS_BulbExposureTime» 0xc194 826 #define PTP_EC_CANON_EOS_BulbExposureTime» » 0xc194
705 #define PTP_EC_CANON_EOS_RecordingTime» » 0xc195 827 #define PTP_EC_CANON_EOS_RecordingTime» » » 0xc195
706 #define PTP_EC_CANON_EOS_RequestObjectTransferTS» » 0xC1a2 828 #define PTP_EC_CANON_EOS_RequestObjectTransferTS» 0xC1a2
707 #define PTP_EC_CANON_EOS_AfResult» » 0xc1a3 829 #define PTP_EC_CANON_EOS_AfResult» » » 0xc1a3
830 #define PTP_EC_CANON_EOS_CTGInfoCheckComplete» » 0xc1a4
831 #define PTP_EC_CANON_EOS_OLCInfoChanged»» » 0xc1a5
832 #define PTP_EC_CANON_EOS_RequestObjectTransferFTP» 0xc1f1
708 833
709 /* Nikon extension Event Codes */ 834 /* Nikon extension Event Codes */
710 835
711 /* Nikon extension Event Codes */ 836 /* Nikon extension Event Codes */
712 #define PTP_EC_Nikon_ObjectAddedInSDRAM 0xC101 837 #define PTP_EC_Nikon_ObjectAddedInSDRAM 0xC101
713 #define PTP_EC_Nikon_CaptureCompleteRecInSdram 0xC102 838 #define PTP_EC_Nikon_CaptureCompleteRecInSdram 0xC102
714 /* Gets 1 parameter, objectid pointing to DPOF object */ 839 /* Gets 1 parameter, objectid pointing to DPOF object */
715 #define PTP_EC_Nikon_AdvancedTransfer 0xC103 840 #define PTP_EC_Nikon_AdvancedTransfer 0xC103
716 #define PTP_EC_Nikon_PreviewImageAdded 0xC104 841 #define PTP_EC_Nikon_PreviewImageAdded 0xC104
717 842
843 /* Olympus E series */
844 #define PTP_EC_Olympus_PropertyChanged 0xC102
845 #define PTP_EC_Olympus_CaptureComplete 0xC103
846
847 /* Sony */
848 #define PTP_EC_Sony_ObjectAdded 0xC201
849 #define PTP_EC_Sony_ObjectRemoved 0xC202
850 #define PTP_EC_Sony_PropertyChanged 0xC203
851
718 /* MTP Event codes */ 852 /* MTP Event codes */
719 #define PTP_EC_MTP_ObjectPropChanged 0xC801 853 #define PTP_EC_MTP_ObjectPropChanged 0xC801
720 #define PTP_EC_MTP_ObjectPropDescChanged 0xC802 854 #define PTP_EC_MTP_ObjectPropDescChanged 0xC802
721 #define PTP_EC_MTP_ObjectReferencesChanged 0xC803 855 #define PTP_EC_MTP_ObjectReferencesChanged 0xC803
722 856
723 /* constants for GetObjectHandles */ 857 /* constants for GetObjectHandles */
724 #define PTP_GOH_ALL_STORAGE 0xffffffff 858 #define PTP_GOH_ALL_STORAGE 0xffffffff
725 #define PTP_GOH_ALL_FORMATS 0x00000000 859 #define PTP_GOH_ALL_FORMATS 0x00000000
726 #define PTP_GOH_ALL_ASSOCS 0x00000000 860 #define PTP_GOH_ALL_ASSOCS 0x00000000
727 #define PTP_GOH_ROOT_PARENT 0xffffffff 861 #define PTP_GOH_ROOT_PARENT 0xffffffff
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
853 #define PTP_OFC_JP2 0x380F 987 #define PTP_OFC_JP2 0x380F
854 #define PTP_OFC_JPX 0x3810 988 #define PTP_OFC_JPX 0x3810
855 /* ptp v1.1 has only DNG new */ 989 /* ptp v1.1 has only DNG new */
856 #define PTP_OFC_DNG 0x3811 990 #define PTP_OFC_DNG 0x3811
857 /* Eastman Kodak extension ancillary format */ 991 /* Eastman Kodak extension ancillary format */
858 #define PTP_OFC_EK_M3U 0xb002 992 #define PTP_OFC_EK_M3U 0xb002
859 /* Canon extension */ 993 /* Canon extension */
860 #define PTP_OFC_CANON_CRW 0xb101 994 #define PTP_OFC_CANON_CRW 0xb101
861 #define PTP_OFC_CANON_CRW3 0xb103 995 #define PTP_OFC_CANON_CRW3 0xb103
862 #define PTP_OFC_CANON_MOV 0xb104 996 #define PTP_OFC_CANON_MOV 0xb104
997 #define PTP_OFC_CANON_MOV2 0xb105
863 /* CHDK specific raw mode */ 998 /* CHDK specific raw mode */
864 #define PTP_OFC_CANON_CHDK_CRW 0xb1ff 999 #define PTP_OFC_CANON_CHDK_CRW 0xb1ff
1000 /* Sony */
1001 #define PTP_OFC_SONY_RAW 0xb101
865 /* MTP extensions */ 1002 /* MTP extensions */
866 #define PTP_OFC_MTP_MediaCard 0xb211 1003 #define PTP_OFC_MTP_MediaCard 0xb211
867 #define PTP_OFC_MTP_MediaCardGroup 0xb212 1004 #define PTP_OFC_MTP_MediaCardGroup 0xb212
868 #define PTP_OFC_MTP_Encounter 0xb213 1005 #define PTP_OFC_MTP_Encounter 0xb213
869 #define PTP_OFC_MTP_EncounterBox 0xb214 1006 #define PTP_OFC_MTP_EncounterBox 0xb214
870 #define PTP_OFC_MTP_M4A 0xb215 1007 #define PTP_OFC_MTP_M4A 0xb215
871 #define PTP_OFC_MTP_ZUNEUNDEFINED 0xb217 /* Unknown file type */ 1008 #define PTP_OFC_MTP_ZUNEUNDEFINED 0xb217 /* Unknown file type */
872 #define PTP_OFC_MTP_Firmware 0xb802 1009 #define PTP_OFC_MTP_Firmware 0xb802
873 #define PTP_OFC_MTP_WindowsImageFormat 0xb881 1010 #define PTP_OFC_MTP_WindowsImageFormat 0xb881
874 #define PTP_OFC_MTP_UndefinedAudio 0xb900 1011 #define PTP_OFC_MTP_UndefinedAudio 0xb900
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
1117 uint8_t wifi_channel; /* 1-11 */ 1254 uint8_t wifi_channel; /* 1-11 */
1118 uint8_t authentification; /* 0 - Open, 1 - Shared, 2 - WPA-PSK */ 1255 uint8_t authentification; /* 0 - Open, 1 - Shared, 2 - WPA-PSK */
1119 uint8_t encryption; /* 0 - None, 1 - WEP 64bit, 2 - WEP 128bit (not su pported: 3 - TKIP) */ 1256 uint8_t encryption; /* 0 - None, 1 - WEP 64bit, 2 - WEP 128bit (not su pported: 3 - TKIP) */
1120 uint8_t key[64]; 1257 uint8_t key[64];
1121 uint8_t key_nr; 1258 uint8_t key_nr;
1122 /* char guid[16]; */ 1259 /* char guid[16]; */
1123 }; 1260 };
1124 1261
1125 typedef struct _PTPNIKONWifiProfile PTPNIKONWifiProfile; 1262 typedef struct _PTPNIKONWifiProfile PTPNIKONWifiProfile;
1126 1263
1127 #define PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN» » 0 1264 enum _PTPCanon_changes_types {
1128 #define PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO» » 1 1265 » PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN,
1129 #define PTP_CANON_EOS_CHANGES_TYPE_OBJECTTRANSFER» 2 1266 » PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO,
1130 #define PTP_CANON_EOS_CHANGES_TYPE_PROPERTY» » 3 1267 » PTP_CANON_EOS_CHANGES_TYPE_OBJECTTRANSFER,
1131 #define PTP_CANON_EOS_CHANGES_TYPE_CAMERASTATUS»» 4 1268 » PTP_CANON_EOS_CHANGES_TYPE_PROPERTY,
1269 » PTP_CANON_EOS_CHANGES_TYPE_CAMERASTATUS,
1270 » PTP_CANON_EOS_CHANGES_TYPE_FOCUSINFO,
1271 » PTP_CANON_EOS_CHANGES_TYPE_FOCUSMASK,
1272 » PTP_CANON_EOS_CHANGES_TYPE_OBJECTREMOVED
1273 };
1132 1274
1133 struct _PTPCanon_New_Object { 1275 struct _PTPCanon_New_Object {
1134 uint32_t oid; 1276 uint32_t oid;
1135 PTPObjectInfo oi; 1277 PTPObjectInfo oi;
1136 }; 1278 };
1137 1279
1138 struct _PTPCanon_changes_entry { 1280 struct _PTPCanon_changes_entry {
1139 » int» type; 1281 » enum _PTPCanon_changes_types» type;
1140 union { 1282 union {
1141 struct _PTPCanon_New_Object object; /* TYPE_OBJECTINFO */ 1283 struct _PTPCanon_New_Object object; /* TYPE_OBJECTINFO */
1142 char *info; 1284 char *info;
1143 uint16_t propid; 1285 uint16_t propid;
1144 int status; 1286 int status;
1145 } u; 1287 } u;
1146 }; 1288 };
1147 typedef struct _PTPCanon_changes_entry PTPCanon_changes_entry; 1289 typedef struct _PTPCanon_changes_entry PTPCanon_changes_entry;
1148 1290
1149 typedef struct _PTPCanon_Property { 1291 typedef struct _PTPCanon_Property {
1150 uint32_t size; 1292 uint32_t size;
1151 uint32_t type;
1152 uint32_t proptype; 1293 uint32_t proptype;
1153 unsigned char *data; 1294 unsigned char *data;
1154 1295
1155 /* fill out for queries */ 1296 /* fill out for queries */
1156 PTPDevicePropDesc dpd; 1297 PTPDevicePropDesc dpd;
1157 } PTPCanon_Property; 1298 } PTPCanon_Property;
1158 1299
1159 typedef struct _PTPCanonEOSDeviceInfo { 1300 typedef struct _PTPCanonEOSDeviceInfo {
1160 /* length */ 1301 /* length */
1161 uint32_t EventsSupported_len; 1302 uint32_t EventsSupported_len;
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
1346 #define PTP_DPC_CANON_AverageFilesizes 0xD048 1487 #define PTP_DPC_CANON_AverageFilesizes 0xD048
1347 #define PTP_DPC_CANON_ModelID 0xD049 1488 #define PTP_DPC_CANON_ModelID 0xD049
1348 1489
1349 /* From EOS 400D trace. */ 1490 /* From EOS 400D trace. */
1350 #define PTP_DPC_CANON_EOS_Aperture 0xD101 1491 #define PTP_DPC_CANON_EOS_Aperture 0xD101
1351 #define PTP_DPC_CANON_EOS_ShutterSpeed 0xD102 1492 #define PTP_DPC_CANON_EOS_ShutterSpeed 0xD102
1352 #define PTP_DPC_CANON_EOS_ISOSpeed 0xD103 1493 #define PTP_DPC_CANON_EOS_ISOSpeed 0xD103
1353 #define PTP_DPC_CANON_EOS_ExpCompensation 0xD104 1494 #define PTP_DPC_CANON_EOS_ExpCompensation 0xD104
1354 #define PTP_DPC_CANON_EOS_AutoExposureMode 0xD105 1495 #define PTP_DPC_CANON_EOS_AutoExposureMode 0xD105
1355 #define PTP_DPC_CANON_EOS_DriveMode 0xD106 1496 #define PTP_DPC_CANON_EOS_DriveMode 0xD106
1356 #define PTP_DPC_CANON_EOS_MeteringMode» » 0xD107 1497 #define PTP_DPC_CANON_EOS_MeteringMode» » 0xD107
1357 #define PTP_DPC_CANON_EOS_FocusMode 0xD108 1498 #define PTP_DPC_CANON_EOS_FocusMode 0xD108
1358 #define PTP_DPC_CANON_EOS_WhiteBalance 0xD109 1499 #define PTP_DPC_CANON_EOS_WhiteBalance 0xD109
1359 #define PTP_DPC_CANON_EOS_ColorTemperature 0xD10A 1500 #define PTP_DPC_CANON_EOS_ColorTemperature 0xD10A
1360 #define PTP_DPC_CANON_EOS_WhiteBalanceAdjustA 0xD10B 1501 #define PTP_DPC_CANON_EOS_WhiteBalanceAdjustA 0xD10B
1361 #define PTP_DPC_CANON_EOS_WhiteBalanceAdjustB 0xD10C 1502 #define PTP_DPC_CANON_EOS_WhiteBalanceAdjustB 0xD10C
1362 #define PTP_DPC_CANON_EOS_WhiteBalanceXA 0xD10D 1503 #define PTP_DPC_CANON_EOS_WhiteBalanceXA 0xD10D
1363 #define PTP_DPC_CANON_EOS_WhiteBalanceXB 0xD10E 1504 #define PTP_DPC_CANON_EOS_WhiteBalanceXB 0xD10E
1364 #define PTP_DPC_CANON_EOS_ColorSpace 0xD10F 1505 #define PTP_DPC_CANON_EOS_ColorSpace 0xD10F
1365 #define PTP_DPC_CANON_EOS_PictureStyle 0xD110 1506 #define PTP_DPC_CANON_EOS_PictureStyle 0xD110
1366 #define PTP_DPC_CANON_EOS_BatteryPower 0xD111 1507 #define PTP_DPC_CANON_EOS_BatteryPower 0xD111
1367 #define PTP_DPC_CANON_EOS_BatterySelect 0xD112 1508 #define PTP_DPC_CANON_EOS_BatterySelect 0xD112
1368 #define PTP_DPC_CANON_EOS_CameraTime 0xD113 1509 #define PTP_DPC_CANON_EOS_CameraTime 0xD113
1510 #define PTP_DPC_CANON_EOS_AutoPowerOff 0xD114
1369 #define PTP_DPC_CANON_EOS_Owner 0xD115 1511 #define PTP_DPC_CANON_EOS_Owner 0xD115
1370 #define PTP_DPC_CANON_EOS_ModelID 0xD116 1512 #define PTP_DPC_CANON_EOS_ModelID 0xD116
1371 #define PTP_DPC_CANON_EOS_PTPExtensionVersion 0xD119 1513 #define PTP_DPC_CANON_EOS_PTPExtensionVersion 0xD119
1372 #define PTP_DPC_CANON_EOS_DPOFVersion 0xD11A 1514 #define PTP_DPC_CANON_EOS_DPOFVersion 0xD11A
1373 #define PTP_DPC_CANON_EOS_AvailableShots 0xD11B 1515 #define PTP_DPC_CANON_EOS_AvailableShots 0xD11B
1374 #define PTP_CANON_EOS_CAPTUREDEST_HD 4 1516 #define PTP_CANON_EOS_CAPTUREDEST_HD 4
1375 #define PTP_DPC_CANON_EOS_CaptureDestination 0xD11C 1517 #define PTP_DPC_CANON_EOS_CaptureDestination 0xD11C
1376 #define PTP_DPC_CANON_EOS_BracketMode 0xD11D 1518 #define PTP_DPC_CANON_EOS_BracketMode 0xD11D
1377 #define PTP_DPC_CANON_EOS_CurrentStorage 0xD11E 1519 #define PTP_DPC_CANON_EOS_CurrentStorage 0xD11E
1378 #define PTP_DPC_CANON_EOS_CurrentFolder 0xD11F 1520 #define PTP_DPC_CANON_EOS_CurrentFolder 0xD11F
1379 #define PTP_DPC_CANON_EOS_ImageFormat 0xD120 /* file setting */ 1521 #define PTP_DPC_CANON_EOS_ImageFormat 0xD120 /* file setting */
1380 #define PTP_DPC_CANON_EOS_ImageFormatCF 0xD121 /* file setting CF */ 1522 #define PTP_DPC_CANON_EOS_ImageFormatCF 0xD121 /* file setting CF */
1381 #define PTP_DPC_CANON_EOS_ImageFormatSD 0xD122 /* file setting SD */ 1523 #define PTP_DPC_CANON_EOS_ImageFormatSD 0xD122 /* file setting SD */
1382 #define PTP_DPC_CANON_EOS_ImageFormatExtHD 0xD123 /* file setting exthd */ 1524 #define PTP_DPC_CANON_EOS_ImageFormatExtHD 0xD123 /* file setting exthd */
1383 #define PTP_DPC_CANON_EOS_CompressionS 0xD130 1525 #define PTP_DPC_CANON_EOS_CompressionS 0xD130
1384 #define PTP_DPC_CANON_EOS_CompressionM1 0xD131 1526 #define PTP_DPC_CANON_EOS_CompressionM1 0xD131
1385 #define PTP_DPC_CANON_EOS_CompressionM2 0xD132 1527 #define PTP_DPC_CANON_EOS_CompressionM2 0xD132
1386 #define PTP_DPC_CANON_EOS_CompressionL 0xD133 1528 #define PTP_DPC_CANON_EOS_CompressionL 0xD133
1529 #define PTP_DPC_CANON_EOS_AEModeDial 0xD138
1530 #define PTP_DPC_CANON_EOS_AEModeCustom 0xD139
1531 #define PTP_DPC_CANON_EOS_MirrorUpSetting 0xD13A
1532 #define PTP_DPC_CANON_EOS_HighlightTonePriority 0xD13B
1533 #define PTP_DPC_CANON_EOS_AFSelectFocusArea 0xD13C
1534 #define PTP_DPC_CANON_EOS_HDRSetting 0xD13D
1387 #define PTP_DPC_CANON_EOS_PCWhiteBalance1 0xD140 1535 #define PTP_DPC_CANON_EOS_PCWhiteBalance1 0xD140
1388 #define PTP_DPC_CANON_EOS_PCWhiteBalance2 0xD141 1536 #define PTP_DPC_CANON_EOS_PCWhiteBalance2 0xD141
1389 #define PTP_DPC_CANON_EOS_PCWhiteBalance3 0xD142 1537 #define PTP_DPC_CANON_EOS_PCWhiteBalance3 0xD142
1390 #define PTP_DPC_CANON_EOS_PCWhiteBalance4 0xD143 1538 #define PTP_DPC_CANON_EOS_PCWhiteBalance4 0xD143
1391 #define PTP_DPC_CANON_EOS_PCWhiteBalance5 0xD144 1539 #define PTP_DPC_CANON_EOS_PCWhiteBalance5 0xD144
1392 #define PTP_DPC_CANON_EOS_MWhiteBalance 0xD145 1540 #define PTP_DPC_CANON_EOS_MWhiteBalance 0xD145
1541 #define PTP_DPC_CANON_EOS_MWhiteBalanceEx 0xD146
1542 #define PTP_DPC_CANON_EOS_UnknownPropD14D 0xD14D /*found in Canon EOS 5D M3*/
1393 #define PTP_DPC_CANON_EOS_PictureStyleStandard 0xD150 1543 #define PTP_DPC_CANON_EOS_PictureStyleStandard 0xD150
1394 #define PTP_DPC_CANON_EOS_PictureStylePortrait 0xD151 1544 #define PTP_DPC_CANON_EOS_PictureStylePortrait 0xD151
1395 #define PTP_DPC_CANON_EOS_PictureStyleLandscape 0xD152 1545 #define PTP_DPC_CANON_EOS_PictureStyleLandscape 0xD152
1396 #define PTP_DPC_CANON_EOS_PictureStyleNeutral 0xD153 1546 #define PTP_DPC_CANON_EOS_PictureStyleNeutral 0xD153
1397 #define PTP_DPC_CANON_EOS_PictureStyleFaithful 0xD154 1547 #define PTP_DPC_CANON_EOS_PictureStyleFaithful 0xD154
1398 #define PTP_DPC_CANON_EOS_PictureStyleBlackWhite 0xD155 1548 #define PTP_DPC_CANON_EOS_PictureStyleBlackWhite 0xD155
1549 #define PTP_DPC_CANON_EOS_PictureStyleAuto 0xD156
1399 #define PTP_DPC_CANON_EOS_PictureStyleUserSet1 0xD160 1550 #define PTP_DPC_CANON_EOS_PictureStyleUserSet1 0xD160
1400 #define PTP_DPC_CANON_EOS_PictureStyleUserSet2 0xD161 1551 #define PTP_DPC_CANON_EOS_PictureStyleUserSet2 0xD161
1401 #define PTP_DPC_CANON_EOS_PictureStyleUserSet3 0xD162 1552 #define PTP_DPC_CANON_EOS_PictureStyleUserSet3 0xD162
1402 #define PTP_DPC_CANON_EOS_PictureStyleParam1 0xD170 1553 #define PTP_DPC_CANON_EOS_PictureStyleParam1 0xD170
1403 #define PTP_DPC_CANON_EOS_PictureStyleParam2 0xD171 1554 #define PTP_DPC_CANON_EOS_PictureStyleParam2 0xD171
1404 #define PTP_DPC_CANON_EOS_PictureStyleParam3 0xD172 1555 #define PTP_DPC_CANON_EOS_PictureStyleParam3 0xD172
1405 #define PTP_DPC_CANON_EOS_FlavorLUTParams» 0xD17f 1556 #define PTP_DPC_CANON_EOS_HighISOSettingNoiseReduction» 0xD178
1557 #define PTP_DPC_CANON_EOS_MovieServoAF» » 0xD179
1558 #define PTP_DPC_CANON_EOS_ContinuousAFValid» 0xD17A
1559 #define PTP_DPC_CANON_EOS_Attenuator» » 0xD17B
1560 #define PTP_DPC_CANON_EOS_UTCTime» » 0xD17C
1561 #define PTP_DPC_CANON_EOS_Timezone» » 0xD17D
1562 #define PTP_DPC_CANON_EOS_Summertime» » 0xD17E
1563 #define PTP_DPC_CANON_EOS_FlavorLUTParams» 0xD17F
1406 #define PTP_DPC_CANON_EOS_CustomFunc1 0xD180 1564 #define PTP_DPC_CANON_EOS_CustomFunc1 0xD180
1407 #define PTP_DPC_CANON_EOS_CustomFunc2 0xD181 1565 #define PTP_DPC_CANON_EOS_CustomFunc2 0xD181
1408 #define PTP_DPC_CANON_EOS_CustomFunc3 0xD182 1566 #define PTP_DPC_CANON_EOS_CustomFunc3 0xD182
1409 #define PTP_DPC_CANON_EOS_CustomFunc4 0xD183 1567 #define PTP_DPC_CANON_EOS_CustomFunc4 0xD183
1410 #define PTP_DPC_CANON_EOS_CustomFunc5 0xD184 1568 #define PTP_DPC_CANON_EOS_CustomFunc5 0xD184
1411 #define PTP_DPC_CANON_EOS_CustomFunc6 0xD185 1569 #define PTP_DPC_CANON_EOS_CustomFunc6 0xD185
1412 #define PTP_DPC_CANON_EOS_CustomFunc7 0xD186 1570 #define PTP_DPC_CANON_EOS_CustomFunc7 0xD186
1413 #define PTP_DPC_CANON_EOS_CustomFunc8 0xD187 1571 #define PTP_DPC_CANON_EOS_CustomFunc8 0xD187
1414 #define PTP_DPC_CANON_EOS_CustomFunc9 0xD188 1572 #define PTP_DPC_CANON_EOS_CustomFunc9 0xD188
1415 #define PTP_DPC_CANON_EOS_CustomFunc10 0xD189 1573 #define PTP_DPC_CANON_EOS_CustomFunc10 0xD189
1416 #define PTP_DPC_CANON_EOS_CustomFunc11 0xD18a 1574 #define PTP_DPC_CANON_EOS_CustomFunc11 0xD18a
1417 #define PTP_DPC_CANON_EOS_CustomFunc12 0xD18b 1575 #define PTP_DPC_CANON_EOS_CustomFunc12 0xD18b
1418 #define PTP_DPC_CANON_EOS_CustomFunc13 0xD18c 1576 #define PTP_DPC_CANON_EOS_CustomFunc13 0xD18c
1419 #define PTP_DPC_CANON_EOS_CustomFunc14 0xD18d 1577 #define PTP_DPC_CANON_EOS_CustomFunc14 0xD18d
1420 #define PTP_DPC_CANON_EOS_CustomFunc15 0xD18e 1578 #define PTP_DPC_CANON_EOS_CustomFunc15 0xD18e
1421 #define PTP_DPC_CANON_EOS_CustomFunc16 0xD18f 1579 #define PTP_DPC_CANON_EOS_CustomFunc16 0xD18f
1422 #define PTP_DPC_CANON_EOS_CustomFunc17 0xD190 1580 #define PTP_DPC_CANON_EOS_CustomFunc17 0xD190
1423 #define PTP_DPC_CANON_EOS_CustomFunc18 0xD191 1581 #define PTP_DPC_CANON_EOS_CustomFunc18 0xD191
1424 #define PTP_DPC_CANON_EOS_CustomFunc19 0xD192 1582 #define PTP_DPC_CANON_EOS_CustomFunc19 0xD192
1425 #define PTP_DPC_CANON_EOS_CustomFunc19 0xD192 1583 #define PTP_DPC_CANON_EOS_CustomFunc19 0xD192
1584 #define PTP_DPC_CANON_EOS_InnerDevelop 0xD193
1585 #define PTP_DPC_CANON_EOS_MultiAspect 0xD194
1586 #define PTP_DPC_CANON_EOS_MovieSoundRecord 0xD195
1587 #define PTP_DPC_CANON_EOS_MovieRecordVolume 0xD196
1588 #define PTP_DPC_CANON_EOS_WindCut 0xD197
1589 #define PTP_DPC_CANON_EOS_ExtenderType 0xD198
1590 #define PTP_DPC_CANON_EOS_OLCInfoVersion 0xD199
1591 #define PTP_DPC_CANON_EOS_UnknownPropD19A 0xD19A /*found in Canon EOS 5D M 3*/
1592 #define PTP_DPC_CANON_EOS_UnknownPropD19C 0xD19C /*found in Canon EOS 5D M 3*/
1593 #define PTP_DPC_CANON_EOS_UnknownPropD19D 0xD19D /*found in Canon EOS 5D M 3*/
1426 #define PTP_DPC_CANON_EOS_CustomFuncEx 0xD1a0 1594 #define PTP_DPC_CANON_EOS_CustomFuncEx 0xD1a0
1427 #define PTP_DPC_CANON_EOS_MyMenu 0xD1a1 1595 #define PTP_DPC_CANON_EOS_MyMenu 0xD1a1
1428 #define PTP_DPC_CANON_EOS_MyMenuList 0xD1a2 1596 #define PTP_DPC_CANON_EOS_MyMenuList 0xD1a2
1429 #define PTP_DPC_CANON_EOS_WftStatus 0xD1a3 1597 #define PTP_DPC_CANON_EOS_WftStatus 0xD1a3
1430 #define PTP_DPC_CANON_EOS_WftInputTransmission 0xD1a4 1598 #define PTP_DPC_CANON_EOS_WftInputTransmission 0xD1a4
1431 #define PTP_DPC_CANON_EOS_HDDirectoryStructure 0xD1a5 1599 #define PTP_DPC_CANON_EOS_HDDirectoryStructure 0xD1a5
1432 #define PTP_DPC_CANON_EOS_BatteryInfo 0xD1a6 1600 #define PTP_DPC_CANON_EOS_BatteryInfo 0xD1a6
1433 #define PTP_DPC_CANON_EOS_AdapterInfo 0xD1a7 1601 #define PTP_DPC_CANON_EOS_AdapterInfo 0xD1a7
1434 #define PTP_DPC_CANON_EOS_LensStatus 0xD1a8 1602 #define PTP_DPC_CANON_EOS_LensStatus 0xD1a8
1435 #define PTP_DPC_CANON_EOS_QuickReviewTime 0xD1a9 1603 #define PTP_DPC_CANON_EOS_QuickReviewTime 0xD1a9
1436 #define PTP_DPC_CANON_EOS_CardExtension 0xD1aa 1604 #define PTP_DPC_CANON_EOS_CardExtension 0xD1aa
1437 #define PTP_DPC_CANON_EOS_TempStatus 0xD1ab 1605 #define PTP_DPC_CANON_EOS_TempStatus 0xD1ab
1438 #define PTP_DPC_CANON_EOS_ShutterCounter 0xD1ac 1606 #define PTP_DPC_CANON_EOS_ShutterCounter 0xD1ac
1439 #define PTP_DPC_CANON_EOS_SpecialOption 0xD1ad 1607 #define PTP_DPC_CANON_EOS_SpecialOption 0xD1ad
1440 #define PTP_DPC_CANON_EOS_PhotoStudioMode 0xD1ae 1608 #define PTP_DPC_CANON_EOS_PhotoStudioMode 0xD1ae
1441 #define PTP_DPC_CANON_EOS_SerialNumber 0xD1af 1609 #define PTP_DPC_CANON_EOS_SerialNumber 0xD1af
1442 #define PTP_DPC_CANON_EOS_EVFOutputDevice 0xD1b0 1610 #define PTP_DPC_CANON_EOS_EVFOutputDevice 0xD1b0
1443 #define PTP_DPC_CANON_EOS_EVFMode 0xD1b1 1611 #define PTP_DPC_CANON_EOS_EVFMode 0xD1b1
1444 #define PTP_DPC_CANON_EOS_DepthOfFieldPreview 0xD1b2 1612 #define PTP_DPC_CANON_EOS_DepthOfFieldPreview 0xD1b2
1445 #define PTP_DPC_CANON_EOS_EVFSharpness 0xD1b3 1613 #define PTP_DPC_CANON_EOS_EVFSharpness 0xD1b3
1446 #define PTP_DPC_CANON_EOS_EVFWBMode 0xD1b4 1614 #define PTP_DPC_CANON_EOS_EVFWBMode 0xD1b4
1447 #define PTP_DPC_CANON_EOS_EVFClickWBCoeffs 0xD1b5 1615 #define PTP_DPC_CANON_EOS_EVFClickWBCoeffs 0xD1b5
1448 #define PTP_DPC_CANON_EOS_EVFColorTemp 0xD1b6 1616 #define PTP_DPC_CANON_EOS_EVFColorTemp 0xD1b6
1449 #define PTP_DPC_CANON_EOS_ExposureSimMode 0xD1b7 1617 #define PTP_DPC_CANON_EOS_ExposureSimMode 0xD1b7
1450 #define PTP_DPC_CANON_EOS_EVFRecordStatus 0xD1b8 1618 #define PTP_DPC_CANON_EOS_EVFRecordStatus 0xD1b8
1451 #define PTP_DPC_CANON_EOS_LvAfSystem 0xD1ba 1619 #define PTP_DPC_CANON_EOS_LvAfSystem 0xD1ba
1452 #define PTP_DPC_CANON_EOS_MovSize 0xD1bb 1620 #define PTP_DPC_CANON_EOS_MovSize 0xD1bb
1453 #define PTP_DPC_CANON_EOS_LvViewTypeSelect 0xD1bc 1621 #define PTP_DPC_CANON_EOS_LvViewTypeSelect 0xD1bc
1622 #define PTP_DPC_CANON_EOS_MirrorDownStatus 0xD1bd
1623 #define PTP_DPC_CANON_EOS_MovieParam 0xD1be
1624 #define PTP_DPC_CANON_EOS_MirrorLockupState 0xD1bf
1625 #define PTP_DPC_CANON_EOS_FlashChargingState 0xD1C0
1626 #define PTP_DPC_CANON_EOS_AloMode 0xD1C1
1627 #define PTP_DPC_CANON_EOS_FixedMovie 0xD1C2
1628 #define PTP_DPC_CANON_EOS_OneShotRawOn 0xD1C3
1629 #define PTP_DPC_CANON_EOS_ErrorForDisplay 0xD1C4
1630 #define PTP_DPC_CANON_EOS_AEModeMovie 0xD1C5
1631 #define PTP_DPC_CANON_EOS_BuiltinStroboMode 0xD1C6
1632 #define PTP_DPC_CANON_EOS_StroboDispState 0xD1C7
1633 #define PTP_DPC_CANON_EOS_StroboETTL2Metering 0xD1C8
1634 #define PTP_DPC_CANON_EOS_ContinousAFMode 0xD1C9
1635 #define PTP_DPC_CANON_EOS_MovieParam2 0xD1CA
1636 #define PTP_DPC_CANON_EOS_StroboSettingExpComposition 0xD1CB
1637 #define PTP_DPC_CANON_EOS_MovieParam3 0xD1CC
1638 #define PTP_DPC_CANON_EOS_LVMedicalRotate 0xD1CF
1454 #define PTP_DPC_CANON_EOS_Artist 0xD1d0 1639 #define PTP_DPC_CANON_EOS_Artist 0xD1d0
1455 #define PTP_DPC_CANON_EOS_Copyright 0xD1d1 1640 #define PTP_DPC_CANON_EOS_Copyright 0xD1d1
1456 #define PTP_DPC_CANON_EOS_BracketValue 0xD1d2 1641 #define PTP_DPC_CANON_EOS_BracketValue 0xD1d2
1457 #define PTP_DPC_CANON_EOS_FocusInfoEx 0xD1d3 1642 #define PTP_DPC_CANON_EOS_FocusInfoEx 0xD1d3
1458 #define PTP_DPC_CANON_EOS_DepthOfField 0xD1d4 1643 #define PTP_DPC_CANON_EOS_DepthOfField 0xD1d4
1459 #define PTP_DPC_CANON_EOS_Brightness 0xD1d5 1644 #define PTP_DPC_CANON_EOS_Brightness 0xD1d5
1460 #define PTP_DPC_CANON_EOS_LensAdjustParams 0xD1d6 1645 #define PTP_DPC_CANON_EOS_LensAdjustParams 0xD1d6
1461 #define PTP_DPC_CANON_EOS_EFComp 0xD1d7 1646 #define PTP_DPC_CANON_EOS_EFComp 0xD1d7
1462 #define PTP_DPC_CANON_EOS_LensName 0xD1d8 1647 #define PTP_DPC_CANON_EOS_LensName 0xD1d8
1463 #define PTP_DPC_CANON_EOS_AEB 0xD1d9 1648 #define PTP_DPC_CANON_EOS_AEB 0xD1d9
1464 #define PTP_DPC_CANON_EOS_StroboSetting 0xD1da 1649 #define PTP_DPC_CANON_EOS_StroboSetting 0xD1da
1465 #define PTP_DPC_CANON_EOS_StroboWirelessSetting 0xD1db 1650 #define PTP_DPC_CANON_EOS_StroboWirelessSetting 0xD1db
1466 #define PTP_DPC_CANON_EOS_StroboFiring 0xD1dc 1651 #define PTP_DPC_CANON_EOS_StroboFiring 0xD1dc
1467 #define PTP_DPC_CANON_EOS_LensID 0xD1dd 1652 #define PTP_DPC_CANON_EOS_LensID 0xD1dd
1653 #define PTP_DPC_CANON_EOS_LCDBrightness 0xD1de
1654 #define PTP_DPC_CANON_EOS_CADarkBright 0xD1df
1468 1655
1469 /* Nikon extension device property codes */ 1656 /* Nikon extension device property codes */
1470 #define PTP_DPC_NIKON_ShootingBank 0xD010 1657 #define PTP_DPC_NIKON_ShootingBank 0xD010
1471 #define PTP_DPC_NIKON_ShootingBankNameA 0xD011 1658 #define PTP_DPC_NIKON_ShootingBankNameA 0xD011
1472 #define PTP_DPC_NIKON_ShootingBankNameB 0xD012 1659 #define PTP_DPC_NIKON_ShootingBankNameB 0xD012
1473 #define PTP_DPC_NIKON_ShootingBankNameC 0xD013 1660 #define PTP_DPC_NIKON_ShootingBankNameC 0xD013
1474 #define PTP_DPC_NIKON_ShootingBankNameD 0xD014 1661 #define PTP_DPC_NIKON_ShootingBankNameD 0xD014
1475 #define PTP_DPC_NIKON_ResetBank0 0xD015 1662 #define PTP_DPC_NIKON_ResetBank0 0xD015
1476 #define PTP_DPC_NIKON_RawCompression 0xD016 1663 #define PTP_DPC_NIKON_RawCompression 0xD016
1477 #define PTP_DPC_NIKON_WhiteBalanceAutoBias 0xD017 1664 #define PTP_DPC_NIKON_WhiteBalanceAutoBias 0xD017
(...skipping 18 matching lines...) Expand all
1496 #define PTP_DPC_NIKON_ImageSharpening 0xD02A 1683 #define PTP_DPC_NIKON_ImageSharpening 0xD02A
1497 #define PTP_DPC_NIKON_ToneCompensation 0xD02B 1684 #define PTP_DPC_NIKON_ToneCompensation 0xD02B
1498 #define PTP_DPC_NIKON_ColorModel 0xD02C 1685 #define PTP_DPC_NIKON_ColorModel 0xD02C
1499 #define PTP_DPC_NIKON_HueAdjustment 0xD02D 1686 #define PTP_DPC_NIKON_HueAdjustment 0xD02D
1500 #define PTP_DPC_NIKON_NonCPULensDataFocalLength 0xD02E /* Set FMM Manua l */ 1687 #define PTP_DPC_NIKON_NonCPULensDataFocalLength 0xD02E /* Set FMM Manua l */
1501 #define PTP_DPC_NIKON_NonCPULensDataMaximumAperture 0xD02F /* Set F0 Manual */ 1688 #define PTP_DPC_NIKON_NonCPULensDataMaximumAperture 0xD02F /* Set F0 Manual */
1502 #define PTP_DPC_NIKON_ShootingMode 0xD030 1689 #define PTP_DPC_NIKON_ShootingMode 0xD030
1503 #define PTP_DPC_NIKON_JPEG_Compression_Policy 0xD031 1690 #define PTP_DPC_NIKON_JPEG_Compression_Policy 0xD031
1504 #define PTP_DPC_NIKON_ColorSpace 0xD032 1691 #define PTP_DPC_NIKON_ColorSpace 0xD032
1505 #define PTP_DPC_NIKON_AutoDXCrop 0xD033 1692 #define PTP_DPC_NIKON_AutoDXCrop 0xD033
1693 #define PTP_DPC_NIKON_FlickerReduction 0xD034
1694 #define PTP_DPC_NIKON_RemoteMode 0xD035
1506 #define PTP_DPC_NIKON_VideoMode 0xD036 1695 #define PTP_DPC_NIKON_VideoMode 0xD036
1507 #define PTP_DPC_NIKON_EffectMode 0xD037 1696 #define PTP_DPC_NIKON_EffectMode 0xD037
1697 #define PTP_DPC_NIKON_1_Mode 0xD038
1508 #define PTP_DPC_NIKON_CSMMenuBankSelect 0xD040 1698 #define PTP_DPC_NIKON_CSMMenuBankSelect 0xD040
1509 #define PTP_DPC_NIKON_MenuBankNameA 0xD041 1699 #define PTP_DPC_NIKON_MenuBankNameA 0xD041
1510 #define PTP_DPC_NIKON_MenuBankNameB 0xD042 1700 #define PTP_DPC_NIKON_MenuBankNameB 0xD042
1511 #define PTP_DPC_NIKON_MenuBankNameC 0xD043 1701 #define PTP_DPC_NIKON_MenuBankNameC 0xD043
1512 #define PTP_DPC_NIKON_MenuBankNameD 0xD044 1702 #define PTP_DPC_NIKON_MenuBankNameD 0xD044
1513 #define PTP_DPC_NIKON_ResetBank 0xD045 1703 #define PTP_DPC_NIKON_ResetBank 0xD045
1514 #define PTP_DPC_NIKON_A1AFCModePriority 0xD048 1704 #define PTP_DPC_NIKON_A1AFCModePriority 0xD048
1515 #define PTP_DPC_NIKON_A2AFSModePriority 0xD049 1705 #define PTP_DPC_NIKON_A2AFSModePriority 0xD049
1516 #define PTP_DPC_NIKON_A3GroupDynamicAF 0xD04A 1706 #define PTP_DPC_NIKON_A3GroupDynamicAF 0xD04A
1517 #define PTP_DPC_NIKON_A4AFActivation 0xD04B 1707 #define PTP_DPC_NIKON_A4AFActivation 0xD04B
1518 #define PTP_DPC_NIKON_FocusAreaIllumManualFocus 0xD04C 1708 #define PTP_DPC_NIKON_FocusAreaIllumManualFocus 0xD04C
1519 #define PTP_DPC_NIKON_FocusAreaIllumContinuous 0xD04D 1709 #define PTP_DPC_NIKON_FocusAreaIllumContinuous 0xD04D
1520 #define PTP_DPC_NIKON_FocusAreaIllumWhenSelected 0xD04E 1710 #define PTP_DPC_NIKON_FocusAreaIllumWhenSelected 0xD04E
1521 #define PTP_DPC_NIKON_FocusAreaWrap 0xD04F /* area sel */ 1711 #define PTP_DPC_NIKON_FocusAreaWrap 0xD04F /* area sel */
1522 #define PTP_DPC_NIKON_VerticalAFON 0xD050 1712 #define PTP_DPC_NIKON_VerticalAFON 0xD050
1523 #define PTP_DPC_NIKON_AFLockOn 0xD051 1713 #define PTP_DPC_NIKON_AFLockOn 0xD051
1524 #define PTP_DPC_NIKON_FocusAreaZone 0xD052 1714 #define PTP_DPC_NIKON_FocusAreaZone 0xD052
1525 #define PTP_DPC_NIKON_EnableCopyright 0xD053 1715 #define PTP_DPC_NIKON_EnableCopyright 0xD053
1526 #define PTP_DPC_NIKON_ISOAuto 0xD054 1716 #define PTP_DPC_NIKON_ISOAuto 0xD054
1527 #define PTP_DPC_NIKON_EVISOStep 0xD055 1717 #define PTP_DPC_NIKON_EVISOStep 0xD055
1528 #define PTP_DPC_NIKON_EVStep 0xD056 /* EV Step SS FN */ 1718 #define PTP_DPC_NIKON_EVStep 0xD056 /* EV Step SS FN */
1529 #define PTP_DPC_NIKON_EVStepExposureComp 0xD057 1719 #define PTP_DPC_NIKON_EVStepExposureComp 0xD057
1530 #define PTP_DPC_NIKON_ExposureCompensation 0xD058 1720 #define PTP_DPC_NIKON_ExposureCompensation 0xD058
1531 #define PTP_DPC_NIKON_CenterWeightArea 0xD059 1721 #define PTP_DPC_NIKON_CenterWeightArea 0xD059
1532 #define PTP_DPC_NIKON_ExposureBaseMatrix 0xD05A 1722 #define PTP_DPC_NIKON_ExposureBaseMatrix 0xD05A
1533 #define PTP_DPC_NIKON_ExposureBaseCenter 0xD05B 1723 #define PTP_DPC_NIKON_ExposureBaseCenter 0xD05B
1534 #define PTP_DPC_NIKON_ExposureBaseSpot 0xD05C 1724 #define PTP_DPC_NIKON_ExposureBaseSpot 0xD05C
1535 #define PTP_DPC_NIKON_LiveViewAFArea» » » 0xD05D 1725 #define PTP_DPC_NIKON_LiveViewAFArea» » » 0xD05D /* FIXME: AfAtLiv eview? */
1536 #define PTP_DPC_NIKON_AELockMode 0xD05E 1726 #define PTP_DPC_NIKON_AELockMode 0xD05E
1537 #define PTP_DPC_NIKON_AELAFLMode 0xD05F 1727 #define PTP_DPC_NIKON_AELAFLMode 0xD05F
1538 #define PTP_DPC_NIKON_LiveViewAFFocus 0xD061 1728 #define PTP_DPC_NIKON_LiveViewAFFocus 0xD061
1539 #define PTP_DPC_NIKON_MeterOff 0xD062 1729 #define PTP_DPC_NIKON_MeterOff 0xD062
1540 #define PTP_DPC_NIKON_SelfTimer 0xD063 1730 #define PTP_DPC_NIKON_SelfTimer 0xD063
1541 #define PTP_DPC_NIKON_MonitorOff 0xD064 1731 #define PTP_DPC_NIKON_MonitorOff 0xD064
1542 #define PTP_DPC_NIKON_ImgConfTime 0xD065 1732 #define PTP_DPC_NIKON_ImgConfTime 0xD065
1543 #define PTP_DPC_NIKON_AutoOffTimers 0xD066 1733 #define PTP_DPC_NIKON_AutoOffTimers 0xD066
1544 #define PTP_DPC_NIKON_AngleLevel 0xD067 1734 #define PTP_DPC_NIKON_AngleLevel 0xD067
1545 #define PTP_DPC_NIKON_D1ShootingSpeed 0xD068 /* continous spee d low */ 1735 #define PTP_DPC_NIKON_D1ShootingSpeed 0xD068 /* continous spee d low */
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1579 #define PTP_DPC_NIKON_AFAreaPoint 0xD08D 1769 #define PTP_DPC_NIKON_AFAreaPoint 0xD08D
1580 #define PTP_DPC_NIKON_NormalAFOn 0xD08E 1770 #define PTP_DPC_NIKON_NormalAFOn 0xD08E
1581 #define PTP_DPC_NIKON_CleanImageSensor 0xD08F 1771 #define PTP_DPC_NIKON_CleanImageSensor 0xD08F
1582 #define PTP_DPC_NIKON_ImageCommentString 0xD090 1772 #define PTP_DPC_NIKON_ImageCommentString 0xD090
1583 #define PTP_DPC_NIKON_ImageCommentEnable 0xD091 1773 #define PTP_DPC_NIKON_ImageCommentEnable 0xD091
1584 #define PTP_DPC_NIKON_ImageRotation 0xD092 1774 #define PTP_DPC_NIKON_ImageRotation 0xD092
1585 #define PTP_DPC_NIKON_ManualSetLensNo 0xD093 1775 #define PTP_DPC_NIKON_ManualSetLensNo 0xD093
1586 #define PTP_DPC_NIKON_MovScreenSize 0xD0A0 1776 #define PTP_DPC_NIKON_MovScreenSize 0xD0A0
1587 #define PTP_DPC_NIKON_MovVoice 0xD0A1 1777 #define PTP_DPC_NIKON_MovVoice 0xD0A1
1588 #define PTP_DPC_NIKON_MovMicrophone 0xD0A2 1778 #define PTP_DPC_NIKON_MovMicrophone 0xD0A2
1779 #define PTP_DPC_NIKON_MovFileSlot 0xD0A3
1780 #define PTP_DPC_NIKON_MovRecProhibitCondition 0xD0A4
1781 #define PTP_DPC_NIKON_ManualMovieSetting 0xD0A6
1782 #define PTP_DPC_NIKON_MovQuality 0xD0A7
1783 #define PTP_DPC_NIKON_LiveViewScreenDisplaySetting 0xD0B2
1784 #define PTP_DPC_NIKON_MonitorOffDelay 0xD0B3
1589 #define PTP_DPC_NIKON_Bracketing 0xD0C0 1785 #define PTP_DPC_NIKON_Bracketing 0xD0C0
1590 #define PTP_DPC_NIKON_AutoExposureBracketStep 0xD0C1 1786 #define PTP_DPC_NIKON_AutoExposureBracketStep 0xD0C1
1591 #define PTP_DPC_NIKON_AutoExposureBracketProgram 0xD0C2 1787 #define PTP_DPC_NIKON_AutoExposureBracketProgram 0xD0C2
1592 #define PTP_DPC_NIKON_AutoExposureBracketCount 0xD0C3 1788 #define PTP_DPC_NIKON_AutoExposureBracketCount 0xD0C3
1593 #define PTP_DPC_NIKON_WhiteBalanceBracketStep 0xD0C4 1789 #define PTP_DPC_NIKON_WhiteBalanceBracketStep 0xD0C4
1594 #define PTP_DPC_NIKON_WhiteBalanceBracketProgram 0xD0C5 1790 #define PTP_DPC_NIKON_WhiteBalanceBracketProgram 0xD0C5
1595 #define PTP_DPC_NIKON_LensID 0xD0E0 1791 #define PTP_DPC_NIKON_LensID 0xD0E0
1596 #define PTP_DPC_NIKON_LensSort 0xD0E1 1792 #define PTP_DPC_NIKON_LensSort 0xD0E1
1597 #define PTP_DPC_NIKON_LensType 0xD0E2 1793 #define PTP_DPC_NIKON_LensType 0xD0E2
1598 #define PTP_DPC_NIKON_FocalLengthMin 0xD0E3 1794 #define PTP_DPC_NIKON_FocalLengthMin 0xD0E3
1599 #define PTP_DPC_NIKON_FocalLengthMax 0xD0E4 1795 #define PTP_DPC_NIKON_FocalLengthMax 0xD0E4
1600 #define PTP_DPC_NIKON_MaxApAtMinFocalLength 0xD0E5 1796 #define PTP_DPC_NIKON_MaxApAtMinFocalLength 0xD0E5
1601 #define PTP_DPC_NIKON_MaxApAtMaxFocalLength 0xD0E6 1797 #define PTP_DPC_NIKON_MaxApAtMaxFocalLength 0xD0E6
1602 #define PTP_DPC_NIKON_FinderISODisp 0xD0F0 1798 #define PTP_DPC_NIKON_FinderISODisp 0xD0F0
1603 #define PTP_DPC_NIKON_AutoOffPhoto 0xD0F2 1799 #define PTP_DPC_NIKON_AutoOffPhoto 0xD0F2
1604 #define PTP_DPC_NIKON_AutoOffMenu 0xD0F3 1800 #define PTP_DPC_NIKON_AutoOffMenu 0xD0F3
1605 #define PTP_DPC_NIKON_AutoOffInfo 0xD0F4 1801 #define PTP_DPC_NIKON_AutoOffInfo 0xD0F4
1606 #define PTP_DPC_NIKON_SelfTimerShootNum 0xD0F5 1802 #define PTP_DPC_NIKON_SelfTimerShootNum 0xD0F5
1607 #define PTP_DPC_NIKON_VignetteCtrl 0xD0F7 1803 #define PTP_DPC_NIKON_VignetteCtrl 0xD0F7
1608 #define PTP_DPC_NIKON_AutoDistortionControl 0xD0F8 1804 #define PTP_DPC_NIKON_AutoDistortionControl 0xD0F8
1609 #define PTP_DPC_NIKON_SceneMode 0xD0F9 1805 #define PTP_DPC_NIKON_SceneMode 0xD0F9
1806 #define PTP_DPC_NIKON_SceneMode2 0xD0FD
1807 #define PTP_DPC_NIKON_SelfTimerInterval 0xD0FE
1610 #define PTP_DPC_NIKON_ExposureTime 0xD100 /* Shutter Speed */ 1808 #define PTP_DPC_NIKON_ExposureTime 0xD100 /* Shutter Speed */
1611 #define PTP_DPC_NIKON_ACPower 0xD101 1809 #define PTP_DPC_NIKON_ACPower 0xD101
1612 #define PTP_DPC_NIKON_WarningStatus 0xD102 1810 #define PTP_DPC_NIKON_WarningStatus 0xD102
1613 #define PTP_DPC_NIKON_MaximumShots 0xD103 /* remain shots ( in RAM buffer?) */ 1811 #define PTP_DPC_NIKON_MaximumShots 0xD103 /* remain shots ( in RAM buffer?) */
1614 #define PTP_DPC_NIKON_AFLockStatus 0xD104 1812 #define PTP_DPC_NIKON_AFLockStatus 0xD104
1615 #define PTP_DPC_NIKON_AELockStatus 0xD105 1813 #define PTP_DPC_NIKON_AELockStatus 0xD105
1616 #define PTP_DPC_NIKON_FVLockStatus 0xD106 1814 #define PTP_DPC_NIKON_FVLockStatus 0xD106
1617 #define PTP_DPC_NIKON_AutofocusLCDTopMode2 0xD107 1815 #define PTP_DPC_NIKON_AutofocusLCDTopMode2 0xD107
1618 #define PTP_DPC_NIKON_AutofocusArea 0xD108 1816 #define PTP_DPC_NIKON_AutofocusArea 0xD108
1619 #define PTP_DPC_NIKON_FlexibleProgram 0xD109 1817 #define PTP_DPC_NIKON_FlexibleProgram 0xD109
(...skipping 20 matching lines...) Expand all
1640 #define PTP_DPC_NIKON_HDRHighDynamic 0xD131 1838 #define PTP_DPC_NIKON_HDRHighDynamic 0xD131
1641 #define PTP_DPC_NIKON_HDRSmoothing 0xD132 1839 #define PTP_DPC_NIKON_HDRSmoothing 0xD132
1642 #define PTP_DPC_NIKON_OptimizeImage 0xD140 1840 #define PTP_DPC_NIKON_OptimizeImage 0xD140
1643 #define PTP_DPC_NIKON_Saturation 0xD142 1841 #define PTP_DPC_NIKON_Saturation 0xD142
1644 #define PTP_DPC_NIKON_BW_FillerEffect 0xD143 1842 #define PTP_DPC_NIKON_BW_FillerEffect 0xD143
1645 #define PTP_DPC_NIKON_BW_Sharpness 0xD144 1843 #define PTP_DPC_NIKON_BW_Sharpness 0xD144
1646 #define PTP_DPC_NIKON_BW_Contrast 0xD145 1844 #define PTP_DPC_NIKON_BW_Contrast 0xD145
1647 #define PTP_DPC_NIKON_BW_Setting_Type 0xD146 1845 #define PTP_DPC_NIKON_BW_Setting_Type 0xD146
1648 #define PTP_DPC_NIKON_Slot2SaveMode 0xD148 1846 #define PTP_DPC_NIKON_Slot2SaveMode 0xD148
1649 #define PTP_DPC_NIKON_RawBitMode 0xD149 1847 #define PTP_DPC_NIKON_RawBitMode 0xD149
1650 #define PTP_DPC_NIKON_ISOAutoTime» » » 0xD14E 1848 #define PTP_DPC_NIKON_ActiveDLighting» » » 0xD14E /* was PTP_DPC_NI KON_ISOAutoTime */
1651 #define PTP_DPC_NIKON_FlourescentType 0xD14F 1849 #define PTP_DPC_NIKON_FlourescentType 0xD14F
1652 #define PTP_DPC_NIKON_TuneColourTemperature 0xD150 1850 #define PTP_DPC_NIKON_TuneColourTemperature 0xD150
1653 #define PTP_DPC_NIKON_TunePreset0 0xD151 1851 #define PTP_DPC_NIKON_TunePreset0 0xD151
1654 #define PTP_DPC_NIKON_TunePreset1 0xD152 1852 #define PTP_DPC_NIKON_TunePreset1 0xD152
1655 #define PTP_DPC_NIKON_TunePreset2 0xD153 1853 #define PTP_DPC_NIKON_TunePreset2 0xD153
1656 #define PTP_DPC_NIKON_TunePreset3 0xD154 1854 #define PTP_DPC_NIKON_TunePreset3 0xD154
1657 #define PTP_DPC_NIKON_TunePreset4 0xD155 1855 #define PTP_DPC_NIKON_TunePreset4 0xD155
1658 #define PTP_DPC_NIKON_BeepOff 0xD160 1856 #define PTP_DPC_NIKON_BeepOff 0xD160
1659 #define PTP_DPC_NIKON_AutofocusMode 0xD161 1857 #define PTP_DPC_NIKON_AutofocusMode 0xD161
1660 #define PTP_DPC_NIKON_AFAssist 0xD163 1858 #define PTP_DPC_NIKON_AFAssist 0xD163
1661 #define PTP_DPC_NIKON_PADVPMode 0xD164 /* iso auto time */ 1859 #define PTP_DPC_NIKON_PADVPMode 0xD164 /* iso auto time */
1662 #define PTP_DPC_NIKON_ImageReview 0xD165 1860 #define PTP_DPC_NIKON_ImageReview 0xD165
1663 #define PTP_DPC_NIKON_AFAreaIllumination 0xD166 1861 #define PTP_DPC_NIKON_AFAreaIllumination 0xD166
1664 #define PTP_DPC_NIKON_FlashMode 0xD167 1862 #define PTP_DPC_NIKON_FlashMode 0xD167
1665 #define PTP_DPC_NIKON_FlashCommanderMode 0xD168 1863 #define PTP_DPC_NIKON_FlashCommanderMode 0xD168
1666 #define PTP_DPC_NIKON_FlashSign 0xD169 1864 #define PTP_DPC_NIKON_FlashSign 0xD169
1667 #define PTP_DPC_NIKON_ISO_Auto 0xD16A 1865 #define PTP_DPC_NIKON_ISO_Auto 0xD16A
1668 #define PTP_DPC_NIKON_RemoteTimeout 0xD16B 1866 #define PTP_DPC_NIKON_RemoteTimeout 0xD16B
1669 #define PTP_DPC_NIKON_GridDisplay 0xD16C 1867 #define PTP_DPC_NIKON_GridDisplay 0xD16C
1670 #define PTP_DPC_NIKON_FlashModeManualPower 0xD16D 1868 #define PTP_DPC_NIKON_FlashModeManualPower 0xD16D
1671 #define PTP_DPC_NIKON_FlashModeCommanderPower 0xD16E 1869 #define PTP_DPC_NIKON_FlashModeCommanderPower 0xD16E
1672 #define PTP_DPC_NIKON_AutoFP 0xD16F 1870 #define PTP_DPC_NIKON_AutoFP 0xD16F
1871 #define PTP_DPC_NIKON_DateImprintSetting 0xD170
1872 #define PTP_DPC_NIKON_DateCounterSelect 0xD171
1873 #define PTP_DPC_NIKON_DateCountData 0xD172
1874 #define PTP_DPC_NIKON_DateCountDisplaySetting 0xD173
1875 #define PTP_DPC_NIKON_RangeFinderSetting 0xD174
1673 #define PTP_DPC_NIKON_CSMMenu 0xD180 1876 #define PTP_DPC_NIKON_CSMMenu 0xD180
1674 #define PTP_DPC_NIKON_WarningDisplay 0xD181 1877 #define PTP_DPC_NIKON_WarningDisplay 0xD181
1675 #define PTP_DPC_NIKON_BatteryCellKind 0xD182 1878 #define PTP_DPC_NIKON_BatteryCellKind 0xD182
1676 #define PTP_DPC_NIKON_ISOAutoHiLimit 0xD183 1879 #define PTP_DPC_NIKON_ISOAutoHiLimit 0xD183
1677 #define PTP_DPC_NIKON_DynamicAFArea 0xD184 1880 #define PTP_DPC_NIKON_DynamicAFArea 0xD184
1678 #define PTP_DPC_NIKON_ContinuousSpeedHigh 0xD186 1881 #define PTP_DPC_NIKON_ContinuousSpeedHigh 0xD186
1679 #define PTP_DPC_NIKON_InfoDispSetting 0xD187 1882 #define PTP_DPC_NIKON_InfoDispSetting 0xD187
1680 #define PTP_DPC_NIKON_PreviewButton 0xD189 1883 #define PTP_DPC_NIKON_PreviewButton 0xD189
1681 #define PTP_DPC_NIKON_PreviewButton2 0xD18A 1884 #define PTP_DPC_NIKON_PreviewButton2 0xD18A
1682 #define PTP_DPC_NIKON_AEAFLockButton2 0xD18B 1885 #define PTP_DPC_NIKON_AEAFLockButton2 0xD18B
1683 #define PTP_DPC_NIKON_IndicatorDisp 0xD18D 1886 #define PTP_DPC_NIKON_IndicatorDisp 0xD18D
1684 #define PTP_DPC_NIKON_CellKindPriority 0xD18E 1887 #define PTP_DPC_NIKON_CellKindPriority 0xD18E
1685 #define PTP_DPC_NIKON_BracketingFramesAndSteps 0xD190 1888 #define PTP_DPC_NIKON_BracketingFramesAndSteps 0xD190
1686 #define PTP_DPC_NIKON_LiveViewMode 0xD1A0 1889 #define PTP_DPC_NIKON_LiveViewMode 0xD1A0
1687 #define PTP_DPC_NIKON_LiveViewDriveMode 0xD1A1 1890 #define PTP_DPC_NIKON_LiveViewDriveMode 0xD1A1
1688 #define PTP_DPC_NIKON_LiveViewStatus 0xD1A2 1891 #define PTP_DPC_NIKON_LiveViewStatus 0xD1A2
1689 #define PTP_DPC_NIKON_LiveViewImageZoomRatio 0xD1A3 1892 #define PTP_DPC_NIKON_LiveViewImageZoomRatio 0xD1A3
1690 #define PTP_DPC_NIKON_LiveViewProhibitCondition 0xD1A4 1893 #define PTP_DPC_NIKON_LiveViewProhibitCondition 0xD1A4
1894 #define PTP_DPC_NIKON_MovieShutterSpeed 0xD1A8
1895 #define PTP_DPC_NIKON_MovieFNumber 0xD1A9
1896 #define PTP_DPC_NIKON_MovieISO 0xD1AA
1897 #define PTP_DPC_NIKON_LiveViewMovieMode 0xD1AC /* ? */
1691 #define PTP_DPC_NIKON_ExposureDisplayStatus 0xD1B0 1898 #define PTP_DPC_NIKON_ExposureDisplayStatus 0xD1B0
1692 #define PTP_DPC_NIKON_ExposureIndicateStatus 0xD1B1 1899 #define PTP_DPC_NIKON_ExposureIndicateStatus 0xD1B1
1693 #define PTP_DPC_NIKON_InfoDispErrStatus 0xD1B2 1900 #define PTP_DPC_NIKON_InfoDispErrStatus 0xD1B2
1694 #define PTP_DPC_NIKON_ExposureIndicateLightup 0xD1B3 1901 #define PTP_DPC_NIKON_ExposureIndicateLightup 0xD1B3
1695 #define PTP_DPC_NIKON_FlashOpen 0xD1C0 1902 #define PTP_DPC_NIKON_FlashOpen 0xD1C0
1696 #define PTP_DPC_NIKON_FlashCharged 0xD1C1 1903 #define PTP_DPC_NIKON_FlashCharged 0xD1C1
1697 #define PTP_DPC_NIKON_FlashMRepeatValue 0xD1D0 1904 #define PTP_DPC_NIKON_FlashMRepeatValue 0xD1D0
1698 #define PTP_DPC_NIKON_FlashMRepeatCount 0xD1D1 1905 #define PTP_DPC_NIKON_FlashMRepeatCount 0xD1D1
1699 #define PTP_DPC_NIKON_FlashMRepeatInterval 0xD1D2 1906 #define PTP_DPC_NIKON_FlashMRepeatInterval 0xD1D2
1700 #define PTP_DPC_NIKON_FlashCommandChannel 0xD1D3 1907 #define PTP_DPC_NIKON_FlashCommandChannel 0xD1D3
1701 #define PTP_DPC_NIKON_FlashCommandSelfMode 0xD1D4 1908 #define PTP_DPC_NIKON_FlashCommandSelfMode 0xD1D4
1702 #define PTP_DPC_NIKON_FlashCommandSelfCompensation 0xD1D5 1909 #define PTP_DPC_NIKON_FlashCommandSelfCompensation 0xD1D5
1703 #define PTP_DPC_NIKON_FlashCommandSelfValue 0xD1D6 1910 #define PTP_DPC_NIKON_FlashCommandSelfValue 0xD1D6
1704 #define PTP_DPC_NIKON_FlashCommandAMode 0xD1D7 1911 #define PTP_DPC_NIKON_FlashCommandAMode 0xD1D7
1705 #define PTP_DPC_NIKON_FlashCommandACompensation 0xD1D8 1912 #define PTP_DPC_NIKON_FlashCommandACompensation 0xD1D8
1706 #define PTP_DPC_NIKON_FlashCommandAValue 0xD1D9 1913 #define PTP_DPC_NIKON_FlashCommandAValue 0xD1D9
1707 #define PTP_DPC_NIKON_FlashCommandBMode 0xD1DA 1914 #define PTP_DPC_NIKON_FlashCommandBMode 0xD1DA
1708 #define PTP_DPC_NIKON_FlashCommandBCompensation 0xD1DB 1915 #define PTP_DPC_NIKON_FlashCommandBCompensation 0xD1DB
1709 #define PTP_DPC_NIKON_FlashCommandBValue 0xD1DC 1916 #define PTP_DPC_NIKON_FlashCommandBValue 0xD1DC
1917 #define PTP_DPC_NIKON_ApplicationMode 0xD1F0
1918 #define PTP_DPC_NIKON_ActiveSlot 0xD1F2
1710 #define PTP_DPC_NIKON_ActivePicCtrlItem 0xD200 1919 #define PTP_DPC_NIKON_ActivePicCtrlItem 0xD200
1711 #define PTP_DPC_NIKON_ChangePicCtrlItem 0xD201 1920 #define PTP_DPC_NIKON_ChangePicCtrlItem 0xD201
1921 #define PTP_DPC_NIKON_MovieNrHighISO 0xD236
1922
1923
1924 /* Nikon V1 (or WU adapter?) Trace */
1925 /* d241 - gets string "Nikon_WU2_0090B5123C61" */
1926 #define PTP_DPC_NIKON_D241 0xD241
1927 /* d244 - gets a single byte 0x00 */
1928 #define PTP_DPC_NIKON_D244 0xD244
1929 /* d247 - gets 3 bytes 0x01 0x00 0x00 */
1930 #define PTP_DPC_NIKON_D247 0xD247
1931 /* S9700 */
1932 #define PTP_DPC_NIKON_GUID 0xD24F
1933 /* d250 - gets a string "0000123C61" */
1934 #define PTP_DPC_NIKON_D250 0xD250
1935 /* d251 - gets a 0x0100000d */
1936 #define PTP_DPC_NIKON_D251 0xD251
1937
1938 /* this is irregular, as it should be -0x5000 or 0xD000 based */
1939 #define PTP_DPC_NIKON_1_ISO 0xF002
1940 #define PTP_DPC_NIKON_1_ImageCompression 0xF009
1941 #define PTP_DPC_NIKON_1_ImageSize 0xF00A
1942 #define PTP_DPC_NIKON_1_WhiteBalance 0xF00C
1943 #define PTP_DPC_NIKON_1_LongExposureNoiseReduction 0xF00D
1944 #define PTP_DPC_NIKON_1_HiISONoiseReduction 0xF00E
1945 #define PTP_DPC_NIKON_1_ActiveDLighting 0xF00F
1946 #define PTP_DPC_NIKON_1_MovQuality 0xF01C
1712 1947
1713 /* Fuji specific */ 1948 /* Fuji specific */
1714 #define PTP_DPC_FUJI_ColorTemperature 0xD017 1949 #define PTP_DPC_FUJI_ColorTemperature 0xD017
1715 #define PTP_DPC_FUJI_Quality 0xD018 1950 #define PTP_DPC_FUJI_Quality 0xD018
1716 #define PTP_DPC_FUJI_ReleaseMode 0xD201 1951 #define PTP_DPC_FUJI_ReleaseMode 0xD201
1717 #define PTP_DPC_FUJI_FocusAreas 0xD206 1952 #define PTP_DPC_FUJI_FocusAreas 0xD206
1718 #define PTP_DPC_FUJI_AELock 0xD213 1953 #define PTP_DPC_FUJI_AELock 0xD213
1719 #define PTP_DPC_FUJI_Aperture 0xD218 1954 #define PTP_DPC_FUJI_Aperture 0xD218
1720 #define PTP_DPC_FUJI_ShutterSpeed 0xD219 1955 #define PTP_DPC_FUJI_ShutterSpeed 0xD219
1721 1956
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
1816 #define PTP_DPC_OLYMPUS_ResolutionValueSetting 0xD155 2051 #define PTP_DPC_OLYMPUS_ResolutionValueSetting 0xD155
1817 #define PTP_DPC_OLYMPUS_AFTargetSize 0xD157 2052 #define PTP_DPC_OLYMPUS_AFTargetSize 0xD157
1818 #define PTP_DPC_OLYMPUS_LightSensorMode 0xD158 2053 #define PTP_DPC_OLYMPUS_LightSensorMode 0xD158
1819 #define PTP_DPC_OLYMPUS_AEBracket 0xD159 2054 #define PTP_DPC_OLYMPUS_AEBracket 0xD159
1820 #define PTP_DPC_OLYMPUS_WBRBBracket 0xD15A 2055 #define PTP_DPC_OLYMPUS_WBRBBracket 0xD15A
1821 #define PTP_DPC_OLYMPUS_WBGMBracket 0xD15B 2056 #define PTP_DPC_OLYMPUS_WBGMBracket 0xD15B
1822 #define PTP_DPC_OLYMPUS_FlashBracket 0xD15C 2057 #define PTP_DPC_OLYMPUS_FlashBracket 0xD15C
1823 #define PTP_DPC_OLYMPUS_ISOBracket 0xD15D 2058 #define PTP_DPC_OLYMPUS_ISOBracket 0xD15D
1824 #define PTP_DPC_OLYMPUS_MyModeStatus 0xD15E 2059 #define PTP_DPC_OLYMPUS_MyModeStatus 0xD15E
1825 2060
2061 /* Sony A900 */
2062 #define PTP_DPC_SONY_DPCCompensation 0xD200
2063 #define PTP_DPC_SONY_DRangeOptimize 0xD201
2064 #define PTP_DPC_SONY_ImageSize 0xD203
2065 #define PTP_DPC_SONY_ShutterSpeed 0xD20D
2066 #define PTP_DPC_SONY_ColorTemp 0xD20F
2067 #define PTP_DPC_SONY_CCFilter 0xD210
2068 #define PTP_DPC_SONY_AspectRatio 0xD211
2069 #define PTP_DPC_SONY_ExposeIndex 0xD216
2070 #define PTP_DPC_SONY_PictureEffect 0xD21B
2071 #define PTP_DPC_SONY_ABFilter 0xD21C
2072 #define PTP_DPC_SONY_ISO 0xD21E /* ? */
2073 /* also seen: D2C3 D2C4 */
2074 /* semi control opcodes */
2075 #define PTP_DPC_SONY_Movie 0xD2C8 /* ? */
2076 #define PTP_DPC_SONY_StillImage 0xD2C7 /* ? */
2077
2078
2079
1826 /* Casio EX-F1 */ 2080 /* Casio EX-F1 */
1827 #define PTP_DPC_CASIO_MONITOR 0xD001 2081 #define PTP_DPC_CASIO_MONITOR 0xD001
1828 #define PTP_DPC_CASIO_STORAGE 0xD002 //Not reported by DeviceInfo? 2082 #define PTP_DPC_CASIO_STORAGE 0xD002 //Not reported by DeviceInfo?
1829 #define PTP_DPC_CASIO_UNKNOWN_1 0xD004 2083 #define PTP_DPC_CASIO_UNKNOWN_1 0xD004
1830 #define PTP_DPC_CASIO_UNKNOWN_2 0xD005 2084 #define PTP_DPC_CASIO_UNKNOWN_2 0xD005
1831 #define PTP_DPC_CASIO_UNKNOWN_3 0xD007 2085 #define PTP_DPC_CASIO_UNKNOWN_3 0xD007
1832 #define PTP_DPC_CASIO_RECORD_LIGHT 0xD008 2086 #define PTP_DPC_CASIO_RECORD_LIGHT 0xD008
1833 #define PTP_DPC_CASIO_UNKNOWN_4 0xD009 2087 #define PTP_DPC_CASIO_UNKNOWN_4 0xD009
1834 #define PTP_DPC_CASIO_UNKNOWN_5 0xD00A 2088 #define PTP_DPC_CASIO_UNKNOWN_5 0xD00A
1835 #define PTP_DPC_CASIO_MOVIE_MODE 0xD00B 2089 #define PTP_DPC_CASIO_MOVIE_MODE 0xD00B
1836 #define PTP_DPC_CASIO_HD_SETTING 0xD00C 2090 #define PTP_DPC_CASIO_HD_SETTING 0xD00C
1837 #define PTP_DPC_CASIO_HS_SETTING 0xD00D 2091 #define PTP_DPC_CASIO_HS_SETTING 0xD00D
1838 #define PTP_DPC_CASIO_CS_HIGH_SPEED 0xD00F 2092 #define PTP_DPC_CASIO_CS_HIGH_SPEED 0xD00F
1839 #define PTP_DPC_CASIO_CS_UPPER_LIMIT 0xD010 2093 #define PTP_DPC_CASIO_CS_UPPER_LIMIT 0xD010
1840 #define PTP_DPC_CASIO_CS_SHOT 0xD011 2094 #define PTP_DPC_CASIO_CS_SHOT 0xD011
1841 #define PTP_DPC_CASIO_UNKNOWN_6 0xD012 2095 #define PTP_DPC_CASIO_UNKNOWN_6 0xD012
1842 #define PTP_DPC_CASIO_UNKNOWN_7 0xD013 2096 #define PTP_DPC_CASIO_UNKNOWN_7 0xD013
1843 #define PTP_DPC_CASIO_UNKNOWN_8 0xD015 2097 #define PTP_DPC_CASIO_UNKNOWN_8 0xD015
1844 #define PTP_DPC_CASIO_UNKNOWN_9 0xD017 2098 #define PTP_DPC_CASIO_UNKNOWN_9 0xD017
1845 #define PTP_DPC_CASIO_UNKNOWN_10 0xD018 2099 #define PTP_DPC_CASIO_UNKNOWN_10 0xD018
1846 #define PTP_DPC_CASIO_UNKNOWN_11 0xD019 2100 #define PTP_DPC_CASIO_UNKNOWN_11 0xD019
1847 #define PTP_DPC_CASIO_UNKNOWN_12 0xD01A 2101 #define PTP_DPC_CASIO_UNKNOWN_12 0xD01A
1848 #define PTP_DPC_CASIO_UNKNOWN_13 0xD01B 2102 #define PTP_DPC_CASIO_UNKNOWN_13 0xD01B
1849 #define PTP_DPC_CASIO_UNKNOWN_14 0xD01C 2103 #define PTP_DPC_CASIO_UNKNOWN_14 0xD01C
1850 #define PTP_DPC_CASIO_UNKNOWN_15 0xD01D 2104 #define PTP_DPC_CASIO_UNKNOWN_15 0xD01D
1851 #define PTP_DPC_CASIO_UNKNOWN_16 0xD020 2105 #define PTP_DPC_CASIO_UNKNOWN_16 0xD020
1852 #define PTP_DPC_CASIO_UNKNOWN_17 0xD030 2106 #define PTP_DPC_CASIO_UNKNOWN_17 0xD030
1853 #define PTP_DPC_CASIO_UNKNOWN_18 0xD080 2107 #define PTP_DPC_CASIO_UNKNOWN_18 0xD080
1854 2108
2109 #define PTP_DPC_RICOH_ShutterSpeed 0xD00F
2110
1855 /* MTP specific Object Properties */ 2111 /* MTP specific Object Properties */
1856 #define PTP_OPC_StorageID 0xDC01 2112 #define PTP_OPC_StorageID 0xDC01
1857 #define PTP_OPC_ObjectFormat 0xDC02 2113 #define PTP_OPC_ObjectFormat 0xDC02
1858 #define PTP_OPC_ProtectionStatus 0xDC03 2114 #define PTP_OPC_ProtectionStatus 0xDC03
1859 #define PTP_OPC_ObjectSize 0xDC04 2115 #define PTP_OPC_ObjectSize 0xDC04
1860 #define PTP_OPC_AssociationType 0xDC05 2116 #define PTP_OPC_AssociationType 0xDC05
1861 #define PTP_OPC_AssociationDesc 0xDC06 2117 #define PTP_OPC_AssociationDesc 0xDC06
1862 #define PTP_OPC_ObjectFileName 0xDC07 2118 #define PTP_OPC_ObjectFileName 0xDC07
1863 #define PTP_OPC_DateCreated 0xDC08 2119 #define PTP_OPC_DateCreated 0xDC08
1864 #define PTP_OPC_DateModified 0xDC09 2120 #define PTP_OPC_DateModified 0xDC09
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
2048 2304
2049 typedef struct _PTPParams PTPParams; 2305 typedef struct _PTPParams PTPParams;
2050 2306
2051 2307
2052 typedef uint16_t (* PTPDataGetFunc) (PTPParams* params, void*priv, 2308 typedef uint16_t (* PTPDataGetFunc) (PTPParams* params, void*priv,
2053 unsigned long wantlen, 2309 unsigned long wantlen,
2054 unsigned char *data, unsigned long *gotl en); 2310 unsigned char *data, unsigned long *gotl en);
2055 2311
2056 typedef uint16_t (* PTPDataPutFunc) (PTPParams* params, void*priv, 2312 typedef uint16_t (* PTPDataPutFunc) (PTPParams* params, void*priv,
2057 unsigned long sendlen, 2313 unsigned long sendlen,
2058 » unsigned char *data, unsigned long *putl en); 2314 » unsigned char *data);
2059 typedef struct _PTPDataHandler { 2315 typedef struct _PTPDataHandler {
2060 PTPDataGetFunc getfunc; 2316 PTPDataGetFunc getfunc;
2061 PTPDataPutFunc putfunc; 2317 PTPDataPutFunc putfunc;
2062 void *priv; 2318 void *priv;
2063 } PTPDataHandler; 2319 } PTPDataHandler;
2064 2320
2065 /* 2321 /*
2066 * This functions take PTP oriented arguments and send them over an 2322 * This functions take PTP oriented arguments and send them over an
2067 * appropriate data layer doing byteorder conversion accordingly. 2323 * appropriate data layer doing byteorder conversion accordingly.
2068 */ 2324 */
2069 typedef uint16_t (* PTPIOSendReq)» (PTPParams* params, PTPContainer* req); 2325 typedef uint16_t (* PTPIOSendReq)» (PTPParams* params, PTPContainer* req, i nt dataphase);
2070 typedef uint16_t (* PTPIOSendData) (PTPParams* params, PTPContainer* ptp, 2326 typedef uint16_t (* PTPIOSendData) (PTPParams* params, PTPContainer* ptp,
2071 » » » » » unsigned long size, PTPDataHandler*gett er); 2327 » » » » » uint64_t size, PTPDataHandler*getter);
2072 2328
2073 typedef uint16_t (* PTPIOGetResp) (PTPParams* params, PTPContainer* resp); 2329 typedef uint16_t (* PTPIOGetResp) (PTPParams* params, PTPContainer* resp);
2074 typedef uint16_t (* PTPIOGetData) (PTPParams* params, PTPContainer* ptp, 2330 typedef uint16_t (* PTPIOGetData) (PTPParams* params, PTPContainer* ptp,
2075 PTPDataHandler *putter); 2331 PTPDataHandler *putter);
2076 typedef uint16_t (* PTPIOCancelReq) (PTPParams* params, uint32_t transaction _id); 2332 typedef uint16_t (* PTPIOCancelReq) (PTPParams* params, uint32_t transaction _id);
2077 2333
2078 /* debug functions */ 2334 /* debug functions */
2079 typedef void (* PTPErrorFunc) (void *data, const char *format, va_list args) 2335 typedef void (* PTPErrorFunc) (void *data, const char *format, va_list args)
2080 #if (__GNUC__ >= 3) 2336 #if (__GNUC__ >= 3)
2081 __attribute__((__format__(printf,2,0))) 2337 __attribute__((__format__(printf,2,0)))
(...skipping 11 matching lines...) Expand all
2093 #define PTPOBJECT_OBJECTINFO_LOADED (1<<0) 2349 #define PTPOBJECT_OBJECTINFO_LOADED (1<<0)
2094 #define PTPOBJECT_CANONFLAGS_LOADED (1<<1) 2350 #define PTPOBJECT_CANONFLAGS_LOADED (1<<1)
2095 #define PTPOBJECT_MTPPROPLIST_LOADED (1<<2) 2351 #define PTPOBJECT_MTPPROPLIST_LOADED (1<<2)
2096 #define PTPOBJECT_DIRECTORY_LOADED (1<<3) 2352 #define PTPOBJECT_DIRECTORY_LOADED (1<<3)
2097 #define PTPOBJECT_PARENTOBJECT_LOADED (1<<4) 2353 #define PTPOBJECT_PARENTOBJECT_LOADED (1<<4)
2098 #define PTPOBJECT_STORAGEID_LOADED (1<<5) 2354 #define PTPOBJECT_STORAGEID_LOADED (1<<5)
2099 2355
2100 PTPObjectInfo oi; 2356 PTPObjectInfo oi;
2101 uint32_t canon_flags; 2357 uint32_t canon_flags;
2102 MTPProperties *mtpprops; 2358 MTPProperties *mtpprops;
2103 » int» » nrofmtpprops; 2359 » unsigned int» nrofmtpprops;
2104 }; 2360 };
2105 typedef struct _PTPObject PTPObject; 2361 typedef struct _PTPObject PTPObject;
2106 2362
2363 /* The Device Property Cache */
2364 struct _PTPDeviceProperty {
2365 time_t timestamp;
2366 PTPDevicePropDesc desc;
2367 PTPPropertyValue value;
2368 };
2369 typedef struct _PTPDeviceProperty PTPDeviceProperty;
2370
2371 /* Transaction data phase description, internal flags to sendreq / transaction d river. */
2372 #define PTP_DP_NODATA 0x0000 /* no data phase */
2373 #define PTP_DP_SENDDATA 0x0001 /* sending data */
2374 #define PTP_DP_GETDATA 0x0002 /* receiving data */
2375 #define PTP_DP_DATA_MASK 0x00ff /* data phase mask */
2376
2107 struct _PTPParams { 2377 struct _PTPParams {
2108 /* device flags */ 2378 /* device flags */
2109 uint32_t device_flags; 2379 uint32_t device_flags;
2110 2380
2111 /* data layer byteorder */ 2381 /* data layer byteorder */
2112 uint8_t byteorder; 2382 uint8_t byteorder;
2113 uint16_t maxpacketsize; 2383 uint16_t maxpacketsize;
2114 2384
2115 /* PTP IO: Custom IO functions */ 2385 /* PTP IO: Custom IO functions */
2116 PTPIOSendReq sendreq_func; 2386 PTPIOSendReq sendreq_func;
2117 PTPIOSendData senddata_func; 2387 PTPIOSendData senddata_func;
2118 PTPIOGetResp getresp_func; 2388 PTPIOGetResp getresp_func;
2119 PTPIOGetData getdata_func; 2389 PTPIOGetData getdata_func;
2120 PTPIOGetResp event_check; 2390 PTPIOGetResp event_check;
2121 PTPIOGetResp event_wait; 2391 PTPIOGetResp event_wait;
2122 PTPIOCancelReq cancelreq_func; 2392 PTPIOCancelReq cancelreq_func;
2123 2393
2124 /* Custom error and debug function */ 2394 /* Custom error and debug function */
2125 PTPErrorFunc error_func; 2395 PTPErrorFunc error_func;
2126 PTPDebugFunc debug_func; 2396 PTPDebugFunc debug_func;
2127 2397
2128 /* Data passed to above functions */ 2398 /* Data passed to above functions */
2129 void *data; 2399 void *data;
2130 2400
2131 /* ptp transaction ID */ 2401 /* ptp transaction ID */
2132 uint32_t transaction_id; 2402 uint32_t transaction_id;
2133 /* ptp session ID */ 2403 /* ptp session ID */
2134 uint32_t session_id; 2404 uint32_t session_id;
2135 2405
2406 /* used for open capture */
2407 uint32_t opencapture_transid;
2408
2136 /* PTP IO: if we have MTP style split header/data transfers */ 2409 /* PTP IO: if we have MTP style split header/data transfers */
2137 int split_header_data; 2410 int split_header_data;
2138 int ocs64; /* 64bit objectsize */ 2411 int ocs64; /* 64bit objectsize */
2139 2412
2140 /* PTP: internal structures used by ptp driver */ 2413 /* PTP: internal structures used by ptp driver */
2141 PTPObject *objects; 2414 PTPObject *objects;
2142 » int» » nrofobjects; 2415 » unsigned int» nrofobjects;
2143 2416
2144 PTPDeviceInfo deviceinfo; 2417 PTPDeviceInfo deviceinfo;
2145 2418
2146 /* PTP: the current event queue */ 2419 /* PTP: the current event queue */
2147 PTPContainer *events; 2420 PTPContainer *events;
2148 int nrofevents; 2421 int nrofevents;
2149 2422
2423 /* live view enabled */
2424 int inliveview;
2425
2426 /* PTP: Device Property Caching */
2427 PTPDeviceProperty *deviceproperties;
2428 unsigned int nrofdeviceproperties;
2429
2150 /* PTP: Canon specific flags list */ 2430 /* PTP: Canon specific flags list */
2151 PTPCanon_Property *canon_props; 2431 PTPCanon_Property *canon_props;
2152 » int» » » nrofcanon_props; 2432 » unsigned int» » nrofcanon_props;
2153 int canon_viewfinder_on; 2433 int canon_viewfinder_on;
2154 int canon_event_mode; 2434 int canon_event_mode;
2155 2435
2156 /* PTP: Canon EOS event queue */ 2436 /* PTP: Canon EOS event queue */
2157 PTPCanon_changes_entry *backlogentries; 2437 PTPCanon_changes_entry *backlogentries;
2158 » int» » » nrofbacklogentries; 2438 » unsigned int» » nrofbacklogentries;
2159 int eos_captureenabled; 2439 int eos_captureenabled;
2160 int eos_viewfinderenabled;
2161 int eos_camerastatus; 2440 int eos_camerastatus;
2162 2441
2442 /* PTP: Nikon specifics */
2443 int controlmode;
2444 int event90c7works;
2445 int deletesdramfails;
2446
2163 /* PTP: Wifi profiles */ 2447 /* PTP: Wifi profiles */
2164 uint8_t wifi_profiles_version; 2448 uint8_t wifi_profiles_version;
2165 uint8_t wifi_profiles_number; 2449 uint8_t wifi_profiles_number;
2166 PTPNIKONWifiProfile *wifi_profiles; 2450 PTPNIKONWifiProfile *wifi_profiles;
2167 2451
2168 /* IO: PTP/IP related data */ 2452 /* IO: PTP/IP related data */
2169 int cmdfd, evtfd; 2453 int cmdfd, evtfd;
2170 uint8_t cameraguid[16]; 2454 uint8_t cameraguid[16];
2171 uint32_t eventpipeid; 2455 uint32_t eventpipeid;
2172 char *cameraname; 2456 char *cameraname;
2173 2457
2174 /* Olympus UMS wrapping related data */ 2458 /* Olympus UMS wrapping related data */
2175 PTPDeviceInfo outer_deviceinfo; 2459 PTPDeviceInfo outer_deviceinfo;
2176 char *olympus_cmd; 2460 char *olympus_cmd;
2177 char *olympus_reply; 2461 char *olympus_reply;
2462 struct _PTPParams *outer_params;
2178 2463
2179 #ifdef HAVE_ICONV 2464 #if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H)
2180 /* PTP: iconv converters */ 2465 /* PTP: iconv converters */
2181 iconv_t cd_locale_to_ucs2; 2466 iconv_t cd_locale_to_ucs2;
2182 iconv_t cd_ucs2_to_locale; 2467 iconv_t cd_ucs2_to_locale;
2183 #endif 2468 #endif
2184 2469
2185 /* IO: Sometimes the response packet get send in the dataphase 2470 /* IO: Sometimes the response packet get send in the dataphase
2186 * too. This only happens for a Samsung player now. 2471 * too. This only happens for a Samsung player now.
2187 */ 2472 */
2188 uint8_t *response_packet; 2473 uint8_t *response_packet;
2189 uint16_t response_packet_size; 2474 uint16_t response_packet_size;
2190 }; 2475 };
2191 2476
2477 /* Asynchronous event callback */
2478 typedef void(* PTPEventCbFn) (PTPParams *params, uint16_t code, PTPContainer *ev ent, void *user_data);
2479
2192 /* last, but not least - ptp functions */ 2480 /* last, but not least - ptp functions */
2193 uint16_t ptp_usb_sendreq» (PTPParams* params, PTPContainer* req); 2481 uint16_t ptp_usb_sendreq» (PTPParams* params, PTPContainer* req, int datap hase);
2194 uint16_t ptp_usb_senddata (PTPParams* params, PTPContainer* ptp, 2482 uint16_t ptp_usb_senddata (PTPParams* params, PTPContainer* ptp,
2195 » » » » unsigned long size, PTPDataHandler *handler); 2483 » » » » uint64_t size, PTPDataHandler *handler);
2196 uint16_t ptp_usb_getresp (PTPParams* params, PTPContainer* resp); 2484 uint16_t ptp_usb_getresp (PTPParams* params, PTPContainer* resp);
2197 uint16_t ptp_usb_getdata (PTPParams* params, PTPContainer* ptp, 2485 uint16_t ptp_usb_getdata (PTPParams* params, PTPContainer* ptp,
2198 PTPDataHandler *handler); 2486 PTPDataHandler *handler);
2199 uint16_t ptp_usb_event_check (PTPParams* params, PTPContainer* event); 2487 uint16_t ptp_usb_event_check (PTPParams* params, PTPContainer* event);
2200 uint16_t ptp_usb_event_wait (PTPParams* params, PTPContainer* event); 2488 uint16_t ptp_usb_event_wait (PTPParams* params, PTPContainer* event);
2489 uint16_t ptp_usb_event_async (PTPParams *params, PTPEventCbFn cb, void *user_ data);
2201 2490
2202 uint16_t ptp_usb_control_get_extended_event_data (PTPParams *params, char *buffe r, int *size); 2491 uint16_t ptp_usb_control_get_extended_event_data (PTPParams *params, char *buffe r, int *size);
2203 uint16_t ptp_usb_control_device_reset_request (PTPParams *params); 2492 uint16_t ptp_usb_control_device_reset_request (PTPParams *params);
2204 uint16_t ptp_usb_control_get_device_status (PTPParams *params, char *buffer, int *size); 2493 uint16_t ptp_usb_control_get_device_status (PTPParams *params, char *buffer, int *size);
2205 uint16_t ptp_usb_control_cancel_request (PTPParams *params, uint32_t transid); 2494 uint16_t ptp_usb_control_cancel_request (PTPParams *params, uint32_t transid);
2206 2495
2207 2496
2208 int ptp_ptpip_connect (PTPParams* params, const char *port); 2497 int ptp_ptpip_connect (PTPParams* params, const char *port);
2209 uint16_t ptp_ptpip_sendreq» (PTPParams* params, PTPContainer* req); 2498 uint16_t ptp_ptpip_sendreq» (PTPParams* params, PTPContainer* req, int datap hase);
2210 uint16_t ptp_ptpip_senddata (PTPParams* params, PTPContainer* ptp, 2499 uint16_t ptp_ptpip_senddata (PTPParams* params, PTPContainer* ptp,
2211 » » » » unsigned long size, PTPDataHandler *handler); 2500 » » » » uint64_t size, PTPDataHandler *handler);
2212 uint16_t ptp_ptpip_getresp (PTPParams* params, PTPContainer* resp); 2501 uint16_t ptp_ptpip_getresp (PTPParams* params, PTPContainer* resp);
2213 uint16_t ptp_ptpip_getdata (PTPParams* params, PTPContainer* ptp, 2502 uint16_t ptp_ptpip_getdata (PTPParams* params, PTPContainer* ptp,
2214 PTPDataHandler *handler); 2503 PTPDataHandler *handler);
2215 uint16_t ptp_ptpip_event_wait (PTPParams* params, PTPContainer* event); 2504 uint16_t ptp_ptpip_event_wait (PTPParams* params, PTPContainer* event);
2216 uint16_t ptp_ptpip_event_check (PTPParams* params, PTPContainer* event); 2505 uint16_t ptp_ptpip_event_check (PTPParams* params, PTPContainer* event);
2217 2506
2218 uint16_t ptp_getdeviceinfo (PTPParams* params, PTPDeviceInfo* deviceinfo); 2507 uint16_t ptp_getdeviceinfo (PTPParams* params, PTPDeviceInfo* deviceinfo);
2219 2508
2220 uint16_t ptp_generic_no_data (PTPParams* params, uint16_t opcode, unsigned in t cnt, ...); 2509 uint16_t ptp_generic_no_data (PTPParams* params, uint16_t opcode, unsigned in t cnt, ...);
2221 2510
2222 uint16_t ptp_opensession (PTPParams *params, uint32_t session); 2511 uint16_t ptp_opensession (PTPParams *params, uint32_t session);
2223 2512
2513 uint16_t ptp_transaction_new (PTPParams* params, PTPContainer* ptp,
2514 uint16_t flags, uint64_t sendlen,
2515 PTPDataHandler *handler
2516 );
2517 uint16_t ptp_transaction (PTPParams* params, PTPContainer* ptp,
2518 uint16_t flags, uint64_t sendlen,
2519 unsigned char **data, unsigned int *recvlen
2520 );
2521
2224 /** 2522 /**
2225 * ptp_closesession: 2523 * ptp_closesession:
2226 * params: PTPParams* 2524 * params: PTPParams*
2227 * 2525 *
2228 * Closes session. 2526 * Closes session.
2229 * 2527 *
2230 * Return values: Some PTP_RC_* code. 2528 * Return values: Some PTP_RC_* code.
2231 **/ 2529 **/
2232 #define ptp_closesession(params) ptp_generic_no_data(params,PTP_OC_CloseSession, 0) 2530 #define ptp_closesession(params) ptp_generic_no_data(params,PTP_OC_CloseSession, 0)
2531
2532 /**
2533 * ptp_powerdown:
2534 * params: PTPParams*
2535 *
2536 * Powers down device.
2537 *
2538 * Return values: Some PTP_RC_* code.
2539 **/
2540 #define ptp_powerdown(params) ptp_generic_no_data(params,PTP_OC_PowerDown,0)
2233 /** 2541 /**
2234 * ptp_resetdevice: 2542 * ptp_resetdevice:
2235 * params: PTPParams* 2543 * params: PTPParams*
2236 * 2544 *
2237 * Uses the built-in function to reset the device 2545 * Uses the built-in function to reset the device
2238 * 2546 *
2239 * Return values: Some PTP_RC_* code. 2547 * Return values: Some PTP_RC_* code.
2240 * 2548 *
2241 */ 2549 */
2242 #define ptp_resetdevice(params) ptp_generic_no_data(params,PTP_OC_ResetDevice,0) 2550 #define ptp_resetdevice(params) ptp_generic_no_data(params,PTP_OC_ResetDevice,0)
(...skipping 26 matching lines...) Expand all
2269 uint16_t ptp_getobjectinfo (PTPParams *params, uint32_t handle, 2577 uint16_t ptp_getobjectinfo (PTPParams *params, uint32_t handle,
2270 PTPObjectInfo* objectinfo); 2578 PTPObjectInfo* objectinfo);
2271 2579
2272 uint16_t ptp_getobject (PTPParams *params, uint32_t handle, 2580 uint16_t ptp_getobject (PTPParams *params, uint32_t handle,
2273 unsigned char** object); 2581 unsigned char** object);
2274 uint16_t ptp_getobject_tofd (PTPParams* params, uint32_t handle, int fd); 2582 uint16_t ptp_getobject_tofd (PTPParams* params, uint32_t handle, int fd);
2275 uint16_t ptp_getobject_to_handler (PTPParams* params, uint32_t handle, PTPDataHa ndler*); 2583 uint16_t ptp_getobject_to_handler (PTPParams* params, uint32_t handle, PTPDataHa ndler*);
2276 uint16_t ptp_getpartialobject (PTPParams* params, uint32_t handle, uint32_t of fset, 2584 uint16_t ptp_getpartialobject (PTPParams* params, uint32_t handle, uint32_t of fset,
2277 uint32_t maxbytes, unsigned char** object, 2585 uint32_t maxbytes, unsigned char** object,
2278 uint32_t *len); 2586 uint32_t *len);
2587 uint16_t ptp_getpartialobject_to_handler (PTPParams* params, uint32_t handle, ui nt32_t offset,
2588 uint32_t maxbytes, PTPDataHandler *handler);
2589
2279 uint16_t ptp_getthumb (PTPParams *params, uint32_t handle, 2590 uint16_t ptp_getthumb (PTPParams *params, uint32_t handle,
2280 unsigned char** object, unsigned int *len); 2591 unsigned char** object, unsigned int *len);
2281 2592
2282 uint16_t ptp_deleteobject (PTPParams* params, uint32_t handle, 2593 uint16_t ptp_deleteobject (PTPParams* params, uint32_t handle,
2283 uint32_t ofc); 2594 uint32_t ofc);
2284 2595
2285 uint16_t ptp_sendobjectinfo (PTPParams* params, uint32_t* store, 2596 uint16_t ptp_sendobjectinfo (PTPParams* params, uint32_t* store,
2286 uint32_t* parenthandle, uint32_t* handle, 2597 uint32_t* parenthandle, uint32_t* handle,
2287 PTPObjectInfo* objectinfo); 2598 PTPObjectInfo* objectinfo);
2288 /** 2599 /**
2289 * ptp_setobjectprotection: 2600 * ptp_setobjectprotection:
2290 * params: PTPParams* 2601 * params: PTPParams*
2291 * uint16_t newprot - object protection flag 2602 * uint16_t newprot - object protection flag
2292 * 2603 *
2293 * Set protection of object. 2604 * Set protection of object.
2294 * 2605 *
2295 * Return values: Some PTP_RC_* code. 2606 * Return values: Some PTP_RC_* code.
2296 * 2607 *
2297 */ 2608 */
2298 #define ptp_setobjectprotection(params,oid,newprot) ptp_generic_no_data(params,P TP_OC_SetObjectProtection,2,oid,newprot) 2609 #define ptp_setobjectprotection(params,oid,newprot) ptp_generic_no_data(params,P TP_OC_SetObjectProtection,2,oid,newprot)
2299 uint16_t ptp_sendobject (PTPParams* params, unsigned char* object, 2610 uint16_t ptp_sendobject (PTPParams* params, unsigned char* object,
2300 » » » » uint32_t size); 2611 » » » » uint64_t size);
2301 uint16_t ptp_sendobject_fromfd (PTPParams* params, int fd, uint32_t size); 2612 uint16_t ptp_sendobject_fromfd (PTPParams* params, int fd, uint64_t size);
2302 uint16_t ptp_sendobject_from_handler (PTPParams* params, PTPDataHandler*, uint3 2_t size); 2613 uint16_t ptp_sendobject_from_handler (PTPParams* params, PTPDataHandler*, uint6 4_t size);
2303 /** 2614 /**
2304 * ptp_initiatecapture: 2615 * ptp_initiatecapture:
2305 * params: PTPParams* 2616 * params: PTPParams*
2306 * storageid - destination StorageID on Responder 2617 * storageid - destination StorageID on Responder
2307 * ofc - object format code 2618 * ofc - object format code
2308 * 2619 *
2309 * Causes device to initiate the capture of one or more new data objects 2620 * Causes device to initiate the capture of one or more new data objects
2310 * according to its current device properties, storing the data into store 2621 * according to its current device properties, storing the data into store
2311 * indicated by storageid. If storageid is 0x00000000, the object(s) will 2622 * indicated by storageid. If storageid is 0x00000000, the object(s) will
2312 * be stored in a store that is determined by the capturing device. 2623 * be stored in a store that is determined by the capturing device.
2313 * The capturing of new data objects is an asynchronous operation. 2624 * The capturing of new data objects is an asynchronous operation.
2314 * 2625 *
2315 * Return values: Some PTP_RC_* code. 2626 * Return values: Some PTP_RC_* code.
2316 **/ 2627 **/
2317 #define ptp_initiatecapture(params,storageid,ofc) ptp_generic_no_data(params,PTP _OC_InitiateCapture,2,storageid,ofc) 2628 #define ptp_initiatecapture(params,storageid,ofc) ptp_generic_no_data(params,PTP _OC_InitiateCapture,2,storageid,ofc)
2318 2629
2630 #define ptp_initiateopencapture(params,storageid,ofc) ptp_generic_no_data(para ms,PTP_OC_InitiateOpenCapture,2,storageid,ofc)
2631 #define ptp_terminateopencapture(params,transid) ptp_generic_no_data(para ms,PTP_OC_TerminateOpenCapture,1,transid)
2632
2319 uint16_t ptp_getdevicepropdesc (PTPParams* params, uint16_t propcode, 2633 uint16_t ptp_getdevicepropdesc (PTPParams* params, uint16_t propcode,
2320 PTPDevicePropDesc *devicepropertydesc); 2634 PTPDevicePropDesc *devicepropertydesc);
2635 uint16_t ptp_generic_getdevicepropdesc (PTPParams *params, uint16_t propcode,
2636 PTPDevicePropDesc *dpd);
2321 uint16_t ptp_getdevicepropvalue (PTPParams* params, uint16_t propcode, 2637 uint16_t ptp_getdevicepropvalue (PTPParams* params, uint16_t propcode,
2322 PTPPropertyValue* value, uint16_t datatype); 2638 PTPPropertyValue* value, uint16_t datatype);
2323 uint16_t ptp_setdevicepropvalue (PTPParams* params, uint16_t propcode, 2639 uint16_t ptp_setdevicepropvalue (PTPParams* params, uint16_t propcode,
2324 PTPPropertyValue* value, uint16_t datatype); 2640 PTPPropertyValue* value, uint16_t datatype);
2641 uint16_t ptp_generic_setdevicepropvalue (PTPParams* params, uint16_t propcode,
2642 PTPPropertyValue* value, uint16_t datatype);
2325 uint16_t ptp_getfilesystemmanifest (PTPParams* params, uint32_t storage, 2643 uint16_t ptp_getfilesystemmanifest (PTPParams* params, uint32_t storage,
2326 uint32_t objectformatcode, uint32_t associationOH, 2644 uint32_t objectformatcode, uint32_t associationOH,
2327 unsigned char** data); 2645 unsigned char** data);
2328 2646
2329 2647
2330 2648
2331 uint16_t ptp_check_event (PTPParams *params); 2649 uint16_t ptp_check_event (PTPParams *params);
2650 uint16_t ptp_wait_event (PTPParams *params);
2651 uint16_t ptp_add_event (PTPParams *params, PTPContainer *evt);
2332 int ptp_get_one_event (PTPParams *params, PTPContainer *evt); 2652 int ptp_get_one_event (PTPParams *params, PTPContainer *evt);
2333 uint16_t ptp_check_eos_events (PTPParams *params); 2653 uint16_t ptp_check_eos_events (PTPParams *params);
2334 int ptp_get_one_eos_event (PTPParams *params, PTPCanon_changes_entry *entry); 2654 int ptp_get_one_eos_event (PTPParams *params, PTPCanon_changes_entry *entry);
2335 2655
2336 2656
2337 /* Microsoft MTP extensions */ 2657 /* Microsoft MTP extensions */
2338 uint16_t ptp_mtp_getobjectpropdesc (PTPParams* params, uint16_t opc, uint16_t of c, 2658 uint16_t ptp_mtp_getobjectpropdesc (PTPParams* params, uint16_t opc, uint16_t of c,
2339 PTPObjectPropDesc *objectpropertydesc); 2659 PTPObjectPropDesc *objectpropertydesc);
2340 uint16_t ptp_mtp_getobjectpropvalue (PTPParams* params, uint32_t oid, uint16_t o pc, 2660 uint16_t ptp_mtp_getobjectpropvalue (PTPParams* params, uint32_t oid, uint16_t o pc,
2341 PTPPropertyValue *value, uint16_t datatype); 2661 PTPPropertyValue *value, uint16_t datatype);
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
2519 /** 2839 /**
2520 * ptp_canon_eos_requestdevicepropvalue: 2840 * ptp_canon_eos_requestdevicepropvalue:
2521 * 2841 *
2522 * This operation sends a "ping" style message to the camera. 2842 * This operation sends a "ping" style message to the camera.
2523 * 2843 *
2524 * params: PTPParams* 2844 * params: PTPParams*
2525 * 2845 *
2526 * Return values: Some PTP_RC_* code. 2846 * Return values: Some PTP_RC_* code.
2527 * 2847 *
2528 **/ 2848 **/
2849 #define CANON_EOS_OLC_BUTTON 0x0001
2850 #define CANON_EOS_OLC_SHUTTERSPEED 0x0002
2851 #define CANON_EOS_OLC_APERTURE 0x0004
2852 #define CANON_EOS_OLC_ISO 0x0008
2853
2854 #define ptp_canon_eos_setrequestolcinfogroup(params,igmask) ptp_generic_no_data( params,PTP_OC_CANON_EOS_SetRequestOLCInfoGroup,1,igmask)
2529 #define ptp_canon_eos_requestdevicepropvalue(params,prop) ptp_generic_no_data(pa rams,PTP_OC_CANON_EOS_RequestDevicePropValue,1,prop) 2855 #define ptp_canon_eos_requestdevicepropvalue(params,prop) ptp_generic_no_data(pa rams,PTP_OC_CANON_EOS_RequestDevicePropValue,1,prop)
2530 uint16_t ptp_canon_eos_capture (PTPParams* params, uint32_t *result); 2856 uint16_t ptp_canon_eos_capture (PTPParams* params, uint32_t *result);
2531 uint16_t ptp_canon_eos_getevent (PTPParams* params, PTPCanon_changes_entry **ent ries, int *nrofentries); 2857 uint16_t ptp_canon_eos_getevent (PTPParams* params, PTPCanon_changes_entry **ent ries, int *nrofentries);
2532 uint16_t ptp_canon_getpartialobject (PTPParams* params, uint32_t handle, 2858 uint16_t ptp_canon_getpartialobject (PTPParams* params, uint32_t handle,
2533 uint32_t offset, uint32_t size, 2859 uint32_t offset, uint32_t size,
2534 uint32_t pos, unsigned char** block, 2860 uint32_t pos, unsigned char** block,
2535 uint32_t* readnum); 2861 uint32_t* readnum);
2536 uint16_t ptp_canon_getviewfinderimage (PTPParams* params, unsigned char** image, 2862 uint16_t ptp_canon_getviewfinderimage (PTPParams* params, unsigned char** image,
2537 uint32_t* size); 2863 uint32_t* size);
2538 uint16_t ptp_canon_getchanges (PTPParams* params, uint16_t** props, 2864 uint16_t ptp_canon_getchanges (PTPParams* params, uint16_t** props,
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
2635 #if 0 2961 #if 0
2636 uint16_t ptp_canon_eos_setdevicepropvalue (PTPParams* params, uint16_t propcode, 2962 uint16_t ptp_canon_eos_setdevicepropvalue (PTPParams* params, uint16_t propcode,
2637 PTPPropertyValue* value, uint16_t datatype); 2963 PTPPropertyValue* value, uint16_t datatype);
2638 #endif 2964 #endif
2639 uint16_t ptp_nikon_get_vendorpropcodes (PTPParams* params, uint16_t **props, uns igned int *size); 2965 uint16_t ptp_nikon_get_vendorpropcodes (PTPParams* params, uint16_t **props, uns igned int *size);
2640 uint16_t ptp_nikon_curve_download (PTPParams* params, 2966 uint16_t ptp_nikon_curve_download (PTPParams* params,
2641 unsigned char **data, unsigned int *size); 2967 unsigned char **data, unsigned int *size);
2642 uint16_t ptp_nikon_getptpipinfo (PTPParams* params, unsigned char **data, unsign ed int *size); 2968 uint16_t ptp_nikon_getptpipinfo (PTPParams* params, unsigned char **data, unsign ed int *size);
2643 uint16_t ptp_nikon_getwifiprofilelist (PTPParams* params); 2969 uint16_t ptp_nikon_getwifiprofilelist (PTPParams* params);
2644 uint16_t ptp_nikon_writewifiprofile (PTPParams* params, PTPNIKONWifiProfile* pro file); 2970 uint16_t ptp_nikon_writewifiprofile (PTPParams* params, PTPNIKONWifiProfile* pro file);
2971
2972 uint16_t ptp_sony_sdioconnect (PTPParams* params, uint32_t p1, uint32_t p2, uint 32_t p3);
2973 uint16_t ptp_sony_get_vendorpropcodes (PTPParams* params, uint16_t **props, unsi gned int *size);
2974 uint16_t ptp_sony_getdevicepropdesc (PTPParams* params, uint16_t propcode,
2975 PTPDevicePropDesc *devicepropertydesc);
2976 uint16_t ptp_sony_getalldevicepropdesc (PTPParams* params);
2977 uint16_t ptp_sony_setdevicecontrolvaluea (PTPParams* params, uint16_t propcode,
2978 PTPPropertyValue* value, uint16_t datatype);
2979 uint16_t ptp_sony_setdevicecontrolvalueb (PTPParams* params, uint16_t propcode,
2980 PTPPropertyValue* value, uint16_t datatype);
2981 uint16_t ptp_sony_9280 (PTPParams* params, uint32_t additional, uint32_t data1, uint32_t data2, uint32_t data3, uint32_t data4, uint8_t x, uint8_t y);
2982 uint16_t ptp_sony_9281 (PTPParams* params, uint32_t param1);
2645 /** 2983 /**
2646 * ptp_nikon_deletewifiprofile: 2984 * ptp_nikon_deletewifiprofile:
2647 * 2985 *
2648 * This command deletes a wifi profile. 2986 * This command deletes a wifi profile.
2649 * 2987 *
2650 * params: PTPParams* 2988 * params: PTPParams*
2651 * unsigned int profilenr - profile number 2989 * unsigned int profilenr - profile number
2652 * 2990 *
2653 * Return values: Some PTP_RC_* code. 2991 * Return values: Some PTP_RC_* code.
2654 * 2992 *
2655 **/ 2993 **/
2656 #define ptp_nikon_deletewifiprofile(params,profilenr) ptp_generic_no_data(params ,PTP_OC_NIKON_DeleteProfile,1,profilenr) 2994 #define ptp_nikon_deletewifiprofile(params,profilenr) ptp_generic_no_data(params ,PTP_OC_NIKON_DeleteProfile,1,profilenr)
2657 /** 2995 /**
2658 * ptp_nikon_setcontrolmode: 2996 * ptp_nikon_setcontrolmode:
2659 * 2997 *
2660 * This command can switch the camera to full PC control mode. 2998 * This command can switch the camera to full PC control mode.
2661 * 2999 *
2662 * params: PTPParams* 3000 * params: PTPParams*
2663 * uint32_t mode - mode 3001 * uint32_t mode - mode
2664 * 3002 *
2665 * Return values: Some PTP_RC_* code. 3003 * Return values: Some PTP_RC_* code.
2666 * 3004 *
2667 **/ 3005 **/
2668 #define ptp_nikon_setcontrolmode(params,mode) ptp_generic_no_data(params,PTP_OC_ NIKON_SetControlMode,1,mode) 3006 #define ptp_nikon_setcontrolmode(params,mode) ptp_generic_no_data(params,PTP_OC_ NIKON_SetControlMode,1,mode)
2669 /** 3007 /**
3008 * ptp_nikon_terminatecapture:
3009 *
3010 * This command appears to terminate a longer capture
3011 *
3012 * params: PTPParams*
3013 * uint32_t a
3014 * uint32_t b
3015 *
3016 * Return values: Some PTP_RC_* code.
3017 *
3018 **/
3019 #define ptp_nikon_terminatecapture(params,p1,p2) ptp_generic_no_data(params,PTP_ OC_NIKON_TerminateCapture,2,p1,p2)
3020 /**
2670 * ptp_nikon_afdrive: 3021 * ptp_nikon_afdrive:
2671 * 3022 *
2672 * This command runs (drives) the lens autofocus. 3023 * This command runs (drives) the lens autofocus.
2673 * 3024 *
2674 * params: PTPParams* 3025 * params: PTPParams*
2675 * 3026 *
2676 * Return values: Some PTP_RC_* code. 3027 * Return values: Some PTP_RC_* code.
2677 * 3028 *
2678 **/ 3029 **/
2679 #define ptp_nikon_afdrive(params) ptp_generic_no_data(params,PTP_OC_NIKON_AfDriv e,0) 3030 #define ptp_nikon_afdrive(params) ptp_generic_no_data(params,PTP_OC_NIKON_AfDriv e,0)
2680 /** 3031 /**
3032 * ptp_nikon_changeafarea:
3033 *
3034 * This command starts movie capture (to card)
3035 *
3036 * params: PTPParams*
3037 * x: x coordinate
3038 * y: y coordinate
3039 *
3040 * Return values: Some PTP_RC_* code.
3041 *
3042 **/
3043 #define ptp_nikon_changeafarea(params,x,y) ptp_generic_no_data(params,PTP_OC_NIK ON_ChangeAfArea,2,x,y)
3044 /**
3045 * ptp_nikon_startmovie:
3046 *
3047 * This command starts movie capture (to card)
3048 *
3049 * params: PTPParams*
3050 *
3051 * Return values: Some PTP_RC_* code.
3052 *
3053 **/
3054 #define ptp_nikon_startmovie(params) ptp_generic_no_data(params,PTP_OC_NIKON_Sta rtMovieRecInCard,0)
3055 /**
3056 * ptp_nikon_stopmovie:
3057 *
3058 * This command stops movie capture (to card)
3059 *
3060 * params: PTPParams*
3061 *
3062 * Return values: Some PTP_RC_* code.
3063 *
3064 **/
3065 #define ptp_nikon_stopmovie(params) ptp_generic_no_data(params,PTP_OC_NIKON_EndM ovieRec,0)
3066 /**
2681 * ptp_canon_eos_afdrive: 3067 * ptp_canon_eos_afdrive:
2682 * 3068 *
2683 * This command runs (drives) the lens autofocus. 3069 * This command runs (drives) the lens autofocus.
2684 * 3070 *
2685 * params: PTPParams* 3071 * params: PTPParams*
2686 * 3072 *
2687 * Return values: Some PTP_RC_* code. 3073 * Return values: Some PTP_RC_* code.
2688 * 3074 *
2689 **/ 3075 **/
2690 #define ptp_canon_eos_afdrive(params) ptp_generic_no_data(params,PTP_OC_CANON_EO S_DoAf,0) 3076 #define ptp_canon_eos_afdrive(params) ptp_generic_no_data(params,PTP_OC_CANON_EO S_DoAf,0)
2691 /** 3077 /**
3078 * ptp_canon_eos_afcancel:
3079 *
3080 * This command cancels the lens autofocus.
3081 *
3082 * params: PTPParams*
3083 *
3084 * Return values: Some PTP_RC_* code.
3085 *
3086 **/
3087 #define ptp_canon_eos_afcancel(params) ptp_generic_no_data(params,PTP_OC_CANON_E OS_AfCancel,0)
3088 /**
2692 * ptp_canon_eos_zoom: 3089 * ptp_canon_eos_zoom:
2693 * 3090 *
2694 * This command runs (drives) the lens autofocus. 3091 * This command runs (drives) the lens autofocus.
2695 * 3092 *
2696 * params: PTPParams* 3093 * params: PTPParams*
2697 * params: arg1 unknown 3094 * params: arg1 unknown
2698 * 3095 *
2699 * Return values: Some PTP_RC_* code. 3096 * Return values: Some PTP_RC_* code.
2700 * 3097 *
2701 **/ 3098 **/
2702 #define ptp_canon_eos_zoom(params,x) ptp_generic_no_data(params,PTP_OC_CANON_EOS _Zoom,1,x) 3099 #define ptp_canon_eos_zoom(params,x) ptp_generic_no_data(params,PTP_OC_CANON_EOS _Zoom,1,x)
2703 #define ptp_canon_eos_zoomposition(params,x,y) ptp_generic_no_data(params,PTP_OC _CANON_EOS_ZoomPosition,2,x,y) 3100 #define ptp_canon_eos_zoomposition(params,x,y) ptp_generic_no_data(params,PTP_OC _CANON_EOS_ZoomPosition,2,x,y)
2704 3101
2705 #define ptp_canon_eos_remotereleaseon(params,x) ptp_generic_no_data(params,PTP_O C_CANON_EOS_RemoteReleaseOn,1,x) 3102 #define ptp_canon_eos_remotereleaseon(params,x,y) ptp_generic_no_data(params,PTP _OC_CANON_EOS_RemoteReleaseOn,2,x,y)
2706 #define ptp_canon_eos_remotereleaseoff(params,x) ptp_generic_no_data(params,PTP_ OC_CANON_EOS_RemoteReleaseOff,1,x) 3103 #define ptp_canon_eos_remotereleaseoff(params,x) ptp_generic_no_data(params,PTP_ OC_CANON_EOS_RemoteReleaseOff,1,x)
2707 /** 3104 /**
2708 * ptp_nikon_mfdrive: 3105 * ptp_nikon_mfdrive:
2709 * 3106 *
2710 * This command runs (drives) the lens focus manually. 3107 * This command runs (drives) the lens focus manually.
2711 * 3108 *
2712 * params: PTPParams* 3109 * params: PTPParams*
2713 * flag: 0x1 for (no limit - closest), 0x2 for (closest - no limit) 3110 * flag: 0x1 for (no limit - closest), 0x2 for (closest - no limit)
2714 * amount: amount of steps 3111 * amount: amount of steps
2715 * 3112 *
(...skipping 13 matching lines...) Expand all
2729 * Return values: Some PTP_RC_* code. 3126 * Return values: Some PTP_RC_* code.
2730 * 3127 *
2731 **/ 3128 **/
2732 #define ptp_canon_eos_drivelens(params,amount) ptp_generic_no_data(params,PTP_OC _CANON_EOS_DriveLens,1,amount) 3129 #define ptp_canon_eos_drivelens(params,amount) ptp_generic_no_data(params,PTP_OC _CANON_EOS_DriveLens,1,amount)
2733 /** 3130 /**
2734 * ptp_nikon_capture: 3131 * ptp_nikon_capture:
2735 * 3132 *
2736 * This command captures a picture on the Nikon. 3133 * This command captures a picture on the Nikon.
2737 * 3134 *
2738 * params: PTPParams* 3135 * params: PTPParams*
2739 * uint32_t x - unknown parameter. seen to be -1. 3136 * uint32_t x: unknown parameter. seen to be -1.
2740 * 3137 *
2741 * Return values: Some PTP_RC_* code. 3138 * Return values: Some PTP_RC_* code.
2742 * 3139 *
2743 **/ 3140 **/
2744 #define ptp_nikon_capture(params,x) ptp_generic_no_data(params,PTP_OC_NIKON_Capt ure,1,x) 3141 #define ptp_nikon_capture(params,x) ptp_generic_no_data(params,PTP_OC_NIKON_Capt ure,1,x)
3142
3143 /**
3144 * ptp_nikon_capture2:
3145 *
3146 * This command captures a picture on the Nikon.
3147 *
3148 * params: PTPParams*
3149 * af: autofocus before capture (1 yes , 0 no)
3150 * target: sdram 1, card 0
3151 *
3152 * Return values: Some PTP_RC_* code.
3153 * 2 params:
3154 * 0xffffffff == No AF before, 0xfffffffe == AF before capture
3155 * sdram=1, card=0
3156 */
3157 #define ptp_nikon_capture2(params,af,target) ptp_generic_no_data(params,PTP_OC_N IKON_InitiateCaptureRecInMedia,2,af?0xfffffffe:0xffffffff,target)
2745 /** 3158 /**
2746 * ptp_nikon_capture_sdram: 3159 * ptp_nikon_capture_sdram:
2747 * 3160 *
2748 * This command captures a picture on the Nikon. 3161 * This command captures a picture on the Nikon.
2749 * 3162 *
2750 * params: PTPParams* 3163 * params: PTPParams*
2751 * 3164 *
2752 * Return values: Some PTP_RC_* code. 3165 * Return values: Some PTP_RC_* code.
2753 * 3166 *
2754 **/ 3167 **/
(...skipping 27 matching lines...) Expand all
2782 * ptp_nikon_end_liveview: 3195 * ptp_nikon_end_liveview:
2783 * 3196 *
2784 * This command ends LiveView mode of newer Nikons DSLRs. 3197 * This command ends LiveView mode of newer Nikons DSLRs.
2785 * 3198 *
2786 * params: PTPParams* 3199 * params: PTPParams*
2787 * 3200 *
2788 * Return values: Some PTP_RC_* code. 3201 * Return values: Some PTP_RC_* code.
2789 * 3202 *
2790 **/ 3203 **/
2791 #define ptp_nikon_end_liveview(params) ptp_generic_no_data(params,PTP_OC_NIKON_E ndLiveView,0) 3204 #define ptp_nikon_end_liveview(params) ptp_generic_no_data(params,PTP_OC_NIKON_E ndLiveView,0)
2792 uint16_t ptp_nikon_check_event (PTPParams* params, PTPContainer **evt, int *evtc nt); 3205 uint16_t ptp_nikon_check_event (PTPParams* params, PTPContainer **evt, unsigned int *evtcnt);
2793 uint16_t ptp_nikon_getfileinfoinblock (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3, 3206 uint16_t ptp_nikon_getfileinfoinblock (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3,
2794 unsigned char **data, unsigned int *size ); 3207 unsigned char **data, unsigned int *size );
2795 /** 3208 /**
2796 * ptp_nikon_device_ready: 3209 * ptp_nikon_device_ready:
2797 * 3210 *
2798 * This command checks if the device is ready. Used after 3211 * This command checks if the device is ready. Used after
2799 * a capture. 3212 * a capture.
2800 * 3213 *
2801 * params: PTPParams* 3214 * params: PTPParams*
2802 * 3215 *
2803 * Return values: Some PTP_RC_* code. 3216 * Return values: Some PTP_RC_* code.
2804 * 3217 *
2805 **/ 3218 **/
2806 #define ptp_nikon_device_ready(params) ptp_generic_no_data (params, PTP_OC_NIKON _DeviceReady, 0) 3219 #define ptp_nikon_device_ready(params) ptp_generic_no_data (params, PTP_OC_NIKON _DeviceReady, 0)
2807 uint16_t ptp_mtp_getobjectpropssupported (PTPParams* params, uint16_t ofc, uint3 2_t *propnum, uint16_t **props); 3220 uint16_t ptp_mtp_getobjectpropssupported (PTPParams* params, uint16_t ofc, uint3 2_t *propnum, uint16_t **props);
2808 3221
3222
3223 /* Android MTP Extensions */
3224 uint16_t ptp_android_getpartialobject64 (PTPParams* params, uint32_t handle, uin t64_t offset,
3225 uint32_t maxbytes, unsigned char** objec t,
3226 uint32_t *len);
3227 #define ptp_android_begineditobject(params,handle) ptp_generic_no_data (params, PTP_OC_ANDROID_BeginEditObject, 1, handle)
3228 #define ptp_android_truncate(params,handle,offset) ptp_generic_no_data (params, PTP_OC_ANDROID_TruncateObject, 3, handle, (offset & 0xFFFFFFFF), (offset >> 32))
3229 uint16_t ptp_android_sendpartialobject (PTPParams *params, uint32_t handle,
3230 uint64_t offset, unsigned char *object, uint32_t len);
3231 #define ptp_android_endeditobject(params,handle) ptp_generic_no_data (params, PT P_OC_ANDROID_EndEditObject, 1, handle)
3232
3233 uint16_t ptp_olympus_getdeviceinfo (PTPParams*, PTPDeviceInfo*);
3234 #define ptp_olympus_setcameracontrolmode(params,p1) ptp_generic_no_data (params, PTP_OC_OLYMPUS_SetCameraControlMode, 1, p1)
3235 uint16_t ptp_olympus_opensession (PTPParams*, unsigned char**, unsigned int *);
3236 #define ptp_olympus_capture(params,p1) ptp_generic_no_data (params, PTP_OC_OLYMP US_Capture, 1, p1)
3237 uint16_t ptp_olympus_getcameraid (PTPParams*, unsigned char**, unsigned int *);
3238
2809 /* Non PTP protocol functions */ 3239 /* Non PTP protocol functions */
2810 static inline int 3240 static inline int
2811 ptp_operation_issupported(PTPParams* params, uint16_t operation) 3241 ptp_operation_issupported(PTPParams* params, uint16_t operation)
2812 { 3242 {
2813 uint32_t i=0; 3243 uint32_t i=0;
2814 3244
2815 for (;i<params->deviceinfo.OperationsSupported_len;i++) { 3245 for (;i<params->deviceinfo.OperationsSupported_len;i++) {
2816 if (params->deviceinfo.OperationsSupported[i]==operation) 3246 if (params->deviceinfo.OperationsSupported[i]==operation)
2817 return 1; 3247 return 1;
2818 } 3248 }
2819 return 0; 3249 return 0;
2820 } 3250 }
2821 3251
2822 int ptp_event_issupported (PTPParams* params, uint16_t event); 3252 int ptp_event_issupported (PTPParams* params, uint16_t event);
2823 int ptp_property_issupported (PTPParams* params, uint16_t property); 3253 int ptp_property_issupported (PTPParams* params, uint16_t property);
2824 3254
2825 void ptp_free_devicepropdesc (PTPDevicePropDesc* dpd);
2826 void ptp_free_devicepropvalue (uint16_t dt, PTPPropertyValue* dpd);
2827 void ptp_free_objectpropdesc (PTPObjectPropDesc* dpd);
2828 void ptp_free_params (PTPParams *params); 3255 void ptp_free_params (PTPParams *params);
3256 void ptp_free_objectpropdesc (PTPObjectPropDesc*);
3257 void ptp_free_devicepropdesc (PTPDevicePropDesc*);
3258 void ptp_free_devicepropvalue (uint16_t, PTPPropertyValue*);
2829 void ptp_free_objectinfo (PTPObjectInfo *oi); 3259 void ptp_free_objectinfo (PTPObjectInfo *oi);
2830 void ptp_free_object (PTPObject *oi); 3260 void ptp_free_object (PTPObject *oi);
2831 3261
2832 const char *ptp_strerror(uint16_t error); 3262 const char *ptp_strerror» (uint16_t ret, uint16_t vendor);
2833 void ptp_perror»» » (PTPParams* params, uint16_t error);
2834 void ptp_debug (PTPParams *params, const char *format, ...); 3263 void ptp_debug (PTPParams *params, const char *format, ...);
2835 void ptp_error (PTPParams *params, const char *format, ...); 3264 void ptp_error (PTPParams *params, const char *format, ...);
2836 3265
2837 3266
2838 const char* 3267 const char* ptp_get_property_description(PTPParams* params, uint16_t dpc);
2839 ptp_get_property_description(PTPParams* params, uint16_t dpc); 3268
3269 const char* ptp_get_opcode_name(PTPParams* params, uint16_t opcode);
2840 3270
2841 int 3271 int
2842 ptp_render_property_value(PTPParams* params, uint16_t dpc, 3272 ptp_render_property_value(PTPParams* params, uint16_t dpc,
2843 PTPDevicePropDesc *dpd, int length, char *out); 3273 PTPDevicePropDesc *dpd, unsigned int length, char *out );
2844 int ptp_render_ofc(PTPParams* params, uint16_t ofc, int spaceleft, char *txt); 3274 int ptp_render_ofc(PTPParams* params, uint16_t ofc, int spaceleft, char *txt);
2845 int ptp_render_opcode(PTPParams* params, uint16_t opcode, int spaceleft, char *t xt);
2846 int ptp_render_mtp_propname(uint16_t propid, int spaceleft, char *txt); 3275 int ptp_render_mtp_propname(uint16_t propid, int spaceleft, char *txt);
2847 MTPProperties *ptp_get_new_object_prop_entry(MTPProperties **props, int *nrofpro ps); 3276 MTPProperties *ptp_get_new_object_prop_entry(MTPProperties **props, int *nrofpro ps);
2848 void ptp_destroy_object_prop(MTPProperties *prop); 3277 void ptp_destroy_object_prop(MTPProperties *prop);
2849 void ptp_destroy_object_prop_list(MTPProperties *props, int nrofprops); 3278 void ptp_destroy_object_prop_list(MTPProperties *props, int nrofprops);
2850 MTPProperties *ptp_find_object_prop_in_cache(PTPParams *params, uint32_t const h andle, uint32_t const attribute_id); 3279 MTPProperties *ptp_find_object_prop_in_cache(PTPParams *params, uint32_t const h andle, uint32_t const attribute_id);
2851 void ptp_remove_object_from_cache(PTPParams *params, uint32_t handle); 3280 uint16_t ptp_remove_object_from_cache(PTPParams *params, uint32_t handle);
2852 uint16_t ptp_add_object_to_cache(PTPParams *params, uint32_t handle); 3281 uint16_t ptp_add_object_to_cache(PTPParams *params, uint32_t handle);
2853 uint16_t ptp_object_want (PTPParams *, uint32_t handle, int want, PTPObject**ret ob); 3282 uint16_t ptp_object_want (PTPParams *, uint32_t handle, unsigned int want, PTPOb ject**retob);
2854 void ptp_objects_sort (PTPParams *); 3283 void ptp_objects_sort (PTPParams *);
2855 uint16_t ptp_object_find (PTPParams *params, uint32_t handle, PTPObject **retob) ; 3284 uint16_t ptp_object_find (PTPParams *params, uint32_t handle, PTPObject **retob) ;
2856 uint16_t ptp_object_find_or_insert (PTPParams *params, uint32_t handle, PTPObjec t **retob); 3285 uint16_t ptp_object_find_or_insert (PTPParams *params, uint32_t handle, PTPObjec t **retob);
2857 /* ptpip.c */ 3286 /* ptpip.c */
2858 void ptp_nikon_getptpipguid (unsigned char* guid); 3287 void ptp_nikon_getptpipguid (unsigned char* guid);
2859 3288
2860 enum PTP_CHDK_Command { 3289 /* CHDK specifics */
2861 PTP_CHDK_Shutdown = 0, /* param2 is 0 (hard), 1 (soft), 2 (reboot) or 3 (re boot fw update)
2862 if param2 == 3, then filename of fw update is sen d as data (empty for default) */
2863 PTP_CHDK_GetMemory, /* param2 is base address (or 0 for live image buffe r, 1 for bitmap buffer)
2864 param3 is size (in bytes)
2865 return data is memory block */
2866 PTP_CHDK_SetMemoryLong, /* param2 is address
2867 param3 is value */
2868 PTP_CHDK_CallFunction, /* data is array of function pointer and (long) argu ments (max: 10 args)
2869 return param1 is return value */
2870 PTP_CHDK_GetPropCase, /* param2 is base id
2871 param3 is number of properties
2872 return data is array of longs */
2873 PTP_CHDK_GetParamData, /* param2 is base id
2874 param3 is number of parameters
2875 return data is sequence of strings prefixed by th eir length (as long) */
2876 PTP_CHDK_TempData, /* data is data to be stored for later */
2877 PTP_CHDK_UploadFile, /* data is 4-byte length of filename, followed by fi lename and contents */
2878 PTP_CHDK_DownloadFile, /* preceded by PTP_CHDK_TempData with filename
2879 return data are file contents */
2880 PTP_CHDK_SwitchMode, /* param2 is 0 (playback) or 1 (record) */
2881 PTP_CHDK_ExecuteLUA, /* data is script to be executed */
2882 PTP_CHDK_GetVideoSettings,
2883 PTP_CHDK_GetScriptOutput, /* return script output in ASCIIZ */
2884 PTP_CHDK_OpenDir, /* open directory listing, data is directory name */
2885 PTP_CHDK_ReadDir, /* return data is next file info */
2886 PTP_CHDK_CloseDir, /* close directory listing */
2887 PTP_CHDK_GetShootingModesList, /* not used */
2888 PTP_CHDK_StartDownloadFile,
2889 PTP_CHDK_ResumeDownloadFile,
2890 PTP_CHDK_EndDownloadFile,
2891 };
2892
2893 #define PTP_OC_CHDK 0x9999 3290 #define PTP_OC_CHDK 0x9999
2894 typedef struct tagptp_chdk_videosettings { 3291 typedef struct tagptp_chdk_videosettings {
2895 long live_image_buffer_width; 3292 long live_image_buffer_width;
2896 long live_image_width; 3293 long live_image_width;
2897 long live_image_height; 3294 long live_image_height;
2898 long bitmap_buffer_width; 3295 long bitmap_buffer_width;
2899 long bitmap_width; 3296 long bitmap_width;
2900 long bitmap_height; 3297 long bitmap_height;
2901 unsigned palette[16]; 3298 unsigned palette[16];
2902 } ptp_chdk_videosettings; 3299 } ptp_chdk_videosettings;
2903 3300
2904 #define ptp_chdk_shutdown_hard(params) ptp_generic_no_data(params,PTP_OC_CHDK,2, PTP_CHDK_Shutdown,0) 3301 /* Nafraf: Test this!!!*/
2905 #define ptp_chdk_shutdown_soft(params) ptp_generic_no_data(params,PTP_OC_CHDK,2, PTP_CHDK_Shutdown,1)
2906 #define ptp_chdk_reboot(params) ptp_generic_no_data(params,PTP_OC_CHDK,2,PTP_CHD K_Shutdown,2)
2907 #define ptp_chdk_reboot_fw_update(params) ptp_generic_no_data(params,PTP_OC_CHDK ,2,PTP_CHDK_Shutdown,3)
2908 uint16_t ptp_chdk_get_memory(PTPParams* params, int start, int num, unsigned cha r**);
2909 #define ptp_chdk_set_memory_long(params,addr,val) ptp_generic_no_data(params,PTP _OC_CHDK,3,PTP_CHDK_SetMemoryLong,addr,val)
2910 uint16_t ptp_chdk_call(PTPParams* params, int *args, int size, int *ret);
2911 uint16_t ptp_chdk_get_propcase(PTPParams* params, int start, int num, int* ints) ;
2912 uint16_t ptp_chdk_get_paramdata(PTPParams* params, int start, int num, unsigned char** x);
2913 #define ptp_chdk_switch_mode(params,mode) ptp_generic_no_data(params,PTP_OC_CHDK ,2,PTP_CHDK_SwitchMode,mode) 3302 #define ptp_chdk_switch_mode(params,mode) ptp_generic_no_data(params,PTP_OC_CHDK ,2,PTP_CHDK_SwitchMode,mode)
2914 uint16_t ptp_chdk_exec_lua(PTPParams *params, char *script, uint32_t* ret); 3303
2915 uint16_t ptp_chdk_get_script_output(PTPParams* params, char **output ); 3304 /* include CHDK ptp protocol definitions from a CHDK source tree */
2916 uint16_t ptp_chdk_get_video_settings(PTPParams* params, ptp_chdk_videosettings* vsettings); 3305 #include "chdk_ptp.h"
3306 #if (PTP_CHDK_VERSION_MAJOR < 2 || (PTP_CHDK_VERSION_MAJOR == 2 && PTP_CHDK_VERS ION_MINOR < 5))
3307 #error your chdk headers are too old, unset CHDK_SRC_DIR in config.mk
3308 #endif
3309 #include "chdk_live_view.h"
3310
3311 /* the following happens to match what is used in CHDK, but is not part of the p rotocol */
3312 typedef struct {
3313 unsigned size;
3314 unsigned script_id; /* id of script message is to/from */
3315 unsigned type;
3316 unsigned subtype;
3317 char data[];
3318 } ptp_chdk_script_msg;
3319
3320 /*
3321 chunk for remote capture
3322 */
3323 typedef struct {
3324 » uint32_t size; /* length of data */
3325 » int last; /* is it the last chunk? */
3326 » uint32_t offset; /* offset within file, or -1 */
3327 » unsigned char *data; /* data, must be free'd by caller when done */
3328 } ptp_chdk_rc_chunk;
3329
3330
3331 uint16_t ptp_chdk_get_memory(PTPParams* params, int start, int num, unsigned cha r **);
3332 uint16_t ptp_chdk_set_memory_long(PTPParams* params, int addr, int val);
3333 int ptp_chdk_upload(PTPParams* params, char *local_fn, char *remote_fn);
3334 uint16_t ptp_chdk_download(PTPParams* params, char *remote_fn, PTPDataHandler *h andler);
3335
3336 /* remote capture */
3337 uint16_t ptp_chdk_rcisready(PTPParams* params, int *isready,int *imgnum);
3338 uint16_t ptp_chdk_rcgetchunk(PTPParams* params,int fmt, ptp_chdk_rc_chunk *chunk );
3339
3340 uint16_t ptp_chdk_exec_lua(PTPParams* params, char *script, int flags, int *scri pt_id,int *status);
3341 uint16_t ptp_chdk_get_version(PTPParams* params, int *major, int *minor);
3342 uint16_t ptp_chdk_get_script_support(PTPParams* params, unsigned *status);
3343 uint16_t ptp_chdk_get_script_status(PTPParams* params, unsigned *status);
3344 uint16_t ptp_chdk_write_script_msg(PTPParams* params, char *data, unsigned size, int target_script_id, int *status);
3345 uint16_t ptp_chdk_read_script_msg(PTPParams* params, ptp_chdk_script_msg **msg);
3346 uint16_t ptp_chdk_get_live_data(PTPParams* params, unsigned flags, unsigned char **data, unsigned int *data_size);
3347 uint16_t ptp_chdk_call_function(PTPParams* params, int *args, int size, int *ret );
3348
3349 /*uint16_t ptp_chdk_get_script_output(PTPParams* params, char **output ); */
3350 /*uint16_t ptp_chdk_get_video_settings(PTPParams* params, ptp_chdk_videosettings * vsettings);*/
2917 3351
2918 #ifdef __cplusplus 3352 #ifdef __cplusplus
2919 } 3353 }
2920 #endif /* __cplusplus */ 3354 #endif /* __cplusplus */
2921 3355
2922 #endif /* __PTP_H__ */ 3356 #endif /* __PTP_H__ */
OLDNEW
« no previous file with comments | « src/playlist-spl.c ('k') | src/ptp.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698