NAME¶
libmtp - libmtp global type definitions
Macros¶
#define
LIBMTP_DEBUG_NONE 0x00
#define
LIBMTP_DEBUG_PTP 0x01
#define
LIBMTP_DEBUG_PLST 0x02
#define
LIBMTP_DEBUG_USB 0x04
#define
LIBMTP_DEBUG_DATA 0x08
#define
LIBMTP_DEBUG_ALL 0xFF
#define
LIBMTP_FILETYPE_IS_AUDIO(a)
#define
LIBMTP_FILETYPE_IS_VIDEO(a)
#define
LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)
#define
LIBMTP_FILETYPE_IS_TRACK(a)
#define
LIBMTP_FILETYPE_IS_IMAGE(a)
#define
LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)
#define
LIBMTP_FILETYPE_IS_CALENDAR(a)
#define
LIBMTP_HANDLER_RETURN_OK 0
#define
LIBMTP_HANDLER_RETURN_ERROR 1
#define
LIBMTP_HANDLER_RETURN_CANCEL 2
Typedefs¶
typedef struct
LIBMTP_device_entry_struct LIBMTP_device_entry_t"
typedef struct
LIBMTP_raw_device_struct LIBMTP_raw_device_t"
typedef struct
LIBMTP_error_struct LIBMTP_error_t
typedef struct
LIBMTP_allowed_values_struct LIBMTP_allowed_values_t"
typedef struct
LIBMTP_device_extension_struct LIBMTP_device_extension_t"
typedef struct
LIBMTP_mtpdevice_struct LIBMTP_mtpdevice_t"
typedef struct
LIBMTP_file_struct LIBMTP_file_t
typedef struct
LIBMTP_track_struct LIBMTP_track_t
typedef struct
LIBMTP_playlist_struct LIBMTP_playlist_t"
typedef struct
LIBMTP_album_struct LIBMTP_album_t
typedef struct
LIBMTP_folder_struct LIBMTP_folder_t
typedef struct LIBMTP_object_struct
LIBMTP_object_t
typedef struct
LIBMTP_filesampledata_struct LIBMTP_filesampledata_t"
typedef struct
LIBMTP_devicestorage_struct LIBMTP_devicestorage_t"
typedef int(*
LIBMTP_progressfunc_t )(uint64_t const sent, uint64_t const
total, void const *const data)
typedef uint16_t(*
MTPDataGetFunc )(void *params, void *priv, uint32_t
wantlen, unsigned char *data, uint32_t *gotlen)
typedef uint16_t(*
MTPDataPutFunc )(void *params, void *priv, uint32_t
sendlen, unsigned char *data, uint32_t *putlen)
Enumerations¶
enum
LIBMTP_filetype_t {
LIBMTP_FILETYPE_FOLDER,
LIBMTP_FILETYPE_WAV,
LIBMTP_FILETYPE_MP3,
LIBMTP_FILETYPE_WMA,
LIBMTP_FILETYPE_OGG,
LIBMTP_FILETYPE_AUDIBLE,
LIBMTP_FILETYPE_MP4,
LIBMTP_FILETYPE_UNDEF_AUDIO,
LIBMTP_FILETYPE_WMV,
LIBMTP_FILETYPE_AVI,
LIBMTP_FILETYPE_MPEG,
LIBMTP_FILETYPE_ASF,
LIBMTP_FILETYPE_QT,
LIBMTP_FILETYPE_UNDEF_VIDEO,
LIBMTP_FILETYPE_JPEG,
LIBMTP_FILETYPE_JFIF,
LIBMTP_FILETYPE_TIFF,
LIBMTP_FILETYPE_BMP,
LIBMTP_FILETYPE_GIF,
LIBMTP_FILETYPE_PICT,
LIBMTP_FILETYPE_PNG,
LIBMTP_FILETYPE_VCALENDAR1,
LIBMTP_FILETYPE_VCALENDAR2,
LIBMTP_FILETYPE_VCARD2,
LIBMTP_FILETYPE_VCARD3,
LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT,
LIBMTP_FILETYPE_WINEXEC,
LIBMTP_FILETYPE_TEXT,
LIBMTP_FILETYPE_HTML,
LIBMTP_FILETYPE_FIRMWARE,
LIBMTP_FILETYPE_AAC,
LIBMTP_FILETYPE_MEDIACARD,
LIBMTP_FILETYPE_FLAC,
LIBMTP_FILETYPE_MP2,
LIBMTP_FILETYPE_M4A,
LIBMTP_FILETYPE_DOC,
LIBMTP_FILETYPE_XML,
LIBMTP_FILETYPE_XLS,
LIBMTP_FILETYPE_PPT,
LIBMTP_FILETYPE_MHT,
LIBMTP_FILETYPE_JP2,
LIBMTP_FILETYPE_JPX,
LIBMTP_FILETYPE_ALBUM,
LIBMTP_FILETYPE_PLAYLIST,
LIBMTP_FILETYPE_UNKNOWN }
enum
LIBMTP_property_t {
LIBMTP_PROPERTY_StorageID,
LIBMTP_PROPERTY_ObjectFormat,
LIBMTP_PROPERTY_ProtectionStatus,
LIBMTP_PROPERTY_ObjectSize,
LIBMTP_PROPERTY_AssociationType,
LIBMTP_PROPERTY_AssociationDesc,
LIBMTP_PROPERTY_ObjectFileName,
LIBMTP_PROPERTY_DateCreated,
LIBMTP_PROPERTY_DateModified,
LIBMTP_PROPERTY_Keywords,
LIBMTP_PROPERTY_ParentObject,
LIBMTP_PROPERTY_AllowedFolderContents,
LIBMTP_PROPERTY_Hidden,
LIBMTP_PROPERTY_SystemObject,
LIBMTP_PROPERTY_PersistantUniqueObjectIdentifier,
LIBMTP_PROPERTY_SyncID,
LIBMTP_PROPERTY_PropertyBag,
LIBMTP_PROPERTY_Name,
LIBMTP_PROPERTY_CreatedBy,
LIBMTP_PROPERTY_Artist,
LIBMTP_PROPERTY_DateAuthored,
LIBMTP_PROPERTY_Description,
LIBMTP_PROPERTY_URLReference,
LIBMTP_PROPERTY_LanguageLocale,
LIBMTP_PROPERTY_CopyrightInformation,
LIBMTP_PROPERTY_Source,
LIBMTP_PROPERTY_OriginLocation,
LIBMTP_PROPERTY_DateAdded,
LIBMTP_PROPERTY_NonConsumable,
LIBMTP_PROPERTY_CorruptOrUnplayable,
LIBMTP_PROPERTY_ProducerSerialNumber,
LIBMTP_PROPERTY_RepresentativeSampleFormat,
LIBMTP_PROPERTY_RepresentativeSampleSize,
LIBMTP_PROPERTY_RepresentativeSampleHeight,
LIBMTP_PROPERTY_RepresentativeSampleWidth,
LIBMTP_PROPERTY_RepresentativeSampleDuration,
LIBMTP_PROPERTY_RepresentativeSampleData,
LIBMTP_PROPERTY_Width,
LIBMTP_PROPERTY_Height,
LIBMTP_PROPERTY_Duration,
LIBMTP_PROPERTY_Rating,
LIBMTP_PROPERTY_Track,
LIBMTP_PROPERTY_Genre,
LIBMTP_PROPERTY_Credits,
LIBMTP_PROPERTY_Lyrics,
LIBMTP_PROPERTY_SubscriptionContentID,
LIBMTP_PROPERTY_ProducedBy,
LIBMTP_PROPERTY_UseCount,
LIBMTP_PROPERTY_SkipCount,
LIBMTP_PROPERTY_LastAccessed,
LIBMTP_PROPERTY_ParentalRating,
LIBMTP_PROPERTY_MetaGenre,
LIBMTP_PROPERTY_Composer,
LIBMTP_PROPERTY_EffectiveRating,
LIBMTP_PROPERTY_Subtitle,
LIBMTP_PROPERTY_OriginalReleaseDate,
LIBMTP_PROPERTY_AlbumName,
LIBMTP_PROPERTY_AlbumArtist,
LIBMTP_PROPERTY_Mood,
LIBMTP_PROPERTY_DRMStatus,
LIBMTP_PROPERTY_SubDescription,
LIBMTP_PROPERTY_IsCropped,
LIBMTP_PROPERTY_IsColorCorrected,
LIBMTP_PROPERTY_ImageBitDepth,
LIBMTP_PROPERTY_Fnumber,
LIBMTP_PROPERTY_ExposureTime,
LIBMTP_PROPERTY_ExposureIndex,
LIBMTP_PROPERTY_DisplayName,
LIBMTP_PROPERTY_BodyText,
LIBMTP_PROPERTY_Subject,
LIBMTP_PROPERTY_Priority,
LIBMTP_PROPERTY_GivenName,
LIBMTP_PROPERTY_MiddleNames,
LIBMTP_PROPERTY_FamilyName,
LIBMTP_PROPERTY_Prefix,
LIBMTP_PROPERTY_Suffix,
LIBMTP_PROPERTY_PhoneticGivenName,
LIBMTP_PROPERTY_PhoneticFamilyName,
LIBMTP_PROPERTY_EmailPrimary,
LIBMTP_PROPERTY_EmailPersonal1,
LIBMTP_PROPERTY_EmailPersonal2,
LIBMTP_PROPERTY_EmailBusiness1,
LIBMTP_PROPERTY_EmailBusiness2,
LIBMTP_PROPERTY_EmailOthers,
LIBMTP_PROPERTY_PhoneNumberPrimary,
LIBMTP_PROPERTY_PhoneNumberPersonal,
LIBMTP_PROPERTY_PhoneNumberPersonal2,
LIBMTP_PROPERTY_PhoneNumberBusiness,
LIBMTP_PROPERTY_PhoneNumberBusiness2,
LIBMTP_PROPERTY_PhoneNumberMobile,
LIBMTP_PROPERTY_PhoneNumberMobile2,
LIBMTP_PROPERTY_FaxNumberPrimary,
LIBMTP_PROPERTY_FaxNumberPersonal,
LIBMTP_PROPERTY_FaxNumberBusiness,
LIBMTP_PROPERTY_PagerNumber,
LIBMTP_PROPERTY_PhoneNumberOthers,
LIBMTP_PROPERTY_PrimaryWebAddress,
LIBMTP_PROPERTY_PersonalWebAddress,
LIBMTP_PROPERTY_BusinessWebAddress,
LIBMTP_PROPERTY_InstantMessengerAddress,
LIBMTP_PROPERTY_InstantMessengerAddress2,
LIBMTP_PROPERTY_InstantMessengerAddress3,
LIBMTP_PROPERTY_PostalAddressPersonalFull,
LIBMTP_PROPERTY_PostalAddressPersonalFullLine1,
LIBMTP_PROPERTY_PostalAddressPersonalFullLine2,
LIBMTP_PROPERTY_PostalAddressPersonalFullCity,
LIBMTP_PROPERTY_PostalAddressPersonalFullRegion,
LIBMTP_PROPERTY_PostalAddressPersonalFullPostalCode,
LIBMTP_PROPERTY_PostalAddressPersonalFullCountry,
LIBMTP_PROPERTY_PostalAddressBusinessFull,
LIBMTP_PROPERTY_PostalAddressBusinessLine1,
LIBMTP_PROPERTY_PostalAddressBusinessLine2,
LIBMTP_PROPERTY_PostalAddressBusinessCity,
LIBMTP_PROPERTY_PostalAddressBusinessRegion,
LIBMTP_PROPERTY_PostalAddressBusinessPostalCode,
LIBMTP_PROPERTY_PostalAddressBusinessCountry,
LIBMTP_PROPERTY_PostalAddressOtherFull,
LIBMTP_PROPERTY_PostalAddressOtherLine1,
LIBMTP_PROPERTY_PostalAddressOtherLine2,
LIBMTP_PROPERTY_PostalAddressOtherCity,
LIBMTP_PROPERTY_PostalAddressOtherRegion,
LIBMTP_PROPERTY_PostalAddressOtherPostalCode,
LIBMTP_PROPERTY_PostalAddressOtherCountry,
LIBMTP_PROPERTY_OrganizationName,
LIBMTP_PROPERTY_PhoneticOrganizationName,
LIBMTP_PROPERTY_Role,
LIBMTP_PROPERTY_Birthdate,
LIBMTP_PROPERTY_MessageTo,
LIBMTP_PROPERTY_MessageCC,
LIBMTP_PROPERTY_MessageBCC,
LIBMTP_PROPERTY_MessageRead,
LIBMTP_PROPERTY_MessageReceivedTime,
LIBMTP_PROPERTY_MessageSender,
LIBMTP_PROPERTY_ActivityBeginTime,
LIBMTP_PROPERTY_ActivityEndTime,
LIBMTP_PROPERTY_ActivityLocation,
LIBMTP_PROPERTY_ActivityRequiredAttendees,
LIBMTP_PROPERTY_ActivityOptionalAttendees,
LIBMTP_PROPERTY_ActivityResources,
LIBMTP_PROPERTY_ActivityAccepted,
LIBMTP_PROPERTY_Owner,
LIBMTP_PROPERTY_Editor,
LIBMTP_PROPERTY_Webmaster,
LIBMTP_PROPERTY_URLSource,
LIBMTP_PROPERTY_URLDestination,
LIBMTP_PROPERTY_TimeBookmark,
LIBMTP_PROPERTY_ObjectBookmark,
LIBMTP_PROPERTY_ByteBookmark,
LIBMTP_PROPERTY_LastBuildDate,
LIBMTP_PROPERTY_TimetoLive,
LIBMTP_PROPERTY_MediaGUID,
LIBMTP_PROPERTY_TotalBitRate,
LIBMTP_PROPERTY_BitRateType,
LIBMTP_PROPERTY_SampleRate,
LIBMTP_PROPERTY_NumberOfChannels,
LIBMTP_PROPERTY_AudioBitDepth,
LIBMTP_PROPERTY_ScanDepth,
LIBMTP_PROPERTY_AudioWAVECodec,
LIBMTP_PROPERTY_AudioBitRate,
LIBMTP_PROPERTY_VideoFourCCCodec,
LIBMTP_PROPERTY_VideoBitRate,
LIBMTP_PROPERTY_FramesPerThousandSeconds,
LIBMTP_PROPERTY_KeyFrameDistance,
LIBMTP_PROPERTY_BufferSize,
LIBMTP_PROPERTY_EncodingQuality,
LIBMTP_PROPERTY_EncodingProfile,
LIBMTP_PROPERTY_BuyFlag,
LIBMTP_PROPERTY_UNKNOWN }
enum
LIBMTP_datatype_t {
LIBMTP_DATATYPE_INT8,
LIBMTP_DATATYPE_UINT8,
LIBMTP_DATATYPE_INT16,
LIBMTP_DATATYPE_UINT16,
LIBMTP_DATATYPE_INT32,
LIBMTP_DATATYPE_UINT32,
LIBMTP_DATATYPE_INT64,
LIBMTP_DATATYPE_UINT64 }
enum
LIBMTP_error_number_t {
LIBMTP_ERROR_NONE,
LIBMTP_ERROR_GENERAL,
LIBMTP_ERROR_PTP_LAYER,
LIBMTP_ERROR_USB_LAYER,
LIBMTP_ERROR_MEMORY_ALLOCATION,
LIBMTP_ERROR_NO_DEVICE_ATTACHED,
LIBMTP_ERROR_STORAGE_FULL,
LIBMTP_ERROR_CONNECTING,
LIBMTP_ERROR_CANCELLED }
Detailed Description¶
Macro Definition Documentation¶
#define LIBMTP_DEBUG_NONE 0x00¶
The debug flags defined here are the external flags used by the libmtp library
interface.
#define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)¶
Value:
(a == LIBMTP_FILETYPE_VCARD2 ||a == LIBMTP_FILETYPE_VCARD3)
Addressbook and Business card filetype test
#define LIBMTP_FILETYPE_IS_AUDIO(a)¶
Value:
(a == LIBMTP_FILETYPE_WAV || a == LIBMTP_FILETYPE_MP3 || a == LIBMTP_FILETYPE_MP2 || a == LIBMTP_FILETYPE_WMA || a == LIBMTP_FILETYPE_OGG || a == LIBMTP_FILETYPE_FLAC || a == LIBMTP_FILETYPE_AAC || a == LIBMTP_FILETYPE_M4A || a == LIBMTP_FILETYPE_AUDIBLE || a == LIBMTP_FILETYPE_UNDEF_AUDIO)
Audio filetype test.
For filetypes that can be either audio or video, use
LIBMTP_FILETYPE_IS_AUDIOVIDEO
#define LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)¶
Value:
(a == LIBMTP_FILETYPE_MP4 || a == LIBMTP_FILETYPE_ASF || a == LIBMTP_FILETYPE_QT)
Audio andor video filetype test.
#define LIBMTP_FILETYPE_IS_CALENDAR(a)¶
Value:
(a == LIBMTP_FILETYPE_VCALENDAR1 ||a == LIBMTP_FILETYPE_VCALENDAR2)
Calendar and Appointment filetype test
#define LIBMTP_FILETYPE_IS_IMAGE(a)¶
Value:
(a == LIBMTP_FILETYPE_JPEG ||a == LIBMTP_FILETYPE_JFIF ||a == LIBMTP_FILETYPE_TIFF ||a == LIBMTP_FILETYPE_BMP ||a == LIBMTP_FILETYPE_GIF ||a == LIBMTP_FILETYPE_PICT ||a == LIBMTP_FILETYPE_PNG ||a == LIBMTP_FILETYPE_JP2 ||a == LIBMTP_FILETYPE_JPX ||a == LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT)
Image filetype test
#define LIBMTP_FILETYPE_IS_TRACK(a)¶
Value:
(LIBMTP_FILETYPE_IS_AUDIO(a) || LIBMTP_FILETYPE_IS_VIDEO(a) || LIBMTP_FILETYPE_IS_AUDIOVIDEO(a))
Test if filetype is a track. Use this to determine if the File API or Track API
should be used to upload or download an object.
Examples:
sendtr.c.
Referenced by LIBMTP_Get_Tracklisting_With_Callback_For_Storage(),
LIBMTP_Get_Trackmetadata(), LIBMTP_Send_Track_From_File_Descriptor(), and
LIBMTP_Send_Track_From_Handler().
#define LIBMTP_FILETYPE_IS_VIDEO(a)¶
Value:
(a == LIBMTP_FILETYPE_WMV || a == LIBMTP_FILETYPE_AVI || a == LIBMTP_FILETYPE_MPEG || a == LIBMTP_FILETYPE_UNDEF_VIDEO)
Video filetype test.
For filetypes that can be either audio or video, use
LIBMTP_FILETYPE_IS_AUDIOVIDEO
#define LIBMTP_HANDLER_RETURN_OK 0¶
The return codes for the get/put functions
Typedef Documentation¶
typedef struct LIBMTP_album_struct
LIBMTP_album_t¶
See Also:
LIBMTP_album_struct
typedef struct LIBMTP_allowed_values_struct
LIBMTP_allowed_values_t¶
See Also:
LIBMTP_allowed_values_struct
typedef struct LIBMTP_device_entry_struct
LIBMTP_device_entry_t¶
See Also:
LIBMTP_device_entry_struct
typedef struct LIBMTP_devicestorage_struct
LIBMTP_devicestorage_t¶
See Also:
LIBMTP_devicestorage_t
typedef struct LIBMTP_error_struct
LIBMTP_error_t¶
See Also:
LIBMTP_error_struct
typedef struct LIBMTP_file_struct
LIBMTP_file_t¶
See Also:
LIBMTP_file_struct
typedef struct LIBMTP_filesampledata_struct
LIBMTP_filesampledata_t¶
See Also:
LIBMTP_filesample_t
typedef struct LIBMTP_folder_struct
LIBMTP_folder_t¶
See Also:
LIBMTP_folder_t
typedef struct LIBMTP_mtpdevice_struct
LIBMTP_mtpdevice_t¶
<
See Also:
LIBMTP_device_extension_struct
LIBMTP_mtpdevice_struct
typedef struct LIBMTP_object_struct LIBMTP_object_t¶
See Also:
LIBMTP_object_t
typedef struct LIBMTP_playlist_struct
LIBMTP_playlist_t¶
See Also:
LIBMTP_playlist_struct
typedef int(* LIBMTP_progressfunc_t)(uint64_t const sent,
uint64_t const total, void const *const data)¶
The callback type definition. Notice that a progress percentage ratio is easy to
calculate by dividing sent by total.
Parameters:
sent the number of bytes sent so far
total the total number of bytes to send
data a user-defined dereferencable pointer
Returns:
if anything else than 0 is returned, the
current transfer will be interrupted / cancelled.
typedef struct LIBMTP_raw_device_struct
LIBMTP_raw_device_t¶
See Also:
LIBMTP_raw_device_struct
typedef struct LIBMTP_track_struct
LIBMTP_track_t¶
See Also:
LIBMTP_track_struct
typedef uint16_t(* MTPDataGetFunc)(void *params, void *priv,
uint32_t wantlen, unsigned char *data, uint32_t *gotlen)¶
Callback function for get by handler function
Parameters:
params the device parameters
priv a user-defined dereferencable pointer
wantlen the number of bytes wanted
data a buffer to write the data to
gotlen pointer to the number of bytes actually written to data
Returns:
LIBMTP_HANDLER_RETURN_OK if successful,
LIBMTP_HANDLER_RETURN_ERROR on error or LIBMTP_HANDLER_RETURN_CANCEL to cancel
the transfer
typedef uint16_t(* MTPDataPutFunc)(void *params, void *priv,
uint32_t sendlen, unsigned char *data, uint32_t *putlen)¶
Callback function for put by handler function
Parameters:
params the device parameters
priv a user-defined dereferencable pointer
sendlen the number of bytes available
data a buffer to read the data from
putlen pointer to the number of bytes actually read from data
Returns:
LIBMTP_HANDLER_RETURN_OK if successful,
LIBMTP_HANDLER_RETURN_ERROR on error or LIBMTP_HANDLER_RETURN_CANCEL to cancel
the transfer
Enumeration Type Documentation¶
enum LIBMTP_datatype_t¶
These are the data types
enum LIBMTP_error_number_t¶
These are the numbered error codes. You can also get string representations for
errors.
enum LIBMTP_filetype_t¶
The filetypes defined here are the external types used by the libmtp library
interface. The types used internally as PTP-defined enumerator types is
something different.
enum LIBMTP_property_t¶
The properties defined here are the external types used by the libmtp library
interface.
Author¶
Generated automatically by Doxygen for libmtp from the source code.