Sophie

Sophie

distrib > Fedora > 20 > x86_64 > by-pkgid > 6d84730ef4a15e14ee2d4fddc27b3190 > files > 73

libmtp-devel-1.1.9-1.fc20.x86_64.rpm

<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>libmtp: The basic device management API.</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libmtp
   &#160;<span id="projectnumber">1.1.9</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">The basic device management API.</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gaf0c0262f2776032d275a733fdd4e0c16"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf0c0262f2776032d275a733fdd4e0c16"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBMTP_STORAGE_SORTBY_NOTSORTED</b>&#160;&#160;&#160;0</td></tr>
<tr class="separator:gaf0c0262f2776032d275a733fdd4e0c16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21476e42baca479a1a34b0900cc11aa5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga21476e42baca479a1a34b0900cc11aa5"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBMTP_STORAGE_SORTBY_FREESPACE</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga21476e42baca479a1a34b0900cc11aa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga839434bebc60e476c109b3a4899e2065"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga839434bebc60e476c109b3a4899e2065"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LIBMTP_STORAGE_SORTBY_MAXSPACE</b>&#160;&#160;&#160;2</td></tr>
<tr class="separator:ga839434bebc60e476c109b3a4899e2065"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gae54131d2a1ed21292fa270921afb9d46"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga1e5fcb2945c5e60bf5bd9e847a904fa8">LIBMTP_error_number_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gae54131d2a1ed21292fa270921afb9d46">LIBMTP_Detect_Raw_Devices</a> (<a class="el" href="group__types.html#gad996bb90988813071ae277d05c355384">LIBMTP_raw_device_t</a> **, int *)</td></tr>
<tr class="separator:gae54131d2a1ed21292fa270921afb9d46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab9a9392623ddbc7724c35655e9ad4980"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gab9a9392623ddbc7724c35655e9ad4980">LIBMTP_Check_Specific_Device</a> (int busno, int devno)</td></tr>
<tr class="separator:gab9a9392623ddbc7724c35655e9ad4980"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2689705a5ee2691eebc971831df2f2f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae2689705a5ee2691eebc971831df2f2f"></a>
<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>LIBMTP_Open_Raw_Device</b> (<a class="el" href="group__types.html#gad996bb90988813071ae277d05c355384">LIBMTP_raw_device_t</a> *)</td></tr>
<tr class="separator:gae2689705a5ee2691eebc971831df2f2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8834a0dd3349ec620fff87a209396d01"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga8834a0dd3349ec620fff87a209396d01">LIBMTP_Open_Raw_Device_Uncached</a> (<a class="el" href="group__types.html#gad996bb90988813071ae277d05c355384">LIBMTP_raw_device_t</a> *)</td></tr>
<tr class="separator:ga8834a0dd3349ec620fff87a209396d01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacd19150fce8688a56746c5b4e57be3ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gacd19150fce8688a56746c5b4e57be3ff">LIBMTP_Get_First_Device</a> (void)</td></tr>
<tr class="separator:gacd19150fce8688a56746c5b4e57be3ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf398af82cc92a6631d7f1efc839bae5b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga1e5fcb2945c5e60bf5bd9e847a904fa8">LIBMTP_error_number_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gaf398af82cc92a6631d7f1efc839bae5b">LIBMTP_Get_Connected_Devices</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> **)</td></tr>
<tr class="separator:gaf398af82cc92a6631d7f1efc839bae5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga30bfcc6248f80e2c5bcb79458766776e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga30bfcc6248f80e2c5bcb79458766776e">LIBMTP_Number_Devices_In_List</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga30bfcc6248f80e2c5bcb79458766776e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga72cd1b6d79890b921a4a40ba8a24beeb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga72cd1b6d79890b921a4a40ba8a24beeb">LIBMTP_Release_Device_List</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga72cd1b6d79890b921a4a40ba8a24beeb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga55377eb5a8ff6ce2b1a557356fe12039"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga55377eb5a8ff6ce2b1a557356fe12039">LIBMTP_Release_Device</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga55377eb5a8ff6ce2b1a557356fe12039"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeabdf4e3d2f387ee357755ae356cc105"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gaeabdf4e3d2f387ee357755ae356cc105">LIBMTP_Dump_Device_Info</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:gaeabdf4e3d2f387ee357755ae356cc105"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c0533cfe243418108aaef6c46d80c28"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga8c0533cfe243418108aaef6c46d80c28">LIBMTP_Reset_Device</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga8c0533cfe243418108aaef6c46d80c28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac6f6a0170d0c7fc749149059d1041bc1"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gac6f6a0170d0c7fc749149059d1041bc1">LIBMTP_Get_Manufacturername</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:gac6f6a0170d0c7fc749149059d1041bc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga04018b47d7bfbefee40e1f6625237cbb"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga04018b47d7bfbefee40e1f6625237cbb">LIBMTP_Get_Modelname</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga04018b47d7bfbefee40e1f6625237cbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0cb71a47e08743d685ba0e6f148a7ec5"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga0cb71a47e08743d685ba0e6f148a7ec5">LIBMTP_Get_Serialnumber</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga0cb71a47e08743d685ba0e6f148a7ec5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga598bf6e7952d5c4630d43d5295f86ffb"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga598bf6e7952d5c4630d43d5295f86ffb">LIBMTP_Get_Deviceversion</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga598bf6e7952d5c4630d43d5295f86ffb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3d9d80c2239c923ee20eca28060b8188"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga3d9d80c2239c923ee20eca28060b8188">LIBMTP_Get_Friendlyname</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga3d9d80c2239c923ee20eca28060b8188"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf2b0265ed63ca3b6d11136ae3d844854"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gaf2b0265ed63ca3b6d11136ae3d844854">LIBMTP_Set_Friendlyname</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, char const *const)</td></tr>
<tr class="separator:gaf2b0265ed63ca3b6d11136ae3d844854"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga243929e37e36da1a60ec159ebdec6d29"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga243929e37e36da1a60ec159ebdec6d29">LIBMTP_Get_Syncpartner</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga243929e37e36da1a60ec159ebdec6d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab4a1ca0ef272fd81d1f99a774730fd0d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gab4a1ca0ef272fd81d1f99a774730fd0d">LIBMTP_Set_Syncpartner</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, char const *const)</td></tr>
<tr class="separator:gab4a1ca0ef272fd81d1f99a774730fd0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae76db5d99c3275da90c01c1eb735c68c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gae76db5d99c3275da90c01c1eb735c68c">LIBMTP_Get_Batterylevel</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint8_t *const, uint8_t *const)</td></tr>
<tr class="separator:gae76db5d99c3275da90c01c1eb735c68c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga18ec60e1645241cb8639e0b9e21eb8a0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga18ec60e1645241cb8639e0b9e21eb8a0">LIBMTP_Get_Secure_Time</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, char **const)</td></tr>
<tr class="separator:ga18ec60e1645241cb8639e0b9e21eb8a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga73185af9ad56df247732fdcc7a6bf62c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga73185af9ad56df247732fdcc7a6bf62c">LIBMTP_Get_Device_Certificate</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, char **const)</td></tr>
<tr class="separator:ga73185af9ad56df247732fdcc7a6bf62c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b6ada53eea9960c48be42289249e2d6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga7b6ada53eea9960c48be42289249e2d6">LIBMTP_Get_Supported_Filetypes</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint16_t **const, uint16_t *const)</td></tr>
<tr class="separator:ga7b6ada53eea9960c48be42289249e2d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade364e01e256c92f8d58904fd9a96a7d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gade364e01e256c92f8d58904fd9a96a7d">LIBMTP_Check_Capability</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, <a class="el" href="group__types.html#ga5ba3083e73649a09dc16b5b9bf9d4462">LIBMTP_devicecap_t</a>)</td></tr>
<tr class="separator:gade364e01e256c92f8d58904fd9a96a7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26fea8ac8ae3c74d5edf42077cbfd648"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__types.html#ga41ccfb3c87a5fd51643d5cf1f0e1578e">LIBMTP_error_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga26fea8ac8ae3c74d5edf42077cbfd648">LIBMTP_Get_Errorstack</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga26fea8ac8ae3c74d5edf42077cbfd648"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6c05b927310ac830c149ae3eeae94047"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga6c05b927310ac830c149ae3eeae94047">LIBMTP_Clear_Errorstack</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga6c05b927310ac830c149ae3eeae94047"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga682c81a83fa04b2caf5c962db1eaff82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga682c81a83fa04b2caf5c962db1eaff82">LIBMTP_Dump_Errorstack</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *)</td></tr>
<tr class="separator:ga682c81a83fa04b2caf5c962db1eaff82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a72804e7a444ca4f185f078369c41b1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga7a72804e7a444ca4f185f078369c41b1">LIBMTP_Get_Storage</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, int const)</td></tr>
<tr class="separator:ga7a72804e7a444ca4f185f078369c41b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21180826bcea3641d049c6aa00a35a61"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga21180826bcea3641d049c6aa00a35a61">LIBMTP_Format_Storage</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, <a class="el" href="group__types.html#gaae2dd738c78df51c7e29f97aad50f57b">LIBMTP_devicestorage_t</a> *)</td></tr>
<tr class="separator:ga21180826bcea3641d049c6aa00a35a61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeca6e1746709ae8e1f88ed3f65dc0460"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gaeca6e1746709ae8e1f88ed3f65dc0460">LIBMTP_Get_String_From_Object</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint32_t const, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const)</td></tr>
<tr class="separator:gaeca6e1746709ae8e1f88ed3f65dc0460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga06fe5201047ee0353a0954b8c12844fe"><td class="memItemLeft" align="right" valign="top">uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga06fe5201047ee0353a0954b8c12844fe">LIBMTP_Get_u64_From_Object</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint32_t const, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const, uint64_t const)</td></tr>
<tr class="separator:ga06fe5201047ee0353a0954b8c12844fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9aa8a09dc2547be982ab9ef0fdf529f3"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga9aa8a09dc2547be982ab9ef0fdf529f3">LIBMTP_Get_u32_From_Object</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint32_t const, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const, uint32_t const)</td></tr>
<tr class="separator:ga9aa8a09dc2547be982ab9ef0fdf529f3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab8e6149ef5843feecc567957d889a3fb"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gab8e6149ef5843feecc567957d889a3fb">LIBMTP_Get_u16_From_Object</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint32_t const, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const, uint16_t const)</td></tr>
<tr class="separator:gab8e6149ef5843feecc567957d889a3fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4597694df37572c607a06d971291b595"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga4597694df37572c607a06d971291b595">LIBMTP_Get_u8_From_Object</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint32_t const, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const, uint8_t const)</td></tr>
<tr class="separator:ga4597694df37572c607a06d971291b595"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0bd51bf82be1a1789ecbe35fb390cd8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gaf0bd51bf82be1a1789ecbe35fb390cd8">LIBMTP_Set_Object_String</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint32_t const, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const, char const *const)</td></tr>
<tr class="separator:gaf0bd51bf82be1a1789ecbe35fb390cd8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3186fbaa305b5be958db89cb47638e86"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga3186fbaa305b5be958db89cb47638e86">LIBMTP_Set_Object_u32</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint32_t const, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const, uint32_t const)</td></tr>
<tr class="separator:ga3186fbaa305b5be958db89cb47638e86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaaa10b7a38ed88f5437dad8b9ab580fcf"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gaaa10b7a38ed88f5437dad8b9ab580fcf">LIBMTP_Set_Object_u16</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint32_t const, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const, uint16_t const)</td></tr>
<tr class="separator:gaaa10b7a38ed88f5437dad8b9ab580fcf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3af703889d4f588e7cb774d2f43eb73"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gac3af703889d4f588e7cb774d2f43eb73">LIBMTP_Set_Object_u8</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, uint32_t const, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const, uint8_t const)</td></tr>
<tr class="separator:gac3af703889d4f588e7cb774d2f43eb73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga84afd94a977bcebd3969fd36a0225e7c"><td class="memItemLeft" align="right" valign="top">char const *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga84afd94a977bcebd3969fd36a0225e7c">LIBMTP_Get_Property_Description</a> (<a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> inproperty)</td></tr>
<tr class="separator:ga84afd94a977bcebd3969fd36a0225e7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae31eb5c37849f291de4a9ecb0b4664db"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gae31eb5c37849f291de4a9ecb0b4664db">LIBMTP_Is_Property_Supported</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const, <a class="el" href="group__types.html#ga34d45fa6ab19cc024029d239250a8c64">LIBMTP_filetype_t</a> const)</td></tr>
<tr class="separator:gae31eb5c37849f291de4a9ecb0b4664db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab484c9ffe39a1c0eb479d2fe60e30088"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#gab484c9ffe39a1c0eb479d2fe60e30088">LIBMTP_Get_Allowed_Property_Values</a> (<a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *, <a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const, <a class="el" href="group__types.html#ga34d45fa6ab19cc024029d239250a8c64">LIBMTP_filetype_t</a> const, <a class="el" href="group__types.html#ga4d63a5fc04932c12a7b273c476421b7c">LIBMTP_allowed_values_t</a> *)</td></tr>
<tr class="separator:gab484c9ffe39a1c0eb479d2fe60e30088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9062f331692893909ee19eef29164180"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__basic.html#ga9062f331692893909ee19eef29164180">LIBMTP_destroy_allowed_values_t</a> (<a class="el" href="group__types.html#ga4d63a5fc04932c12a7b273c476421b7c">LIBMTP_allowed_values_t</a> *)</td></tr>
<tr class="separator:ga9062f331692893909ee19eef29164180"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="gade364e01e256c92f8d58904fd9a96a7d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Check_Capability </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga5ba3083e73649a09dc16b5b9bf9d4462">LIBMTP_devicecap_t</a>&#160;</td>
          <td class="paramname"><em>cap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function checks if the device has some specific capabilities, in order to avoid calling APIs that may disturb the device.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to check the capability on. </td></tr>
    <tr><td class="paramname">cap</td><td>the capability to check. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if not supported, any other value means the device has the requested capability. </dd></dl>

