Go to the documentation of this file.
29 #ifndef LIBMTP_H_INCLUSION_GUARD
30 #define LIBMTP_H_INCLUSION_GUARD
32 #define LIBMTP_VERSION 1.1.16
33 #define LIBMTP_VERSION_STRING "1.1.16"
39 #define snprintf _snprintf
40 #define ssize_t SSIZE_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;
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
87 LIBMTP_FILETYPE_FOLDER,
92 LIBMTP_FILETYPE_AUDIBLE,
94 LIBMTP_FILETYPE_UNDEF_AUDIO,
100 LIBMTP_FILETYPE_UNDEF_VIDEO,
101 LIBMTP_FILETYPE_JPEG,
102 LIBMTP_FILETYPE_JFIF,
103 LIBMTP_FILETYPE_TIFF,
106 LIBMTP_FILETYPE_PICT,
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,
118 LIBMTP_FILETYPE_MEDIACARD,
119 LIBMTP_FILETYPE_FLAC,
129 LIBMTP_FILETYPE_ALBUM,
130 LIBMTP_FILETYPE_PLAYLIST,
131 LIBMTP_FILETYPE_UNKNOWN
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)
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)
170 #define LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)\
171 (a == LIBMTP_FILETYPE_MP4 ||\
172 a == LIBMTP_FILETYPE_ASF ||\
173 a == LIBMTP_FILETYPE_QT)
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))
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)
206 #define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)\
207 (a == LIBMTP_FILETYPE_VCARD2 ||\
208 a == LIBMTP_FILETYPE_VCARD3)
214 #define LIBMTP_FILETYPE_IS_CALENDAR(a)\
215 (a == LIBMTP_FILETYPE_VCALENDAR1 ||\
216 a == LIBMTP_FILETYPE_VCALENDAR2)
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
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,
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
483 void const *
const data);
498 uint32_t wantlen,
unsigned char *data, uint32_t *gotlen);
513 uint32_t sendlen,
unsigned char *data, uint32_t *putlen);
518 #define LIBMTP_HANDLER_RETURN_OK 0
519 #define LIBMTP_HANDLER_RETURN_ERROR 1
520 #define LIBMTP_HANDLER_RETURN_CANCEL 2
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,
870 #define LIBMTP_STORAGE_SORTBY_NOTSORTED 0
871 #define LIBMTP_STORAGE_SORTBY_FREESPACE 1
872 #define LIBMTP_STORAGE_SORTBY_MAXSPACE 2
917 #define LIBMTP_FILES_AND_FOLDERS_ROOT 0xffffffff
964 unsigned char **data,
unsigned int *size);
1057 unsigned char **,
unsigned int *);
1059 uint64_t,
unsigned char *,
unsigned int);
1069 typedef void(* LIBMTP_event_cb_fn) (int, LIBMTP_event_t, uint32_t,
void *);
uint32_t bitrate
Definition: libmtp.h:723
int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t *device, char const *const syncpartner)
Definition: libmtp.c:3750
LIBMTP_playlist_t * LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:7553
LIBMTP_error_t * errorstack
Definition: libmtp.h:660
LIBMTP_folder_t * LIBMTP_Find_Folder(LIBMTP_folder_t *folderlist, uint32_t id)
Definition: libmtp.c:7223
LIBMTP_devicestorage_t * storage
Definition: libmtp.h:655
int LIBMTP_debug
Definition: libmtp.c:89
int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t *device, uint32_t const id, char const *const path, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5384
int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:3545
LIBMTP_file_t * LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *device, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:4426
int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *device, char const *const path, LIBMTP_file_t *const filedata, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5818
@ LIBMTP_DEVICECAP_MoveObject
Definition: libmtp.h:433
LIBMTP_album_t * LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *device, uint32_t const storage_id)
Definition: libmtp.c:8529
char * genre
Definition: libmtp.h:714
LIBMTP_folder_t * LIBMTP_new_folder_t(void)
Definition: libmtp.c:7169
int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *device, char **const sectime)
Definition: libmtp.c:3945
LIBMTP_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *device, uint32_t const storage, uint32_t const parent)
Definition: libmtp.c:4491
uint32_t default_album_folder
Definition: libmtp.h:676
char * genre
Definition: libmtp.h:756
char * VolumeIdentifier
Definition: libmtp.h:798
uint32_t duration
Definition: libmtp.h:780
int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *device, uint32_t const object_id, LIBMTP_property_t const attribute_id, char const *const string)
Definition: libmtp.c:1276
uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *device, uint32_t const object_id, LIBMTP_property_t const attribute_id, uint64_t const value_default)
Definition: libmtp.c:1216
char * name
Definition: libmtp.h:615
uint8_t maximum_battery_level
Definition: libmtp.h:662
LIBMTP_file_t * LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:4378
struct _MTPDataHandler MTPDataHandler
int major
Definition: libmtp.h:619
uint32_t parent_id
Definition: libmtp.h:751
LIBMTP_filetype_t filetype
Definition: libmtp.h:729
uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *device, uint32_t const object_id, LIBMTP_property_t const attribute_id, uint16_t const value_default)
Definition: libmtp.c:1246
uint32_t parent_id
Definition: libmtp.h:767
LIBMTP_devicestorage_t * prev
Definition: libmtp.h:800
#define LIBMTP_FILETYPE_IS_VIDEO(a)
Definition: libmtp.h:160
int minor
Definition: libmtp.h:623
int LIBMTP_Is_Property_Supported(LIBMTP_mtpdevice_t *device, LIBMTP_property_t const property, LIBMTP_filetype_t const filetype)
Definition: libmtp.c:1160
int LIBMTP_Copy_Object(LIBMTP_mtpdevice_t *device, uint32_t object_id, uint32_t storage_id, uint32_t parent_id)
Definition: libmtp.c:6846
int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *device, uint32_t const object_id, LIBMTP_property_t const attribute_id, uint32_t const value)
Definition: libmtp.c:1292
void strip_7bit_from_utf8(char *str)
Definition: unicode.c:152
uint16_t(* MTPDataPutFunc)(void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)
Definition: libmtp.h:512
uint32_t default_text_folder
Definition: libmtp.h:678
uint64_t MaxCapacity
Definition: libmtp.h:794
char * album
Definition: libmtp.h:715
#define DEVICE_FLAG_FLAC_IS_UNKNOWN
Definition: device-flags.h:255
LIBMTP_filetype_t
Definition: libmtp.h:86
LIBMTP_error_number_t configure_usb_device(LIBMTP_raw_device_t *device, PTPParams *params, void **usbinfo)
Definition: libopenusb1-glue.c:2059
LIBMTP_error_number_t
Definition: libmtp.h:445
void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t *allowed_vals)
Definition: libmtp.c:1111
uint32_t parent_id
Definition: libmtp.h:738
int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *device, uint16_t code, int n_param,...)
Definition: libmtp.c:9268
#define DEVICE_FLAG_SAMSUNG_OFFSET_BUG
Definition: device-flags.h:301
int LIBMTP_Get_Track_To_File_Descriptor(LIBMTP_mtpdevice_t *device, uint32_t const id, int const fd, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5408
uint8_t devnum
Definition: libmtp.h:546
LIBMTP_devicestorage_t * next
Definition: libmtp.h:799
LIBMTP_file_t * next
Definition: libmtp.h:701
@ LIBMTP_DEVICECAP_SendPartialObject
Definition: libmtp.h:420
uint64_t size
Definition: libmtp.h:782
LIBMTP_mtpdevice_t * LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *rawdevice)
Definition: libmtp.c:1832
int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *device, LIBMTP_filetype_t const filetype, LIBMTP_filesampledata_t **sample)
Definition: libmtp.c:8748
LIBMTP_device_extension_t * extensions
Definition: libmtp.h:682
void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:2541
uint32_t bus_location
Definition: libmtp.h:545
int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *device, uint32_t const object_id, LIBMTP_property_t const attribute_id, uint8_t const value)
Definition: libmtp.c:1322
uint32_t storage_id
Definition: libmtp.h:710
char * description
Definition: libmtp.c:113
uint16_t ptp_id
Definition: libmtp.c:102
char * vendor
Definition: libmtp.h:532
char * LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *device, uint32_t const object_id, LIBMTP_property_t const attribute_id)
Definition: libmtp.c:1201
time_t modificationdate
Definition: libmtp.h:699
uint32_t default_organizer_folder
Definition: libmtp.h:672
Definition: libusb-glue.h:83
uint32_t parent_id
Definition: libmtp.h:709
int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *device, LIBMTP_playlist_t *const metadata)
Definition: libmtp.c:8266
char * data
Definition: libmtp.h:783
char * StorageDescription
Definition: libmtp.h:797
void * params
Definition: libmtp.h:643
#define LIBMTP_HANDLER_RETURN_OK
Definition: libmtp.h:518
LIBMTP_track_t * LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:4821
int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *device, LIBMTP_file_t *file, const char *newname)
Definition: libmtp.c:6957
uint64_t filesize
Definition: libmtp.h:698
int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *device, LIBMTP_album_t *const metadata)
Definition: libmtp.c:8657
@ LIBMTP_DEVICECAP_CopyObject
Definition: libmtp.h:438
int LIBMTP_Get_Allowed_Property_Values(LIBMTP_mtpdevice_t *device, LIBMTP_property_t const property, LIBMTP_filetype_t const filetype, LIBMTP_allowed_values_t *allowed_vals)
Definition: libmtp.c:963
LIBMTP_devicecap_t
Definition: libmtp.h:410
LIBMTP_playlist_t * LIBMTP_new_playlist_t(void)
Definition: libmtp.c:7505
uint8_t object_bitsize
Definition: libmtp.h:638
LIBMTP_track_t * next
Definition: libmtp.h:730
@ LIBMTP_DEVICECAP_EditObjects
Definition: libmtp.h:428
uint32_t default_video_folder
Definition: libmtp.h:670
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *device, LIBMTP_playlist_t *const metadata)
Definition: libmtp.c:8318
char * title
Definition: libmtp.h:711
char * utf16_to_utf8(LIBMTP_mtpdevice_t *device, const uint16_t *unicstr)
Definition: unicode.c:79
uint16_t rating
Definition: libmtp.h:725
LIBMTP_playlist_t * LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *device, uint32_t const plid)
Definition: libmtp.c:7631
char * description
Definition: libmtp.c:100
uint32_t storage_id
Definition: libmtp.h:752
uint16_t bitratetype
Definition: libmtp.h:724
uint32_t default_picture_folder
Definition: libmtp.h:668
int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *device, LIBMTP_track_t const *const metadata)
Definition: libmtp.c:6384
int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *device, uint32_t const id, unsigned char **data, unsigned int *size)
Definition: libmtp.c:9048
LIBMTP_file_t * LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *device, uint32_t const fileid)
Definition: libmtp.c:4354
LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **device_list)
Definition: libmtp.c:2370
int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *device, LIBMTP_event_cb_fn cb, void *user_data)
Definition: libmtp.c:2302
int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *device, uint32_t const id)
Definition: libmtp.c:7146
char * LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:3712
int LIBMTP_Get_File_To_Handler(LIBMTP_mtpdevice_t *device, uint32_t const id, MTPDataPutFunc put_func, void *priv, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5307
int LIBMTP_Move_Object(LIBMTP_mtpdevice_t *device, uint32_t object_id, uint32_t storage_id, uint32_t parent_id)
Definition: libmtp.c:6810
LIBMTP_filetype_t filetype
Definition: libmtp.h:781
time_t modificationdate
Definition: libmtp.h:728
uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t *device, char *name, uint32_t parent_id, uint32_t storage_id)
Definition: libmtp.c:7422
LIBMTP_datatype_t datatype
Definition: libmtp.h:601
LIBMTP_folder_t * LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:7398
char * composer
Definition: libmtp.h:713
uint32_t duration
Definition: libmtp.h:719
uint64_t FreeSpaceInBytes
Definition: libmtp.h:795
int(* LIBMTP_progressfunc_t)(uint64_t const sent, uint64_t const total, void const *const data)
Definition: libmtp.h:482
void * usbinfo
Definition: libmtp.h:648
int LIBMTP_Send_Track_From_File_Descriptor(LIBMTP_mtpdevice_t *device, int const fd, LIBMTP_track_t *const metadata, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5615
int LIBMTP_Send_Track_From_Handler(LIBMTP_mtpdevice_t *device, MTPDataGetFunc get_func, void *priv, LIBMTP_track_t *const metadata, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5719
int LIBMTP_Check_Specific_Device(int busno, int devno)
Definition: libopenusb1-glue.c:556
char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty)
Definition: libmtp.c:830
struct LIBMTP_object_struct LIBMTP_object_t
Definition: libmtp.h:468
LIBMTP_mtpdevice_t * LIBMTP_Get_First_Device(void)
Definition: libmtp.c:1687
LIBMTP_track_t * LIBMTP_new_track_t(void)
Definition: libmtp.c:4574
LIBMTP_folder_t * child
Definition: libmtp.h:771
char * LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:3627
uint32_t storage_id
Definition: libmtp.h:768
int LIBMTP_Send_Track_From_File(LIBMTP_mtpdevice_t *device, char const *const path, LIBMTP_track_t *const metadata, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5483
LIBMTP_filetype_t filetype
Definition: libmtp.h:700
int is_range
Definition: libmtp.h:605
char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t intype)
Definition: libmtp.c:807
void LIBMTP_Init(void)
Definition: libmtp.c:774
char * filename
Definition: libmtp.h:697
#define DEVICE_FLAGS_ANDROID_BUGS
Definition: device-flags.h:320
int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *device, uint8_t *const maximum_level, uint8_t *const current_level)
Definition: libmtp.c:3819
int LIBMTP_Send_File_From_Handler(LIBMTP_mtpdevice_t *device, MTPDataGetFunc get_func, void *priv, LIBMTP_file_t *const filedata, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:6013
uint16_t FilesystemType
Definition: libmtp.h:792
int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *device, LIBMTP_track_t *track, const char *newname)
Definition: libmtp.c:7017
LIBMTP_raw_device_t rawdevice
Definition: libusb-glue.h:111
void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:2568
LIBMTP_playlist_t * next
Definition: libmtp.h:743
void dump_usbinfo(PTP_USB *ptp_usb)
Definition: libopenusb1-glue.c:683
char * filename
Definition: libmtp.h:717
void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *sample)
Definition: libmtp.c:8714
uint32_t item_id
Definition: libmtp.h:708
int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *device, uint32_t const id, LIBMTP_filesampledata_t *sampledata)
Definition: libmtp.c:8976
uint32_t parent_id
Definition: libmtp.h:695
char * LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:3608
uint8_t LIBMTP_Get_u8_From_Object(LIBMTP_mtpdevice_t *device, uint32_t const object_id, LIBMTP_property_t const attribute_id, uint8_t const value_default)
Definition: libmtp.c:1261
void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:3148
#define DEVICE_FLAGS_ARICENT_BUGS
Definition: device-flags.h:341
int LIBMTP_debug
Definition: libmtp.c:89
uint16_t ptp_id
Definition: libmtp.c:115
char * LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:3590
#define LIBMTP_FILETYPE_IS_TRACK(a)
Definition: libmtp.h:181
#define DEVICE_FLAG_BROKEN_SEND_OBJECT_PROPLIST
Definition: device-flags.h:205
uint32_t width
Definition: libmtp.h:778
@ LIBMTP_DEVICECAP_GetPartialObject
Definition: libmtp.h:415
int cached
Definition: libmtp.h:684
void ptp_nikon_getptpipguid(unsigned char *guid)
Definition: libmtp.c:9226
int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *device, int const fd, LIBMTP_file_t *const filedata, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5896
int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t *device, uint32_t const id, int const fd, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5241
char * date
Definition: libmtp.h:716
char * LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:3649
LIBMTP_event_enum
Definition: libmtp.h:807
char * artist
Definition: libmtp.h:712
int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *device, LIBMTP_album_t *album, const char *newname)
Definition: libmtp.c:7091
#define DEVICE_FLAGS_SONY_NWZ_BUGS
Definition: device-flags.h:308
void LIBMTP_destroy_album_t(LIBMTP_album_t *album)
Definition: libmtp.c:8374
uint16_t num_entries
Definition: libmtp.h:597
int LIBMTP_Get_Track_To_Handler(LIBMTP_mtpdevice_t *device, uint32_t const id, MTPDataPutFunc put_func, void *priv, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5435
LIBMTP_property_t
Definition: libmtp.h:222
uint64_t filesize
Definition: libmtp.h:727
uint16_t AccessCapability
Definition: libmtp.h:793
uint32_t wavecodec
Definition: libmtp.h:722
int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *device, LIBMTP_event_t *event, uint32_t *out1)
Definition: libmtp.c:2157
int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t *device, uint32_t const id, char const *const path, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:5181
uint16_t vendor_id
Definition: libmtp.h:533
LIBMTP_property_t id
Definition: libmtp.c:114
int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *device, uint16_t **const filetypes, uint16_t *const length)
Definition: libmtp.c:3980
uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *device_list)
Definition: libmtp.c:2352
uint32_t usecount
Definition: libmtp.h:726
LIBMTP_device_extension_t * next
Definition: libmtp.h:628
char * name
Definition: libmtp.h:753
uint32_t storage_id
Definition: libmtp.h:739
const char * get_playlist_extension(PTP_USB *ptp_usb)
Definition: libopenusb1-glue.c:716
LIBMTP_mtpdevice_t * next
Definition: libmtp.h:687
LIBMTP_folder_t * LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t *device, uint32_t const storage)
Definition: libmtp.c:7292
#define LIBMTP_FILETYPE_IS_AUDIO(a)
Definition: libmtp.h:141
int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *device, LIBMTP_devicecap_t cap)
Definition: libmtp.c:4030
uint32_t samplerate
Definition: libmtp.h:720
LIBMTP_album_t * next
Definition: libmtp.h:759
uint32_t playlist_id
Definition: libmtp.h:737
void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *playlist)
Definition: libmtp.c:7528
char * artist
Definition: libmtp.h:754
int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *device, LIBMTP_devicestorage_t *storage)
Definition: libmtp.c:3861
int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *device, LIBMTP_album_t const *const metadata)
Definition: libmtp.c:9208
LIBMTP_album_t * LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:8511
uint16_t nochannels
Definition: libmtp.h:721
uint32_t no_tracks
Definition: libmtp.h:758
void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:2405
int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t **const, int *const)
Definition: libopenusb1-glue.c:131
uint32_t default_playlist_folder
Definition: libmtp.h:666
int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *device, uint32_t const id, LIBMTP_filesampledata_t *sampledata)
Definition: libmtp.c:8881
uint16_t(* MTPDataGetFunc)(void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)
Definition: libmtp.h:497
LIBMTP_album_t * LIBMTP_new_album_t(void)
Definition: libmtp.c:8349
char * composer
Definition: libmtp.h:755
uint32_t album_id
Definition: libmtp.h:750
uint32_t folder_id
Definition: libmtp.h:766
LIBMTP_track_t * LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t *device, uint32_t const trackid)
Definition: libmtp.c:5037
int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t *device, char const *const friendlyname)
Definition: libmtp.c:3682
int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *)
Definition: libopenusb1-glue.c:1703
void * cd
Definition: libmtp.h:680
LIBMTP_track_t * LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t *device, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:4869
LIBMTP_error_t * LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:2525
uint32_t id
Definition: libmtp.h:790
#define DEVICE_FLAG_OGG_IS_UNKNOWN
Definition: device-flags.h:158
uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *device, uint32_t const object_id, LIBMTP_property_t const attribute_id, uint32_t const value_default)
Definition: libmtp.c:1231
LIBMTP_file_t * LIBMTP_new_file_t(void)
Definition: libmtp.c:4197
char * LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:3571
int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *device, LIBMTP_playlist_t *playlist, const char *newname)
Definition: libmtp.c:7054
uint32_t height
Definition: libmtp.h:779
uint16_t tracknumber
Definition: libmtp.h:718
char * product
Definition: libmtp.h:534
int LIBMTP_Set_Object_u16(LIBMTP_mtpdevice_t *device, uint32_t const object_id, LIBMTP_property_t const attribute_id, uint16_t const value)
Definition: libmtp.c:1307
LIBMTP_track_t * LIBMTP_Get_Tracklisting_With_Callback_For_Storage(LIBMTP_mtpdevice_t *device, uint32_t const storage_id, LIBMTP_progressfunc_t const callback, void const *const data)
Definition: libmtp.c:4919
uint32_t item_id
Definition: libmtp.h:694
LIBMTP_device_entry_t device_entry
Definition: libmtp.h:544
void LIBMTP_Set_Debug(int level)
Definition: libmtp.c:756
uint64_t FreeSpaceInObjects
Definition: libmtp.h:796
int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *device, LIBMTP_folder_t *folder, const char *newname)
Definition: libmtp.c:6987
uint32_t no_tracks
Definition: libmtp.h:742
uint32_t default_music_folder
Definition: libmtp.h:664
uint16_t product_id
Definition: libmtp.h:535
uint32_t default_zencast_folder
Definition: libmtp.h:674
int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *device, int const sortby)
Definition: libmtp.c:4091
LIBMTP_album_t * LIBMTP_Get_Album(LIBMTP_mtpdevice_t *device, uint32_t const albid)
Definition: libmtp.c:8592
LIBMTP_filesampledata_t * LIBMTP_new_filesampledata_t(void)
Definition: libmtp.c:8696
void LIBMTP_destroy_track_t(LIBMTP_track_t *track)
Definition: libmtp.c:4613
int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *device, uint32_t object_id, char *newname)
Definition: libmtp.c:7119
LIBMTP_filetype_t id
Definition: libmtp.c:101
uint32_t device_flags
Definition: libmtp.h:536
LIBMTP_datatype_t
Definition: libmtp.h:396
uint16_t StorageType
Definition: libmtp.h:791
void LIBMTP_Release_Device(LIBMTP_mtpdevice_t *device)
Definition: libmtp.c:2422
LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *)
Definition: libopenusb1-glue.c:592
char * name
Definition: libmtp.h:740
uint32_t * tracks
Definition: libmtp.h:741
void LIBMTP_destroy_file_t(LIBMTP_file_t *file)
Definition: libmtp.c:4221
uint32_t storage_id
Definition: libmtp.h:696
void LIBMTP_destroy_folder_t(LIBMTP_folder_t *folder)
Definition: libmtp.c:7192
#define LIBMTP_DEBUG_NONE
Definition: libmtp.h:73
char * name
Definition: libmtp.h:769
uint32_t * tracks
Definition: libmtp.h:757
LIBMTP_folder_t * sibling
Definition: libmtp.h:770
int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *device, char **const devcert)
Definition: libmtp.c:3959
int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *device, uint32_t object_id)
Definition: libmtp.c:6775