libmtp: libmtp.h Source File

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 */
48typedef char int8_t;
49typedef unsigned char uint8_t;
50typedef __int16 int16_t;
51typedef unsigned __int16 uint16_t;
52typedef __int32 int32_t;
53typedef unsigned __int32 uint32_t;
54typedef 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
134} LIBMTP_filetype_t;
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 ||\
194a == LIBMTP_FILETYPE_JFIF ||\
195a == LIBMTP_FILETYPE_TIFF ||\
196a == LIBMTP_FILETYPE_BMP ||\
197a == LIBMTP_FILETYPE_GIF ||\
198a == LIBMTP_FILETYPE_PICT ||\
199a == LIBMTP_FILETYPE_PNG ||\
200a == LIBMTP_FILETYPE_JP2 ||\
201a == LIBMTP_FILETYPE_JPX ||\
202a == LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT)
203
208#define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)\
209(a == LIBMTP_FILETYPE_VCARD2 ||\
210a == LIBMTP_FILETYPE_VCARD3)
211
216#define LIBMTP_FILETYPE_IS_CALENDAR(a)\
217(a == LIBMTP_FILETYPE_VCALENDAR1 ||\
218a == 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
393} LIBMTP_property_t;
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,
407} LIBMTP_datatype_t;
408
412 typedef enum {
417 LIBMTP_DEVICECAP_GetPartialObject,
422 LIBMTP_DEVICECAP_SendPartialObject,
430 LIBMTP_DEVICECAP_EditObjects,
435 LIBMTP_DEVICECAP_MoveObject,
440 LIBMTP_DEVICECAP_CopyObject,
441} LIBMTP_devicecap_t;
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
457} LIBMTP_error_number_t;
458
459 typedef struct LIBMTP_device_entry_struct LIBMTP_device_entry_t;
460 typedef struct LIBMTP_raw_device_struct LIBMTP_raw_device_t;
461 typedef struct LIBMTP_error_struct LIBMTP_error_t;
462 typedef struct LIBMTP_allowed_values_struct LIBMTP_allowed_values_t;
463typedef struct LIBMTP_device_extension_struct LIBMTP_device_extension_t;
464 typedef struct LIBMTP_mtpdevice_struct LIBMTP_mtpdevice_t;
465 typedef struct LIBMTP_file_struct LIBMTP_file_t;
466 typedef struct LIBMTP_track_struct LIBMTP_track_t;
467 typedef struct LIBMTP_playlist_struct LIBMTP_playlist_t;
468 typedef struct LIBMTP_album_struct LIBMTP_album_t;
469 typedef struct LIBMTP_folder_struct LIBMTP_folder_t;
470 typedef struct LIBMTP_filesampledata_struct LIBMTP_filesampledata_t;
471 typedef struct LIBMTP_devicestorage_struct LIBMTP_devicestorage_t;
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
532 struct LIBMTP_device_entry_struct {
533 char *vendor;
534 uint16_t vendor_id;
535 char *product;
536 uint16_t product_id;
537 uint32_t device_flags;
538};
539
544 struct LIBMTP_raw_device_struct {
545 LIBMTP_device_entry_t device_entry;
546 uint32_t bus_location;
547 uint8_t devnum;
548};
549
553 struct LIBMTP_error_struct {
554 LIBMTP_error_number_t errornumber;
555 char *error_text;
556 LIBMTP_error_t *next;
557};
558
562 struct LIBMTP_allowed_values_struct {
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;
602 LIBMTP_datatype_t datatype;
606 int is_range;
607};
608
612 struct LIBMTP_device_extension_struct {
616 char *name;
620 int major;
624 int minor;
629 LIBMTP_device_extension_t *next;
630};
631
635 struct LIBMTP_mtpdevice_struct {
639 uint8_t object_bitsize;
644 void *params;
649 void *usbinfo;
656 LIBMTP_devicestorage_t *storage;
661 LIBMTP_error_t *errorstack;
663 uint8_t maximum_battery_level;
665 uint32_t default_music_folder;
667 uint32_t default_playlist_folder;
669 uint32_t default_picture_folder;
671 uint32_t default_video_folder;
673 uint32_t default_organizer_folder;
675 uint32_t default_zencast_folder;
677 uint32_t default_album_folder;
679 uint32_t default_text_folder;
681 void *cd;
683 LIBMTP_device_extension_t *extensions;
685 int cached;
686
688 LIBMTP_mtpdevice_t *next;
689};
690
694 struct LIBMTP_file_struct {
695 uint32_t item_id;
696 uint32_t parent_id;
697 uint32_t storage_id;
698 char *filename;
699 uint64_t filesize;
700 time_t modificationdate;
701 LIBMTP_filetype_t filetype;
702 LIBMTP_file_t *next;
703};
704
708 struct LIBMTP_track_struct {
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;
729 time_t modificationdate;
730 LIBMTP_filetype_t filetype;
731 LIBMTP_track_t *next;
732};
733
737 struct LIBMTP_playlist_struct {
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;
744 LIBMTP_playlist_t *next;
745};
746
750 struct LIBMTP_album_struct {
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;
760 LIBMTP_album_t *next;
761};
762
766 struct LIBMTP_folder_struct {
767 uint32_t folder_id;
768 uint32_t parent_id;
769 uint32_t storage_id;
770 char *name;
771 LIBMTP_folder_t *sibling;
772 LIBMTP_folder_t *child;
773};
774
778 struct LIBMTP_filesampledata_struct {
779 uint32_t width;
780 uint32_t height;
781 uint32_t duration;
782 LIBMTP_filetype_t filetype;
783 uint64_t size;
784 char *data;
785};
786
790 struct LIBMTP_devicestorage_struct {
791 uint32_t id;
792 uint16_t StorageType;
793 uint16_t FilesystemType;
794 uint16_t AccessCapability;
795 uint64_t MaxCapacity;
796 uint64_t FreeSpaceInBytes;
797 uint64_t FreeSpaceInObjects;
798 char *StorageDescription;
799 char *VolumeIdentifier;
800 LIBMTP_devicestorage_t *next;
801 LIBMTP_devicestorage_t *prev;
802};
803
808 enum LIBMTP_event_enum {
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};
816typedef enum LIBMTP_event_enum LIBMTP_event_t;
817
820/* Make functions available for C++ */
821#ifdef __cplusplus
822extern "C" {
823#endif
824
825extern int LIBMTP_debug;
826
831void LIBMTP_Set_Debug(int);
832void LIBMTP_Init(void);
833int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t ** const, int * const);
839 LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *);
840int LIBMTP_Check_Specific_Device(int busno, int devno);
841 LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device(LIBMTP_raw_device_t *);
842 LIBMTP_mtpdevice_t *LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *);
843/* Begin old, legacy interface */
844 LIBMTP_mtpdevice_t *LIBMTP_Get_Device(int);
845 LIBMTP_mtpdevice_t *LIBMTP_Get_First_Device(void);
846 LIBMTP_mtpdevice_t *LIBMTP_Get_Device_By_SerialNumber(char *);
847 LIBMTP_mtpdevice_t *LIBMTP_Get_Device_By_ID(char *);
848 LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **);
849uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *);
850void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t*);
851/* End old, legacy interface */
852void LIBMTP_Release_Device(LIBMTP_mtpdevice_t*);
853void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t*);
854int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t*);
855char *LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t*);
856char *LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t*);
857char *LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t*);
858char *LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t*);
859char *LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t*);
860int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t*, char const * const);
861char *LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t*);
862int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t*, char const * const);
863int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *,
864 uint8_t * const,
865 uint8_t * const);
866int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char ** const);
867int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char ** const);
868int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t ** const, uint16_t * const);
869int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t);
870 LIBMTP_error_t *LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t*);
871void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t*);
872void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t*);
873
874void 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
880int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const);
881int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *);
882
887char *LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const);
888uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
889 LIBMTP_property_t const, uint64_t const);
890uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
891 LIBMTP_property_t const, uint32_t const);
892uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
893 LIBMTP_property_t const, uint16_t const);
894uint8_t LIBMTP_Get_u8_From_Object(LIBMTP_mtpdevice_t *, uint32_t const,
895 LIBMTP_property_t const, uint8_t const);
896int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *, uint32_t const,
897 LIBMTP_property_t const, char const * const);
898int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *, uint32_t const,
899 LIBMTP_property_t const, uint32_t const);
900int LIBMTP_Set_Object_u16(LIBMTP_mtpdevice_t *, uint32_t const,
901 LIBMTP_property_t const, uint16_t const);
902int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *, uint32_t const,
903 LIBMTP_property_t const, uint8_t const);
904char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty);
905int LIBMTP_Is_Property_Supported(LIBMTP_mtpdevice_t*, LIBMTP_property_t const,
906 LIBMTP_filetype_t const);
907int LIBMTP_Get_Allowed_Property_Values(LIBMTP_mtpdevice_t*, LIBMTP_property_t const,
908 LIBMTP_filetype_t const, LIBMTP_allowed_values_t*);
909void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t*);
910
916 LIBMTP_file_t *LIBMTP_new_file_t(void);
917void LIBMTP_destroy_file_t(LIBMTP_file_t*);
918char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t);
919 LIBMTP_file_t *LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *);
920 LIBMTP_file_t *LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *,
921 LIBMTP_progressfunc_t const, void const * const);
922
923#define LIBMTP_FILES_AND_FOLDERS_ROOT 0xffffffff
924
925 LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *,
926 uint32_t const,
927 uint32_t const);
928int LIBMTP_Get_Children(LIBMTP_mtpdevice_t *,
929 uint32_t const,
930 uint32_t const,
931 uint32_t **);
932 LIBMTP_file_t *LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const);
933int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
934 LIBMTP_progressfunc_t const, void const * const);
935int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t*,
936 uint32_t const,
937 int const,
938 LIBMTP_progressfunc_t const,
939 void const * const);
940int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *,
941 uint32_t const,
942 MTPDataPutFunc,
943 void *,
944 LIBMTP_progressfunc_t const,
945 void const * const);
946int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *,
947 char const * const,
948 LIBMTP_file_t * const,
949 LIBMTP_progressfunc_t const,
950 void const * const);
951int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *,
952 int const,
953 LIBMTP_file_t * const,
954 LIBMTP_progressfunc_t const,
955 void const * const);
956int LIBMTP_Send_File_From_Handler(LIBMTP_mtpdevice_t *,
957 MTPDataGetFunc, void *,
958 LIBMTP_file_t * const,
959 LIBMTP_progressfunc_t const,
960 void const * const);
961int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *,
962 LIBMTP_file_t *,
963 const char *);
964 LIBMTP_filesampledata_t *LIBMTP_new_filesampledata_t(void);
965void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *);
966int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *,
967 LIBMTP_filetype_t const,
968 LIBMTP_filesampledata_t **);
969int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
970 LIBMTP_filesampledata_t *);
971int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const,
972 LIBMTP_filesampledata_t *);
973int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const,
974 unsigned char **data, unsigned int *size);
975
981 LIBMTP_track_t *LIBMTP_new_track_t(void);
982void LIBMTP_destroy_track_t(LIBMTP_track_t*);
983 LIBMTP_track_t *LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t*);
984 LIBMTP_track_t *LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t*,
985 LIBMTP_progressfunc_t const, void const * const);
986 LIBMTP_track_t *LIBMTP_Get_Tracklisting_With_Callback_For_Storage(LIBMTP_mtpdevice_t*, uint32_t const,
987 LIBMTP_progressfunc_t const, void const * const);
988 LIBMTP_track_t *LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t*, uint32_t const);
989int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * const,
990 LIBMTP_progressfunc_t const, void const * const);
991int LIBMTP_Get_Track_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const, int const,
992 LIBMTP_progressfunc_t const, void const * const);
993int LIBMTP_Get_Track_To_Handler(LIBMTP_mtpdevice_t *, uint32_t const, MTPDataPutFunc,
994 void *, LIBMTP_progressfunc_t const, void const * const);
995int LIBMTP_Send_Track_From_File(LIBMTP_mtpdevice_t *,
996 char const * const, LIBMTP_track_t * const,
997 LIBMTP_progressfunc_t const,
998 void const * const);
999int LIBMTP_Send_Track_From_File_Descriptor(LIBMTP_mtpdevice_t *,
1000 int const, LIBMTP_track_t * const,
1001 LIBMTP_progressfunc_t const,
1002 void const * const);
1003int LIBMTP_Send_Track_From_Handler(LIBMTP_mtpdevice_t *,
1004 MTPDataGetFunc, void *, LIBMTP_track_t * const,
1005 LIBMTP_progressfunc_t const,
1006 void const * const);
1007int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *,
1008 LIBMTP_track_t const * const);
1009int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const);
1010int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *);
1018 LIBMTP_folder_t *LIBMTP_new_folder_t(void);
1019void LIBMTP_destroy_folder_t(LIBMTP_folder_t*);
1020 LIBMTP_folder_t *LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t*);
1021 LIBMTP_folder_t *LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t*,
1022 uint32_t const);
1023 LIBMTP_folder_t *LIBMTP_Find_Folder(LIBMTP_folder_t*, uint32_t const);
1024uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char *, uint32_t, uint32_t);
1025int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *);
1034 LIBMTP_playlist_t *LIBMTP_new_playlist_t(void);
1035void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *);
1036 LIBMTP_playlist_t *LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *);
1037 LIBMTP_playlist_t *LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const);
1038int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * const);
1039int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * const);
1040int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *);
1041
1047 LIBMTP_album_t *LIBMTP_new_album_t(void);
1048void LIBMTP_destroy_album_t(LIBMTP_album_t *);
1049 LIBMTP_album_t *LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *);
1050 LIBMTP_album_t *LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const);
1051 LIBMTP_album_t *LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const);
1052int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t * const);
1053int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const * const);
1054int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *);
1055
1061int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t);
1062int LIBMTP_Move_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t);
1063int LIBMTP_Copy_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t);
1064int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t , char *);
1065int LIBMTP_GetPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
1066 uint64_t, uint32_t,
1067 unsigned char **, unsigned int *);
1068int LIBMTP_SendPartialObject(LIBMTP_mtpdevice_t *, uint32_t const,
1069 uint64_t, unsigned char *, unsigned int);
1070int LIBMTP_BeginEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
1071int LIBMTP_EndEditObject(LIBMTP_mtpdevice_t *, uint32_t const);
1072int LIBMTP_TruncateObject(LIBMTP_mtpdevice_t *, uint32_t const, uint64_t);
1073
1079typedef void(* LIBMTP_event_cb_fn) (int, LIBMTP_event_t, uint32_t, void *);
1080int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *);
1081int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *);
1082int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *);
1083
1089int 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_Get_Album_List_For_Storage
LIBMTP_album_t * LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition libmtp.c:8692
LIBMTP_Create_New_Album
int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t *const)
Definition libmtp.c:8820
LIBMTP_destroy_album_t
void LIBMTP_destroy_album_t(LIBMTP_album_t *)
Definition libmtp.c:8537
LIBMTP_Update_Album
int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const *const)
Definition libmtp.c:9382
LIBMTP_Get_Album
LIBMTP_album_t * LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const)
Definition libmtp.c:8755
LIBMTP_new_album_t
LIBMTP_album_t * LIBMTP_new_album_t(void)
Definition libmtp.c:8512
LIBMTP_Get_Album_List
LIBMTP_album_t * LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *)
Definition libmtp.c:8674
LIBMTP_Set_Album_Name
int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *)
Definition libmtp.c:7254
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_Get_Secure_Time
int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char **const)
Definition libmtp.c:4042
LIBMTP_FreeMemory
void LIBMTP_FreeMemory(void *)
Definition libmtp.c:9471
LIBMTP_Format_Storage
int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *)
Definition libmtp.c:3958
LIBMTP_Get_First_Device
LIBMTP_mtpdevice_t * LIBMTP_Get_First_Device(void)
Definition libmtp.c:1719
LIBMTP_Number_Devices_In_List
uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *)
Definition libmtp.c:2443
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_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_Open_Raw_Device_Uncached
LIBMTP_mtpdevice_t * LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *)
Definition libmtp.c:1921
LIBMTP_Get_Errorstack
LIBMTP_error_t * LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t *)
Definition libmtp.c:2617
LIBMTP_Release_Device
void LIBMTP_Release_Device(LIBMTP_mtpdevice_t *)
Definition libmtp.c:2513
LIBMTP_Get_Deviceversion
char * LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t *)
Definition libmtp.c:3724
LIBMTP_Get_Manufacturername
char * LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t *)
Definition libmtp.c:3668
LIBMTP_Dump_Errorstack
void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t *)
Definition libmtp.c:2660
LIBMTP_Clear_Errorstack
void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t *)
Definition libmtp.c:2633
LIBMTP_Release_Device_List
void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t *)
Definition libmtp.c:2496
LIBMTP_Get_Device_Certificate
int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char **const)
Definition libmtp.c:4056
LIBMTP_Get_Friendlyname
char * LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t *)
Definition libmtp.c:3746
LIBMTP_Get_Storage
int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const)
Definition libmtp.c:4194
LIBMTP_Get_Supported_Filetypes
int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t **const, uint16_t *const)
Definition libmtp.c:4077
LIBMTP_Get_Property_Description
char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty)
Definition libmtp.c:830
LIBMTP_Reset_Device
int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t *)
Definition libmtp.c:3642
LIBMTP_destroy_allowed_values_t
void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t *)
Definition libmtp.c:1111
LIBMTP_Get_Modelname
char * LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t *)
Definition libmtp.c:3687
LIBMTP_Get_Device_By_SerialNumber
LIBMTP_mtpdevice_t * LIBMTP_Get_Device_By_SerialNumber(char *)
Definition libmtp.c:1729
LIBMTP_Get_Device
LIBMTP_mtpdevice_t * LIBMTP_Get_Device(int)
Definition libmtp.c:1687
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_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_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_Set_Syncpartner
int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t *, char const *const)
Definition libmtp.c:3847
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_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_Check_Specific_Device
int LIBMTP_Check_Specific_Device(int busno, int devno)
Definition libopenusb1-glue.c:556
LIBMTP_Get_Serialnumber
char * LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t *)
Definition libmtp.c:3705
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_Get_Syncpartner
char * LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t *)
Definition libmtp.c:3809
LIBMTP_Get_Device_By_ID
LIBMTP_mtpdevice_t * LIBMTP_Get_Device_By_ID(char *)
Definition libmtp.c:1778
LIBMTP_Check_Capability
int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t)
Definition libmtp.c:4133
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_Detect_Raw_Devices
LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *)
Definition libopenusb1-glue.c:592
LIBMTP_Get_Batterylevel
int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *, uint8_t *const, uint8_t *const)
Definition libmtp.c:3916
LIBMTP_Dump_Device_Info
void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t *)
Definition libmtp.c:3243
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_Friendlyname
int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t *, char const *const)
Definition libmtp.c:3779
LIBMTP_Get_Connected_Devices
LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **)
Definition libmtp.c:2461
LIBMTP_Custom_Operation
int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *, uint16_t, int,...)
Definition libmtp.c:9442
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:5468
LIBMTP_Get_Filemetadata
LIBMTP_file_t * LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition libmtp.c:4457
LIBMTP_Get_Representative_Sample
int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition libmtp.c:9139
LIBMTP_destroy_file_t
void LIBMTP_destroy_file_t(LIBMTP_file_t *)
Definition libmtp.c:4324
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:4529
LIBMTP_Set_File_Name
int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *, LIBMTP_file_t *, const char *)
Definition libmtp.c:7120
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:6059
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:4594
LIBMTP_Get_Filelisting
LIBMTP_file_t * LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *)
Definition libmtp.c:4481
LIBMTP_Read_Event
int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *)
Definition libmtp.c:2248
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:5401
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:5981
LIBMTP_Get_Thumbnail
int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const, unsigned char **data, unsigned int *size)
Definition libmtp.c:9211
LIBMTP_new_file_t
LIBMTP_file_t * LIBMTP_new_file_t(void)
Definition libmtp.c:4300
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:5341
LIBMTP_Get_Children
int LIBMTP_Get_Children(LIBMTP_mtpdevice_t *, uint32_t const, uint32_t const, uint32_t **)
Definition libmtp.c:4678
LIBMTP_Get_Filetype_Description
char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t)
Definition libmtp.c:807
LIBMTP_new_filesampledata_t
LIBMTP_filesampledata_t * LIBMTP_new_filesampledata_t(void)
Definition libmtp.c:8859
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:6176
LIBMTP_Send_Representative_Sample
int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition libmtp.c:9044
LIBMTP_Read_Event_Async
int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *)
Definition libmtp.c:2393
LIBMTP_Get_Representative_Sample_Format
int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *, LIBMTP_filetype_t const, LIBMTP_filesampledata_t **)
Definition libmtp.c:8911
LIBMTP_destroy_filesampledata_t
void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *)
Definition libmtp.c:8877
LIBMTP_Handle_Events_Timeout_Completed
int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *)
Definition libopenusb1-glue.c:1713
LIBMTP_Set_Folder_Name
int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *)
Definition libmtp.c:7150
LIBMTP_new_folder_t
LIBMTP_folder_t * LIBMTP_new_folder_t(void)
Definition libmtp.c:7332
LIBMTP_Find_Folder
LIBMTP_folder_t * LIBMTP_Find_Folder(LIBMTP_folder_t *, uint32_t const)
Definition libmtp.c:7386
LIBMTP_Get_Folder_List_For_Storage
LIBMTP_folder_t * LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition libmtp.c:7455
LIBMTP_Create_Folder
uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t *, char *, uint32_t, uint32_t)
Definition libmtp.c:7585
LIBMTP_Get_Folder_List
LIBMTP_folder_t * LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t *)
Definition libmtp.c:7561
LIBMTP_destroy_folder_t
void LIBMTP_destroy_folder_t(LIBMTP_folder_t *)
Definition libmtp.c:7355
LIBMTP_Get_Supported_Devices_List
int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t **const, int *const)
Definition libopenusb1-glue.c:131
LIBMTP_Init
void LIBMTP_Init(void)
Definition libmtp.c:774
LIBMTP_Set_Debug
void LIBMTP_Set_Debug(int)
Definition libmtp.c:756
LIBMTP_Move_Object
int LIBMTP_Move_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t)
Definition libmtp.c:6973
LIBMTP_Set_Object_Filename
int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t, char *)
Definition libmtp.c:7282
LIBMTP_Copy_Object
int LIBMTP_Copy_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t)
Definition libmtp.c:7009
LIBMTP_Delete_Object
int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t)
Definition libmtp.c:6938
LIBMTP_Update_Playlist
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition libmtp.c:8481
LIBMTP_Set_Playlist_Name
int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *)
Definition libmtp.c:7217
LIBMTP_new_playlist_t
LIBMTP_playlist_t * LIBMTP_new_playlist_t(void)
Definition libmtp.c:7668
LIBMTP_Create_New_Playlist
int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition libmtp.c:8429
LIBMTP_destroy_playlist_t
void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *)
Definition libmtp.c:7691
LIBMTP_Get_Playlist
LIBMTP_playlist_t * LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const)
Definition libmtp.c:7794
LIBMTP_Get_Playlist_List
LIBMTP_playlist_t * LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *)
Definition libmtp.c:7716
LIBMTP_event_enum
LIBMTP_event_enum
Definition libmtp.h:808
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:5570
LIBMTP_Update_Track_Metadata
int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *, LIBMTP_track_t const *const)
Definition libmtp.c:6547
LIBMTP_Get_Trackmetadata
LIBMTP_track_t * LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition libmtp.c:5197
LIBMTP_Track_Exists
int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const)
Definition libmtp.c:7309
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:5597
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:5546
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:5645
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:5029
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:5079
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:5778
LIBMTP_new_track_t
LIBMTP_track_t * LIBMTP_new_track_t(void)
Definition libmtp.c:4735
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:5882
LIBMTP_Get_Tracklisting
LIBMTP_track_t * LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t *)
Definition libmtp.c:4981
LIBMTP_Set_Track_Name
int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *)
Definition libmtp.c:7180
LIBMTP_destroy_track_t
void LIBMTP_destroy_track_t(LIBMTP_track_t *)
Definition libmtp.c:4774
LIBMTP_error_number_t
LIBMTP_error_number_t
Definition libmtp.h:447
LIBMTP_property_t
LIBMTP_property_t
Definition libmtp.h:224
LIBMTP_filetype_t
LIBMTP_filetype_t
Definition libmtp.h:88
LIBMTP_datatype_t
LIBMTP_datatype_t
Definition libmtp.h:398
LIBMTP_devicecap_t
LIBMTP_devicecap_t
Definition libmtp.h:412
LIBMTP_progressfunc_t
int(* LIBMTP_progressfunc_t)(uint64_t const sent, uint64_t const total, void const *const data)
Definition libmtp.h:483
MTPDataGetFunc
uint16_t(* MTPDataGetFunc)(void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)
Definition libmtp.h:498
MTPDataPutFunc
uint16_t(* MTPDataPutFunc)(void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)
Definition libmtp.h:513
LIBMTP_DEVICECAP_GetPartialObject
@ LIBMTP_DEVICECAP_GetPartialObject
Definition libmtp.h:417
LIBMTP_DEVICECAP_EditObjects
@ LIBMTP_DEVICECAP_EditObjects
Definition libmtp.h:430
LIBMTP_DEVICECAP_MoveObject
@ LIBMTP_DEVICECAP_MoveObject
Definition libmtp.h:435
LIBMTP_DEVICECAP_CopyObject
@ LIBMTP_DEVICECAP_CopyObject
Definition libmtp.h:440
LIBMTP_DEVICECAP_SendPartialObject
@ LIBMTP_DEVICECAP_SendPartialObject
Definition libmtp.h:422
LIBMTP_debug
int LIBMTP_debug
Definition libmtp.c:89
LIBMTP_album_struct
Definition libmtp.h:750
LIBMTP_album_struct::next
LIBMTP_album_t * next
Definition libmtp.h:760
LIBMTP_album_struct::parent_id
uint32_t parent_id
Definition libmtp.h:752
LIBMTP_album_struct::tracks
uint32_t * tracks
Definition libmtp.h:758
LIBMTP_album_struct::storage_id
uint32_t storage_id
Definition libmtp.h:753
LIBMTP_album_struct::no_tracks
uint32_t no_tracks
Definition libmtp.h:759
LIBMTP_album_struct::name
char * name
Definition libmtp.h:754
LIBMTP_album_struct::album_id
uint32_t album_id
Definition libmtp.h:751
LIBMTP_album_struct::artist
char * artist
Definition libmtp.h:755
LIBMTP_album_struct::composer
char * composer
Definition libmtp.h:756
LIBMTP_album_struct::genre
char * genre
Definition libmtp.h:757
LIBMTP_allowed_values_struct
Definition libmtp.h:562
LIBMTP_allowed_values_struct::num_entries
uint16_t num_entries
Definition libmtp.h:598
LIBMTP_allowed_values_struct::is_range
int is_range
Definition libmtp.h:606
LIBMTP_allowed_values_struct::datatype
LIBMTP_datatype_t datatype
Definition libmtp.h:602
LIBMTP_device_entry_struct
Definition libmtp.h:532
LIBMTP_device_entry_struct::vendor_id
uint16_t vendor_id
Definition libmtp.h:534
LIBMTP_device_entry_struct::product_id
uint16_t product_id
Definition libmtp.h:536
LIBMTP_device_entry_struct::vendor
char * vendor
Definition libmtp.h:533
LIBMTP_device_entry_struct::device_flags
uint32_t device_flags
Definition libmtp.h:537
LIBMTP_device_entry_struct::product
char * product
Definition libmtp.h:535
LIBMTP_device_extension_struct
Definition libmtp.h:612
LIBMTP_device_extension_struct::minor
int minor
Definition libmtp.h:624
LIBMTP_device_extension_struct::name
char * name
Definition libmtp.h:616
LIBMTP_device_extension_struct::major
int major
Definition libmtp.h:620
LIBMTP_device_extension_struct::next
LIBMTP_device_extension_t * next
Definition libmtp.h:629
LIBMTP_devicestorage_struct
Definition libmtp.h:790
LIBMTP_devicestorage_struct::AccessCapability
uint16_t AccessCapability
Definition libmtp.h:794
LIBMTP_devicestorage_struct::VolumeIdentifier
char * VolumeIdentifier
Definition libmtp.h:799
LIBMTP_devicestorage_struct::FreeSpaceInBytes
uint64_t FreeSpaceInBytes
Definition libmtp.h:796
LIBMTP_devicestorage_struct::FreeSpaceInObjects
uint64_t FreeSpaceInObjects
Definition libmtp.h:797
LIBMTP_devicestorage_struct::StorageDescription
char * StorageDescription
Definition libmtp.h:798
LIBMTP_devicestorage_struct::MaxCapacity
uint64_t MaxCapacity
Definition libmtp.h:795
LIBMTP_devicestorage_struct::prev
LIBMTP_devicestorage_t * prev
Definition libmtp.h:801
LIBMTP_devicestorage_struct::StorageType
uint16_t StorageType
Definition libmtp.h:792
LIBMTP_devicestorage_struct::FilesystemType
uint16_t FilesystemType
Definition libmtp.h:793
LIBMTP_devicestorage_struct::next
LIBMTP_devicestorage_t * next
Definition libmtp.h:800
LIBMTP_devicestorage_struct::id
uint32_t id
Definition libmtp.h:791
LIBMTP_error_struct
Definition libmtp.h:553
LIBMTP_file_struct
Definition libmtp.h:694
LIBMTP_file_struct::modificationdate
time_t modificationdate
Definition libmtp.h:700
LIBMTP_file_struct::next
LIBMTP_file_t * next
Definition libmtp.h:702
LIBMTP_file_struct::filename
char * filename
Definition libmtp.h:698
LIBMTP_file_struct::filesize
uint64_t filesize
Definition libmtp.h:699
LIBMTP_file_struct::parent_id
uint32_t parent_id
Definition libmtp.h:696
LIBMTP_file_struct::item_id
uint32_t item_id
Definition libmtp.h:695
LIBMTP_file_struct::storage_id
uint32_t storage_id
Definition libmtp.h:697
LIBMTP_file_struct::filetype
LIBMTP_filetype_t filetype
Definition libmtp.h:701
LIBMTP_filesampledata_struct
Definition libmtp.h:778
LIBMTP_filesampledata_struct::width
uint32_t width
Definition libmtp.h:779
LIBMTP_filesampledata_struct::filetype
LIBMTP_filetype_t filetype
Definition libmtp.h:782
LIBMTP_filesampledata_struct::height
uint32_t height
Definition libmtp.h:780
LIBMTP_filesampledata_struct::data
char * data
Definition libmtp.h:784
LIBMTP_filesampledata_struct::size
uint64_t size
Definition libmtp.h:783
LIBMTP_filesampledata_struct::duration
uint32_t duration
Definition libmtp.h:781
LIBMTP_folder_struct
Definition libmtp.h:766
LIBMTP_folder_struct::folder_id
uint32_t folder_id
Definition libmtp.h:767
LIBMTP_folder_struct::sibling
LIBMTP_folder_t * sibling
Definition libmtp.h:771
LIBMTP_folder_struct::child
LIBMTP_folder_t * child
Definition libmtp.h:772
LIBMTP_folder_struct::parent_id
uint32_t parent_id
Definition libmtp.h:768
LIBMTP_folder_struct::name
char * name
Definition libmtp.h:770
LIBMTP_folder_struct::storage_id
uint32_t storage_id
Definition libmtp.h:769
LIBMTP_mtpdevice_struct
Definition libmtp.h:635
LIBMTP_mtpdevice_struct::maximum_battery_level
uint8_t maximum_battery_level
Definition libmtp.h:663
LIBMTP_mtpdevice_struct::object_bitsize
uint8_t object_bitsize
Definition libmtp.h:639
LIBMTP_mtpdevice_struct::default_zencast_folder
uint32_t default_zencast_folder
Definition libmtp.h:675
LIBMTP_mtpdevice_struct::errorstack
LIBMTP_error_t * errorstack
Definition libmtp.h:661
LIBMTP_mtpdevice_struct::cached
int cached
Definition libmtp.h:685
LIBMTP_mtpdevice_struct::extensions
LIBMTP_device_extension_t * extensions
Definition libmtp.h:683
LIBMTP_mtpdevice_struct::cd
void * cd
Definition libmtp.h:681
LIBMTP_mtpdevice_struct::usbinfo
void * usbinfo
Definition libmtp.h:649
LIBMTP_mtpdevice_struct::next
LIBMTP_mtpdevice_t * next
Definition libmtp.h:688
LIBMTP_mtpdevice_struct::default_playlist_folder
uint32_t default_playlist_folder
Definition libmtp.h:667
LIBMTP_mtpdevice_struct::default_text_folder
uint32_t default_text_folder
Definition libmtp.h:679
LIBMTP_mtpdevice_struct::default_organizer_folder
uint32_t default_organizer_folder
Definition libmtp.h:673
LIBMTP_mtpdevice_struct::default_album_folder
uint32_t default_album_folder
Definition libmtp.h:677
LIBMTP_mtpdevice_struct::default_music_folder
uint32_t default_music_folder
Definition libmtp.h:665
LIBMTP_mtpdevice_struct::default_picture_folder
uint32_t default_picture_folder
Definition libmtp.h:669
LIBMTP_mtpdevice_struct::params
void * params
Definition libmtp.h:644
LIBMTP_mtpdevice_struct::storage
LIBMTP_devicestorage_t * storage
Definition libmtp.h:656
LIBMTP_mtpdevice_struct::default_video_folder
uint32_t default_video_folder
Definition libmtp.h:671
LIBMTP_playlist_struct
Definition libmtp.h:737
LIBMTP_playlist_struct::next
LIBMTP_playlist_t * next
Definition libmtp.h:744
LIBMTP_playlist_struct::playlist_id
uint32_t playlist_id
Definition libmtp.h:738
LIBMTP_playlist_struct::name
char * name
Definition libmtp.h:741
LIBMTP_playlist_struct::parent_id
uint32_t parent_id
Definition libmtp.h:739
LIBMTP_playlist_struct::no_tracks
uint32_t no_tracks
Definition libmtp.h:743
LIBMTP_playlist_struct::tracks
uint32_t * tracks
Definition libmtp.h:742
LIBMTP_playlist_struct::storage_id
uint32_t storage_id
Definition libmtp.h:740
LIBMTP_raw_device_struct
Definition libmtp.h:544
LIBMTP_raw_device_struct::devnum
uint8_t devnum
Definition libmtp.h:547
LIBMTP_raw_device_struct::device_entry
LIBMTP_device_entry_t device_entry
Definition libmtp.h:545
LIBMTP_raw_device_struct::bus_location
uint32_t bus_location
Definition libmtp.h:546
LIBMTP_track_struct
Definition libmtp.h:708
LIBMTP_track_struct::title
char * title
Definition libmtp.h:712
LIBMTP_track_struct::genre
char * genre
Definition libmtp.h:715
LIBMTP_track_struct::storage_id
uint32_t storage_id
Definition libmtp.h:711
LIBMTP_track_struct::composer
char * composer
Definition libmtp.h:714
LIBMTP_track_struct::samplerate
uint32_t samplerate
Definition libmtp.h:721
LIBMTP_track_struct::bitratetype
uint16_t bitratetype
Definition libmtp.h:725
LIBMTP_track_struct::date
char * date
Definition libmtp.h:717
LIBMTP_track_struct::filesize
uint64_t filesize
Definition libmtp.h:728
LIBMTP_track_struct::nochannels
uint16_t nochannels
Definition libmtp.h:722
LIBMTP_track_struct::parent_id
uint32_t parent_id
Definition libmtp.h:710
LIBMTP_track_struct::item_id
uint32_t item_id
Definition libmtp.h:709
LIBMTP_track_struct::usecount
uint32_t usecount
Definition libmtp.h:727
LIBMTP_track_struct::tracknumber
uint16_t tracknumber
Definition libmtp.h:719
LIBMTP_track_struct::filename
char * filename
Definition libmtp.h:718
LIBMTP_track_struct::album
char * album
Definition libmtp.h:716
LIBMTP_track_struct::duration
uint32_t duration
Definition libmtp.h:720
LIBMTP_track_struct::bitrate
uint32_t bitrate
Definition libmtp.h:724
LIBMTP_track_struct::modificationdate
time_t modificationdate
Definition libmtp.h:729
LIBMTP_track_struct::rating
uint16_t rating
Definition libmtp.h:726
LIBMTP_track_struct::next
LIBMTP_track_t * next
Definition libmtp.h:731
LIBMTP_track_struct::wavecodec
uint32_t wavecodec
Definition libmtp.h:723
LIBMTP_track_struct::filetype
LIBMTP_filetype_t filetype
Definition libmtp.h:730
LIBMTP_track_struct::artist
char * artist
Definition libmtp.h:713