<p>References <a class="el" href="group__types.html#gga5ba3083e73649a09dc16b5b9bf9d4462a4feb9e905fa49b0927e9cd1727e604a8">LIBMTP_DEVICECAP_EditObjects</a>, <a class="el" href="group__types.html#gga5ba3083e73649a09dc16b5b9bf9d4462a181103d0ff06a4767e7d0941f12d766e">LIBMTP_DEVICECAP_GetPartialObject</a>, <a class="el" href="group__types.html#gga5ba3083e73649a09dc16b5b9bf9d4462ad3f235ab2d6307cd0289febc72f3d36f">LIBMTP_DEVICECAP_SendPartialObject</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="gab9a9392623ddbc7724c35655e9ad4980"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Check_Specific_Device </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>busno</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>devno</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Checks if a specific device with a certain bus and device number has an MTP type device descriptor.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">busno</td><td>the bus number of the device to check </td></tr>
    <tr><td class="paramname">deviceno</td><td>the device number of the device to check </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if the device is MTP else 0 </dd></dl>

</div>
</div>
<a class="anchor" id="ga6c05b927310ac830c149ae3eeae94047"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LIBMTP_Clear_Errorstack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function clears the error stack of a device and frees any memory used by it. Call this when you're finished with using the errors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the MTP device to clear the error stack for. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#a3b13602c2c67f9dfa25d59604ff0625c">LIBMTP_mtpdevice_struct::errorstack</a>.</p>

