libmtp: /chakra/core/libmtp/src/libmtp-1.1.16/src/libmtp.h Source File

libmtp 1.1.16

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.16
33 #define LIBMTP_VERSION_STRING "1.1.16"
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 #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
86 typedef 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
132 } LIBMTP_filetype_t;
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 ||\
192 a == LIBMTP_FILETYPE_JFIF ||\
193 a == LIBMTP_FILETYPE_TIFF ||\
194 a == LIBMTP_FILETYPE_BMP ||\
195 a == LIBMTP_FILETYPE_GIF ||\
196 a == LIBMTP_FILETYPE_PICT ||\
197 a == LIBMTP_FILETYPE_PNG ||\
198 a == LIBMTP_FILETYPE_JP2 ||\
199 a == LIBMTP_FILETYPE_JPX ||\
200 a == LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT)
201
206 #define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)\
207 (a == LIBMTP_FILETYPE_VCARD2 ||\
208 a == LIBMTP_FILETYPE_VCARD3)
209
214 #define LIBMTP_FILETYPE_IS_CALENDAR(a)\
215 (a == LIBMTP_FILETYPE_VCALENDAR1 ||\
216 a == LIBMTP_FILETYPE_VCALENDAR2)
217
222 typedef 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
391 } LIBMTP_property_t;
392
396 typedef 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,
405 } LIBMTP_datatype_t;
406
410 typedef enum {
415 LIBMTP_DEVICECAP_GetPartialObject,
420 LIBMTP_DEVICECAP_SendPartialObject,
428 LIBMTP_DEVICECAP_EditObjects,
433 LIBMTP_DEVICECAP_MoveObject,
438 LIBMTP_DEVICECAP_CopyObject,
439 } LIBMTP_devicecap_t;
440
445 typedef enum {
446 LIBMTP_ERROR_NONE,
447 LIBMTP_ERROR_GENERAL,
448 LIBMTP_ERROR_PTP_LAYER,
449 LIBMTP_ERROR_USB_LAYER,
450 LIBMTP_ERROR_MEMORY_ALLOCATION,
451 LIBMTP_ERROR_NO_DEVICE_ATTACHED,
452 LIBMTP_ERROR_STORAGE_FULL,
453 LIBMTP_ERROR_CONNECTING,
454 LIBMTP_ERROR_CANCELLED
455 } LIBMTP_error_number_t;
456
457 typedef struct LIBMTP_device_entry_struct LIBMTP_device_entry_t;
458 typedef struct LIBMTP_raw_device_struct LIBMTP_raw_device_t;
459 typedef struct LIBMTP_error_struct LIBMTP_error_t;
460 typedef struct LIBMTP_allowed_values_struct LIBMTP_allowed_values_t;
461 typedef struct LIBMTP_device_extension_struct LIBMTP_device_extension_t;
462 typedef struct LIBMTP_mtpdevice_struct LIBMTP_mtpdevice_t;
463 typedef struct LIBMTP_file_struct LIBMTP_file_t;
464 typedef struct LIBMTP_track_struct LIBMTP_track_t;
465 typedef struct LIBMTP_playlist_struct LIBMTP_playlist_t;
466 typedef struct LIBMTP_album_struct LIBMTP_album_t;
467 typedef struct LIBMTP_folder_struct LIBMTP_folder_t;
468 typedef struct LIBMTP_object_struct LIBMTP_object_t;
469 typedef struct LIBMTP_filesampledata_struct LIBMTP_filesampledata_t;
470 typedef struct LIBMTP_devicestorage_struct LIBMTP_devicestorage_t;
482 typedef int (* LIBMTP_progressfunc_t) (uint64_t const sent, uint64_t const total,
483 void const * const data);
484
497 typedef uint16_t (* MTPDataGetFunc) (void* params, void* priv,
498 uint32_t wantlen, unsigned char *data, uint32_t *gotlen);
499
512 typedef uint16_t (* MTPDataPutFunc) (void* params, void* priv,
513 uint32_t sendlen, unsigned char *data, uint32_t *putlen);
514
518 #define LIBMTP_HANDLER_RETURN_OK 0
519 #define LIBMTP_HANDLER_RETURN_ERROR 1
520 #define LIBMTP_HANDLER_RETURN_CANCEL 2
521
531 struct LIBMTP_device_entry_struct {
532 char *vendor;
533 uint16_t vendor_id;
534 char *product;
535 uint16_t product_id;
536 uint32_t device_flags;
537 };
538
543 struct LIBMTP_raw_device_struct {
544 LIBMTP_device_entry_t device_entry;
545 uint32_t bus_location;
546 uint8_t devnum;
547 };
548
552 struct LIBMTP_error_struct {
553 LIBMTP_error_number_t errornumber;
554 char *error_text;
555 LIBMTP_error_t *next;
556 };
557
561 struct LIBMTP_allowed_values_struct {
562 uint8_t u8max;
563 uint8_t u8min;
564 uint8_t u8step;
565 uint8_t* u8vals;
566 int8_t i8max;
567 int8_t i8min;
568 int8_t i8step;
569 int8_t* i8vals;
570 uint16_t u16max;
571 uint16_t u16min;
572 uint16_t u16step;
573 uint16_t* u16vals;
574 int16_t i16max;
575 int16_t i16min;
576 int16_t i16step;
577 int16_t* i16vals;
578 uint32_t u32max;
579 uint32_t u32min;
580 uint32_t u32step;
581 uint32_t* u32vals;
582 int32_t i32max;
583 int32_t i32min;
584 int32_t i32step;
585 int32_t* i32vals;
586 uint64_t u64max;
587 uint64_t u64min;
588 uint64_t u64step;
589 uint64_t* u64vals;
590 int64_t i64max;
591 int64_t i64min;
592 int64_t i64step;
593 int64_t* i64vals;
597 uint16_t num_entries;
601 LIBMTP_datatype_t datatype;
605 int is_range;
606 };
607
611 struct LIBMTP_device_extension_struct {
615 char *name;
619 int major;
623 int minor;
628 LIBMTP_device_extension_t *next;
629 };
630
634 struct LIBMTP_mtpdevice_struct {
638 uint8_t object_bitsize;
643 void *params;
648 void *usbinfo;
655 LIBMTP_devicestorage_t *storage;
660 LIBMTP_error_t *errorstack;
662 uint8_t maximum_battery_level;
664 uint32_t default_music_folder;
666 uint32_t default_playlist_folder;
668 uint32_t default_picture_folder;
670 uint32_t default_video_folder;
672 uint32_t default_organizer_folder;
674 uint32_t default_zencast_folder;
676 uint32_t default_album_folder;
678 uint32_t default_text_folder;
680 void *cd;
682 LIBMTP_device_extension_t *extensions;
684 int cached;
685
687 LIBMTP_mtpdevice_t *next;
688 };
689
693 struct LIBMTP_file_struct {
694 uint32_t item_id;
695 uint32_t parent_id;
696 uint32_t storage_id;
697 char *filename;
698 uint64_t filesize;
699 time_t modificationdate;
700 LIBMTP_filetype_t filetype;
701 LIBMTP_file_t *next;
702 };
703
707 struct LIBMTP_track_struct {
708 uint32_t item_id;
709 uint32_t parent_id;
710 uint32_t storage_id;
711 char *title;
712 char *artist;
713 char *composer;
714 char *genre;
715 char *album;
716 char *date;
717 char *filename;
718 uint16_t tracknumber;
719 uint32_t duration;
720 uint32_t samplerate;
721 uint16_t nochannels;
722 uint32_t wavecodec;
723 uint32_t bitrate;
724 uint16_t bitratetype;
725 uint16_t rating;
726 uint32_t usecount;
727 uint64_t filesize;
728 time_t modificationdate;
729 LIBMTP_filetype_t filetype;
730 LIBMTP_track_t *next;
731 };
732
736 struct LIBMTP_playlist_struct {
737 uint32_t playlist_id;
738 uint32_t parent_id;
739 uint32_t storage_id;
740 char *name;
741 uint32_t *tracks;
742 uint32_t no_tracks;
743 LIBMTP_playlist_t *next;
744 };
745
749 struct LIBMTP_album_struct {
750 uint32_t album_id;
751 uint32_t parent_id;
752 uint32_t storage_id;
753 char *name;
754 char *artist;
755 char *composer;
756 char *genre;
757 uint32_t *tracks;
758 uint32_t no_tracks;
759 LIBMTP_album_t *next;
760 };
761
765 struct LIBMTP_folder_struct {
766 uint32_t folder_id;
767 uint32_t parent_id;
768 uint32_t storage_id;
769 char *name;
770 LIBMTP_folder_t *sibling;
771 LIBMTP_folder_t *child;
772 };
773
777 struct LIBMTP_filesampledata_struct {
778 uint32_t width;
779 uint32_t height;
780 uint32_t duration;
781 LIBMTP_filetype_t filetype;
782 uint64_t size;
783 char *data;
784 };
785
789 struct LIBMTP_devicestorage_struct {
790 uint32_t id;
791 uint16_t StorageType;
792 uint16_t FilesystemType;
793 uint16_t AccessCapability;
794 uint64_t MaxCapacity;
795 uint64_t FreeSpaceInBytes;
796 uint64_t FreeSpaceInObjects;
797 char *StorageDescription;
798 char *VolumeIdentifier;
799 LIBMTP_devicestorage_t *next;
800 LIBMTP_devicestorage_t *prev;
801 };
802
807 enum LIBMTP_event_enum {
808 LIBMTP_EVENT_NONE,
809 LIBMTP_EVENT_STORE_ADDED,
810 LIBMTP_EVENT_STORE_REMOVED,
811 LIBMTP_EVENT_OBJECT_ADDED,
812 LIBMTP_EVENT_OBJECT_REMOVED,
813 LIBMTP_EVENT_DEVICE_PROPERTY_CHANGED,
814 };
815 typedef enum LIBMTP_event_enum LIBMTP_event_t;
816
819 /* Make functions available for C++ */
820 #ifdef __cplusplus
821 extern "C" {
822 #endif
823
824 extern int LIBMTP_debug;
825
830 void LIBMTP_Set_Debug(int);
831 void LIBMTP_Init(void);
832 int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t ** const, int * const);
838 LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *);
839 int LIBMTP_Check_Specific_Device(int busno, int devno);
840 LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device(LIBMTP_raw_device_t *);
841 LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *);
842 /* Begin old, legacy interface */
843 LIBMTP_mtpdevice_t *LIBMTP_Get_First_Device(void);
844 LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **);
845 uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *);
846 void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t*);
847 /* End old, legacy interface */
848 void LIBMTP_Release_Device(LIBMTP_mtpdevice_t*);
849 void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t*);
850 int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t*);
851 char *LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t*);
852 char *LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t*);
853 char *LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t*);
854 char *LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t*);
855 char *LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t*);
856 int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t*, char const * const);
857 char *LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t*);
858 int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t*, char const * const);
859 int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *,
860 uint8_t * const,
861 uint8_t * const);
862 int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char ** const);
863 int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char ** const);
864 int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t ** const, uint16_t * const);
865 int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t);
866 LIBMTP_error_t *LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t*);
867 void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t*);
868 void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t*);
869
870 #define LIBMTP_STORAGE_SORTBY_NOTSORTED 0
871 #define LIBMTP_STORAGE_SORTBY_FREESPACE 1
872 #define LIBMTP_STORAGE_SORTBY_MAXSPACE 2
873
874 int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const);
875 int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *);
876
881 char *LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const);
882 uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
883 LIBMTP_property_t const, uint64_t const);
884 uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
885 LIBMTP_property_t const, uint32_t const);
886 uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
887 LIBMTP_property_t const, uint16_t const);
888 uint8_t LIBMTP_Get_u8_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
889 LIBMTP_property_t const, uint8_t const);
890 int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *, uint32_t const,
891 LIBMTP_property_t const, char const * const);
892 int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *, uint32_t const,
893 LIBMTP_property_t const, uint32_t const);
894 int LIBMTP_Set_Object_u16(LIBMTP_mtpdevice_t *, uint32_t const,
895 LIBMTP_property_t const, uint16_t const);
896 int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *, uint32_t const,
897 LIBMTP_property_t const, uint8_t const);
898 char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty);
899 int LIBMTP_Is_Property_Supported(LIBMTP_mtpdevice_t*, LIBMTP_property_t const,
900 LIBMTP_filetype_t const);
901 int LIBMTP_Get_Allowed_Property_Values(LIBMTP_mtpdevice_t*, LIBMTP_property_t const,
902 LIBMTP_filetype_t const, LIBMTP_allowed_values_t*);
903 void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t*);
904
910 LIBMTP_file_t *LIBMTP_new_file_t(void);
911 void LIBMTP_destroy_file_t(LIBMTP_file_t*);
912 char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t);
913 LIBMTP_file_t *LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *);
914 LIBMTP_file_t *LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *,
915 LIBMTP_progressfunc_t const, void const * const);
916
917 #define LIBMTP_FILES_AND_FOLDERS_ROOT 0xffffffff
918
919 LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *,
920 uint32_t const,
921 uint32_t const);
922 LIBMTP_file_t *LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const);
923 int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
924 LIBMTP_progressfunc_t const, void const * const);
925 int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t*,
926 uint32_t const,
927 int const,
928 LIBMTP_progressfunc_t const,
929 void const * const);
930 int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *,
931 uint32_t const,
932 MTPDataPutFunc,
933 void *,
934 LIBMTP_progressfunc_t const,
935 void const * const);
936 int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *,
937 char const * const,
938 LIBMTP_file_t * const,
939 LIBMTP_progressfunc_t const,
940 void const * const);
941 int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *,
942 int const,
943 LIBMTP_file_t * const,
944 LIBMTP_progressfunc_t const,
945 void const * const);
946 int LIBMTP_Send_File_From_Handler(LIBMTP_mtpdevice_t *,
947 MTPDataGetFunc, void *,
948 LIBMTP_file_t * const,
949 LIBMTP_progressfunc_t const,
950 void const * const);
951 int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *,
952 LIBMTP_file_t *,
953 const char *);
954 LIBMTP_filesampledata_t *LIBMTP_new_filesampledata_t(void);
955 void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *);
956 int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *,
957 LIBMTP_filetype_t const,
958 LIBMTP_filesampledata_t **);
959 int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
960 LIBMTP_filesampledata_t *);
961 int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
962 LIBMTP_filesampledata_t *);
963 int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const,
964 unsigned char **data, unsigned int *size);
965
971 LIBMTP_track_t *LIBMTP_new_track_t(void);
972 void LIBMTP_destroy_track_t(LIBMTP_track_t*);
973 LIBMTP_track_t *LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t*);
974 LIBMTP_track_t *LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t*,
975 LIBMTP_progressfunc_t const, void const * const);
976 LIBMTP_track_t *LIBMTP_Get_Tracklisting_With_Callback_For_Storage(LIBMTP_mtpdevice_t*, uint32_t const,
977 LIBMTP_progressfunc_t const, void const * const);
978 LIBMTP_track_t *LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t*, uint32_t const);
979 int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
980 LIBMTP_progressfunc_t const, void const * const);
981 int LIBMTP_Get_Track_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const, int const,
982 LIBMTP_progressfunc_t const, void const * const);
983 int LIBMTP_Get_Track_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc,
984 void *, LIBMTP_progressfunc_t const, void const * const);
985 int LIBMTP_Send_Track_From_File(LIBMTP_mtpdevice_t *,
986 char const * const, LIBMTP_track_t * const,
987 LIBMTP_progressfunc_t const,
988 void const * const);
989 int LIBMTP_Send_Track_From_File_Descriptor(LIBMTP_mtpdevice_t *,
990 int const, LIBMTP_track_t * const,
991 LIBMTP_progressfunc_t const,
992 void const * const);
993 int LIBMTP_Send_Track_From_Handler(LIBMTP_mtpdevice_t *,
994 MTPDataGetFunc, void *, LIBMTP_track_t * const,
995 LIBMTP_progressfunc_t const,
996 void const * const);
997 int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *,
998 LIBMTP_track_t const * const);
999 int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const);
1000 int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *);
1008 LIBMTP_folder_t *LIBMTP_new_folder_t(void);
1009 void LIBMTP_destroy_folder_t(LIBMTP_folder_t*);
1010 LIBMTP_folder_t *LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t*);
1011 LIBMTP_folder_t *LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t*,
1012 uint32_t const);
1013 LIBMTP_folder_t *LIBMTP_Find_Folder(LIBMTP_folder_t*, uint32_t const);
1014 uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char *, uint32_t, uint32_t);
1015 int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *);
1024 LIBMTP_playlist_t *LIBMTP_new_playlist_t(void);
1025 void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *);
1026 LIBMTP_playlist_t *LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *);
1027 LIBMTP_playlist_t *LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const);
1028 int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * const);
1029 int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * const);
1030 int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *);
1031
1037 LIBMTP_album_t *LIBMTP_new_album_t(void);
1038 void LIBMTP_destroy_album_t(LIBMTP_album_t *);
1039 LIBMTP_album_t *LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *);
1040 LIBMTP_album_t *LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const);
1041 LIBMTP_album_t *LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const);
1042 int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t * const);
1043 int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const * const);
1044 int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *);
1045
1051 int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t);
1052 int LIBMTP_Move_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t);
1053 int LIBMTP_Copy_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t);
1054 int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t , char *);
1055 int LIBMTP_GetPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
1056 uint64_t, uint32_t,
1057 unsigned char **, unsigned int *);
1058 int LIBMTP_SendPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
1059 uint64_t, unsigned char *, unsigned int);
1060 int LIBMTP_BeginEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
1061 int LIBMTP_EndEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
1062 int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *, uint32_t const, uint64_t);
1063
1069 typedef void(* LIBMTP_event_cb_fn) (int, LIBMTP_event_t, uint32_t, void *);
1070 int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *);
1071 int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *);
1072 int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *);
1073
1079 int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *, uint16_t, int, ...);
1080
1083 /* End of C++ exports */
1084 #ifdef __cplusplus
1085 }
1086 #endif
1087
1088 #endif /* LIBMTP_H_INCLUSION_GUARD */
1089
LIBMTP_Get_Album
LIBMTP_album_t * LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:8592
LIBMTP_mtpdevice_struct::default_music_folder
uint32_t default_music_folder
Definition: libmtp.h:664
LIBMTP_Get_Device_Certificate
int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:3959
LIBMTP_folder_struct::sibling
LIBMTP_folder_t * sibling
Definition: libmtp.h:770
LIBMTP_Set_Track_Name
int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *)
Definition: libmtp.c:7017
LIBMTP_Set_Syncpartner
int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:3750
LIBMTP_album_struct::storage_id
uint32_t storage_id
Definition: libmtp.h:752
LIBMTP_devicestorage_struct::AccessCapability
uint16_t AccessCapability
Definition: libmtp.h:793
LIBMTP_track_struct::genre
char * genre
Definition: libmtp.h:714
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:1216
LIBMTP_track_struct::filetype
LIBMTP_filetype_t filetype
Definition: libmtp.h:729
LIBMTP_Set_File_Name
int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *, LIBMTP_file_t *, const char *)
Definition: libmtp.c:6957
LIBMTP_Release_Device
void LIBMTP_Release_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2422
LIBMTP_Move_Object
int LIBMTP_Move_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t)
Definition: libmtp.c:6810
LIBMTP_file_struct::next
LIBMTP_file_t * next
Definition: libmtp.h:701
LIBMTP_destroy_file_t
void LIBMTP_destroy_file_t(LIBMTP_file_t *)
Definition: libmtp.c:4221
LIBMTP_track_struct
Definition: libmtp.h:707
LIBMTP_track_struct::next
LIBMTP_track_t * next
Definition: libmtp.h:730
LIBMTP_album_struct
Definition: libmtp.h:749
LIBMTP_Get_Filelisting
LIBMTP_file_t * LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4378
LIBMTP_Clear_Errorstack
void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2541
LIBMTP_datatype_t
LIBMTP_datatype_t
Definition: libmtp.h:396
LIBMTP_folder_struct::name
char * name
Definition: libmtp.h:769
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:4919
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:1246
LIBMTP_devicestorage_struct::FreeSpaceInBytes
uint64_t FreeSpaceInBytes
Definition: libmtp.h:795
LIBMTP_album_struct::next
LIBMTP_album_t * next
Definition: libmtp.h:759
LIBMTP_destroy_track_t
void LIBMTP_destroy_track_t(LIBMTP_track_t *)
Definition: libmtp.c:4613
LIBMTP_new_file_t
LIBMTP_file_t * LIBMTP_new_file_t(void)
Definition: libmtp.c:4197
LIBMTP_DEVICECAP_EditObjects
Definition: libmtp.h:428
LIBMTP_Get_Filemetadata
LIBMTP_file_t * LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:4354
LIBMTP_playlist_struct::storage_id
uint32_t storage_id
Definition: libmtp.h:739
LIBMTP_track_struct::nochannels
uint16_t nochannels
Definition: libmtp.h:721
LIBMTP_folder_struct::parent_id
uint32_t parent_id
Definition: libmtp.h:767
LIBMTP_mtpdevice_struct::maximum_battery_level
uint8_t maximum_battery_level
Definition: libmtp.h:662
LIBMTP_destroy_allowed_values_t
void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t *)
Definition: libmtp.c:1111
LIBMTP_new_filesampledata_t
LIBMTP_filesampledata_t * LIBMTP_new_filesampledata_t(void)
Definition: libmtp.c:8696
LIBMTP_Open_Raw_Device_Uncached
LIBMTP_mtpdevice_t * LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *)
Definition: libmtp.c:1832
LIBMTP_album_struct::name
char * name
Definition: libmtp.h:753
LIBMTP_Set_Object_Filename
int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t, char *)
Definition: libmtp.c:7119
LIBMTP_mtpdevice_struct
Definition: libmtp.h:634
LIBMTP_mtpdevice_struct::object_bitsize
uint8_t object_bitsize
Definition: libmtp.h:638
LIBMTP_devicecap_t
LIBMTP_devicecap_t
Definition: libmtp.h:410
LIBMTP_device_entry_struct::product_id
uint16_t product_id
Definition: libmtp.h:535
LIBMTP_object_t
struct LIBMTP_object_struct LIBMTP_object_t
Definition: libmtp.h:468
LIBMTP_track_struct::title
char * title
Definition: libmtp.h:711
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:1292
LIBMTP_file_struct
Definition: libmtp.h:693
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:1322
LIBMTP_devicestorage_struct
Definition: libmtp.h:789
LIBMTP_mtpdevice_struct::default_zencast_folder
uint32_t default_zencast_folder
Definition: libmtp.h:674
LIBMTP_devicestorage_struct::FreeSpaceInObjects
uint64_t FreeSpaceInObjects
Definition: libmtp.h:796
LIBMTP_track_struct::bitratetype
uint16_t bitratetype
Definition: libmtp.h:724
LIBMTP_track_struct::bitrate
uint32_t bitrate
Definition: libmtp.h:723
LIBMTP_track_struct::parent_id
uint32_t parent_id
Definition: libmtp.h:709
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:5818
LIBMTP_error_number_t
LIBMTP_error_number_t
Definition: libmtp.h:445
LIBMTP_track_struct::storage_id
uint32_t storage_id
Definition: libmtp.h:710
LIBMTP_Get_Thumbnail
int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const, unsigned char **data, unsigned int *size)
Definition: libmtp.c:9048
LIBMTP_Get_Filetype_Description
char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t)
Definition: libmtp.c:807
LIBMTP_Get_Connected_Devices
LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **)
Definition: libmtp.c:2370
LIBMTP_devicestorage_struct::StorageType
uint16_t StorageType
Definition: libmtp.h:791
LIBMTP_Get_String_From_Object
char * LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const)
Definition: libmtp.c:1201
LIBMTP_Get_Folder_List_For_Storage
LIBMTP_folder_t * LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7292
LIBMTP_track_struct::item_id
uint32_t item_id
Definition: libmtp.h:708
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:4869
LIBMTP_folder_struct::child
LIBMTP_folder_t * child
Definition: libmtp.h:771
LIBMTP_allowed_values_struct::num_entries
uint16_t num_entries
Definition: libmtp.h:597
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:5435
LIBMTP_album_struct::artist
char * artist
Definition: libmtp.h:754
LIBMTP_track_struct::rating
uint16_t rating
Definition: libmtp.h:725
LIBMTP_album_struct::tracks
uint32_t * tracks
Definition: libmtp.h:757
LIBMTP_devicestorage_struct::FilesystemType
uint16_t FilesystemType
Definition: libmtp.h:792
LIBMTP_track_struct::wavecodec
uint32_t wavecodec
Definition: libmtp.h:722
LIBMTP_device_entry_struct::vendor
char * vendor
Definition: libmtp.h:532
LIBMTP_mtpdevice_struct::usbinfo
void * usbinfo
Definition: libmtp.h:648
LIBMTP_Set_Playlist_Name
int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *)
Definition: libmtp.c:7054
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:963
LIBMTP_mtpdevice_struct::storage
LIBMTP_devicestorage_t * storage
Definition: libmtp.h:655
LIBMTP_album_struct::composer
char * composer
Definition: libmtp.h:755
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:670
LIBMTP_device_extension_struct
Definition: libmtp.h:611
LIBMTP_devicestorage_struct::prev
LIBMTP_devicestorage_t * prev
Definition: libmtp.h:800
LIBMTP_album_struct::album_id
uint32_t album_id
Definition: libmtp.h:750
LIBMTP_Get_Deviceversion
char * LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3627
LIBMTP_mtpdevice_struct::default_organizer_folder
uint32_t default_organizer_folder
Definition: libmtp.h:672
LIBMTP_filetype_t
LIBMTP_filetype_t
Definition: libmtp.h:86
LIBMTP_destroy_filesampledata_t
void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *)
Definition: libmtp.c:8714
LIBMTP_destroy_playlist_t
void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *)
Definition: libmtp.c:7528
LIBMTP_track_struct::duration
uint32_t duration
Definition: libmtp.h:719
LIBMTP_track_struct::samplerate
uint32_t samplerate
Definition: libmtp.h:720
LIBMTP_playlist_struct::next
LIBMTP_playlist_t * next
Definition: libmtp.h:743
LIBMTP_Track_Exists
int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7146
LIBMTP_Read_Event_Async
int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *)
Definition: libmtp.c:2302
LIBMTP_Get_Batterylevel
int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *, uint8_t *const, uint8_t *const)
Definition: libmtp.c:3819
LIBMTP_file_struct::modificationdate
time_t modificationdate
Definition: libmtp.h:699
LIBMTP_mtpdevice_struct::params
void * params
Definition: libmtp.h:643
LIBMTP_track_struct::filename
char * filename
Definition: libmtp.h:717
LIBMTP_playlist_struct
Definition: libmtp.h:736
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:5307
LIBMTP_raw_device_struct::device_entry
LIBMTP_device_entry_t device_entry
Definition: libmtp.h:544
LIBMTP_Find_Folder
LIBMTP_folder_t * LIBMTP_Find_Folder(LIBMTP_folder_t *, uint32_t const)
Definition: libmtp.c:7223
LIBMTP_device_entry_struct::device_flags
uint32_t device_flags
Definition: libmtp.h:536
LIBMTP_album_struct::no_tracks
uint32_t no_tracks
Definition: libmtp.h:758
LIBMTP_Set_Folder_Name
int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *)
Definition: libmtp.c:6987
LIBMTP_filesampledata_struct::size
uint64_t size
Definition: libmtp.h:782
LIBMTP_mtpdevice_struct::default_playlist_folder
uint32_t default_playlist_folder
Definition: libmtp.h:666
LIBMTP_track_struct::usecount
uint32_t usecount
Definition: libmtp.h:726
LIBMTP_DEVICECAP_GetPartialObject
Definition: libmtp.h:415
LIBMTP_device_extension_struct::next
LIBMTP_device_extension_t * next
Definition: libmtp.h:628
LIBMTP_playlist_struct::name
char * name
Definition: libmtp.h:740
MTPDataPutFunc
uint16_t(* MTPDataPutFunc)(void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)
Definition: libmtp.h:512
LIBMTP_album_struct::genre
char * genre
Definition: libmtp.h:756
LIBMTP_DEVICECAP_MoveObject
Definition: libmtp.h:433
LIBMTP_Get_Property_Description
char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty)
Definition: libmtp.c:830
LIBMTP_Get_First_Device
LIBMTP_mtpdevice_t * LIBMTP_Get_First_Device(void)
Definition: libmtp.c:1687
LIBMTP_device_entry_struct
Definition: libmtp.h:531
LIBMTP_file_struct::filename
char * filename
Definition: libmtp.h:697
LIBMTP_new_track_t
LIBMTP_track_t * LIBMTP_new_track_t(void)
Definition: libmtp.c:4574
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:5483
LIBMTP_destroy_folder_t
void LIBMTP_destroy_folder_t(LIBMTP_folder_t *)
Definition: libmtp.c:7192
LIBMTP_Get_Syncpartner
char * LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3712
LIBMTP_Get_Friendlyname
char * LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3649
LIBMTP_playlist_struct::playlist_id
uint32_t playlist_id
Definition: libmtp.h:737
LIBMTP_Dump_Device_Info
void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3148
LIBMTP_track_struct::modificationdate
time_t modificationdate
Definition: libmtp.h:728
LIBMTP_new_folder_t
LIBMTP_folder_t * LIBMTP_new_folder_t(void)
Definition: libmtp.c:7169
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:6013
LIBMTP_Dump_Errorstack
void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2568
LIBMTP_track_struct::composer
char * composer
Definition: libmtp.h:713
LIBMTP_Get_Playlist_List
LIBMTP_playlist_t * LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:7553
MTPDataGetFunc
uint16_t(* MTPDataGetFunc)(void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)
Definition: libmtp.h:497
LIBMTP_Handle_Events_Timeout_Completed
int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *)
Definition: libopenusb1-glue.c:1703
LIBMTP_mtpdevice_struct::errorstack
LIBMTP_error_t * errorstack
Definition: libmtp.h:660
LIBMTP_mtpdevice_struct::default_picture_folder
uint32_t default_picture_folder
Definition: libmtp.h:668
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:1261
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:2352
LIBMTP_Get_Trackmetadata
LIBMTP_track_t * LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:5037
LIBMTP_Update_Playlist
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition: libmtp.c:8318
LIBMTP_Get_Modelname
char * LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3590
LIBMTP_mtpdevice_struct::default_album_folder
uint32_t default_album_folder
Definition: libmtp.h:676
LIBMTP_Get_Album_List
LIBMTP_album_t * LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:8511
LIBMTP_device_entry_struct::product
char * product
Definition: libmtp.h:534
LIBMTP_Get_Tracklisting
LIBMTP_track_t * LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4821
LIBMTP_Send_Representative_Sample
int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:8881
LIBMTP_filesampledata_struct::filetype
LIBMTP_filetype_t filetype
Definition: libmtp.h:781
LIBMTP_track_struct::filesize
uint64_t filesize
Definition: libmtp.h:727
LIBMTP_playlist_struct::no_tracks
uint32_t no_tracks
Definition: libmtp.h:742
LIBMTP_track_struct::date
char * date
Definition: libmtp.h:716
LIBMTP_Get_Playlist
LIBMTP_playlist_t * LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7631
LIBMTP_Format_Storage
int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *)
Definition: libmtp.c:3861
LIBMTP_mtpdevice_struct::default_text_folder
uint32_t default_text_folder
Definition: libmtp.h:678
LIBMTP_DEVICECAP_SendPartialObject
Definition: libmtp.h:420
LIBMTP_Get_Serialnumber
char * LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3608
LIBMTP_folder_struct::storage_id
uint32_t storage_id
Definition: libmtp.h:768
LIBMTP_Init
void LIBMTP_Init(void)
Definition: libmtp.c:774
LIBMTP_filesampledata_struct
Definition: libmtp.h:777
LIBMTP_file_struct::parent_id
uint32_t parent_id
Definition: libmtp.h:695
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:5615
LIBMTP_Create_New_Album
int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t *const)
Definition: libmtp.c:8657
LIBMTP_Get_Supported_Filetypes
int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t **const, uint16_t *const)
Definition: libmtp.c:3980
LIBMTP_file_struct::filesize
uint64_t filesize
Definition: libmtp.h:698
LIBMTP_event_enum
LIBMTP_event_enum
Definition: libmtp.h:807
LIBMTP_devicestorage_struct::id
uint32_t id
Definition: libmtp.h:790
LIBMTP_Set_Debug
void LIBMTP_Set_Debug(int)
Definition: libmtp.c:756
LIBMTP_allowed_values_struct
Definition: libmtp.h:561
LIBMTP_device_extension_struct::name
char * name
Definition: libmtp.h:615
LIBMTP_Custom_Operation
int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *, uint16_t, int,...)
Definition: libmtp.c:9268
LIBMTP_album_struct::parent_id
uint32_t parent_id
Definition: libmtp.h:751
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:5181
LIBMTP_error_struct
Definition: libmtp.h:552
LIBMTP_filesampledata_struct::data
char * data
Definition: libmtp.h:783
LIBMTP_raw_device_struct::devnum
uint8_t devnum
Definition: libmtp.h:546
LIBMTP_filesampledata_struct::height
uint32_t height
Definition: libmtp.h:779
LIBMTP_mtpdevice_struct::cd
void * cd
Definition: libmtp.h:680
LIBMTP_Delete_Object
int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t)
Definition: libmtp.c:6775
LIBMTP_new_playlist_t
LIBMTP_playlist_t * LIBMTP_new_playlist_t(void)
Definition: libmtp.c:7505
LIBMTP_devicestorage_struct::VolumeIdentifier
char * VolumeIdentifier
Definition: libmtp.h:798
LIBMTP_filesampledata_struct::width
uint32_t width
Definition: libmtp.h:778
LIBMTP_folder_struct::folder_id
uint32_t folder_id
Definition: libmtp.h:766
LIBMTP_track_struct::tracknumber
uint16_t tracknumber
Definition: libmtp.h:718
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:5408
LIBMTP_DEVICECAP_CopyObject
Definition: libmtp.h:438
LIBMTP_allowed_values_struct::datatype
LIBMTP_datatype_t datatype
Definition: libmtp.h:601
LIBMTP_Get_Album_List_For_Storage
LIBMTP_album_t * LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:8529
LIBMTP_progressfunc_t
int(* LIBMTP_progressfunc_t)(uint64_t const sent, uint64_t const total, void const *const data)
Definition: libmtp.h:482
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:1307
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:5384
LIBMTP_raw_device_struct::bus_location
uint32_t bus_location
Definition: libmtp.h:545
LIBMTP_Release_Device_List
void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2405
LIBMTP_devicestorage_struct::MaxCapacity
uint64_t MaxCapacity
Definition: libmtp.h:794
LIBMTP_filesampledata_struct::duration
uint32_t duration
Definition: libmtp.h:780
LIBMTP_devicestorage_struct::next
LIBMTP_devicestorage_t * next
Definition: libmtp.h:799
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:5241
LIBMTP_playlist_struct::tracks
uint32_t * tracks
Definition: libmtp.h:741
LIBMTP_device_extension_struct::major
int major
Definition: libmtp.h:619
LIBMTP_Get_Representative_Sample
int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:8976
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:696
LIBMTP_device_extension_struct::minor
int minor
Definition: libmtp.h:623
LIBMTP_mtpdevice_struct::cached
int cached
Definition: libmtp.h:684
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:1231
LIBMTP_new_album_t
LIBMTP_album_t * LIBMTP_new_album_t(void)
Definition: libmtp.c:8349
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:4426
LIBMTP_Set_Friendlyname
int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:3682
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:4491
LIBMTP_Copy_Object
int LIBMTP_Copy_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t)
Definition: libmtp.c:6846
LIBMTP_device_entry_struct::vendor_id
uint16_t vendor_id
Definition: libmtp.h:533
LIBMTP_track_struct::album
char * album
Definition: libmtp.h:715
LIBMTP_mtpdevice_struct::extensions
LIBMTP_device_extension_t * extensions
Definition: libmtp.h:682
LIBMTP_Check_Capability
int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t)
Definition: libmtp.c:4030
LIBMTP_destroy_album_t
void LIBMTP_destroy_album_t(LIBMTP_album_t *)
Definition: libmtp.c:8374
LIBMTP_Create_New_Playlist
int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition: libmtp.c:8266
LIBMTP_mtpdevice_struct::next
LIBMTP_mtpdevice_t * next
Definition: libmtp.h:687
LIBMTP_raw_device_struct
Definition: libmtp.h:543
LIBMTP_Reset_Device
int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3545
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:5896
LIBMTP_track_struct::artist
char * artist
Definition: libmtp.h:712
LIBMTP_Get_Storage
int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const)
Definition: libmtp.c:4091
LIBMTP_Get_Secure_Time
int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:3945
LIBMTP_Get_Manufacturername
char * LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3571
LIBMTP_folder_struct
Definition: libmtp.h:765
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:5719
LIBMTP_devicestorage_struct::StorageDescription
char * StorageDescription
Definition: libmtp.h:797
LIBMTP_file_struct::item_id
uint32_t item_id
Definition: libmtp.h:694
LIBMTP_Update_Album
int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const *const)
Definition: libmtp.c:9208
LIBMTP_playlist_struct::parent_id
uint32_t parent_id
Definition: libmtp.h:738
LIBMTP_property_t
LIBMTP_property_t
Definition: libmtp.h:222
LIBMTP_Update_Track_Metadata
int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *, LIBMTP_track_t const *const)
Definition: libmtp.c:6384
LIBMTP_file_struct::filetype
LIBMTP_filetype_t filetype
Definition: libmtp.h:700
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:1276
LIBMTP_Set_Album_Name
int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *)
Definition: libmtp.c:7091
LIBMTP_Get_Representative_Sample_Format
int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *, LIBMTP_filetype_t const, LIBMTP_filesampledata_t **)
Definition: libmtp.c:8748
LIBMTP_Read_Event
int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *)
Definition: libmtp.c:2157
LIBMTP_allowed_values_struct::is_range
int is_range
Definition: libmtp.h:605
LIBMTP_debug
int LIBMTP_debug
Definition: libmtp.c:89
LIBMTP_Get_Errorstack
LIBMTP_error_t * LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2525
LIBMTP_Create_Folder
uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t *, char *, uint32_t, uint32_t)
Definition: libmtp.c:7422
LIBMTP_Is_Property_Supported
int LIBMTP_Is_Property_Supported(LIBMTP_mtpdevice_t *, LIBMTP_property_t const, LIBMTP_filetype_t const)
Definition: libmtp.c:1160
LIBMTP_Get_Folder_List
LIBMTP_folder_t * LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:7398