~ubuntu-branches/ubuntu/maverick/libmtp/maverick

« back to all changes in this revision

Viewing changes to src/ptp.h

  • Committer: Bazaar Package Importer
  • Author(s): Mario Danic
  • Date: 2007-08-14 19:40:57 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070814194057-ddu0qqhw6aw9ww6e
Tags: 0.2.1-0ubuntu1
* New upstream release
* ABI bump to 6
* debian/rules: Adapt upstream udev rules file to our kernel

  Thanks to Flávio Martins for testing!

Show diffs side-by-side

added added

removed removed

Lines of Context:
190
190
 
191
191
/* Canon extension Operation Codes */
192
192
#define PTP_OC_CANON_GetPartialObjectInfo       0x9001
 
193
/* 9002 - sends 2 uint32, nothing back  */
193
194
#define PTP_OC_CANON_SetObjectArchive           0x9002
194
 
/* 9002 - sends 2 uint32, nothing back  */
195
 
#define PTP_OC_CANON_9003                       0x9003
196
 
/* 9003 - sends nothing, nothing back  */
197
 
/* no 9004 observed yet */
198
 
/* no 9005 observed yet */
 
195
#define PTP_OC_CANON_KeepDeviceOn               0x9003
 
196
#define PTP_OC_CANON_LockDeviceUI               0x9004
 
197
#define PTP_OC_CANON_UnlockDeviceUI             0x9005
199
198
#define PTP_OC_CANON_GetObjectHandleByName      0x9006
200
199
/* no 9007 observed yet */
201
 
#define PTP_OC_CANON_StartShootingMode          0x9008
202
 
#define PTP_OC_CANON_EndShootingMode            0x9009
203
 
/* 900a - sends nothing, nothing back */
204
 
#define PTP_OC_CANON_900a                       0x900A
 
200
#define PTP_OC_CANON_InitiateReleaseControl     0x9008
 
201
#define PTP_OC_CANON_TerminateReleaseControl    0x9009
 
202
#define PTP_OC_CANON_TerminatePlaybackMode      0x900A
205
203
#define PTP_OC_CANON_ViewfinderOn               0x900B
206
204
#define PTP_OC_CANON_ViewfinderOff              0x900C
207
205
#define PTP_OC_CANON_DoAeAfAwb                  0x900D
211
209
#define PTP_OC_CANON_GetCustomizeItemInfo       0x900F
212
210
#define PTP_OC_CANON_GetCustomizeData           0x9010
213
211
#define PTP_OC_CANON_SetCustomizeData           0x9011
214
 
 
215
 
/* initiate movie capture:
216
 
   9010 startmoviecapture?
217
 
   9003 stopmoviecapture?
218
 
*/
219
 
 
 
212
#define PTP_OC_CANON_GetCaptureStatus           0x9012
220
213
#define PTP_OC_CANON_CheckEvent                 0x9013
221
214
#define PTP_OC_CANON_FocusLock                  0x9014
222
215
#define PTP_OC_CANON_FocusUnlock                0x9015
 
216
#define PTP_OC_CANON_GetLocalReleaseParam       0x9016
 
217
#define PTP_OC_CANON_SetLocalReleaseParam       0x9017
 
218
#define PTP_OC_CANON_AskAboutPcEvf              0x9018
 
219
#define PTP_OC_CANON_SendPartialObject          0x9019
223
220
#define PTP_OC_CANON_InitiateCaptureInMemory    0x901A
224
221
#define PTP_OC_CANON_GetPartialObjectEx         0x901B
225
222
#define PTP_OC_CANON_SetObjectTime              0x901C
226
223
#define PTP_OC_CANON_GetViewfinderImage         0x901D
 
224
#define PTP_OC_CANON_GetObjectAttributes        0x901E
227
225
#define PTP_OC_CANON_ChangeUSBProtocol          0x901F
228
226
#define PTP_OC_CANON_GetChanges                 0x9020
229
227
#define PTP_OC_CANON_GetObjectInfoEx            0x9021
230
 
 
 