<p>Referenced by <a class="el" href="group__basic.html#ga55377eb5a8ff6ce2b1a557356fe12039">LIBMTP_Release_Device()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9062f331692893909ee19eef29164180"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LIBMTP_destroy_allowed_values_t </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga4d63a5fc04932c12a7b273c476421b7c">LIBMTP_allowed_values_t</a> *&#160;</td>
          <td class="paramname"><em>allowed_vals</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Destroys a LIBMTP_allowed_values_t struct </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">allowed_vals</td><td>the struct to destroy </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structLIBMTP__allowed__values__struct.html#abb5888c94e6b0f4a9f4749129a6a1cab">LIBMTP_allowed_values_struct::datatype</a>, and <a class="el" href="structLIBMTP__allowed__values__struct.html#a79a36f4b675854ae2764ba3b19390bc0">LIBMTP_allowed_values_struct::is_range</a>.</p>

</div>
</div>
<a class="anchor" id="gae54131d2a1ed21292fa270921afb9d46"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#ga1e5fcb2945c5e60bf5bd9e847a904fa8">LIBMTP_error_number_t</a> LIBMTP_Detect_Raw_Devices </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gad996bb90988813071ae277d05c355384">LIBMTP_raw_device_t</a> **&#160;</td>
          <td class="paramname"><em>devices</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>numdevs</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Detect the raw MTP device descriptors and return a list of of the devices found.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">devices</td><td>a pointer to a variable that will hold the list of raw devices found. This may be NULL on return if the number of detected devices is zero. The user shall simply <code>free()</code> this variable when finished with the raw devices, in order to release memory. </td></tr>
    <tr><td class="paramname">numdevs</td><td>a pointer to an integer that will hold the number of devices in the list. This may be 0. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if successful, any other value means failure. </dd></dl>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="detect_8c-example.html#a3">detect.c</a>, and <a class="el" href="folders_8c-example.html#a7">folders.c</a>.</dd>
</dl>
<p>References <a class="el" href="structLIBMTP__raw__device__struct.html#af2dae736de12f8ad189b8ea7d0688ab8">LIBMTP_raw_device_struct::bus_location</a>, <a class="el" href="structLIBMTP__raw__device__struct.html#af01da354d13112259a3f210fecec6283">LIBMTP_raw_device_struct::device_entry</a>, <a class="el" href="structLIBMTP__device__entry__struct.html#acd9c7534a83332ae4ac4020357d2cec4">LIBMTP_device_entry_struct::device_flags</a>, <a class="el" href="structLIBMTP__raw__device__struct.html#ada1008955e7c65a933f29105a8f28104">LIBMTP_raw_device_struct::devnum</a>, <a class="el" href="structLIBMTP__device__entry__struct.html#ad392e158dfb9bb0aef58d180b98357e5">LIBMTP_device_entry_struct::product</a>, <a class="el" href="structLIBMTP__device__entry__struct.html#a450dfc3a7c9d46f998ad1599df776193">LIBMTP_device_entry_struct::product_id</a>, <a class="el" href="structLIBMTP__device__entry__struct.html#aa32c5d07072e58790a4935eca4159e9c">LIBMTP_device_entry_struct::vendor</a>, and <a class="el" href="structLIBMTP__device__entry__struct.html#a132af448075c74acbbc389d074ce1f97">LIBMTP_device_entry_struct::vendor_id</a>.</p>

<p>Referenced by <a class="el" href="group__basic.html#gaf398af82cc92a6631d7f1efc839bae5b">LIBMTP_Get_Connected_Devices()</a>, and <a class="el" href="group__basic.html#gacd19150fce8688a56746c5b4e57be3ff">LIBMTP_Get_First_Device()</a>.</p>

