.TH "types" 3 "Version 1.1.21" "libmtp" \" -*- nroff -*- .ad l .nh .SH NAME libmtp \- types .SH SYNOPSIS .br .PP .SS "Macros" .in +1c .ti -1c .RI "#define \fBLIBMTP_DEBUG_NONE\fP 0x00" .br .ti -1c .RI "#define \fBLIBMTP_DEBUG_PTP\fP 0x01" .br .ti -1c .RI "#define \fBLIBMTP_DEBUG_PLST\fP 0x02" .br .ti -1c .RI "#define \fBLIBMTP_DEBUG_USB\fP 0x04" .br .ti -1c .RI "#define \fBLIBMTP_DEBUG_DATA\fP 0x08" .br .ti -1c .RI "#define \fBLIBMTP_DEBUG_ALL\fP 0xFF" .br .ti -1c .RI "#define \fBLIBMTP_FILETYPE_IS_AUDIO\fP(a)" .br .ti -1c .RI "#define \fBLIBMTP_FILETYPE_IS_VIDEO\fP(a)" .br .ti -1c .RI "#define \fBLIBMTP_FILETYPE_IS_AUDIOVIDEO\fP(a)" .br .ti -1c .RI "#define \fBLIBMTP_FILETYPE_IS_TRACK\fP(a)" .br .ti -1c .RI "#define \fBLIBMTP_FILETYPE_IS_IMAGE\fP(a)" .br .ti -1c .RI "#define \fBLIBMTP_FILETYPE_IS_ADDRESSBOOK\fP(a)" .br .ti -1c .RI "#define \fBLIBMTP_FILETYPE_IS_CALENDAR\fP(a)" .br .ti -1c .RI "#define \fBLIBMTP_HANDLER_RETURN_OK\fP 0" .br .ti -1c .RI "#define \fBLIBMTP_HANDLER_RETURN_ERROR\fP 1" .br .ti -1c .RI "#define \fBLIBMTP_HANDLER_RETURN_CANCEL\fP 2" .br .in -1c .SS "Typedefs" .in +1c .ti -1c .RI "typedef struct \fBLIBMTP_device_entry_struct\fP \fBLIBMTP_device_entry_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_raw_device_struct\fP \fBLIBMTP_raw_device_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_error_struct\fP \fBLIBMTP_error_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_allowed_values_struct\fP \fBLIBMTP_allowed_values_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_device_extension_struct\fP \fBLIBMTP_device_extension_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_mtpdevice_struct\fP \fBLIBMTP_mtpdevice_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_file_struct\fP \fBLIBMTP_file_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_track_struct\fP \fBLIBMTP_track_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_playlist_struct\fP \fBLIBMTP_playlist_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_album_struct\fP \fBLIBMTP_album_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_folder_struct\fP \fBLIBMTP_folder_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_filesampledata_struct\fP \fBLIBMTP_filesampledata_t\fP" .br .ti -1c .RI "typedef struct \fBLIBMTP_devicestorage_struct\fP \fBLIBMTP_devicestorage_t\fP" .br .ti -1c .RI "typedef int(* \fBLIBMTP_progressfunc_t\fP) (uint64_t const sent, uint64_t const total, void const *const data)" .br .ti -1c .RI "typedef uint16_t(* \fBMTPDataGetFunc\fP) (void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)" .br .ti -1c .RI "typedef uint16_t(* \fBMTPDataPutFunc\fP) (void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)" .br .in -1c .SS "Enumerations" .in +1c .ti -1c .RI "enum \fBLIBMTP_filetype_t\fP { \fBLIBMTP_FILETYPE_FOLDER\fP, \fBLIBMTP_FILETYPE_WAV\fP, \fBLIBMTP_FILETYPE_MP3\fP, \fBLIBMTP_FILETYPE_WMA\fP, \fBLIBMTP_FILETYPE_OGG\fP, \fBLIBMTP_FILETYPE_AUDIBLE\fP, \fBLIBMTP_FILETYPE_MP4\fP, \fBLIBMTP_FILETYPE_UNDEF_AUDIO\fP, \fBLIBMTP_FILETYPE_WMV\fP, \fBLIBMTP_FILETYPE_AVI\fP, \fBLIBMTP_FILETYPE_MPEG\fP, \fBLIBMTP_FILETYPE_ASF\fP, \fBLIBMTP_FILETYPE_QT\fP, \fBLIBMTP_FILETYPE_UNDEF_VIDEO\fP, \fBLIBMTP_FILETYPE_JPEG\fP, \fBLIBMTP_FILETYPE_JFIF\fP, \fBLIBMTP_FILETYPE_TIFF\fP, \fBLIBMTP_FILETYPE_BMP\fP, \fBLIBMTP_FILETYPE_GIF\fP, \fBLIBMTP_FILETYPE_PICT\fP, \fBLIBMTP_FILETYPE_PNG\fP, \fBLIBMTP_FILETYPE_VCALENDAR1\fP, \fBLIBMTP_FILETYPE_VCALENDAR2\fP, \fBLIBMTP_FILETYPE_VCARD2\fP, \fBLIBMTP_FILETYPE_VCARD3\fP, \fBLIBMTP_FILETYPE_WINDOWSIMAGEFORMAT\fP, \fBLIBMTP_FILETYPE_WINEXEC\fP, \fBLIBMTP_FILETYPE_TEXT\fP, \fBLIBMTP_FILETYPE_HTML\fP, \fBLIBMTP_FILETYPE_FIRMWARE\fP, \fBLIBMTP_FILETYPE_AAC\fP, \fBLIBMTP_FILETYPE_MEDIACARD\fP, \fBLIBMTP_FILETYPE_FLAC\fP, \fBLIBMTP_FILETYPE_MP2\fP, \fBLIBMTP_FILETYPE_M4A\fP, \fBLIBMTP_FILETYPE_DOC\fP, \fBLIBMTP_FILETYPE_XML\fP, \fBLIBMTP_FILETYPE_XLS\fP, \fBLIBMTP_FILETYPE_PPT\fP, \fBLIBMTP_FILETYPE_MHT\fP, \fBLIBMTP_FILETYPE_JP2\fP, \fBLIBMTP_FILETYPE_JPX\fP, \fBLIBMTP_FILETYPE_ALBUM\fP, \fBLIBMTP_FILETYPE_PLAYLIST\fP, \fBLIBMTP_FILETYPE_UNKNOWN\fP }" .br .ti -1c .RI "enum \fBLIBMTP_property_t\fP { \fBLIBMTP_PROPERTY_StorageID\fP, \fBLIBMTP_PROPERTY_ObjectFormat\fP, \fBLIBMTP_PROPERTY_ProtectionStatus\fP, \fBLIBMTP_PROPERTY_ObjectSize\fP, \fBLIBMTP_PROPERTY_AssociationType\fP, \fBLIBMTP_PROPERTY_AssociationDesc\fP, \fBLIBMTP_PROPERTY_ObjectFileName\fP, \fBLIBMTP_PROPERTY_DateCreated\fP, \fBLIBMTP_PROPERTY_DateModified\fP, \fBLIBMTP_PROPERTY_Keywords\fP, \fBLIBMTP_PROPERTY_ParentObject\fP, \fBLIBMTP_PROPERTY_AllowedFolderContents\fP, \fBLIBMTP_PROPERTY_Hidden\fP, \fBLIBMTP_PROPERTY_SystemObject\fP, \fBLIBMTP_PROPERTY_PersistantUniqueObjectIdentifier\fP, \fBLIBMTP_PROPERTY_SyncID\fP, \fBLIBMTP_PROPERTY_PropertyBag\fP, \fBLIBMTP_PROPERTY_Name\fP, \fBLIBMTP_PROPERTY_CreatedBy\fP, \fBLIBMTP_PROPERTY_Artist\fP, \fBLIBMTP_PROPERTY_DateAuthored\fP, \fBLIBMTP_PROPERTY_Description\fP, \fBLIBMTP_PROPERTY_URLReference\fP, \fBLIBMTP_PROPERTY_LanguageLocale\fP, \fBLIBMTP_PROPERTY_CopyrightInformation\fP, \fBLIBMTP_PROPERTY_Source\fP, \fBLIBMTP_PROPERTY_OriginLocation\fP, \fBLIBMTP_PROPERTY_DateAdded\fP, \fBLIBMTP_PROPERTY_NonConsumable\fP, \fBLIBMTP_PROPERTY_CorruptOrUnplayable\fP, \fBLIBMTP_PROPERTY_ProducerSerialNumber\fP, \fBLIBMTP_PROPERTY_RepresentativeSampleFormat\fP, \fBLIBMTP_PROPERTY_RepresentativeSampleSize\fP, \fBLIBMTP_PROPERTY_RepresentativeSampleHeight\fP, \fBLIBMTP_PROPERTY_RepresentativeSampleWidth\fP, \fBLIBMTP_PROPERTY_RepresentativeSampleDuration\fP, \fBLIBMTP_PROPERTY_RepresentativeSampleData\fP, \fBLIBMTP_PROPERTY_Width\fP, \fBLIBMTP_PROPERTY_Height\fP, \fBLIBMTP_PROPERTY_Duration\fP, \fBLIBMTP_PROPERTY_Rating\fP, \fBLIBMTP_PROPERTY_Track\fP, \fBLIBMTP_PROPERTY_Genre\fP, \fBLIBMTP_PROPERTY_Credits\fP, \fBLIBMTP_PROPERTY_Lyrics\fP, \fBLIBMTP_PROPERTY_SubscriptionContentID\fP, \fBLIBMTP_PROPERTY_ProducedBy\fP, \fBLIBMTP_PROPERTY_UseCount\fP, \fBLIBMTP_PROPERTY_SkipCount\fP, \fBLIBMTP_PROPERTY_LastAccessed\fP, \fBLIBMTP_PROPERTY_ParentalRating\fP, \fBLIBMTP_PROPERTY_MetaGenre\fP, \fBLIBMTP_PROPERTY_Composer\fP, \fBLIBMTP_PROPERTY_EffectiveRating\fP, \fBLIBMTP_PROPERTY_Subtitle\fP, \fBLIBMTP_PROPERTY_OriginalReleaseDate\fP, \fBLIBMTP_PROPERTY_AlbumName\fP, \fBLIBMTP_PROPERTY_AlbumArtist\fP, \fBLIBMTP_PROPERTY_Mood\fP, \fBLIBMTP_PROPERTY_DRMStatus\fP, \fBLIBMTP_PROPERTY_SubDescription\fP, \fBLIBMTP_PROPERTY_IsCropped\fP, \fBLIBMTP_PROPERTY_IsColorCorrected\fP, \fBLIBMTP_PROPERTY_ImageBitDepth\fP, \fBLIBMTP_PROPERTY_Fnumber\fP, \fBLIBMTP_PROPERTY_ExposureTime\fP, \fBLIBMTP_PROPERTY_ExposureIndex\fP, \fBLIBMTP_PROPERTY_DisplayName\fP, \fBLIBMTP_PROPERTY_BodyText\fP, \fBLIBMTP_PROPERTY_Subject\fP, \fBLIBMTP_PROPERTY_Priority\fP, \fBLIBMTP_PROPERTY_GivenName\fP, \fBLIBMTP_PROPERTY_MiddleNames\fP, \fBLIBMTP_PROPERTY_FamilyName\fP, \fBLIBMTP_PROPERTY_Prefix\fP, \fBLIBMTP_PROPERTY_Suffix\fP, \fBLIBMTP_PROPERTY_PhoneticGivenName\fP, \fBLIBMTP_PROPERTY_PhoneticFamilyName\fP, \fBLIBMTP_PROPERTY_EmailPrimary\fP, \fBLIBMTP_PROPERTY_EmailPersonal1\fP, \fBLIBMTP_PROPERTY_EmailPersonal2\fP, \fBLIBMTP_PROPERTY_EmailBusiness1\fP, \fBLIBMTP_PROPERTY_EmailBusiness2\fP, \fBLIBMTP_PROPERTY_EmailOthers\fP, \fBLIBMTP_PROPERTY_PhoneNumberPrimary\fP, \fBLIBMTP_PROPERTY_PhoneNumberPersonal\fP, \fBLIBMTP_PROPERTY_PhoneNumberPersonal2\fP, \fBLIBMTP_PROPERTY_PhoneNumberBusiness\fP, \fBLIBMTP_PROPERTY_PhoneNumberBusiness2\fP, \fBLIBMTP_PROPERTY_PhoneNumberMobile\fP, \fBLIBMTP_PROPERTY_PhoneNumberMobile2\fP, \fBLIBMTP_PROPERTY_FaxNumberPrimary\fP, \fBLIBMTP_PROPERTY_FaxNumberPersonal\fP, \fBLIBMTP_PROPERTY_FaxNumberBusiness\fP, \fBLIBMTP_PROPERTY_PagerNumber\fP, \fBLIBMTP_PROPERTY_PhoneNumberOthers\fP, \fBLIBMTP_PROPERTY_PrimaryWebAddress\fP, \fBLIBMTP_PROPERTY_PersonalWebAddress\fP, \fBLIBMTP_PROPERTY_BusinessWebAddress\fP, \fBLIBMTP_PROPERTY_InstantMessengerAddress\fP, \fBLIBMTP_PROPERTY_InstantMessengerAddress2\fP, \fBLIBMTP_PROPERTY_InstantMessengerAddress3\fP, \fBLIBMTP_PROPERTY_PostalAddressPersonalFull\fP, \fBLIBMTP_PROPERTY_PostalAddressPersonalFullLine1\fP, \fBLIBMTP_PROPERTY_PostalAddressPersonalFullLine2\fP, \fBLIBMTP_PROPERTY_PostalAddressPersonalFullCity\fP, \fBLIBMTP_PROPERTY_PostalAddressPersonalFullRegion\fP, \fBLIBMTP_PROPERTY_PostalAddressPersonalFullPostalCode\fP, \fBLIBMTP_PROPERTY_PostalAddressPersonalFullCountry\fP, \fBLIBMTP_PROPERTY_PostalAddressBusinessFull\fP, \fBLIBMTP_PROPERTY_PostalAddressBusinessLine1\fP, \fBLIBMTP_PROPERTY_PostalAddressBusinessLine2\fP, \fBLIBMTP_PROPERTY_PostalAddressBusinessCity\fP, \fBLIBMTP_PROPERTY_PostalAddressBusinessRegion\fP, \fBLIBMTP_PROPERTY_PostalAddressBusinessPostalCode\fP, \fBLIBMTP_PROPERTY_PostalAddressBusinessCountry\fP, \fBLIBMTP_PROPERTY_PostalAddressOtherFull\fP, \fBLIBMTP_PROPERTY_PostalAddressOtherLine1\fP, \fBLIBMTP_PROPERTY_PostalAddressOtherLine2\fP, \fBLIBMTP_PROPERTY_PostalAddressOtherCity\fP, \fBLIBMTP_PROPERTY_PostalAddressOtherRegion\fP, \fBLIBMTP_PROPERTY_PostalAddressOtherPostalCode\fP, \fBLIBMTP_PROPERTY_PostalAddressOtherCountry\fP, \fBLIBMTP_PROPERTY_OrganizationName\fP, \fBLIBMTP_PROPERTY_PhoneticOrganizationName\fP, \fBLIBMTP_PROPERTY_Role\fP, \fBLIBMTP_PROPERTY_Birthdate\fP, \fBLIBMTP_PROPERTY_MessageTo\fP, \fBLIBMTP_PROPERTY_MessageCC\fP, \fBLIBMTP_PROPERTY_MessageBCC\fP, \fBLIBMTP_PROPERTY_MessageRead\fP, \fBLIBMTP_PROPERTY_MessageReceivedTime\fP, \fBLIBMTP_PROPERTY_MessageSender\fP, \fBLIBMTP_PROPERTY_ActivityBeginTime\fP, \fBLIBMTP_PROPERTY_ActivityEndTime\fP, \fBLIBMTP_PROPERTY_ActivityLocation\fP, \fBLIBMTP_PROPERTY_ActivityRequiredAttendees\fP, \fBLIBMTP_PROPERTY_ActivityOptionalAttendees\fP, \fBLIBMTP_PROPERTY_ActivityResources\fP, \fBLIBMTP_PROPERTY_ActivityAccepted\fP, \fBLIBMTP_PROPERTY_Owner\fP, \fBLIBMTP_PROPERTY_Editor\fP, \fBLIBMTP_PROPERTY_Webmaster\fP, \fBLIBMTP_PROPERTY_URLSource\fP, \fBLIBMTP_PROPERTY_URLDestination\fP, \fBLIBMTP_PROPERTY_TimeBookmark\fP, \fBLIBMTP_PROPERTY_ObjectBookmark\fP, \fBLIBMTP_PROPERTY_ByteBookmark\fP, \fBLIBMTP_PROPERTY_LastBuildDate\fP, \fBLIBMTP_PROPERTY_TimetoLive\fP, \fBLIBMTP_PROPERTY_MediaGUID\fP, \fBLIBMTP_PROPERTY_TotalBitRate\fP, \fBLIBMTP_PROPERTY_BitRateType\fP, \fBLIBMTP_PROPERTY_SampleRate\fP, \fBLIBMTP_PROPERTY_NumberOfChannels\fP, \fBLIBMTP_PROPERTY_AudioBitDepth\fP, \fBLIBMTP_PROPERTY_ScanDepth\fP, \fBLIBMTP_PROPERTY_AudioWAVECodec\fP, \fBLIBMTP_PROPERTY_AudioBitRate\fP, \fBLIBMTP_PROPERTY_VideoFourCCCodec\fP, \fBLIBMTP_PROPERTY_VideoBitRate\fP, \fBLIBMTP_PROPERTY_FramesPerThousandSeconds\fP, \fBLIBMTP_PROPERTY_KeyFrameDistance\fP, \fBLIBMTP_PROPERTY_BufferSize\fP, \fBLIBMTP_PROPERTY_EncodingQuality\fP, \fBLIBMTP_PROPERTY_EncodingProfile\fP, \fBLIBMTP_PROPERTY_BuyFlag\fP, \fBLIBMTP_PROPERTY_UNKNOWN\fP }" .br .ti -1c .RI "enum \fBLIBMTP_datatype_t\fP { \fBLIBMTP_DATATYPE_INT8\fP, \fBLIBMTP_DATATYPE_UINT8\fP, \fBLIBMTP_DATATYPE_INT16\fP, \fBLIBMTP_DATATYPE_UINT16\fP, \fBLIBMTP_DATATYPE_INT32\fP, \fBLIBMTP_DATATYPE_UINT32\fP, \fBLIBMTP_DATATYPE_INT64\fP, \fBLIBMTP_DATATYPE_UINT64\fP }" .br .ti -1c .RI "enum \fBLIBMTP_devicecap_t\fP { \fBLIBMTP_DEVICECAP_GetPartialObject\fP, \fBLIBMTP_DEVICECAP_SendPartialObject\fP, \fBLIBMTP_DEVICECAP_EditObjects\fP, \fBLIBMTP_DEVICECAP_MoveObject\fP, \fBLIBMTP_DEVICECAP_CopyObject\fP }" .br .ti -1c .RI "enum \fBLIBMTP_error_number_t\fP { \fBLIBMTP_ERROR_NONE\fP, \fBLIBMTP_ERROR_GENERAL\fP, \fBLIBMTP_ERROR_PTP_LAYER\fP, \fBLIBMTP_ERROR_USB_LAYER\fP, \fBLIBMTP_ERROR_MEMORY_ALLOCATION\fP, \fBLIBMTP_ERROR_NO_DEVICE_ATTACHED\fP, \fBLIBMTP_ERROR_STORAGE_FULL\fP, \fBLIBMTP_ERROR_CONNECTING\fP, \fBLIBMTP_ERROR_CANCELLED\fP }" .br .in -1c .SH "Detailed Description" .PP .SH "Macro Definition Documentation" .PP .SS "#define LIBMTP_DEBUG_NONE 0x00" The debug flags defined here are the external flags used by the libmtp library interface\&. .PP Please keep this list in sync with \fBlibmtp\&.c\fP\&. .SS "#define LIBMTP_FILETYPE_IS_ADDRESSBOOK(a)" \fBValue:\fP.PP .nf (a == LIBMTP_FILETYPE_VCARD2 ||\\ a == LIBMTP_FILETYPE_VCARD3) .fi Addressbook and Business card filetype test .SS "#define LIBMTP_FILETYPE_IS_AUDIO(a)" \fBValue:\fP.PP .nf (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) .fi Audio filetype test\&. .PP For filetypes that can be either audio or video, use LIBMTP_FILETYPE_IS_AUDIOVIDEO .SS "#define LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)" \fBValue:\fP.PP .nf (a == LIBMTP_FILETYPE_MP4 ||\\ a == LIBMTP_FILETYPE_ASF ||\\ a == LIBMTP_FILETYPE_QT) .fi Audio and&slash;or video filetype test\&. .SS "#define LIBMTP_FILETYPE_IS_CALENDAR(a)" \fBValue:\fP.PP .nf (a == LIBMTP_FILETYPE_VCALENDAR1 ||\\ a == LIBMTP_FILETYPE_VCALENDAR2) .fi Calendar and Appointment filetype test .SS "#define LIBMTP_FILETYPE_IS_IMAGE(a)" \fBValue:\fP.PP .nf (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) .fi Image filetype test .SS "#define LIBMTP_FILETYPE_IS_TRACK(a)" \fBValue:\fP.PP .nf (LIBMTP_FILETYPE_IS_AUDIO(a) ||\\ LIBMTP_FILETYPE_IS_VIDEO(a) ||\\ LIBMTP_FILETYPE_IS_AUDIOVIDEO(a)) .fi 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\&. .PP \fBExamples\fP .in +1c \fBsendtr\&.c\fP, and \fBtracks\&.c\fP\&. .SS "#define LIBMTP_FILETYPE_IS_VIDEO(a)" \fBValue:\fP.PP .nf (a == LIBMTP_FILETYPE_WMV ||\\ a == LIBMTP_FILETYPE_AVI ||\\ a == LIBMTP_FILETYPE_MPEG ||\\ a == LIBMTP_FILETYPE_UNDEF_VIDEO) .fi Video filetype test\&. .PP For filetypes that can be either audio or video, use LIBMTP_FILETYPE_IS_AUDIOVIDEO .SS "#define LIBMTP_HANDLER_RETURN_OK 0" The return codes for the get/put functions .SH "Typedef Documentation" .PP .SS "typedef struct \fBLIBMTP_album_struct\fP \fBLIBMTP_album_t\fP" .PP \fBSee also\fP .RS 4 \fBLIBMTP_album_struct\fP .RE .PP .SS "typedef struct \fBLIBMTP_allowed_values_struct\fP \fBLIBMTP_allowed_values_t\fP" .PP \fBSee also\fP .RS 4 \fBLIBMTP_allowed_values_struct\fP .RE .PP .SS "typedef struct \fBLIBMTP_device_entry_struct\fP \fBLIBMTP_device_entry_t\fP" .PP \fBSee also\fP .RS 4 \fBLIBMTP_device_entry_struct\fP .RE .PP .SS "typedef struct \fBLIBMTP_devicestorage_struct\fP \fBLIBMTP_devicestorage_t\fP" .PP \fBSee also\fP .RS 4 \fBLIBMTP_devicestorage_t\fP .RE .PP .SS "typedef struct \fBLIBMTP_error_struct\fP \fBLIBMTP_error_t\fP" .PP \fBSee also\fP .RS 4 \fBLIBMTP_error_struct\fP .RE .PP .SS "typedef struct \fBLIBMTP_file_struct\fP \fBLIBMTP_file_t\fP" .PP \fBSee also\fP .RS 4 \fBLIBMTP_file_struct\fP .RE .PP .SS "typedef struct \fBLIBMTP_filesampledata_struct\fP \fBLIBMTP_filesampledata_t\fP" .PP \fBSee also\fP .RS 4 LIBMTP_filesample_t .RE .PP .SS "typedef struct \fBLIBMTP_folder_struct\fP \fBLIBMTP_folder_t\fP" .PP \fBSee also\fP .RS 4 \fBLIBMTP_folder_t\fP .RE .PP .SS "typedef struct \fBLIBMTP_mtpdevice_struct\fP \fBLIBMTP_mtpdevice_t\fP" < .PP \fBSee also\fP .RS 4 \fBLIBMTP_device_extension_struct\fP .PP \fBLIBMTP_mtpdevice_struct\fP .RE .PP .SS "typedef struct \fBLIBMTP_playlist_struct\fP \fBLIBMTP_playlist_t\fP" .PP \fBSee also\fP .RS 4 \fBLIBMTP_playlist_struct\fP .RE .PP .SS "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 \fCsent\fP by \fCtotal\fP\&. .PP \fBParameters\fP .RS 4 \fIsent\fP the number of bytes sent so far .br \fItotal\fP the total number of bytes to send .br \fIdata\fP a user-defined dereferencable pointer .RE .PP \fBReturns\fP .RS 4 if anything else than 0 is returned, the current transfer will be interrupted / cancelled\&. .RE .PP .SS "typedef struct \fBLIBMTP_raw_device_struct\fP \fBLIBMTP_raw_device_t\fP" .PP \fBSee also\fP .RS 4 \fBLIBMTP_raw_device_struct\fP .RE .PP .SS "typedef struct \fBLIBMTP_track_struct\fP \fBLIBMTP_track_t\fP" .PP \fBSee also\fP .RS 4 \fBLIBMTP_track_struct\fP .RE .PP .SS "typedef uint16_t(* MTPDataGetFunc) (void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)" Callback function for get by handler function .PP \fBParameters\fP .RS 4 \fIparams\fP the device parameters .br \fIpriv\fP a user-defined dereferencable pointer .br \fIwantlen\fP the number of bytes wanted .br \fIdata\fP a buffer to write the data to .br \fIgotlen\fP pointer to the number of bytes actually written to data .RE .PP \fBReturns\fP .RS 4 LIBMTP_HANDLER_RETURN_OK if successful, LIBMTP_HANDLER_RETURN_ERROR on error or LIBMTP_HANDLER_RETURN_CANCEL to cancel the transfer .RE .PP .SS "typedef uint16_t(* MTPDataPutFunc) (void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)" Callback function for put by handler function .PP \fBParameters\fP .RS 4 \fIparams\fP the device parameters .br \fIpriv\fP a user-defined dereferencable pointer .br \fIsendlen\fP the number of bytes available .br \fIdata\fP a buffer to read the data from .br \fIputlen\fP pointer to the number of bytes actually read from data .RE .PP \fBReturns\fP .RS 4 LIBMTP_HANDLER_RETURN_OK if successful, LIBMTP_HANDLER_RETURN_ERROR on error or LIBMTP_HANDLER_RETURN_CANCEL to cancel the transfer .RE .PP .SH "Enumeration Type Documentation" .PP .SS "enum \fBLIBMTP_datatype_t\fP" These are the data types .SS "enum \fBLIBMTP_devicecap_t\fP" These are device capabilities .PP \fBEnumerator\fP .in +1c .TP \fB\fILIBMTP_DEVICECAP_GetPartialObject \fP\fP This capability tells whether you can call the function getting partial objects, .PP \fBSee also\fP .RS 4 LIBMTP_GetPartialObject() .RE .PP .TP \fB\fILIBMTP_DEVICECAP_SendPartialObject \fP\fP This capability tells whether you can call the function sending partial objects\&. .PP \fBSee also\fP .RS 4 LIBMTP_SendPartialObject() .RE .PP .TP \fB\fILIBMTP_DEVICECAP_EditObjects \fP\fP This capability tells whether you can call the functions editing objects in-place on a device\&. .PP \fBSee also\fP .RS 4 LIBMTP_BeginEditObject() .PP LIBMTP_EndEditObject() .PP LIBMTP_TruncateObject() .RE .PP .TP \fB\fILIBMTP_DEVICECAP_MoveObject \fP\fP This capability tells whether you can call the function to move an object, .PP \fBSee also\fP .RS 4 LIBMTP_MoveObject() .RE .PP .TP \fB\fILIBMTP_DEVICECAP_CopyObject \fP\fP This capability tells whether you can call the function to copy an object, .PP \fBSee also\fP .RS 4 LIBMTP_CopyObject() .RE .PP .SS "enum \fBLIBMTP_error_number_t\fP" These are the numbered error codes\&. You can also get string representations for errors\&. .SS "enum \fBLIBMTP_filetype_t\fP" 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\&. .SS "enum \fBLIBMTP_property_t\fP" The properties defined here are the external types used by the libmtp library interface\&. .SH "Author" .PP Generated automatically by Doxygen for libmtp from the source code\&.