libmtp  1.1.21
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.21
33 #define LIBMTP_VERSION_STRING "1.1.21"
34 
35 /* This handles MSVC pecularities */
36 #ifdef _MSC_VER
37 #include <windows.h>
38 #define __WIN32__
39 #if _MSC_VER < 1900
40 #define snprintf _snprintf
41 #endif
42 #define ssize_t SSIZE_T
43 /*
44  * Types that do not exist in Windows
45  * sys/types.h, but they exist in mingw32
46  * sys/types.h.
47  */
48 typedef char int8_t;
49 typedef unsigned char uint8_t;
50 typedef __int16 int16_t;
51 typedef unsigned __int16 uint16_t;
52 typedef __int32 int32_t;
53 typedef unsigned __int32 uint32_t;
54 typedef unsigned __int64 uint64_t;
55 #else
56 #include <sys/time.h>
57 #endif
58 
59 #include <stdio.h>
60 #include <stdint.h>
61 /* We use time_t */
62 #include <time.h>
63 
75 #define LIBMTP_DEBUG_NONE 0x00
76 #define LIBMTP_DEBUG_PTP 0x01
77 #define LIBMTP_DEBUG_PLST 0x02
78 #define LIBMTP_DEBUG_USB 0x04
79 #define LIBMTP_DEBUG_DATA 0x08
80 #define LIBMTP_DEBUG_ALL 0xFF
81 
82 
88 typedef enum {
89  LIBMTP_FILETYPE_FOLDER,
90  LIBMTP_FILETYPE_WAV,
91  LIBMTP_FILETYPE_MP3,
92  LIBMTP_FILETYPE_WMA,
93  LIBMTP_FILETYPE_OGG,
94  LIBMTP_FILETYPE_AUDIBLE,
95  LIBMTP_FILETYPE_MP4,
96  LIBMTP_FILETYPE_UNDEF_AUDIO,
97  LIBMTP_FILETYPE_WMV,
98  LIBMTP_FILETYPE_AVI,
99  LIBMTP_FILETYPE_MPEG,
100  LIBMTP_FILETYPE_ASF,
101  LIBMTP_FILETYPE_QT,
102  LIBMTP_FILETYPE_UNDEF_VIDEO,
103  LIBMTP_FILETYPE_JPEG,
104  LIBMTP_FILETYPE_JFIF,
105  LIBMTP_FILETYPE_TIFF,
106  LIBMTP_FILETYPE_BMP,
107  LIBMTP_FILETYPE_GIF,
108  LIBMTP_FILETYPE_PICT,
109  LIBMTP_FILETYPE_PNG,
110  LIBMTP_FILETYPE_VCALENDAR1,
111  LIBMTP_FILETYPE_VCALENDAR2,
112  LIBMTP_FILETYPE_VCARD2,
113  LIBMTP_FILETYPE_VCARD3,
114  LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT,
115  LIBMTP_FILETYPE_WINEXEC,
116  LIBMTP_FILETYPE_TEXT,
117  LIBMTP_FILETYPE_HTML,
118  LIBMTP_FILETYPE_FIRMWARE,
119  LIBMTP_FILETYPE_AAC,
120  LIBMTP_FILETYPE_MEDIACARD,
121  LIBMTP_FILETYPE_FLAC,
122  LIBMTP_FILETYPE_MP2,
123  LIBMTP_FILETYPE_M4A,
124  LIBMTP_FILETYPE_DOC,
125  LIBMTP_FILETYPE_XML,
126  LIBMTP_FILETYPE_XLS,
127  LIBMTP_FILETYPE_PPT,
128  LIBMTP_FILETYPE_MHT,
129  LIBMTP_FILETYPE_JP2,
130  LIBMTP_FILETYPE_JPX,
131  LIBMTP_FILETYPE_ALBUM,
132  LIBMTP_FILETYPE_PLAYLIST,
133  LIBMTP_FILETYPE_UNKNOWN
135 
143 #define LIBMTP_FILETYPE_IS_AUDIO(a)\
144 (a == LIBMTP_FILETYPE_WAV ||\
145  a == LIBMTP_FILETYPE_MP3 ||\
146  a == LIBMTP_FILETYPE_MP2 ||\
147  a == LIBMTP_FILETYPE_WMA ||\
148  a == LIBMTP_FILETYPE_OGG ||\
149  a == LIBMTP_FILETYPE_FLAC ||\
150  a == LIBMTP_FILETYPE_AAC ||\
151  a == LIBMTP_FILETYPE_M4A ||\
152  a == LIBMTP_FILETYPE_AUDIBLE ||\
153  a == LIBMTP_FILETYPE_UNDEF_AUDIO)
154 
162 #define LIBMTP_FILETYPE_IS_VIDEO(a)\
163 (a == LIBMTP_FILETYPE_WMV ||\
164  a == LIBMTP_FILETYPE_AVI ||\
165  a == LIBMTP_FILETYPE_MPEG ||\
166  a == LIBMTP_FILETYPE_UNDEF_VIDEO)
167 
172 #define LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)\
173 (a == LIBMTP_FILETYPE_MP4 ||\
174  a == LIBMTP_FILETYPE_ASF ||\
175  a == LIBMTP_FILETYPE_QT)
176 
183 #define LIBMTP_FILETYPE_IS_TRACK(a)\
184 (LIBMTP_FILETYPE_IS_AUDIO(a) ||\
185  LIBMTP_FILETYPE_IS_VIDEO(a) ||\
186  LIBMTP_FILETYPE_IS_AUDIOVIDEO(a))
187 
192 #define LIBMTP_FILETYPE_IS_IMAGE(a)\
193 (a == LIBMTP_FILETYPE_JPEG ||\
194 a == LIBMTP_FILETYPE_JFIF ||\
195 a == LIBMTP_FILETYPE_TIFF ||\
196 a == LIBMTP_FILETYPE_BMP ||\
197 a == LIBMTP_FILETYPE_GIF ||\
198 a == LIBMTP_FILETYPE_PICT ||\
199 a == LIBMTP_FILETYPE_PNG ||\
200 a == LIBMTP_FILETYPE_JP2 ||\
201 a == LIBMTP_FILETYPE_JPX ||\
202 a == LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT)
203 
208 #define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)\
209 (a == LIBMTP_FILETYPE_VCARD2 ||\
210 a == LIBMTP_FILETYPE_VCARD3)
211 
216 #define LIBMTP_FILETYPE_IS_CALENDAR(a)\
217 (a == LIBMTP_FILETYPE_VCALENDAR1 ||\
218 a == LIBMTP_FILETYPE_VCALENDAR2)
219 
224 typedef enum {
225  LIBMTP_PROPERTY_StorageID,
226  LIBMTP_PROPERTY_ObjectFormat,
227  LIBMTP_PROPERTY_ProtectionStatus,
228  LIBMTP_PROPERTY_ObjectSize,
229  LIBMTP_PROPERTY_AssociationType,
230  LIBMTP_PROPERTY_AssociationDesc,
231  LIBMTP_PROPERTY_ObjectFileName,
232  LIBMTP_PROPERTY_DateCreated,
233  LIBMTP_PROPERTY_DateModified,
234  LIBMTP_PROPERTY_Keywords,
235  LIBMTP_PROPERTY_ParentObject,
236  LIBMTP_PROPERTY_AllowedFolderContents,
237  LIBMTP_PROPERTY_Hidden,
238  LIBMTP_PROPERTY_SystemObject,
239  LIBMTP_PROPERTY_PersistantUniqueObjectIdentifier,
240  LIBMTP_PROPERTY_SyncID,
241  LIBMTP_PROPERTY_PropertyBag,
242  LIBMTP_PROPERTY_Name,
243  LIBMTP_PROPERTY_CreatedBy,
244  LIBMTP_PROPERTY_Artist,
245  LIBMTP_PROPERTY_DateAuthored,
246  LIBMTP_PROPERTY_Description,
247  LIBMTP_PROPERTY_URLReference,
248  LIBMTP_PROPERTY_LanguageLocale,
249  LIBMTP_PROPERTY_CopyrightInformation,
250  LIBMTP_PROPERTY_Source,
251  LIBMTP_PROPERTY_OriginLocation,
252  LIBMTP_PROPERTY_DateAdded,
253  LIBMTP_PROPERTY_NonConsumable,
254  LIBMTP_PROPERTY_CorruptOrUnplayable,
255  LIBMTP_PROPERTY_ProducerSerialNumber,
256  LIBMTP_PROPERTY_RepresentativeSampleFormat,
257  LIBMTP_PROPERTY_RepresentativeSampleSize,
258  LIBMTP_PROPERTY_RepresentativeSampleHeight,
259  LIBMTP_PROPERTY_RepresentativeSampleWidth,
260  LIBMTP_PROPERTY_RepresentativeSampleDuration,
261  LIBMTP_PROPERTY_RepresentativeSampleData,
262  LIBMTP_PROPERTY_Width,
263  LIBMTP_PROPERTY_Height,
264  LIBMTP_PROPERTY_Duration,
265  LIBMTP_PROPERTY_Rating,
266  LIBMTP_PROPERTY_Track,
267  LIBMTP_PROPERTY_Genre,
268  LIBMTP_PROPERTY_Credits,
269  LIBMTP_PROPERTY_Lyrics,
270  LIBMTP_PROPERTY_SubscriptionContentID,
271  LIBMTP_PROPERTY_ProducedBy,
272  LIBMTP_PROPERTY_UseCount,
273  LIBMTP_PROPERTY_SkipCount,
274  LIBMTP_PROPERTY_LastAccessed,
275  LIBMTP_PROPERTY_ParentalRating,
276  LIBMTP_PROPERTY_MetaGenre,
277  LIBMTP_PROPERTY_Composer,
278  LIBMTP_PROPERTY_EffectiveRating,
279  LIBMTP_PROPERTY_Subtitle,
280  LIBMTP_PROPERTY_OriginalReleaseDate,
281  LIBMTP_PROPERTY_AlbumName,
282  LIBMTP_PROPERTY_AlbumArtist,
283  LIBMTP_PROPERTY_Mood,
284  LIBMTP_PROPERTY_DRMStatus,
285  LIBMTP_PROPERTY_SubDescription,
286  LIBMTP_PROPERTY_IsCropped,
287  LIBMTP_PROPERTY_IsColorCorrected,
288  LIBMTP_PROPERTY_ImageBitDepth,
289  LIBMTP_PROPERTY_Fnumber,
290  LIBMTP_PROPERTY_ExposureTime,
291  LIBMTP_PROPERTY_ExposureIndex,
292  LIBMTP_PROPERTY_DisplayName,
293  LIBMTP_PROPERTY_BodyText,
294  LIBMTP_PROPERTY_Subject,
295  LIBMTP_PROPERTY_Priority,
296  LIBMTP_PROPERTY_GivenName,
297  LIBMTP_PROPERTY_MiddleNames,
298  LIBMTP_PROPERTY_FamilyName,
299  LIBMTP_PROPERTY_Prefix,
300  LIBMTP_PROPERTY_Suffix,
301  LIBMTP_PROPERTY_PhoneticGivenName,
302  LIBMTP_PROPERTY_PhoneticFamilyName,
303  LIBMTP_PROPERTY_EmailPrimary,
304  LIBMTP_PROPERTY_EmailPersonal1,
305  LIBMTP_PROPERTY_EmailPersonal2,
306  LIBMTP_PROPERTY_EmailBusiness1,
307  LIBMTP_PROPERTY_EmailBusiness2,
308  LIBMTP_PROPERTY_EmailOthers,
309  LIBMTP_PROPERTY_PhoneNumberPrimary,
310  LIBMTP_PROPERTY_PhoneNumberPersonal,
311  LIBMTP_PROPERTY_PhoneNumberPersonal2,
312  LIBMTP_PROPERTY_PhoneNumberBusiness,
313  LIBMTP_PROPERTY_PhoneNumberBusiness2,
314  LIBMTP_PROPERTY_PhoneNumberMobile,
315  LIBMTP_PROPERTY_PhoneNumberMobile2,
316  LIBMTP_PROPERTY_FaxNumberPrimary,
317  LIBMTP_PROPERTY_FaxNumberPersonal,
318  LIBMTP_PROPERTY_FaxNumberBusiness,
319  LIBMTP_PROPERTY_PagerNumber,
320  LIBMTP_PROPERTY_PhoneNumberOthers,
321  LIBMTP_PROPERTY_PrimaryWebAddress,
322  LIBMTP_PROPERTY_PersonalWebAddress,
323  LIBMTP_PROPERTY_BusinessWebAddress,
324  LIBMTP_PROPERTY_InstantMessengerAddress,
325  LIBMTP_PROPERTY_InstantMessengerAddress2,
326  LIBMTP_PROPERTY_InstantMessengerAddress3,
327  LIBMTP_PROPERTY_PostalAddressPersonalFull,
328  LIBMTP_PROPERTY_PostalAddressPersonalFullLine1,
329  LIBMTP_PROPERTY_PostalAddressPersonalFullLine2,
330  LIBMTP_PROPERTY_PostalAddressPersonalFullCity,
331  LIBMTP_PROPERTY_PostalAddressPersonalFullRegion,
332  LIBMTP_PROPERTY_PostalAddressPersonalFullPostalCode,
333  LIBMTP_PROPERTY_PostalAddressPersonalFullCountry,
334  LIBMTP_PROPERTY_PostalAddressBusinessFull,
335  LIBMTP_PROPERTY_PostalAddressBusinessLine1,
336  LIBMTP_PROPERTY_PostalAddressBusinessLine2,
337  LIBMTP_PROPERTY_PostalAddressBusinessCity,
338  LIBMTP_PROPERTY_PostalAddressBusinessRegion,
339  LIBMTP_PROPERTY_PostalAddressBusinessPostalCode,
340  LIBMTP_PROPERTY_PostalAddressBusinessCountry,
341  LIBMTP_PROPERTY_PostalAddressOtherFull,
342  LIBMTP_PROPERTY_PostalAddressOtherLine1,
343  LIBMTP_PROPERTY_PostalAddressOtherLine2,
344  LIBMTP_PROPERTY_PostalAddressOtherCity,
345  LIBMTP_PROPERTY_PostalAddressOtherRegion,
346  LIBMTP_PROPERTY_PostalAddressOtherPostalCode,
347  LIBMTP_PROPERTY_PostalAddressOtherCountry,
348  LIBMTP_PROPERTY_OrganizationName,
349  LIBMTP_PROPERTY_PhoneticOrganizationName,
350  LIBMTP_PROPERTY_Role,
351  LIBMTP_PROPERTY_Birthdate,
352  LIBMTP_PROPERTY_MessageTo,
353  LIBMTP_PROPERTY_MessageCC,
354  LIBMTP_PROPERTY_MessageBCC,
355  LIBMTP_PROPERTY_MessageRead,
356  LIBMTP_PROPERTY_MessageReceivedTime,
357  LIBMTP_PROPERTY_MessageSender,
358  LIBMTP_PROPERTY_ActivityBeginTime,
359  LIBMTP_PROPERTY_ActivityEndTime,
360  LIBMTP_PROPERTY_ActivityLocation,
361  LIBMTP_PROPERTY_ActivityRequiredAttendees,
362  LIBMTP_PROPERTY_ActivityOptionalAttendees,
363  LIBMTP_PROPERTY_ActivityResources,
364  LIBMTP_PROPERTY_ActivityAccepted,
365  LIBMTP_PROPERTY_Owner,
366  LIBMTP_PROPERTY_Editor,
367  LIBMTP_PROPERTY_Webmaster,
368  LIBMTP_PROPERTY_URLSource,
369  LIBMTP_PROPERTY_URLDestination,
370  LIBMTP_PROPERTY_TimeBookmark,
371  LIBMTP_PROPERTY_ObjectBookmark,
372  LIBMTP_PROPERTY_ByteBookmark,
373  LIBMTP_PROPERTY_LastBuildDate,
374  LIBMTP_PROPERTY_TimetoLive,
375  LIBMTP_PROPERTY_MediaGUID,
376  LIBMTP_PROPERTY_TotalBitRate,
377  LIBMTP_PROPERTY_BitRateType,
378  LIBMTP_PROPERTY_SampleRate,
379  LIBMTP_PROPERTY_NumberOfChannels,
380  LIBMTP_PROPERTY_AudioBitDepth,
381  LIBMTP_PROPERTY_ScanDepth,
382  LIBMTP_PROPERTY_AudioWAVECodec,
383  LIBMTP_PROPERTY_AudioBitRate,
384  LIBMTP_PROPERTY_VideoFourCCCodec,
385  LIBMTP_PROPERTY_VideoBitRate,
386  LIBMTP_PROPERTY_FramesPerThousandSeconds,
387  LIBMTP_PROPERTY_KeyFrameDistance,
388  LIBMTP_PROPERTY_BufferSize,
389  LIBMTP_PROPERTY_EncodingQuality,
390  LIBMTP_PROPERTY_EncodingProfile,
391  LIBMTP_PROPERTY_BuyFlag,
392  LIBMTP_PROPERTY_UNKNOWN
394 
398 typedef enum {
399  LIBMTP_DATATYPE_INT8,
400  LIBMTP_DATATYPE_UINT8,
401  LIBMTP_DATATYPE_INT16,
402  LIBMTP_DATATYPE_UINT16,
403  LIBMTP_DATATYPE_INT32,
404  LIBMTP_DATATYPE_UINT32,
405  LIBMTP_DATATYPE_INT64,
406  LIBMTP_DATATYPE_UINT64,
408 
412 typedef enum {
442 
447 typedef enum {
448  LIBMTP_ERROR_NONE,
449  LIBMTP_ERROR_GENERAL,
450  LIBMTP_ERROR_PTP_LAYER,
451  LIBMTP_ERROR_USB_LAYER,
452  LIBMTP_ERROR_MEMORY_ALLOCATION,
453  LIBMTP_ERROR_NO_DEVICE_ATTACHED,
454  LIBMTP_ERROR_STORAGE_FULL,
455  LIBMTP_ERROR_CONNECTING,
456  LIBMTP_ERROR_CANCELLED
458 
483 typedef int (* LIBMTP_progressfunc_t) (uint64_t const sent, uint64_t const total,
484  void const * const data);
485 
498 typedef uint16_t (* MTPDataGetFunc) (void* params, void* priv,
499  uint32_t wantlen, unsigned char *data, uint32_t *gotlen);
500 
513 typedef uint16_t (* MTPDataPutFunc) (void* params, void* priv,
514  uint32_t sendlen, unsigned char *data, uint32_t *putlen);
515 
519 #define LIBMTP_HANDLER_RETURN_OK 0
520 #define LIBMTP_HANDLER_RETURN_ERROR 1
521 #define LIBMTP_HANDLER_RETURN_CANCEL 2
522 
533  char *vendor;
534  uint16_t vendor_id;
535  char *product;
536  uint16_t product_id;
537  uint32_t device_flags;
538 };
539 
546  uint32_t bus_location;
547  uint8_t devnum;
548 };
549 
554  LIBMTP_error_number_t errornumber;
555  char *error_text;
556  LIBMTP_error_t *next;
557 };
558 
563  uint8_t u8max;
564  uint8_t u8min;
565  uint8_t u8step;
566  uint8_t* u8vals;
567  int8_t i8max;
568  int8_t i8min;
569  int8_t i8step;
570  int8_t* i8vals;
571  uint16_t u16max;
572  uint16_t u16min;
573  uint16_t u16step;
574  uint16_t* u16vals;
575  int16_t i16max;
576  int16_t i16min;
577  int16_t i16step;
578  int16_t* i16vals;
579  uint32_t u32max;
580  uint32_t u32min;
581  uint32_t u32step;
582  uint32_t* u32vals;
583  int32_t i32max;
584  int32_t i32min;
585  int32_t i32step;
586  int32_t* i32vals;
587  uint64_t u64max;
588  uint64_t u64min;
589  uint64_t u64step;
590  uint64_t* u64vals;
591  int64_t i64max;
592  int64_t i64min;
593  int64_t i64step;
594  int64_t* i64vals;
598  uint16_t num_entries;
606  int is_range;
607 };
608 
616  char *name;
620  int major;
624  int minor;
630 };
631 
639  uint8_t object_bitsize;
644  void *params;
649  void *usbinfo;
681  void *cd;
685  int cached;
686 
689 };
690 
695  uint32_t item_id;
696  uint32_t parent_id;
697  uint32_t storage_id;
698  char *filename;
699  uint64_t filesize;
703 };
704 
709  uint32_t item_id;
710  uint32_t parent_id;
711  uint32_t storage_id;
712  char *title;
713  char *artist;
714  char *composer;
715  char *genre;
716  char *album;
717  char *date;
718  char *filename;
719  uint16_t tracknumber;
720  uint32_t duration;
721  uint32_t samplerate;
722  uint16_t nochannels;
723  uint32_t wavecodec;
724  uint32_t bitrate;
725  uint16_t bitratetype;
726  uint16_t rating;
727  uint32_t usecount;
728  uint64_t filesize;
732 };
733 
738  uint32_t playlist_id;
739  uint32_t parent_id;
740  uint32_t storage_id;
741  char *name;
742  uint32_t *tracks;
743  uint32_t no_tracks;
745 };
746 
751  uint32_t album_id;
752  uint32_t parent_id;
753  uint32_t storage_id;
754  char *name;
755  char *artist;
756  char *composer;
757  char *genre;
758  uint32_t *tracks;
759  uint32_t no_tracks;
761 };
762 
767  uint32_t folder_id;
768  uint32_t parent_id;
769  uint32_t storage_id;
770  char *name;
773 };
774 
779  uint32_t width;
780  uint32_t height;
781  uint32_t duration;
783  uint64_t size;
784  char *data;
785 };
786 
791  uint32_t id;
792  uint16_t StorageType;
793  uint16_t FilesystemType;
794  uint16_t AccessCapability;
795  uint64_t MaxCapacity;
796  uint64_t FreeSpaceInBytes;
802 };
803 
809  LIBMTP_EVENT_NONE,
810  LIBMTP_EVENT_STORE_ADDED,
811  LIBMTP_EVENT_STORE_REMOVED,
812  LIBMTP_EVENT_OBJECT_ADDED,
813  LIBMTP_EVENT_OBJECT_REMOVED,
814  LIBMTP_EVENT_DEVICE_PROPERTY_CHANGED,
815 };
816 typedef enum LIBMTP_event_enum LIBMTP_event_t;
817 
820 /* Make functions available for C++ */
821 #ifdef __cplusplus
822 extern "C" {
823 #endif
824 
825 extern int LIBMTP_debug;
826 
831 void LIBMTP_Set_Debug(int);
832 void LIBMTP_Init(void);
840 int LIBMTP_Check_Specific_Device(int busno, int devno);
841 LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device(LIBMTP_raw_device_t *);
843 /* Begin old, legacy interface */
851 /* End old, legacy interface */
860 int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t*, char const * const);
862 int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t*, char const * const);
864  uint8_t * const,
865  uint8_t * const);
866 int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char ** const);
868 int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t ** const, uint16_t * const);
873 
874 void LIBMTP_FreeMemory(void *);
875 
876 #define LIBMTP_STORAGE_SORTBY_NOTSORTED 0
877 #define LIBMTP_STORAGE_SORTBY_FREESPACE 1
878 #define LIBMTP_STORAGE_SORTBY_MAXSPACE 2
879 
880 int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const);
882 
888 uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
889  LIBMTP_property_t const, uint64_t const);
890 uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
891  LIBMTP_property_t const, uint32_t const);
892 uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
893  LIBMTP_property_t const, uint16_t const);
894 uint8_t LIBMTP_Get_u8_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
895  LIBMTP_property_t const, uint8_t const);
896 int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *, uint32_t const,
897  LIBMTP_property_t const, char const * const);
898 int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *, uint32_t const,
899  LIBMTP_property_t const, uint32_t const);
900 int LIBMTP_Set_Object_u16(LIBMTP_mtpdevice_t *, uint32_t const,
901  LIBMTP_property_t const, uint16_t const);
902 int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *, uint32_t const,
903  LIBMTP_property_t const, uint8_t const);
904 char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty);
906  LIBMTP_filetype_t const);
910 
921  LIBMTP_progressfunc_t const, void const * const);
922 
923 #define LIBMTP_FILES_AND_FOLDERS_ROOT 0xffffffff
924 
926  uint32_t const,
927  uint32_t const);
929  uint32_t const,
930  uint32_t const,
931  uint32_t **);
933 int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
934  LIBMTP_progressfunc_t const, void const * const);
936  uint32_t const,
937  int const,
938  LIBMTP_progressfunc_t const,
939  void const * const);
941  uint32_t const,
943  void *,
944  LIBMTP_progressfunc_t const,
945  void const * const);
947  char const * const,
948  LIBMTP_file_t * const,
949  LIBMTP_progressfunc_t const,
950  void const * const);
952  int const,
953  LIBMTP_file_t * const,
954  LIBMTP_progressfunc_t const,
955  void const * const);
957  MTPDataGetFunc, void *,
958  LIBMTP_file_t * const,
959  LIBMTP_progressfunc_t const,
960  void const * const);
962  LIBMTP_file_t *,
963  const char *);
967  LIBMTP_filetype_t const,
973 int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const,
974  unsigned char **data, unsigned int *size);
975 
985  LIBMTP_progressfunc_t const, void const * const);
987  LIBMTP_progressfunc_t const, void const * const);
989 int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
990  LIBMTP_progressfunc_t const, void const * const);
991 int LIBMTP_Get_Track_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const, int const,
992  LIBMTP_progressfunc_t const, void const * const);
994  void *, LIBMTP_progressfunc_t const, void const * const);
996  char const * const, LIBMTP_track_t * const,
997  LIBMTP_progressfunc_t const,
998  void const * const);
1000  int const, LIBMTP_track_t * const,
1001  LIBMTP_progressfunc_t const,
1002  void const * const);
1004  MTPDataGetFunc, void *, LIBMTP_track_t * const,
1005  LIBMTP_progressfunc_t const,
1006  void const * const);
1008  LIBMTP_track_t const * const);
1009 int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const);
1022  uint32_t const);
1024 uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char *, uint32_t, uint32_t);
1041 
1055 
1061 int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t);
1062 int LIBMTP_Move_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t);
1063 int LIBMTP_Copy_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t);
1064 int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t , char *);
1065 int LIBMTP_GetPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
1066  uint64_t, uint32_t,
1067  unsigned char **, unsigned int *);
1068 int LIBMTP_SendPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
1069  uint64_t, unsigned char *, unsigned int);
1070 int LIBMTP_BeginEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
1071 int LIBMTP_EndEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
1072 int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *, uint32_t const, uint64_t);
1073 
1079 typedef void(* LIBMTP_event_cb_fn) (int, LIBMTP_event_t, uint32_t, void *);
1080 int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *);
1081 int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *);
1082 int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *);
1083 
1089 int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *, uint16_t, int, ...);
1090 
1093 /* End of C++ exports */
1094 #ifdef __cplusplus
1095 }
1096 #endif
1097 
1098 #endif /* LIBMTP_H_INCLUSION_GUARD */
1099 
LIBMTP_album_t * LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:8755
uint32_t default_music_folder
Definition: libmtp.h:665
int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:4056
LIBMTP_folder_t * sibling
Definition: libmtp.h:771
int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *)
Definition: libmtp.c:7180
int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:3847
uint32_t storage_id
Definition: libmtp.h:753
uint16_t AccessCapability
Definition: libmtp.h:794
char * genre
Definition: libmtp.h:715
uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint64_t const)
Definition: libmtp.c:1216
LIBMTP_filetype_t filetype
Definition: libmtp.h:730
LIBMTP_mtpdevice_t * LIBMTP_Get_Device_By_SerialNumber(char *)
Definition: libmtp.c:1729
int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *, LIBMTP_file_t *, const char *)
Definition: libmtp.c:7120
void LIBMTP_Release_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2513
int LIBMTP_Move_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t)
Definition: libmtp.c:6973
LIBMTP_file_t * next
Definition: libmtp.h:702
void LIBMTP_destroy_file_t(LIBMTP_file_t *)
Definition: libmtp.c:4324
Definition: libmtp.h:708
LIBMTP_track_t * next
Definition: libmtp.h:731
Definition: libmtp.h:750
LIBMTP_file_t * LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4481
void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2633
LIBMTP_datatype_t
Definition: libmtp.h:398
char * name
Definition: libmtp.h:770
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:5079
uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint16_t const)
Definition: libmtp.c:1246
uint64_t FreeSpaceInBytes
Definition: libmtp.h:796
LIBMTP_album_t * next
Definition: libmtp.h:760
void LIBMTP_destroy_track_t(LIBMTP_track_t *)
Definition: libmtp.c:4774
LIBMTP_file_t * LIBMTP_new_file_t(void)
Definition: libmtp.c:4300
Definition: libmtp.h:430
LIBMTP_file_t * LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:4457
uint32_t storage_id
Definition: libmtp.h:740
uint16_t nochannels
Definition: libmtp.h:722
uint32_t parent_id
Definition: libmtp.h:768
uint8_t maximum_battery_level
Definition: libmtp.h:663
void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t *)
Definition: libmtp.c:1111
LIBMTP_filesampledata_t * LIBMTP_new_filesampledata_t(void)
Definition: libmtp.c:8859
LIBMTP_mtpdevice_t * LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *)
Definition: libmtp.c:1921
char * name
Definition: libmtp.h:754
int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t, char *)
Definition: libmtp.c:7282
Definition: libmtp.h:635
uint8_t object_bitsize
Definition: libmtp.h:639
LIBMTP_devicecap_t
Definition: libmtp.h:412
uint16_t product_id
Definition: libmtp.h:536
char * title
Definition: libmtp.h:712
int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint32_t const)
Definition: libmtp.c:1292
Definition: libmtp.h:694
int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint8_t const)
Definition: libmtp.c:1322
Definition: libmtp.h:790
uint32_t default_zencast_folder
Definition: libmtp.h:675
uint64_t FreeSpaceInObjects
Definition: libmtp.h:797
uint16_t bitratetype
Definition: libmtp.h:725
uint32_t bitrate
Definition: libmtp.h:724
uint32_t parent_id
Definition: libmtp.h:710
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:5981
LIBMTP_error_number_t
Definition: libmtp.h:447
uint32_t storage_id
Definition: libmtp.h:711
int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const, unsigned char **data, unsigned int *size)
Definition: libmtp.c:9211
char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t)
Definition: libmtp.c:807
LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **)
Definition: libmtp.c:2461
uint16_t StorageType
Definition: libmtp.h:792
char * LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const)
Definition: libmtp.c:1201
LIBMTP_folder_t * LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7455
uint32_t item_id
Definition: libmtp.h:709
LIBMTP_track_t * LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5029
LIBMTP_folder_t * child
Definition: libmtp.h:772
uint16_t num_entries
Definition: libmtp.h:598
int LIBMTP_Get_Track_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc, void *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5597
char * artist
Definition: libmtp.h:755
uint16_t rating
Definition: libmtp.h:726
uint32_t * tracks
Definition: libmtp.h:758
uint16_t FilesystemType
Definition: libmtp.h:793
uint32_t wavecodec
Definition: libmtp.h:723
char * vendor
Definition: libmtp.h:533
void * usbinfo
Definition: libmtp.h:649
int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *)
Definition: libmtp.c:7217
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
LIBMTP_devicestorage_t * storage
Definition: libmtp.h:656
char * composer
Definition: libmtp.h:756
int LIBMTP_Check_Specific_Device(int busno, int devno)
Definition: libopenusb1-glue.c:556
uint32_t default_video_folder
Definition: libmtp.h:671
Definition: libmtp.h:612
LIBMTP_devicestorage_t * prev
Definition: libmtp.h:801
uint32_t album_id
Definition: libmtp.h:751
char * LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3724
uint32_t default_organizer_folder
Definition: libmtp.h:673
LIBMTP_filetype_t
Definition: libmtp.h:88
void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *)
Definition: libmtp.c:8877
void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *)
Definition: libmtp.c:7691
uint32_t duration
Definition: libmtp.h:720
uint32_t samplerate
Definition: libmtp.h:721
LIBMTP_playlist_t * next
Definition: libmtp.h:744
int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7309
int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *)
Definition: libmtp.c:2393
int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *, uint8_t *const, uint8_t *const)
Definition: libmtp.c:3916
time_t modificationdate
Definition: libmtp.h:700
void * params
Definition: libmtp.h:644
char * filename
Definition: libmtp.h:718
Definition: libmtp.h:737
int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc, void *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5468
LIBMTP_device_entry_t device_entry
Definition: libmtp.h:545
LIBMTP_folder_t * LIBMTP_Find_Folder(LIBMTP_folder_t *, uint32_t const)
Definition: libmtp.c:7386
uint32_t device_flags
Definition: libmtp.h:537
uint32_t no_tracks
Definition: libmtp.h:759
int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *)
Definition: libmtp.c:7150
uint64_t size
Definition: libmtp.h:783
uint32_t default_playlist_folder
Definition: libmtp.h:667
uint32_t usecount
Definition: libmtp.h:727
Definition: libmtp.h:417
LIBMTP_device_extension_t * next
Definition: libmtp.h:629
char * name
Definition: libmtp.h:741
uint16_t(* MTPDataPutFunc)(void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)
Definition: libmtp.h:513
char * genre
Definition: libmtp.h:757
Definition: libmtp.h:435
char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty)
Definition: libmtp.c:830
LIBMTP_mtpdevice_t * LIBMTP_Get_First_Device(void)
Definition: libmtp.c:1719
Definition: libmtp.h:532
char * filename
Definition: libmtp.h:698
LIBMTP_track_t * LIBMTP_new_track_t(void)
Definition: libmtp.c:4735
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:5645
void LIBMTP_destroy_folder_t(LIBMTP_folder_t *)
Definition: libmtp.c:7355
char * LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3809
char * LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3746
uint32_t playlist_id
Definition: libmtp.h:738
void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3243
time_t modificationdate
Definition: libmtp.h:729
LIBMTP_folder_t * LIBMTP_new_folder_t(void)
Definition: libmtp.c:7332
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:6176
void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2660
char * composer
Definition: libmtp.h:714
LIBMTP_playlist_t * LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:7716
uint16_t(* MTPDataGetFunc)(void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)
Definition: libmtp.h:498
int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *)
Definition: libopenusb1-glue.c:1713
LIBMTP_error_t * errorstack
Definition: libmtp.h:661
uint32_t default_picture_folder
Definition: libmtp.h:669
uint8_t LIBMTP_Get_u8_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint8_t const)
Definition: libmtp.c:1261
int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t **const, int *const)
Definition: libopenusb1-glue.c:131
uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2443
LIBMTP_track_t * LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:5197
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition: libmtp.c:8481
char * LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3687
uint32_t default_album_folder
Definition: libmtp.h:677
LIBMTP_album_t * LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:8674
char * product
Definition: libmtp.h:535
LIBMTP_track_t * LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4981
int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:9044
LIBMTP_filetype_t filetype
Definition: libmtp.h:782
uint64_t filesize
Definition: libmtp.h:728
uint32_t no_tracks
Definition: libmtp.h:743
char * date
Definition: libmtp.h:717
LIBMTP_playlist_t * LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7794
int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *)
Definition: libmtp.c:3958
uint32_t default_text_folder
Definition: libmtp.h:679
Definition: libmtp.h:422
LIBMTP_mtpdevice_t * LIBMTP_Get_Device(int)
Definition: libmtp.c:1687
int LIBMTP_Get_Children(LIBMTP_mtpdevice_t *, uint32_t const, uint32_t const, uint32_t **)
Definition: libmtp.c:4678
char * LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3705
uint32_t storage_id
Definition: libmtp.h:769
void LIBMTP_Init(void)
Definition: libmtp.c:774
Definition: libmtp.h:778
uint32_t parent_id
Definition: libmtp.h:696
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:5778
int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t *const)
Definition: libmtp.c:8820
int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t **const, uint16_t *const)
Definition: libmtp.c:4077
uint64_t filesize
Definition: libmtp.h:699
LIBMTP_event_enum
Definition: libmtp.h:808
uint32_t id
Definition: libmtp.h:791
void LIBMTP_Set_Debug(int)
Definition: libmtp.c:756
Definition: libmtp.h:562
char * name
Definition: libmtp.h:616
int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *, uint16_t, int,...)
Definition: libmtp.c:9442
uint32_t parent_id
Definition: libmtp.h:752
int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t *, uint32_t, char const *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5341
Definition: libmtp.h:553
char * data
Definition: libmtp.h:784
uint8_t devnum
Definition: libmtp.h:547
uint32_t height
Definition: libmtp.h:780
void * cd
Definition: libmtp.h:681
int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t)
Definition: libmtp.c:6938
LIBMTP_playlist_t * LIBMTP_new_playlist_t(void)
Definition: libmtp.c:7668
char * VolumeIdentifier
Definition: libmtp.h:799
uint32_t width
Definition: libmtp.h:779
uint32_t folder_id
Definition: libmtp.h:767
uint16_t tracknumber
Definition: libmtp.h:719
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:5570
Definition: libmtp.h:440
LIBMTP_datatype_t datatype
Definition: libmtp.h:602
LIBMTP_album_t * LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:8692
int(* LIBMTP_progressfunc_t)(uint64_t const sent, uint64_t const total, void const *const data)
Definition: libmtp.h:483
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_Track_To_File(LIBMTP_mtpdevice_t *, uint32_t, char const *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5546
uint32_t bus_location
Definition: libmtp.h:546
void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2496
uint64_t MaxCapacity
Definition: libmtp.h:795
uint32_t duration
Definition: libmtp.h:781
LIBMTP_devicestorage_t * next
Definition: libmtp.h:800
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:5401
uint32_t * tracks
Definition: libmtp.h:742
int major
Definition: libmtp.h:620
int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:9139
LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *)
Definition: libopenusb1-glue.c:592
uint32_t storage_id
Definition: libmtp.h:697
int minor
Definition: libmtp.h:624
int cached
Definition: libmtp.h:685
uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint32_t const)
Definition: libmtp.c:1231
LIBMTP_album_t * LIBMTP_new_album_t(void)
Definition: libmtp.c:8512
LIBMTP_file_t * LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:4529
int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:3779
LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *, uint32_t const, uint32_t const)
Definition: libmtp.c:4594
int LIBMTP_Copy_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t)
Definition: libmtp.c:7009
uint16_t vendor_id
Definition: libmtp.h:534
char * album
Definition: libmtp.h:716
LIBMTP_device_extension_t * extensions
Definition: libmtp.h:683
int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t)
Definition: libmtp.c:4133
void LIBMTP_destroy_album_t(LIBMTP_album_t *)
Definition: libmtp.c:8537
int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition: libmtp.c:8429
LIBMTP_mtpdevice_t * next
Definition: libmtp.h:688
Definition: libmtp.h:544
int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3642
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:6059
void LIBMTP_FreeMemory(void *)
Definition: libmtp.c:9471
char * artist
Definition: libmtp.h:713
int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const)
Definition: libmtp.c:4194
int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:4042
char * LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3668
Definition: libmtp.h:766
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:5882
LIBMTP_mtpdevice_t * LIBMTP_Get_Device_By_ID(char *)
Definition: libmtp.c:1778
char * StorageDescription
Definition: libmtp.h:798
uint32_t item_id
Definition: libmtp.h:695
int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const *const)
Definition: libmtp.c:9382
uint32_t parent_id
Definition: libmtp.h:739
LIBMTP_property_t
Definition: libmtp.h:224
int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *, LIBMTP_track_t const *const)
Definition: libmtp.c:6547
LIBMTP_filetype_t filetype
Definition: libmtp.h:701
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_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *)
Definition: libmtp.c:7254
int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *, LIBMTP_filetype_t const, LIBMTP_filesampledata_t **)
Definition: libmtp.c:8911
int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *)
Definition: libmtp.c:2248
int is_range
Definition: libmtp.h:606
int LIBMTP_debug
Definition: libmtp.c:89
LIBMTP_error_t * LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2617
uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t *, char *, uint32_t, uint32_t)
Definition: libmtp.c:7585
int LIBMTP_Is_Property_Supported(LIBMTP_mtpdevice_t *, LIBMTP_property_t const, LIBMTP_filetype_t const)
Definition: libmtp.c:1160
LIBMTP_folder_t * LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:7561