29#ifndef LIBMTP_H_INCLUSION_GUARD 
   30#define LIBMTP_H_INCLUSION_GUARD 
   32#define LIBMTP_VERSION 1.1.21 
   33#define LIBMTP_VERSION_STRING "1.1.21" 
   40#define snprintf _snprintf 
   42#define ssize_t SSIZE_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;
 
   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 
   89  LIBMTP_FILETYPE_FOLDER,
 
   94  LIBMTP_FILETYPE_AUDIBLE,
 
   96  LIBMTP_FILETYPE_UNDEF_AUDIO,
 
  102  LIBMTP_FILETYPE_UNDEF_VIDEO,
 
  103  LIBMTP_FILETYPE_JPEG,
 
  104  LIBMTP_FILETYPE_JFIF,
 
  105  LIBMTP_FILETYPE_TIFF,
 
  108  LIBMTP_FILETYPE_PICT,
 
  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,
 
  120  LIBMTP_FILETYPE_MEDIACARD,
 
  121  LIBMTP_FILETYPE_FLAC,
 
  131  LIBMTP_FILETYPE_ALBUM,
 
  132  LIBMTP_FILETYPE_PLAYLIST,
 
  133  LIBMTP_FILETYPE_UNKNOWN
 
  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) 
  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) 
  172#define LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)\ 
  173(a == LIBMTP_FILETYPE_MP4 ||\ 
  174 a == LIBMTP_FILETYPE_ASF ||\ 
  175 a == LIBMTP_FILETYPE_QT) 
  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)) 
  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) 
  208#define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)\ 
  209(a == LIBMTP_FILETYPE_VCARD2 ||\ 
  210a == LIBMTP_FILETYPE_VCARD3) 
  216#define LIBMTP_FILETYPE_IS_CALENDAR(a)\ 
  217(a == LIBMTP_FILETYPE_VCALENDAR1 ||\ 
  218a == LIBMTP_FILETYPE_VCALENDAR2) 
  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
 
  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,
 
  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
 
  484                                void const * 
const data);
 
  499                                        uint32_t wantlen, 
unsigned char *data, uint32_t *gotlen);
 
  514                                        uint32_t sendlen, 
unsigned char *data, uint32_t *putlen);
 
  519#define LIBMTP_HANDLER_RETURN_OK 0 
  520#define LIBMTP_HANDLER_RETURN_ERROR 1 
  521#define LIBMTP_HANDLER_RETURN_CANCEL 2 
  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,
 
  876#define LIBMTP_STORAGE_SORTBY_NOTSORTED 0 
  877#define LIBMTP_STORAGE_SORTBY_FREESPACE 1 
  878#define LIBMTP_STORAGE_SORTBY_MAXSPACE  2 
  923#define LIBMTP_FILES_AND_FOLDERS_ROOT 0xffffffff 
  974                         unsigned char **data, 
unsigned int *size);
 
 1002                         void const * 
const);
 
 1006                         void const * 
const);
 
 1067                            unsigned char **, 
unsigned int *);
 
 1069                             uint64_t, 
unsigned char *, 
unsigned int);
 
 1079typedef void(* LIBMTP_event_cb_fn) (int, LIBMTP_event_t, uint32_t, 
void *);
 