</div>
</div>
<a class="anchor" id="gaeabdf4e3d2f387ee357755ae356cc105"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LIBMTP_Dump_Device_Info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function dumps out a large chunk of textual information provided from the PTP protocol and additionally some extra MTP-specific information where applicable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the MTP device to report info from. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structLIBMTP__devicestorage__struct.html#a3f15e8e99dc518a3a31b3fc23b3eab75">LIBMTP_devicestorage_struct::AccessCapability</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a93bbee4f3c0c9b54ca2d4741f4f7e4db">LIBMTP_mtpdevice_struct::default_album_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#ab3c299ac4308bb8eb8c405ae3b6c9572">LIBMTP_mtpdevice_struct::default_music_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a7ce0e24aad3b885e8b484108c7bb645c">LIBMTP_mtpdevice_struct::default_organizer_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#ac9697d0889919943cf62a22c6e2e4cae">LIBMTP_mtpdevice_struct::default_picture_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a71abef440225c8eec56ee50eb1385291">LIBMTP_mtpdevice_struct::default_playlist_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a77a7a4c695459e198f9e0374bf4f9619">LIBMTP_mtpdevice_struct::default_text_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#af2fab4663a7c946e43451fe91fb4dc28">LIBMTP_mtpdevice_struct::default_video_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a369d568e5bb3733e63f446c0da0e18d7">LIBMTP_mtpdevice_struct::default_zencast_folder</a>, <a class="el" href="libusb-glue_8h.html#acaf6e1bc1ccfbb2d4f98d2e893280308">dump_usbinfo()</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a416708b61743723a10c49ba7a551055f">LIBMTP_mtpdevice_struct::extensions</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#ae41ff93259aa2e87e8fb8f78db4e3b68">LIBMTP_devicestorage_struct::FilesystemType</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#a61ef1172d034eb15e8cbe6b83ab07e89">LIBMTP_devicestorage_struct::FreeSpaceInBytes</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#a6a42fe0dd7fbd78dbbd10f5ebfe455bb">LIBMTP_devicestorage_struct::FreeSpaceInObjects</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#aee248c7a17f31d4864a67a5960e008ad">LIBMTP_devicestorage_struct::id</a>, <a class="el" href="group__basic.html#ga84afd94a977bcebd3969fd36a0225e7c">LIBMTP_Get_Property_Description()</a>, <a class="el" href="structLIBMTP__device__extension__struct.html#a379107fffb0c0674c46d0c4ff53aa115">LIBMTP_device_extension_struct::major</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#a97050d979bafab2da033e96a772ced28">LIBMTP_devicestorage_struct::MaxCapacity</a>, <a class="el" href="structLIBMTP__device__extension__struct.html#a0c383d3204d45f26575461f219ed892f">LIBMTP_device_extension_struct::minor</a>, <a class="el" href="structLIBMTP__device__extension__struct.html#a1e82e0fda0b28ae0cbff2fae51d9ff7d">LIBMTP_device_extension_struct::name</a>, <a class="el" href="structLIBMTP__device__extension__struct.html#aca88ec933ca3b747cac8bb4f80f96259">LIBMTP_device_extension_struct::next</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#ae663c1b5a8f3af8e7ecc11f865a8ed96">LIBMTP_devicestorage_struct::next</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a0a6525f626124c01213323b94e75c090">LIBMTP_mtpdevice_struct::object_bitsize</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#ae6750437e5c4cd467287ed9bcaa404ab">LIBMTP_mtpdevice_struct::storage</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#a7b72e5c878678138b6301d2fe141e34d">LIBMTP_devicestorage_struct::StorageDescription</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#ad7d42de44c4350d593e12879eedc120a">LIBMTP_devicestorage_struct::StorageType</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a5560f6638d9626ab26a2be48e9585ad1">LIBMTP_mtpdevice_struct::usbinfo</a>, and <a class="el" href="structLIBMTP__devicestorage__struct.html#a6005cd2c8f8702f7f234412892277485">LIBMTP_devicestorage_struct::VolumeIdentifier</a>.</p>

</div>
</div>
<a class="anchor" id="ga682c81a83fa04b2caf5c962db1eaff82"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LIBMTP_Dump_Errorstack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function dumps the error stack to <code>stderr</code>. (You still have to clear the stack though.) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the MTP device to dump the error stack for. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#a3b13602c2c67f9dfa25d59604ff0625c">LIBMTP_mtpdevice_struct::errorstack</a>.</p>

</div>
</div>
<a class="anchor" id="ga21180826bcea3641d049c6aa00a35a61"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Format_Storage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#gaae2dd738c78df51c7e29f97aad50f57b">LIBMTP_devicestorage_t</a> *&#160;</td>
          <td class="paramname"><em>storage</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Formats device storage (if the device supports the operation). WARNING: This WILL delete all data from the device. Make sure you've got confirmation from the user BEFORE you call this function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device containing the storage to format. </td></tr>
    <tr><td class="paramname">storage</td><td>the actual storage to format. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure. </dd></dl>

<p>References <a class="el" href="structLIBMTP__devicestorage__struct.html#aee248c7a17f31d4864a67a5960e008ad">LIBMTP_devicestorage_struct::id</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="gab484c9ffe39a1c0eb479d2fe60e30088"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Get_Allowed_Property_Values </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga34d45fa6ab19cc024029d239250a8c64">LIBMTP_filetype_t</a> const&#160;</td>
          <td class="paramname"><em>filetype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga4d63a5fc04932c12a7b273c476421b7c">LIBMTP_allowed_values_t</a> *&#160;</td>
          <td class="paramname"><em>allowed_vals</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Gets the allowed values (range or enum) for a property </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device </td></tr>
    <tr><td class="paramname">property</td><td>the property to query </td></tr>
    <tr><td class="paramname">filetype</td><td>the filetype of the object you want to set values for </td></tr>
    <tr><td class="paramname">allowed_vals</td><td>pointer to a LIBMTP_allowed_values_t struct to receive the allowed values. Call LIBMTP_destroy_allowed_values_t on this on successful completion. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure </dd></dl>