228
#define PTP_OC_CANON_InitiateDirectTransfer     0x9022
231
229
#define PTP_OC_CANON_TerminateDirectTransfer    0x9023
232
 
 
233
 
#define PTP_OC_CANON_InitiateDirectTransferEx2  0x9028
234
 
#define PTP_OC_CANON_GetTargetHandles           0x9029
 
230
#define PTP_OC_CANON_SendObjectInfoByPath       0x9024
 
231
#define PTP_OC_CANON_SendObjectByPath           0x9025
 
232
#define PTP_OC_CANON_InitiateDirectTansferEx    0x9026
 
233
#define PTP_OC_CANON_GetAncillaryObjectHandles  0x9027
 
234
#define PTP_OC_CANON_GetTreeInfo                0x9028
 
235
#define PTP_OC_CANON_GetTreeSize                0x9029
235
236
#define PTP_OC_CANON_NotifyProgress             0x902A
236
237
#define PTP_OC_CANON_NotifyCancelAccepted       0x902B
237
238
/* 902c: no parms, read 3 uint32 in data, no response parms */
247
248
#define PTP_OC_CANON_PairingComplete            0x9035
248
249
#define PTP_OC_CANON_GetWirelessMAXChannel      0x9036
249
250
 
 
251
/* 9101: no args, 8 byte data (01 00 00 00 00 00 00 00), no resp data. */
 
252
#define PTP_OC_CANON_EOS_GetStorageIDs          0x9101
 
253
/* 9102: 1 arg (0)
 
254
 * 0x28 bytes of data:
 
255
    00000000: 34 00 00 00 02 00 02 91 0a 00 00 00 04 00 03 00
 
256
    00000010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 
257
    00000020: 00 00 ff ff ff ff 03 43 00 46 00 00 00 03 41 00
 
258
    00000030: 3a 00 00 00
 
259
 * no resp args
 
260
 */
 
261
#define PTP_OC_CANON_EOS_GetStorageInfo         0x9102
 
262
#define PTP_OC_CANON_EOS_GetObjectInfo          0x9103
 
263
#define PTP_OC_CANON_EOS_GetObject              0x9104
 
264
#define PTP_OC_CANON_EOS_DeleteObject           0x9105
 
265
#define PTP_OC_CANON_EOS_FormatStore            0x9106
 
266
#define PTP_OC_CANON_EOS_GetPartialObject       0x9107
 
267
#define PTP_OC_CANON_EOS_GetDeviceInfoEx        0x9108
 
268
 
 
269
/* sample1:
 
270
 * 3 cmdargs: 1,0xffffffff,00 00 10 00;
 
271
 * data:
 
272
    00000000: 48 00 00 00 02 00 09 91 12 00 00 00 01 00 00 00
 
273
    00000010: 38 00 00 00 00 00 00 30 01 00 00 00 01 30 00 00
 
274
    00000020: 01 00 00 00 10 00 00 00 00 00 00 00 00 00 00 20
 
275
    00000030: 00 00 00 30 44 43 49 4d 00 00 00 00 00 00 00 00   DCIM
 
276
    00000040: 00 00 00 00 cc c3 01 46
 
277
 * 2 respargs: 0x0, 0x3c
 
278
 * 
 
279
 * sample2:
 
280
 *
 
281
    00000000: 18 00 00 00 01 00 09 91 15 00 00 00 01 00 00 00
 
282
    00000010: 00 00 00 30 00 00 10 00
 
283
 
 
284
    00000000: 48 00 00 00 02 00 09 91 15 00 00 00 01 00 00 00
 
285
    00000010: 38 00 00 00 00 00 9c 33 01 00 00 00 01 30 00 00
 
286
    00000020: 01 00 00 00 10 00 00 00 00 00 00 00 00 00 00 30
 
287
    00000030: 00 00 9c 33 32 33 31 43 41 4e 4f 4e 00 00 00 00    231CANON
 
288
    00000040: 00 00 00 00 cc c3 01 46
 
289
 
 
290
 */
 
