<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>libmtp: libmtp global type definitions</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.2 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> </div> <div class="contents"> <h1>libmtp global type definitions</h1><table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga6420aea2c78909c02c89fde2d9764776">LIBMTP_DEBUG_NONE</a> 0x00</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1f824c7f56337d02ec17c154e1e7845d"></a><!-- doxytag: member="types::LIBMTP_DEBUG_PTP" ref="ga1f824c7f56337d02ec17c154e1e7845d" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>LIBMTP_DEBUG_PTP</b> 0x01</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga627deb4b2e2da41b1cd27b08d7807067"></a><!-- doxytag: member="types::LIBMTP_DEBUG_PLST" ref="ga627deb4b2e2da41b1cd27b08d7807067" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>LIBMTP_DEBUG_PLST</b> 0x02</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5dfa446e18ee0380e048e7b211c2b9f7"></a><!-- doxytag: member="types::LIBMTP_DEBUG_USB" ref="ga5dfa446e18ee0380e048e7b211c2b9f7" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>LIBMTP_DEBUG_USB</b> 0x04</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga209f0fbbb1d926a8b995a598ed7cdcac"></a><!-- doxytag: member="types::LIBMTP_DEBUG_DATA" ref="ga209f0fbbb1d926a8b995a598ed7cdcac" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>LIBMTP_DEBUG_DATA</b> 0x08</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadd89ead5c74734f684703d6300ac437a"></a><!-- doxytag: member="types::LIBMTP_DEBUG_ALL" ref="gadd89ead5c74734f684703d6300ac437a" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>LIBMTP_DEBUG_ALL</b> 0xFF</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga1b726602f9efb45796f6498bb46786bb">LIBMTP_FILETYPE_IS_AUDIO</a>(a)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#gaaaa53d651efbad69634ff17d24ccecd9">LIBMTP_FILETYPE_IS_VIDEO</a>(a)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#gadac4679645a14da6e450796d3b46d3f0">LIBMTP_FILETYPE_IS_AUDIOVIDEO</a>(a)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga09a6cd06f954d3bf468e4d7b1c8a3c26">LIBMTP_FILETYPE_IS_TRACK</a>(a)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga5f8bb699c20c6552409b431ccb79a933">LIBMTP_FILETYPE_IS_IMAGE</a>(a)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga1093f74b589bb8c00e6c9ff5d540c3ad">LIBMTP_FILETYPE_IS_ADDRESSBOOK</a>(a)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#gacdcc10145587793e1d3eaeabe693d414">LIBMTP_FILETYPE_IS_CALENDAR</a>(a)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga4efc14905f15dcbed1152f2de993ef15">LIBMTP_HANDLER_RETURN_OK</a> 0</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf7ac49415043f8e0a4fdef83e35c800f"></a><!-- doxytag: member="types::LIBMTP_HANDLER_RETURN_ERROR" ref="gaf7ac49415043f8e0a4fdef83e35c800f" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>LIBMTP_HANDLER_RETURN_ERROR</b> 1</td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga33ccf2798330f5d962c2b5a5eca3fd8c"></a><!-- doxytag: member="types::LIBMTP_HANDLER_RETURN_CANCEL" ref="ga33ccf2798330f5d962c2b5a5eca3fd8c" args="" --> #define </td><td class="memItemRight" valign="bottom"><b>LIBMTP_HANDLER_RETURN_CANCEL</b> 2</td></tr> <tr><td colspan="2"><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structLIBMTP__device__entry__struct.html">LIBMTP_device_entry_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga8bdcef79af83568e50472e796de0bf06">LIBMTP_device_entry_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structLIBMTP__raw__device__struct.html">LIBMTP_raw_device_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#gad996bb90988813071ae277d05c355384">LIBMTP_raw_device_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structLIBMTP__error__struct.html">LIBMTP_error_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga41ccfb3c87a5fd51643d5cf1f0e1578e">LIBMTP_error_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structLIBMTP__allowed__values__struct.html">LIBMTP_allowed_values_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga4d63a5fc04932c12a7b273c476421b7c">LIBMTP_allowed_values_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structLIBMTP__mtpdevice__struct.html">LIBMTP_mtpdevice_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structLIBMTP__file__struct.html">LIBMTP_file_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga3851fe3a52f9f0436fe7ca057dbbea47">LIBMTP_file_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structLIBMTP__track__struct.html">LIBMTP_track_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga11ea8df2e635473592fc786085ff55b6">LIBMTP_track_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structLIBMTP__playlist__struct.html">LIBMTP_playlist_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#gab713cd9265a6d929c85076069ad9c46e">LIBMTP_playlist_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structLIBMTP__album__struct.html">LIBMTP_album_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga7ce24b2d9a5c0761cbf49b59646d0a19">LIBMTP_album_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structLIBMTP__folder__struct.html">LIBMTP_folder_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga1c9860c6a73573226b55e4c5093040de">LIBMTP_folder_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct LIBMTP_object_struct </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#gae6f3961573627febdc5d846ac71c7c60">LIBMTP_object_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structLIBMTP__filesampledata__struct.html">LIBMTP_filesampledata_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#gad20d80e65f134038ce68e18b161ef070">LIBMTP_filesampledata_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct <br class="typebreak"/> <a class="el" href="structLIBMTP__devicestorage__struct.html">LIBMTP_devicestorage_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#gaae2dd738c78df51c7e29f97aad50f57b">LIBMTP_devicestorage_t</a></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga5d7782ad666c4c73186a8dce8ddda207">LIBMTP_progressfunc_t</a> )(uint64_t const sent, uint64_t const total, void const *const data)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef uint16_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#gac98a3ffb03ff220f92953e6d92f33146">MTPDataGetFunc</a> )(void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef uint16_t(* </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga09e82583ed001223ab37032719d732c8">MTPDataPutFunc</a> )(void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)</td></tr> <tr><td colspan="2"><h2>Enumerations</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga34d45fa6ab19cc024029d239250a8c64">LIBMTP_filetype_t</a> { <br/> <b>LIBMTP_FILETYPE_WAV</b>, <b>LIBMTP_FILETYPE_MP3</b>, <b>LIBMTP_FILETYPE_WMA</b>, <b>LIBMTP_FILETYPE_OGG</b>, <br/> <b>LIBMTP_FILETYPE_AUDIBLE</b>, <b>LIBMTP_FILETYPE_MP4</b>, <b>LIBMTP_FILETYPE_UNDEF_AUDIO</b>, <b>LIBMTP_FILETYPE_WMV</b>, <br/> <b>LIBMTP_FILETYPE_AVI</b>, <b>LIBMTP_FILETYPE_MPEG</b>, <b>LIBMTP_FILETYPE_ASF</b>, <b>LIBMTP_FILETYPE_QT</b>, <br/> <b>LIBMTP_FILETYPE_UNDEF_VIDEO</b>, <b>LIBMTP_FILETYPE_JPEG</b>, <b>LIBMTP_FILETYPE_JFIF</b>, <b>LIBMTP_FILETYPE_TIFF</b>, <br/> <b>LIBMTP_FILETYPE_BMP</b>, <b>LIBMTP_FILETYPE_GIF</b>, <b>LIBMTP_FILETYPE_PICT</b>, <b>LIBMTP_FILETYPE_PNG</b>, <br/> <b>LIBMTP_FILETYPE_VCALENDAR1</b>, <b>LIBMTP_FILETYPE_VCALENDAR2</b>, <b>LIBMTP_FILETYPE_VCARD2</b>, <b>LIBMTP_FILETYPE_VCARD3</b>, <br/> <b>LIBMTP_FILETYPE_WINDOWSIMAGEFORMAT</b>, <b>LIBMTP_FILETYPE_WINEXEC</b>, <b>LIBMTP_FILETYPE_TEXT</b>, <b>LIBMTP_FILETYPE_HTML</b>, <br/> <b>LIBMTP_FILETYPE_FIRMWARE</b>, <b>LIBMTP_FILETYPE_AAC</b>, <b>LIBMTP_FILETYPE_MEDIACARD</b>, <b>LIBMTP_FILETYPE_FLAC</b>, <br/> <b>LIBMTP_FILETYPE_MP2</b>, <b>LIBMTP_FILETYPE_M4A</b>, <b>LIBMTP_FILETYPE_DOC</b>, <b>LIBMTP_FILETYPE_XML</b>, <br/> <b>LIBMTP_FILETYPE_XLS</b>, <b>LIBMTP_FILETYPE_PPT</b>, <b>LIBMTP_FILETYPE_MHT</b>, <b>LIBMTP_FILETYPE_JP2</b>, <br/> <b>LIBMTP_FILETYPE_JPX</b>, <b>LIBMTP_FILETYPE_ALBUM</b>, <b>LIBMTP_FILETYPE_PLAYLIST</b>, <b>LIBMTP_FILETYPE_UNKNOWN</b> <br/> }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> { <br/> <b>LIBMTP_PROPERTY_StorageID</b>, <b>LIBMTP_PROPERTY_ObjectFormat</b>, <b>LIBMTP_PROPERTY_ProtectionStatus</b>, <b>LIBMTP_PROPERTY_ObjectSize</b>, <br/> <b>LIBMTP_PROPERTY_AssociationType</b>, <b>LIBMTP_PROPERTY_AssociationDesc</b>, <b>LIBMTP_PROPERTY_ObjectFileName</b>, <b>LIBMTP_PROPERTY_DateCreated</b>, <br/> <b>LIBMTP_PROPERTY_DateModified</b>, <b>LIBMTP_PROPERTY_Keywords</b>, <b>LIBMTP_PROPERTY_ParentObject</b>, <b>LIBMTP_PROPERTY_AllowedFolderContents</b>, <br/> <b>LIBMTP_PROPERTY_Hidden</b>, <b>LIBMTP_PROPERTY_SystemObject</b>, <b>LIBMTP_PROPERTY_PersistantUniqueObjectIdentifier</b>, <b>LIBMTP_PROPERTY_SyncID</b>, <br/> <b>LIBMTP_PROPERTY_PropertyBag</b>, <b>LIBMTP_PROPERTY_Name</b>, <b>LIBMTP_PROPERTY_CreatedBy</b>, <b>LIBMTP_PROPERTY_Artist</b>, <br/> <b>LIBMTP_PROPERTY_DateAuthored</b>, <b>LIBMTP_PROPERTY_Description</b>, <b>LIBMTP_PROPERTY_URLReference</b>, <b>LIBMTP_PROPERTY_LanguageLocale</b>, <br/> <b>LIBMTP_PROPERTY_CopyrightInformation</b>, <b>LIBMTP_PROPERTY_Source</b>, <b>LIBMTP_PROPERTY_OriginLocation</b>, <b>LIBMTP_PROPERTY_DateAdded</b>, <br/> <b>LIBMTP_PROPERTY_NonConsumable</b>, <b>LIBMTP_PROPERTY_CorruptOrUnplayable</b>, <b>LIBMTP_PROPERTY_ProducerSerialNumber</b>, <b>LIBMTP_PROPERTY_RepresentativeSampleFormat</b>, <br/> <b>LIBMTP_PROPERTY_RepresentativeSampleSize</b>, <b>LIBMTP_PROPERTY_RepresentativeSampleHeight</b>, <b>LIBMTP_PROPERTY_RepresentativeSampleWidth</b>, <b>LIBMTP_PROPERTY_RepresentativeSampleDuration</b>, <br/> <b>LIBMTP_PROPERTY_RepresentativeSampleData</b>, <b>LIBMTP_PROPERTY_Width</b>, <b>LIBMTP_PROPERTY_Height</b>, <b>LIBMTP_PROPERTY_Duration</b>, <br/> <b>LIBMTP_PROPERTY_Rating</b>, <b>LIBMTP_PROPERTY_Track</b>, <b>LIBMTP_PROPERTY_Genre</b>, <b>LIBMTP_PROPERTY_Credits</b>, <br/> <b>LIBMTP_PROPERTY_Lyrics</b>, <b>LIBMTP_PROPERTY_SubscriptionContentID</b>, <b>LIBMTP_PROPERTY_ProducedBy</b>, <b>LIBMTP_PROPERTY_UseCount</b>, <br/> <b>LIBMTP_PROPERTY_SkipCount</b>, <b>LIBMTP_PROPERTY_LastAccessed</b>, <b>LIBMTP_PROPERTY_ParentalRating</b>, <b>LIBMTP_PROPERTY_MetaGenre</b>, <br/> <b>LIBMTP_PROPERTY_Composer</b>, <b>LIBMTP_PROPERTY_EffectiveRating</b>, <b>LIBMTP_PROPERTY_Subtitle</b>, <b>LIBMTP_PROPERTY_OriginalReleaseDate</b>, <br/> <b>LIBMTP_PROPERTY_AlbumName</b>, <b>LIBMTP_PROPERTY_AlbumArtist</b>, <b>LIBMTP_PROPERTY_Mood</b>, <b>LIBMTP_PROPERTY_DRMStatus</b>, <br/> <b>LIBMTP_PROPERTY_SubDescription</b>, <b>LIBMTP_PROPERTY_IsCropped</b>, <b>LIBMTP_PROPERTY_IsColorCorrected</b>, <b>LIBMTP_PROPERTY_ImageBitDepth</b>, <br/> <b>LIBMTP_PROPERTY_Fnumber</b>, <b>LIBMTP_PROPERTY_ExposureTime</b>, <b>LIBMTP_PROPERTY_ExposureIndex</b>, <b>LIBMTP_PROPERTY_DisplayName</b>, <br/> <b>LIBMTP_PROPERTY_BodyText</b>, <b>LIBMTP_PROPERTY_Subject</b>, <b>LIBMTP_PROPERTY_Priority</b>, <b>LIBMTP_PROPERTY_GivenName</b>, <br/> <b>LIBMTP_PROPERTY_MiddleNames</b>, <b>LIBMTP_PROPERTY_FamilyName</b>, <b>LIBMTP_PROPERTY_Prefix</b>, <b>LIBMTP_PROPERTY_Suffix</b>, <br/> <b>LIBMTP_PROPERTY_PhoneticGivenName</b>, <b>LIBMTP_PROPERTY_PhoneticFamilyName</b>, <b>LIBMTP_PROPERTY_EmailPrimary</b>, <b>LIBMTP_PROPERTY_EmailPersonal1</b>, <br/> <b>LIBMTP_PROPERTY_EmailPersonal2</b>, <b>LIBMTP_PROPERTY_EmailBusiness1</b>, <b>LIBMTP_PROPERTY_EmailBusiness2</b>, <b>LIBMTP_PROPERTY_EmailOthers</b>, <br/> <b>LIBMTP_PROPERTY_PhoneNumberPrimary</b>, <b>LIBMTP_PROPERTY_PhoneNumberPersonal</b>, <b>LIBMTP_PROPERTY_PhoneNumberPersonal2</b>, <b>LIBMTP_PROPERTY_PhoneNumberBusiness</b>, <br/> <b>LIBMTP_PROPERTY_PhoneNumberBusiness2</b>, <b>LIBMTP_PROPERTY_PhoneNumberMobile</b>, <b>LIBMTP_PROPERTY_PhoneNumberMobile2</b>, <b>LIBMTP_PROPERTY_FaxNumberPrimary</b>, <br/> <b>LIBMTP_PROPERTY_FaxNumberPersonal</b>, <b>LIBMTP_PROPERTY_FaxNumberBusiness</b>, <b>LIBMTP_PROPERTY_PagerNumber</b>, <b>LIBMTP_PROPERTY_PhoneNumberOthers</b>, <br/> <b>LIBMTP_PROPERTY_PrimaryWebAddress</b>, <b>LIBMTP_PROPERTY_PersonalWebAddress</b>, <b>LIBMTP_PROPERTY_BusinessWebAddress</b>, <b>LIBMTP_PROPERTY_InstantMessengerAddress</b>, <br/> <b>LIBMTP_PROPERTY_InstantMessengerAddress2</b>, <b>LIBMTP_PROPERTY_InstantMessengerAddress3</b>, <b>LIBMTP_PROPERTY_PostalAddressPersonalFull</b>, <b>LIBMTP_PROPERTY_PostalAddressPersonalFullLine1</b>, <br/> <b>LIBMTP_PROPERTY_PostalAddressPersonalFullLine2</b>, <b>LIBMTP_PROPERTY_PostalAddressPersonalFullCity</b>, <b>LIBMTP_PROPERTY_PostalAddressPersonalFullRegion</b>, <b>LIBMTP_PROPERTY_PostalAddressPersonalFullPostalCode</b>, <br/> <b>LIBMTP_PROPERTY_PostalAddressPersonalFullCountry</b>, <b>LIBMTP_PROPERTY_PostalAddressBusinessFull</b>, <b>LIBMTP_PROPERTY_PostalAddressBusinessLine1</b>, <b>LIBMTP_PROPERTY_PostalAddressBusinessLine2</b>, <br/> <b>LIBMTP_PROPERTY_PostalAddressBusinessCity</b>, <b>LIBMTP_PROPERTY_PostalAddressBusinessRegion</b>, <b>LIBMTP_PROPERTY_PostalAddressBusinessPostalCode</b>, <b>LIBMTP_PROPERTY_PostalAddressBusinessCountry</b>, <br/> <b>LIBMTP_PROPERTY_PostalAddressOtherFull</b>, <b>LIBMTP_PROPERTY_PostalAddressOtherLine1</b>, <b>LIBMTP_PROPERTY_PostalAddressOtherLine2</b>, <b>LIBMTP_PROPERTY_PostalAddressOtherCity</b>, <br/> <b>LIBMTP_PROPERTY_PostalAddressOtherRegion</b>, <b>LIBMTP_PROPERTY_PostalAddressOtherPostalCode</b>, <b>LIBMTP_PROPERTY_PostalAddressOtherCountry</b>, <b>LIBMTP_PROPERTY_OrganizationName</b>, <br/> <b>LIBMTP_PROPERTY_PhoneticOrganizationName</b>, <b>LIBMTP_PROPERTY_Role</b>, <b>LIBMTP_PROPERTY_Birthdate</b>, <b>LIBMTP_PROPERTY_MessageTo</b>, <br/> <b>LIBMTP_PROPERTY_MessageCC</b>, <b>LIBMTP_PROPERTY_MessageBCC</b>, <b>LIBMTP_PROPERTY_MessageRead</b>, <b>LIBMTP_PROPERTY_MessageReceivedTime</b>, <br/> <b>LIBMTP_PROPERTY_MessageSender</b>, <b>LIBMTP_PROPERTY_ActivityBeginTime</b>, <b>LIBMTP_PROPERTY_ActivityEndTime</b>, <b>LIBMTP_PROPERTY_ActivityLocation</b>, <br/> <b>LIBMTP_PROPERTY_ActivityRequiredAttendees</b>, <b>LIBMTP_PROPERTY_ActivityOptionalAttendees</b>, <b>LIBMTP_PROPERTY_ActivityResources</b>, <b>LIBMTP_PROPERTY_ActivityAccepted</b>, <br/> <b>LIBMTP_PROPERTY_Owner</b>, <b>LIBMTP_PROPERTY_Editor</b>, <b>LIBMTP_PROPERTY_Webmaster</b>, <b>LIBMTP_PROPERTY_URLSource</b>, <br/> <b>LIBMTP_PROPERTY_URLDestination</b>, <b>LIBMTP_PROPERTY_TimeBookmark</b>, <b>LIBMTP_PROPERTY_ObjectBookmark</b>, <b>LIBMTP_PROPERTY_ByteBookmark</b>, <br/> <b>LIBMTP_PROPERTY_LastBuildDate</b>, <b>LIBMTP_PROPERTY_TimetoLive</b>, <b>LIBMTP_PROPERTY_MediaGUID</b>, <b>LIBMTP_PROPERTY_TotalBitRate</b>, <br/> <b>LIBMTP_PROPERTY_BitRateType</b>, <b>LIBMTP_PROPERTY_SampleRate</b>, <b>LIBMTP_PROPERTY_NumberOfChannels</b>, <b>LIBMTP_PROPERTY_AudioBitDepth</b>, <br/> <b>LIBMTP_PROPERTY_ScanDepth</b>, <b>LIBMTP_PROPERTY_AudioWAVECodec</b>, <b>LIBMTP_PROPERTY_AudioBitRate</b>, <b>LIBMTP_PROPERTY_VideoFourCCCodec</b>, <br/> <b>LIBMTP_PROPERTY_VideoBitRate</b>, <b>LIBMTP_PROPERTY_FramesPerThousandSeconds</b>, <b>LIBMTP_PROPERTY_KeyFrameDistance</b>, <b>LIBMTP_PROPERTY_BufferSize</b>, <br/> <b>LIBMTP_PROPERTY_EncodingQuality</b>, <b>LIBMTP_PROPERTY_EncodingProfile</b>, <b>LIBMTP_PROPERTY_BuyFlag</b>, <b>LIBMTP_PROPERTY_UNKNOWN</b> <br/> }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga416d447e7b9b6f9e1229eda15b341808">LIBMTP_datatype_t</a> { <br/> <b>LIBMTP_DATATYPE_INT8</b>, <b>LIBMTP_DATATYPE_UINT8</b>, <b>LIBMTP_DATATYPE_INT16</b>, <b>LIBMTP_DATATYPE_UINT16</b>, <br/> <b>LIBMTP_DATATYPE_INT32</b>, <b>LIBMTP_DATATYPE_UINT32</b>, <b>LIBMTP_DATATYPE_INT64</b>, <b>LIBMTP_DATATYPE_UINT64</b> <br/> }</td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="group__types.html#ga1e5fcb2945c5e60bf5bd9e847a904fa8">LIBMTP_error_number_t</a> { <br/> <b>LIBMTP_ERROR_NONE</b>, <b>LIBMTP_ERROR_GENERAL</b>, <b>LIBMTP_ERROR_PTP_LAYER</b>, <b>LIBMTP_ERROR_USB_LAYER</b>, <br/> <b>LIBMTP_ERROR_MEMORY_ALLOCATION</b>, <b>LIBMTP_ERROR_NO_DEVICE_ATTACHED</b>, <b>LIBMTP_ERROR_STORAGE_FULL</b>, <b>LIBMTP_ERROR_CONNECTING</b>, <br/> <b>LIBMTP_ERROR_CANCELLED</b> <br/> }</td></tr> </table> <hr/><h2>Define Documentation</h2> <a class="anchor" id="ga6420aea2c78909c02c89fde2d9764776"></a><!-- doxytag: member="libmtp.h::LIBMTP_DEBUG_NONE" ref="ga6420aea2c78909c02c89fde2d9764776" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIBMTP_DEBUG_NONE 0x00</td> </tr> </table> </div> <div class="memdoc"> <p>The debug flags defined here are the external flags used by the libmtp library interface. </p> </div> </div> <a class="anchor" id="ga1093f74b589bb8c00e6c9ff5d540c3ad"></a><!-- doxytag: member="libmtp.h::LIBMTP_FILETYPE_IS_ADDRESSBOOK" ref="ga1093f74b589bb8c00e6c9ff5d540c3ad" args="(a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIBMTP_FILETYPE_IS_ADDRESSBOOK</td> <td>(</td> <td class="paramtype">a </td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <b>Value:</b><div class="fragment"><pre class="fragment">(a == LIBMTP_FILETYPE_VCARD2 ||\ a == LIBMTP_FILETYPE_VCARD2) </pre></div><p>Addressbook and Business card filetype test </p> </div> </div> <a class="anchor" id="ga1b726602f9efb45796f6498bb46786bb"></a><!-- doxytag: member="libmtp.h::LIBMTP_FILETYPE_IS_AUDIO" ref="ga1b726602f9efb45796f6498bb46786bb" args="(a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIBMTP_FILETYPE_IS_AUDIO</td> <td>(</td> <td class="paramtype">a </td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <b>Value:</b><div class="fragment"><pre class="fragment">(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) </pre></div><p>Audio filetype test.</p> <p>For filetypes that can be either audio or video, use LIBMTP_FILETYPE_IS_AUDIOVIDEO </p> </div> </div> <a class="anchor" id="gadac4679645a14da6e450796d3b46d3f0"></a><!-- doxytag: member="libmtp.h::LIBMTP_FILETYPE_IS_AUDIOVIDEO" ref="gadac4679645a14da6e450796d3b46d3f0" args="(a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIBMTP_FILETYPE_IS_AUDIOVIDEO</td> <td>(</td> <td class="paramtype">a </td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <b>Value:</b><div class="fragment"><pre class="fragment">(a == LIBMTP_FILETYPE_MP4 ||\ a == LIBMTP_FILETYPE_ASF ||\ a == LIBMTP_FILETYPE_QT) </pre></div><p>Audio andor video filetype test. </p> </div> </div> <a class="anchor" id="gacdcc10145587793e1d3eaeabe693d414"></a><!-- doxytag: member="libmtp.h::LIBMTP_FILETYPE_IS_CALENDAR" ref="gacdcc10145587793e1d3eaeabe693d414" args="(a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIBMTP_FILETYPE_IS_CALENDAR</td> <td>(</td> <td class="paramtype">a </td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <b>Value:</b><div class="fragment"><pre class="fragment">(a == LIBMTP_FILETYPE_VCALENDAR1 ||\ a == LIBMTP_FILETYPE_VCALENDAR2) </pre></div><p>Calendar and Appointment filetype test </p> </div> </div> <a class="anchor" id="ga5f8bb699c20c6552409b431ccb79a933"></a><!-- doxytag: member="libmtp.h::LIBMTP_FILETYPE_IS_IMAGE" ref="ga5f8bb699c20c6552409b431ccb79a933" args="(a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIBMTP_FILETYPE_IS_IMAGE</td> <td>(</td> <td class="paramtype">a </td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <b>Value:</b><div class="fragment"><pre class="fragment">(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) </pre></div><p>Image filetype test </p> </div> </div> <a class="anchor" id="ga09a6cd06f954d3bf468e4d7b1c8a3c26"></a><!-- doxytag: member="libmtp.h::LIBMTP_FILETYPE_IS_TRACK" ref="ga09a6cd06f954d3bf468e4d7b1c8a3c26" args="(a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIBMTP_FILETYPE_IS_TRACK</td> <td>(</td> <td class="paramtype">a </td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <b>Value:</b><div class="fragment"><pre class="fragment">(<a class="code" href="group__types.html#ga1b726602f9efb45796f6498bb46786bb">LIBMTP_FILETYPE_IS_AUDIO</a>(a) ||\ <a class="code" href="group__types.html#gaaaa53d651efbad69634ff17d24ccecd9">LIBMTP_FILETYPE_IS_VIDEO</a>(a) ||\ <a class="code" href="group__types.html#gadac4679645a14da6e450796d3b46d3f0">LIBMTP_FILETYPE_IS_AUDIOVIDEO</a>(a)) </pre></div><p>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. </p> <dl><dt><b>Examples: </b></dt><dd><a class="el" href="sendtr_8c-example.html#a22">sendtr.c</a>.</dd> </dl> <p>Referenced by <a class="el" href="libmtp_8c_source.html#l04308">LIBMTP_Get_Tracklisting_With_Callback_For_Storage()</a>, <a class="el" href="libmtp_8c_source.html#l04426">LIBMTP_Get_Trackmetadata()</a>, <a class="el" href="libmtp_8c_source.html#l04997">LIBMTP_Send_Track_From_File_Descriptor()</a>, and <a class="el" href="libmtp_8c_source.html#l05101">LIBMTP_Send_Track_From_Handler()</a>.</p> </div> </div> <a class="anchor" id="gaaaa53d651efbad69634ff17d24ccecd9"></a><!-- doxytag: member="libmtp.h::LIBMTP_FILETYPE_IS_VIDEO" ref="gaaaa53d651efbad69634ff17d24ccecd9" args="(a)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIBMTP_FILETYPE_IS_VIDEO</td> <td>(</td> <td class="paramtype">a </td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <b>Value:</b><div class="fragment"><pre class="fragment">(a == LIBMTP_FILETYPE_WMV ||\ a == LIBMTP_FILETYPE_AVI ||\ a == LIBMTP_FILETYPE_MPEG ||\ a == LIBMTP_FILETYPE_UNDEF_VIDEO) </pre></div><p>Video filetype test.</p> <p>For filetypes that can be either audio or video, use LIBMTP_FILETYPE_IS_AUDIOVIDEO </p> </div> </div> <a class="anchor" id="ga4efc14905f15dcbed1152f2de993ef15"></a><!-- doxytag: member="libmtp.h::LIBMTP_HANDLER_RETURN_OK" ref="ga4efc14905f15dcbed1152f2de993ef15" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">#define LIBMTP_HANDLER_RETURN_OK 0</td> </tr> </table> </div> <div class="memdoc"> <p>The return codes for the get/put functions </p> </div> </div> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="ga7ce24b2d9a5c0761cbf49b59646d0a19"></a><!-- doxytag: member="libmtp.h::LIBMTP_album_t" ref="ga7ce24b2d9a5c0761cbf49b59646d0a19" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__album__struct.html">LIBMTP_album_struct</a> <a class="el" href="structLIBMTP__album__struct.html">LIBMTP_album_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structLIBMTP__album__struct.html">LIBMTP_album_struct</a> </dd></dl> </div> </div> <a class="anchor" id="ga4d63a5fc04932c12a7b273c476421b7c"></a><!-- doxytag: member="libmtp.h::LIBMTP_allowed_values_t" ref="ga4d63a5fc04932c12a7b273c476421b7c" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__allowed__values__struct.html">LIBMTP_allowed_values_struct</a> <a class="el" href="structLIBMTP__allowed__values__struct.html">LIBMTP_allowed_values_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structLIBMTP__allowed__values__struct.html">LIBMTP_allowed_values_struct</a> </dd></dl> </div> </div> <a class="anchor" id="ga8bdcef79af83568e50472e796de0bf06"></a><!-- doxytag: member="libmtp.h::LIBMTP_device_entry_t" ref="ga8bdcef79af83568e50472e796de0bf06" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__device__entry__struct.html">LIBMTP_device_entry_struct</a> <a class="el" href="structLIBMTP__device__entry__struct.html">LIBMTP_device_entry_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structLIBMTP__device__entry__struct.html">LIBMTP_device_entry_struct</a> </dd></dl> </div> </div> <a class="anchor" id="gaae2dd738c78df51c7e29f97aad50f57b"></a><!-- doxytag: member="libmtp.h::LIBMTP_devicestorage_t" ref="gaae2dd738c78df51c7e29f97aad50f57b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__devicestorage__struct.html">LIBMTP_devicestorage_struct</a> <a class="el" href="structLIBMTP__devicestorage__struct.html">LIBMTP_devicestorage_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__types.html#gaae2dd738c78df51c7e29f97aad50f57b">LIBMTP_devicestorage_t</a> </dd></dl> </div> </div> <a class="anchor" id="ga41ccfb3c87a5fd51643d5cf1f0e1578e"></a><!-- doxytag: member="libmtp.h::LIBMTP_error_t" ref="ga41ccfb3c87a5fd51643d5cf1f0e1578e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__error__struct.html">LIBMTP_error_struct</a> <a class="el" href="structLIBMTP__error__struct.html">LIBMTP_error_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structLIBMTP__error__struct.html">LIBMTP_error_struct</a> </dd></dl> </div> </div> <a class="anchor" id="ga3851fe3a52f9f0436fe7ca057dbbea47"></a><!-- doxytag: member="libmtp.h::LIBMTP_file_t" ref="ga3851fe3a52f9f0436fe7ca057dbbea47" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__file__struct.html">LIBMTP_file_struct</a> <a class="el" href="structLIBMTP__file__struct.html">LIBMTP_file_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structLIBMTP__file__struct.html">LIBMTP_file_struct</a> </dd></dl> </div> </div> <a class="anchor" id="gad20d80e65f134038ce68e18b161ef070"></a><!-- doxytag: member="libmtp.h::LIBMTP_filesampledata_t" ref="gad20d80e65f134038ce68e18b161ef070" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__filesampledata__struct.html">LIBMTP_filesampledata_struct</a> <a class="el" href="structLIBMTP__filesampledata__struct.html">LIBMTP_filesampledata_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd>LIBMTP_filesample_t </dd></dl> </div> </div> <a class="anchor" id="ga1c9860c6a73573226b55e4c5093040de"></a><!-- doxytag: member="libmtp.h::LIBMTP_folder_t" ref="ga1c9860c6a73573226b55e4c5093040de" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__folder__struct.html">LIBMTP_folder_struct</a> <a class="el" href="structLIBMTP__folder__struct.html">LIBMTP_folder_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__types.html#ga1c9860c6a73573226b55e4c5093040de">LIBMTP_folder_t</a> </dd></dl> </div> </div> <a class="anchor" id="gac2e20fe8cf7ca4d2426e22865073db4f"></a><!-- doxytag: member="libmtp.h::LIBMTP_mtpdevice_t" ref="gac2e20fe8cf7ca4d2426e22865073db4f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__mtpdevice__struct.html">LIBMTP_mtpdevice_struct</a> <a class="el" href="structLIBMTP__mtpdevice__struct.html">LIBMTP_mtpdevice_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structLIBMTP__mtpdevice__struct.html">LIBMTP_mtpdevice_struct</a> </dd></dl> </div> </div> <a class="anchor" id="gae6f3961573627febdc5d846ac71c7c60"></a><!-- doxytag: member="libmtp.h::LIBMTP_object_t" ref="gae6f3961573627febdc5d846ac71c7c60" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct LIBMTP_object_struct <a class="el" href="group__types.html#gae6f3961573627febdc5d846ac71c7c60">LIBMTP_object_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__types.html#gae6f3961573627febdc5d846ac71c7c60">LIBMTP_object_t</a> </dd></dl> </div> </div> <a class="anchor" id="gab713cd9265a6d929c85076069ad9c46e"></a><!-- doxytag: member="libmtp.h::LIBMTP_playlist_t" ref="gab713cd9265a6d929c85076069ad9c46e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__playlist__struct.html">LIBMTP_playlist_struct</a> <a class="el" href="structLIBMTP__playlist__struct.html">LIBMTP_playlist_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structLIBMTP__playlist__struct.html">LIBMTP_playlist_struct</a> </dd></dl> </div> </div> <a class="anchor" id="ga5d7782ad666c4c73186a8dce8ddda207"></a><!-- doxytag: member="libmtp.h::LIBMTP_progressfunc_t" ref="ga5d7782ad666c4c73186a8dce8ddda207" args=")(uint64_t const sent, uint64_t const total, void const *const data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef int(* <a class="el" href="group__types.html#ga5d7782ad666c4c73186a8dce8ddda207">LIBMTP_progressfunc_t</a>)(uint64_t const sent, uint64_t const total, void const *const data)</td> </tr> </table> </div> <div class="memdoc"> <p>The callback type definition. Notice that a progress percentage ratio is easy to calculate by dividing <code>sent</code> by <code>total</code>. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>sent</em> </td><td>the number of bytes sent so far </td></tr> <tr><td valign="top"></td><td valign="top"><em>total</em> </td><td>the total number of bytes to send </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a user-defined dereferencable pointer </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>if anything else than 0 is returned, the current transfer will be interrupted / cancelled. </dd></dl> </div> </div> <a class="anchor" id="gad996bb90988813071ae277d05c355384"></a><!-- doxytag: member="libmtp.h::LIBMTP_raw_device_t" ref="gad996bb90988813071ae277d05c355384" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__raw__device__struct.html">LIBMTP_raw_device_struct</a> <a class="el" href="structLIBMTP__raw__device__struct.html">LIBMTP_raw_device_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structLIBMTP__raw__device__struct.html">LIBMTP_raw_device_struct</a> </dd></dl> </div> </div> <a class="anchor" id="ga11ea8df2e635473592fc786085ff55b6"></a><!-- doxytag: member="libmtp.h::LIBMTP_track_t" ref="ga11ea8df2e635473592fc786085ff55b6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct <a class="el" href="structLIBMTP__track__struct.html">LIBMTP_track_struct</a> <a class="el" href="structLIBMTP__track__struct.html">LIBMTP_track_t</a></td> </tr> </table> </div> <div class="memdoc"> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structLIBMTP__track__struct.html">LIBMTP_track_struct</a> </dd></dl> </div> </div> <a class="anchor" id="gac98a3ffb03ff220f92953e6d92f33146"></a><!-- doxytag: member="libmtp.h::MTPDataGetFunc" ref="gac98a3ffb03ff220f92953e6d92f33146" args=")(void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef uint16_t(* <a class="el" href="group__types.html#gac98a3ffb03ff220f92953e6d92f33146">MTPDataGetFunc</a>)(void *params, void *priv, uint32_t wantlen, unsigned char *data, uint32_t *gotlen)</td> </tr> </table> </div> <div class="memdoc"> <p>Callback function for get by handler function </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>the device parameters </td></tr> <tr><td valign="top"></td><td valign="top"><em>priv</em> </td><td>a user-defined dereferencable pointer </td></tr> <tr><td valign="top"></td><td valign="top"><em>wantlen</em> </td><td>the number of bytes wanted </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a buffer to write the data to </td></tr> <tr><td valign="top"></td><td valign="top"><em>gotlen</em> </td><td>pointer to the number of bytes actually written to data </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>LIBMTP_HANDLER_RETURN_OK if successful, LIBMTP_HANDLER_RETURN_ERROR on error or LIBMTP_HANDLER_RETURN_CANCEL to cancel the transfer </dd></dl> </div> </div> <a class="anchor" id="ga09e82583ed001223ab37032719d732c8"></a><!-- doxytag: member="libmtp.h::MTPDataPutFunc" ref="ga09e82583ed001223ab37032719d732c8" args=")(void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef uint16_t(* <a class="el" href="group__types.html#ga09e82583ed001223ab37032719d732c8">MTPDataPutFunc</a>)(void *params, void *priv, uint32_t sendlen, unsigned char *data, uint32_t *putlen)</td> </tr> </table> </div> <div class="memdoc"> <p>Callback function for put by handler function </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>the device parameters </td></tr> <tr><td valign="top"></td><td valign="top"><em>priv</em> </td><td>a user-defined dereferencable pointer </td></tr> <tr><td valign="top"></td><td valign="top"><em>sendlen</em> </td><td>the number of bytes available </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>a buffer to read the data from </td></tr> <tr><td valign="top"></td><td valign="top"><em>putlen</em> </td><td>pointer to the number of bytes actually read from data </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>LIBMTP_HANDLER_RETURN_OK if successful, LIBMTP_HANDLER_RETURN_ERROR on error or LIBMTP_HANDLER_RETURN_CANCEL to cancel the transfer </dd></dl> </div> </div> <hr/><h2>Enumeration Type Documentation</h2> <a class="anchor" id="ga416d447e7b9b6f9e1229eda15b341808"></a><!-- doxytag: member="libmtp.h::LIBMTP_datatype_t" ref="ga416d447e7b9b6f9e1229eda15b341808" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__types.html#ga416d447e7b9b6f9e1229eda15b341808">LIBMTP_datatype_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>These are the data types </p> </div> </div> <a class="anchor" id="ga1e5fcb2945c5e60bf5bd9e847a904fa8"></a><!-- doxytag: member="libmtp.h::LIBMTP_error_number_t" ref="ga1e5fcb2945c5e60bf5bd9e847a904fa8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__types.html#ga1e5fcb2945c5e60bf5bd9e847a904fa8">LIBMTP_error_number_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>These are the numbered error codes. You can also get string representations for errors. </p> </div> </div> <a class="anchor" id="ga34d45fa6ab19cc024029d239250a8c64"></a><!-- doxytag: member="libmtp.h::LIBMTP_filetype_t" ref="ga34d45fa6ab19cc024029d239250a8c64" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__types.html#ga34d45fa6ab19cc024029d239250a8c64">LIBMTP_filetype_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>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. </p> </div> </div> <a class="anchor" id="ga1e861e85eab855684bacad74fc6e66e1"></a><!-- doxytag: member="libmtp.h::LIBMTP_property_t" ref="ga1e861e85eab855684bacad74fc6e66e1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a></td> </tr> </table> </div> <div class="memdoc"> <p>The properties defined here are the external types used by the libmtp library interface. </p> </div> </div> </div> <hr size="1"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2 </small></address> </body> </html>