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

Side by Side Diff: src/ptp.h

Issue 2364793002: Revert "Uprev libmtp to 1.1.12" (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libmtp@master
Patch Set: 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-2014 Marcus Meissner <marcus@jet.franken.de> 4 * Copyright (C) 2003-2012 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., 51 Franklin Street, Fifth Floor, 19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02110-1301 USA 20 * Boston, MA 02111-1307, 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 #if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H) 28 #ifdef HAVE_ICONV
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.
79 */ 77 */
80 #define PTP_USB_BULK_HS_MAX_PACKET_LEN_WRITE 512 78 #define PTP_USB_BULK_HS_MAX_PACKET_LEN_WRITE 512
81 #define PTP_USB_BULK_HS_MAX_PACKET_LEN_READ 512 79 #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
84 #define PTP_USB_BULK_HDR_LEN (2*sizeof(uint32_t)+2*sizeof(uint16_t)) 80 #define PTP_USB_BULK_HDR_LEN (2*sizeof(uint32_t)+2*sizeof(uint16_t))
85 #define PTP_USB_BULK_PAYLOAD_LEN_WRITE» (PTP_USB_BULK_SS_MAX_PACKET_LEN_WRITE-PT P_USB_BULK_HDR_LEN) 81 #define PTP_USB_BULK_PAYLOAD_LEN_WRITE» (PTP_USB_BULK_HS_MAX_PACKET_LEN_WRITE-PT P_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) 82 #define PTP_USB_BULK_PAYLOAD_LEN_READ» (PTP_USB_BULK_HS_MAX_PACKET_LEN_READ-PTP _USB_BULK_HDR_LEN)
87 #define PTP_USB_BULK_REQ_LEN (PTP_USB_BULK_HDR_LEN+5*sizeof(uint32_t)) 83 #define PTP_USB_BULK_REQ_LEN (PTP_USB_BULK_HDR_LEN+5*sizeof(uint32_t))
88 84
89 struct _PTPUSBBulkContainer { 85 struct _PTPUSBBulkContainer {
90 uint32_t length; 86 uint32_t length;
91 uint16_t type; 87 uint16_t type;
92 uint16_t code; 88 uint16_t code;
93 uint32_t trans_id; 89 uint32_t trans_id;
94 union { 90 union {
95 struct { 91 struct {
96 uint32_t param1; 92 uint32_t param1;
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 #define PTP_VENDOR_AGFA_GEVAERT 0x00000005 158 #define PTP_VENDOR_AGFA_GEVAERT 0x00000005
163 #define PTP_VENDOR_MICROSOFT 0x00000006 159 #define PTP_VENDOR_MICROSOFT 0x00000006
164 #define PTP_VENDOR_EQUINOX 0x00000007 160 #define PTP_VENDOR_EQUINOX 0x00000007
165 #define PTP_VENDOR_VIEWQUEST 0x00000008 161 #define PTP_VENDOR_VIEWQUEST 0x00000008
166 #define PTP_VENDOR_STMICROELECTRONICS 0x00000009 162 #define PTP_VENDOR_STMICROELECTRONICS 0x00000009
167 #define PTP_VENDOR_NIKON 0x0000000A 163 #define PTP_VENDOR_NIKON 0x0000000A
168 #define PTP_VENDOR_CANON 0x0000000B 164 #define PTP_VENDOR_CANON 0x0000000B
169 #define PTP_VENDOR_FOTONATION 0x0000000C 165 #define PTP_VENDOR_FOTONATION 0x0000000C
170 #define PTP_VENDOR_PENTAX 0x0000000D 166 #define PTP_VENDOR_PENTAX 0x0000000D
171 #define PTP_VENDOR_FUJI 0x0000000E 167 #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 */
175 /* Vendor extension ID used for MTP (occasionaly, usualy 6 is used) */ 168 /* Vendor extension ID used for MTP (occasionaly, usualy 6 is used) */
176 #define PTP_VENDOR_MTP 0xffffffff 169 #define PTP_VENDOR_MTP 0xffffffff
177 170
178 /* gphoto overrides */
179 #define PTP_VENDOR_GP_OLYMPUS 0xfffffffe
180
181 /* Operation Codes */ 171 /* Operation Codes */
182 172
183 /* PTP v1.0 operation codes */ 173 /* PTP v1.0 operation codes */
184 #define PTP_OC_Undefined 0x1000 174 #define PTP_OC_Undefined 0x1000
185 #define PTP_OC_GetDeviceInfo 0x1001 175 #define PTP_OC_GetDeviceInfo 0x1001
186 #define PTP_OC_OpenSession 0x1002 176 #define PTP_OC_OpenSession 0x1002
187 #define PTP_OC_CloseSession 0x1003 177 #define PTP_OC_CloseSession 0x1003
188 #define PTP_OC_GetStorageIDs 0x1004 178 #define PTP_OC_GetStorageIDs 0x1004
189 #define PTP_OC_GetStorageInfo 0x1005 179 #define PTP_OC_GetStorageInfo 0x1005
190 #define PTP_OC_GetNumObjects 0x1006 180 #define PTP_OC_GetNumObjects 0x1006
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 #define PTP_OC_CANON_SendObjectByPath 0x9025 261 #define PTP_OC_CANON_SendObjectByPath 0x9025
272 #define PTP_OC_CANON_InitiateDirectTansferEx 0x9026 262 #define PTP_OC_CANON_InitiateDirectTansferEx 0x9026
273 #define PTP_OC_CANON_GetAncillaryObjectHandles 0x9027 263 #define PTP_OC_CANON_GetAncillaryObjectHandles 0x9027
274 #define PTP_OC_CANON_GetTreeInfo 0x9028 264 #define PTP_OC_CANON_GetTreeInfo 0x9028
275 #define PTP_OC_CANON_GetTreeSize 0x9029 265 #define PTP_OC_CANON_GetTreeSize 0x9029
276 #define PTP_OC_CANON_NotifyProgress 0x902A 266 #define PTP_OC_CANON_NotifyProgress 0x902A
277 #define PTP_OC_CANON_NotifyCancelAccepted 0x902B 267 #define PTP_OC_CANON_NotifyCancelAccepted 0x902B
278 /* 902c: no parms, read 3 uint32 in data, no response parms */ 268 /* 902c: no parms, read 3 uint32 in data, no response parms */
279 #define PTP_OC_CANON_902C 0x902C 269 #define PTP_OC_CANON_902C 0x902C
280 #define PTP_OC_CANON_GetDirectory 0x902D 270 #define PTP_OC_CANON_GetDirectory 0x902D
281 #define PTP_OC_CANON_902E 0x902E
282 271
283 #define PTP_OC_CANON_SetPairingInfo 0x9030 272 #define PTP_OC_CANON_SetPairingInfo 0x9030
284 #define PTP_OC_CANON_GetPairingInfo 0x9031 273 #define PTP_OC_CANON_GetPairingInfo 0x9031
285 #define PTP_OC_CANON_DeletePairingInfo 0x9032 274 #define PTP_OC_CANON_DeletePairingInfo 0x9032
286 #define PTP_OC_CANON_GetMACAddress 0x9033 275 #define PTP_OC_CANON_GetMACAddress 0x9033
287 /* 9034: 1 param, no parms returned */ 276 /* 9034: 1 param, no parms returned */
288 #define PTP_OC_CANON_SetDisplayMonitor 0x9034 277 #define PTP_OC_CANON_SetDisplayMonitor 0x9034
289 #define PTP_OC_CANON_PairingComplete 0x9035 278 #define PTP_OC_CANON_PairingComplete 0x9035
290 #define PTP_OC_CANON_GetWirelessMAXChannel 0x9036 279 #define PTP_OC_CANON_GetWirelessMAXChannel 0x9036
291 280
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
299 /* 9101: no args, 8 byte data (01 00 00 00 00 00 00 00), no resp data. */ 281 /* 9101: no args, 8 byte data (01 00 00 00 00 00 00 00), no resp data. */
300 #define PTP_OC_CANON_EOS_GetStorageIDs 0x9101 282 #define PTP_OC_CANON_EOS_GetStorageIDs 0x9101
301 /* 9102: 1 arg (0) 283 /* 9102: 1 arg (0)
302 * 0x28 bytes of data: 284 * 0x28 bytes of data:
303 00000000: 34 00 00 00 02 00 02 91 0a 00 00 00 04 00 03 00 285 00000000: 34 00 00 00 02 00 02 91 0a 00 00 00 04 00 03 00
304 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 286 00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
305 00000020: 00 00 ff ff ff ff 03 43 00 46 00 00 00 03 41 00 287 00000020: 00 00 ff ff ff ff 03 43 00 46 00 00 00 03 41 00
306 00000030: 3a 00 00 00 288 00000030: 3a 00 00 00
307 * no resp args 289 * no resp args
308 */ 290 */
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
370 /* 911b: no cmd args, no data, no resp args */ 352 /* 911b: no cmd args, no data, no resp args */
371 #define PTP_OC_CANON_EOS_SetUILock 0x911B 353 #define PTP_OC_CANON_EOS_SetUILock 0x911B
372 /* 911c: no cmd args, no data, no resp args */ 354 /* 911c: no cmd args, no data, no resp args */
373 #define PTP_OC_CANON_EOS_ResetUILock 0x911C 355 #define PTP_OC_CANON_EOS_ResetUILock 0x911C
374 #define PTP_OC_CANON_EOS_KeepDeviceOn 0x911D 356 #define PTP_OC_CANON_EOS_KeepDeviceOn 0x911D
375 #define PTP_OC_CANON_EOS_SetNullPacketMode 0x911E 357 #define PTP_OC_CANON_EOS_SetNullPacketMode 0x911E
376 #define PTP_OC_CANON_EOS_UpdateFirmware 0x911F 358 #define PTP_OC_CANON_EOS_UpdateFirmware 0x911F
377 #define PTP_OC_CANON_EOS_TransferCompleteDT 0x9120 359 #define PTP_OC_CANON_EOS_TransferCompleteDT 0x9120
378 #define PTP_OC_CANON_EOS_CancelTransferDT 0x9121 360 #define PTP_OC_CANON_EOS_CancelTransferDT 0x9121
379 #define PTP_OC_CANON_EOS_SetWftProfile 0x9122 361 #define PTP_OC_CANON_EOS_SetWftProfile 0x9122
380 #define PTP_OC_CANON_EOS_GetWftProfile» » 0x9123 362 #define PTP_OC_CANON_EOS_GetWftProfile» » 0x9122
381 #define PTP_OC_CANON_EOS_SetProfileToWft 0x9124 363 #define PTP_OC_CANON_EOS_SetProfileToWft 0x9124
382 #define PTP_OC_CANON_EOS_BulbStart 0x9125 364 #define PTP_OC_CANON_EOS_BulbStart 0x9125
383 #define PTP_OC_CANON_EOS_BulbEnd 0x9126 365 #define PTP_OC_CANON_EOS_BulbEnd 0x9126
384 #define PTP_OC_CANON_EOS_RequestDevicePropValue 0x9127 366 #define PTP_OC_CANON_EOS_RequestDevicePropValue 0x9127
385 367
386 /* 0x9128 args (0x1/0x2, 0x0), no data, no resp args */ 368 /* 0x9128 args (0x1/0x2, 0x0), no data, no resp args */
387 #define PTP_OC_CANON_EOS_RemoteReleaseOn 0x9128 369 #define PTP_OC_CANON_EOS_RemoteReleaseOn 0x9128
388 /* 0x9129 args (0x1/0x2), no data, no resp args */ 370 /* 0x9129 args (0x1/0x2), no data, no resp args */
389 #define PTP_OC_CANON_EOS_RemoteReleaseOff 0x9129 371 #define PTP_OC_CANON_EOS_RemoteReleaseOff 0x9129
390 372
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
418 #define PTP_OC_CANON_EOS_InitiateViewfinder 0x9151 373 #define PTP_OC_CANON_EOS_InitiateViewfinder 0x9151
419 #define PTP_OC_CANON_EOS_TerminateViewfinder 0x9152 374 #define PTP_OC_CANON_EOS_TerminateViewfinder 0x9152
420 /* EOS M2 wlan: 2 params, 0x00200000 0x01000000 */
421 #define PTP_OC_CANON_EOS_GetViewFinderData 0x9153 375 #define PTP_OC_CANON_EOS_GetViewFinderData 0x9153
422 #define PTP_OC_CANON_EOS_DoAf 0x9154 376 #define PTP_OC_CANON_EOS_DoAf 0x9154
423 #define PTP_OC_CANON_EOS_DriveLens 0x9155 377 #define PTP_OC_CANON_EOS_DriveLens 0x9155
424 #define PTP_OC_CANON_EOS_DepthOfFieldPreview» 0x9156 /* 1 arg */ 378 #define PTP_OC_CANON_EOS_DepthOfFieldPreview» 0x9156
425 #define PTP_OC_CANON_EOS_ClickWB» » 0x9157 /* 2 args: x,y */ 379 #define PTP_OC_CANON_EOS_ClickWB» » 0x9157
426 #define PTP_OC_CANON_EOS_Zoom» » » 0x9158 /* 1 arg */ 380 #define PTP_OC_CANON_EOS_Zoom» » » 0x9158
427 #define PTP_OC_CANON_EOS_ZoomPosition» » 0x9159 /* 2 args: x,y */ 381 #define PTP_OC_CANON_EOS_ZoomPosition» » 0x9159
428 #define PTP_OC_CANON_EOS_SetLiveAfFrame»» 0x915A 382 #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 */
432 #define PTP_OC_CANON_EOS_AfCancel 0x9160 383 #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
439 #define PTP_OC_CANON_EOS_FAPIMessageTX 0x91FE 384 #define PTP_OC_CANON_EOS_FAPIMessageTX 0x91FE
440 #define PTP_OC_CANON_EOS_FAPIMessageRX 0x91FF 385 #define PTP_OC_CANON_EOS_FAPIMessageRX 0x91FF
441 386
442 /* Nikon extension Operation Codes */ 387 /* Nikon extension Operation Codes */
443 #define PTP_OC_NIKON_GetProfileAllData 0x9006 388 #define PTP_OC_NIKON_GetProfileAllData 0x9006
444 #define PTP_OC_NIKON_SendProfileData 0x9007 389 #define PTP_OC_NIKON_SendProfileData 0x9007
445 #define PTP_OC_NIKON_DeleteProfile 0x9008 390 #define PTP_OC_NIKON_DeleteProfile 0x9008
446 #define PTP_OC_NIKON_SetProfileData 0x9009 391 #define PTP_OC_NIKON_SetProfileData 0x9009
447 #define PTP_OC_NIKON_AdvancedTransfer 0x9010 392 #define PTP_OC_NIKON_AdvancedTransfer 0x9010
448 #define PTP_OC_NIKON_GetFileInfoInBlock 0x9011 393 #define PTP_OC_NIKON_GetFileInfoInBlock 0x9011
449 #define PTP_OC_NIKON_Capture 0x90C0 /* 1 param, no data */ 394 #define PTP_OC_NIKON_Capture 0x90C0 /* 1 param, no data */
450 #define PTP_OC_NIKON_AfDrive 0x90C1 /* no params, no data */ 395 #define PTP_OC_NIKON_AfDrive 0x90C1 /* no params, no data */
451 #define PTP_OC_NIKON_SetControlMode» 0x90C2» /* 1 param, no data */ 396 #define PTP_OC_NIKON_SetControlMode» 0x90C2» /* 1 param, no data */
452 #define PTP_OC_NIKON_DelImageSDRAM» 0x90C3» /* 1 param, no data */ 397 #define PTP_OC_NIKON_DelImageSDRAM» 0x90C3» /* no params, no data */
453 #define PTP_OC_NIKON_GetLargeThumb 0x90C4 398 #define PTP_OC_NIKON_GetLargeThumb 0x90C4
454 #define PTP_OC_NIKON_CurveDownload 0x90C5 /* 1 param, data in */ 399 #define PTP_OC_NIKON_CurveDownload 0x90C5 /* 1 param, data in */
455 #define PTP_OC_NIKON_CurveUpload 0x90C6 /* 1 param, data out */ 400 #define PTP_OC_NIKON_CurveUpload 0x90C6 /* 1 param, data out */
456 #define PTP_OC_NIKON_CheckEvent 0x90C7 /* no params, data in */ 401 #define PTP_OC_NIKON_CheckEvent 0x90C7 /* no params, data in */
457 #define PTP_OC_NIKON_DeviceReady 0x90C8 /* no params, no data */ 402 #define PTP_OC_NIKON_DeviceReady 0x90C8 /* no params, no data */
458 #define PTP_OC_NIKON_SetPreWBData 0x90C9 /* 3 params, data out */ 403 #define PTP_OC_NIKON_SetPreWBData 0x90C9 /* 3 params, data out */
459 #define PTP_OC_NIKON_GetVendorPropCodes 0x90CA /* 0 params, data in */ 404 #define PTP_OC_NIKON_GetVendorPropCodes 0x90CA /* 0 params, data in */
460 #define PTP_OC_NIKON_AfCaptureSDRAM 0x90CB /* no params, no data */ 405 #define PTP_OC_NIKON_AfCaptureSDRAM 0x90CB /* no params, no data */
461 #define PTP_OC_NIKON_GetPictCtrlData» 0x90CC» /* 2 params, data in */ 406 #define PTP_OC_NIKON_GetPictCtrlData» 0x90CC
462 #define PTP_OC_NIKON_SetPictCtrlData» 0x90CD» /* 2 params, data out */ 407 #define PTP_OC_NIKON_SetPictCtrlData» 0x90CD
463 #define PTP_OC_NIKON_DelCstPicCtrl» 0x90CE» /* 1 param, no data */ 408 #define PTP_OC_NIKON_DelCstPicCtrl» 0x90CE
464 #define PTP_OC_NIKON_GetPicCtrlCapability» 0x90CF» /* 1 param, data in */ 409 #define PTP_OC_NIKON_GetPicCtrlCapability» 0x90CF
465 410
466 /* Nikon Liveview stuff */ 411 /* Nikon Liveview stuff */
467 #define PTP_OC_NIKON_GetPreviewImg 0x9200 412 #define PTP_OC_NIKON_GetPreviewImg 0x9200
468 #define PTP_OC_NIKON_StartLiveView» 0x9201» /* no params */ 413 #define PTP_OC_NIKON_StartLiveView» 0x9201
469 #define PTP_OC_NIKON_EndLiveView» 0x9202» /* no params */ 414 #define PTP_OC_NIKON_EndLiveView» 0x9202
470 #define PTP_OC_NIKON_GetLiveViewImg» 0x9203» /* no params, data in */ 415 #define PTP_OC_NIKON_GetLiveViewImg» 0x9203
471 #define PTP_OC_NIKON_MfDrive» » 0x9204» /* 2 params */ 416 #define PTP_OC_NIKON_MfDrive» » 0x9204
472 #define PTP_OC_NIKON_ChangeAfArea» 0x9205» /* 2 params */ 417 #define PTP_OC_NIKON_ChangeAfArea» 0x9205
473 #define PTP_OC_NIKON_AfDriveCancel» 0x9206» /* no params */ 418 #define PTP_OC_NIKON_AfDriveCancel» 0x9206
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 */
486 419
487 #define PTP_OC_NIKON_GetDevicePTPIPInfo 0x90E0 420 #define PTP_OC_NIKON_GetDevicePTPIPInfo 0x90E0
488 421
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
494 /* Casio EX-F1 (from http://code.google.com/p/exf1ctrl/ ) */ 422 /* Casio EX-F1 (from http://code.google.com/p/exf1ctrl/ ) */
495 #define PTP_OC_CASIO_STILL_START 0x9001 423 #define PTP_OC_CASIO_STILL_START 0x9001
496 #define PTP_OC_CASIO_STILL_STOP 0x9002 424 #define PTP_OC_CASIO_STILL_STOP 0x9002
497 425
498 #define PTP_OC_CASIO_FOCUS 0x9007 426 #define PTP_OC_CASIO_FOCUS 0x9007
499 #define PTP_OC_CASIO_CF_PRESS 0x9009 427 #define PTP_OC_CASIO_CF_PRESS 0x9009
500 #define PTP_OC_CASIO_CF_RELEASE 0x900A 428 #define PTP_OC_CASIO_CF_RELEASE 0x900A
501 #define PTP_OC_CASIO_GET_OBJECT_INFO 0x900C 429 #define PTP_OC_CASIO_GET_OBJECT_INFO 0x900C
502 430
503 #define PTP_OC_CASIO_SHUTTER 0x9024 431 #define PTP_OC_CASIO_SHUTTER 0x9024
(...skipping 11 matching lines...) Expand all
515 #define PTP_OC_CASIO_MOVIE_START 0x9041 443 #define PTP_OC_CASIO_MOVIE_START 0x9041
516 #define PTP_OC_CASIO_MOVIE_STOP 0x9042 444 #define PTP_OC_CASIO_MOVIE_STOP 0x9042
517 #define PTP_OC_CASIO_MOVIE_PRESS 0x9043 445 #define PTP_OC_CASIO_MOVIE_PRESS 0x9043
518 #define PTP_OC_CASIO_MOVIE_RELEASE 0x9044 446 #define PTP_OC_CASIO_MOVIE_RELEASE 0x9044
519 #define PTP_OC_CASIO_GET_MOVIE_HANDLES 0x9045 447 #define PTP_OC_CASIO_GET_MOVIE_HANDLES 0x9045
520 #define PTP_OC_CASIO_MOVIE_RESET 0x9046 448 #define PTP_OC_CASIO_MOVIE_RESET 0x9046
521 449
522 #define PTP_OC_CASIO_GET_OBJECT 0x9025 450 #define PTP_OC_CASIO_GET_OBJECT 0x9025
523 #define PTP_OC_CASIO_GET_THUMBNAIL 0x9026 451 #define PTP_OC_CASIO_GET_THUMBNAIL 0x9026
524 452
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
549 /* Microsoft / MTP extension codes */ 453 /* Microsoft / MTP extension codes */
550 454
551 #define PTP_OC_MTP_GetObjectPropsSupported 0x9801 455 #define PTP_OC_MTP_GetObjectPropsSupported 0x9801
552 #define PTP_OC_MTP_GetObjectPropDesc 0x9802 456 #define PTP_OC_MTP_GetObjectPropDesc 0x9802
553 #define PTP_OC_MTP_GetObjectPropValue 0x9803 457 #define PTP_OC_MTP_GetObjectPropValue 0x9803
554 #define PTP_OC_MTP_SetObjectPropValue 0x9804 458 #define PTP_OC_MTP_SetObjectPropValue 0x9804
555 #define PTP_OC_MTP_GetObjPropList 0x9805 459 #define PTP_OC_MTP_GetObjPropList 0x9805
556 #define PTP_OC_MTP_SetObjPropList 0x9806 460 #define PTP_OC_MTP_SetObjPropList 0x9806
557 #define PTP_OC_MTP_GetInterdependendPropdesc 0x9807 461 #define PTP_OC_MTP_GetInterdependendPropdesc 0x9807
558 #define PTP_OC_MTP_SendObjectPropList 0x9808 462 #define PTP_OC_MTP_SendObjectPropList 0x9808
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 /* Olympus E series commands */ 535 /* Olympus E series commands */
632 #define PTP_OC_OLYMPUS_Capture 0x9101 536 #define PTP_OC_OLYMPUS_Capture 0x9101
633 #define PTP_OC_OLYMPUS_SelfCleaning 0x9103 537 #define PTP_OC_OLYMPUS_SelfCleaning 0x9103
634 #define PTP_OC_OLYMPUS_SetRGBGain 0x9106 538 #define PTP_OC_OLYMPUS_SetRGBGain 0x9106
635 #define PTP_OC_OLYMPUS_SetPresetMode 0x9107 539 #define PTP_OC_OLYMPUS_SetPresetMode 0x9107
636 #define PTP_OC_OLYMPUS_SetWBBiasAll 0x9108 540 #define PTP_OC_OLYMPUS_SetWBBiasAll 0x9108
637 #define PTP_OC_OLYMPUS_GetCameraControlMode 0x910a 541 #define PTP_OC_OLYMPUS_GetCameraControlMode 0x910a
638 #define PTP_OC_OLYMPUS_SetCameraControlMode 0x910b 542 #define PTP_OC_OLYMPUS_SetCameraControlMode 0x910b
639 #define PTP_OC_OLYMPUS_SetWBRGBGain 0x910c 543 #define PTP_OC_OLYMPUS_SetWBRGBGain 0x910c
640 #define PTP_OC_OLYMPUS_GetDeviceInfo 0x9301 544 #define PTP_OC_OLYMPUS_GetDeviceInfo 0x9301
641 #define PTP_OC_OLYMPUS_OpenSession» » » 0x9302 545 #define PTP_OC_OLYMPUS_Init1» » » » 0x9302
642 #define PTP_OC_OLYMPUS_SetDateTime 0x9402 546 #define PTP_OC_OLYMPUS_SetDateTime 0x9402
643 #define PTP_OC_OLYMPUS_GetDateTime 0x9482 547 #define PTP_OC_OLYMPUS_GetDateTime 0x9482
644 #define PTP_OC_OLYMPUS_SetCameraID 0x9501 548 #define PTP_OC_OLYMPUS_SetCameraID 0x9501
645 #define PTP_OC_OLYMPUS_GetCameraID 0x9581 549 #define PTP_OC_OLYMPUS_GetCameraID 0x9581
646 550
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
672 /* Proprietary vendor extension operations mask */ 551 /* Proprietary vendor extension operations mask */
673 #define PTP_OC_EXTENSION_MASK 0xF000 552 #define PTP_OC_EXTENSION_MASK 0xF000
674 #define PTP_OC_EXTENSION 0x9000 553 #define PTP_OC_EXTENSION 0x9000
675 554
676 /* Response Codes */ 555 /* Response Codes */
677 556
678 /* PTP v1.0 response codes */ 557 /* PTP v1.0 response codes */
679 #define PTP_RC_Undefined 0x2000 558 #define PTP_RC_Undefined 0x2000
680 #define PTP_RC_OK 0x2001 559 #define PTP_RC_OK 0x2001
681 #define PTP_RC_GeneralError 0x2002 560 #define PTP_RC_GeneralError 0x2002
682 #define PTP_RC_SessionNotOpen 0x2003 561 #define PTP_RC_SessionNotOpen 0x2003
683 #define PTP_RC_InvalidTransactionID 0x2004 562 #define PTP_RC_InvalidTransactionID» 0x2004
684 #define PTP_RC_OperationNotSupported 0x2005 563 #define PTP_RC_OperationNotSupported 0x2005
685 #define PTP_RC_ParameterNotSupported 0x2006 564 #define PTP_RC_ParameterNotSupported 0x2006
686 #define PTP_RC_IncompleteTransfer 0x2007 565 #define PTP_RC_IncompleteTransfer 0x2007
687 #define PTP_RC_InvalidStorageId 0x2008 566 #define PTP_RC_InvalidStorageId 0x2008
688 #define PTP_RC_InvalidObjectHandle 0x2009 567 #define PTP_RC_InvalidObjectHandle 0x2009
689 #define PTP_RC_DevicePropNotSupported 0x200A 568 #define PTP_RC_DevicePropNotSupported 0x200A
690 #define PTP_RC_InvalidObjectFormatCode 0x200B 569 #define PTP_RC_InvalidObjectFormatCode 0x200B
691 #define PTP_RC_StoreFull 0x200C 570 #define PTP_RC_StoreFull 0x200C
692 #define PTP_RC_ObjectWriteProtected 0x200D 571 #define PTP_RC_ObjectWriteProtected 0x200D
693 #define PTP_RC_StoreReadOnly 0x200E 572 #define PTP_RC_StoreReadOnly 0x200E
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
760 (microsoft.com/AAVT 1.0) */ 639 (microsoft.com/AAVT 1.0) */
761 #define PTP_RC_MTP_Invalid_Media_Session_ID 0xA170 640 #define PTP_RC_MTP_Invalid_Media_Session_ID 0xA170
762 #define PTP_RC_MTP_Media_Session_Limit_Reached 0xA171 641 #define PTP_RC_MTP_Media_Session_Limit_Reached 0xA171
763 #define PTP_RC_MTP_No_More_Data 0xA172 642 #define PTP_RC_MTP_No_More_Data 0xA172
764 643
765 /* WiFi Provisioning MTP Extension Error Codes (microsoft.com/WPDWCN: 1.0) */ 644 /* WiFi Provisioning MTP Extension Error Codes (microsoft.com/WPDWCN: 1.0) */
766 #define PTP_RC_MTP_Invalid_WFC_Syntax 0xA121 645 #define PTP_RC_MTP_Invalid_WFC_Syntax 0xA121
767 #define PTP_RC_MTP_WFC_Version_Not_Supported 0xA122 646 #define PTP_RC_MTP_WFC_Version_Not_Supported 0xA122
768 647
769 /* libptp2 extended ERROR codes */ 648 /* libptp2 extended ERROR codes */
649 #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
770 #define PTP_ERROR_TIMEOUT 0x02FA 654 #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
775 #define PTP_ERROR_IO 0x02FF
776 655
777 /* PTP Event Codes */ 656 /* PTP Event Codes */
778 657
779 #define PTP_EC_Undefined 0x4000 658 #define PTP_EC_Undefined 0x4000
780 #define PTP_EC_CancelTransaction 0x4001 659 #define PTP_EC_CancelTransaction 0x4001
781 #define PTP_EC_ObjectAdded 0x4002 660 #define PTP_EC_ObjectAdded 0x4002
782 #define PTP_EC_ObjectRemoved 0x4003 661 #define PTP_EC_ObjectRemoved 0x4003
783 #define PTP_EC_StoreAdded 0x4004 662 #define PTP_EC_StoreAdded 0x4004
784 #define PTP_EC_StoreRemoved 0x4005 663 #define PTP_EC_StoreRemoved 0x4005
785 #define PTP_EC_DevicePropChanged 0x4006 664 #define PTP_EC_DevicePropChanged 0x4006
786 #define PTP_EC_ObjectInfoChanged 0x4007 665 #define PTP_EC_ObjectInfoChanged 0x4007
787 #define PTP_EC_DeviceInfoChanged 0x4008 666 #define PTP_EC_DeviceInfoChanged 0x4008
788 #define PTP_EC_RequestObjectTransfer 0x4009 667 #define PTP_EC_RequestObjectTransfer 0x4009
789 #define PTP_EC_StoreFull 0x400A 668 #define PTP_EC_StoreFull 0x400A
790 #define PTP_EC_DeviceReset 0x400B 669 #define PTP_EC_DeviceReset 0x400B
791 #define PTP_EC_StorageInfoChanged 0x400C 670 #define PTP_EC_StorageInfoChanged 0x400C
792 #define PTP_EC_CaptureComplete 0x400D 671 #define PTP_EC_CaptureComplete 0x400D
793 #define PTP_EC_UnreportedStatus 0x400E 672 #define PTP_EC_UnreportedStatus 0x400E
794 673
795 /* Canon extension Event Codes */ 674 /* Canon extension Event Codes */
796 #define PTP_EC_CANON_ExtendedErrorcode 0xC005 /* ? */ 675 #define PTP_EC_CANON_ExtendedErrorcode 0xC005 /* ? */
797 #define PTP_EC_CANON_ObjectInfoChanged 0xC008 676 #define PTP_EC_CANON_ObjectInfoChanged 0xC008
798 #define PTP_EC_CANON_RequestObjectTransfer 0xC009 677 #define PTP_EC_CANON_RequestObjectTransfer 0xC009
799 #define PTP_EC_CANON_ShutterButtonPressed0 0xC00B
800 #define PTP_EC_CANON_CameraModeChanged 0xC00C 678 #define PTP_EC_CANON_CameraModeChanged 0xC00C
801 #define PTP_EC_CANON_ShutterButtonPressed1» 0xC00E 679 #define PTP_EC_CANON_ShutterButtonPressed» 0xC00E
802 680
803 #define PTP_EC_CANON_StartDirectTransfer 0xC011 681 #define PTP_EC_CANON_StartDirectTransfer 0xC011
804 #define PTP_EC_CANON_StopDirectTransfer 0xC013 682 #define PTP_EC_CANON_StopDirectTransfer 0xC013
805 683
806 /* Canon EOS events */ 684 /* Canon EOS events */
807 #define PTP_EC_CANON_EOS_RequestGetEvent» » 0xc101 685 #define PTP_EC_CANON_EOS_RequestGetEvent» 0xc101
808 #define PTP_EC_CANON_EOS_ObjectAddedEx» » » 0xc181 686 #define PTP_EC_CANON_EOS_ObjectAddedEx» » 0xc181
809 #define PTP_EC_CANON_EOS_ObjectRemoved» » » 0xc182 687 #define PTP_EC_CANON_EOS_ObjectRemoved» » 0xc182
810 #define PTP_EC_CANON_EOS_RequestGetObjectInfoEx»» 0xc183 688 #define PTP_EC_CANON_EOS_RequestGetObjectInfoEx»0xc183
811 #define PTP_EC_CANON_EOS_StorageStatusChanged» » 0xc184 689 #define PTP_EC_CANON_EOS_StorageStatusChanged» 0xc184
812 #define PTP_EC_CANON_EOS_StorageInfoChanged» » 0xc185 690 #define PTP_EC_CANON_EOS_StorageInfoChanged» 0xc185
813 #define PTP_EC_CANON_EOS_RequestObjectTransfer» » 0xc186 691 #define PTP_EC_CANON_EOS_RequestObjectTransfer» 0xc186
814 #define PTP_EC_CANON_EOS_ObjectInfoChangedEx» » 0xc187 692 #define PTP_EC_CANON_EOS_ObjectInfoChangedEx» 0xc187
815 #define PTP_EC_CANON_EOS_ObjectContentChanged» » 0xc188 693 #define PTP_EC_CANON_EOS_ObjectContentChanged» 0xc188
816 #define PTP_EC_CANON_EOS_PropValueChanged» » 0xc189 694 #define PTP_EC_CANON_EOS_PropValueChanged» 0xc189
817 #define PTP_EC_CANON_EOS_AvailListChanged» » 0xc18a 695 #define PTP_EC_CANON_EOS_AvailListChanged» 0xc18a
818 #define PTP_EC_CANON_EOS_CameraStatusChanged» » 0xc18b 696 #define PTP_EC_CANON_EOS_CameraStatusChanged» 0xc18b
819 #define PTP_EC_CANON_EOS_WillSoonShutdown» » 0xc18d 697 #define PTP_EC_CANON_EOS_WillSoonShutdown» 0xc18d
820 #define PTP_EC_CANON_EOS_ShutdownTimerUpdated» » 0xc18e 698 #define PTP_EC_CANON_EOS_ShutdownTimerUpdated» 0xc18e
821 #define PTP_EC_CANON_EOS_RequestCancelTransfer» » 0xc18f 699 #define PTP_EC_CANON_EOS_RequestCancelTransfer» 0xc18f
822 #define PTP_EC_CANON_EOS_RequestObjectTransferDT 0xc190 700 #define PTP_EC_CANON_EOS_RequestObjectTransferDT 0xc190
823 #define PTP_EC_CANON_EOS_RequestCancelTransferDT 0xc191 701 #define PTP_EC_CANON_EOS_RequestCancelTransferDT 0xc191
824 #define PTP_EC_CANON_EOS_StoreAdded» » » 0xc192 702 #define PTP_EC_CANON_EOS_StoreAdded» » 0xc192
825 #define PTP_EC_CANON_EOS_StoreRemoved» » » 0xc193 703 #define PTP_EC_CANON_EOS_StoreRemoved» » 0xc193
826 #define PTP_EC_CANON_EOS_BulbExposureTime» » 0xc194 704 #define PTP_EC_CANON_EOS_BulbExposureTime» 0xc194
827 #define PTP_EC_CANON_EOS_RecordingTime» » » 0xc195 705 #define PTP_EC_CANON_EOS_RecordingTime» » 0xc195
828 #define PTP_EC_CANON_EOS_RequestObjectTransferTS» 0xC1a2 706 #define PTP_EC_CANON_EOS_RequestObjectTransferTS» » 0xC1a2
829 #define PTP_EC_CANON_EOS_AfResult» » » 0xc1a3 707 #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
833 708
834 /* Nikon extension Event Codes */ 709 /* Nikon extension Event Codes */
835 710
836 /* Nikon extension Event Codes */ 711 /* Nikon extension Event Codes */
837 #define PTP_EC_Nikon_ObjectAddedInSDRAM 0xC101 712 #define PTP_EC_Nikon_ObjectAddedInSDRAM 0xC101
838 #define PTP_EC_Nikon_CaptureCompleteRecInSdram 0xC102 713 #define PTP_EC_Nikon_CaptureCompleteRecInSdram 0xC102
839 /* Gets 1 parameter, objectid pointing to DPOF object */ 714 /* Gets 1 parameter, objectid pointing to DPOF object */
840 #define PTP_EC_Nikon_AdvancedTransfer 0xC103 715 #define PTP_EC_Nikon_AdvancedTransfer 0xC103
841 #define PTP_EC_Nikon_PreviewImageAdded 0xC104 716 #define PTP_EC_Nikon_PreviewImageAdded 0xC104
842 717
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
852 /* MTP Event codes */ 718 /* MTP Event codes */
853 #define PTP_EC_MTP_ObjectPropChanged 0xC801 719 #define PTP_EC_MTP_ObjectPropChanged 0xC801
854 #define PTP_EC_MTP_ObjectPropDescChanged 0xC802 720 #define PTP_EC_MTP_ObjectPropDescChanged 0xC802
855 #define PTP_EC_MTP_ObjectReferencesChanged 0xC803 721 #define PTP_EC_MTP_ObjectReferencesChanged 0xC803
856 722
857 /* constants for GetObjectHandles */ 723 /* constants for GetObjectHandles */
858 #define PTP_GOH_ALL_STORAGE 0xffffffff 724 #define PTP_GOH_ALL_STORAGE 0xffffffff
859 #define PTP_GOH_ALL_FORMATS 0x00000000 725 #define PTP_GOH_ALL_FORMATS 0x00000000
860 #define PTP_GOH_ALL_ASSOCS 0x00000000 726 #define PTP_GOH_ALL_ASSOCS 0x00000000
861 #define PTP_GOH_ROOT_PARENT 0xffffffff 727 #define PTP_GOH_ROOT_PARENT 0xffffffff
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
987 #define PTP_OFC_JP2 0x380F 853 #define PTP_OFC_JP2 0x380F
988 #define PTP_OFC_JPX 0x3810 854 #define PTP_OFC_JPX 0x3810
989 /* ptp v1.1 has only DNG new */ 855 /* ptp v1.1 has only DNG new */
990 #define PTP_OFC_DNG 0x3811 856 #define PTP_OFC_DNG 0x3811
991 /* Eastman Kodak extension ancillary format */ 857 /* Eastman Kodak extension ancillary format */
992 #define PTP_OFC_EK_M3U 0xb002 858 #define PTP_OFC_EK_M3U 0xb002
993 /* Canon extension */ 859 /* Canon extension */
994 #define PTP_OFC_CANON_CRW 0xb101 860 #define PTP_OFC_CANON_CRW 0xb101
995 #define PTP_OFC_CANON_CRW3 0xb103 861 #define PTP_OFC_CANON_CRW3 0xb103
996 #define PTP_OFC_CANON_MOV 0xb104 862 #define PTP_OFC_CANON_MOV 0xb104
997 #define PTP_OFC_CANON_MOV2 0xb105
998 /* CHDK specific raw mode */ 863 /* CHDK specific raw mode */
999 #define PTP_OFC_CANON_CHDK_CRW 0xb1ff 864 #define PTP_OFC_CANON_CHDK_CRW 0xb1ff
1000 /* Sony */
1001 #define PTP_OFC_SONY_RAW 0xb101
1002 /* MTP extensions */ 865 /* MTP extensions */
1003 #define PTP_OFC_MTP_MediaCard 0xb211 866 #define PTP_OFC_MTP_MediaCard 0xb211
1004 #define PTP_OFC_MTP_MediaCardGroup 0xb212 867 #define PTP_OFC_MTP_MediaCardGroup 0xb212
1005 #define PTP_OFC_MTP_Encounter 0xb213 868 #define PTP_OFC_MTP_Encounter 0xb213
1006 #define PTP_OFC_MTP_EncounterBox 0xb214 869 #define PTP_OFC_MTP_EncounterBox 0xb214
1007 #define PTP_OFC_MTP_M4A 0xb215 870 #define PTP_OFC_MTP_M4A 0xb215
1008 #define PTP_OFC_MTP_ZUNEUNDEFINED 0xb217 /* Unknown file type */ 871 #define PTP_OFC_MTP_ZUNEUNDEFINED 0xb217 /* Unknown file type */
1009 #define PTP_OFC_MTP_Firmware 0xb802 872 #define PTP_OFC_MTP_Firmware 0xb802
1010 #define PTP_OFC_MTP_WindowsImageFormat 0xb881 873 #define PTP_OFC_MTP_WindowsImageFormat 0xb881
1011 #define PTP_OFC_MTP_UndefinedAudio 0xb900 874 #define PTP_OFC_MTP_UndefinedAudio 0xb900
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after
1254 uint8_t wifi_channel; /* 1-11 */ 1117 uint8_t wifi_channel; /* 1-11 */
1255 uint8_t authentification; /* 0 - Open, 1 - Shared, 2 - WPA-PSK */ 1118 uint8_t authentification; /* 0 - Open, 1 - Shared, 2 - WPA-PSK */
1256 uint8_t encryption; /* 0 - None, 1 - WEP 64bit, 2 - WEP 128bit (not su pported: 3 - TKIP) */ 1119 uint8_t encryption; /* 0 - None, 1 - WEP 64bit, 2 - WEP 128bit (not su pported: 3 - TKIP) */
1257 uint8_t key[64]; 1120 uint8_t key[64];
1258 uint8_t key_nr; 1121 uint8_t key_nr;
1259 /* char guid[16]; */ 1122 /* char guid[16]; */
1260 }; 1123 };
1261 1124
1262 typedef struct _PTPNIKONWifiProfile PTPNIKONWifiProfile; 1125 typedef struct _PTPNIKONWifiProfile PTPNIKONWifiProfile;
1263 1126
1264 enum _PTPCanon_changes_types { 1127 #define PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN» » 0
1265 » PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN, 1128 #define PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO» » 1
1266 » PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO, 1129 #define PTP_CANON_EOS_CHANGES_TYPE_OBJECTTRANSFER» 2
1267 » PTP_CANON_EOS_CHANGES_TYPE_OBJECTTRANSFER, 1130 #define PTP_CANON_EOS_CHANGES_TYPE_PROPERTY» » 3
1268 » PTP_CANON_EOS_CHANGES_TYPE_PROPERTY, 1131 #define PTP_CANON_EOS_CHANGES_TYPE_CAMERASTATUS»» 4
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 };
1274 1132
1275 struct _PTPCanon_New_Object { 1133 struct _PTPCanon_New_Object {
1276 uint32_t oid; 1134 uint32_t oid;
1277 PTPObjectInfo oi; 1135 PTPObjectInfo oi;
1278 }; 1136 };
1279 1137
1280 struct _PTPCanon_changes_entry { 1138 struct _PTPCanon_changes_entry {
1281 » enum _PTPCanon_changes_types» type; 1139 » int» type;
1282 union { 1140 union {
1283 struct _PTPCanon_New_Object object; /* TYPE_OBJECTINFO */ 1141 struct _PTPCanon_New_Object object; /* TYPE_OBJECTINFO */
1284 char *info; 1142 char *info;
1285 uint16_t propid; 1143 uint16_t propid;
1286 int status; 1144 int status;
1287 } u; 1145 } u;
1288 }; 1146 };
1289 typedef struct _PTPCanon_changes_entry PTPCanon_changes_entry; 1147 typedef struct _PTPCanon_changes_entry PTPCanon_changes_entry;
1290 1148
1291 typedef struct _PTPCanon_Property { 1149 typedef struct _PTPCanon_Property {
1292 uint32_t size; 1150 uint32_t size;
1151 uint32_t type;
1293 uint32_t proptype; 1152 uint32_t proptype;
1294 unsigned char *data; 1153 unsigned char *data;
1295 1154
1296 /* fill out for queries */ 1155 /* fill out for queries */
1297 PTPDevicePropDesc dpd; 1156 PTPDevicePropDesc dpd;
1298 } PTPCanon_Property; 1157 } PTPCanon_Property;
1299 1158
1300 typedef struct _PTPCanonEOSDeviceInfo { 1159 typedef struct _PTPCanonEOSDeviceInfo {
1301 /* length */ 1160 /* length */
1302 uint32_t EventsSupported_len; 1161 uint32_t EventsSupported_len;
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after
1487 #define PTP_DPC_CANON_AverageFilesizes 0xD048 1346 #define PTP_DPC_CANON_AverageFilesizes 0xD048
1488 #define PTP_DPC_CANON_ModelID 0xD049 1347 #define PTP_DPC_CANON_ModelID 0xD049
1489 1348
1490 /* From EOS 400D trace. */ 1349 /* From EOS 400D trace. */
1491 #define PTP_DPC_CANON_EOS_Aperture 0xD101 1350 #define PTP_DPC_CANON_EOS_Aperture 0xD101
1492 #define PTP_DPC_CANON_EOS_ShutterSpeed 0xD102 1351 #define PTP_DPC_CANON_EOS_ShutterSpeed 0xD102
1493 #define PTP_DPC_CANON_EOS_ISOSpeed 0xD103 1352 #define PTP_DPC_CANON_EOS_ISOSpeed 0xD103
1494 #define PTP_DPC_CANON_EOS_ExpCompensation 0xD104 1353 #define PTP_DPC_CANON_EOS_ExpCompensation 0xD104
1495 #define PTP_DPC_CANON_EOS_AutoExposureMode 0xD105 1354 #define PTP_DPC_CANON_EOS_AutoExposureMode 0xD105
1496 #define PTP_DPC_CANON_EOS_DriveMode 0xD106 1355 #define PTP_DPC_CANON_EOS_DriveMode 0xD106
1497 #define PTP_DPC_CANON_EOS_MeteringMode» » 0xD107 1356 #define PTP_DPC_CANON_EOS_MeteringMode» » 0xD107
1498 #define PTP_DPC_CANON_EOS_FocusMode 0xD108 1357 #define PTP_DPC_CANON_EOS_FocusMode 0xD108
1499 #define PTP_DPC_CANON_EOS_WhiteBalance 0xD109 1358 #define PTP_DPC_CANON_EOS_WhiteBalance 0xD109
1500 #define PTP_DPC_CANON_EOS_ColorTemperature 0xD10A 1359 #define PTP_DPC_CANON_EOS_ColorTemperature 0xD10A
1501 #define PTP_DPC_CANON_EOS_WhiteBalanceAdjustA 0xD10B 1360 #define PTP_DPC_CANON_EOS_WhiteBalanceAdjustA 0xD10B
1502 #define PTP_DPC_CANON_EOS_WhiteBalanceAdjustB 0xD10C 1361 #define PTP_DPC_CANON_EOS_WhiteBalanceAdjustB 0xD10C
1503 #define PTP_DPC_CANON_EOS_WhiteBalanceXA 0xD10D 1362 #define PTP_DPC_CANON_EOS_WhiteBalanceXA 0xD10D
1504 #define PTP_DPC_CANON_EOS_WhiteBalanceXB 0xD10E 1363 #define PTP_DPC_CANON_EOS_WhiteBalanceXB 0xD10E
1505 #define PTP_DPC_CANON_EOS_ColorSpace 0xD10F 1364 #define PTP_DPC_CANON_EOS_ColorSpace 0xD10F
1506 #define PTP_DPC_CANON_EOS_PictureStyle 0xD110 1365 #define PTP_DPC_CANON_EOS_PictureStyle 0xD110
1507 #define PTP_DPC_CANON_EOS_BatteryPower 0xD111 1366 #define PTP_DPC_CANON_EOS_BatteryPower 0xD111
1508 #define PTP_DPC_CANON_EOS_BatterySelect 0xD112 1367 #define PTP_DPC_CANON_EOS_BatterySelect 0xD112
1509 #define PTP_DPC_CANON_EOS_CameraTime 0xD113 1368 #define PTP_DPC_CANON_EOS_CameraTime 0xD113
1510 #define PTP_DPC_CANON_EOS_AutoPowerOff 0xD114
1511 #define PTP_DPC_CANON_EOS_Owner 0xD115 1369 #define PTP_DPC_CANON_EOS_Owner 0xD115
1512 #define PTP_DPC_CANON_EOS_ModelID 0xD116 1370 #define PTP_DPC_CANON_EOS_ModelID 0xD116
1513 #define PTP_DPC_CANON_EOS_PTPExtensionVersion 0xD119 1371 #define PTP_DPC_CANON_EOS_PTPExtensionVersion 0xD119
1514 #define PTP_DPC_CANON_EOS_DPOFVersion 0xD11A 1372 #define PTP_DPC_CANON_EOS_DPOFVersion 0xD11A
1515 #define PTP_DPC_CANON_EOS_AvailableShots 0xD11B 1373 #define PTP_DPC_CANON_EOS_AvailableShots 0xD11B
1516 #define PTP_CANON_EOS_CAPTUREDEST_HD 4 1374 #define PTP_CANON_EOS_CAPTUREDEST_HD 4
1517 #define PTP_DPC_CANON_EOS_CaptureDestination 0xD11C 1375 #define PTP_DPC_CANON_EOS_CaptureDestination 0xD11C
1518 #define PTP_DPC_CANON_EOS_BracketMode 0xD11D 1376 #define PTP_DPC_CANON_EOS_BracketMode 0xD11D
1519 #define PTP_DPC_CANON_EOS_CurrentStorage 0xD11E 1377 #define PTP_DPC_CANON_EOS_CurrentStorage 0xD11E
1520 #define PTP_DPC_CANON_EOS_CurrentFolder 0xD11F 1378 #define PTP_DPC_CANON_EOS_CurrentFolder 0xD11F
1521 #define PTP_DPC_CANON_EOS_ImageFormat 0xD120 /* file setting */ 1379 #define PTP_DPC_CANON_EOS_ImageFormat 0xD120 /* file setting */
1522 #define PTP_DPC_CANON_EOS_ImageFormatCF 0xD121 /* file setting CF */ 1380 #define PTP_DPC_CANON_EOS_ImageFormatCF 0xD121 /* file setting CF */
1523 #define PTP_DPC_CANON_EOS_ImageFormatSD 0xD122 /* file setting SD */ 1381 #define PTP_DPC_CANON_EOS_ImageFormatSD 0xD122 /* file setting SD */
1524 #define PTP_DPC_CANON_EOS_ImageFormatExtHD 0xD123 /* file setting exthd */ 1382 #define PTP_DPC_CANON_EOS_ImageFormatExtHD 0xD123 /* file setting exthd */
1525 #define PTP_DPC_CANON_EOS_CompressionS 0xD130 1383 #define PTP_DPC_CANON_EOS_CompressionS 0xD130
1526 #define PTP_DPC_CANON_EOS_CompressionM1 0xD131 1384 #define PTP_DPC_CANON_EOS_CompressionM1 0xD131
1527 #define PTP_DPC_CANON_EOS_CompressionM2 0xD132 1385 #define PTP_DPC_CANON_EOS_CompressionM2 0xD132
1528 #define PTP_DPC_CANON_EOS_CompressionL 0xD133 1386 #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
1535 #define PTP_DPC_CANON_EOS_PCWhiteBalance1 0xD140 1387 #define PTP_DPC_CANON_EOS_PCWhiteBalance1 0xD140
1536 #define PTP_DPC_CANON_EOS_PCWhiteBalance2 0xD141 1388 #define PTP_DPC_CANON_EOS_PCWhiteBalance2 0xD141
1537 #define PTP_DPC_CANON_EOS_PCWhiteBalance3 0xD142 1389 #define PTP_DPC_CANON_EOS_PCWhiteBalance3 0xD142
1538 #define PTP_DPC_CANON_EOS_PCWhiteBalance4 0xD143 1390 #define PTP_DPC_CANON_EOS_PCWhiteBalance4 0xD143
1539 #define PTP_DPC_CANON_EOS_PCWhiteBalance5 0xD144 1391 #define PTP_DPC_CANON_EOS_PCWhiteBalance5 0xD144
1540 #define PTP_DPC_CANON_EOS_MWhiteBalance 0xD145 1392 #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*/
1543 #define PTP_DPC_CANON_EOS_PictureStyleStandard 0xD150 1393 #define PTP_DPC_CANON_EOS_PictureStyleStandard 0xD150
1544 #define PTP_DPC_CANON_EOS_PictureStylePortrait 0xD151 1394 #define PTP_DPC_CANON_EOS_PictureStylePortrait 0xD151
1545 #define PTP_DPC_CANON_EOS_PictureStyleLandscape 0xD152 1395 #define PTP_DPC_CANON_EOS_PictureStyleLandscape 0xD152
1546 #define PTP_DPC_CANON_EOS_PictureStyleNeutral 0xD153 1396 #define PTP_DPC_CANON_EOS_PictureStyleNeutral 0xD153
1547 #define PTP_DPC_CANON_EOS_PictureStyleFaithful 0xD154 1397 #define PTP_DPC_CANON_EOS_PictureStyleFaithful 0xD154
1548 #define PTP_DPC_CANON_EOS_PictureStyleBlackWhite 0xD155 1398 #define PTP_DPC_CANON_EOS_PictureStyleBlackWhite 0xD155
1549 #define PTP_DPC_CANON_EOS_PictureStyleAuto 0xD156
1550 #define PTP_DPC_CANON_EOS_PictureStyleUserSet1 0xD160 1399 #define PTP_DPC_CANON_EOS_PictureStyleUserSet1 0xD160
1551 #define PTP_DPC_CANON_EOS_PictureStyleUserSet2 0xD161 1400 #define PTP_DPC_CANON_EOS_PictureStyleUserSet2 0xD161
1552 #define PTP_DPC_CANON_EOS_PictureStyleUserSet3 0xD162 1401 #define PTP_DPC_CANON_EOS_PictureStyleUserSet3 0xD162
1553 #define PTP_DPC_CANON_EOS_PictureStyleParam1 0xD170 1402 #define PTP_DPC_CANON_EOS_PictureStyleParam1 0xD170
1554 #define PTP_DPC_CANON_EOS_PictureStyleParam2 0xD171 1403 #define PTP_DPC_CANON_EOS_PictureStyleParam2 0xD171
1555 #define PTP_DPC_CANON_EOS_PictureStyleParam3 0xD172 1404 #define PTP_DPC_CANON_EOS_PictureStyleParam3 0xD172
1556 #define PTP_DPC_CANON_EOS_HighISOSettingNoiseReduction» 0xD178 1405 #define PTP_DPC_CANON_EOS_FlavorLUTParams» 0xD17f
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
1564 #define PTP_DPC_CANON_EOS_CustomFunc1 0xD180 1406 #define PTP_DPC_CANON_EOS_CustomFunc1 0xD180
1565 #define PTP_DPC_CANON_EOS_CustomFunc2 0xD181 1407 #define PTP_DPC_CANON_EOS_CustomFunc2 0xD181
1566 #define PTP_DPC_CANON_EOS_CustomFunc3 0xD182 1408 #define PTP_DPC_CANON_EOS_CustomFunc3 0xD182
1567 #define PTP_DPC_CANON_EOS_CustomFunc4 0xD183 1409 #define PTP_DPC_CANON_EOS_CustomFunc4 0xD183
1568 #define PTP_DPC_CANON_EOS_CustomFunc5 0xD184 1410 #define PTP_DPC_CANON_EOS_CustomFunc5 0xD184
1569 #define PTP_DPC_CANON_EOS_CustomFunc6 0xD185 1411 #define PTP_DPC_CANON_EOS_CustomFunc6 0xD185
1570 #define PTP_DPC_CANON_EOS_CustomFunc7 0xD186 1412 #define PTP_DPC_CANON_EOS_CustomFunc7 0xD186
1571 #define PTP_DPC_CANON_EOS_CustomFunc8 0xD187 1413 #define PTP_DPC_CANON_EOS_CustomFunc8 0xD187
1572 #define PTP_DPC_CANON_EOS_CustomFunc9 0xD188 1414 #define PTP_DPC_CANON_EOS_CustomFunc9 0xD188
1573 #define PTP_DPC_CANON_EOS_CustomFunc10 0xD189 1415 #define PTP_DPC_CANON_EOS_CustomFunc10 0xD189
1574 #define PTP_DPC_CANON_EOS_CustomFunc11 0xD18a 1416 #define PTP_DPC_CANON_EOS_CustomFunc11 0xD18a
1575 #define PTP_DPC_CANON_EOS_CustomFunc12 0xD18b 1417 #define PTP_DPC_CANON_EOS_CustomFunc12 0xD18b
1576 #define PTP_DPC_CANON_EOS_CustomFunc13 0xD18c 1418 #define PTP_DPC_CANON_EOS_CustomFunc13 0xD18c
1577 #define PTP_DPC_CANON_EOS_CustomFunc14 0xD18d 1419 #define PTP_DPC_CANON_EOS_CustomFunc14 0xD18d
1578 #define PTP_DPC_CANON_EOS_CustomFunc15 0xD18e 1420 #define PTP_DPC_CANON_EOS_CustomFunc15 0xD18e
1579 #define PTP_DPC_CANON_EOS_CustomFunc16 0xD18f 1421 #define PTP_DPC_CANON_EOS_CustomFunc16 0xD18f
1580 #define PTP_DPC_CANON_EOS_CustomFunc17 0xD190 1422 #define PTP_DPC_CANON_EOS_CustomFunc17 0xD190
1581 #define PTP_DPC_CANON_EOS_CustomFunc18 0xD191 1423 #define PTP_DPC_CANON_EOS_CustomFunc18 0xD191
1582 #define PTP_DPC_CANON_EOS_CustomFunc19 0xD192 1424 #define PTP_DPC_CANON_EOS_CustomFunc19 0xD192
1583 #define PTP_DPC_CANON_EOS_CustomFunc19 0xD192 1425 #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*/
1594 #define PTP_DPC_CANON_EOS_CustomFuncEx 0xD1a0 1426 #define PTP_DPC_CANON_EOS_CustomFuncEx 0xD1a0
1595 #define PTP_DPC_CANON_EOS_MyMenu 0xD1a1 1427 #define PTP_DPC_CANON_EOS_MyMenu 0xD1a1
1596 #define PTP_DPC_CANON_EOS_MyMenuList 0xD1a2 1428 #define PTP_DPC_CANON_EOS_MyMenuList 0xD1a2
1597 #define PTP_DPC_CANON_EOS_WftStatus 0xD1a3 1429 #define PTP_DPC_CANON_EOS_WftStatus 0xD1a3
1598 #define PTP_DPC_CANON_EOS_WftInputTransmission 0xD1a4 1430 #define PTP_DPC_CANON_EOS_WftInputTransmission 0xD1a4
1599 #define PTP_DPC_CANON_EOS_HDDirectoryStructure 0xD1a5 1431 #define PTP_DPC_CANON_EOS_HDDirectoryStructure 0xD1a5
1600 #define PTP_DPC_CANON_EOS_BatteryInfo 0xD1a6 1432 #define PTP_DPC_CANON_EOS_BatteryInfo 0xD1a6
1601 #define PTP_DPC_CANON_EOS_AdapterInfo 0xD1a7 1433 #define PTP_DPC_CANON_EOS_AdapterInfo 0xD1a7
1602 #define PTP_DPC_CANON_EOS_LensStatus 0xD1a8 1434 #define PTP_DPC_CANON_EOS_LensStatus 0xD1a8
1603 #define PTP_DPC_CANON_EOS_QuickReviewTime 0xD1a9 1435 #define PTP_DPC_CANON_EOS_QuickReviewTime 0xD1a9
1604 #define PTP_DPC_CANON_EOS_CardExtension 0xD1aa 1436 #define PTP_DPC_CANON_EOS_CardExtension 0xD1aa
1605 #define PTP_DPC_CANON_EOS_TempStatus 0xD1ab 1437 #define PTP_DPC_CANON_EOS_TempStatus 0xD1ab
1606 #define PTP_DPC_CANON_EOS_ShutterCounter 0xD1ac 1438 #define PTP_DPC_CANON_EOS_ShutterCounter 0xD1ac
1607 #define PTP_DPC_CANON_EOS_SpecialOption 0xD1ad 1439 #define PTP_DPC_CANON_EOS_SpecialOption 0xD1ad
1608 #define PTP_DPC_CANON_EOS_PhotoStudioMode 0xD1ae 1440 #define PTP_DPC_CANON_EOS_PhotoStudioMode 0xD1ae
1609 #define PTP_DPC_CANON_EOS_SerialNumber 0xD1af 1441 #define PTP_DPC_CANON_EOS_SerialNumber 0xD1af
1610 #define PTP_DPC_CANON_EOS_EVFOutputDevice 0xD1b0 1442 #define PTP_DPC_CANON_EOS_EVFOutputDevice 0xD1b0
1611 #define PTP_DPC_CANON_EOS_EVFMode 0xD1b1 1443 #define PTP_DPC_CANON_EOS_EVFMode 0xD1b1
1612 #define PTP_DPC_CANON_EOS_DepthOfFieldPreview 0xD1b2 1444 #define PTP_DPC_CANON_EOS_DepthOfFieldPreview 0xD1b2
1613 #define PTP_DPC_CANON_EOS_EVFSharpness 0xD1b3 1445 #define PTP_DPC_CANON_EOS_EVFSharpness 0xD1b3
1614 #define PTP_DPC_CANON_EOS_EVFWBMode 0xD1b4 1446 #define PTP_DPC_CANON_EOS_EVFWBMode 0xD1b4
1615 #define PTP_DPC_CANON_EOS_EVFClickWBCoeffs 0xD1b5 1447 #define PTP_DPC_CANON_EOS_EVFClickWBCoeffs 0xD1b5
1616 #define PTP_DPC_CANON_EOS_EVFColorTemp 0xD1b6 1448 #define PTP_DPC_CANON_EOS_EVFColorTemp 0xD1b6
1617 #define PTP_DPC_CANON_EOS_ExposureSimMode 0xD1b7 1449 #define PTP_DPC_CANON_EOS_ExposureSimMode 0xD1b7
1618 #define PTP_DPC_CANON_EOS_EVFRecordStatus 0xD1b8 1450 #define PTP_DPC_CANON_EOS_EVFRecordStatus 0xD1b8
1619 #define PTP_DPC_CANON_EOS_LvAfSystem 0xD1ba 1451 #define PTP_DPC_CANON_EOS_LvAfSystem 0xD1ba
1620 #define PTP_DPC_CANON_EOS_MovSize 0xD1bb 1452 #define PTP_DPC_CANON_EOS_MovSize 0xD1bb
1621 #define PTP_DPC_CANON_EOS_LvViewTypeSelect 0xD1bc 1453 #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
1639 #define PTP_DPC_CANON_EOS_Artist 0xD1d0 1454 #define PTP_DPC_CANON_EOS_Artist 0xD1d0
1640 #define PTP_DPC_CANON_EOS_Copyright 0xD1d1 1455 #define PTP_DPC_CANON_EOS_Copyright 0xD1d1
1641 #define PTP_DPC_CANON_EOS_BracketValue 0xD1d2 1456 #define PTP_DPC_CANON_EOS_BracketValue 0xD1d2
1642 #define PTP_DPC_CANON_EOS_FocusInfoEx 0xD1d3 1457 #define PTP_DPC_CANON_EOS_FocusInfoEx 0xD1d3
1643 #define PTP_DPC_CANON_EOS_DepthOfField 0xD1d4 1458 #define PTP_DPC_CANON_EOS_DepthOfField 0xD1d4
1644 #define PTP_DPC_CANON_EOS_Brightness 0xD1d5 1459 #define PTP_DPC_CANON_EOS_Brightness 0xD1d5
1645 #define PTP_DPC_CANON_EOS_LensAdjustParams 0xD1d6 1460 #define PTP_DPC_CANON_EOS_LensAdjustParams 0xD1d6
1646 #define PTP_DPC_CANON_EOS_EFComp 0xD1d7 1461 #define PTP_DPC_CANON_EOS_EFComp 0xD1d7
1647 #define PTP_DPC_CANON_EOS_LensName 0xD1d8 1462 #define PTP_DPC_CANON_EOS_LensName 0xD1d8
1648 #define PTP_DPC_CANON_EOS_AEB 0xD1d9 1463 #define PTP_DPC_CANON_EOS_AEB 0xD1d9
1649 #define PTP_DPC_CANON_EOS_StroboSetting 0xD1da 1464 #define PTP_DPC_CANON_EOS_StroboSetting 0xD1da
1650 #define PTP_DPC_CANON_EOS_StroboWirelessSetting 0xD1db 1465 #define PTP_DPC_CANON_EOS_StroboWirelessSetting 0xD1db
1651 #define PTP_DPC_CANON_EOS_StroboFiring 0xD1dc 1466 #define PTP_DPC_CANON_EOS_StroboFiring 0xD1dc
1652 #define PTP_DPC_CANON_EOS_LensID 0xD1dd 1467 #define PTP_DPC_CANON_EOS_LensID 0xD1dd
1653 #define PTP_DPC_CANON_EOS_LCDBrightness 0xD1de
1654 #define PTP_DPC_CANON_EOS_CADarkBright 0xD1df
1655 1468
1656 /* Nikon extension device property codes */ 1469 /* Nikon extension device property codes */
1657 #define PTP_DPC_NIKON_ShootingBank 0xD010 1470 #define PTP_DPC_NIKON_ShootingBank 0xD010
1658 #define PTP_DPC_NIKON_ShootingBankNameA 0xD011 1471 #define PTP_DPC_NIKON_ShootingBankNameA 0xD011
1659 #define PTP_DPC_NIKON_ShootingBankNameB 0xD012 1472 #define PTP_DPC_NIKON_ShootingBankNameB 0xD012
1660 #define PTP_DPC_NIKON_ShootingBankNameC 0xD013 1473 #define PTP_DPC_NIKON_ShootingBankNameC 0xD013
1661 #define PTP_DPC_NIKON_ShootingBankNameD 0xD014 1474 #define PTP_DPC_NIKON_ShootingBankNameD 0xD014
1662 #define PTP_DPC_NIKON_ResetBank0 0xD015 1475 #define PTP_DPC_NIKON_ResetBank0 0xD015
1663 #define PTP_DPC_NIKON_RawCompression 0xD016 1476 #define PTP_DPC_NIKON_RawCompression 0xD016
1664 #define PTP_DPC_NIKON_WhiteBalanceAutoBias 0xD017 1477 #define PTP_DPC_NIKON_WhiteBalanceAutoBias 0xD017
(...skipping 18 matching lines...) Expand all
1683 #define PTP_DPC_NIKON_ImageSharpening 0xD02A 1496 #define PTP_DPC_NIKON_ImageSharpening 0xD02A
1684 #define PTP_DPC_NIKON_ToneCompensation 0xD02B 1497 #define PTP_DPC_NIKON_ToneCompensation 0xD02B
1685 #define PTP_DPC_NIKON_ColorModel 0xD02C 1498 #define PTP_DPC_NIKON_ColorModel 0xD02C
1686 #define PTP_DPC_NIKON_HueAdjustment 0xD02D 1499 #define PTP_DPC_NIKON_HueAdjustment 0xD02D
1687 #define PTP_DPC_NIKON_NonCPULensDataFocalLength 0xD02E /* Set FMM Manua l */ 1500 #define PTP_DPC_NIKON_NonCPULensDataFocalLength 0xD02E /* Set FMM Manua l */
1688 #define PTP_DPC_NIKON_NonCPULensDataMaximumAperture 0xD02F /* Set F0 Manual */ 1501 #define PTP_DPC_NIKON_NonCPULensDataMaximumAperture 0xD02F /* Set F0 Manual */
1689 #define PTP_DPC_NIKON_ShootingMode 0xD030 1502 #define PTP_DPC_NIKON_ShootingMode 0xD030
1690 #define PTP_DPC_NIKON_JPEG_Compression_Policy 0xD031 1503 #define PTP_DPC_NIKON_JPEG_Compression_Policy 0xD031
1691 #define PTP_DPC_NIKON_ColorSpace 0xD032 1504 #define PTP_DPC_NIKON_ColorSpace 0xD032
1692 #define PTP_DPC_NIKON_AutoDXCrop 0xD033 1505 #define PTP_DPC_NIKON_AutoDXCrop 0xD033
1693 #define PTP_DPC_NIKON_FlickerReduction 0xD034
1694 #define PTP_DPC_NIKON_RemoteMode 0xD035
1695 #define PTP_DPC_NIKON_VideoMode 0xD036 1506 #define PTP_DPC_NIKON_VideoMode 0xD036
1696 #define PTP_DPC_NIKON_EffectMode 0xD037 1507 #define PTP_DPC_NIKON_EffectMode 0xD037
1697 #define PTP_DPC_NIKON_1_Mode 0xD038
1698 #define PTP_DPC_NIKON_CSMMenuBankSelect 0xD040 1508 #define PTP_DPC_NIKON_CSMMenuBankSelect 0xD040
1699 #define PTP_DPC_NIKON_MenuBankNameA 0xD041 1509 #define PTP_DPC_NIKON_MenuBankNameA 0xD041
1700 #define PTP_DPC_NIKON_MenuBankNameB 0xD042 1510 #define PTP_DPC_NIKON_MenuBankNameB 0xD042
1701 #define PTP_DPC_NIKON_MenuBankNameC 0xD043 1511 #define PTP_DPC_NIKON_MenuBankNameC 0xD043
1702 #define PTP_DPC_NIKON_MenuBankNameD 0xD044 1512 #define PTP_DPC_NIKON_MenuBankNameD 0xD044
1703 #define PTP_DPC_NIKON_ResetBank 0xD045 1513 #define PTP_DPC_NIKON_ResetBank 0xD045
1704 #define PTP_DPC_NIKON_A1AFCModePriority 0xD048 1514 #define PTP_DPC_NIKON_A1AFCModePriority 0xD048
1705 #define PTP_DPC_NIKON_A2AFSModePriority 0xD049 1515 #define PTP_DPC_NIKON_A2AFSModePriority 0xD049
1706 #define PTP_DPC_NIKON_A3GroupDynamicAF 0xD04A 1516 #define PTP_DPC_NIKON_A3GroupDynamicAF 0xD04A
1707 #define PTP_DPC_NIKON_A4AFActivation 0xD04B 1517 #define PTP_DPC_NIKON_A4AFActivation 0xD04B
1708 #define PTP_DPC_NIKON_FocusAreaIllumManualFocus 0xD04C 1518 #define PTP_DPC_NIKON_FocusAreaIllumManualFocus 0xD04C
1709 #define PTP_DPC_NIKON_FocusAreaIllumContinuous 0xD04D 1519 #define PTP_DPC_NIKON_FocusAreaIllumContinuous 0xD04D
1710 #define PTP_DPC_NIKON_FocusAreaIllumWhenSelected 0xD04E 1520 #define PTP_DPC_NIKON_FocusAreaIllumWhenSelected 0xD04E
1711 #define PTP_DPC_NIKON_FocusAreaWrap 0xD04F /* area sel */ 1521 #define PTP_DPC_NIKON_FocusAreaWrap 0xD04F /* area sel */
1712 #define PTP_DPC_NIKON_VerticalAFON 0xD050 1522 #define PTP_DPC_NIKON_VerticalAFON 0xD050
1713 #define PTP_DPC_NIKON_AFLockOn 0xD051 1523 #define PTP_DPC_NIKON_AFLockOn 0xD051
1714 #define PTP_DPC_NIKON_FocusAreaZone 0xD052 1524 #define PTP_DPC_NIKON_FocusAreaZone 0xD052
1715 #define PTP_DPC_NIKON_EnableCopyright 0xD053 1525 #define PTP_DPC_NIKON_EnableCopyright 0xD053
1716 #define PTP_DPC_NIKON_ISOAuto 0xD054 1526 #define PTP_DPC_NIKON_ISOAuto 0xD054
1717 #define PTP_DPC_NIKON_EVISOStep 0xD055 1527 #define PTP_DPC_NIKON_EVISOStep 0xD055
1718 #define PTP_DPC_NIKON_EVStep 0xD056 /* EV Step SS FN */ 1528 #define PTP_DPC_NIKON_EVStep 0xD056 /* EV Step SS FN */
1719 #define PTP_DPC_NIKON_EVStepExposureComp 0xD057 1529 #define PTP_DPC_NIKON_EVStepExposureComp 0xD057
1720 #define PTP_DPC_NIKON_ExposureCompensation 0xD058 1530 #define PTP_DPC_NIKON_ExposureCompensation 0xD058
1721 #define PTP_DPC_NIKON_CenterWeightArea 0xD059 1531 #define PTP_DPC_NIKON_CenterWeightArea 0xD059
1722 #define PTP_DPC_NIKON_ExposureBaseMatrix 0xD05A 1532 #define PTP_DPC_NIKON_ExposureBaseMatrix 0xD05A
1723 #define PTP_DPC_NIKON_ExposureBaseCenter 0xD05B 1533 #define PTP_DPC_NIKON_ExposureBaseCenter 0xD05B
1724 #define PTP_DPC_NIKON_ExposureBaseSpot 0xD05C 1534 #define PTP_DPC_NIKON_ExposureBaseSpot 0xD05C
1725 #define PTP_DPC_NIKON_LiveViewAFArea» » » 0xD05D /* FIXME: AfAtLiv eview? */ 1535 #define PTP_DPC_NIKON_LiveViewAFArea» » » 0xD05D
1726 #define PTP_DPC_NIKON_AELockMode 0xD05E 1536 #define PTP_DPC_NIKON_AELockMode 0xD05E
1727 #define PTP_DPC_NIKON_AELAFLMode 0xD05F 1537 #define PTP_DPC_NIKON_AELAFLMode 0xD05F
1728 #define PTP_DPC_NIKON_LiveViewAFFocus 0xD061 1538 #define PTP_DPC_NIKON_LiveViewAFFocus 0xD061
1729 #define PTP_DPC_NIKON_MeterOff 0xD062 1539 #define PTP_DPC_NIKON_MeterOff 0xD062
1730 #define PTP_DPC_NIKON_SelfTimer 0xD063 1540 #define PTP_DPC_NIKON_SelfTimer 0xD063
1731 #define PTP_DPC_NIKON_MonitorOff 0xD064 1541 #define PTP_DPC_NIKON_MonitorOff 0xD064
1732 #define PTP_DPC_NIKON_ImgConfTime 0xD065 1542 #define PTP_DPC_NIKON_ImgConfTime 0xD065
1733 #define PTP_DPC_NIKON_AutoOffTimers 0xD066 1543 #define PTP_DPC_NIKON_AutoOffTimers 0xD066
1734 #define PTP_DPC_NIKON_AngleLevel 0xD067 1544 #define PTP_DPC_NIKON_AngleLevel 0xD067
1735 #define PTP_DPC_NIKON_D1ShootingSpeed 0xD068 /* continous spee d low */ 1545 #define PTP_DPC_NIKON_D1ShootingSpeed 0xD068 /* continous spee d low */
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
1769 #define PTP_DPC_NIKON_AFAreaPoint 0xD08D 1579 #define PTP_DPC_NIKON_AFAreaPoint 0xD08D
1770 #define PTP_DPC_NIKON_NormalAFOn 0xD08E 1580 #define PTP_DPC_NIKON_NormalAFOn 0xD08E
1771 #define PTP_DPC_NIKON_CleanImageSensor 0xD08F 1581 #define PTP_DPC_NIKON_CleanImageSensor 0xD08F
1772 #define PTP_DPC_NIKON_ImageCommentString 0xD090 1582 #define PTP_DPC_NIKON_ImageCommentString 0xD090
1773 #define PTP_DPC_NIKON_ImageCommentEnable 0xD091 1583 #define PTP_DPC_NIKON_ImageCommentEnable 0xD091
1774 #define PTP_DPC_NIKON_ImageRotation 0xD092 1584 #define PTP_DPC_NIKON_ImageRotation 0xD092
1775 #define PTP_DPC_NIKON_ManualSetLensNo 0xD093 1585 #define PTP_DPC_NIKON_ManualSetLensNo 0xD093
1776 #define PTP_DPC_NIKON_MovScreenSize 0xD0A0 1586 #define PTP_DPC_NIKON_MovScreenSize 0xD0A0
1777 #define PTP_DPC_NIKON_MovVoice 0xD0A1 1587 #define PTP_DPC_NIKON_MovVoice 0xD0A1
1778 #define PTP_DPC_NIKON_MovMicrophone 0xD0A2 1588 #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
1785 #define PTP_DPC_NIKON_Bracketing 0xD0C0 1589 #define PTP_DPC_NIKON_Bracketing 0xD0C0
1786 #define PTP_DPC_NIKON_AutoExposureBracketStep 0xD0C1 1590 #define PTP_DPC_NIKON_AutoExposureBracketStep 0xD0C1
1787 #define PTP_DPC_NIKON_AutoExposureBracketProgram 0xD0C2 1591 #define PTP_DPC_NIKON_AutoExposureBracketProgram 0xD0C2
1788 #define PTP_DPC_NIKON_AutoExposureBracketCount 0xD0C3 1592 #define PTP_DPC_NIKON_AutoExposureBracketCount 0xD0C3
1789 #define PTP_DPC_NIKON_WhiteBalanceBracketStep 0xD0C4 1593 #define PTP_DPC_NIKON_WhiteBalanceBracketStep 0xD0C4
1790 #define PTP_DPC_NIKON_WhiteBalanceBracketProgram 0xD0C5 1594 #define PTP_DPC_NIKON_WhiteBalanceBracketProgram 0xD0C5
1791 #define PTP_DPC_NIKON_LensID 0xD0E0 1595 #define PTP_DPC_NIKON_LensID 0xD0E0
1792 #define PTP_DPC_NIKON_LensSort 0xD0E1 1596 #define PTP_DPC_NIKON_LensSort 0xD0E1
1793 #define PTP_DPC_NIKON_LensType 0xD0E2 1597 #define PTP_DPC_NIKON_LensType 0xD0E2
1794 #define PTP_DPC_NIKON_FocalLengthMin 0xD0E3 1598 #define PTP_DPC_NIKON_FocalLengthMin 0xD0E3
1795 #define PTP_DPC_NIKON_FocalLengthMax 0xD0E4 1599 #define PTP_DPC_NIKON_FocalLengthMax 0xD0E4
1796 #define PTP_DPC_NIKON_MaxApAtMinFocalLength 0xD0E5 1600 #define PTP_DPC_NIKON_MaxApAtMinFocalLength 0xD0E5
1797 #define PTP_DPC_NIKON_MaxApAtMaxFocalLength 0xD0E6 1601 #define PTP_DPC_NIKON_MaxApAtMaxFocalLength 0xD0E6
1798 #define PTP_DPC_NIKON_FinderISODisp 0xD0F0 1602 #define PTP_DPC_NIKON_FinderISODisp 0xD0F0
1799 #define PTP_DPC_NIKON_AutoOffPhoto 0xD0F2 1603 #define PTP_DPC_NIKON_AutoOffPhoto 0xD0F2
1800 #define PTP_DPC_NIKON_AutoOffMenu 0xD0F3 1604 #define PTP_DPC_NIKON_AutoOffMenu 0xD0F3
1801 #define PTP_DPC_NIKON_AutoOffInfo 0xD0F4 1605 #define PTP_DPC_NIKON_AutoOffInfo 0xD0F4
1802 #define PTP_DPC_NIKON_SelfTimerShootNum 0xD0F5 1606 #define PTP_DPC_NIKON_SelfTimerShootNum 0xD0F5
1803 #define PTP_DPC_NIKON_VignetteCtrl 0xD0F7 1607 #define PTP_DPC_NIKON_VignetteCtrl 0xD0F7
1804 #define PTP_DPC_NIKON_AutoDistortionControl 0xD0F8 1608 #define PTP_DPC_NIKON_AutoDistortionControl 0xD0F8
1805 #define PTP_DPC_NIKON_SceneMode 0xD0F9 1609 #define PTP_DPC_NIKON_SceneMode 0xD0F9
1806 #define PTP_DPC_NIKON_SceneMode2 0xD0FD
1807 #define PTP_DPC_NIKON_SelfTimerInterval 0xD0FE
1808 #define PTP_DPC_NIKON_ExposureTime 0xD100 /* Shutter Speed */ 1610 #define PTP_DPC_NIKON_ExposureTime 0xD100 /* Shutter Speed */
1809 #define PTP_DPC_NIKON_ACPower 0xD101 1611 #define PTP_DPC_NIKON_ACPower 0xD101
1810 #define PTP_DPC_NIKON_WarningStatus 0xD102 1612 #define PTP_DPC_NIKON_WarningStatus 0xD102
1811 #define PTP_DPC_NIKON_MaximumShots 0xD103 /* remain shots ( in RAM buffer?) */ 1613 #define PTP_DPC_NIKON_MaximumShots 0xD103 /* remain shots ( in RAM buffer?) */
1812 #define PTP_DPC_NIKON_AFLockStatus 0xD104 1614 #define PTP_DPC_NIKON_AFLockStatus 0xD104
1813 #define PTP_DPC_NIKON_AELockStatus 0xD105 1615 #define PTP_DPC_NIKON_AELockStatus 0xD105
1814 #define PTP_DPC_NIKON_FVLockStatus 0xD106 1616 #define PTP_DPC_NIKON_FVLockStatus 0xD106
1815 #define PTP_DPC_NIKON_AutofocusLCDTopMode2 0xD107 1617 #define PTP_DPC_NIKON_AutofocusLCDTopMode2 0xD107
1816 #define PTP_DPC_NIKON_AutofocusArea 0xD108 1618 #define PTP_DPC_NIKON_AutofocusArea 0xD108
1817 #define PTP_DPC_NIKON_FlexibleProgram 0xD109 1619 #define PTP_DPC_NIKON_FlexibleProgram 0xD109
(...skipping 20 matching lines...) Expand all
1838 #define PTP_DPC_NIKON_HDRHighDynamic 0xD131 1640 #define PTP_DPC_NIKON_HDRHighDynamic 0xD131
1839 #define PTP_DPC_NIKON_HDRSmoothing 0xD132 1641 #define PTP_DPC_NIKON_HDRSmoothing 0xD132
1840 #define PTP_DPC_NIKON_OptimizeImage 0xD140 1642 #define PTP_DPC_NIKON_OptimizeImage 0xD140
1841 #define PTP_DPC_NIKON_Saturation 0xD142 1643 #define PTP_DPC_NIKON_Saturation 0xD142
1842 #define PTP_DPC_NIKON_BW_FillerEffect 0xD143 1644 #define PTP_DPC_NIKON_BW_FillerEffect 0xD143
1843 #define PTP_DPC_NIKON_BW_Sharpness 0xD144 1645 #define PTP_DPC_NIKON_BW_Sharpness 0xD144
1844 #define PTP_DPC_NIKON_BW_Contrast 0xD145 1646 #define PTP_DPC_NIKON_BW_Contrast 0xD145
1845 #define PTP_DPC_NIKON_BW_Setting_Type 0xD146 1647 #define PTP_DPC_NIKON_BW_Setting_Type 0xD146
1846 #define PTP_DPC_NIKON_Slot2SaveMode 0xD148 1648 #define PTP_DPC_NIKON_Slot2SaveMode 0xD148
1847 #define PTP_DPC_NIKON_RawBitMode 0xD149 1649 #define PTP_DPC_NIKON_RawBitMode 0xD149
1848 #define PTP_DPC_NIKON_ActiveDLighting» » » 0xD14E /* was PTP_DPC_NI KON_ISOAutoTime */ 1650 #define PTP_DPC_NIKON_ISOAutoTime» » » 0xD14E
1849 #define PTP_DPC_NIKON_FlourescentType 0xD14F 1651 #define PTP_DPC_NIKON_FlourescentType 0xD14F
1850 #define PTP_DPC_NIKON_TuneColourTemperature 0xD150 1652 #define PTP_DPC_NIKON_TuneColourTemperature 0xD150
1851 #define PTP_DPC_NIKON_TunePreset0 0xD151 1653 #define PTP_DPC_NIKON_TunePreset0 0xD151
1852 #define PTP_DPC_NIKON_TunePreset1 0xD152 1654 #define PTP_DPC_NIKON_TunePreset1 0xD152
1853 #define PTP_DPC_NIKON_TunePreset2 0xD153 1655 #define PTP_DPC_NIKON_TunePreset2 0xD153
1854 #define PTP_DPC_NIKON_TunePreset3 0xD154 1656 #define PTP_DPC_NIKON_TunePreset3 0xD154
1855 #define PTP_DPC_NIKON_TunePreset4 0xD155 1657 #define PTP_DPC_NIKON_TunePreset4 0xD155
1856 #define PTP_DPC_NIKON_BeepOff 0xD160 1658 #define PTP_DPC_NIKON_BeepOff 0xD160
1857 #define PTP_DPC_NIKON_AutofocusMode 0xD161 1659 #define PTP_DPC_NIKON_AutofocusMode 0xD161
1858 #define PTP_DPC_NIKON_AFAssist 0xD163 1660 #define PTP_DPC_NIKON_AFAssist 0xD163
1859 #define PTP_DPC_NIKON_PADVPMode 0xD164 /* iso auto time */ 1661 #define PTP_DPC_NIKON_PADVPMode 0xD164 /* iso auto time */
1860 #define PTP_DPC_NIKON_ImageReview 0xD165 1662 #define PTP_DPC_NIKON_ImageReview 0xD165
1861 #define PTP_DPC_NIKON_AFAreaIllumination 0xD166 1663 #define PTP_DPC_NIKON_AFAreaIllumination 0xD166
1862 #define PTP_DPC_NIKON_FlashMode 0xD167 1664 #define PTP_DPC_NIKON_FlashMode 0xD167
1863 #define PTP_DPC_NIKON_FlashCommanderMode 0xD168 1665 #define PTP_DPC_NIKON_FlashCommanderMode 0xD168
1864 #define PTP_DPC_NIKON_FlashSign 0xD169 1666 #define PTP_DPC_NIKON_FlashSign 0xD169
1865 #define PTP_DPC_NIKON_ISO_Auto 0xD16A 1667 #define PTP_DPC_NIKON_ISO_Auto 0xD16A
1866 #define PTP_DPC_NIKON_RemoteTimeout 0xD16B 1668 #define PTP_DPC_NIKON_RemoteTimeout 0xD16B
1867 #define PTP_DPC_NIKON_GridDisplay 0xD16C 1669 #define PTP_DPC_NIKON_GridDisplay 0xD16C
1868 #define PTP_DPC_NIKON_FlashModeManualPower 0xD16D 1670 #define PTP_DPC_NIKON_FlashModeManualPower 0xD16D
1869 #define PTP_DPC_NIKON_FlashModeCommanderPower 0xD16E 1671 #define PTP_DPC_NIKON_FlashModeCommanderPower 0xD16E
1870 #define PTP_DPC_NIKON_AutoFP 0xD16F 1672 #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
1876 #define PTP_DPC_NIKON_CSMMenu 0xD180 1673 #define PTP_DPC_NIKON_CSMMenu 0xD180
1877 #define PTP_DPC_NIKON_WarningDisplay 0xD181 1674 #define PTP_DPC_NIKON_WarningDisplay 0xD181
1878 #define PTP_DPC_NIKON_BatteryCellKind 0xD182 1675 #define PTP_DPC_NIKON_BatteryCellKind 0xD182
1879 #define PTP_DPC_NIKON_ISOAutoHiLimit 0xD183 1676 #define PTP_DPC_NIKON_ISOAutoHiLimit 0xD183
1880 #define PTP_DPC_NIKON_DynamicAFArea 0xD184 1677 #define PTP_DPC_NIKON_DynamicAFArea 0xD184
1881 #define PTP_DPC_NIKON_ContinuousSpeedHigh 0xD186 1678 #define PTP_DPC_NIKON_ContinuousSpeedHigh 0xD186
1882 #define PTP_DPC_NIKON_InfoDispSetting 0xD187 1679 #define PTP_DPC_NIKON_InfoDispSetting 0xD187
1883 #define PTP_DPC_NIKON_PreviewButton 0xD189 1680 #define PTP_DPC_NIKON_PreviewButton 0xD189
1884 #define PTP_DPC_NIKON_PreviewButton2 0xD18A 1681 #define PTP_DPC_NIKON_PreviewButton2 0xD18A
1885 #define PTP_DPC_NIKON_AEAFLockButton2 0xD18B 1682 #define PTP_DPC_NIKON_AEAFLockButton2 0xD18B
1886 #define PTP_DPC_NIKON_IndicatorDisp 0xD18D 1683 #define PTP_DPC_NIKON_IndicatorDisp 0xD18D
1887 #define PTP_DPC_NIKON_CellKindPriority 0xD18E 1684 #define PTP_DPC_NIKON_CellKindPriority 0xD18E
1888 #define PTP_DPC_NIKON_BracketingFramesAndSteps 0xD190 1685 #define PTP_DPC_NIKON_BracketingFramesAndSteps 0xD190
1889 #define PTP_DPC_NIKON_LiveViewMode 0xD1A0 1686 #define PTP_DPC_NIKON_LiveViewMode 0xD1A0
1890 #define PTP_DPC_NIKON_LiveViewDriveMode 0xD1A1 1687 #define PTP_DPC_NIKON_LiveViewDriveMode 0xD1A1
1891 #define PTP_DPC_NIKON_LiveViewStatus 0xD1A2 1688 #define PTP_DPC_NIKON_LiveViewStatus 0xD1A2
1892 #define PTP_DPC_NIKON_LiveViewImageZoomRatio 0xD1A3 1689 #define PTP_DPC_NIKON_LiveViewImageZoomRatio 0xD1A3
1893 #define PTP_DPC_NIKON_LiveViewProhibitCondition 0xD1A4 1690 #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 /* ? */
1898 #define PTP_DPC_NIKON_ExposureDisplayStatus 0xD1B0 1691 #define PTP_DPC_NIKON_ExposureDisplayStatus 0xD1B0
1899 #define PTP_DPC_NIKON_ExposureIndicateStatus 0xD1B1 1692 #define PTP_DPC_NIKON_ExposureIndicateStatus 0xD1B1
1900 #define PTP_DPC_NIKON_InfoDispErrStatus 0xD1B2 1693 #define PTP_DPC_NIKON_InfoDispErrStatus 0xD1B2
1901 #define PTP_DPC_NIKON_ExposureIndicateLightup 0xD1B3 1694 #define PTP_DPC_NIKON_ExposureIndicateLightup 0xD1B3
1902 #define PTP_DPC_NIKON_FlashOpen 0xD1C0 1695 #define PTP_DPC_NIKON_FlashOpen 0xD1C0
1903 #define PTP_DPC_NIKON_FlashCharged 0xD1C1 1696 #define PTP_DPC_NIKON_FlashCharged 0xD1C1
1904 #define PTP_DPC_NIKON_FlashMRepeatValue 0xD1D0 1697 #define PTP_DPC_NIKON_FlashMRepeatValue 0xD1D0
1905 #define PTP_DPC_NIKON_FlashMRepeatCount 0xD1D1 1698 #define PTP_DPC_NIKON_FlashMRepeatCount 0xD1D1
1906 #define PTP_DPC_NIKON_FlashMRepeatInterval 0xD1D2 1699 #define PTP_DPC_NIKON_FlashMRepeatInterval 0xD1D2
1907 #define PTP_DPC_NIKON_FlashCommandChannel 0xD1D3 1700 #define PTP_DPC_NIKON_FlashCommandChannel 0xD1D3
1908 #define PTP_DPC_NIKON_FlashCommandSelfMode 0xD1D4 1701 #define PTP_DPC_NIKON_FlashCommandSelfMode 0xD1D4
1909 #define PTP_DPC_NIKON_FlashCommandSelfCompensation 0xD1D5 1702 #define PTP_DPC_NIKON_FlashCommandSelfCompensation 0xD1D5
1910 #define PTP_DPC_NIKON_FlashCommandSelfValue 0xD1D6 1703 #define PTP_DPC_NIKON_FlashCommandSelfValue 0xD1D6
1911 #define PTP_DPC_NIKON_FlashCommandAMode 0xD1D7 1704 #define PTP_DPC_NIKON_FlashCommandAMode 0xD1D7
1912 #define PTP_DPC_NIKON_FlashCommandACompensation 0xD1D8 1705 #define PTP_DPC_NIKON_FlashCommandACompensation 0xD1D8
1913 #define PTP_DPC_NIKON_FlashCommandAValue 0xD1D9 1706 #define PTP_DPC_NIKON_FlashCommandAValue 0xD1D9
1914 #define PTP_DPC_NIKON_FlashCommandBMode 0xD1DA 1707 #define PTP_DPC_NIKON_FlashCommandBMode 0xD1DA
1915 #define PTP_DPC_NIKON_FlashCommandBCompensation 0xD1DB 1708 #define PTP_DPC_NIKON_FlashCommandBCompensation 0xD1DB
1916 #define PTP_DPC_NIKON_FlashCommandBValue 0xD1DC 1709 #define PTP_DPC_NIKON_FlashCommandBValue 0xD1DC
1917 #define PTP_DPC_NIKON_ApplicationMode 0xD1F0
1918 #define PTP_DPC_NIKON_ActiveSlot 0xD1F2
1919 #define PTP_DPC_NIKON_ActivePicCtrlItem 0xD200 1710 #define PTP_DPC_NIKON_ActivePicCtrlItem 0xD200
1920 #define PTP_DPC_NIKON_ChangePicCtrlItem 0xD201 1711 #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
1947 1712
1948 /* Fuji specific */ 1713 /* Fuji specific */
1949 #define PTP_DPC_FUJI_ColorTemperature 0xD017 1714 #define PTP_DPC_FUJI_ColorTemperature 0xD017
1950 #define PTP_DPC_FUJI_Quality 0xD018 1715 #define PTP_DPC_FUJI_Quality 0xD018
1951 #define PTP_DPC_FUJI_ReleaseMode 0xD201 1716 #define PTP_DPC_FUJI_ReleaseMode 0xD201
1952 #define PTP_DPC_FUJI_FocusAreas 0xD206 1717 #define PTP_DPC_FUJI_FocusAreas 0xD206
1953 #define PTP_DPC_FUJI_AELock 0xD213 1718 #define PTP_DPC_FUJI_AELock 0xD213
1954 #define PTP_DPC_FUJI_Aperture 0xD218 1719 #define PTP_DPC_FUJI_Aperture 0xD218
1955 #define PTP_DPC_FUJI_ShutterSpeed 0xD219 1720 #define PTP_DPC_FUJI_ShutterSpeed 0xD219
1956 1721
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
2051 #define PTP_DPC_OLYMPUS_ResolutionValueSetting 0xD155 1816 #define PTP_DPC_OLYMPUS_ResolutionValueSetting 0xD155
2052 #define PTP_DPC_OLYMPUS_AFTargetSize 0xD157 1817 #define PTP_DPC_OLYMPUS_AFTargetSize 0xD157
2053 #define PTP_DPC_OLYMPUS_LightSensorMode 0xD158 1818 #define PTP_DPC_OLYMPUS_LightSensorMode 0xD158
2054 #define PTP_DPC_OLYMPUS_AEBracket 0xD159 1819 #define PTP_DPC_OLYMPUS_AEBracket 0xD159
2055 #define PTP_DPC_OLYMPUS_WBRBBracket 0xD15A 1820 #define PTP_DPC_OLYMPUS_WBRBBracket 0xD15A
2056 #define PTP_DPC_OLYMPUS_WBGMBracket 0xD15B 1821 #define PTP_DPC_OLYMPUS_WBGMBracket 0xD15B
2057 #define PTP_DPC_OLYMPUS_FlashBracket 0xD15C 1822 #define PTP_DPC_OLYMPUS_FlashBracket 0xD15C
2058 #define PTP_DPC_OLYMPUS_ISOBracket 0xD15D 1823 #define PTP_DPC_OLYMPUS_ISOBracket 0xD15D
2059 #define PTP_DPC_OLYMPUS_MyModeStatus 0xD15E 1824 #define PTP_DPC_OLYMPUS_MyModeStatus 0xD15E
2060 1825
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
2080 /* Casio EX-F1 */ 1826 /* Casio EX-F1 */
2081 #define PTP_DPC_CASIO_MONITOR 0xD001 1827 #define PTP_DPC_CASIO_MONITOR 0xD001
2082 #define PTP_DPC_CASIO_STORAGE 0xD002 //Not reported by DeviceInfo? 1828 #define PTP_DPC_CASIO_STORAGE 0xD002 //Not reported by DeviceInfo?
2083 #define PTP_DPC_CASIO_UNKNOWN_1 0xD004 1829 #define PTP_DPC_CASIO_UNKNOWN_1 0xD004
2084 #define PTP_DPC_CASIO_UNKNOWN_2 0xD005 1830 #define PTP_DPC_CASIO_UNKNOWN_2 0xD005
2085 #define PTP_DPC_CASIO_UNKNOWN_3 0xD007 1831 #define PTP_DPC_CASIO_UNKNOWN_3 0xD007
2086 #define PTP_DPC_CASIO_RECORD_LIGHT 0xD008 1832 #define PTP_DPC_CASIO_RECORD_LIGHT 0xD008
2087 #define PTP_DPC_CASIO_UNKNOWN_4 0xD009 1833 #define PTP_DPC_CASIO_UNKNOWN_4 0xD009
2088 #define PTP_DPC_CASIO_UNKNOWN_5 0xD00A 1834 #define PTP_DPC_CASIO_UNKNOWN_5 0xD00A
2089 #define PTP_DPC_CASIO_MOVIE_MODE 0xD00B 1835 #define PTP_DPC_CASIO_MOVIE_MODE 0xD00B
2090 #define PTP_DPC_CASIO_HD_SETTING 0xD00C 1836 #define PTP_DPC_CASIO_HD_SETTING 0xD00C
2091 #define PTP_DPC_CASIO_HS_SETTING 0xD00D 1837 #define PTP_DPC_CASIO_HS_SETTING 0xD00D
2092 #define PTP_DPC_CASIO_CS_HIGH_SPEED 0xD00F 1838 #define PTP_DPC_CASIO_CS_HIGH_SPEED 0xD00F
2093 #define PTP_DPC_CASIO_CS_UPPER_LIMIT 0xD010 1839 #define PTP_DPC_CASIO_CS_UPPER_LIMIT 0xD010
2094 #define PTP_DPC_CASIO_CS_SHOT 0xD011 1840 #define PTP_DPC_CASIO_CS_SHOT 0xD011
2095 #define PTP_DPC_CASIO_UNKNOWN_6 0xD012 1841 #define PTP_DPC_CASIO_UNKNOWN_6 0xD012
2096 #define PTP_DPC_CASIO_UNKNOWN_7 0xD013 1842 #define PTP_DPC_CASIO_UNKNOWN_7 0xD013
2097 #define PTP_DPC_CASIO_UNKNOWN_8 0xD015 1843 #define PTP_DPC_CASIO_UNKNOWN_8 0xD015
2098 #define PTP_DPC_CASIO_UNKNOWN_9 0xD017 1844 #define PTP_DPC_CASIO_UNKNOWN_9 0xD017
2099 #define PTP_DPC_CASIO_UNKNOWN_10 0xD018 1845 #define PTP_DPC_CASIO_UNKNOWN_10 0xD018
2100 #define PTP_DPC_CASIO_UNKNOWN_11 0xD019 1846 #define PTP_DPC_CASIO_UNKNOWN_11 0xD019
2101 #define PTP_DPC_CASIO_UNKNOWN_12 0xD01A 1847 #define PTP_DPC_CASIO_UNKNOWN_12 0xD01A
2102 #define PTP_DPC_CASIO_UNKNOWN_13 0xD01B 1848 #define PTP_DPC_CASIO_UNKNOWN_13 0xD01B
2103 #define PTP_DPC_CASIO_UNKNOWN_14 0xD01C 1849 #define PTP_DPC_CASIO_UNKNOWN_14 0xD01C
2104 #define PTP_DPC_CASIO_UNKNOWN_15 0xD01D 1850 #define PTP_DPC_CASIO_UNKNOWN_15 0xD01D
2105 #define PTP_DPC_CASIO_UNKNOWN_16 0xD020 1851 #define PTP_DPC_CASIO_UNKNOWN_16 0xD020
2106 #define PTP_DPC_CASIO_UNKNOWN_17 0xD030 1852 #define PTP_DPC_CASIO_UNKNOWN_17 0xD030
2107 #define PTP_DPC_CASIO_UNKNOWN_18 0xD080 1853 #define PTP_DPC_CASIO_UNKNOWN_18 0xD080
2108 1854
2109 #define PTP_DPC_RICOH_ShutterSpeed 0xD00F
2110
2111 /* MTP specific Object Properties */ 1855 /* MTP specific Object Properties */
2112 #define PTP_OPC_StorageID 0xDC01 1856 #define PTP_OPC_StorageID 0xDC01
2113 #define PTP_OPC_ObjectFormat 0xDC02 1857 #define PTP_OPC_ObjectFormat 0xDC02
2114 #define PTP_OPC_ProtectionStatus 0xDC03 1858 #define PTP_OPC_ProtectionStatus 0xDC03
2115 #define PTP_OPC_ObjectSize 0xDC04 1859 #define PTP_OPC_ObjectSize 0xDC04
2116 #define PTP_OPC_AssociationType 0xDC05 1860 #define PTP_OPC_AssociationType 0xDC05
2117 #define PTP_OPC_AssociationDesc 0xDC06 1861 #define PTP_OPC_AssociationDesc 0xDC06
2118 #define PTP_OPC_ObjectFileName 0xDC07 1862 #define PTP_OPC_ObjectFileName 0xDC07
2119 #define PTP_OPC_DateCreated 0xDC08 1863 #define PTP_OPC_DateCreated 0xDC08
2120 #define PTP_OPC_DateModified 0xDC09 1864 #define PTP_OPC_DateModified 0xDC09
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
2304 2048
2305 typedef struct _PTPParams PTPParams; 2049 typedef struct _PTPParams PTPParams;
2306 2050
2307 2051
2308 typedef uint16_t (* PTPDataGetFunc) (PTPParams* params, void*priv, 2052 typedef uint16_t (* PTPDataGetFunc) (PTPParams* params, void*priv,
2309 unsigned long wantlen, 2053 unsigned long wantlen,
2310 unsigned char *data, unsigned long *gotl en); 2054 unsigned char *data, unsigned long *gotl en);
2311 2055
2312 typedef uint16_t (* PTPDataPutFunc) (PTPParams* params, void*priv, 2056 typedef uint16_t (* PTPDataPutFunc) (PTPParams* params, void*priv,
2313 unsigned long sendlen, 2057 unsigned long sendlen,
2314 » unsigned char *data); 2058 » unsigned char *data, unsigned long *putl en);
2315 typedef struct _PTPDataHandler { 2059 typedef struct _PTPDataHandler {
2316 PTPDataGetFunc getfunc; 2060 PTPDataGetFunc getfunc;
2317 PTPDataPutFunc putfunc; 2061 PTPDataPutFunc putfunc;
2318 void *priv; 2062 void *priv;
2319 } PTPDataHandler; 2063 } PTPDataHandler;
2320 2064
2321 /* 2065 /*
2322 * This functions take PTP oriented arguments and send them over an 2066 * This functions take PTP oriented arguments and send them over an
2323 * appropriate data layer doing byteorder conversion accordingly. 2067 * appropriate data layer doing byteorder conversion accordingly.
2324 */ 2068 */
2325 typedef uint16_t (* PTPIOSendReq)» (PTPParams* params, PTPContainer* req, i nt dataphase); 2069 typedef uint16_t (* PTPIOSendReq)» (PTPParams* params, PTPContainer* req);
2326 typedef uint16_t (* PTPIOSendData) (PTPParams* params, PTPContainer* ptp, 2070 typedef uint16_t (* PTPIOSendData) (PTPParams* params, PTPContainer* ptp,
2327 » » » » » uint64_t size, PTPDataHandler*getter); 2071 » » » » » unsigned long size, PTPDataHandler*gett er);
2328 2072
2329 typedef uint16_t (* PTPIOGetResp) (PTPParams* params, PTPContainer* resp); 2073 typedef uint16_t (* PTPIOGetResp) (PTPParams* params, PTPContainer* resp);
2330 typedef uint16_t (* PTPIOGetData) (PTPParams* params, PTPContainer* ptp, 2074 typedef uint16_t (* PTPIOGetData) (PTPParams* params, PTPContainer* ptp,
2331 PTPDataHandler *putter); 2075 PTPDataHandler *putter);
2332 typedef uint16_t (* PTPIOCancelReq) (PTPParams* params, uint32_t transaction _id); 2076 typedef uint16_t (* PTPIOCancelReq) (PTPParams* params, uint32_t transaction _id);
2333 2077
2334 /* debug functions */ 2078 /* debug functions */
2335 typedef void (* PTPErrorFunc) (void *data, const char *format, va_list args) 2079 typedef void (* PTPErrorFunc) (void *data, const char *format, va_list args)
2336 #if (__GNUC__ >= 3) 2080 #if (__GNUC__ >= 3)
2337 __attribute__((__format__(printf,2,0))) 2081 __attribute__((__format__(printf,2,0)))
(...skipping 11 matching lines...) Expand all
2349 #define PTPOBJECT_OBJECTINFO_LOADED (1<<0) 2093 #define PTPOBJECT_OBJECTINFO_LOADED (1<<0)
2350 #define PTPOBJECT_CANONFLAGS_LOADED (1<<1) 2094 #define PTPOBJECT_CANONFLAGS_LOADED (1<<1)
2351 #define PTPOBJECT_MTPPROPLIST_LOADED (1<<2) 2095 #define PTPOBJECT_MTPPROPLIST_LOADED (1<<2)
2352 #define PTPOBJECT_DIRECTORY_LOADED (1<<3) 2096 #define PTPOBJECT_DIRECTORY_LOADED (1<<3)
2353 #define PTPOBJECT_PARENTOBJECT_LOADED (1<<4) 2097 #define PTPOBJECT_PARENTOBJECT_LOADED (1<<4)
2354 #define PTPOBJECT_STORAGEID_LOADED (1<<5) 2098 #define PTPOBJECT_STORAGEID_LOADED (1<<5)
2355 2099
2356 PTPObjectInfo oi; 2100 PTPObjectInfo oi;
2357 uint32_t canon_flags; 2101 uint32_t canon_flags;
2358 MTPProperties *mtpprops; 2102 MTPProperties *mtpprops;
2359 » unsigned int» nrofmtpprops; 2103 » int» » nrofmtpprops;
2360 }; 2104 };
2361 typedef struct _PTPObject PTPObject; 2105 typedef struct _PTPObject PTPObject;
2362 2106
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
2377 struct _PTPParams { 2107 struct _PTPParams {
2378 /* device flags */ 2108 /* device flags */
2379 uint32_t device_flags; 2109 uint32_t device_flags;
2380 2110
2381 /* data layer byteorder */ 2111 /* data layer byteorder */
2382 uint8_t byteorder; 2112 uint8_t byteorder;
2383 uint16_t maxpacketsize; 2113 uint16_t maxpacketsize;
2384 2114
2385 /* PTP IO: Custom IO functions */ 2115 /* PTP IO: Custom IO functions */
2386 PTPIOSendReq sendreq_func; 2116 PTPIOSendReq sendreq_func;
2387 PTPIOSendData senddata_func; 2117 PTPIOSendData senddata_func;
2388 PTPIOGetResp getresp_func; 2118 PTPIOGetResp getresp_func;
2389 PTPIOGetData getdata_func; 2119 PTPIOGetData getdata_func;
2390 PTPIOGetResp event_check; 2120 PTPIOGetResp event_check;
2391 PTPIOGetResp event_wait; 2121 PTPIOGetResp event_wait;
2392 PTPIOCancelReq cancelreq_func; 2122 PTPIOCancelReq cancelreq_func;
2393 2123
2394 /* Custom error and debug function */ 2124 /* Custom error and debug function */
2395 PTPErrorFunc error_func; 2125 PTPErrorFunc error_func;
2396 PTPDebugFunc debug_func; 2126 PTPDebugFunc debug_func;
2397 2127
2398 /* Data passed to above functions */ 2128 /* Data passed to above functions */
2399 void *data; 2129 void *data;
2400 2130
2401 /* ptp transaction ID */ 2131 /* ptp transaction ID */
2402 uint32_t transaction_id; 2132 uint32_t transaction_id;
2403 /* ptp session ID */ 2133 /* ptp session ID */
2404 uint32_t session_id; 2134 uint32_t session_id;
2405 2135
2406 /* used for open capture */
2407 uint32_t opencapture_transid;
2408
2409 /* PTP IO: if we have MTP style split header/data transfers */ 2136 /* PTP IO: if we have MTP style split header/data transfers */
2410 int split_header_data; 2137 int split_header_data;
2411 int ocs64; /* 64bit objectsize */ 2138 int ocs64; /* 64bit objectsize */
2412 2139
2413 /* PTP: internal structures used by ptp driver */ 2140 /* PTP: internal structures used by ptp driver */
2414 PTPObject *objects; 2141 PTPObject *objects;
2415 » unsigned int» nrofobjects; 2142 » int» » nrofobjects;
2416 2143
2417 PTPDeviceInfo deviceinfo; 2144 PTPDeviceInfo deviceinfo;
2418 2145
2419 /* PTP: the current event queue */ 2146 /* PTP: the current event queue */
2420 PTPContainer *events; 2147 PTPContainer *events;
2421 int nrofevents; 2148 int nrofevents;
2422 2149
2423 /* live view enabled */
2424 int inliveview;
2425
2426 /* PTP: Device Property Caching */
2427 PTPDeviceProperty *deviceproperties;
2428 unsigned int nrofdeviceproperties;
2429
2430 /* PTP: Canon specific flags list */ 2150 /* PTP: Canon specific flags list */
2431 PTPCanon_Property *canon_props; 2151 PTPCanon_Property *canon_props;
2432 » unsigned int» » nrofcanon_props; 2152 » int» » » nrofcanon_props;
2433 int canon_viewfinder_on; 2153 int canon_viewfinder_on;
2434 int canon_event_mode; 2154 int canon_event_mode;
2435 2155
2436 /* PTP: Canon EOS event queue */ 2156 /* PTP: Canon EOS event queue */
2437 PTPCanon_changes_entry *backlogentries; 2157 PTPCanon_changes_entry *backlogentries;
2438 » unsigned int» » nrofbacklogentries; 2158 » int» » » nrofbacklogentries;
2439 int eos_captureenabled; 2159 int eos_captureenabled;
2160 int eos_viewfinderenabled;
2440 int eos_camerastatus; 2161 int eos_camerastatus;
2441 2162
2442 /* PTP: Nikon specifics */
2443 int controlmode;
2444 int event90c7works;
2445 int deletesdramfails;
2446
2447 /* PTP: Wifi profiles */ 2163 /* PTP: Wifi profiles */
2448 uint8_t wifi_profiles_version; 2164 uint8_t wifi_profiles_version;
2449 uint8_t wifi_profiles_number; 2165 uint8_t wifi_profiles_number;
2450 PTPNIKONWifiProfile *wifi_profiles; 2166 PTPNIKONWifiProfile *wifi_profiles;
2451 2167
2452 /* IO: PTP/IP related data */ 2168 /* IO: PTP/IP related data */
2453 int cmdfd, evtfd; 2169 int cmdfd, evtfd;
2454 uint8_t cameraguid[16]; 2170 uint8_t cameraguid[16];
2455 uint32_t eventpipeid; 2171 uint32_t eventpipeid;
2456 char *cameraname; 2172 char *cameraname;
2457 2173
2458 /* Olympus UMS wrapping related data */ 2174 /* Olympus UMS wrapping related data */
2459 PTPDeviceInfo outer_deviceinfo; 2175 PTPDeviceInfo outer_deviceinfo;
2460 char *olympus_cmd; 2176 char *olympus_cmd;
2461 char *olympus_reply; 2177 char *olympus_reply;
2462 struct _PTPParams *outer_params;
2463 2178
2464 #if defined(HAVE_ICONV) && defined(HAVE_LANGINFO_H) 2179 #ifdef HAVE_ICONV
2465 /* PTP: iconv converters */ 2180 /* PTP: iconv converters */
2466 iconv_t cd_locale_to_ucs2; 2181 iconv_t cd_locale_to_ucs2;
2467 iconv_t cd_ucs2_to_locale; 2182 iconv_t cd_ucs2_to_locale;
2468 #endif 2183 #endif
2469 2184
2470 /* IO: Sometimes the response packet get send in the dataphase 2185 /* IO: Sometimes the response packet get send in the dataphase
2471 * too. This only happens for a Samsung player now. 2186 * too. This only happens for a Samsung player now.
2472 */ 2187 */
2473 uint8_t *response_packet; 2188 uint8_t *response_packet;
2474 uint16_t response_packet_size; 2189 uint16_t response_packet_size;
2475 }; 2190 };
2476 2191
2477 /* Asynchronous event callback */
2478 typedef void(* PTPEventCbFn) (PTPParams *params, uint16_t code, PTPContainer *ev ent, void *user_data);
2479
2480 /* last, but not least - ptp functions */ 2192 /* last, but not least - ptp functions */
2481 uint16_t ptp_usb_sendreq» (PTPParams* params, PTPContainer* req, int datap hase); 2193 uint16_t ptp_usb_sendreq» (PTPParams* params, PTPContainer* req);
2482 uint16_t ptp_usb_senddata (PTPParams* params, PTPContainer* ptp, 2194 uint16_t ptp_usb_senddata (PTPParams* params, PTPContainer* ptp,
2483 » » » » uint64_t size, PTPDataHandler *handler); 2195 » » » » unsigned long size, PTPDataHandler *handler);
2484 uint16_t ptp_usb_getresp (PTPParams* params, PTPContainer* resp); 2196 uint16_t ptp_usb_getresp (PTPParams* params, PTPContainer* resp);
2485 uint16_t ptp_usb_getdata (PTPParams* params, PTPContainer* ptp, 2197 uint16_t ptp_usb_getdata (PTPParams* params, PTPContainer* ptp,
2486 PTPDataHandler *handler); 2198 PTPDataHandler *handler);
2487 uint16_t ptp_usb_event_check (PTPParams* params, PTPContainer* event); 2199 uint16_t ptp_usb_event_check (PTPParams* params, PTPContainer* event);
2488 uint16_t ptp_usb_event_wait (PTPParams* params, PTPContainer* event); 2200 uint16_t ptp_usb_event_wait (PTPParams* params, PTPContainer* event);
2489 uint16_t ptp_usb_event_async (PTPParams *params, PTPEventCbFn cb, void *user_ data);
2490 2201
2491 uint16_t ptp_usb_control_get_extended_event_data (PTPParams *params, char *buffe r, int *size); 2202 uint16_t ptp_usb_control_get_extended_event_data (PTPParams *params, char *buffe r, int *size);
2492 uint16_t ptp_usb_control_device_reset_request (PTPParams *params); 2203 uint16_t ptp_usb_control_device_reset_request (PTPParams *params);
2493 uint16_t ptp_usb_control_get_device_status (PTPParams *params, char *buffer, int *size); 2204 uint16_t ptp_usb_control_get_device_status (PTPParams *params, char *buffer, int *size);
2494 uint16_t ptp_usb_control_cancel_request (PTPParams *params, uint32_t transid); 2205 uint16_t ptp_usb_control_cancel_request (PTPParams *params, uint32_t transid);
2495 2206
2496 2207
2497 int ptp_ptpip_connect (PTPParams* params, const char *port); 2208 int ptp_ptpip_connect (PTPParams* params, const char *port);
2498 uint16_t ptp_ptpip_sendreq» (PTPParams* params, PTPContainer* req, int datap hase); 2209 uint16_t ptp_ptpip_sendreq» (PTPParams* params, PTPContainer* req);
2499 uint16_t ptp_ptpip_senddata (PTPParams* params, PTPContainer* ptp, 2210 uint16_t ptp_ptpip_senddata (PTPParams* params, PTPContainer* ptp,
2500 » » » » uint64_t size, PTPDataHandler *handler); 2211 » » » » unsigned long size, PTPDataHandler *handler);
2501 uint16_t ptp_ptpip_getresp (PTPParams* params, PTPContainer* resp); 2212 uint16_t ptp_ptpip_getresp (PTPParams* params, PTPContainer* resp);
2502 uint16_t ptp_ptpip_getdata (PTPParams* params, PTPContainer* ptp, 2213 uint16_t ptp_ptpip_getdata (PTPParams* params, PTPContainer* ptp,
2503 PTPDataHandler *handler); 2214 PTPDataHandler *handler);
2504 uint16_t ptp_ptpip_event_wait (PTPParams* params, PTPContainer* event); 2215 uint16_t ptp_ptpip_event_wait (PTPParams* params, PTPContainer* event);
2505 uint16_t ptp_ptpip_event_check (PTPParams* params, PTPContainer* event); 2216 uint16_t ptp_ptpip_event_check (PTPParams* params, PTPContainer* event);
2506 2217
2507 uint16_t ptp_getdeviceinfo (PTPParams* params, PTPDeviceInfo* deviceinfo); 2218 uint16_t ptp_getdeviceinfo (PTPParams* params, PTPDeviceInfo* deviceinfo);
2508 2219
2509 uint16_t ptp_generic_no_data (PTPParams* params, uint16_t opcode, unsigned in t cnt, ...); 2220 uint16_t ptp_generic_no_data (PTPParams* params, uint16_t opcode, unsigned in t cnt, ...);
2510 2221
2511 uint16_t ptp_opensession (PTPParams *params, uint32_t session); 2222 uint16_t ptp_opensession (PTPParams *params, uint32_t session);
2512 2223
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
2522 /** 2224 /**
2523 * ptp_closesession: 2225 * ptp_closesession:
2524 * params: PTPParams* 2226 * params: PTPParams*
2525 * 2227 *
2526 * Closes session. 2228 * Closes session.
2527 * 2229 *
2528 * Return values: Some PTP_RC_* code. 2230 * Return values: Some PTP_RC_* code.
2529 **/ 2231 **/
2530 #define ptp_closesession(params) ptp_generic_no_data(params,PTP_OC_CloseSession, 0) 2232 #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)
2541 /** 2233 /**
2542 * ptp_resetdevice: 2234 * ptp_resetdevice:
2543 * params: PTPParams* 2235 * params: PTPParams*
2544 * 2236 *
2545 * Uses the built-in function to reset the device 2237 * Uses the built-in function to reset the device
2546 * 2238 *
2547 * Return values: Some PTP_RC_* code. 2239 * Return values: Some PTP_RC_* code.
2548 * 2240 *
2549 */ 2241 */
2550 #define ptp_resetdevice(params) ptp_generic_no_data(params,PTP_OC_ResetDevice,0) 2242 #define ptp_resetdevice(params) ptp_generic_no_data(params,PTP_OC_ResetDevice,0)
(...skipping 26 matching lines...) Expand all
2577 uint16_t ptp_getobjectinfo (PTPParams *params, uint32_t handle, 2269 uint16_t ptp_getobjectinfo (PTPParams *params, uint32_t handle,
2578 PTPObjectInfo* objectinfo); 2270 PTPObjectInfo* objectinfo);
2579 2271
2580 uint16_t ptp_getobject (PTPParams *params, uint32_t handle, 2272 uint16_t ptp_getobject (PTPParams *params, uint32_t handle,
2581 unsigned char** object); 2273 unsigned char** object);
2582 uint16_t ptp_getobject_tofd (PTPParams* params, uint32_t handle, int fd); 2274 uint16_t ptp_getobject_tofd (PTPParams* params, uint32_t handle, int fd);
2583 uint16_t ptp_getobject_to_handler (PTPParams* params, uint32_t handle, PTPDataHa ndler*); 2275 uint16_t ptp_getobject_to_handler (PTPParams* params, uint32_t handle, PTPDataHa ndler*);
2584 uint16_t ptp_getpartialobject (PTPParams* params, uint32_t handle, uint32_t of fset, 2276 uint16_t ptp_getpartialobject (PTPParams* params, uint32_t handle, uint32_t of fset,
2585 uint32_t maxbytes, unsigned char** object, 2277 uint32_t maxbytes, unsigned char** object,
2586 uint32_t *len); 2278 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
2590 uint16_t ptp_getthumb (PTPParams *params, uint32_t handle, 2279 uint16_t ptp_getthumb (PTPParams *params, uint32_t handle,
2591 unsigned char** object, unsigned int *len); 2280 unsigned char** object, unsigned int *len);
2592 2281
2593 uint16_t ptp_deleteobject (PTPParams* params, uint32_t handle, 2282 uint16_t ptp_deleteobject (PTPParams* params, uint32_t handle,
2594 uint32_t ofc); 2283 uint32_t ofc);
2595 2284
2596 uint16_t ptp_sendobjectinfo (PTPParams* params, uint32_t* store, 2285 uint16_t ptp_sendobjectinfo (PTPParams* params, uint32_t* store,
2597 uint32_t* parenthandle, uint32_t* handle, 2286 uint32_t* parenthandle, uint32_t* handle,
2598 PTPObjectInfo* objectinfo); 2287 PTPObjectInfo* objectinfo);
2599 /** 2288 /**
2600 * ptp_setobjectprotection: 2289 * ptp_setobjectprotection:
2601 * params: PTPParams* 2290 * params: PTPParams*
2602 * uint16_t newprot - object protection flag 2291 * uint16_t newprot - object protection flag
2603 * 2292 *
2604 * Set protection of object. 2293 * Set protection of object.
2605 * 2294 *
2606 * Return values: Some PTP_RC_* code. 2295 * Return values: Some PTP_RC_* code.
2607 * 2296 *
2608 */ 2297 */
2609 #define ptp_setobjectprotection(params,oid,newprot) ptp_generic_no_data(params,P TP_OC_SetObjectProtection,2,oid,newprot) 2298 #define ptp_setobjectprotection(params,oid,newprot) ptp_generic_no_data(params,P TP_OC_SetObjectProtection,2,oid,newprot)
2610 uint16_t ptp_sendobject (PTPParams* params, unsigned char* object, 2299 uint16_t ptp_sendobject (PTPParams* params, unsigned char* object,
2611 » » » » uint64_t size); 2300 » » » » uint32_t size);
2612 uint16_t ptp_sendobject_fromfd (PTPParams* params, int fd, uint64_t size); 2301 uint16_t ptp_sendobject_fromfd (PTPParams* params, int fd, uint32_t size);
2613 uint16_t ptp_sendobject_from_handler (PTPParams* params, PTPDataHandler*, uint6 4_t size); 2302 uint16_t ptp_sendobject_from_handler (PTPParams* params, PTPDataHandler*, uint3 2_t size);
2614 /** 2303 /**
2615 * ptp_initiatecapture: 2304 * ptp_initiatecapture:
2616 * params: PTPParams* 2305 * params: PTPParams*
2617 * storageid - destination StorageID on Responder 2306 * storageid - destination StorageID on Responder
2618 * ofc - object format code 2307 * ofc - object format code
2619 * 2308 *
2620 * Causes device to initiate the capture of one or more new data objects 2309 * Causes device to initiate the capture of one or more new data objects
2621 * according to its current device properties, storing the data into store 2310 * according to its current device properties, storing the data into store
2622 * indicated by storageid. If storageid is 0x00000000, the object(s) will 2311 * indicated by storageid. If storageid is 0x00000000, the object(s) will
2623 * be stored in a store that is determined by the capturing device. 2312 * be stored in a store that is determined by the capturing device.
2624 * The capturing of new data objects is an asynchronous operation. 2313 * The capturing of new data objects is an asynchronous operation.
2625 * 2314 *
2626 * Return values: Some PTP_RC_* code. 2315 * Return values: Some PTP_RC_* code.
2627 **/ 2316 **/
2628 #define ptp_initiatecapture(params,storageid,ofc) ptp_generic_no_data(params,PTP _OC_InitiateCapture,2,storageid,ofc) 2317 #define ptp_initiatecapture(params,storageid,ofc) ptp_generic_no_data(params,PTP _OC_InitiateCapture,2,storageid,ofc)
2629 2318
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
2633 uint16_t ptp_getdevicepropdesc (PTPParams* params, uint16_t propcode, 2319 uint16_t ptp_getdevicepropdesc (PTPParams* params, uint16_t propcode,
2634 PTPDevicePropDesc *devicepropertydesc); 2320 PTPDevicePropDesc *devicepropertydesc);
2635 uint16_t ptp_generic_getdevicepropdesc (PTPParams *params, uint16_t propcode,
2636 PTPDevicePropDesc *dpd);
2637 uint16_t ptp_getdevicepropvalue (PTPParams* params, uint16_t propcode, 2321 uint16_t ptp_getdevicepropvalue (PTPParams* params, uint16_t propcode,
2638 PTPPropertyValue* value, uint16_t datatype); 2322 PTPPropertyValue* value, uint16_t datatype);
2639 uint16_t ptp_setdevicepropvalue (PTPParams* params, uint16_t propcode, 2323 uint16_t ptp_setdevicepropvalue (PTPParams* params, uint16_t propcode,
2640 PTPPropertyValue* value, uint16_t datatype); 2324 PTPPropertyValue* value, uint16_t datatype);
2641 uint16_t ptp_generic_setdevicepropvalue (PTPParams* params, uint16_t propcode,
2642 PTPPropertyValue* value, uint16_t datatype);
2643 uint16_t ptp_getfilesystemmanifest (PTPParams* params, uint32_t storage, 2325 uint16_t ptp_getfilesystemmanifest (PTPParams* params, uint32_t storage,
2644 uint32_t objectformatcode, uint32_t associationOH, 2326 uint32_t objectformatcode, uint32_t associationOH,
2645 unsigned char** data); 2327 unsigned char** data);
2646 2328
2647 2329
2648 2330
2649 uint16_t ptp_check_event (PTPParams *params); 2331 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);
2652 int ptp_get_one_event (PTPParams *params, PTPContainer *evt); 2332 int ptp_get_one_event (PTPParams *params, PTPContainer *evt);
2653 uint16_t ptp_check_eos_events (PTPParams *params); 2333 uint16_t ptp_check_eos_events (PTPParams *params);
2654 int ptp_get_one_eos_event (PTPParams *params, PTPCanon_changes_entry *entry); 2334 int ptp_get_one_eos_event (PTPParams *params, PTPCanon_changes_entry *entry);
2655 2335
2656 2336
2657 /* Microsoft MTP extensions */ 2337 /* Microsoft MTP extensions */
2658 uint16_t ptp_mtp_getobjectpropdesc (PTPParams* params, uint16_t opc, uint16_t of c, 2338 uint16_t ptp_mtp_getobjectpropdesc (PTPParams* params, uint16_t opc, uint16_t of c,
2659 PTPObjectPropDesc *objectpropertydesc); 2339 PTPObjectPropDesc *objectpropertydesc);
2660 uint16_t ptp_mtp_getobjectpropvalue (PTPParams* params, uint32_t oid, uint16_t o pc, 2340 uint16_t ptp_mtp_getobjectpropvalue (PTPParams* params, uint32_t oid, uint16_t o pc,
2661 PTPPropertyValue *value, uint16_t datatype); 2341 PTPPropertyValue *value, uint16_t datatype);
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
2839 /** 2519 /**
2840 * ptp_canon_eos_requestdevicepropvalue: 2520 * ptp_canon_eos_requestdevicepropvalue:
2841 * 2521 *
2842 * This operation sends a "ping" style message to the camera. 2522 * This operation sends a "ping" style message to the camera.
2843 * 2523 *
2844 * params: PTPParams* 2524 * params: PTPParams*
2845 * 2525 *
2846 * Return values: Some PTP_RC_* code. 2526 * Return values: Some PTP_RC_* code.
2847 * 2527 *
2848 **/ 2528 **/
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)
2855 #define ptp_canon_eos_requestdevicepropvalue(params,prop) ptp_generic_no_data(pa rams,PTP_OC_CANON_EOS_RequestDevicePropValue,1,prop) 2529 #define ptp_canon_eos_requestdevicepropvalue(params,prop) ptp_generic_no_data(pa rams,PTP_OC_CANON_EOS_RequestDevicePropValue,1,prop)
2856 uint16_t ptp_canon_eos_capture (PTPParams* params, uint32_t *result); 2530 uint16_t ptp_canon_eos_capture (PTPParams* params, uint32_t *result);
2857 uint16_t ptp_canon_eos_getevent (PTPParams* params, PTPCanon_changes_entry **ent ries, int *nrofentries); 2531 uint16_t ptp_canon_eos_getevent (PTPParams* params, PTPCanon_changes_entry **ent ries, int *nrofentries);
2858 uint16_t ptp_canon_getpartialobject (PTPParams* params, uint32_t handle, 2532 uint16_t ptp_canon_getpartialobject (PTPParams* params, uint32_t handle,
2859 uint32_t offset, uint32_t size, 2533 uint32_t offset, uint32_t size,
2860 uint32_t pos, unsigned char** block, 2534 uint32_t pos, unsigned char** block,
2861 uint32_t* readnum); 2535 uint32_t* readnum);
2862 uint16_t ptp_canon_getviewfinderimage (PTPParams* params, unsigned char** image, 2536 uint16_t ptp_canon_getviewfinderimage (PTPParams* params, unsigned char** image,
2863 uint32_t* size); 2537 uint32_t* size);
2864 uint16_t ptp_canon_getchanges (PTPParams* params, uint16_t** props, 2538 uint16_t ptp_canon_getchanges (PTPParams* params, uint16_t** props,
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
2961 #if 0 2635 #if 0
2962 uint16_t ptp_canon_eos_setdevicepropvalue (PTPParams* params, uint16_t propcode, 2636 uint16_t ptp_canon_eos_setdevicepropvalue (PTPParams* params, uint16_t propcode,
2963 PTPPropertyValue* value, uint16_t datatype); 2637 PTPPropertyValue* value, uint16_t datatype);
2964 #endif 2638 #endif
2965 uint16_t ptp_nikon_get_vendorpropcodes (PTPParams* params, uint16_t **props, uns igned int *size); 2639 uint16_t ptp_nikon_get_vendorpropcodes (PTPParams* params, uint16_t **props, uns igned int *size);
2966 uint16_t ptp_nikon_curve_download (PTPParams* params, 2640 uint16_t ptp_nikon_curve_download (PTPParams* params,
2967 unsigned char **data, unsigned int *size); 2641 unsigned char **data, unsigned int *size);
2968 uint16_t ptp_nikon_getptpipinfo (PTPParams* params, unsigned char **data, unsign ed int *size); 2642 uint16_t ptp_nikon_getptpipinfo (PTPParams* params, unsigned char **data, unsign ed int *size);
2969 uint16_t ptp_nikon_getwifiprofilelist (PTPParams* params); 2643 uint16_t ptp_nikon_getwifiprofilelist (PTPParams* params);
2970 uint16_t ptp_nikon_writewifiprofile (PTPParams* params, PTPNIKONWifiProfile* pro file); 2644 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);
2983 /** 2645 /**
2984 * ptp_nikon_deletewifiprofile: 2646 * ptp_nikon_deletewifiprofile:
2985 * 2647 *
2986 * This command deletes a wifi profile. 2648 * This command deletes a wifi profile.
2987 * 2649 *
2988 * params: PTPParams* 2650 * params: PTPParams*
2989 * unsigned int profilenr - profile number 2651 * unsigned int profilenr - profile number
2990 * 2652 *
2991 * Return values: Some PTP_RC_* code. 2653 * Return values: Some PTP_RC_* code.
2992 * 2654 *
2993 **/ 2655 **/
2994 #define ptp_nikon_deletewifiprofile(params,profilenr) ptp_generic_no_data(params ,PTP_OC_NIKON_DeleteProfile,1,profilenr) 2656 #define ptp_nikon_deletewifiprofile(params,profilenr) ptp_generic_no_data(params ,PTP_OC_NIKON_DeleteProfile,1,profilenr)
2995 /** 2657 /**
2996 * ptp_nikon_setcontrolmode: 2658 * ptp_nikon_setcontrolmode:
2997 * 2659 *
2998 * This command can switch the camera to full PC control mode. 2660 * This command can switch the camera to full PC control mode.
2999 * 2661 *
3000 * params: PTPParams* 2662 * params: PTPParams*
3001 * uint32_t mode - mode 2663 * uint32_t mode - mode
3002 * 2664 *
3003 * Return values: Some PTP_RC_* code. 2665 * Return values: Some PTP_RC_* code.
3004 * 2666 *
3005 **/ 2667 **/
3006 #define ptp_nikon_setcontrolmode(params,mode) ptp_generic_no_data(params,PTP_OC_ NIKON_SetControlMode,1,mode) 2668 #define ptp_nikon_setcontrolmode(params,mode) ptp_generic_no_data(params,PTP_OC_ NIKON_SetControlMode,1,mode)
3007 /** 2669 /**
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 /**
3021 * ptp_nikon_afdrive: 2670 * ptp_nikon_afdrive:
3022 * 2671 *
3023 * This command runs (drives) the lens autofocus. 2672 * This command runs (drives) the lens autofocus.
3024 * 2673 *
3025 * params: PTPParams* 2674 * params: PTPParams*
3026 * 2675 *
3027 * Return values: Some PTP_RC_* code. 2676 * Return values: Some PTP_RC_* code.
3028 * 2677 *
3029 **/ 2678 **/
3030 #define ptp_nikon_afdrive(params) ptp_generic_no_data(params,PTP_OC_NIKON_AfDriv e,0) 2679 #define ptp_nikon_afdrive(params) ptp_generic_no_data(params,PTP_OC_NIKON_AfDriv e,0)
3031 /** 2680 /**
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 /**
3067 * ptp_canon_eos_afdrive: 2681 * ptp_canon_eos_afdrive:
3068 * 2682 *
3069 * This command runs (drives) the lens autofocus. 2683 * This command runs (drives) the lens autofocus.
3070 * 2684 *
3071 * params: PTPParams* 2685 * params: PTPParams*
3072 * 2686 *
3073 * Return values: Some PTP_RC_* code. 2687 * Return values: Some PTP_RC_* code.
3074 * 2688 *
3075 **/ 2689 **/
3076 #define ptp_canon_eos_afdrive(params) ptp_generic_no_data(params,PTP_OC_CANON_EO S_DoAf,0) 2690 #define ptp_canon_eos_afdrive(params) ptp_generic_no_data(params,PTP_OC_CANON_EO S_DoAf,0)
3077 /** 2691 /**
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 /**
3089 * ptp_canon_eos_zoom: 2692 * ptp_canon_eos_zoom:
3090 * 2693 *
3091 * This command runs (drives) the lens autofocus. 2694 * This command runs (drives) the lens autofocus.
3092 * 2695 *
3093 * params: PTPParams* 2696 * params: PTPParams*
3094 * params: arg1 unknown 2697 * params: arg1 unknown
3095 * 2698 *
3096 * Return values: Some PTP_RC_* code. 2699 * Return values: Some PTP_RC_* code.
3097 * 2700 *
3098 **/ 2701 **/
3099 #define ptp_canon_eos_zoom(params,x) ptp_generic_no_data(params,PTP_OC_CANON_EOS _Zoom,1,x) 2702 #define ptp_canon_eos_zoom(params,x) ptp_generic_no_data(params,PTP_OC_CANON_EOS _Zoom,1,x)
3100 #define ptp_canon_eos_zoomposition(params,x,y) ptp_generic_no_data(params,PTP_OC _CANON_EOS_ZoomPosition,2,x,y) 2703 #define ptp_canon_eos_zoomposition(params,x,y) ptp_generic_no_data(params,PTP_OC _CANON_EOS_ZoomPosition,2,x,y)
3101 2704
3102 #define ptp_canon_eos_remotereleaseon(params,x,y) ptp_generic_no_data(params,PTP _OC_CANON_EOS_RemoteReleaseOn,2,x,y) 2705 #define ptp_canon_eos_remotereleaseon(params,x) ptp_generic_no_data(params,PTP_O C_CANON_EOS_RemoteReleaseOn,1,x)
3103 #define ptp_canon_eos_remotereleaseoff(params,x) ptp_generic_no_data(params,PTP_ OC_CANON_EOS_RemoteReleaseOff,1,x) 2706 #define ptp_canon_eos_remotereleaseoff(params,x) ptp_generic_no_data(params,PTP_ OC_CANON_EOS_RemoteReleaseOff,1,x)
3104 /** 2707 /**
3105 * ptp_nikon_mfdrive: 2708 * ptp_nikon_mfdrive:
3106 * 2709 *
3107 * This command runs (drives) the lens focus manually. 2710 * This command runs (drives) the lens focus manually.
3108 * 2711 *
3109 * params: PTPParams* 2712 * params: PTPParams*
3110 * flag: 0x1 for (no limit - closest), 0x2 for (closest - no limit) 2713 * flag: 0x1 for (no limit - closest), 0x2 for (closest - no limit)
3111 * amount: amount of steps 2714 * amount: amount of steps
3112 * 2715 *
(...skipping 13 matching lines...) Expand all
3126 * Return values: Some PTP_RC_* code. 2729 * Return values: Some PTP_RC_* code.
3127 * 2730 *
3128 **/ 2731 **/
3129 #define ptp_canon_eos_drivelens(params,amount) ptp_generic_no_data(params,PTP_OC _CANON_EOS_DriveLens,1,amount) 2732 #define ptp_canon_eos_drivelens(params,amount) ptp_generic_no_data(params,PTP_OC _CANON_EOS_DriveLens,1,amount)
3130 /** 2733 /**
3131 * ptp_nikon_capture: 2734 * ptp_nikon_capture:
3132 * 2735 *
3133 * This command captures a picture on the Nikon. 2736 * This command captures a picture on the Nikon.
3134 * 2737 *
3135 * params: PTPParams* 2738 * params: PTPParams*
3136 * uint32_t x: unknown parameter. seen to be -1. 2739 * uint32_t x - unknown parameter. seen to be -1.
3137 * 2740 *
3138 * Return values: Some PTP_RC_* code. 2741 * Return values: Some PTP_RC_* code.
3139 * 2742 *
3140 **/ 2743 **/
3141 #define ptp_nikon_capture(params,x) ptp_generic_no_data(params,PTP_OC_NIKON_Capt ure,1,x) 2744 #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)
3158 /** 2745 /**
3159 * ptp_nikon_capture_sdram: 2746 * ptp_nikon_capture_sdram:
3160 * 2747 *
3161 * This command captures a picture on the Nikon. 2748 * This command captures a picture on the Nikon.
3162 * 2749 *
3163 * params: PTPParams* 2750 * params: PTPParams*
3164 * 2751 *
3165 * Return values: Some PTP_RC_* code. 2752 * Return values: Some PTP_RC_* code.
3166 * 2753 *
3167 **/ 2754 **/
(...skipping 27 matching lines...) Expand all
3195 * ptp_nikon_end_liveview: 2782 * ptp_nikon_end_liveview:
3196 * 2783 *
3197 * This command ends LiveView mode of newer Nikons DSLRs. 2784 * This command ends LiveView mode of newer Nikons DSLRs.
3198 * 2785 *
3199 * params: PTPParams* 2786 * params: PTPParams*
3200 * 2787 *
3201 * Return values: Some PTP_RC_* code. 2788 * Return values: Some PTP_RC_* code.
3202 * 2789 *
3203 **/ 2790 **/
3204 #define ptp_nikon_end_liveview(params) ptp_generic_no_data(params,PTP_OC_NIKON_E ndLiveView,0) 2791 #define ptp_nikon_end_liveview(params) ptp_generic_no_data(params,PTP_OC_NIKON_E ndLiveView,0)
3205 uint16_t ptp_nikon_check_event (PTPParams* params, PTPContainer **evt, unsigned int *evtcnt); 2792 uint16_t ptp_nikon_check_event (PTPParams* params, PTPContainer **evt, int *evtc nt);
3206 uint16_t ptp_nikon_getfileinfoinblock (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3, 2793 uint16_t ptp_nikon_getfileinfoinblock (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3,
3207 unsigned char **data, unsigned int *size ); 2794 unsigned char **data, unsigned int *size );
3208 /** 2795 /**
3209 * ptp_nikon_device_ready: 2796 * ptp_nikon_device_ready:
3210 * 2797 *
3211 * This command checks if the device is ready. Used after 2798 * This command checks if the device is ready. Used after
3212 * a capture. 2799 * a capture.
3213 * 2800 *
3214 * params: PTPParams* 2801 * params: PTPParams*
3215 * 2802 *
3216 * Return values: Some PTP_RC_* code. 2803 * Return values: Some PTP_RC_* code.
3217 * 2804 *
3218 **/ 2805 **/
3219 #define ptp_nikon_device_ready(params) ptp_generic_no_data (params, PTP_OC_NIKON _DeviceReady, 0) 2806 #define ptp_nikon_device_ready(params) ptp_generic_no_data (params, PTP_OC_NIKON _DeviceReady, 0)
3220 uint16_t ptp_mtp_getobjectpropssupported (PTPParams* params, uint16_t ofc, uint3 2_t *propnum, uint16_t **props); 2807 uint16_t ptp_mtp_getobjectpropssupported (PTPParams* params, uint16_t ofc, uint3 2_t *propnum, uint16_t **props);
3221 2808
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
3239 /* Non PTP protocol functions */ 2809 /* Non PTP protocol functions */
3240 static inline int 2810 static inline int
3241 ptp_operation_issupported(PTPParams* params, uint16_t operation) 2811 ptp_operation_issupported(PTPParams* params, uint16_t operation)
3242 { 2812 {
3243 uint32_t i=0; 2813 uint32_t i=0;
3244 2814
3245 for (;i<params->deviceinfo.OperationsSupported_len;i++) { 2815 for (;i<params->deviceinfo.OperationsSupported_len;i++) {
3246 if (params->deviceinfo.OperationsSupported[i]==operation) 2816 if (params->deviceinfo.OperationsSupported[i]==operation)
3247 return 1; 2817 return 1;
3248 } 2818 }
3249 return 0; 2819 return 0;
3250 } 2820 }
3251 2821
3252 int ptp_event_issupported (PTPParams* params, uint16_t event); 2822 int ptp_event_issupported (PTPParams* params, uint16_t event);
3253 int ptp_property_issupported (PTPParams* params, uint16_t property); 2823 int ptp_property_issupported (PTPParams* params, uint16_t property);
3254 2824
2825 void ptp_free_devicepropdesc (PTPDevicePropDesc* dpd);
2826 void ptp_free_devicepropvalue (uint16_t dt, PTPPropertyValue* dpd);
2827 void ptp_free_objectpropdesc (PTPObjectPropDesc* dpd);
3255 void ptp_free_params (PTPParams *params); 2828 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*);
3259 void ptp_free_objectinfo (PTPObjectInfo *oi); 2829 void ptp_free_objectinfo (PTPObjectInfo *oi);
3260 void ptp_free_object (PTPObject *oi); 2830 void ptp_free_object (PTPObject *oi);
3261 2831
3262 const char *ptp_strerror» (uint16_t ret, uint16_t vendor); 2832 const char *ptp_strerror(uint16_t error);
2833 void ptp_perror»» » (PTPParams* params, uint16_t error);
3263 void ptp_debug (PTPParams *params, const char *format, ...); 2834 void ptp_debug (PTPParams *params, const char *format, ...);
3264 void ptp_error (PTPParams *params, const char *format, ...); 2835 void ptp_error (PTPParams *params, const char *format, ...);
3265 2836
3266 2837
3267 const char* ptp_get_property_description(PTPParams* params, uint16_t dpc); 2838 const char*
3268 2839 ptp_get_property_description(PTPParams* params, uint16_t dpc);
3269 const char* ptp_get_opcode_name(PTPParams* params, uint16_t opcode);
3270 2840
3271 int 2841 int
3272 ptp_render_property_value(PTPParams* params, uint16_t dpc, 2842 ptp_render_property_value(PTPParams* params, uint16_t dpc,
3273 PTPDevicePropDesc *dpd, unsigned int length, char *out ); 2843 PTPDevicePropDesc *dpd, int length, char *out);
3274 int ptp_render_ofc(PTPParams* params, uint16_t ofc, int spaceleft, char *txt); 2844 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);
3275 int ptp_render_mtp_propname(uint16_t propid, int spaceleft, char *txt); 2846 int ptp_render_mtp_propname(uint16_t propid, int spaceleft, char *txt);
3276 MTPProperties *ptp_get_new_object_prop_entry(MTPProperties **props, int *nrofpro ps); 2847 MTPProperties *ptp_get_new_object_prop_entry(MTPProperties **props, int *nrofpro ps);
3277 void ptp_destroy_object_prop(MTPProperties *prop); 2848 void ptp_destroy_object_prop(MTPProperties *prop);
3278 void ptp_destroy_object_prop_list(MTPProperties *props, int nrofprops); 2849 void ptp_destroy_object_prop_list(MTPProperties *props, int nrofprops);
3279 MTPProperties *ptp_find_object_prop_in_cache(PTPParams *params, uint32_t const h andle, uint32_t const attribute_id); 2850 MTPProperties *ptp_find_object_prop_in_cache(PTPParams *params, uint32_t const h andle, uint32_t const attribute_id);
3280 uint16_t ptp_remove_object_from_cache(PTPParams *params, uint32_t handle); 2851 void ptp_remove_object_from_cache(PTPParams *params, uint32_t handle);
3281 uint16_t ptp_add_object_to_cache(PTPParams *params, uint32_t handle); 2852 uint16_t ptp_add_object_to_cache(PTPParams *params, uint32_t handle);
3282 uint16_t ptp_object_want (PTPParams *, uint32_t handle, unsigned int want, PTPOb ject**retob); 2853 uint16_t ptp_object_want (PTPParams *, uint32_t handle, int want, PTPObject**ret ob);
3283 void ptp_objects_sort (PTPParams *); 2854 void ptp_objects_sort (PTPParams *);
3284 uint16_t ptp_object_find (PTPParams *params, uint32_t handle, PTPObject **retob) ; 2855 uint16_t ptp_object_find (PTPParams *params, uint32_t handle, PTPObject **retob) ;
3285 uint16_t ptp_object_find_or_insert (PTPParams *params, uint32_t handle, PTPObjec t **retob); 2856 uint16_t ptp_object_find_or_insert (PTPParams *params, uint32_t handle, PTPObjec t **retob);
3286 /* ptpip.c */ 2857 /* ptpip.c */
3287 void ptp_nikon_getptpipguid (unsigned char* guid); 2858 void ptp_nikon_getptpipguid (unsigned char* guid);
3288 2859
3289 /* CHDK specifics */ 2860 enum PTP_CHDK_Command {
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
3290 #define PTP_OC_CHDK 0x9999 2893 #define PTP_OC_CHDK 0x9999
3291 typedef struct tagptp_chdk_videosettings { 2894 typedef struct tagptp_chdk_videosettings {
3292 long live_image_buffer_width; 2895 long live_image_buffer_width;
3293 long live_image_width; 2896 long live_image_width;
3294 long live_image_height; 2897 long live_image_height;
3295 long bitmap_buffer_width; 2898 long bitmap_buffer_width;
3296 long bitmap_width; 2899 long bitmap_width;
3297 long bitmap_height; 2900 long bitmap_height;
3298 unsigned palette[16]; 2901 unsigned palette[16];
3299 } ptp_chdk_videosettings; 2902 } ptp_chdk_videosettings;
3300 2903
3301 /* Nafraf: Test this!!!*/ 2904 #define ptp_chdk_shutdown_hard(params) ptp_generic_no_data(params,PTP_OC_CHDK,2, PTP_CHDK_Shutdown,0)
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);
3302 #define ptp_chdk_switch_mode(params,mode) ptp_generic_no_data(params,PTP_OC_CHDK ,2,PTP_CHDK_SwitchMode,mode) 2913 #define ptp_chdk_switch_mode(params,mode) ptp_generic_no_data(params,PTP_OC_CHDK ,2,PTP_CHDK_SwitchMode,mode)
3303 2914 uint16_t ptp_chdk_exec_lua(PTPParams *params, char *script, uint32_t* ret);
3304 /* include CHDK ptp protocol definitions from a CHDK source tree */ 2915 uint16_t ptp_chdk_get_script_output(PTPParams* params, char **output );
3305 #include "chdk_ptp.h" 2916 uint16_t ptp_chdk_get_video_settings(PTPParams* params, ptp_chdk_videosettings* vsettings);
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);*/
3351 2917
3352 #ifdef __cplusplus 2918 #ifdef __cplusplus
3353 } 2919 }
3354 #endif /* __cplusplus */ 2920 #endif /* __cplusplus */
3355 2921
3356 #endif /* __PTP_H__ */ 2922 #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