291
#define PTP_OC_CANON_EOS_GetObjectInfoEx        0x9109
 
292
#define PTP_OC_CANON_EOS_GetThumbEx             0x910A
 
293
#define PTP_OC_CANON_EOS_SetObjectAttributes    0x910C
 
294
 
 
295
/* 910f: no args, no data, 1 response arg (0). */
 
296
#define PTP_OC_CANON_EOS_RemoteRelease          0x910F
 
297
/* Marcus: looks more like "Set DeviceProperty" in the trace. 
 
298
 *
 
299
 * no cmd args
 
300
 * data phase (0xc, 0xd11c, 0x1)
 
301
 * no resp args 
 
302
 */
 
303
#define PTP_OC_CANON_EOS_SetDevicePropValueEx   0x9110
 
304
#define PTP_OC_CANON_EOS_GetRemoteMode          0x9113
 
305
/* 9114: 1 arg (0x1), no data, no resp data. */
 
306
#define PTP_OC_CANON_EOS_SetRemoteMode          0x9114
 
307
/* 9115: 1 arg (0x1), no data, no resp data. */
 
308
#define PTP_OC_CANON_EOS_SetEventMode           0x9115
 
309
/* 9116: no args, data phase, no resp data. */
 
310
#define PTP_OC_CANON_EOS_GetEvent               0x9116
 
311
#define PTP_OC_CANON_EOS_TransferComplete       0x9117
 
312
#define PTP_OC_CANON_EOS_CancelTransfer         0x9118
 
313
#define PTP_OC_CANON_EOS_ResetTransfer          0x9119
 
314
 
 
315
/* 911a: 3 args (0xfffffff7, 0x00001000, 0x00000001), no data, no resp data. */
 
316
/* 911a: 3 args (0x001dfc60, 0x00001000, 0x00000001), no data, no resp data. */
 
317
#define PTP_OC_CANON_EOS_PCHDDCapacity          0x911A
 
318
 
 
319
/* 911b: no cmd args, no data, no resp args */
 
320
#define PTP_OC_CANON_EOS_SetUILock              0x911B
 
321
/* 911c: no cmd args, no data, no resp args */
 
322
#define PTP_OC_CANON_EOS_ResetUILock            0x911C
 
323
#define PTP_OC_CANON_EOS_KeepDeviceOn           0x911D
 
324
#define PTP_OC_CANON_EOS_SetNullPacketMode      0x911E
 
325
 
250
326
/* Nikon extension Operation Codes */
251
327
#define PTP_OC_NIKON_GetProfileAllData  0x9006
252
328
#define PTP_OC_NIKON_SendProfileData    0x9007
454
530
#define PTP_GOH_ALL_STORAGE 0xffffffff
455
531
#define PTP_GOH_ALL_FORMATS 0x00000000
456
532
#define PTP_GOH_ALL_ASSOCS  0x00000000
 
533
#define PTP_GOH_ROOT_PARENT 0xffffffff
457
534
 
458
535
/* PTP device info structure (returned by GetDevInfo) */
459
536
 
579
656
#define PTP_OFC_JPX                             0x3810
580
657
/* Eastman Kodak extension ancillary format */
581
658
#define PTP_OFC_EK_M3U                          0xb002
 
659
/* Canon extension */
 
660
#define PTP_OFC_CANON_CRW                       0xb101
582
661
/* MTP extensions */
583
662
#define PTP_OFC_MTP_MediaCard                   0xb211
584
663
#define PTP_OFC_MTP_MediaCardGroup              0xb212
682
761
        int16_t         i16;
683
762
        uint32_t        u32;
684
763
        int32_t         i32;
685
 
        /* XXXX: 64bit and 128 bit signed and unsigned missing */
 
764
        uint64_t        u64;
 
765
        int64_t         i64;
 