<p>References <a class="el" href="structLIBMTP__allowed__values__struct.html#abb5888c94e6b0f4a9f4749129a6a1cab">LIBMTP_allowed_values_struct::datatype</a>, <a class="el" href="structLIBMTP__allowed__values__struct.html#a79a36f4b675854ae2764ba3b19390bc0">LIBMTP_allowed_values_struct::is_range</a>, <a class="el" href="structLIBMTP__allowed__values__struct.html#a5d6f43c6e7724d9abb204017ae5cc77c">LIBMTP_allowed_values_struct::num_entries</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="gae76db5d99c3275da90c01c1eb735c68c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Get_Batterylevel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *const&#160;</td>
          <td class="paramname"><em>maximum_level</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *const&#160;</td>
          <td class="paramname"><em>current_level</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function retrieves the current battery level on the device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the battery level for. </td></tr>
    <tr><td class="paramname">maximum_level</td><td>a pointer to a variable that will hold the maximum level of the battery if the call was successful. </td></tr>
    <tr><td class="paramname">current_level</td><td>a pointer to a variable that will hold the current level of the battery if the call was successful. A value of 0 means that the device is on external power. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if the storage info was successfully retrieved, any other means failure. A typical cause of failure is that the device does not support the battery level property. </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#a0409ee5c2b1d8e6d58097cb7c1d298ec">LIBMTP_mtpdevice_struct::maximum_battery_level</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#a5560f6638d9626ab26a2be48e9585ad1">LIBMTP_mtpdevice_struct::usbinfo</a>.</p>

</div>
</div>
<a class="anchor" id="gaf398af82cc92a6631d7f1efc839bae5b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#ga1e5fcb2945c5e60bf5bd9e847a904fa8">LIBMTP_error_number_t</a> LIBMTP_Get_Connected_Devices </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> **&#160;</td>
          <td class="paramname"><em>device_list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the first connected MTP device node in the linked list of devices. Currently this only provides access to USB devices </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device_list</td><td>A list of devices ready to be used by the caller. You need to know how many there are. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Any error information gathered from device connections </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__basic.html#ga30bfcc6248f80e2c5bcb79458766776e">LIBMTP_Number_Devices_In_List()</a> </dd></dl>

<p>References <a class="el" href="group__basic.html#gae54131d2a1ed21292fa270921afb9d46">LIBMTP_Detect_Raw_Devices()</a>.</p>

</div>
</div>
<a class="anchor" id="ga73185af9ad56df247732fdcc7a6bf62c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Get_Device_Certificate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **const&#160;</td>
          <td class="paramname"><em>devcert</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function returns the device (public key) certificate as an XML document string from the device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the device certificate for. </td></tr>
    <tr><td class="paramname">devcert</td><td>the device certificate as an XML string or NULL if the call failed or the device certificate property is not supported. This string must be <code>free()</code>:ed by the caller after use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ga598bf6e7952d5c4630d43d5295f86ffb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* LIBMTP_Get_Deviceversion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This retrieves the device version (hardware and firmware version) of an MTP device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the device version for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a newly allocated UTF-8 string representing the device version. The string must be freed by the caller after use. If the call was unsuccessful this will contain NULL. </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="ga26fea8ac8ae3c74d5edf42077cbfd648"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#ga41ccfb3c87a5fd51643d5cf1f0e1578e">LIBMTP_error_t</a>* LIBMTP_Get_Errorstack </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This returns the error stack for a device in case you need to either reference the error numbers (e.g. when creating multilingual apps with multiple-language text representations for each error number) or when you need to build a multi-line error text widget or something like that. You need to call the <code>LIBMTP_Clear_Errorstack</code> to clear it when you're finished with it. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the MTP device to get the error stack for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the error stack or NULL if there are no errors on the stack. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__basic.html#ga6c05b927310ac830c149ae3eeae94047">LIBMTP_Clear_Errorstack()</a> </dd>
<dd>
<a class="el" href="group__basic.html#ga682c81a83fa04b2caf5c962db1eaff82">LIBMTP_Dump_Errorstack()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#a3b13602c2c67f9dfa25d59604ff0625c">LIBMTP_mtpdevice_struct::errorstack</a>.</p>

</div>
</div>
<a class="anchor" id="gacd19150fce8688a56746c5b4e57be3ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a>* LIBMTP_Get_First_Device </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the first (as in "first in the list of") connected MTP device. </p>
<dl class="section return"><dt>Returns</dt><dd>a device pointer. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__basic.html#gaf398af82cc92a6631d7f1efc839bae5b">LIBMTP_Get_Connected_Devices()</a> </dd></dl>

<p>References <a class="el" href="group__basic.html#gae54131d2a1ed21292fa270921afb9d46">LIBMTP_Detect_Raw_Devices()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3d9d80c2239c923ee20eca28060b8188"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* LIBMTP_Get_Friendlyname </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This retrieves the "friendly name" of an MTP device. Usually this is simply the name of the owner or something like "John Doe's Digital Audio Player". This property should be supported by all MTP devices. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the friendly name for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a newly allocated UTF-8 string representing the friendly name. The string must be freed by the caller after use. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__basic.html#gaf2b0265ed63ca3b6d11136ae3d844854">LIBMTP_Set_Friendlyname()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="gac6f6a0170d0c7fc749149059d1041bc1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* LIBMTP_Get_Manufacturername </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This retrieves the manufacturer name of an MTP device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the manufacturer name for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a newly allocated UTF-8 string representing the manufacturer name. The string must be freed by the caller after use. If the call was unsuccessful this will contain NULL. </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="ga04018b47d7bfbefee40e1f6625237cbb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* LIBMTP_Get_Modelname </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This retrieves the model name (often equal to product name) of an MTP device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the model name for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a newly allocated UTF-8 string representing the model name. The string must be freed by the caller after use. If the call was unsuccessful this will contain NULL. </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="ga84afd94a977bcebd3969fd36a0225e7c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char const* LIBMTP_Get_Property_Description </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a>&#160;</td>
          <td class="paramname"><em>inproperty</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This helper function returns a textual description for a libmtp property to be used in dialog boxes etc. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">inproperty</td><td>the libmtp internal property to get a description for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a string representing the filetype, this must <b>NOT</b> be free():ed by the caller! </dd></dl>

<p>References <a class="el" href="structpropertymap__struct.html#a2327430f706f0b31148a26e42ea61ab7">propertymap_struct::description</a>, and <a class="el" href="structpropertymap__struct.html#a608e4970422bf137d440b88343c13bc2">propertymap_struct::id</a>.</p>

<p>Referenced by <a class="el" href="group__basic.html#gaeabdf4e3d2f387ee357755ae356cc105">LIBMTP_Dump_Device_Info()</a>.</p>

</div>
</div>
<a class="anchor" id="ga18ec60e1645241cb8639e0b9e21eb8a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Get_Secure_Time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **const&#160;</td>
          <td class="paramname"><em>sectime</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function returns the secure time as an XML document string from the device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the secure time for. </td></tr>
    <tr><td class="paramname">sectime</td><td>the secure time string as an XML document or NULL if the call failed or the secure time property is not supported. This string must be <code>free()</code>:ed by the caller after use. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure. </dd></dl>

