28 #ifndef LIBMTP_H_INCLUSION_GUARD
29 #define LIBMTP_H_INCLUSION_GUARD
31 #define LIBMTP_VERSION 0.1.4
37 #define snprintf _snprintf
38 #define ssize_t SSIZE_T
51 typedef unsigned char uint8_t;
52 typedef __int16 int16_t;
53 typedef unsigned __int16 uint16_t;
54 typedef __int32 int32_t;
55 typedef unsigned __int32 uint32_t;
56 typedef unsigned __int64 uint64_t;
71 LIBMTP_FILETYPE_AUDIBLE,
73 LIBMTP_FILETYPE_UNDEF_AUDIO,
79 LIBMTP_FILETYPE_UNDEF_VIDEO,
87 LIBMTP_FILETYPE_VCALENDAR1,
88 LIBMTP_FILETYPE_VCALENDAR2,
89 LIBMTP_FILETYPE_VCARD2,
90 LIBMTP_FILETYPE_VCARD3,
91 LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT,
92 LIBMTP_FILETYPE_WINEXEC,
95 LIBMTP_FILETYPE_FIRMWARE,
97 LIBMTP_FILETYPE_MEDIACARD,
108 LIBMTP_FILETYPE_UNKNOWN
116 LIBMTP_ERROR_GENERAL,
117 LIBMTP_ERROR_PTP_LAYER,
118 LIBMTP_ERROR_USB_LAYER,
119 LIBMTP_ERROR_MEMORY_ALLOCATION,
120 LIBMTP_ERROR_NO_DEVICE_ATTACHED,
121 LIBMTP_ERROR_STORAGE_FULL,
122 LIBMTP_ERROR_CONNECTING
147 void const *
const data);
369 #define LIBMTP_STORAGE_SORTBY_NOTSORTED 0
370 #define LIBMTP_STORAGE_SORTBY_FREESPACE 1
371 #define LIBMTP_STORAGE_SORTBY_MAXSPACE 2
395 void const *
const, uint32_t
const);
398 void const *
const, uint32_t
const);
402 LIBMTP_filetype_t
const,
425 void const *
const, uint32_t
const);
429 void const *
const, uint32_t
const);
LIBMTP_album_t * LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:4455
uint32_t default_music_folder
Definition: libmtp.h:204
int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:1732
LIBMTP_folder_t * sibling
Definition: libmtp.h:293
int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:1538
uint16_t AccessCapability
Definition: libmtp.h:316
char * genre
Definition: libmtp.h:246
LIBMTP_filetype_t filetype
Definition: libmtp.h:260
int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *, int const, LIBMTP_file_t *const, LIBMTP_progressfunc_t const, void const *const, uint32_t const)
Definition: libmtp.c:3188
void LIBMTP_Release_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:934
LIBMTP_file_t * next
Definition: libmtp.h:235
void LIBMTP_destroy_file_t(LIBMTP_file_t *)
Definition: libmtp.c:1917
LIBMTP_track_t * next
Definition: libmtp.h:261
LIBMTP_file_t * LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:1933
void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:1033
char * name
Definition: libmtp.h:292
uint64_t FreeSpaceInBytes
Definition: libmtp.h:318
LIBMTP_album_t * next
Definition: libmtp.h:283
void LIBMTP_destroy_track_t(LIBMTP_track_t *)
Definition: libmtp.c:2164
int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t *const, uint32_t const)
Definition: libmtp.c:4516
LIBMTP_file_t * LIBMTP_new_file_t(void)
Definition: libmtp.c:1897
LIBMTP_file_t * LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:2056
uint16_t nochannels
Definition: libmtp.h:253
uint32_t parent_id
Definition: libmtp.h:291
uint8_t maximum_battery_level
Definition: libmtp.h:202
LIBMTP_filesampledata_t * LIBMTP_new_filesampledata_t(void)
Definition: libmtp.c:4548
char * name
Definition: libmtp.h:280
int(* LIBMTP_progressfunc_t)(uint64_t const sent, uint64_t const total, void const *const data)
Definition: libmtp.h:146
int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const, uint32_t const)
Definition: libmtp.c:4282
uint16_t product_id
Definition: libmtp.h:161
struct LIBMTP_object_struct LIBMTP_object_t
Definition: libmtp.h:132
char * title
Definition: libmtp.h:244
uint32_t default_zencast_folder
Definition: libmtp.h:214
uint64_t FreeSpaceInObjects
Definition: libmtp.h:319
uint16_t bitratetype
Definition: libmtp.h:256
uint32_t bitrate
Definition: libmtp.h:255
uint32_t parent_id
Definition: libmtp.h:243
LIBMTP_error_number_t
Definition: libmtp.h:114
char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t)
Definition: libmtp.c:313
LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **)
Definition: libmtp.c:893
uint16_t StorageType
Definition: libmtp.h:314
uint32_t item_id
Definition: libmtp.h:242
LIBMTP_track_t * LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:2395
int LIBMTP_Send_Track_From_File(LIBMTP_mtpdevice_t *, char const *const, LIBMTP_track_t *const, LIBMTP_progressfunc_t const, void const *const, uint32_t const)
Definition: libmtp.c:2739
LIBMTP_folder_t * child
Definition: libmtp.h:294
uint16_t rating
Definition: libmtp.h:257
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t const *const)
Definition: libmtp.c:4318
uint32_t * tracks
Definition: libmtp.h:281
uint16_t FilesystemType
Definition: libmtp.h:315
uint32_t wavecodec
Definition: libmtp.h:254
void * usbinfo
Definition: libmtp.h:189
int LIBMTP_Detect_Descriptor(uint16_t *, uint16_t *)
Definition: libusb-glue.c:508
LIBMTP_devicestorage_t * storage
Definition: libmtp.h:195
uint32_t default_video_folder
Definition: libmtp.h:210
LIBMTP_devicestorage_t * prev
Definition: libmtp.h:323
uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t *, char *, uint32_t)
Definition: libmtp.c:3830
uint32_t album_id
Definition: libmtp.h:279
char * LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:1415
uint32_t default_organizer_folder
Definition: libmtp.h:212
void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *)
Definition: libmtp.c:4566
void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *)
Definition: libmtp.c:3898
uint32_t duration
Definition: libmtp.h:251
uint32_t samplerate
Definition: libmtp.h:252
LIBMTP_playlist_t * next
Definition: libmtp.h:272
int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *, uint8_t *const, uint8_t *const)
Definition: libmtp.c:1603
void * params
Definition: libmtp.h:184
char * filename
Definition: libmtp.h:249
LIBMTP_folder_t * LIBMTP_Find_Folder(LIBMTP_folder_t *, uint32_t const)
Definition: libmtp.c:3728
uint32_t device_flags
Definition: libmtp.h:162
uint32_t no_tracks
Definition: libmtp.h:282
uint64_t size
Definition: libmtp.h:305
uint32_t default_playlist_folder
Definition: libmtp.h:206
uint32_t usecount
Definition: libmtp.h:258
char * name
Definition: libmtp.h:269
LIBMTP_mtpdevice_t * LIBMTP_Get_First_Device(void)
Definition: libmtp.c:612
char * filename
Definition: libmtp.h:232
LIBMTP_track_t * LIBMTP_new_track_t(void)
Definition: libmtp.c:2130
void LIBMTP_destroy_folder_t(LIBMTP_folder_t *)
Definition: libmtp.c:3697
char * LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:1500
char * LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:1437
uint32_t playlist_id
Definition: libmtp.h:268
void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:1274
LIBMTP_folder_t * LIBMTP_new_folder_t(void)
Definition: libmtp.c:3677
void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:1060
LIBMTP_playlist_t * LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3923
LIBMTP_error_t * errorstack
Definition: libmtp.h:200
int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *, char const *const, LIBMTP_file_t *const, LIBMTP_progressfunc_t const, void const *const, uint32_t const)
Definition: libmtp.c:3113
uint32_t default_picture_folder
Definition: libmtp.h:208
int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t **const, int *const)
Definition: libusb-glue.c:297
uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:875
LIBMTP_track_t * LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:2489
char * LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:1378
uint32_t default_album_folder
Definition: libmtp.h:216
LIBMTP_album_t * LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4394
int LIBMTP_Send_Track_From_File_Descriptor(LIBMTP_mtpdevice_t *, int const, LIBMTP_track_t *const, LIBMTP_progressfunc_t const, void const *const, uint32_t const)
Definition: libmtp.c:2824
LIBMTP_track_t * LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2355
int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:4692
LIBMTP_filetype_t filetype
Definition: libmtp.h:304
uint64_t filesize
Definition: libmtp.h:259
uint32_t no_tracks
Definition: libmtp.h:271
char * date
Definition: libmtp.h:248
LIBMTP_playlist_t * LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:3991
int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *)
Definition: libmtp.c:1640
uint32_t default_text_folder
Definition: libmtp.h:218
char * LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:1396
int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t)
Definition: libmtp.c:3655
void LIBMTP_Init(void)
Definition: libmtp.c:299
uint32_t parent_id
Definition: libmtp.h:231
int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t **const, uint16_t *const)
Definition: libmtp.c:1752
uint64_t filesize
Definition: libmtp.h:233
uint32_t id
Definition: libmtp.h:313
int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t *, uint32_t, char const *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:2567
char * data
Definition: libmtp.h:306
uint32_t height
Definition: libmtp.h:302
void * cd
Definition: libmtp.h:220
int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t)
Definition: libmtp.c:3633
LIBMTP_playlist_t * LIBMTP_new_playlist_t(void)
Definition: libmtp.c:3877
char * VolumeIdentifier
Definition: libmtp.h:321
uint32_t width
Definition: libmtp.h:301
uint32_t folder_id
Definition: libmtp.h:290
uint16_t tracknumber
Definition: libmtp.h:250
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:2706
uint8_t interface_number
Definition: libmtp.h:179
int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t *, uint32_t, char const *const, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:2682
void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:917
uint64_t MaxCapacity
Definition: libmtp.h:317
uint32_t duration
Definition: libmtp.h:303
LIBMTP_devicestorage_t * next
Definition: libmtp.h:322
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:2622
uint32_t * tracks
Definition: libmtp.h:270
LIBMTP_album_t * LIBMTP_new_album_t(void)
Definition: libmtp.c:4352
LIBMTP_file_t * LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:1973
int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:1470
uint16_t vendor_id
Definition: libmtp.h:160
char * album
Definition: libmtp.h:247
void LIBMTP_destroy_album_t(LIBMTP_album_t *)
Definition: libmtp.c:4372
LIBMTP_mtpdevice_t * next
Definition: libmtp.h:223
char * artist
Definition: libmtp.h:245
int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const)
Definition: libmtp.c:1795
int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:1718
char * StorageDescription
Definition: libmtp.h:320
uint32_t item_id
Definition: libmtp.h:230
int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const *const)
Definition: libmtp.c:4793
int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *, LIBMTP_track_t const *const)
Definition: libmtp.c:3462
LIBMTP_filetype_t filetype
Definition: libmtp.h:234
char * name
Definition: libmtp.h:159
int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *, LIBMTP_filetype_t const, LIBMTP_filesampledata_t **)
Definition: libmtp.c:4600
LIBMTP_error_t * LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:1018
LIBMTP_folder_t * LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3758