| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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__ */ |
| OLD | NEW |