</div>
</div>
<a class="anchor" id="ga0cb71a47e08743d685ba0e6f148a7ec5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* LIBMTP_Get_Serialnumber </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This retrieves the serial number of an MTP device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the serial number for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a newly allocated UTF-8 string representing the serial number. The string must be freed by the caller after use. If the call was unsuccessful this will contain NULL. </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="ga7a72804e7a444ca4f185f078369c41b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Get_Storage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int const&#160;</td>
          <td class="paramname"><em>sortby</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function updates all the storage id's of a device and their properties, then creates a linked list and puts the list head into the device struct. It also optionally sorts this list. If you want to display storage information in your application you should call this function, then dereference the device struct (<code>device-&gt;storage</code>) to get out information on the storage.</p>
<p>You need to call this everytime you want to update the <code>device-&gt;storage</code> list, for example anytime you need to check available storage somewhere.</p>
<p><b>WARNING:</b> since this list is dynamically updated, do not reference its fields in external applications by pointer! E.g do not put a reference to any <code>char *</code> field. instead <code>strncpy()</code> it!</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the storage for. </td></tr>
    <tr><td class="paramname">sortby</td><td>an integer that determines the sorting of the storage list. Valid sort methods are defined in <a class="el" href="libmtp_8h.html">libmtp.h</a> with beginning with LIBMTP_STORAGE_SORTBY_. 0 or LIBMTP_STORAGE_SORTBY_NOTSORTED to not sort. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, 1 success but only with storage id's, storage properities could not be retrieved and -1 means failure. </dd></dl>

<p>References <a class="el" href="structLIBMTP__devicestorage__struct.html#a3f15e8e99dc518a3a31b3fc23b3eab75">LIBMTP_devicestorage_struct::AccessCapability</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#ae41ff93259aa2e87e8fb8f78db4e3b68">LIBMTP_devicestorage_struct::FilesystemType</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#a61ef1172d034eb15e8cbe6b83ab07e89">LIBMTP_devicestorage_struct::FreeSpaceInBytes</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#a6a42fe0dd7fbd78dbbd10f5ebfe455bb">LIBMTP_devicestorage_struct::FreeSpaceInObjects</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#aee248c7a17f31d4864a67a5960e008ad">LIBMTP_devicestorage_struct::id</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#a97050d979bafab2da033e96a772ced28">LIBMTP_devicestorage_struct::MaxCapacity</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#ae663c1b5a8f3af8e7ecc11f865a8ed96">LIBMTP_devicestorage_struct::next</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#ab8a3e072ddce438882c211bc913ff3f0">LIBMTP_devicestorage_struct::prev</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#ae6750437e5c4cd467287ed9bcaa404ab">LIBMTP_mtpdevice_struct::storage</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#a7b72e5c878678138b6301d2fe141e34d">LIBMTP_devicestorage_struct::StorageDescription</a>, <a class="el" href="structLIBMTP__devicestorage__struct.html#ad7d42de44c4350d593e12879eedc120a">LIBMTP_devicestorage_struct::StorageType</a>, and <a class="el" href="structLIBMTP__devicestorage__struct.html#a6005cd2c8f8702f7f234412892277485">LIBMTP_devicestorage_struct::VolumeIdentifier</a>.</p>

<p>Referenced by <a class="el" href="group__basic.html#ga8834a0dd3349ec620fff87a209396d01">LIBMTP_Open_Raw_Device_Uncached()</a>.</p>

</div>
</div>
<a class="anchor" id="gaeca6e1746709ae8e1f88ed3f65dc0460"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* LIBMTP_Get_String_From_Object </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>object_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>attribute_id</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get/set arbitrary properties. These do not update the cache; should only be used on properties not stored in structs</p>
<p>Retrieves a string from an object</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device. </td></tr>
    <tr><td class="paramname">object_id</td><td>Object reference </td></tr>
    <tr><td class="paramname">attribute_id</td><td>MTP attribute ID </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>valid string or NULL on failure. The returned string must bee <code>free()</code>:ed by the caller after use. </dd></dl>

</div>
</div>
<a class="anchor" id="ga7b6ada53eea9960c48be42289249e2d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Get_Supported_Filetypes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t **const&#160;</td>
          <td class="paramname"><em>filetypes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t *const&#160;</td>
          <td class="paramname"><em>length</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function retrieves a list of supported file types, i.e. the file types that this device claims it supports, e.g. audio file types that the device can play etc. This list is mitigated to inlcude the file types that libmtp can handle, i.e. it will not list filetypes that libmtp will handle internally like playlists and folders. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the filetype capabilities for. </td></tr>
    <tr><td class="paramname">filetypes</td><td>a pointer to a pointer that will hold the list of supported filetypes if the call was successful. This list must be <code>free()</code>:ed by the caller after use. </td></tr>
    <tr><td class="paramname">length</td><td>a pointer to a variable that will hold the length of the list of supported filetypes if the call was successful. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__files.html#ga9d920e6a6a80d9497076798c0f54ce34">LIBMTP_Get_Filetype_Description()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#a5560f6638d9626ab26a2be48e9585ad1">LIBMTP_mtpdevice_struct::usbinfo</a>.</p>

</div>
</div>
<a class="anchor" id="ga243929e37e36da1a60ec159ebdec6d29"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* LIBMTP_Get_Syncpartner </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This retrieves the syncronization partner of an MTP device. This property should be supported by all MTP devices. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to get the sync partner for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a newly allocated UTF-8 string representing the synchronization partner. The string must be freed by the caller after use. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__basic.html#gab4a1ca0ef272fd81d1f99a774730fd0d">LIBMTP_Set_Syncpartner()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="gab8e6149ef5843feecc567957d889a3fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t LIBMTP_Get_u16_From_Object </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>object_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>attribute_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t const&#160;</td>
          <td class="paramname"><em>value_default</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieves an unsigned 16-bit integer from an object attribute</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device. </td></tr>
    <tr><td class="paramname">object_id</td><td>Object reference </td></tr>
    <tr><td class="paramname">attribute_id</td><td>MTP attribute ID </td></tr>
    <tr><td class="paramname">value_default</td><td>Default value to return on failure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a value </dd></dl>

</div>
</div>
<a class="anchor" id="ga9aa8a09dc2547be982ab9ef0fdf529f3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t LIBMTP_Get_u32_From_Object </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>object_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>attribute_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>value_default</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieves an unsigned 32-bit integer from an object attribute</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device. </td></tr>
    <tr><td class="paramname">object_id</td><td>Object reference </td></tr>
    <tr><td class="paramname">attribute_id</td><td>MTP attribute ID </td></tr>
    <tr><td class="paramname">value_default</td><td>Default value to return on failure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the value </dd></dl>

