dwww Home | Manual pages | Find package

types(3)                            libmtp                            types(3)

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_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_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_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_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.

Version 1.1.19                  Thu Mar 24 2022                       types(3)

Generated by dwww version 1.14 on Mon Feb 3 07:40:56 CET 2025.