LIBMTP_album_t * LIBMTP_Get_Album_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:8692
int LIBMTP_Create_New_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t *const)
Definition: libmtp.c:8820
void LIBMTP_destroy_album_t(LIBMTP_album_t *)
Definition: libmtp.c:8537
int LIBMTP_Update_Album(LIBMTP_mtpdevice_t *, LIBMTP_album_t const *const)
Definition: libmtp.c:9382
LIBMTP_album_t * LIBMTP_Get_Album(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:8755
LIBMTP_album_t * LIBMTP_new_album_t(void)
Definition: libmtp.c:8512
LIBMTP_album_t * LIBMTP_Get_Album_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:8674
int LIBMTP_Set_Album_Name(LIBMTP_mtpdevice_t *, LIBMTP_album_t *, const char *)
Definition: libmtp.c:7254
uint64_t LIBMTP_Get_u64_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint64_t const)
Definition: libmtp.c:1216
int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:4042
void LIBMTP_FreeMemory(void *)
Definition: libmtp.c:9471
int LIBMTP_Format_Storage(LIBMTP_mtpdevice_t *, LIBMTP_devicestorage_t *)
Definition: libmtp.c:3958
LIBMTP_mtpdevice_t * LIBMTP_Get_First_Device(void)
Definition: libmtp.c:1719
uint32_t LIBMTP_Number_Devices_In_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2443
int LIBMTP_Set_Object_u32(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint32_t const)
Definition: libmtp.c:1292
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_mtpdevice_t * LIBMTP_Open_Raw_Device_Uncached(LIBMTP_raw_device_t *)
Definition: libmtp.c:1921
LIBMTP_error_t * LIBMTP_Get_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2617
void LIBMTP_Release_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2513
char * LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3724
char * LIBMTP_Get_Manufacturername(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3668
void LIBMTP_Dump_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2660
void LIBMTP_Clear_Errorstack(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2633
void LIBMTP_Release_Device_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:2496
int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char **const)
Definition: libmtp.c:4056
char * LIBMTP_Get_Friendlyname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3746
int LIBMTP_Get_Storage(LIBMTP_mtpdevice_t *, int const)
Definition: libmtp.c:4194
int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t **const, uint16_t *const)
Definition: libmtp.c:4077
char const * LIBMTP_Get_Property_Description(LIBMTP_property_t inproperty)
Definition: libmtp.c:830
int LIBMTP_Reset_Device(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3642
void LIBMTP_destroy_allowed_values_t(LIBMTP_allowed_values_t *)
Definition: libmtp.c:1111
char * LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3687
LIBMTP_mtpdevice_t * LIBMTP_Get_Device_By_SerialNumber(char *)
Definition: libmtp.c:1729
LIBMTP_mtpdevice_t * LIBMTP_Get_Device(int)
Definition: libmtp.c:1687
uint32_t LIBMTP_Get_u32_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint32_t const)
Definition: libmtp.c:1231
int LIBMTP_Set_Object_u16(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint16_t const)
Definition: libmtp.c:1307
int LIBMTP_Get_Allowed_Property_Values(LIBMTP_mtpdevice_t *, LIBMTP_property_t const, LIBMTP_filetype_t const, LIBMTP_allowed_values_t *)
Definition: libmtp.c:963
int LIBMTP_Set_Syncpartner(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:3847
char * LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const)
Definition: libmtp.c:1201
uint16_t LIBMTP_Get_u16_From_Object(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint16_t const)
Definition: libmtp.c:1246
int LIBMTP_Check_Specific_Device(int busno, int devno)
Definition: libopenusb1-glue.c:556
char * LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3705
int LIBMTP_Set_Object_u8(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, uint8_t const)
Definition: libmtp.c:1322
char * LIBMTP_Get_Syncpartner(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3809
LIBMTP_mtpdevice_t * LIBMTP_Get_Device_By_ID(char *)
Definition: libmtp.c:1778
int LIBMTP_Check_Capability(LIBMTP_mtpdevice_t *, LIBMTP_devicecap_t)
Definition: libmtp.c:4133
int LIBMTP_Is_Property_Supported(LIBMTP_mtpdevice_t *, LIBMTP_property_t const, LIBMTP_filetype_t const)
Definition: libmtp.c:1160
LIBMTP_error_number_t LIBMTP_Detect_Raw_Devices(LIBMTP_raw_device_t **, int *)
Definition: libopenusb1-glue.c:592
int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *, uint8_t *const, uint8_t *const)
Definition: libmtp.c:3916
void LIBMTP_Dump_Device_Info(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:3243
int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_property_t const, char const *const)
Definition: libmtp.c:1276
int LIBMTP_Set_Friendlyname(LIBMTP_mtpdevice_t *, char const *const)
Definition: libmtp.c:3779
LIBMTP_error_number_t LIBMTP_Get_Connected_Devices(LIBMTP_mtpdevice_t **)
Definition: libmtp.c:2461
int LIBMTP_Custom_Operation(LIBMTP_mtpdevice_t *, uint16_t, int,...)
Definition: libmtp.c:9442
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_file_t * LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:4457
int LIBMTP_Get_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:9139
void LIBMTP_destroy_file_t(LIBMTP_file_t *)
Definition: libmtp.c:4324
LIBMTP_file_t * LIBMTP_Get_Filelisting_With_Callback(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:4529
int LIBMTP_Set_File_Name(LIBMTP_mtpdevice_t *, LIBMTP_file_t *, const char *)
Definition: libmtp.c:7120
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_file_t * LIBMTP_Get_Files_And_Folders(LIBMTP_mtpdevice_t *, uint32_t const, uint32_t const)
Definition: libmtp.c:4594
LIBMTP_file_t * LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4481
int LIBMTP_Read_Event(LIBMTP_mtpdevice_t *, LIBMTP_event_t *, uint32_t *)
Definition: libmtp.c:2248
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
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
int LIBMTP_Get_Thumbnail(LIBMTP_mtpdevice_t *, uint32_t const, unsigned char **data, unsigned int *size)
Definition: libmtp.c:9211
LIBMTP_file_t * LIBMTP_new_file_t(void)
Definition: libmtp.c:4300
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
int LIBMTP_Get_Children(LIBMTP_mtpdevice_t *, uint32_t const, uint32_t const, uint32_t **)
Definition: libmtp.c:4678
char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t)
Definition: libmtp.c:807
LIBMTP_filesampledata_t * LIBMTP_new_filesampledata_t(void)
Definition: libmtp.c:8859
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
int LIBMTP_Send_Representative_Sample(LIBMTP_mtpdevice_t *, uint32_t const, LIBMTP_filesampledata_t *)
Definition: libmtp.c:9044
int LIBMTP_Read_Event_Async(LIBMTP_mtpdevice_t *, LIBMTP_event_cb_fn, void *)
Definition: libmtp.c:2393
int LIBMTP_Get_Representative_Sample_Format(LIBMTP_mtpdevice_t *, LIBMTP_filetype_t const, LIBMTP_filesampledata_t **)
Definition: libmtp.c:8911
void LIBMTP_destroy_filesampledata_t(LIBMTP_filesampledata_t *)
Definition: libmtp.c:8877
int LIBMTP_Handle_Events_Timeout_Completed(struct timeval *, int *)
Definition: libopenusb1-glue.c:1713
int LIBMTP_Set_Folder_Name(LIBMTP_mtpdevice_t *, LIBMTP_folder_t *, const char *)
Definition: libmtp.c:7150
LIBMTP_folder_t * LIBMTP_new_folder_t(void)
Definition: libmtp.c:7332
LIBMTP_folder_t * LIBMTP_Find_Folder(LIBMTP_folder_t *, uint32_t const)
Definition: libmtp.c:7386
LIBMTP_folder_t * LIBMTP_Get_Folder_List_For_Storage(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7455
uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t *, char *, uint32_t, uint32_t)
Definition: libmtp.c:7585
LIBMTP_folder_t * LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:7561
void LIBMTP_destroy_folder_t(LIBMTP_folder_t *)
Definition: libmtp.c:7355
int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t **const, int *const)
Definition: libopenusb1-glue.c:131
void LIBMTP_Init(void)
Definition: libmtp.c:774
void LIBMTP_Set_Debug(int)
Definition: libmtp.c:756
int LIBMTP_Move_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t)
Definition: libmtp.c:6973
int LIBMTP_Set_Object_Filename(LIBMTP_mtpdevice_t *, uint32_t, char *)
Definition: libmtp.c:7282
int LIBMTP_Copy_Object(LIBMTP_mtpdevice_t *, uint32_t, uint32_t, uint32_t)
Definition: libmtp.c:7009
int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t)
Definition: libmtp.c:6938
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition: libmtp.c:8481
int LIBMTP_Set_Playlist_Name(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *, const char *)
Definition: libmtp.c:7217
LIBMTP_playlist_t * LIBMTP_new_playlist_t(void)
Definition: libmtp.c:7668
int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t *const)
Definition: libmtp.c:8429
void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *)
Definition: libmtp.c:7691
LIBMTP_playlist_t * LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7794
LIBMTP_playlist_t * LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:7716
LIBMTP_event_enum
Definition: libmtp.h:808
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
int LIBMTP_Update_Track_Metadata(LIBMTP_mtpdevice_t *, LIBMTP_track_t const *const)
Definition: libmtp.c:6547
LIBMTP_track_t * LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:5197
int LIBMTP_Track_Exists(LIBMTP_mtpdevice_t *, uint32_t const)
Definition: libmtp.c:7309
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
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
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_track_t * LIBMTP_Get_Tracklisting_With_Callback(LIBMTP_mtpdevice_t *, LIBMTP_progressfunc_t const, void const *const)
Definition: libmtp.c:5029
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
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_track_t * LIBMTP_new_track_t(void)
Definition: libmtp.c:4735
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_track_t * LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t *)
Definition: libmtp.c:4981
int LIBMTP_Set_Track_Name(LIBMTP_mtpdevice_t *, LIBMTP_track_t *, const char *)
Definition: libmtp.c:7180
void LIBMTP_destroy_track_t(LIBMTP_track_t *)
Definition: libmtp.c:4774
LIBMTP_error_number_t
Definition: libmtp.h:447
LIBMTP_property_t
Definition: libmtp.h:224
LIBMTP_filetype_t
Definition: libmtp.h:88
LIBMTP_datatype_t
Definition: libmtp.h:398
LIBMTP_devicecap_t
Definition: libmtp.h:412
int(* LIBMTP_progressfunc_t)(uint64_t const sent, uint64_t const total, void const *const data)
Definition: libmtp.h:483
uint16_t(* MTPDataGetFunc)(void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)
Definition: libmtp.h:498
uint16_t(* MTPDataPutFunc)(void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)
Definition: libmtp.h:513
@ LIBMTP_DEVICECAP_GetPartialObject
Definition: libmtp.h:417
@ LIBMTP_DEVICECAP_EditObjects
Definition: libmtp.h:430
@ LIBMTP_DEVICECAP_MoveObject
Definition: libmtp.h:435
@ LIBMTP_DEVICECAP_CopyObject
Definition: libmtp.h:440
@ LIBMTP_DEVICECAP_SendPartialObject
Definition: libmtp.h:422
int LIBMTP_debug
Definition: libmtp.c:89
LIBMTP_album_t * next
Definition: libmtp.h:760
uint32_t parent_id
Definition: libmtp.h:752
uint32_t * tracks
Definition: libmtp.h:758
uint32_t storage_id
Definition: libmtp.h:753
uint32_t no_tracks
Definition: libmtp.h:759
char * name
Definition: libmtp.h:754
uint32_t album_id
Definition: libmtp.h:751
char * artist
Definition: libmtp.h:755
char * composer
Definition: libmtp.h:756
char * genre
Definition: libmtp.h:757
uint16_t num_entries
Definition: libmtp.h:598
int is_range
Definition: libmtp.h:606
LIBMTP_datatype_t datatype
Definition: libmtp.h:602
uint16_t vendor_id
Definition: libmtp.h:534
uint16_t product_id
Definition: libmtp.h:536
char * vendor
Definition: libmtp.h:533
uint32_t device_flags
Definition: libmtp.h:537
char * product
Definition: libmtp.h:535
int minor
Definition: libmtp.h:624
char * name
Definition: libmtp.h:616
int major
Definition: libmtp.h:620
LIBMTP_device_extension_t * next
Definition: libmtp.h:629
uint16_t AccessCapability
Definition: libmtp.h:794
char * VolumeIdentifier
Definition: libmtp.h:799
uint64_t FreeSpaceInBytes
Definition: libmtp.h:796
uint64_t FreeSpaceInObjects
Definition: libmtp.h:797
char * StorageDescription
Definition: libmtp.h:798
uint64_t MaxCapacity
Definition: libmtp.h:795
LIBMTP_devicestorage_t * prev
Definition: libmtp.h:801
uint16_t StorageType
Definition: libmtp.h:792
uint16_t FilesystemType
Definition: libmtp.h:793
LIBMTP_devicestorage_t * next
Definition: libmtp.h:800
uint32_t id
Definition: libmtp.h:791
time_t modificationdate
Definition: libmtp.h:700
LIBMTP_file_t * next
Definition: libmtp.h:702
char * filename
Definition: libmtp.h:698
uint64_t filesize
Definition: libmtp.h:699
uint32_t parent_id
Definition: libmtp.h:696
uint32_t item_id
Definition: libmtp.h:695
uint32_t storage_id
Definition: libmtp.h:697
LIBMTP_filetype_t filetype
Definition: libmtp.h:701
uint32_t width
Definition: libmtp.h:779
LIBMTP_filetype_t filetype
Definition: libmtp.h:782
uint32_t height
Definition: libmtp.h:780
char * data
Definition: libmtp.h:784
uint64_t size
Definition: libmtp.h:783
uint32_t duration
Definition: libmtp.h:781
uint32_t folder_id
Definition: libmtp.h:767
LIBMTP_folder_t * sibling
Definition: libmtp.h:771
LIBMTP_folder_t * child
Definition: libmtp.h:772
uint32_t parent_id
Definition: libmtp.h:768
char * name
Definition: libmtp.h:770
uint32_t storage_id
Definition: libmtp.h:769
uint8_t maximum_battery_level
Definition: libmtp.h:663
uint8_t object_bitsize
Definition: libmtp.h:639
uint32_t default_zencast_folder
Definition: libmtp.h:675
LIBMTP_error_t * errorstack
Definition: libmtp.h:661
int cached
Definition: libmtp.h:685
LIBMTP_device_extension_t * extensions
Definition: libmtp.h:683
void * cd
Definition: libmtp.h:681
void * usbinfo
Definition: libmtp.h:649
LIBMTP_mtpdevice_t * next
Definition: libmtp.h:688
uint32_t default_playlist_folder
Definition: libmtp.h:667
uint32_t default_text_folder
Definition: libmtp.h:679
uint32_t default_organizer_folder
Definition: libmtp.h:673
uint32_t default_album_folder
Definition: libmtp.h:677
uint32_t default_music_folder
Definition: libmtp.h:665
uint32_t default_picture_folder
Definition: libmtp.h:669
void * params
Definition: libmtp.h:644
LIBMTP_devicestorage_t * storage
Definition: libmtp.h:656
uint32_t default_video_folder
Definition: libmtp.h:671
LIBMTP_playlist_t * next
Definition: libmtp.h:744
uint32_t playlist_id
Definition: libmtp.h:738
char * name
Definition: libmtp.h:741
uint32_t parent_id
Definition: libmtp.h:739
uint32_t no_tracks
Definition: libmtp.h:743
uint32_t * tracks
Definition: libmtp.h:742
uint32_t storage_id
Definition: libmtp.h:740
uint8_t devnum
Definition: libmtp.h:547
LIBMTP_device_entry_t device_entry
Definition: libmtp.h:545
uint32_t bus_location
Definition: libmtp.h:546
char * title
Definition: libmtp.h:712
char * genre
Definition: libmtp.h:715
uint32_t storage_id
Definition: libmtp.h:711
char * composer
Definition: libmtp.h:714
uint32_t samplerate
Definition: libmtp.h:721
uint16_t bitratetype
Definition: libmtp.h:725
char * date
Definition: libmtp.h:717
uint64_t filesize
Definition: libmtp.h:728
uint16_t nochannels
Definition: libmtp.h:722
uint32_t parent_id
Definition: libmtp.h:710
uint32_t item_id
Definition: libmtp.h:709
uint32_t usecount
Definition: libmtp.h:727
uint16_t tracknumber
Definition: libmtp.h:719
char * filename
Definition: libmtp.h:718
char * album
Definition: libmtp.h:716
uint32_t duration
Definition: libmtp.h:720
uint32_t bitrate
Definition: libmtp.h:724
time_t modificationdate
Definition: libmtp.h:729
uint16_t rating
Definition: libmtp.h:726
LIBMTP_track_t * next
Definition: libmtp.h:731
uint32_t wavecodec
Definition: libmtp.h:723
LIBMTP_filetype_t filetype
Definition: libmtp.h:730
char * artist
Definition: libmtp.h:713