</div>
</div>
<a class="anchor" id="ga06fe5201047ee0353a0954b8c12844fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t LIBMTP_Get_u64_From_Object </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>object_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>attribute_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t const&#160;</td>
          <td class="paramname"><em>value_default</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieves an unsigned 64-bit integer from an object attribute</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device. </td></tr>
    <tr><td class="paramname">object_id</td><td>Object reference </td></tr>
    <tr><td class="paramname">attribute_id</td><td>MTP attribute ID </td></tr>
    <tr><td class="paramname">value_default</td><td>Default value to return on failure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the value </dd></dl>

</div>
</div>
<a class="anchor" id="ga4597694df37572c607a06d971291b595"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t LIBMTP_Get_u8_From_Object </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>object_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>attribute_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const&#160;</td>
          <td class="paramname"><em>value_default</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Retrieves an unsigned 8-bit integer from an object attribute</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device. </td></tr>
    <tr><td class="paramname">object_id</td><td>Object reference </td></tr>
    <tr><td class="paramname">attribute_id</td><td>MTP attribute ID </td></tr>
    <tr><td class="paramname">value_default</td><td>Default value to return on failure </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a value </dd></dl>

</div>
</div>
<a class="anchor" id="gae31eb5c37849f291de4a9ecb0b4664db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Is_Property_Supported </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>property</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga34d45fa6ab19cc024029d239250a8c64">LIBMTP_filetype_t</a> const&#160;</td>
          <td class="paramname"><em>filetype</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Determine if a property is supported for a given file type </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device </td></tr>
    <tr><td class="paramname">property</td><td>the property to query </td></tr>
    <tr><td class="paramname">filetype</td><td>the filetype of the object you want to set values for </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 if not supported, positive if supported, negative on error </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="ga30bfcc6248f80e2c5bcb79458766776e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t LIBMTP_Number_Devices_In_List </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device_list</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the number of devices that are available in the listed device list </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device_list</td><td>Pointer to a linked list of devices </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Number of devices in the device list device_list </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__basic.html#gaf398af82cc92a6631d7f1efc839bae5b">LIBMTP_Get_Connected_Devices()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#a700c7642c2706250bdc45739c8864281">LIBMTP_mtpdevice_struct::next</a>.</p>

</div>
</div>
<a class="anchor" id="ga8834a0dd3349ec620fff87a209396d01"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a>* LIBMTP_Open_Raw_Device_Uncached </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gad996bb90988813071ae277d05c355384">LIBMTP_raw_device_t</a> *&#160;</td>
          <td class="paramname"><em>rawdevice</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This function opens a device from a raw device. It is the preferred way to access devices in the new interface where several devices can come and go as the library is working on a certain device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">rawdevice</td><td>the raw device to open a "real" device for. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>an open device. </dd></dl>

<p>References <a class="el" href="structLIBMTP__raw__device__struct.html#af2dae736de12f8ad189b8ea7d0688ab8">LIBMTP_raw_device_struct::bus_location</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a40c3515492293cc6c24a8ac63e17e26c">LIBMTP_mtpdevice_struct::cached</a>, <a class="el" href="libusb-glue_8h.html#a9ca4029ca4b74a9986e1e08bc1f705eb">configure_usb_device()</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a93bbee4f3c0c9b54ca2d4741f4f7e4db">LIBMTP_mtpdevice_struct::default_album_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#ab3c299ac4308bb8eb8c405ae3b6c9572">LIBMTP_mtpdevice_struct::default_music_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a7ce0e24aad3b885e8b484108c7bb645c">LIBMTP_mtpdevice_struct::default_organizer_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#ac9697d0889919943cf62a22c6e2e4cae">LIBMTP_mtpdevice_struct::default_picture_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a71abef440225c8eec56ee50eb1385291">LIBMTP_mtpdevice_struct::default_playlist_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a77a7a4c695459e198f9e0374bf4f9619">LIBMTP_mtpdevice_struct::default_text_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#af2fab4663a7c946e43451fe91fb4dc28">LIBMTP_mtpdevice_struct::default_video_folder</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a369d568e5bb3733e63f446c0da0e18d7">LIBMTP_mtpdevice_struct::default_zencast_folder</a>, <a class="el" href="structLIBMTP__raw__device__struct.html#af01da354d13112259a3f210fecec6283">LIBMTP_raw_device_struct::device_entry</a>, <a class="el" href="device-flags_8h.html#ab0ebfc1b947d5051e8a197d444eb5051">DEVICE_FLAG_FLAC_IS_UNKNOWN</a>, <a class="el" href="device-flags_8h.html#a8cc044c15567467ea88d9bf9d8da6ee0">DEVICE_FLAG_OGG_IS_UNKNOWN</a>, <a class="el" href="structLIBMTP__device__entry__struct.html#acd9c7534a83332ae4ac4020357d2cec4">LIBMTP_device_entry_struct::device_flags</a>, <a class="el" href="device-flags_8h.html#a176c8a3350d7f9048d577c112f0ec0e6">DEVICE_FLAGS_ANDROID_BUGS</a>, <a class="el" href="device-flags_8h.html#aba1e1b794984101136c0192625081e7d">DEVICE_FLAGS_ARICENT_BUGS</a>, <a class="el" href="device-flags_8h.html#a6d5e31d662059e4210cb039ed1ceee7c">DEVICE_FLAGS_SONY_NWZ_BUGS</a>, <a class="el" href="structLIBMTP__raw__device__struct.html#ada1008955e7c65a933f29105a8f28104">LIBMTP_raw_device_struct::devnum</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a3b13602c2c67f9dfa25d59604ff0625c">LIBMTP_mtpdevice_struct::errorstack</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a416708b61743723a10c49ba7a551055f">LIBMTP_mtpdevice_struct::extensions</a>, <a class="el" href="group__basic.html#ga7a72804e7a444ca4f185f078369c41b1">LIBMTP_Get_Storage()</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a0409ee5c2b1d8e6d58097cb7c1d298ec">LIBMTP_mtpdevice_struct::maximum_battery_level</a>, <a class="el" href="structLIBMTP__device__extension__struct.html#a1e82e0fda0b28ae0cbff2fae51d9ff7d">LIBMTP_device_extension_struct::name</a>, <a class="el" href="structLIBMTP__device__extension__struct.html#aca88ec933ca3b747cac8bb4f80f96259">LIBMTP_device_extension_struct::next</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#a0a6525f626124c01213323b94e75c090">LIBMTP_mtpdevice_struct::object_bitsize</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>, <a class="el" href="struct__PTP__USB.html#ad3931d8631b330627744df3c714d36cc">_PTP_USB::rawdevice</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#ae6750437e5c4cd467287ed9bcaa404ab">LIBMTP_mtpdevice_struct::storage</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#a5560f6638d9626ab26a2be48e9585ad1">LIBMTP_mtpdevice_struct::usbinfo</a>.</p>

