libmtp.h | libmtp.h | |||
---|---|---|---|---|
skipping to change at line 13 | skipping to change at line 13 | |||
* | * | |||
* Interface to the Media Transfer Protocol library. | * Interface to the Media Transfer Protocol library. | |||
* | * | |||
* <code> | * <code> | |||
* #include <libmtp.h> | * #include <libmtp.h> | |||
* </code> | * </code> | |||
*/ | */ | |||
#ifndef LIBMTP_H_INCLUSION_GUARD | #ifndef LIBMTP_H_INCLUSION_GUARD | |||
#define LIBMTP_H_INCLUSION_GUARD | #define LIBMTP_H_INCLUSION_GUARD | |||
#define LIBMTP_VERSION 0.0.8 | #define LIBMTP_VERSION 0.0.9 | |||
/* This handles MSVC pecularities */ | /* This handles MSVC pecularities */ | |||
#ifdef _MSC_VER | #ifdef _MSC_VER | |||
#include <windows.h> | #include <windows.h> | |||
#define __WIN32__ | #define __WIN32__ | |||
#define snprintf _snprintf | #define snprintf _snprintf | |||
#define ssize_t SSIZE_T | #define ssize_t SSIZE_T | |||
#endif | #endif | |||
#include <stdio.h> | #include <stdio.h> | |||
skipping to change at line 42 | skipping to change at line 42 | |||
typedef char int8_t; | typedef char int8_t; | |||
typedef unsigned char uint8_t; | typedef unsigned char uint8_t; | |||
typedef __int16 int16_t; | typedef __int16 int16_t; | |||
typedef unsigned __int16 uint16_t; | typedef unsigned __int16 uint16_t; | |||
typedef __int32 int32_t; | typedef __int32 int32_t; | |||
typedef unsigned __int32 uint32_t; | typedef unsigned __int32 uint32_t; | |||
typedef unsigned __int64 uint64_t; | typedef unsigned __int64 uint64_t; | |||
#endif | #endif | |||
/** | /** | |||
* @defgroup types libnjb global type definitions | * @defgroup types libmtp global type definitions | |||
* @{ | * @{ | |||
* The filetypes defined here are the external types used | * The filetypes defined here are the external types used | |||
* by the libmtp library interface. The types used internally | * by the libmtp library interface. The types used internally | |||
* as PTP-defined enumerator types is something different. | * as PTP-defined enumerator types is something different. | |||
*/ | */ | |||
typedef enum { | typedef enum { | |||
LIBMTP_FILETYPE_WAV, | LIBMTP_FILETYPE_WAV, | |||
LIBMTP_FILETYPE_MP3, | LIBMTP_FILETYPE_MP3, | |||
LIBMTP_FILETYPE_WMA, | LIBMTP_FILETYPE_WMA, | |||
LIBMTP_FILETYPE_OGG, | LIBMTP_FILETYPE_OGG, | |||
LIBMTP_FILETYPE_AUDIBLE, | ||||
LIBMTP_FILETYPE_MP4, | LIBMTP_FILETYPE_MP4, | |||
LIBMTP_FILETYPE_UNDEF_AUDIO, | LIBMTP_FILETYPE_UNDEF_AUDIO, | |||
LIBMTP_FILETYPE_WMV, | LIBMTP_FILETYPE_WMV, | |||
LIBMTP_FILETYPE_AVI, | LIBMTP_FILETYPE_AVI, | |||
LIBMTP_FILETYPE_MPEG, | LIBMTP_FILETYPE_MPEG, | |||
LIBMTP_FILETYPE_ASF, | LIBMTP_FILETYPE_ASF, | |||
LIBMTP_FILETYPE_QT, | LIBMTP_FILETYPE_QT, | |||
LIBMTP_FILETYPE_UNDEF_VIDEO, | LIBMTP_FILETYPE_UNDEF_VIDEO, | |||
LIBMTP_FILETYPE_JPEG, | LIBMTP_FILETYPE_JPEG, | |||
LIBMTP_FILETYPE_JFIF, | LIBMTP_FILETYPE_JFIF, | |||
skipping to change at line 82 | skipping to change at line 83 | |||
LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT, | LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT, | |||
LIBMTP_FILETYPE_WINEXEC, | LIBMTP_FILETYPE_WINEXEC, | |||
LIBMTP_FILETYPE_TEXT, | LIBMTP_FILETYPE_TEXT, | |||
LIBMTP_FILETYPE_HTML, | LIBMTP_FILETYPE_HTML, | |||
LIBMTP_FILETYPE_UNKNOWN | LIBMTP_FILETYPE_UNKNOWN | |||
} LIBMTP_filetype_t; | } LIBMTP_filetype_t; | |||
typedef struct LIBMTP_device_entry_struct LIBMTP_device_entry_t; /**< @see LIBMTP_device_entry_struct */ | typedef struct LIBMTP_device_entry_struct LIBMTP_device_entry_t; /**< @see LIBMTP_device_entry_struct */ | |||
typedef struct LIBMTP_mtpdevice_struct LIBMTP_mtpdevice_t; /**< @see LIBMTP _mtpdevice_struct */ | typedef struct LIBMTP_mtpdevice_struct LIBMTP_mtpdevice_t; /**< @see LIBMTP _mtpdevice_struct */ | |||
typedef struct LIBMTP_file_struct LIBMTP_file_t; /**< @see LIBMTP_file_stru ct */ | typedef struct LIBMTP_file_struct LIBMTP_file_t; /**< @see LIBMTP_file_stru ct */ | |||
typedef struct LIBMTP_track_struct LIBMTP_track_t; /**< @see LIBMTP_track_s truct */ | typedef struct LIBMTP_track_struct LIBMTP_track_t; /**< @see LIBMTP_track_s truct */ | |||
typedef struct LIBMTP_playlist_struct LIBMTP_playlist_t; /**< @see LIBMTP_p laylist_struct */ | ||||
typedef struct LIBMTP_folder_struct LIBMTP_folder_t; /**< @see LIBMTP_folde r_t */ | typedef struct LIBMTP_folder_struct LIBMTP_folder_t; /**< @see LIBMTP_folde r_t */ | |||
typedef struct LIBMTP_object_struct LIBMTP_object_t; /**< @see LIBMTP_objec t_t */ | typedef struct LIBMTP_object_struct LIBMTP_object_t; /**< @see LIBMTP_objec t_t */ | |||
/** @} */ | ||||
/** | ||||
* The callback type definition. Notice that a progress percentage ratio | ||||
* is easy to calculate by dividing <code>sent</code> by | ||||
* <code>total</code>. | ||||
* @param sent the number of bytes sent so far | ||||
* @param total the total number of bytes to send | ||||
* @param data a user-defined dereferencable pointer | ||||
* @return if anything else than 0 is returned, the current transfer will b | ||||
e | ||||
* interrupted / cancelled. | ||||
*/ | ||||
typedef int LIBMTP_progressfunc_t (uint64_t const sent, uint64_t const tota | ||||
l, | ||||
void const * const data); | ||||
/** | ||||
* @} | ||||
* @defgroup structar libmtp data structures | ||||
* @{ | ||||
*/ | ||||
/** | /** | |||
* A data structure to hold MTP device entries | * A data structure to hold MTP device entries | |||
*/ | */ | |||
struct LIBMTP_device_entry_struct { | struct LIBMTP_device_entry_struct { | |||
char *name; /**< The descriptive name of this device */ | char *name; /**< The descriptive name of this device */ | |||
uint16_t vendor_id; /**< Vendor ID for this device */ | uint16_t vendor_id; /**< Vendor ID for this device */ | |||
uint16_t product_id; /**< Product ID for this device */ | uint16_t product_id; /**< Product ID for this device */ | |||
}; | }; | |||
skipping to change at line 115 | skipping to change at line 135 | |||
void *params; | void *params; | |||
/** | /** | |||
* USB device for this device, must be cast into | * USB device for this device, must be cast into | |||
* \c (PTP_USB*) before internal use. | * \c (PTP_USB*) before internal use. | |||
*/ | */ | |||
void *usbinfo; | void *usbinfo; | |||
/** The storage ID for this device */ | /** The storage ID for this device */ | |||
unsigned storage_id; | unsigned storage_id; | |||
/** The maximum battery level for this device */ | /** The maximum battery level for this device */ | |||
uint8_t maximum_battery_level; | uint8_t maximum_battery_level; | |||
/** Default music folder */ | ||||
uint32_t default_music_folder; | ||||
/** Default playlist folder */ | ||||
uint32_t default_playlist_folder; | ||||
/** Default picture folder */ | ||||
uint32_t default_picture_folder; | ||||
/** Default video folder */ | ||||
uint32_t default_video_folder; | ||||
/** Default organizer folder */ | ||||
uint32_t default_organizer_folder; | ||||
/** Default ZENcast folder (only Creative devices...) */ | ||||
uint32_t default_zencast_folder; | ||||
}; | }; | |||
/** | /** | |||
* MTP file struct | * MTP file struct | |||
*/ | */ | |||
struct LIBMTP_file_struct { | struct LIBMTP_file_struct { | |||
uint32_t item_id; /**< Unique item ID */ | uint32_t item_id; /**< Unique item ID */ | |||
uint32_t parent_id; /**< ID of parent folder */ | uint32_t parent_id; /**< ID of parent folder */ | |||
char *filename; /**< Filename of this file */ | char *filename; /**< Filename of this file */ | |||
uint64_t filesize; /**< Size of file in bytes */ | uint64_t filesize; /**< Size of file in bytes */ | |||
skipping to change at line 142 | skipping to change at line 174 | |||
struct LIBMTP_track_struct { | struct LIBMTP_track_struct { | |||
uint32_t item_id; /**< Unique item ID */ | uint32_t item_id; /**< Unique item ID */ | |||
char *title; /**< Track title */ | char *title; /**< Track title */ | |||
char *artist; /**< Name of recording artist */ | char *artist; /**< Name of recording artist */ | |||
char *genre; /**< Genre name for track */ | char *genre; /**< Genre name for track */ | |||
char *album; /**< Album name for track */ | char *album; /**< Album name for track */ | |||
char *date; /**< Date of original recording as a string */ | char *date; /**< Date of original recording as a string */ | |||
char *filename; /**< Original filename of this track */ | char *filename; /**< Original filename of this track */ | |||
uint16_t tracknumber; /**< Track number (in sequence on recording) */ | uint16_t tracknumber; /**< Track number (in sequence on recording) */ | |||
uint32_t duration; /**< Duration in milliseconds */ | uint32_t duration; /**< Duration in milliseconds */ | |||
uint32_t samplerate; /**< Sample rate of original file, min 0x1f80 max 0x | ||||
bb80 */ | ||||
uint16_t nochannels; /**< Number of channels in this recording 0 = unknow | ||||
n, 1 or 2 */ | ||||
uint32_t wavecodec; /**< FourCC wave codec name */ | ||||
uint32_t bitrate; /**< (Average) bitrate for this file min=1 max=0x16e360 | ||||
*/ | ||||
uint16_t bitratetype; /**< 0 = unused, 1 = constant, 2 = VBR, 3 = free */ | ||||
uint16_t rating; /**< User rating 0-100 (0x00-0x64) */ | ||||
uint32_t usecount; /**< Number of times used/played */ | ||||
uint64_t filesize; /**< Size of track file in bytes */ | uint64_t filesize; /**< Size of track file in bytes */ | |||
LIBMTP_filetype_t filetype; /**< Filetype used for the current track */ | LIBMTP_filetype_t filetype; /**< Filetype used for the current track */ | |||
LIBMTP_track_t *next; /**< Next track in list or NULL if last track */ | LIBMTP_track_t *next; /**< Next track in list or NULL if last track */ | |||
}; | }; | |||
/** | /** | |||
* MTP Playlist structure | ||||
*/ | ||||
struct LIBMTP_playlist_struct { | ||||
uint32_t playlist_id; /**< Unique playlist ID */ | ||||
char *name; /**< Name of playlist */ | ||||
uint32_t *tracks; /**< The tracks in this playlist */ | ||||
uint32_t no_tracks; /**< The number of tracks in this playlist */ | ||||
LIBMTP_playlist_t *next; /**< Next playlist or NULL if last playlist */ | ||||
}; | ||||
/** | ||||
* MTP Folder structure | * MTP Folder structure | |||
*/ | */ | |||
struct LIBMTP_folder_struct { | struct LIBMTP_folder_struct { | |||
uint32_t folder_id; /**< Unique folder ID */ | uint32_t folder_id; /**< Unique folder ID */ | |||
uint32_t parent_id; /**< ID of parent folder */ | uint32_t parent_id; /**< ID of parent folder */ | |||
char *name; /**< Name of folder */ | char *name; /**< Name of folder */ | |||
LIBMTP_folder_t *sibling; /**< Next folder at same level or NULL if no mo re */ | LIBMTP_folder_t *sibling; /**< Next folder at same level or NULL if no mo re */ | |||
LIBMTP_folder_t *child; /**< Child folder or NULL if no children */ | LIBMTP_folder_t *child; /**< Child folder or NULL if no children */ | |||
}; | }; | |||
skipping to change at line 172 | skipping to change at line 222 | |||
uint32_t id; | uint32_t id; | |||
uint32_t parent; | uint32_t parent; | |||
uint32_t type; | uint32_t type; | |||
uint32_t size; | uint32_t size; | |||
char *name; | char *name; | |||
void *data; | void *data; | |||
LIBMTP_object_t *sibling; | LIBMTP_object_t *sibling; | |||
LIBMTP_object_t *child; | LIBMTP_object_t *child; | |||
}; | }; | |||
/** @} */ | ||||
/* Make functions available for C++ */ | /* Make functions available for C++ */ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
/** | /** | |||
* The callback type definition. Notice that a progress percentage ratio | ||||
* is easy to calculate by dividing <code>sent</code> by | ||||
* <code>total</code>. | ||||
* @param sent the number of bytes sent so far | ||||
* @param total the total number of bytes to send | ||||
* @param data a user-defined dereferencable pointer | ||||
* @return if anything else than 0 is returned, the current transfer will b | ||||
e | ||||
* interrupted / cancelled. | ||||
*/ | ||||
typedef int LIBMTP_progressfunc_t (uint64_t const sent, uint64_t const tota | ||||
l, | ||||
void const * const data); | ||||
/** | ||||
* @defgroup internals The libmtp internals API. | * @defgroup internals The libmtp internals API. | |||
* @{ | * @{ | |||
*/ | */ | |||
void LIBMTP_Init(void); | void LIBMTP_Init(void); | |||
int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t ** const, int * const); | int LIBMTP_Get_Supported_Devices_List(LIBMTP_device_entry_t ** const, int * const); | |||
/** | /** | |||
* @} | * @} | |||
* @defgroup basic The basic device management API. | * @defgroup basic The basic device management API. | |||
* @{ | * @{ | |||
*/ | */ | |||
skipping to change at line 215 | skipping to change at line 254 | |||
char *LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t*); | char *LIBMTP_Get_Modelname(LIBMTP_mtpdevice_t*); | |||
char *LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t*); | char *LIBMTP_Get_Serialnumber(LIBMTP_mtpdevice_t*); | |||
char *LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t*); | char *LIBMTP_Get_Deviceversion(LIBMTP_mtpdevice_t*); | |||
char *LIBMTP_Get_Ownername(LIBMTP_mtpdevice_t*); | char *LIBMTP_Get_Ownername(LIBMTP_mtpdevice_t*); | |||
int LIBMTP_Get_Storageinfo(LIBMTP_mtpdevice_t *, uint64_t * const, | int LIBMTP_Get_Storageinfo(LIBMTP_mtpdevice_t *, uint64_t * const, | |||
uint64_t * const, char ** const storage_description, | uint64_t * const, char ** const storage_description, | |||
char ** const volume_label); | char ** const volume_label); | |||
int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *, | int LIBMTP_Get_Batterylevel(LIBMTP_mtpdevice_t *, | |||
uint8_t * const, | uint8_t * const, | |||
uint8_t * const); | uint8_t * const); | |||
int LIBMTP_Get_Secure_Time(LIBMTP_mtpdevice_t *, char ** const); | ||||
int LIBMTP_Get_Device_Certificate(LIBMTP_mtpdevice_t *, char ** const); | ||||
int LIBMTP_Get_Supported_Filetypes(LIBMTP_mtpdevice_t *, uint16_t ** const, | ||||
uint16_t * const); | ||||
/** | /** | |||
* @} | * @} | |||
* @defgroup files The file management API. | * @defgroup files The file management API. | |||
* @{ | * @{ | |||
*/ | */ | |||
LIBMTP_file_t *LIBMTP_new_file_t(void); | LIBMTP_file_t *LIBMTP_new_file_t(void); | |||
void LIBMTP_destroy_file_t(LIBMTP_file_t*); | void LIBMTP_destroy_file_t(LIBMTP_file_t*); | |||
char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t); | char const * LIBMTP_Get_Filetype_Description(LIBMTP_filetype_t); | |||
LIBMTP_file_t *LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *device); | LIBMTP_file_t *LIBMTP_Get_Filelisting(LIBMTP_mtpdevice_t *); | |||
int LIBMTP_Delete_File(LIBMTP_mtpdevice_t *, uint32_t); | LIBMTP_file_t *LIBMTP_Get_Filemetadata(LIBMTP_mtpdevice_t *, uint32_t const | |||
); | ||||
int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * con st, | int LIBMTP_Get_File_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * con st, | |||
LIBMTP_progressfunc_t const * const, void const * co nst); | LIBMTP_progressfunc_t const * const, void const * co nst); | |||
int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const, int const, | int LIBMTP_Get_File_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const, int const, | |||
LIBMTP_progressfunc_t const * const, void const * co nst); | LIBMTP_progressfunc_t const * const, void const * co nst); | |||
int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *, char const * const, | int LIBMTP_Send_File_From_File(LIBMTP_mtpdevice_t *, char const * const, | |||
LIBMTP_file_t * const, LIBMTP_progressfunc_t const * const, | LIBMTP_file_t * const, LIBMTP_progressfunc_t const * const, | |||
void const * const, uint32_t const); | void const * const, uint32_t const); | |||
int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *, int const, | int LIBMTP_Send_File_From_File_Descriptor(LIBMTP_mtpdevice_t *, int const, | |||
LIBMTP_file_t * const, LIBMTP_progressfunc_t const * const, | LIBMTP_file_t * const, LIBMTP_progressfunc_t const * const, | |||
void const * const, uint32_t const); | void const * const, uint32_t const); | |||
/** | /** | |||
* @} | * @} | |||
* @defgroup tracks The track management API. | * @defgroup tracks The track management API. | |||
* @{ | * @{ | |||
*/ | */ | |||
LIBMTP_track_t *LIBMTP_new_track_t(void); | LIBMTP_track_t *LIBMTP_new_track_t(void); | |||
void LIBMTP_destroy_track_t(LIBMTP_track_t*); | void LIBMTP_destroy_track_t(LIBMTP_track_t*); | |||
LIBMTP_track_t *LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t*); | LIBMTP_track_t *LIBMTP_Get_Tracklisting(LIBMTP_mtpdevice_t*); | |||
LIBMTP_track_t *LIBMTP_Get_Trackmetadata(LIBMTP_mtpdevice_t*, uint32_t cons t); | ||||
int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * co nst, | int LIBMTP_Get_Track_To_File(LIBMTP_mtpdevice_t*, uint32_t, char const * co nst, | |||
LIBMTP_progressfunc_t const * const, void const * co nst); | LIBMTP_progressfunc_t const * const, void const * co nst); | |||
int LIBMTP_Get_Track_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const , int const, | int LIBMTP_Get_Track_To_File_Descriptor(LIBMTP_mtpdevice_t*, uint32_t const , int const, | |||
LIBMTP_progressfunc_t const * const, void const * co nst); | LIBMTP_progressfunc_t const * const, void const * co nst); | |||
int LIBMTP_Send_Track_From_File(LIBMTP_mtpdevice_t *, | int LIBMTP_Send_Track_From_File(LIBMTP_mtpdevice_t *, | |||
char const * const, LIBMTP_track_t * const, | char const * const, LIBMTP_track_t * const, | |||
LIBMTP_progressfunc_t const * const, | LIBMTP_progressfunc_t const * const, | |||
void const * const, uint32_t const); | void const * const, uint32_t const); | |||
int LIBMTP_Send_Track_From_File_Descriptor(LIBMTP_mtpdevice_t *, | int LIBMTP_Send_Track_From_File_Descriptor(LIBMTP_mtpdevice_t *, | |||
int const, LIBMTP_track_t * const, | int const, LIBMTP_track_t * const, | |||
skipping to change at line 270 | skipping to change at line 313 | |||
/** | /** | |||
* @} | * @} | |||
* @defgroup folders The folder management API. | * @defgroup folders The folder management API. | |||
* @{ | * @{ | |||
*/ | */ | |||
LIBMTP_folder_t *LIBMTP_new_folder_t(void); | LIBMTP_folder_t *LIBMTP_new_folder_t(void); | |||
void LIBMTP_destroy_folder_t(LIBMTP_folder_t*); | void LIBMTP_destroy_folder_t(LIBMTP_folder_t*); | |||
LIBMTP_folder_t *LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t*); | LIBMTP_folder_t *LIBMTP_Get_Folder_List(LIBMTP_mtpdevice_t*); | |||
LIBMTP_folder_t *LIBMTP_Find_Folder(LIBMTP_folder_t*, uint32_t const); | LIBMTP_folder_t *LIBMTP_Find_Folder(LIBMTP_folder_t*, uint32_t const); | |||
uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char * , uint32_t); | uint32_t LIBMTP_Create_Folder(LIBMTP_mtpdevice_t*, char *, uint32_t); | |||
/** @} */ | /** @} */ | |||
/** | /** | |||
* @} | * @} | |||
* @defgroup playlists The audio/video playlist management API. | ||||
* @{ | ||||
*/ | ||||
LIBMTP_playlist_t *LIBMTP_new_playlist_t(void); | ||||
void LIBMTP_destroy_playlist_t(LIBMTP_playlist_t *); | ||||
LIBMTP_playlist_t *LIBMTP_Get_Playlist_List(LIBMTP_mtpdevice_t *); | ||||
LIBMTP_playlist_t *LIBMTP_Get_Playlist(LIBMTP_mtpdevice_t *, uint32_t const | ||||
); | ||||
int LIBMTP_Create_New_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t * co | ||||
nst, uint32_t const); | ||||
int LIBMTP_Update_Playlist(LIBMTP_mtpdevice_t *, LIBMTP_playlist_t const * | ||||
const); | ||||
/** | ||||
* @} | ||||
* @defgroup objects The object management API. | * @defgroup objects The object management API. | |||
* @{ | * @{ | |||
*/ | */ | |||
char *LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *,uint32_t, uint32_t | char *LIBMTP_Get_String_From_Object(LIBMTP_mtpdevice_t *,const uint32_t, co | |||
, char); | nst uint32_t, uint8_t); | |||
uint32_t LIBMTP_Get_U32_From_Object(LIBMTP_mtpdevice_t *,uint32_t, uint32_t | uint32_t LIBMTP_Get_U32_From_Object(LIBMTP_mtpdevice_t *,const uint32_t, co | |||
, uint32_t); | nst uint32_t, const uint32_t); | |||
uint16_t LIBMTP_Get_U16_From_Object(LIBMTP_mtpdevice_t *,uint32_t, uint32_t | uint16_t LIBMTP_Get_U16_From_Object(LIBMTP_mtpdevice_t *,const uint32_t, co | |||
, uint16_t); | nst uint32_t, const uint16_t); | |||
int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *,uint32_t, uint32_t, char | int LIBMTP_Set_Object_String(LIBMTP_mtpdevice_t *,const uint32_t,const uint | |||
*, int); | 32_t, | |||
int LIBMTP_Set_Object_U32(LIBMTP_mtpdevice_t *,uint32_t, uint32_t, uint32_t | char const * const, const uint8_t); | |||
); | int LIBMTP_Set_Object_U32(LIBMTP_mtpdevice_t *,const uint32_t, const uint32 | |||
int LIBMTP_Set_Object_U16(LIBMTP_mtpdevice_t *,uint32_t, uint32_t, uint16_t | _t, const uint32_t); | |||
); | int LIBMTP_Set_Object_U16(LIBMTP_mtpdevice_t *,const uint32_t, const uint32 | |||
int LIBMTP_Get_Object_References(LIBMTP_mtpdevice_t *, uint32_t, uint32_t * | _t, const uint16_t); | |||
*, uint32_t *); | int LIBMTP_Get_Object_References(LIBMTP_mtpdevice_t *, const uint32_t, uint | |||
int LIBMTP_Set_Object_References(LIBMTP_mtpdevice_t *, uint32_t, uint32_t * | 32_t **, uint32_t *); | |||
, uint32_t); | int LIBMTP_Set_Object_References(LIBMTP_mtpdevice_t *, const uint32_t, uint | |||
32_t const * const, const uint32_t); | ||||
LIBMTP_object_t *LIBMTP_Make_List(LIBMTP_mtpdevice_t *, uint32_t *, uint32_ t, uint32_t *, uint32_t); | LIBMTP_object_t *LIBMTP_Make_List(LIBMTP_mtpdevice_t *, uint32_t *, uint32_ t, uint32_t *, uint32_t); | |||
LIBMTP_object_t *LIBMTP_Find_Object(LIBMTP_object_t *, uint32_t); | LIBMTP_object_t *LIBMTP_Find_Object(LIBMTP_object_t *, const uint32_t); | |||
void LIBMTP_Dump_List(LIBMTP_object_t *); | void LIBMTP_Dump_List(LIBMTP_object_t *); | |||
LIBMTP_object_t *LIBMTP_new_object_t(void); | LIBMTP_object_t *LIBMTP_new_object_t(void); | |||
void LIBMTP_destroy_object_t(LIBMTP_object_t *, uint32_t); | void LIBMTP_destroy_object_t(LIBMTP_object_t *, uint32_t); | |||
int LIBMTP_Delete_Object(LIBMTP_mtpdevice_t *, uint32_t); | ||||
/** @} */ | /** @} */ | |||
/** | /** | |||
* @} | * @} | |||
* @defgroup File mapping The file mapping API | * @defgroup File mapping The file mapping API | |||
* @{ | * @{ | |||
*/ | */ | |||
int LIBMTP_Register_Filetype(char *, LIBMTP_filetype_t, uint16_t, void *, v | int LIBMTP_Register_Filetype(char const * const, LIBMTP_filetype_t const, | |||
oid *, void *); | uint16_t const, void const * const, | |||
int LIBMTP_Set_Description(LIBMTP_filetype_t, char *); | void const * const, void const * const); | |||
int LIBMTP_Set_Constructor(LIBMTP_filetype_t, void *); | int LIBMTP_Set_Filetype_Description(LIBMTP_filetype_t, char const * const); | |||
int LIBMTP_Set_Destructor(LIBMTP_filetype_t, void *); | int LIBMTP_Set_Constructor(LIBMTP_filetype_t, void const * const); | |||
int LIBMTP_Set_Datafunc(LIBMTP_filetype_t, void *); | int LIBMTP_Set_Destructor(LIBMTP_filetype_t, void const * const); | |||
int LIBMTP_Set_Datafunc(LIBMTP_filetype_t, void const * const); | ||||
/** @} */ | /** @} */ | |||
/* End of C++ exports */ | /* End of C++ exports */ | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
} | } | |||
#endif | #endif | |||
#endif /* LIBMTP_H_INCLUSION_GUARD */ | #endif /* LIBMTP_H_INCLUSION_GUARD */ | |||
End of changes. 19 change blocks. | ||||
44 lines changed or deleted | 110 lines changed or added | |||