libmtp 1.1.14
libmtp.h
Go to the documentation of this file.
1
29#ifndef LIBMTP_H_INCLUSION_GUARD
30#define LIBMTP_H_INCLUSION_GUARD
31
32#define LIBMTP_VERSION 1.1.14
33#define LIBMTP_VERSION_STRING "1.1.14"
34
35/* This handles MSVC pecularities */
36#ifdef _MSC_VER
37#include <windows.h>
38#define __WIN32__
39#define snprintf _snprintf
40#define ssize_t SSIZE_T
41/*
42 * Types that do not exist in Windows
43 * sys/types.h, but they exist in mingw32
44 * sys/types.h.
45 */
46typedef char int8_t;
47typedef unsigned char uint8_t;
48typedef __int16 int16_t;
49typedef unsigned __int16 uint16_t;
50typedef __int32 int32_t;
51typedef unsigned __int32 uint32_t;
52typedef unsigned __int64 uint64_t;
53#else
54#include <sys/time.h>
55#endif
56
57#include <stdio.h>
58#include <stdint.h>
59/* We use time_t */
60#include <time.h>
61
73#define LIBMTP_DEBUG_NONE 0x00
74#define LIBMTP_DEBUG_PTP 0x01
75#define LIBMTP_DEBUG_PLST 0x02
76#define LIBMTP_DEBUG_USB 0x04
77#define LIBMTP_DEBUG_DATA 0x08
78#define LIBMTP_DEBUG_ALL 0xFF
79
80
86typedef enum {
87 LIBMTP_FILETYPE_FOLDER,
88 LIBMTP_FILETYPE_WAV,
89 LIBMTP_FILETYPE_MP3,
90 LIBMTP_FILETYPE_WMA,
91 LIBMTP_FILETYPE_OGG,
92 LIBMTP_FILETYPE_AUDIBLE,
93 LIBMTP_FILETYPE_MP4,
94 LIBMTP_FILETYPE_UNDEF_AUDIO,
95 LIBMTP_FILETYPE_WMV,
96 LIBMTP_FILETYPE_AVI,
97 LIBMTP_FILETYPE_MPEG,
98 LIBMTP_FILETYPE_ASF,
99 LIBMTP_FILETYPE_QT,
100 LIBMTP_FILETYPE_UNDEF_VIDEO,
101 LIBMTP_FILETYPE_JPEG,
102 LIBMTP_FILETYPE_JFIF,
103 LIBMTP_FILETYPE_TIFF,
104 LIBMTP_FILETYPE_BMP,
105 LIBMTP_FILETYPE_GIF,
106 LIBMTP_FILETYPE_PICT,
107 LIBMTP_FILETYPE_PNG,
108 LIBMTP_FILETYPE_VCALENDAR1,
109 LIBMTP_FILETYPE_VCALENDAR2,
110 LIBMTP_FILETYPE_VCARD2,
111 LIBMTP_FILETYPE_VCARD3,
112 LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT,
113 LIBMTP_FILETYPE_WINEXEC,
114 LIBMTP_FILETYPE_TEXT,
115 LIBMTP_FILETYPE_HTML,
116 LIBMTP_FILETYPE_FIRMWARE,
117 LIBMTP_FILETYPE_AAC,
118 LIBMTP_FILETYPE_MEDIACARD,
119 LIBMTP_FILETYPE_FLAC,
120 LIBMTP_FILETYPE_MP2,
121 LIBMTP_FILETYPE_M4A,
122 LIBMTP_FILETYPE_DOC,
123 LIBMTP_FILETYPE_XML,
124 LIBMTP_FILETYPE_XLS,
125 LIBMTP_FILETYPE_PPT,
126 LIBMTP_FILETYPE_MHT,
127 LIBMTP_FILETYPE_JP2,
128 LIBMTP_FILETYPE_JPX,
129 LIBMTP_FILETYPE_ALBUM,
130 LIBMTP_FILETYPE_PLAYLIST,
131 LIBMTP_FILETYPE_UNKNOWN
133
141#define LIBMTP_FILETYPE_IS_AUDIO(a)\
142(a == LIBMTP_FILETYPE_WAV ||\
143 a == LIBMTP_FILETYPE_MP3 ||\
144 a == LIBMTP_FILETYPE_MP2 ||\
145 a == LIBMTP_FILETYPE_WMA ||\
146 a == LIBMTP_FILETYPE_OGG ||\
147 a == LIBMTP_FILETYPE_FLAC ||\
148 a == LIBMTP_FILETYPE_AAC ||\
149 a == LIBMTP_FILETYPE_M4A ||\
150 a == LIBMTP_FILETYPE_AUDIBLE ||\
151 a == LIBMTP_FILETYPE_UNDEF_AUDIO)
152
160#define LIBMTP_FILETYPE_IS_VIDEO(a)\
161(a == LIBMTP_FILETYPE_WMV ||\
162 a == LIBMTP_FILETYPE_AVI ||\
163 a == LIBMTP_FILETYPE_MPEG ||\
164 a == LIBMTP_FILETYPE_UNDEF_VIDEO)
165
170#define LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)\
171(a == LIBMTP_FILETYPE_MP4 ||\
172 a == LIBMTP_FILETYPE_ASF ||\
173 a == LIBMTP_FILETYPE_QT)
174
181#define LIBMTP_FILETYPE_IS_TRACK(a)\
182(LIBMTP_FILETYPE_IS_AUDIO(a) ||\
183 LIBMTP_FILETYPE_IS_VIDEO(a) ||\
184 LIBMTP_FILETYPE_IS_AUDIOVIDEO(a))
185
190#define LIBMTP_FILETYPE_IS_IMAGE(a)\
191(a == LIBMTP_FILETYPE_JPEG ||\
192a == LIBMTP_FILETYPE_JFIF ||\
193a == LIBMTP_FILETYPE_TIFF ||\
194a == LIBMTP_FILETYPE_BMP ||\
195a == LIBMTP_FILETYPE_GIF ||\
196a == LIBMTP_FILETYPE_PICT ||\
197a == LIBMTP_FILETYPE_PNG ||\
198a == LIBMTP_FILETYPE_JP2 ||\
199a == LIBMTP_FILETYPE_JPX ||\
200a == LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT)
201
206#define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)\
207(a == LIBMTP_FILETYPE_VCARD2 ||\
208a == LIBMTP_FILETYPE_VCARD3)
209
214#define LIBMTP_FILETYPE_IS_CALENDAR(a)\
215(a == LIBMTP_FILETYPE_VCALENDAR1 ||\
216a == LIBMTP_FILETYPE_VCALENDAR2)
217
222typedef enum {
223 LIBMTP_PROPERTY_StorageID,
224 LIBMTP_PROPERTY_ObjectFormat,
225 LIBMTP_PROPERTY_ProtectionStatus,
226 LIBMTP_PROPERTY_ObjectSize,
227 LIBMTP_PROPERTY_AssociationType,
228 LIBMTP_PROPERTY_AssociationDesc,
229 LIBMTP_PROPERTY_ObjectFileName,
230 LIBMTP_PROPERTY_DateCreated,
231 LIBMTP_PROPERTY_DateModified,
232 LIBMTP_PROPERTY_Keywords,
233 LIBMTP_PROPERTY_ParentObject,
234 LIBMTP_PROPERTY_AllowedFolderContents,
235 LIBMTP_PROPERTY_Hidden,
236 LIBMTP_PROPERTY_SystemObject,
237 LIBMTP_PROPERTY_PersistantUniqueObjectIdentifier,
238 LIBMTP_PROPERTY_SyncID,
239 LIBMTP_PROPERTY_PropertyBag,
240 LIBMTP_PROPERTY_Name,
241 LIBMTP_PROPERTY_CreatedBy,
242 LIBMTP_PROPERTY_Artist,
243 LIBMTP_PROPERTY_DateAuthored,
244 LIBMTP_PROPERTY_Description,
245 LIBMTP_PROPERTY_URLReference,
246 LIBMTP_PROPERTY_LanguageLocale,
247 LIBMTP_PROPERTY_CopyrightInformation,
248 LIBMTP_PROPERTY_Source,
249 LIBMTP_PROPERTY_OriginLocation,
250 LIBMTP_PROPERTY_DateAdded,
251 LIBMTP_PROPERTY_NonConsumable,
252 LIBMTP_PROPERTY_CorruptOrUnplayable,
253 LIBMTP_PROPERTY_ProducerSerialNumber,
254 LIBMTP_PROPERTY_RepresentativeSampleFormat,
255 LIBMTP_PROPERTY_RepresentativeSampleSize,
256 LIBMTP_PROPERTY_RepresentativeSampleHeight,
257 LIBMTP_PROPERTY_RepresentativeSampleWidth,
258 LIBMTP_PROPERTY_RepresentativeSampleDuration,
259 LIBMTP_PROPERTY_RepresentativeSampleData,
260 LIBMTP_PROPERTY_Width,
261 LIBMTP_PROPERTY_Height,
262 LIBMTP_PROPERTY_Duration,
263 LIBMTP_PROPERTY_Rating,
264 LIBMTP_PROPERTY_Track,
265 LIBMTP_PROPERTY_Genre,
266 LIBMTP_PROPERTY_Credits,
267 LIBMTP_PROPERTY_Lyrics,
268 LIBMTP_PROPERTY_SubscriptionContentID,
269 LIBMTP_PROPERTY_ProducedBy,
270 LIBMTP_PROPERTY_UseCount,
271 LIBMTP_PROPERTY_SkipCount,
272 LIBMTP_PROPERTY_LastAccessed,
273 LIBMTP_PROPERTY_ParentalRating,
274 LIBMTP_PROPERTY_MetaGenre,
275 LIBMTP_PROPERTY_Composer,
276 LIBMTP_PROPERTY_EffectiveRating,
277 LIBMTP_PROPERTY_Subtitle,
278 LIBMTP_PROPERTY_OriginalReleaseDate,
279 LIBMTP_PROPERTY_AlbumName,
280 LIBMTP_PROPERTY_AlbumArtist,
281 LIBMTP_PROPERTY_Mood,
282 LIBMTP_PROPERTY_DRMStatus,
283 LIBMTP_PROPERTY_SubDescription,
284 LIBMTP_PROPERTY_IsCropped,
285 LIBMTP_PROPERTY_IsColorCorrected,
286 LIBMTP_PROPERTY_ImageBitDepth,
287 LIBMTP_PROPERTY_Fnumber,
288 LIBMTP_PROPERTY_ExposureTime,
289 LIBMTP_PROPERTY_ExposureIndex,
290 LIBMTP_PROPERTY_DisplayName,
291 LIBMTP_PROPERTY_BodyText,
292 LIBMTP_PROPERTY_Subject,
293 LIBMTP_PROPERTY_Priority,
294 LIBMTP_PROPERTY_GivenName,
295 LIBMTP_PROPERTY_MiddleNames,
296 LIBMTP_PROPERTY_FamilyName,
297 LIBMTP_PROPERTY_Prefix,
298 LIBMTP_PROPERTY_Suffix,
299 LIBMTP_PROPERTY_PhoneticGivenName,
300 LIBMTP_PROPERTY_PhoneticFamilyName,
301 LIBMTP_PROPERTY_EmailPrimary,
302 LIBMTP_PROPERTY_EmailPersonal1,
303 LIBMTP_PROPERTY_EmailPersonal2,
304 LIBMTP_PROPERTY_EmailBusiness1,
305 LIBMTP_PROPERTY_EmailBusiness2,
306 LIBMTP_PROPERTY_EmailOthers,
307 LIBMTP_PROPERTY_PhoneNumberPrimary,
308 LIBMTP_PROPERTY_PhoneNumberPersonal,
309 LIBMTP_PROPERTY_PhoneNumberPersonal2,
310 LIBMTP_PROPERTY_PhoneNumberBusiness,
311 LIBMTP_PROPERTY_PhoneNumberBusiness2,
312 LIBMTP_PROPERTY_PhoneNumberMobile,
313 LIBMTP_PROPERTY_PhoneNumberMobile2,
314 LIBMTP_PROPERTY_FaxNumberPrimary,
315 LIBMTP_PROPERTY_FaxNumberPersonal,
316 LIBMTP_PROPERTY_FaxNumberBusiness,
317 LIBMTP_PROPERTY_PagerNumber,
318 LIBMTP_PROPERTY_PhoneNumberOthers,
319 LIBMTP_PROPERTY_PrimaryWebAddress,
320 LIBMTP_PROPERTY_PersonalWebAddress,
321 LIBMTP_PROPERTY_BusinessWebAddress,
322 LIBMTP_PROPERTY_InstantMessengerAddress,
323 LIBMTP_PROPERTY_InstantMessengerAddress2,
324 LIBMTP_PROPERTY_InstantMessengerAddress3,
325 LIBMTP_PROPERTY_PostalAddressPersonalFull,
326 LIBMTP_PROPERTY_PostalAddressPersonalFullLine1,
327 LIBMTP_PROPERTY_PostalAddressPersonalFullLine2,
328 LIBMTP_PROPERTY_PostalAddressPersonalFullCity,
329 LIBMTP_PROPERTY_PostalAddressPersonalFullRegion,
330 LIBMTP_PROPERTY_PostalAddressPersonalFullPostalCode,
331 LIBMTP_PROPERTY_PostalAddressPersonalFullCountry,
332 LIBMTP_PROPERTY_PostalAddressBusinessFull,
333 LIBMTP_PROPERTY_PostalAddressBusinessLine1,
334 LIBMTP_PROPERTY_PostalAddressBusinessLine2,
335 LIBMTP_PROPERTY_PostalAddressBusinessCity,
336 LIBMTP_PROPERTY_PostalAddressBusinessRegion,
337 LIBMTP_PROPERTY_PostalAddressBusinessPostalCode,
338 LIBMTP_PROPERTY_PostalAddressBusinessCountry,
339 LIBMTP_PROPERTY_PostalAddressOtherFull,
340 LIBMTP_PROPERTY_PostalAddressOtherLine1,
341 LIBMTP_PROPERTY_PostalAddressOtherLine2,
342 LIBMTP_PROPERTY_PostalAddressOtherCity,
343 LIBMTP_PROPERTY_PostalAddressOtherRegion,
344 LIBMTP_PROPERTY_PostalAddressOtherPostalCode,
345 LIBMTP_PROPERTY_PostalAddressOtherCountry,
346 LIBMTP_PROPERTY_OrganizationName,
347 LIBMTP_PROPERTY_PhoneticOrganizationName,
348 LIBMTP_PROPERTY_Role,
349 LIBMTP_PROPERTY_Birthdate,
350 LIBMTP_PROPERTY_MessageTo,
351 LIBMTP_PROPERTY_MessageCC,
352 LIBMTP_PROPERTY_MessageBCC,
353 LIBMTP_PROPERTY_MessageRead,
354 LIBMTP_PROPERTY_MessageReceivedTime,
355 LIBMTP_PROPERTY_MessageSender,
356 LIBMTP_PROPERTY_ActivityBeginTime,
357 LIBMTP_PROPERTY_ActivityEndTime,
358 LIBMTP_PROPERTY_ActivityLocation,
359 LIBMTP_PROPERTY_ActivityRequiredAttendees,
360 LIBMTP_PROPERTY_ActivityOptionalAttendees,
361 LIBMTP_PROPERTY_ActivityResources,
362 LIBMTP_PROPERTY_ActivityAccepted,
363 LIBMTP_PROPERTY_Owner,
364 LIBMTP_PROPERTY_Editor,
365 LIBMTP_PROPERTY_Webmaster,
366 LIBMTP_PROPERTY_URLSource,
367 LIBMTP_PROPERTY_URLDestination,
368 LIBMTP_PROPERTY_TimeBookmark,
369 LIBMTP_PROPERTY_ObjectBookmark,
370 LIBMTP_PROPERTY_ByteBookmark,
371 LIBMTP_PROPERTY_LastBuildDate,
372 LIBMTP_PROPERTY_TimetoLive,
373 LIBMTP_PROPERTY_MediaGUID,
374 LIBMTP_PROPERTY_TotalBitRate,
375 LIBMTP_PROPERTY_BitRateType,
376 LIBMTP_PROPERTY_SampleRate,
377 LIBMTP_PROPERTY_NumberOfChannels,
378 LIBMTP_PROPERTY_AudioBitDepth,
379 LIBMTP_PROPERTY_ScanDepth,
380 LIBMTP_PROPERTY_AudioWAVECodec,
381 LIBMTP_PROPERTY_AudioBitRate,
382 LIBMTP_PROPERTY_VideoFourCCCodec,
383 LIBMTP_PROPERTY_VideoBitRate,
384 LIBMTP_PROPERTY_FramesPerThousandSeconds,
385 LIBMTP_PROPERTY_KeyFrameDistance,
386 LIBMTP_PROPERTY_BufferSize,
387 LIBMTP_PROPERTY_EncodingQuality,
388 LIBMTP_PROPERTY_EncodingProfile,
389 LIBMTP_PROPERTY_BuyFlag,
390 LIBMTP_PROPERTY_UNKNOWN
392
396typedef enum {
397 LIBMTP_DATATYPE_INT8,
398 LIBMTP_DATATYPE_UINT8,
399 LIBMTP_DATATYPE_INT16,
400 LIBMTP_DATATYPE_UINT16,
401 LIBMTP_DATATYPE_INT32,
402 LIBMTP_DATATYPE_UINT32,
403 LIBMTP_DATATYPE_INT64,
404 LIBMTP_DATATYPE_UINT64,
406
410typedef enum {
430
435typedef enum {
436 LIBMTP_ERROR_NONE,
437 LIBMTP_ERROR_GENERAL,
438 LIBMTP_ERROR_PTP_LAYER,
439 LIBMTP_ERROR_USB_LAYER,
440 LIBMTP_ERROR_MEMORY_ALLOCATION,
441 LIBMTP_ERROR_NO_DEVICE_ATTACHED,
442 LIBMTP_ERROR_STORAGE_FULL,
443 LIBMTP_ERROR_CONNECTING,
444 LIBMTP_ERROR_CANCELLED
446
458typedef struct LIBMTP_object_struct LIBMTP_object_t;
472typedef int (* LIBMTP_progressfunc_t) (uint64_t const sent, uint64_t const total,
473 void const * const data);
474
487typedef uint16_t (* MTPDataGetFunc) (void* params, void* priv,
488 uint32_t wantlen, unsigned char *data, uint32_t *gotlen);
489
502typedef uint16_t (* MTPDataPutFunc) (void* params, void* priv,
503 uint32_t sendlen, unsigned char *data, uint32_t *putlen);
504
508#define LIBMTP_HANDLER_RETURN_OK 0
509#define LIBMTP_HANDLER_RETURN_ERROR 1
510#define LIBMTP_HANDLER_RETURN_CANCEL 2
511
522 char *vendor;
523 uint16_t vendor_id;
524 char *product;
525 uint16_t product_id;
526 uint32_t device_flags;
527};
528
535 uint32_t bus_location;
536 uint8_t devnum;
537};
538
543 LIBMTP_error_number_t errornumber;
544 char *error_text;
545 LIBMTP_error_t *next;
546};
547
552 uint8_t u8max;
553 uint8_t u8min;
554 uint8_t u8step;
555 uint8_t* u8vals;
556 int8_t i8max;
557 int8_t i8min;
558 int8_t i8step;
559 int8_t* i8vals;
560 uint16_t u16max;
561 uint16_t u16min;
562 uint16_t u16step;
563 uint16_t* u16vals;
564 int16_t i16max;
565 int16_t i16min;
566 int16_t i16step;
567 int16_t* i16vals;
568 uint32_t u32max;
569 uint32_t u32min;
570 uint32_t u32step;
571 uint32_t* u32vals;
572 int32_t i32max;
573 int32_t i32min;
574 int32_t i32step;
575 int32_t* i32vals;
576 uint64_t u64max;
577 uint64_t u64min;
578 uint64_t u64step;
579 uint64_t* u64vals;
580 int64_t i64max;
581 int64_t i64min;
582 int64_t i64step;
583 int64_t* i64vals;
587 uint16_t num_entries;
596};
597
605 char *name;
609 int major;
613 int minor;
619};
620
633 void *params;
638 void *usbinfo;
670 void *cd;
675
678};
679
684 uint32_t item_id;
685 uint32_t parent_id;
686 uint32_t storage_id;
687 char *filename;
688 uint64_t filesize;
692};
693
698 uint32_t item_id;
699 uint32_t parent_id;
700 uint32_t storage_id;
701 char *title;
702 char *artist;
703 char *composer;
704 char *genre;
705 char *album;
706 char *date;
707 char *filename;
708 uint16_t tracknumber;
709 uint32_t duration;
710 uint32_t samplerate;
711 uint16_t nochannels;
712 uint32_t wavecodec;
713 uint32_t bitrate;
714 uint16_t bitratetype;
715 uint16_t rating;
716 uint32_t usecount;
717 uint64_t filesize;
721};
722
727 uint32_t playlist_id;
728 uint32_t parent_id;
729 uint32_t storage_id;
730 char *name;
731 uint32_t *tracks;
732 uint32_t no_tracks;
734};
735
740 uint32_t album_id;
741 uint32_t parent_id;
742 uint32_t storage_id;
743 char *name;
744 char *artist;
745 char *composer;
746 char *genre;
747 uint32_t *tracks;
748 uint32_t no_tracks;
750};
751
756 uint32_t folder_id;
757 uint32_t parent_id;
758 uint32_t storage_id;
759 char *name;
762};
763
768 uint32_t width;
769 uint32_t height;
770 uint32_t duration;
772 uint64_t size;
773 char *data;
774};
775
780 uint32_t id;
781 uint16_t StorageType;
782 uint16_t FilesystemType;
784 uint64_t MaxCapacity;
791};
792
798 LIBMTP_EVENT_NONE,
799 LIBMTP_EVENT_STORE_ADDED,
800 LIBMTP_EVENT_STORE_REMOVED,
801 LIBMTP_EVENT_OBJECT_ADDED,
802 LIBMTP_EVENT_OBJECT_REMOVED,
803};
804typedef enum LIBMTP_event_enum LIBMTP_event_t;
805
808/* Make functions available for C++ */
809#ifdef __cplusplus
810extern "C" {
811#endif
812
813extern int LIBMTP_debug;
814
819void LIBMTP_Set_Debug(int);
820void LIBMTP_Init(void);
828int LIBMTP_Check_Specific_Device(int busno, int devno);
829LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device(LIBMTP_raw_device_t *);
831/* Begin old, legacy interface */
836/* End old, legacy interface */
845int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t*, char const * const);
847int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t*, char const * const);
849 uint8_t * const,
850 uint8_t * const);
851int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char ** const);
853int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t ** const, uint16_t * const);
858
859#define LIBMTP_STORAGE_SORTBY_NOTSORTED 0
860#define LIBMTP_STORAGE_SORTBY_FREESPACE 1
861#define LIBMTP_STORAGE_SORTBY_MAXSPACE 2
862
863int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const);
865
871uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
872 LIBMTP_property_t const, uint64_t const);
873uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
874 LIBMTP_property_t const, uint32_t const);
875uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
876 LIBMTP_property_t const, uint16_t const);
877uint8_t LIBMTP_Get_u8_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
878 LIBMTP_property_t const, uint8_t const);
879int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *, uint32_t const,
880 LIBMTP_property_t const, char const * const);
881int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *, uint32_t const,
882 LIBMTP_property_t const, uint32_t const);
883int LIBMTP_Set_Object_u16(LIBMTP_mtpdevice_t *, uint32_t const,
884 LIBMTP_property_t const, uint16_t const);
885int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *, uint32_t const,
886 LIBMTP_property_t const, uint8_t const);
889 LIBMTP_filetype_t const);
893
904 LIBMTP_progressfunc_t const, void const * const);
905
906#define LIBMTP_FILES_AND_FOLDERS_ROOT 0xffffffff
907
909 uint32_t const,
910 uint32_t const);
912int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
913 LIBMTP_progressfunc_t const, void const * const);
915 uint32_t const,
916 int const,
918 void const * const);
920 uint32_t const,
922 void *,
924 void const * const);
926 char const * const,
927 LIBMTP_file_t * const,
929 void const * const);
931 int const,
932 LIBMTP_file_t * const,
934 void const * const);
936 MTPDataGetFunc, void *,
937 LIBMTP_file_t * const,
939 void const * const);
942 const char *);
946 LIBMTP_filetype_t const,
952int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const,
953 unsigned char **data, unsigned int *size);
954
964 LIBMTP_progressfunc_t const, void const * const);
966 LIBMTP_progressfunc_t const, void const * const);
968int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
969 LIBMTP_progressfunc_t const, void const * const);
970int LIBMTP_Get_Track_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const, int const,
971 LIBMTP_progressfunc_t const, void const * const);
973 void *, LIBMTP_progressfunc_t const, void const * const);
975 char const * const, LIBMTP_track_t * const,
977 void const * const);
979 int const, LIBMTP_track_t * const,
981 void const * const);
983 MTPDataGetFunc, void *, LIBMTP_track_t * const,
985 void const * const);
987 LIBMTP_track_t const * const);
988int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const);
1001 uint32_t const);
1003uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char *, uint32_t, uint32_t);
1020
1034
1041int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t , char *);
1042int LIBMTP_GetPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
1043 uint64_t, uint32_t,
1044 unsigned char **, unsigned int *);
1045int LIBMTP_SendPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
1046 uint64_t, unsigned char *, unsigned int);
1047int LIBMTP_BeginEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
1048int LIBMTP_EndEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
1049int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *, uint32_t const, uint64_t);
1050
1056typedef void(* LIBMTP_event_cb_fn) (int, LIBMTP_event_t, uint32_t, void *);
1057int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *);
1058int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *);
1059int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *);
1060
1066int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *, uint16_t, int, ...);
1067
1070/* End of C++ exports */
1071#ifdef __cplusplus
1072}
1073#endif
1074
1075#endif /* LIBMTP_H_INCLUSION_GUARD */
1076
LIBMTP_album_t * LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:8455
int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t *const)
Definition: libmtp.c:8583
void LIBMTP_destroy_album_t(LIBMTP_album_t *)
Definition: libmtp.c:8300
int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const *const)
Definition: libmtp.c:9108
LIBMTP_album_t * LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:8518
LIBMTP_album_t * LIBMTP_new_album_t(void)
Definition: libmtp.c:8275
LIBMTP_album_t * LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:8437
int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *)
Definition: libmtp.c:7017
uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint64_t const)
Definition: libmtp.c:1216
int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:3943
int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *)
Definition: libmtp.c:3859
LIBMTP_mtpdevice_t * LIBMTP_Get_First_Device(void)
Definition: libmtp.c:1687
uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2350
int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint32_t const)
Definition: libmtp.c:1292
uint8_t LIBMTP_Get_u8_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint8_t const)
Definition: libmtp.c:1261
LIBMTP_mtpdevice_t * LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *)
Definition: libmtp.c:1832
LIBMTP_error_t * LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2523
void LIBMTP_Release_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2420
char * LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3625
char * LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3569
void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2566
void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2539
void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2403
int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:3957
char * LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3647
int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const)
Definition: libmtp.c:4083
int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t **const, uint16_t *const)
Definition: libmtp.c:3978
char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty)
Definition: libmtp.c:830
int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3543
void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t *)
Definition: libmtp.c:1111
char * LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3588
uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint32_t const)
Definition: libmtp.c:1231
int LIBMTP_Set_Object_u16(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint16_t const)
Definition: libmtp.c:1307
int LIBMTP_Get_Allowed_Property_Values(LIBMTP_mtpdevice_t *, LIBMTP_property_t const, LIBMTP_filetype_t const, LIBMTP_allowed_values_t *)
Definition: libmtp.c:963
int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:3748
char * LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const)
Definition: libmtp.c:1201
uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint16_t const)
Definition: libmtp.c:1246
int LIBMTP_Check_Specific_Device(int busno, int devno)
Definition: libopenusb1-glue.c:556
char * LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3606
int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint8_t const)
Definition: libmtp.c:1322
char * LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3710
int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t)
Definition: libmtp.c:4028
int LIBMTP_Is_Property_Supported(LIBMTP_mtpdevice_t *, LIBMTP_property_t const, LIBMTP_filetype_t const)
Definition: libmtp.c:1160
LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *)
Definition: libopenusb1-glue.c:592
int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *, uint8_t *const, uint8_t *const)
Definition: libmtp.c:3817
void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3146
int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, char const *const)
Definition: libmtp.c:1276
int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:3680
LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **)
Definition: libmtp.c:2368
int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *, uint16_t, int,...)
Definition: libmtp.c:9168
int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc, void *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5308
LIBMTP_file_t * LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:4345
int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:8902
void LIBMTP_destroy_file_t(LIBMTP_file_t *)
Definition: libmtp.c:4213
LIBMTP_file_t * LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:4417
int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *, LIBMTP_file_t *, const char *)
Definition: libmtp.c:6883
int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *, int const, LIBMTP_file_t *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5895
LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *, uint32_t const, uint32_t const)
Definition: libmtp.c:4482
LIBMTP_file_t * LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4369
int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *)
Definition: libmtp.c:2157
int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t *, uint32_t const, int const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5244
int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *, char const *const, LIBMTP_file_t *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5817
int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const, unsigned char **data, unsigned int *size)
Definition: libmtp.c:8974
LIBMTP_file_t * LIBMTP_new_file_t(void)
Definition: libmtp.c:4189
int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t *, uint32_t, char const *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5184
char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t)
Definition: libmtp.c:807
LIBMTP_filesampledata_t * LIBMTP_new_filesampledata_t(void)
Definition: libmtp.c:8622
int LIBMTP_Send_File_From_Handler(LIBMTP_mtpdevice_t *, MTPDataGetFunc, void *, LIBMTP_file_t *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:6012
int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:8807
int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *)
Definition: libmtp.c:2300
int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *, LIBMTP_filetype_t const, LIBMTP_filesampledata_t **)
Definition: libmtp.c:8674
void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *)
Definition: libmtp.c:8640
int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *)
Definition: libopenusb1-glue.c:1703
int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *)
Definition: libmtp.c:6913
LIBMTP_folder_t * LIBMTP_new_folder_t(void)
Definition: libmtp.c:7095
LIBMTP_folder_t * LIBMTP_Find_Folder(LIBMTP_folder_t *, uint32_t const)
Definition: libmtp.c:7149
LIBMTP_folder_t * LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7218
uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t *, char *, uint32_t, uint32_t)
Definition: libmtp.c:7348
LIBMTP_folder_t * LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:7324
void LIBMTP_destroy_folder_t(LIBMTP_folder_t *)
Definition: libmtp.c:7118
int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t **const, int *const)
Definition: libopenusb1-glue.c:131
void LIBMTP_Init(void)
Definition: libmtp.c:774
void LIBMTP_Set_Debug(int)
Definition: libmtp.c:756
int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t, char *)
Definition: libmtp.c:7045
int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t)
Definition: libmtp.c:6774
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition: libmtp.c:8244
int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *)
Definition: libmtp.c:6980
LIBMTP_playlist_t * LIBMTP_new_playlist_t(void)
Definition: libmtp.c:7431
int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition: libmtp.c:8192
void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *)
Definition: libmtp.c:7454
LIBMTP_playlist_t * LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7557
LIBMTP_playlist_t * LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:7479
LIBMTP_event_enum
Definition: libmtp.h:797
int LIBMTP_Get_Track_To_File_Descriptor(LIBMTP_mtpdevice_t *, uint32_t const, int const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5407
int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *, LIBMTP_track_t const *const)
Definition: libmtp.c:6383
LIBMTP_track_t * LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:5040
int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7072
int LIBMTP_Get_Track_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc, void *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5434
int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t *, uint32_t, char const *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5383
int LIBMTP_Send_Track_From_File(LIBMTP_mtpdevice_t *, char const *const, LIBMTP_track_t *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5482
LIBMTP_track_t * LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:4872
LIBMTP_track_t * LIBMTP_Get_Tracklisting_With_Callback_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:4922
int LIBMTP_Send_Track_From_File_Descriptor(LIBMTP_mtpdevice_t *, int const, LIBMTP_track_t *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5614
LIBMTP_track_t * LIBMTP_new_track_t(void)
Definition: libmtp.c:4577
int LIBMTP_Send_Track_From_Handler(LIBMTP_mtpdevice_t *, MTPDataGetFunc, void *, LIBMTP_track_t *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5718
LIBMTP_track_t * LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4824
int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *)
Definition: libmtp.c:6943
void LIBMTP_destroy_track_t(LIBMTP_track_t *)
Definition: libmtp.c:4616
LIBMTP_error_number_t
Definition: libmtp.h:435
LIBMTP_property_t
Definition: libmtp.h:222
LIBMTP_filetype_t
Definition: libmtp.h:86
LIBMTP_datatype_t
Definition: libmtp.h:396
LIBMTP_devicecap_t
Definition: libmtp.h:410
int(* LIBMTP_progressfunc_t)(uint64_t const sent, uint64_t const total, void const *const data)
Definition: libmtp.h:472
uint16_t(* MTPDataGetFunc)(void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)
Definition: libmtp.h:487
uint16_t(* MTPDataPutFunc)(void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)
Definition: libmtp.h:502
struct LIBMTP_object_struct LIBMTP_object_t
Definition: libmtp.h:458
@ LIBMTP_DEVICECAP_GetPartialObject
Definition: libmtp.h:415
@ LIBMTP_DEVICECAP_EditObjects
Definition: libmtp.h:428
@ LIBMTP_DEVICECAP_SendPartialObject
Definition: libmtp.h:420
int LIBMTP_debug
Definition: libmtp.c:89
Definition: libmtp.h:739
LIBMTP_album_t * next
Definition: libmtp.h:749
uint32_t parent_id
Definition: libmtp.h:741
uint32_t * tracks
Definition: libmtp.h:747
uint32_t storage_id
Definition: libmtp.h:742
uint32_t no_tracks
Definition: libmtp.h:748
char * name
Definition: libmtp.h:743
uint32_t album_id
Definition: libmtp.h:740
char * artist
Definition: libmtp.h:744
char * composer
Definition: libmtp.h:745
char * genre
Definition: libmtp.h:746
Definition: libmtp.h:551
uint16_t num_entries
Definition: libmtp.h:587
int is_range
Definition: libmtp.h:595
LIBMTP_datatype_t datatype
Definition: libmtp.h:591
Definition: libmtp.h:521
uint16_t vendor_id
Definition: libmtp.h:523
uint16_t product_id
Definition: libmtp.h:525
char * vendor
Definition: libmtp.h:522
uint32_t device_flags
Definition: libmtp.h:526
char * product
Definition: libmtp.h:524
Definition: libmtp.h:601
int minor
Definition: libmtp.h:613
char * name
Definition: libmtp.h:605
int major
Definition: libmtp.h:609
LIBMTP_device_extension_t * next
Definition: libmtp.h:618
Definition: libmtp.h:779
uint16_t AccessCapability
Definition: libmtp.h:783
char * VolumeIdentifier
Definition: libmtp.h:788
uint64_t FreeSpaceInBytes
Definition: libmtp.h:785
uint64_t FreeSpaceInObjects
Definition: libmtp.h:786
char * StorageDescription
Definition: libmtp.h:787
uint64_t MaxCapacity
Definition: libmtp.h:784
LIBMTP_devicestorage_t * prev
Definition: libmtp.h:790
uint16_t StorageType
Definition: libmtp.h:781
uint16_t FilesystemType
Definition: libmtp.h:782
LIBMTP_devicestorage_t * next
Definition: libmtp.h:789
uint32_t id
Definition: libmtp.h:780
Definition: libmtp.h:542
Definition: libmtp.h:683
time_t modificationdate
Definition: libmtp.h:689
LIBMTP_file_t * next
Definition: libmtp.h:691
char * filename
Definition: libmtp.h:687
uint64_t filesize
Definition: libmtp.h:688
uint32_t parent_id
Definition: libmtp.h:685
uint32_t item_id
Definition: libmtp.h:684
uint32_t storage_id
Definition: libmtp.h:686
LIBMTP_filetype_t filetype
Definition: libmtp.h:690
Definition: libmtp.h:767
uint32_t width
Definition: libmtp.h:768
LIBMTP_filetype_t filetype
Definition: libmtp.h:771
uint32_t height
Definition: libmtp.h:769
char * data
Definition: libmtp.h:773
uint64_t size
Definition: libmtp.h:772
uint32_t duration
Definition: libmtp.h:770
Definition: libmtp.h:755
uint32_t folder_id
Definition: libmtp.h:756
LIBMTP_folder_t * sibling
Definition: libmtp.h:760
LIBMTP_folder_t * child
Definition: libmtp.h:761
uint32_t parent_id
Definition: libmtp.h:757
char * name
Definition: libmtp.h:759
uint32_t storage_id
Definition: libmtp.h:758
Definition: libmtp.h:624
uint8_t maximum_battery_level
Definition: libmtp.h:652
uint8_t object_bitsize
Definition: libmtp.h:628
uint32_t default_zencast_folder
Definition: libmtp.h:664
LIBMTP_error_t * errorstack
Definition: libmtp.h:650
int cached
Definition: libmtp.h:674
LIBMTP_device_extension_t * extensions
Definition: libmtp.h:672
void * cd
Definition: libmtp.h:670
void * usbinfo
Definition: libmtp.h:638
LIBMTP_mtpdevice_t * next
Definition: libmtp.h:677
uint32_t default_playlist_folder
Definition: libmtp.h:656
uint32_t default_text_folder
Definition: libmtp.h:668
uint32_t default_organizer_folder
Definition: libmtp.h:662
uint32_t default_album_folder
Definition: libmtp.h:666
uint32_t default_music_folder
Definition: libmtp.h:654
uint32_t default_picture_folder
Definition: libmtp.h:658
void * params
Definition: libmtp.h:633
LIBMTP_devicestorage_t * storage
Definition: libmtp.h:645
uint32_t default_video_folder
Definition: libmtp.h:660
Definition: libmtp.h:726
LIBMTP_playlist_t * next
Definition: libmtp.h:733
uint32_t playlist_id
Definition: libmtp.h:727
char * name
Definition: libmtp.h:730
uint32_t parent_id
Definition: libmtp.h:728
uint32_t no_tracks
Definition: libmtp.h:732
uint32_t * tracks
Definition: libmtp.h:731
uint32_t storage_id
Definition: libmtp.h:729
Definition: libmtp.h:533
uint8_t devnum
Definition: libmtp.h:536
LIBMTP_device_entry_t device_entry
Definition: libmtp.h:534
uint32_t bus_location
Definition: libmtp.h:535
Definition: libmtp.h:697
char * title
Definition: libmtp.h:701
char * genre
Definition: libmtp.h:704
uint32_t storage_id
Definition: libmtp.h:700
char * composer
Definition: libmtp.h:703
uint32_t samplerate
Definition: libmtp.h:710
uint16_t bitratetype
Definition: libmtp.h:714
char * date
Definition: libmtp.h:706
uint64_t filesize
Definition: libmtp.h:717
uint16_t nochannels
Definition: libmtp.h:711
uint32_t parent_id
Definition: libmtp.h:699
uint32_t item_id
Definition: libmtp.h:698
uint32_t usecount
Definition: libmtp.h:716
uint16_t tracknumber
Definition: libmtp.h:708
char * filename
Definition: libmtp.h:707
char * album
Definition: libmtp.h:705
uint32_t duration
Definition: libmtp.h:709
uint32_t bitrate
Definition: libmtp.h:713
time_t modificationdate
Definition: libmtp.h:718
uint16_t rating
Definition: libmtp.h:715
LIBMTP_track_t * next
Definition: libmtp.h:720
uint32_t wavecodec
Definition: libmtp.h:712
LIBMTP_filetype_t filetype
Definition: libmtp.h:719
char * artist
Definition: libmtp.h:702