</div>
</div>
<a class="anchor" id="ga55377eb5a8ff6ce2b1a557356fe12039"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LIBMTP_Release_Device </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This closes and releases an allocated MTP device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the MTP device to release. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#a416708b61743723a10c49ba7a551055f">LIBMTP_mtpdevice_struct::extensions</a>, <a class="el" href="group__basic.html#ga6c05b927310ac830c149ae3eeae94047">LIBMTP_Clear_Errorstack()</a>, <a class="el" href="structLIBMTP__device__extension__struct.html#a1e82e0fda0b28ae0cbff2fae51d9ff7d">LIBMTP_device_extension_struct::name</a>, <a class="el" href="structLIBMTP__device__extension__struct.html#aca88ec933ca3b747cac8bb4f80f96259">LIBMTP_device_extension_struct::next</a>, <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#a5560f6638d9626ab26a2be48e9585ad1">LIBMTP_mtpdevice_struct::usbinfo</a>.</p>

<p>Referenced by <a class="el" href="group__basic.html#ga72cd1b6d79890b921a4a40ba8a24beeb">LIBMTP_Release_Device_List()</a>.</p>

</div>
</div>
<a class="anchor" id="ga72cd1b6d79890b921a4a40ba8a24beeb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LIBMTP_Release_Device_List </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This closes and releases an allocated MTP device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the MTP device to release. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="group__basic.html#ga55377eb5a8ff6ce2b1a557356fe12039">LIBMTP_Release_Device()</a>, <a class="el" href="group__basic.html#ga72cd1b6d79890b921a4a40ba8a24beeb">LIBMTP_Release_Device_List()</a>, and <a class="el" href="structLIBMTP__mtpdevice__struct.html#a700c7642c2706250bdc45739c8864281">LIBMTP_mtpdevice_struct::next</a>.</p>

<p>Referenced by <a class="el" href="group__basic.html#ga72cd1b6d79890b921a4a40ba8a24beeb">LIBMTP_Release_Device_List()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8c0533cfe243418108aaef6c46d80c28"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Reset_Device </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This resets a device in case it supports the <code>PTP_OC_ResetDevice</code> operation code (0x1010). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to reset. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure. </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="gaf2b0265ed63ca3b6d11136ae3d844854"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Set_Friendlyname </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *const&#160;</td>
          <td class="paramname"><em>friendlyname</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the "friendly name" of an MTP device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to set the friendly name for. </td></tr>
    <tr><td class="paramname">friendlyname</td><td>the new friendly name for the device. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__basic.html#ga3d9d80c2239c923ee20eca28060b8188">LIBMTP_Get_Friendlyname()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
<a class="anchor" id="gaf0bd51bf82be1a1789ecbe35fb390cd8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Set_Object_String </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>object_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>attribute_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *const&#160;</td>
          <td class="paramname"><em>string</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets an object attribute from a string</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device. </td></tr>
    <tr><td class="paramname">object_id</td><td>Object reference </td></tr>
    <tr><td class="paramname">attribute_id</td><td>MTP attribute ID </td></tr>
    <tr><td class="paramname">string</td><td>string value to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure </dd></dl>

</div>
</div>
<a class="anchor" id="gaaa10b7a38ed88f5437dad8b9ab580fcf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Set_Object_u16 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>object_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>attribute_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t const&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets an object attribute from an unsigned 16-bit integer</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device. </td></tr>
    <tr><td class="paramname">object_id</td><td>Object reference </td></tr>
    <tr><td class="paramname">attribute_id</td><td>MTP attribute ID </td></tr>
    <tr><td class="paramname">value</td><td>16-bit unsigned integer to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure </dd></dl>

</div>
</div>
<a class="anchor" id="ga3186fbaa305b5be958db89cb47638e86"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Set_Object_u32 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>object_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>attribute_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets an object attribute from an unsigned 32-bit integer</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device. </td></tr>
    <tr><td class="paramname">object_id</td><td>Object reference </td></tr>
    <tr><td class="paramname">attribute_id</td><td>MTP attribute ID </td></tr>
    <tr><td class="paramname">value</td><td>32-bit unsigned integer to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure </dd></dl>

</div>
</div>
<a class="anchor" id="gac3af703889d4f588e7cb774d2f43eb73"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Set_Object_u8 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t const&#160;</td>
          <td class="paramname"><em>object_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__types.html#ga1e861e85eab855684bacad74fc6e66e1">LIBMTP_property_t</a> const&#160;</td>
          <td class="paramname"><em>attribute_id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t const&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets an object attribute from an unsigned 8-bit integer</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to an MTP device. </td></tr>
    <tr><td class="paramname">object_id</td><td>Object reference </td></tr>
    <tr><td class="paramname">attribute_id</td><td>MTP attribute ID </td></tr>
    <tr><td class="paramname">value</td><td>8-bit unsigned integer to set </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure </dd></dl>

</div>
</div>
<a class="anchor" id="gab4a1ca0ef272fd81d1f99a774730fd0d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int LIBMTP_Set_Syncpartner </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__types.html#gac2e20fe8cf7ca4d2426e22865073db4f">LIBMTP_mtpdevice_t</a> *&#160;</td>
          <td class="paramname"><em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char const *const&#160;</td>
          <td class="paramname"><em>syncpartner</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Sets the synchronization partner of an MTP device. Note that we have no idea what the effect of setting this to "foobar" may be. But the general idea seems to be to tell which program shall synchronize with this device and tell others to leave it alone. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">device</td><td>a pointer to the device to set the sync partner for. </td></tr>
    <tr><td class="paramname">syncpartner</td><td>the new synchronization partner for the device. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0 on success, any other value means failure. </dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="group__basic.html#ga243929e37e36da1a60ec159ebdec6d29">LIBMTP_Get_Syncpartner()</a> </dd></dl>

<p>References <a class="el" href="structLIBMTP__mtpdevice__struct.html#aca6eb02fe46e8da41adb54e048176b42">LIBMTP_mtpdevice_struct::params</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>