Provided by: libmtp-doc_1.1.20-1_all bug

NAME

       libmtp - types

SYNOPSIS

   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_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_devicecap_t { LIBMTP_DEVICECAP_GetPartialObject,
           LIBMTP_DEVICECAP_SendPartialObject, LIBMTP_DEVICECAP_EditObjects,
           LIBMTP_DEVICECAP_MoveObject, LIBMTP_DEVICECAP_CopyObject }
       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.

       Please keep this list in sync with libmtp.c.

   #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, and tracks.c.

   #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_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_devicecap_t
       These are device capabilities

       Enumerator

       LIBMTP_DEVICECAP_GetPartialObject
              This capability tells whether you can call the function getting partial objects,

       See also
           LIBMTP_GetPartialObject()

       LIBMTP_DEVICECAP_SendPartialObject
              This capability tells whether you can call the function sending partial objects.

       See also
           LIBMTP_SendPartialObject()

       LIBMTP_DEVICECAP_EditObjects
              This capability tells whether you can call the functions editing objects in-place
              on a device.

       See also
           LIBMTP_BeginEditObject()

           LIBMTP_EndEditObject()

           LIBMTP_TruncateObject()

       LIBMTP_DEVICECAP_MoveObject
              This capability tells whether you can call the function to move an object,

       See also
           LIBMTP_MoveObject()

       LIBMTP_DEVICECAP_CopyObject
              This capability tells whether you can call the function to copy an object,

       See also
           LIBMTP_CopyObject()

   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.