libmtp: /root/tmp/build-libmtp/libmtp-1.1.11/src/libmtp.h Source File

libmtp 1.1.11

- Main Page
- Modules
- Data Structures
- Files
- Examples

- File List
- Globals

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.11
33 #define LIBMTP_VERSION_STRING "1.1.11"
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 */
46 typedef char int8_t;
47 typedef unsigned char uint8_t;
48 typedef __int16 int16_t;
49 typedef unsigned __int16 uint16_t;
50 typedef __int32 int32_t;
51 typedef unsigned __int32 uint32_t;
52 typedef unsigned __int64 uint64_t;
53 #endif
54
55 #include <stdio.h>
56 #include <stdint.h>
57 /* We use time_t */
58 #include <time.h>
59
71 #define LIBMTP_DEBUG_NONE 0x00
72 #define LIBMTP_DEBUG_PTP 0x01
73 #define LIBMTP_DEBUG_PLST 0x02
74 #define LIBMTP_DEBUG_USB 0x04
75 #define LIBMTP_DEBUG_DATA 0x08
76 #define LIBMTP_DEBUG_ALL 0xFF
77
78
84 typedef enum {
85 LIBMTP_FILETYPE_FOLDER,
86 LIBMTP_FILETYPE_WAV,
87 LIBMTP_FILETYPE_MP3,
88 LIBMTP_FILETYPE_WMA,
89 LIBMTP_FILETYPE_OGG,
90 LIBMTP_FILETYPE_AUDIBLE,
91 LIBMTP_FILETYPE_MP4,
92 LIBMTP_FILETYPE_UNDEF_AUDIO,
93 LIBMTP_FILETYPE_WMV,
94 LIBMTP_FILETYPE_AVI,
95 LIBMTP_FILETYPE_MPEG,
96 LIBMTP_FILETYPE_ASF,
97 LIBMTP_FILETYPE_QT,
98 LIBMTP_FILETYPE_UNDEF_VIDEO,
99 LIBMTP_FILETYPE_JPEG,
100 LIBMTP_FILETYPE_JFIF,
101 LIBMTP_FILETYPE_TIFF,
102 LIBMTP_FILETYPE_BMP,
103 LIBMTP_FILETYPE_GIF,
104 LIBMTP_FILETYPE_PICT,
105 LIBMTP_FILETYPE_PNG,
106 LIBMTP_FILETYPE_VCALENDAR1,
107 LIBMTP_FILETYPE_VCALENDAR2,
108 LIBMTP_FILETYPE_VCARD2,
109 LIBMTP_FILETYPE_VCARD3,
110 LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT,
111 LIBMTP_FILETYPE_WINEXEC,
112 LIBMTP_FILETYPE_TEXT,
113 LIBMTP_FILETYPE_HTML,
114 LIBMTP_FILETYPE_FIRMWARE,
115 LIBMTP_FILETYPE_AAC,
116 LIBMTP_FILETYPE_MEDIACARD,
117 LIBMTP_FILETYPE_FLAC,
118 LIBMTP_FILETYPE_MP2,
119 LIBMTP_FILETYPE_M4A,
120 LIBMTP_FILETYPE_DOC,
121 LIBMTP_FILETYPE_XML,
122 LIBMTP_FILETYPE_XLS,
123 LIBMTP_FILETYPE_PPT,
124 LIBMTP_FILETYPE_MHT,
125 LIBMTP_FILETYPE_JP2,
126 LIBMTP_FILETYPE_JPX,
127 LIBMTP_FILETYPE_ALBUM,
128 LIBMTP_FILETYPE_PLAYLIST,
129 LIBMTP_FILETYPE_UNKNOWN
130 } LIBMTP_filetype_t;
131
139 #define LIBMTP_FILETYPE_IS_AUDIO(a)\
140 (a == LIBMTP_FILETYPE_WAV ||\
141 a == LIBMTP_FILETYPE_MP3 ||\
142 a == LIBMTP_FILETYPE_MP2 ||\
143 a == LIBMTP_FILETYPE_WMA ||\
144 a == LIBMTP_FILETYPE_OGG ||\
145 a == LIBMTP_FILETYPE_FLAC ||\
146 a == LIBMTP_FILETYPE_AAC ||\
147 a == LIBMTP_FILETYPE_M4A ||\
148 a == LIBMTP_FILETYPE_AUDIBLE ||\
149 a == LIBMTP_FILETYPE_UNDEF_AUDIO)
150
158 #define LIBMTP_FILETYPE_IS_VIDEO(a)\
159 (a == LIBMTP_FILETYPE_WMV ||\
160 a == LIBMTP_FILETYPE_AVI ||\
161 a == LIBMTP_FILETYPE_MPEG ||\
162 a == LIBMTP_FILETYPE_UNDEF_VIDEO)
163
168 #define LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)\
169 (a == LIBMTP_FILETYPE_MP4 ||\
170 a == LIBMTP_FILETYPE_ASF ||\
171 a == LIBMTP_FILETYPE_QT)
172
179 #define LIBMTP_FILETYPE_IS_TRACK(a)\
180 (LIBMTP_FILETYPE_IS_AUDIO(a) ||\
181 LIBMTP_FILETYPE_IS_VIDEO(a) ||\
182 LIBMTP_FILETYPE_IS_AUDIOVIDEO(a))
183
188 #define LIBMTP_FILETYPE_IS_IMAGE(a)\
189 (a == LIBMTP_FILETYPE_JPEG ||\
190 a == LIBMTP_FILETYPE_JFIF ||\
191 a == LIBMTP_FILETYPE_TIFF ||\
192 a == LIBMTP_FILETYPE_BMP ||\
193 a == LIBMTP_FILETYPE_GIF ||\
194 a == LIBMTP_FILETYPE_PICT ||\
195 a == LIBMTP_FILETYPE_PNG ||\
196 a == LIBMTP_FILETYPE_JP2 ||\
197 a == LIBMTP_FILETYPE_JPX ||\
198 a == LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT)
199
204 #define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)\
205 (a == LIBMTP_FILETYPE_VCARD2 ||\
206 a == LIBMTP_FILETYPE_VCARD3)
207
212 #define LIBMTP_FILETYPE_IS_CALENDAR(a)\
213 (a == LIBMTP_FILETYPE_VCALENDAR1 ||\
214 a == LIBMTP_FILETYPE_VCALENDAR2)
215
220 typedef enum {
221 LIBMTP_PROPERTY_StorageID,
222 LIBMTP_PROPERTY_ObjectFormat,
223 LIBMTP_PROPERTY_ProtectionStatus,
224 LIBMTP_PROPERTY_ObjectSize,
225 LIBMTP_PROPERTY_AssociationType,
226 LIBMTP_PROPERTY_AssociationDesc,
227 LIBMTP_PROPERTY_ObjectFileName,
228 LIBMTP_PROPERTY_DateCreated,
229 LIBMTP_PROPERTY_DateModified,
230 LIBMTP_PROPERTY_Keywords,
231 LIBMTP_PROPERTY_ParentObject,
232 LIBMTP_PROPERTY_AllowedFolderContents,
233 LIBMTP_PROPERTY_Hidden,
234 LIBMTP_PROPERTY_SystemObject,
235 LIBMTP_PROPERTY_PersistantUniqueObjectIdentifier,
236 LIBMTP_PROPERTY_SyncID,
237 LIBMTP_PROPERTY_PropertyBag,
238 LIBMTP_PROPERTY_Name,
239 LIBMTP_PROPERTY_CreatedBy,
240 LIBMTP_PROPERTY_Artist,
241 LIBMTP_PROPERTY_DateAuthored,
242 LIBMTP_PROPERTY_Description,
243 LIBMTP_PROPERTY_URLReference,
244 LIBMTP_PROPERTY_LanguageLocale,
245 LIBMTP_PROPERTY_CopyrightInformation,
246 LIBMTP_PROPERTY_Source,
247 LIBMTP_PROPERTY_OriginLocation,
248 LIBMTP_PROPERTY_DateAdded,
249 LIBMTP_PROPERTY_NonConsumable,
250 LIBMTP_PROPERTY_CorruptOrUnplayable,
251 LIBMTP_PROPERTY_ProducerSerialNumber,
252 LIBMTP_PROPERTY_RepresentativeSampleFormat,
253 LIBMTP_PROPERTY_RepresentativeSampleSize,
254 LIBMTP_PROPERTY_RepresentativeSampleHeight,
255 LIBMTP_PROPERTY_RepresentativeSampleWidth,
256 LIBMTP_PROPERTY_RepresentativeSampleDuration,
257 LIBMTP_PROPERTY_RepresentativeSampleData,
258 LIBMTP_PROPERTY_Width,
259 LIBMTP_PROPERTY_Height,
260 LIBMTP_PROPERTY_Duration,
261 LIBMTP_PROPERTY_Rating,
262 LIBMTP_PROPERTY_Track,
263 LIBMTP_PROPERTY_Genre,
264 LIBMTP_PROPERTY_Credits,
265 LIBMTP_PROPERTY_Lyrics,
266 LIBMTP_PROPERTY_SubscriptionContentID,
267 LIBMTP_PROPERTY_ProducedBy,
268 LIBMTP_PROPERTY_UseCount,
269 LIBMTP_PROPERTY_SkipCount,
270 LIBMTP_PROPERTY_LastAccessed,
271 LIBMTP_PROPERTY_ParentalRating,
272 LIBMTP_PROPERTY_MetaGenre,
273 LIBMTP_PROPERTY_Composer,
274 LIBMTP_PROPERTY_EffectiveRating,
275 LIBMTP_PROPERTY_Subtitle,
276 LIBMTP_PROPERTY_OriginalReleaseDate,
277 LIBMTP_PROPERTY_AlbumName,
278 LIBMTP_PROPERTY_AlbumArtist,
279 LIBMTP_PROPERTY_Mood,
280 LIBMTP_PROPERTY_DRMStatus,
281 LIBMTP_PROPERTY_SubDescription,
282 LIBMTP_PROPERTY_IsCropped,
283 LIBMTP_PROPERTY_IsColorCorrected,
284 LIBMTP_PROPERTY_ImageBitDepth,
285 LIBMTP_PROPERTY_Fnumber,
286 LIBMTP_PROPERTY_ExposureTime,
287 LIBMTP_PROPERTY_ExposureIndex,
288 LIBMTP_PROPERTY_DisplayName,
289 LIBMTP_PROPERTY_BodyText,
290 LIBMTP_PROPERTY_Subject,
291 LIBMTP_PROPERTY_Priority,
292 LIBMTP_PROPERTY_GivenName,
293 LIBMTP_PROPERTY_MiddleNames,
294 LIBMTP_PROPERTY_FamilyName,
295 LIBMTP_PROPERTY_Prefix,
296 LIBMTP_PROPERTY_Suffix,
297 LIBMTP_PROPERTY_PhoneticGivenName,
298 LIBMTP_PROPERTY_PhoneticFamilyName,
299 LIBMTP_PROPERTY_EmailPrimary,
300 LIBMTP_PROPERTY_EmailPersonal1,
301 LIBMTP_PROPERTY_EmailPersonal2,
302 LIBMTP_PROPERTY_EmailBusiness1,
303 LIBMTP_PROPERTY_EmailBusiness2,
304 LIBMTP_PROPERTY_EmailOthers,
305 LIBMTP_PROPERTY_PhoneNumberPrimary,
306 LIBMTP_PROPERTY_PhoneNumberPersonal,
307 LIBMTP_PROPERTY_PhoneNumberPersonal2,
308 LIBMTP_PROPERTY_PhoneNumberBusiness,
309 LIBMTP_PROPERTY_PhoneNumberBusiness2,
310 LIBMTP_PROPERTY_PhoneNumberMobile,
311 LIBMTP_PROPERTY_PhoneNumberMobile2,
312 LIBMTP_PROPERTY_FaxNumberPrimary,
313 LIBMTP_PROPERTY_FaxNumberPersonal,
314 LIBMTP_PROPERTY_FaxNumberBusiness,
315 LIBMTP_PROPERTY_PagerNumber,
316 LIBMTP_PROPERTY_PhoneNumberOthers,
317 LIBMTP_PROPERTY_PrimaryWebAddress,
318 LIBMTP_PROPERTY_PersonalWebAddress,
319 LIBMTP_PROPERTY_BusinessWebAddress,
320 LIBMTP_PROPERTY_InstantMessengerAddress,
321 LIBMTP_PROPERTY_InstantMessengerAddress2,
322 LIBMTP_PROPERTY_InstantMessengerAddress3,
323 LIBMTP_PROPERTY_PostalAddressPersonalFull,
324 LIBMTP_PROPERTY_PostalAddressPersonalFullLine1,
325 LIBMTP_PROPERTY_PostalAddressPersonalFullLine2,
326 LIBMTP_PROPERTY_PostalAddressPersonalFullCity,
327 LIBMTP_PROPERTY_PostalAddressPersonalFullRegion,
328 LIBMTP_PROPERTY_PostalAddressPersonalFullPostalCode,
329 LIBMTP_PROPERTY_PostalAddressPersonalFullCountry,
330 LIBMTP_PROPERTY_PostalAddressBusinessFull,
331 LIBMTP_PROPERTY_PostalAddressBusinessLine1,
332 LIBMTP_PROPERTY_PostalAddressBusinessLine2,
333 LIBMTP_PROPERTY_PostalAddressBusinessCity,
334 LIBMTP_PROPERTY_PostalAddressBusinessRegion,
335 LIBMTP_PROPERTY_PostalAddressBusinessPostalCode,
336 LIBMTP_PROPERTY_PostalAddressBusinessCountry,
337 LIBMTP_PROPERTY_PostalAddressOtherFull,
338 LIBMTP_PROPERTY_PostalAddressOtherLine1,
339 LIBMTP_PROPERTY_PostalAddressOtherLine2,
340 LIBMTP_PROPERTY_PostalAddressOtherCity,
341 LIBMTP_PROPERTY_PostalAddressOtherRegion,
342 LIBMTP_PROPERTY_PostalAddressOtherPostalCode,
343 LIBMTP_PROPERTY_PostalAddressOtherCountry,
344 LIBMTP_PROPERTY_OrganizationName,
345 LIBMTP_PROPERTY_PhoneticOrganizationName,
346 LIBMTP_PROPERTY_Role,
347 LIBMTP_PROPERTY_Birthdate,
348 LIBMTP_PROPERTY_MessageTo,
349 LIBMTP_PROPERTY_MessageCC,
350 LIBMTP_PROPERTY_MessageBCC,
351 LIBMTP_PROPERTY_MessageRead,
352 LIBMTP_PROPERTY_MessageReceivedTime,
353 LIBMTP_PROPERTY_MessageSender,
354 LIBMTP_PROPERTY_ActivityBeginTime,
355 LIBMTP_PROPERTY_ActivityEndTime,
356 LIBMTP_PROPERTY_ActivityLocation,
357 LIBMTP_PROPERTY_ActivityRequiredAttendees,
358 LIBMTP_PROPERTY_ActivityOptionalAttendees,
359 LIBMTP_PROPERTY_ActivityResources,
360 LIBMTP_PROPERTY_ActivityAccepted,
361 LIBMTP_PROPERTY_Owner,
362 LIBMTP_PROPERTY_Editor,
363 LIBMTP_PROPERTY_Webmaster,
364 LIBMTP_PROPERTY_URLSource,
365 LIBMTP_PROPERTY_URLDestination,
366 LIBMTP_PROPERTY_TimeBookmark,
367 LIBMTP_PROPERTY_ObjectBookmark,
368 LIBMTP_PROPERTY_ByteBookmark,
369 LIBMTP_PROPERTY_LastBuildDate,
370 LIBMTP_PROPERTY_TimetoLive,
371 LIBMTP_PROPERTY_MediaGUID,
372 LIBMTP_PROPERTY_TotalBitRate,
373 LIBMTP_PROPERTY_BitRateType,
374 LIBMTP_PROPERTY_SampleRate,
375 LIBMTP_PROPERTY_NumberOfChannels,
376 LIBMTP_PROPERTY_AudioBitDepth,
377 LIBMTP_PROPERTY_ScanDepth,
378 LIBMTP_PROPERTY_AudioWAVECodec,
379 LIBMTP_PROPERTY_AudioBitRate,
380 LIBMTP_PROPERTY_VideoFourCCCodec,
381 LIBMTP_PROPERTY_VideoBitRate,
382 LIBMTP_PROPERTY_FramesPerThousandSeconds,
383 LIBMTP_PROPERTY_KeyFrameDistance,
384 LIBMTP_PROPERTY_BufferSize,
385 LIBMTP_PROPERTY_EncodingQuality,
386 LIBMTP_PROPERTY_EncodingProfile,
387 LIBMTP_PROPERTY_BuyFlag,
388 LIBMTP_PROPERTY_UNKNOWN
389 } LIBMTP_property_t;
390
394 typedef enum {
395 LIBMTP_DATATYPE_INT8,
396 LIBMTP_DATATYPE_UINT8,
397 LIBMTP_DATATYPE_INT16,
398 LIBMTP_DATATYPE_UINT16,
399 LIBMTP_DATATYPE_INT32,
400 LIBMTP_DATATYPE_UINT32,
401 LIBMTP_DATATYPE_INT64,
402 LIBMTP_DATATYPE_UINT64,
403 } LIBMTP_datatype_t;
404
408 typedef enum {
413 LIBMTP_DEVICECAP_GetPartialObject,
418 LIBMTP_DEVICECAP_SendPartialObject,
426 LIBMTP_DEVICECAP_EditObjects,
427 } LIBMTP_devicecap_t;
428
433 typedef enum {
434 LIBMTP_ERROR_NONE,
435 LIBMTP_ERROR_GENERAL,
436 LIBMTP_ERROR_PTP_LAYER,
437 LIBMTP_ERROR_USB_LAYER,
438 LIBMTP_ERROR_MEMORY_ALLOCATION,
439 LIBMTP_ERROR_NO_DEVICE_ATTACHED,
440 LIBMTP_ERROR_STORAGE_FULL,
441 LIBMTP_ERROR_CONNECTING,
442 LIBMTP_ERROR_CANCELLED
443 } LIBMTP_error_number_t;
444
445 typedef struct LIBMTP_device_entry_struct LIBMTP_device_entry_t;
446 typedef struct LIBMTP_raw_device_struct LIBMTP_raw_device_t;
447 typedef struct LIBMTP_error_struct LIBMTP_error_t;
448 typedef struct LIBMTP_allowed_values_struct LIBMTP_allowed_values_t;
449 typedef struct LIBMTP_device_extension_struct LIBMTP_device_extension_t;
450 typedef struct LIBMTP_mtpdevice_struct LIBMTP_mtpdevice_t;
451 typedef struct LIBMTP_file_struct LIBMTP_file_t;
452 typedef struct LIBMTP_track_struct LIBMTP_track_t;
453 typedef struct LIBMTP_playlist_struct LIBMTP_playlist_t;
454 typedef struct LIBMTP_album_struct LIBMTP_album_t;
455 typedef struct LIBMTP_folder_struct LIBMTP_folder_t;
456 typedef struct LIBMTP_object_struct LIBMTP_object_t;
457 typedef struct LIBMTP_filesampledata_struct LIBMTP_filesampledata_t;
458 typedef struct LIBMTP_devicestorage_struct LIBMTP_devicestorage_t;
470 typedef int (* LIBMTP_progressfunc_t) (uint64_t const sent, uint64_t const total,
471 void const * const data);
472
485 typedef uint16_t (* MTPDataGetFunc) (void* params, void* priv,
486 uint32_t wantlen, unsigned char *data, uint32_t *gotlen);
487
500 typedef uint16_t (* MTPDataPutFunc) (void* params, void* priv,
501 uint32_t sendlen, unsigned char *data, uint32_t *putlen);
502
506 #define LIBMTP_HANDLER_RETURN_OK 0
507 #define LIBMTP_HANDLER_RETURN_ERROR 1
508 #define LIBMTP_HANDLER_RETURN_CANCEL 2
509
519 struct LIBMTP_device_entry_struct {
520 char *vendor;
521 uint16_t vendor_id;
522 char *product;
523 uint16_t product_id;
524 uint32_t device_flags;
525 };
526
531 struct LIBMTP_raw_device_struct {
532 LIBMTP_device_entry_t device_entry;
533 uint32_t bus_location;
534 uint8_t devnum;
535 };
536
540 struct LIBMTP_error_struct {
541 LIBMTP_error_number_t errornumber;
542 char *error_text;
543 LIBMTP_error_t *next;
544 };
545
549 struct LIBMTP_allowed_values_struct {
550 uint8_t u8max;
551 uint8_t u8min;
552 uint8_t u8step;
553 uint8_t* u8vals;
554 int8_t i8max;
555 int8_t i8min;
556 int8_t i8step;
557 int8_t* i8vals;
558 uint16_t u16max;
559 uint16_t u16min;
560 uint16_t u16step;
561 uint16_t* u16vals;
562 int16_t i16max;
563 int16_t i16min;
564 int16_t i16step;
565 int16_t* i16vals;
566 uint32_t u32max;
567 uint32_t u32min;
568 uint32_t u32step;
569 uint32_t* u32vals;
570 int32_t i32max;
571 int32_t i32min;
572 int32_t i32step;
573 int32_t* i32vals;
574 uint64_t u64max;
575 uint64_t u64min;
576 uint64_t u64step;
577 uint64_t* u64vals;
578 int64_t i64max;
579 int64_t i64min;
580 int64_t i64step;
581 int64_t* i64vals;
585 uint16_t num_entries;
589 LIBMTP_datatype_t datatype;
593 int is_range;
594 };
595
599 struct LIBMTP_device_extension_struct {
603 char *name;
607 int major;
611 int minor;
616 LIBMTP_device_extension_t *next;
617 };
618
622 struct LIBMTP_mtpdevice_struct {
626 uint8_t object_bitsize;
631 void *params;
636 void *usbinfo;
643 LIBMTP_devicestorage_t *storage;
648 LIBMTP_error_t *errorstack;
650 uint8_t maximum_battery_level;
652 uint32_t default_music_folder;
654 uint32_t default_playlist_folder;
656 uint32_t default_picture_folder;
658 uint32_t default_video_folder;
660 uint32_t default_organizer_folder;
662 uint32_t default_zencast_folder;
664 uint32_t default_album_folder;
666 uint32_t default_text_folder;
668 void *cd;
670 LIBMTP_device_extension_t *extensions;
672 int cached;
673
675 LIBMTP_mtpdevice_t *next;
676 };
677
681 struct LIBMTP_file_struct {
682 uint32_t item_id;
683 uint32_t parent_id;
684 uint32_t storage_id;
685 char *filename;
686 uint64_t filesize;
687 time_t modificationdate;
688 LIBMTP_filetype_t filetype;
689 LIBMTP_file_t *next;
690 };
691
695 struct LIBMTP_track_struct {
696 uint32_t item_id;
697 uint32_t parent_id;
698 uint32_t storage_id;
699 char *title;
700 char *artist;
701 char *composer;
702 char *genre;
703 char *album;
704 char *date;
705 char *filename;
706 uint16_t tracknumber;
707 uint32_t duration;
708 uint32_t samplerate;
709 uint16_t nochannels;
710 uint32_t wavecodec;
711 uint32_t bitrate;
712 uint16_t bitratetype;
713 uint16_t rating;
714 uint32_t usecount;
715 uint64_t filesize;
716 time_t modificationdate;
717 LIBMTP_filetype_t filetype;
718 LIBMTP_track_t *next;
719 };
720
724 struct LIBMTP_playlist_struct {
725 uint32_t playlist_id;
726 uint32_t parent_id;
727 uint32_t storage_id;
728 char *name;
729 uint32_t *tracks;
730 uint32_t no_tracks;
731 LIBMTP_playlist_t *next;
732 };
733
737 struct LIBMTP_album_struct {
738 uint32_t album_id;
739 uint32_t parent_id;
740 uint32_t storage_id;
741 char *name;
742 char *artist;
743 char *composer;
744 char *genre;
745 uint32_t *tracks;
746 uint32_t no_tracks;
747 LIBMTP_album_t *next;
748 };
749
753 struct LIBMTP_folder_struct {
754 uint32_t folder_id;
755 uint32_t parent_id;
756 uint32_t storage_id;
757 char *name;
758 LIBMTP_folder_t *sibling;
759 LIBMTP_folder_t *child;
760 };
761
765 struct LIBMTP_filesampledata_struct {
766 uint32_t width;
767 uint32_t height;
768 uint32_t duration;
769 LIBMTP_filetype_t filetype;
770 uint64_t size;
771 char *data;
772 };
773
777 struct LIBMTP_devicestorage_struct {
778 uint32_t id;
779 uint16_t StorageType;
780 uint16_t FilesystemType;
781 uint16_t AccessCapability;
782 uint64_t MaxCapacity;
783 uint64_t FreeSpaceInBytes;
784 uint64_t FreeSpaceInObjects;
785 char *StorageDescription;
786 char *VolumeIdentifier;
787 LIBMTP_devicestorage_t *next;
788 LIBMTP_devicestorage_t *prev;
789 };
790
795 enum LIBMTP_event_enum {
796 LIBMTP_EVENT_NONE,
797 LIBMTP_EVENT_STORE_ADDED,
798 LIBMTP_EVENT_STORE_REMOVED,
799 LIBMTP_EVENT_OBJECT_ADDED,
800 LIBMTP_EVENT_OBJECT_REMOVED,
801 };
802 typedef enum LIBMTP_event_enum LIBMTP_event_t;
803
806 /* Make functions available for C++ */
807 #ifdef __cplusplus
808 extern "C" {
809 #endif
810
811 extern int LIBMTP_debug;
812
817 void LIBMTP_Set_Debug(int);
818 void LIBMTP_Init(void);
819 int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t ** const, int * const);
825 LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *);
826 int LIBMTP_Check_Specific_Device(int busno, int devno);
827 LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device(LIBMTP_raw_device_t *);
828 LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *);
829 /* Begin old, legacy interface */
830 LIBMTP_mtpdevice_t *LIBMTP_Get_First_Device(void);
831 LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **);
832 uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *);
833 void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t*);
834 /* End old, legacy interface */
835 void LIBMTP_Release_Device(LIBMTP_mtpdevice_t*);
836 void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t*);
837 int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t*);
838 char *LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t*);
839 char *LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t*);
840 char *LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t*);
841 char *LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t*);
842 char *LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t*);
843 int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t*, char const * const);
844 char *LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t*);
845 int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t*, char const * const);
846 int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *,
847 uint8_t * const,
848 uint8_t * const);
849 int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char ** const);
850 int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char ** const);
851 int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t ** const, uint16_t * const);
852 int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t);
853 LIBMTP_error_t *LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t*);
854 void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t*);
855 void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t*);
856
857 #define LIBMTP_STORAGE_SORTBY_NOTSORTED 0
858 #define LIBMTP_STORAGE_SORTBY_FREESPACE 1
859 #define LIBMTP_STORAGE_SORTBY_MAXSPACE 2
860
861 int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const);
862 int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *);
863
868 char *LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const);
869 uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
870 LIBMTP_property_t const, uint64_t const);
871 uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
872 LIBMTP_property_t const, uint32_t const);
873 uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
874 LIBMTP_property_t const, uint16_t const);
875 uint8_t LIBMTP_Get_u8_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
876 LIBMTP_property_t const, uint8_t const);
877 int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *, uint32_t const,
878 LIBMTP_property_t const, char const * const);
879 int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *, uint32_t const,
880 LIBMTP_property_t const, uint32_t const);
881 int LIBMTP_Set_Object_u16(LIBMTP_mtpdevice_t *, uint32_t const,
882 LIBMTP_property_t const, uint16_t const);
883 int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *, uint32_t const,
884 LIBMTP_property_t const, uint8_t const);
885 char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty);
886 int LIBMTP_Is_Property_Supported(LIBMTP_mtpdevice_t*, LIBMTP_property_t const,
887 LIBMTP_filetype_t const);
888 int LIBMTP_Get_Allowed_Property_Values(LIBMTP_mtpdevice_t*, LIBMTP_property_t const,
889 LIBMTP_filetype_t const, LIBMTP_allowed_values_t*);
890 void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t*);
891
897 LIBMTP_file_t *LIBMTP_new_file_t(void);
898 void LIBMTP_destroy_file_t(LIBMTP_file_t*);
899 char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t);
900 LIBMTP_file_t *LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *);
901 LIBMTP_file_t *LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *,
902 LIBMTP_progressfunc_t const, void const * const);
903 LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *,
904 uint32_t const,
905 uint32_t const);
906 LIBMTP_file_t *LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const);
907 int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
908 LIBMTP_progressfunc_t const, void const * const);
909 int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t*,
910 uint32_t const,
911 int const,
912 LIBMTP_progressfunc_t const,
913 void const * const);
914 int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *,
915 uint32_t const,
916 MTPDataPutFunc,
917 void *,
918 LIBMTP_progressfunc_t const,
919 void const * const);
920 int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *,
921 char const * const,
922 LIBMTP_file_t * const,
923 LIBMTP_progressfunc_t const,
924 void const * const);
925 int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *,
926 int const,
927 LIBMTP_file_t * const,
928 LIBMTP_progressfunc_t const,
929 void const * const);
930 int LIBMTP_Send_File_From_Handler(LIBMTP_mtpdevice_t *,
931 MTPDataGetFunc, void *,
932 LIBMTP_file_t * const,
933 LIBMTP_progressfunc_t const,
934 void const * const);
935 int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *,
936 LIBMTP_file_t *,
937 const char *);
938 LIBMTP_filesampledata_t *LIBMTP_new_filesampledata_t(void);
939 void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *);
940 int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *,
941 LIBMTP_filetype_t const,
942 LIBMTP_filesampledata_t **);
943 int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
944 LIBMTP_filesampledata_t *);
945 int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
946 LIBMTP_filesampledata_t *);
947 int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const,
948 unsigned char **data, unsigned int *size);
949
955 LIBMTP_track_t *LIBMTP_new_track_t(void);
956 void LIBMTP_destroy_track_t(LIBMTP_track_t*);
957 LIBMTP_track_t *LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t*);
958 LIBMTP_track_t *LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t*,
959 LIBMTP_progressfunc_t const, void const * const);
960 LIBMTP_track_t *LIBMTP_Get_Tracklisting_With_Callback_For_Storage(LIBMTP_mtpdevice_t*, uint32_t const,
961 LIBMTP_progressfunc_t const, void const * const);
962 LIBMTP_track_t *LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t*, uint32_t const);
963 int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
964 LIBMTP_progressfunc_t const, void const * const);
965 int LIBMTP_Get_Track_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const, int const,
966 LIBMTP_progressfunc_t const, void const * const);
967 int LIBMTP_Get_Track_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc,
968 void *, LIBMTP_progressfunc_t const, void const * const);
969 int LIBMTP_Send_Track_From_File(LIBMTP_mtpdevice_t *,
970 char const * const, LIBMTP_track_t * const,
971 LIBMTP_progressfunc_t const,
972 void const * const);
973 int LIBMTP_Send_Track_From_File_Descriptor(LIBMTP_mtpdevice_t *,
974 int const, LIBMTP_track_t * const,
975 LIBMTP_progressfunc_t const,
976 void const * const);
977 int LIBMTP_Send_Track_From_Handler(LIBMTP_mtpdevice_t *,
978 MTPDataGetFunc, void *, LIBMTP_track_t * const,
979 LIBMTP_progressfunc_t const,
980 void const * const);
981 int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *,
982 LIBMTP_track_t const * const);
983 int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const);
984 int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *);
992 LIBMTP_folder_t *LIBMTP_new_folder_t(void);
993 void LIBMTP_destroy_folder_t(LIBMTP_folder_t*);
994 LIBMTP_folder_t *LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t*);
995 LIBMTP_folder_t *LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t*,
996 uint32_t const);
997 LIBMTP_folder_t *LIBMTP_Find_Folder(LIBMTP_folder_t*, uint32_t const);
998 uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char *, uint32_t, uint32_t);
999 int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *);
1008 LIBMTP_playlist_t *LIBMTP_new_playlist_t(void);
1009 void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *);
1010 LIBMTP_playlist_t *LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *);
1011 LIBMTP_playlist_t *LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const);
1012 int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * const);
1013 int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * const);
1014 int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *);
1015
1021 LIBMTP_album_t *LIBMTP_new_album_t(void);
1022 void LIBMTP_destroy_album_t(LIBMTP_album_t *);
1023 LIBMTP_album_t *LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *);
1024 LIBMTP_album_t *LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const);
1025 LIBMTP_album_t *LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const);
1026 int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t * const);
1027 int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const * const);
1028 int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *);
1029
1035 int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t);
1036 int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t , char *);
1037 int LIBMTP_GetPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
1038 uint64_t, uint32_t,
1039 unsigned char **, unsigned int *);
1040 int LIBMTP_SendPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
1041 uint64_t, unsigned char *, unsigned int);
1042 int LIBMTP_BeginEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
1043 int LIBMTP_EndEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
1044 int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *, uint32_t const, uint64_t);
1045
1051 int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *);
1052
1055 /* End of C++ exports */
1056 #ifdef __cplusplus
1057 }
1058 #endif
1059
1060 #endif /* LIBMTP_H_INCLUSION_GUARD */
1061
LIBMTP_Get_Album
LIBMTP_album_t * LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:8451
LIBMTP_mtpdevice_struct::default_music_folder
uint32_t default_music_folder
Definition: libmtp.h:652
LIBMTP_Get_Device_Certificate
int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:3893
LIBMTP_folder_struct::sibling
LIBMTP_folder_t * sibling
Definition: libmtp.h:758
LIBMTP_Set_Track_Name
int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *)
Definition: libmtp.c:6876
LIBMTP_Set_Syncpartner
int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:3684
LIBMTP_album_struct::storage_id
uint32_t storage_id
Definition: libmtp.h:740
LIBMTP_devicestorage_struct::AccessCapability
uint16_t AccessCapability
Definition: libmtp.h:781
LIBMTP_track_struct::genre
char * genre
Definition: libmtp.h:702
LIBMTP_Get_u64_From_Object
uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint64_t const)
Definition: libmtp.c:1203
LIBMTP_track_struct::filetype
LIBMTP_filetype_t filetype
Definition: libmtp.h:717
LIBMTP_Set_File_Name
int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *, LIBMTP_file_t *, const char *)
Definition: libmtp.c:6816
LIBMTP_Release_Device
void LIBMTP_Release_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2357
LIBMTP_file_struct::next
LIBMTP_file_t * next
Definition: libmtp.h:689
LIBMTP_destroy_file_t
void LIBMTP_destroy_file_t(LIBMTP_file_t *)
Definition: libmtp.c:4149
LIBMTP_track_struct
Definition: libmtp.h:695
LIBMTP_track_struct::next
LIBMTP_track_t * next
Definition: libmtp.h:718
LIBMTP_album_struct
Definition: libmtp.h:737
LIBMTP_Get_Filelisting
LIBMTP_file_t * LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4305
LIBMTP_Clear_Errorstack
void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2474
LIBMTP_datatype_t
LIBMTP_datatype_t
Definition: libmtp.h:394
LIBMTP_folder_struct::name
char * name
Definition: libmtp.h:757
LIBMTP_Get_Tracklisting_With_Callback_For_Storage
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:4858
LIBMTP_Get_u16_From_Object
uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint16_t const)
Definition: libmtp.c:1233
LIBMTP_devicestorage_struct::FreeSpaceInBytes
uint64_t FreeSpaceInBytes
Definition: libmtp.h:783
LIBMTP_album_struct::next
LIBMTP_album_t * next
Definition: libmtp.h:747
LIBMTP_destroy_track_t
void LIBMTP_destroy_track_t(LIBMTP_track_t *)
Definition: libmtp.c:4552
LIBMTP_new_file_t
LIBMTP_file_t * LIBMTP_new_file_t(void)
Definition: libmtp.c:4125
LIBMTP_DEVICECAP_EditObjects
Definition: libmtp.h:426
LIBMTP_Get_Filemetadata
LIBMTP_file_t * LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:4281
LIBMTP_playlist_struct::storage_id
uint32_t storage_id
Definition: libmtp.h:727
LIBMTP_track_struct::nochannels
uint16_t nochannels
Definition: libmtp.h:709
LIBMTP_folder_struct::parent_id
uint32_t parent_id
Definition: libmtp.h:755
LIBMTP_mtpdevice_struct::maximum_battery_level
uint8_t maximum_battery_level
Definition: libmtp.h:650
LIBMTP_destroy_allowed_values_t
void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t *)
Definition: libmtp.c:1098
LIBMTP_new_filesampledata_t
LIBMTP_filesampledata_t * LIBMTP_new_filesampledata_t(void)
Definition: libmtp.c:8555
LIBMTP_Open_Raw_Device_Uncached
LIBMTP_mtpdevice_t * LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *)
Definition: libmtp.c:1828
LIBMTP_album_struct::name
char * name
Definition: libmtp.h:741
LIBMTP_Set_Object_Filename
int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t, char *)
Definition: libmtp.c:6978
LIBMTP_mtpdevice_struct
Definition: libmtp.h:622
LIBMTP_mtpdevice_struct::object_bitsize
uint8_t object_bitsize
Definition: libmtp.h:626
LIBMTP_devicecap_t
LIBMTP_devicecap_t
Definition: libmtp.h:408
LIBMTP_device_entry_struct::product_id
uint16_t product_id
Definition: libmtp.h:523
LIBMTP_object_t
struct LIBMTP_object_struct LIBMTP_object_t
Definition: libmtp.h:456
LIBMTP_track_struct::title
char * title
Definition: libmtp.h:699
LIBMTP_Set_Object_u32
int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint32_t const)
Definition: libmtp.c:1279
LIBMTP_file_struct
Definition: libmtp.h:681
LIBMTP_Set_Object_u8
int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint8_t const)
Definition: libmtp.c:1309
LIBMTP_devicestorage_struct
Definition: libmtp.h:777
LIBMTP_mtpdevice_struct::default_zencast_folder
uint32_t default_zencast_folder
Definition: libmtp.h:662
LIBMTP_devicestorage_struct::FreeSpaceInObjects
uint64_t FreeSpaceInObjects
Definition: libmtp.h:784
LIBMTP_track_struct::bitratetype
uint16_t bitratetype
Definition: libmtp.h:712
LIBMTP_track_struct::bitrate
uint32_t bitrate
Definition: libmtp.h:711
LIBMTP_track_struct::parent_id
uint32_t parent_id
Definition: libmtp.h:697
LIBMTP_Send_File_From_File
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:5750
LIBMTP_error_number_t
LIBMTP_error_number_t
Definition: libmtp.h:433
LIBMTP_track_struct::storage_id
uint32_t storage_id
Definition: libmtp.h:698
LIBMTP_Get_Thumbnail
int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const, unsigned char **data, unsigned int *size)
Definition: libmtp.c:8907
LIBMTP_Get_Filetype_Description
char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t)
Definition: libmtp.c:794
LIBMTP_Get_Connected_Devices
LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **)
Definition: libmtp.c:2305
LIBMTP_devicestorage_struct::StorageType
uint16_t StorageType
Definition: libmtp.h:779
LIBMTP_Get_String_From_Object
char * LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const)
Definition: libmtp.c:1188
LIBMTP_Get_Folder_List_For_Storage
LIBMTP_folder_t * LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7151
LIBMTP_track_struct::item_id
uint32_t item_id
Definition: libmtp.h:696
LIBMTP_Get_Tracklisting_With_Callback
LIBMTP_track_t * LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:4808
LIBMTP_folder_struct::child
LIBMTP_folder_t * child
Definition: libmtp.h:759
LIBMTP_allowed_values_struct::num_entries
uint16_t num_entries
Definition: libmtp.h:585
LIBMTP_Get_Track_To_Handler
int LIBMTP_Get_Track_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc, void *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5367
LIBMTP_album_struct::artist
char * artist
Definition: libmtp.h:742
LIBMTP_track_struct::rating
uint16_t rating
Definition: libmtp.h:713
LIBMTP_album_struct::tracks
uint32_t * tracks
Definition: libmtp.h:745
LIBMTP_devicestorage_struct::FilesystemType
uint16_t FilesystemType
Definition: libmtp.h:780
LIBMTP_track_struct::wavecodec
uint32_t wavecodec
Definition: libmtp.h:710
LIBMTP_device_entry_struct::vendor
char * vendor
Definition: libmtp.h:520
LIBMTP_mtpdevice_struct::usbinfo
void * usbinfo
Definition: libmtp.h:636
LIBMTP_Set_Playlist_Name
int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *)
Definition: libmtp.c:6913
LIBMTP_Get_Allowed_Property_Values
int LIBMTP_Get_Allowed_Property_Values(LIBMTP_mtpdevice_t *, LIBMTP_property_t const, LIBMTP_filetype_t const, LIBMTP_allowed_values_t *)
Definition: libmtp.c:950
LIBMTP_mtpdevice_struct::storage
LIBMTP_devicestorage_t * storage
Definition: libmtp.h:643
LIBMTP_album_struct::composer
char * composer
Definition: libmtp.h:743
LIBMTP_Check_Specific_Device
int LIBMTP_Check_Specific_Device(int busno, int devno)
Definition: libopenusb1-glue.c:556
LIBMTP_mtpdevice_struct::default_video_folder
uint32_t default_video_folder
Definition: libmtp.h:658
LIBMTP_device_extension_struct
Definition: libmtp.h:599
LIBMTP_devicestorage_struct::prev
LIBMTP_devicestorage_t * prev
Definition: libmtp.h:788
LIBMTP_album_struct::album_id
uint32_t album_id
Definition: libmtp.h:738
LIBMTP_Get_Deviceversion
char * LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3561
LIBMTP_mtpdevice_struct::default_organizer_folder
uint32_t default_organizer_folder
Definition: libmtp.h:660
LIBMTP_filetype_t
LIBMTP_filetype_t
Definition: libmtp.h:84
LIBMTP_destroy_filesampledata_t
void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *)
Definition: libmtp.c:8573
LIBMTP_destroy_playlist_t
void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *)
Definition: libmtp.c:7387
LIBMTP_track_struct::duration
uint32_t duration
Definition: libmtp.h:707
LIBMTP_track_struct::samplerate
uint32_t samplerate
Definition: libmtp.h:708
LIBMTP_playlist_struct::next
LIBMTP_playlist_t * next
Definition: libmtp.h:731
LIBMTP_Track_Exists
int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7005
LIBMTP_Get_Batterylevel
int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *, uint8_t *const, uint8_t *const)
Definition: libmtp.c:3753
LIBMTP_file_struct::modificationdate
time_t modificationdate
Definition: libmtp.h:687
LIBMTP_mtpdevice_struct::params
void * params
Definition: libmtp.h:631
LIBMTP_track_struct::filename
char * filename
Definition: libmtp.h:705
LIBMTP_playlist_struct
Definition: libmtp.h:724
LIBMTP_Get_File_To_Handler
int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc, void *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5241
LIBMTP_raw_device_struct::device_entry
LIBMTP_device_entry_t device_entry
Definition: libmtp.h:532
LIBMTP_Find_Folder
LIBMTP_folder_t * LIBMTP_Find_Folder(LIBMTP_folder_t *, uint32_t const)
Definition: libmtp.c:7082
LIBMTP_device_entry_struct::device_flags
uint32_t device_flags
Definition: libmtp.h:524
LIBMTP_album_struct::no_tracks
uint32_t no_tracks
Definition: libmtp.h:746
LIBMTP_Set_Folder_Name
int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *)
Definition: libmtp.c:6846
LIBMTP_filesampledata_struct::size
uint64_t size
Definition: libmtp.h:770
LIBMTP_mtpdevice_struct::default_playlist_folder
uint32_t default_playlist_folder
Definition: libmtp.h:654
LIBMTP_track_struct::usecount
uint32_t usecount
Definition: libmtp.h:714
LIBMTP_DEVICECAP_GetPartialObject
Definition: libmtp.h:413
LIBMTP_device_extension_struct::next
LIBMTP_device_extension_t * next
Definition: libmtp.h:616
LIBMTP_playlist_struct::name
char * name
Definition: libmtp.h:728
MTPDataPutFunc
uint16_t(* MTPDataPutFunc)(void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)
Definition: libmtp.h:500
LIBMTP_album_struct::genre
char * genre
Definition: libmtp.h:744
LIBMTP_Get_Property_Description
char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty)
Definition: libmtp.c:817
LIBMTP_Get_First_Device
LIBMTP_mtpdevice_t * LIBMTP_Get_First_Device(void)
Definition: libmtp.c:1674
LIBMTP_device_entry_struct
Definition: libmtp.h:519
LIBMTP_file_struct::filename
char * filename
Definition: libmtp.h:685
LIBMTP_new_track_t
LIBMTP_track_t * LIBMTP_new_track_t(void)
Definition: libmtp.c:4513
LIBMTP_Send_Track_From_File
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:5415
LIBMTP_destroy_folder_t
void LIBMTP_destroy_folder_t(LIBMTP_folder_t *)
Definition: libmtp.c:7051
LIBMTP_Get_Syncpartner
char * LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3646
LIBMTP_Get_Friendlyname
char * LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3583
LIBMTP_playlist_struct::playlist_id
uint32_t playlist_id
Definition: libmtp.h:725
LIBMTP_Dump_Device_Info
void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3077
LIBMTP_track_struct::modificationdate
time_t modificationdate
Definition: libmtp.h:716
LIBMTP_new_folder_t
LIBMTP_folder_t * LIBMTP_new_folder_t(void)
Definition: libmtp.c:7028
LIBMTP_Send_File_From_Handler
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:5945
LIBMTP_Dump_Errorstack
void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2501
LIBMTP_track_struct::composer
char * composer
Definition: libmtp.h:701
LIBMTP_Get_Playlist_List
LIBMTP_playlist_t * LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:7412
MTPDataGetFunc
uint16_t(* MTPDataGetFunc)(void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)
Definition: libmtp.h:485
LIBMTP_mtpdevice_struct::errorstack
LIBMTP_error_t * errorstack
Definition: libmtp.h:648
LIBMTP_mtpdevice_struct::default_picture_folder
uint32_t default_picture_folder
Definition: libmtp.h:656
LIBMTP_Get_u8_From_Object
uint8_t LIBMTP_Get_u8_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint8_t const)
Definition: libmtp.c:1248
LIBMTP_Get_Supported_Devices_List
int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t **const, int *const)
Definition: libopenusb1-glue.c:131
LIBMTP_Number_Devices_In_List
uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2287
LIBMTP_Get_Trackmetadata
LIBMTP_track_t * LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:4976
LIBMTP_Update_Playlist
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition: libmtp.c:8177
LIBMTP_Get_Modelname
char * LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3524
LIBMTP_mtpdevice_struct::default_album_folder
uint32_t default_album_folder
Definition: libmtp.h:664
LIBMTP_Get_Album_List
LIBMTP_album_t * LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:8370
LIBMTP_device_entry_struct::product
char * product
Definition: libmtp.h:522
LIBMTP_Get_Tracklisting
LIBMTP_track_t * LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4760
LIBMTP_Send_Representative_Sample
int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:8740
LIBMTP_filesampledata_struct::filetype
LIBMTP_filetype_t filetype
Definition: libmtp.h:769
LIBMTP_track_struct::filesize
uint64_t filesize
Definition: libmtp.h:715
LIBMTP_playlist_struct::no_tracks
uint32_t no_tracks
Definition: libmtp.h:730
LIBMTP_track_struct::date
char * date
Definition: libmtp.h:704
LIBMTP_Get_Playlist
LIBMTP_playlist_t * LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7490
LIBMTP_Format_Storage
int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *)
Definition: libmtp.c:3795
LIBMTP_mtpdevice_struct::default_text_folder
uint32_t default_text_folder
Definition: libmtp.h:666
LIBMTP_DEVICECAP_SendPartialObject
Definition: libmtp.h:418
LIBMTP_Get_Serialnumber
char * LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3542
LIBMTP_folder_struct::storage_id
uint32_t storage_id
Definition: libmtp.h:756
LIBMTP_Init
void LIBMTP_Init(void)
Definition: libmtp.c:761
LIBMTP_filesampledata_struct
Definition: libmtp.h:765
LIBMTP_file_struct::parent_id
uint32_t parent_id
Definition: libmtp.h:683
LIBMTP_Send_Track_From_File_Descriptor
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:5547
LIBMTP_Create_New_Album
int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t *const)
Definition: libmtp.c:8516
LIBMTP_Get_Supported_Filetypes
int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t **const, uint16_t *const)
Definition: libmtp.c:3914
LIBMTP_file_struct::filesize
uint64_t filesize
Definition: libmtp.h:686
LIBMTP_event_enum
LIBMTP_event_enum
Definition: libmtp.h:795
LIBMTP_devicestorage_struct::id
uint32_t id
Definition: libmtp.h:778
LIBMTP_Set_Debug
void LIBMTP_Set_Debug(int)
Definition: libmtp.c:743
LIBMTP_allowed_values_struct
Definition: libmtp.h:549
LIBMTP_device_extension_struct::name
char * name
Definition: libmtp.h:603
LIBMTP_album_struct::parent_id
uint32_t parent_id
Definition: libmtp.h:739
LIBMTP_Get_File_To_File
int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t *, uint32_t, char const *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5117
LIBMTP_error_struct
Definition: libmtp.h:540
LIBMTP_filesampledata_struct::data
char * data
Definition: libmtp.h:771
LIBMTP_raw_device_struct::devnum
uint8_t devnum
Definition: libmtp.h:534
LIBMTP_filesampledata_struct::height
uint32_t height
Definition: libmtp.h:767
LIBMTP_mtpdevice_struct::cd
void * cd
Definition: libmtp.h:668
LIBMTP_Delete_Object
int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t)
Definition: libmtp.c:6707
LIBMTP_new_playlist_t
LIBMTP_playlist_t * LIBMTP_new_playlist_t(void)
Definition: libmtp.c:7364
LIBMTP_devicestorage_struct::VolumeIdentifier
char * VolumeIdentifier
Definition: libmtp.h:786
LIBMTP_filesampledata_struct::width
uint32_t width
Definition: libmtp.h:766
LIBMTP_folder_struct::folder_id
uint32_t folder_id
Definition: libmtp.h:754
LIBMTP_track_struct::tracknumber
uint16_t tracknumber
Definition: libmtp.h:706
LIBMTP_Get_Track_To_File_Descriptor
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:5340
LIBMTP_allowed_values_struct::datatype
LIBMTP_datatype_t datatype
Definition: libmtp.h:589
LIBMTP_Get_Album_List_For_Storage
LIBMTP_album_t * LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:8388
LIBMTP_progressfunc_t
int(* LIBMTP_progressfunc_t)(uint64_t const sent, uint64_t const total, void const *const data)
Definition: libmtp.h:470
LIBMTP_Set_Object_u16
int LIBMTP_Set_Object_u16(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint16_t const)
Definition: libmtp.c:1294
LIBMTP_Get_Track_To_File
int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t *, uint32_t, char const *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5316
LIBMTP_raw_device_struct::bus_location
uint32_t bus_location
Definition: libmtp.h:533
LIBMTP_Release_Device_List
void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2340
LIBMTP_devicestorage_struct::MaxCapacity
uint64_t MaxCapacity
Definition: libmtp.h:782
LIBMTP_filesampledata_struct::duration
uint32_t duration
Definition: libmtp.h:768
LIBMTP_devicestorage_struct::next
LIBMTP_devicestorage_t * next
Definition: libmtp.h:787
LIBMTP_Get_File_To_File_Descriptor
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:5177
LIBMTP_playlist_struct::tracks
uint32_t * tracks
Definition: libmtp.h:729
LIBMTP_device_extension_struct::major
int major
Definition: libmtp.h:607
LIBMTP_Get_Representative_Sample
int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:8835
LIBMTP_Detect_Raw_Devices
LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *)
Definition: libopenusb1-glue.c:592
LIBMTP_file_struct::storage_id
uint32_t storage_id
Definition: libmtp.h:684
LIBMTP_device_extension_struct::minor
int minor
Definition: libmtp.h:611
LIBMTP_mtpdevice_struct::cached
int cached
Definition: libmtp.h:672
LIBMTP_Get_u32_From_Object
uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint32_t const)
Definition: libmtp.c:1218
LIBMTP_new_album_t
LIBMTP_album_t * LIBMTP_new_album_t(void)
Definition: libmtp.c:8208
LIBMTP_Get_Filelisting_With_Callback
LIBMTP_file_t * LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:4353
LIBMTP_Set_Friendlyname
int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:3616
LIBMTP_Get_Files_And_Folders
LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *, uint32_t const, uint32_t const)
Definition: libmtp.c:4418
LIBMTP_device_entry_struct::vendor_id
uint16_t vendor_id
Definition: libmtp.h:521
LIBMTP_track_struct::album
char * album
Definition: libmtp.h:703
LIBMTP_mtpdevice_struct::extensions
LIBMTP_device_extension_t * extensions
Definition: libmtp.h:670
LIBMTP_Check_Capability
int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t)
Definition: libmtp.c:3964
LIBMTP_destroy_album_t
void LIBMTP_destroy_album_t(LIBMTP_album_t *)
Definition: libmtp.c:8233
LIBMTP_Create_New_Playlist
int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition: libmtp.c:8125
LIBMTP_mtpdevice_struct::next
LIBMTP_mtpdevice_t * next
Definition: libmtp.h:675
LIBMTP_raw_device_struct
Definition: libmtp.h:531
LIBMTP_Reset_Device
int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3479
LIBMTP_Send_File_From_File_Descriptor
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:5828
LIBMTP_track_struct::artist
char * artist
Definition: libmtp.h:700
LIBMTP_Get_Storage
int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const)
Definition: libmtp.c:4019
LIBMTP_Get_Secure_Time
int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:3879
LIBMTP_Get_Manufacturername
char * LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3505
LIBMTP_folder_struct
Definition: libmtp.h:753
LIBMTP_Send_Track_From_Handler
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:5651
LIBMTP_devicestorage_struct::StorageDescription
char * StorageDescription
Definition: libmtp.h:785
LIBMTP_file_struct::item_id
uint32_t item_id
Definition: libmtp.h:682
LIBMTP_Update_Album
int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const *const)
Definition: libmtp.c:9041
LIBMTP_playlist_struct::parent_id
uint32_t parent_id
Definition: libmtp.h:726
LIBMTP_property_t
LIBMTP_property_t
Definition: libmtp.h:220
LIBMTP_Update_Track_Metadata
int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *, LIBMTP_track_t const *const)
Definition: libmtp.c:6316
LIBMTP_file_struct::filetype
LIBMTP_filetype_t filetype
Definition: libmtp.h:688
LIBMTP_Set_Object_String
int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, char const *const)
Definition: libmtp.c:1263
LIBMTP_Set_Album_Name
int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *)
Definition: libmtp.c:6950
LIBMTP_Get_Representative_Sample_Format
int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *, LIBMTP_filetype_t const, LIBMTP_filesampledata_t **)
Definition: libmtp.c:8607
LIBMTP_Read_Event
int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *)
Definition: libmtp.c:2152
LIBMTP_allowed_values_struct::is_range
int is_range
Definition: libmtp.h:593
LIBMTP_debug
int LIBMTP_debug
Definition: libmtp.c:87
LIBMTP_Get_Errorstack
LIBMTP_error_t * LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2458
LIBMTP_Create_Folder
uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t *, char *, uint32_t, uint32_t)
Definition: libmtp.c:7281
LIBMTP_Is_Property_Supported
int LIBMTP_Is_Property_Supported(LIBMTP_mtpdevice_t *, LIBMTP_property_t const, LIBMTP_filetype_t const)
Definition: libmtp.c:1147
LIBMTP_Get_Folder_List
LIBMTP_folder_t * LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:7257