766
        /* XXXX: 128 bit signed and unsigned missing */
686
767
        struct array {
687
768
                uint32_t        count;
688
769
                union _PTPPropertyValue *v;     /* malloced, count elements */
834
915
 
835
916
typedef struct _PTPNIKONWifiProfile PTPNIKONWifiProfile;
836
917
 
 
918
#define PTP_CANON_EOS_CHANGES_TYPE_UNKNOWN      0
 
919
#define PTP_CANON_EOS_CHANGES_TYPE_OBJECTINFO   1
 
920
 
 
921
struct _PTPCanon_New_Object {
 
922
        uint32_t                oid;
 
923
        PTPObjectInfo   oi;
 
924
};
 
925
 
 
926
struct _PTPCanon_changes_entry {
 
927
        int     type;
 
928
        union {
 
929
                struct _PTPCanon_New_Object     object; /* TYPE_OBJECTINFO */
 
930
        } u;
 
931
};
 
932
typedef struct _PTPCanon_changes_entry PTPCanon_changes_entry;
 
933
 
 
934
typedef struct _PTPCanon_Property {
 
935
        uint32_t                size;
 
936
        uint32_t                type;
 
937
        uint32_t                proptype;
 
938
        unsigned char           *data;
 
939
 
 
940
        /* fill out for queries */
 
941
        PTPDevicePropDesc       dpd;
 
942
} PTPCanon_Property;
 
943
 
 
944
 
837
945
/* DataType Codes */
838
946
 
839
947
#define PTP_DTC_UNDEF           0x0000
915
1023
#define PTP_DPC_EK_VideoOut             0xD004
916
1024
#define PTP_DPC_EK_PowerSaving          0xD005
917
1025
#define PTP_DPC_EK_UI_Language          0xD006
 
1026
 
918
1027
/* Canon extension device property codes */
919
1028
#define PTP_DPC_CANON_BeepMode          0xD001
920
 
#define PTP_DPC_CANON_ViewfinderMode    0xD003
 
1029
#define PTP_DPC_CANON_BatteryKind       0xD002
 
1030
#define PTP_DPC_CANON_BatteryStatus     0xD003
 
1031
#define PTP_DPC_CANON_UILockType        0xD004
 
1032
#define PTP_DPC_CANON_CameraMode        0xD005
921
1033
#define PTP_DPC_CANON_ImageQuality      0xD006
922
 
#define PTP_DPC_CANON_D007              0xD007
 
1034
#define PTP_DPC_CANON_FullViewFileFormat 0xD007
923
1035
#define PTP_DPC_CANON_ImageSize         0xD008
 
1036
#define PTP_DPC_CANON_SelfTime          0xD009
924
1037
#define PTP_DPC_CANON_FlashMode         0xD00A
 
1038
#define PTP_DPC_CANON_Beep              0xD00B
925
1039
#define PTP_DPC_CANON_ShootingMode      0xD00C
 
1040
#define PTP_DPC_CANON_ImageMode         0xD00D
926
1041
#define PTP_DPC_CANON_DriveMode         0xD00E
 
1042
#define PTP_DPC_CANON_EZoom             0xD00F
927
1043
#define PTP_DPC_CANON_MeteringMode      0xD010
928
1044
#define PTP_DPC_CANON_AFDistance        0xD011
929
1045
#define PTP_DPC_CANON_FocusingPoint     0xD012
930
1046
#define PTP_DPC_CANON_WhiteBalance      0xD013
 
1047
#define PTP_DPC_CANON_SlowShutterSetting        0xD014
 
1048
#define PTP_DPC_CANON_AFMode            0xD015
 
1049
#define PTP_DPC_CANON_ImageStabilization        0xD016
 
1050
#define PTP_DPC_CANON_Contrast          0xD017
 
1051
#define PTP_DPC_CANON_ColorGain         0xD018
 
1052
#define PTP_DPC_CANON_Sharpness         0xD019
 
1053
#define PTP_DPC_CANON_Sensitivity       0xD01A
 
1054
#define PTP_DPC_CANON_ParameterSet      0xD01B
931
1055
#define PTP_DPC_CANON_ISOSpeed          0xD01C
932
1056
#define PTP_DPC_CANON_Aperture          0xD01D
933
1057
#define PTP_DPC_CANON_ShutterSpeed      0xD01E
934
1058
#define PTP_DPC_CANON_ExpCompensation   0xD01F
935
 
 
936
 
        /* capture data type (?) */
937
 
#define PTP_DPC_CANON_D029              0xD029
 
1059
#define PTP_DPC_CANON_FlashCompensation 0xD020
 
1060
#define PTP_DPC_CANON_AEBExposureCompensation   0xD021
 
1061
#define PTP_DPC_CANON_AvOpen            0xD023
 
1062
#define PTP_DPC_CANON_AvMax             0xD024
 
1063
#define PTP_DPC_CANON_FocalLength       0xD025
 
1064
#define PTP_DPC_CANON_FocalLengthTele   0xD026
 
1065
#define PTP_DPC_CANON_FocalLengthWide   0xD027
 
1066
#define PTP_DPC_CANON_FocalLengthDenominator    0xD028
 
1067
#define PTP_DPC_CANON_CaptureTransferMode               0xD029
938
1068
#define PTP_DPC_CANON_Zoom              0xD02A
 
1069
#define PTP_DPC_CANON_NamePrefix        0xD02B
939
1070
#define PTP_DPC_CANON_SizeQualityMode   0xD02C
 
1071
#define PTP_DPC_CANON_SupportedThumbSize        0xD02D
 
1072
#define PTP_DPC_CANON_SizeOfOutputDataFromCamera        0xD02E
 
1073
#define PTP_DPC_CANON_SizeOfInputDataToCamera           0xD02F
 
1074
#define PTP_DPC_CANON_RemoteAPIVersion  0xD030
940
1075
#define PTP_DPC_CANON_FirmwareVersion   0xD031
941
1076
#define PTP_DPC_CANON_CameraModel       0xD032
942
1077
#define PTP_DPC_CANON_CameraOwner       0xD033
943
1078
#define PTP_DPC_CANON_UnixTime          0xD034
 
1079
#define PTP_DPC_CANON_CameraBodyID      0xD035
 
1080
#define PTP_DPC_CANON_CameraOutput      0xD036
 
1081
#define PTP_DPC_CANON_DispAv            0xD037
 
1082
#define PTP_DPC_CANON_AvOpenApex        0xD038
944
1083
#define PTP_DPC_CANON_DZoomMagnification        0xD039
 
1084
#define PTP_DPC_CANON_MlSpotPos         0xD03A
 
1085
#define PTP_DPC_CANON_DispAvMax         0xD03B
 
1086
#define PTP_DPC_CANON_AvMaxApex         0xD03C
 
1087
#define PTP_DPC_CANON_EZoomStartPosition                0xD03D
 
1088
#define PTP_DPC_CANON_FocalLengthOfTele 0xD03E
 
1089
#define PTP_DPC_CANON_EZoomSizeOfTele   0xD03F
945
1090
#define PTP_DPC_CANON_PhotoEffect       0xD040
946
1091
#define PTP_DPC_CANON_AssistLight       0xD041
947
 
#define PTP_DPC_CANON_D045              0xD045
 
1092
#define PTP_DPC_CANON_FlashQuantityCount        0xD042
 
1093
#define PTP_DPC_CANON_RotationAngle     0xD043
 
1094
#define PTP_DPC_CANON_RotationScene     0xD044
 
1095
#define PTP_DPC_CANON_EventEmulateMode  0xD045
 
1096
#define PTP_DPC_CANON_DPOFVersion       0xD046
 
1097
#define PTP_DPC_CANON_TypeOfSupportedSlideShow  0xD047
948
1098
#define PTP_DPC_CANON_AverageFilesizes  0xD048
 
1099
#define PTP_DPC_CANON_ModelID           0xD049
 
1100
 
 
1101
/* From EOS 400D trace. */
 
1102
#define PTP_DPC_CANON_EOS_Aperture              0xD101
 
1103
#define PTP_DPC_CANON_EOS_ShutterSpeed          0xD102
 
1104
#define PTP_DPC_CANON_EOS_ISOSpeed              0xD103
 
1105
#define PTP_DPC_CANON_EOS_ExpCompensation       0xD104
 
1106
#define PTP_DPC_CANON_EOS_CameraMode            0xD105
 
1107
#define PTP_DPC_CANON_EOS_MeteringMode          0xD107
 
1108
#define PTP_DPC_CANON_EOS_Focus                 0xD108
 
1109
#define PTP_DPC_CANON_EOS_WhiteBalance          0xD109
 
1110
#define PTP_DPC_CANON_EOS_WhiteBalanceAdjustA   0xD10B
 
1111
#define PTP_DPC_CANON_EOS_WhiteBalanceAdjustB   0xD10C
 
1112
#define PTP_DPC_CANON_EOS_ColorSpace            0xD10F
 
1113
#define PTP_DPC_CANON_EOS_PictureStyle          0xD110
 
1114
#define PTP_DPC_CANON_EOS_TransferOption        0xD111
 
1115
#define PTP_DPC_CANON_EOS_CameraTime            0xD113
 
1116
#define PTP_DPC_CANON_EOS_Owner                 0xD115
 
1117
#define PTP_DPC_CANON_EOS_ImageFormat           0xD120
949
1118
 
950
1119
/* Nikon extension device property codes */
951
1120
#define PTP_DPC_NIKON_ShootingBank                      0xD010
1354
1523
 
1355
1524
        /* PTP: Canon specific flags list */
1356
1525
        uint32_t        *canon_flags; /* size(handles.n) */
 
1526
        PTPCanon_Property       *canon_props;
 
1527
        int                     nrofcanon_props;
1357
1528
 
1358
1529
        /* PTP: Wifi profiles */
1359
1530
        uint8_t         wifi_profiles_version;
1387
1558
uint16_t ptp_usb_event_check    (PTPParams* params, PTPContainer* event);
1388
1559
uint16_t ptp_usb_event_wait     (PTPParams* params, PTPContainer* event);
1389
1560
 
 
1561
uint16_t ptp_usb_control_get_extended_event_data (PTPParams *params, char *buffer, int *size);
 
1562
uint16_t ptp_usb_control_device_reset_request (PTPParams *params);
 
1563
uint16_t ptp_usb_control_get_device_status (PTPParams *params, char *buffer, int *size);
 
1564
 
 
1565
 
1390
1566
int      ptp_ptpip_connect      (PTPParams* params, const char *port);
1391
1567
uint16_t ptp_ptpip_sendreq      (PTPParams* params, PTPContainer* req);
1392
1568
uint16_t ptp_ptpip_senddata     (PTPParams* params, PTPContainer* ptp,
1402
1578
uint16_t ptp_opensession        (PTPParams *params, uint32_t session);
1403
1579
uint16_t ptp_closesession       (PTPParams *params);
1404
1580
 
 
1581
uint16_t ptp_resetdevice        (PTPParams* params);
1405
1582
uint16_t ptp_getstorageids      (PTPParams* params, PTPStorageIDs* storageids);
1406
1583
uint16_t ptp_getstorageinfo     (PTPParams* params, uint32_t storageid,
1407
1584
                                PTPStorageInfo* storageinfo);
1481
1658
 
1482
1659
/* Canon PTP extensions */
1483
1660
uint16_t ptp_canon_9012 (PTPParams* params);
1484
 
uint16_t ptp_canon_initiate_direct_transfer (PTPParams* params, uint32_t* out);
1485
 
uint16_t ptp_canon_get_target_handles (PTPParams* params, PTPCanon_directtransfer_entry**, unsigned int*cnt);
 
1661
uint16_t ptp_canon_gettreeinfo (PTPParams* params, uint32_t* out);
 
1662
uint16_t ptp_canon_gettreesize (PTPParams* params, PTPCanon_directtransfer_entry**, unsigned int*cnt);
1486
1663
uint16_t ptp_canon_getpartialobjectinfo (PTPParams* params, uint32_t handle,
1487
1664
                                uint32_t p2, uint32_t* size, uint32_t* rp2);
1488
1665
 
1498
1675
                                PTPUSBEventContainer* event, int* isevent);
1499
1676
uint16_t ptp_canon_focuslock (PTPParams* params);
1500
1677
uint16_t ptp_canon_focusunlock (PTPParams* params);
 
1678
uint16_t ptp_canon_keepdeviceon (PTPParams* params);
1501
1679
uint16_t ptp_canon_initiatecaptureinmemory (PTPParams* params);
 
1680
uint16_t ptp_canon_eos_capture (PTPParams* params);
 
1681
uint16_t ptp_canon_eos_getevent (PTPParams* params, PTPCanon_changes_entry **entries, int *nrofentries);
1502
1682
uint16_t ptp_canon_getpartialobject (PTPParams* params, uint32_t handle, 
1503
1683
                                uint32_t offset, uint32_t size,
1504
1684
                                uint32_t pos, unsigned char** block, 
1517
1697
uint16_t ptp_canon_setobjectarchive (PTPParams* params, uint32_t oid, uint32_t flags);
1518
1698
uint16_t ptp_canon_get_customize_data (PTPParams* params, uint32_t themenr,
1519
1699
                                unsigned char **data, unsigned int *size);
 
1700
uint16_t ptp_canon_getpairinginfo (PTPParams* params, uint32_t nr, unsigned char**, unsigned int*);
1520
1701
 
 
1702
uint16_t ptp_canon_eos_getstorageids (PTPParams* params);
 
1703
uint16_t ptp_canon_eos_getstorageinfo (PTPParams* params, uint32_t p1);
 
1704
uint16_t ptp_canon_eos_getpartialobject (PTPParams* params, uint32_t oid, uint32_t off, uint32_t xsize, unsigned char**data);
 
1705
uint16_t ptp_canon_eos_setdevicepropvalueex (PTPParams* params, unsigned char* data, unsigned int size);
 
1706
uint16_t ptp_canon_eos_setremotemode (PTPParams* params, uint32_t p1);
 
1707
uint16_t ptp_canon_eos_seteventmode (PTPParams* params, uint32_t p1);
 
1708
uint16_t ptp_canon_eos_transfercomplete (PTPParams* params, uint32_t oid);
 
1709
uint16_t ptp_canon_eos_pchddcapacity (PTPParams* params, uint32_t p1, uint32_t p2, uint32_t p3);
 
1710
uint16_t ptp_canon_eos_getdevicepropdesc (PTPParams* params, uint16_t propcode,
 
1711
                                PTPDevicePropDesc *devicepropertydesc);
 
1712
uint16_t ptp_canon_eos_setdevicepropvalue (PTPParams* params, uint16_t propcode,
 
1713
                                PTPPropertyValue* value, uint16_t datatype);
1521
1714
 
1522
1715
uint16_t ptp_nikon_curve_download (PTPParams* params, 
1523
1716
                                unsigned char **data, unsigned int *size);
1542
1735
void ptp_free_devicepropvalue   (uint16_t dt, PTPPropertyValue* dpd);
1543
1736
void ptp_free_objectpropdesc    (PTPObjectPropDesc* dpd);
1544
1737
void ptp_free_params            (PTPParams *params);
 
1738
void ptp_free_objectinfo        (PTPObjectInfo *oi);
 
1739
 
1545
1740
 
1546
1741
void ptp_perror                 (PTPParams* params, uint16_t error);
1547
1742