Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > ff72f599aeba459ecb53c28856900134 > files > 31

libimobiledevice-devel-1.0.3-1.fc14.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"/>
<title>libimobiledevice: libimobiledevice/afc.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>libimobiledevice/afc.h File Reference</h1>
<p>AFC Implementation.  
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef int16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Represents an error code.  <a href="#afa46b7e1ac472a5589d85d6a6a7104fb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structafc__client__private.html">afc_client_private</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The client handle.  <a href="#a06351ca31179c322c0a5eb4f13296ec7"></a><br/></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3">afc_file_mode_t</a> { <br/>
&nbsp;&nbsp;<a class="el" href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3ace320ad23183a226f6190ced9b964a3d">AFC_FOPEN_RDONLY</a> =  0x00000001, 
<br/>
&nbsp;&nbsp;<a class="el" href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3adf63c6ca559c2a71e3a38b03f92b83bf">AFC_FOPEN_RW</a> =  0x00000002, 
<br/>
&nbsp;&nbsp;<a class="el" href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3a5602b891683cb6ecbce94de52282c59f">AFC_FOPEN_WRONLY</a> =  0x00000003, 
<br/>
&nbsp;&nbsp;<a class="el" href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3ae06639e4e35efa0bc1087604fde1e86b">AFC_FOPEN_WR</a> =  0x00000004, 
<br/>
&nbsp;&nbsp;<a class="el" href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3a94b02ac741240ef5ca1e8355cdf164e5">AFC_FOPEN_APPEND</a> =  0x00000005, 
<br/>
&nbsp;&nbsp;<a class="el" href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3a5e28cdfc3c3a503669a4a9aaef53b183">AFC_FOPEN_RDAPPEND</a> =  0x00000006
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Flags for afc_file_open. </p>
 <a href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3">More...</a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a1885d5e53edde8732633621768db5908">afc_link_type_t</a> { <br/>
&nbsp;&nbsp;<b>AFC_HARDLINK</b> =  1, 
<br/>
&nbsp;&nbsp;<b>AFC_SYMLINK</b> =  2
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Type of link for <a class="el" href="include_2libimobiledevice_2afc_8h.html#ab5ade933b44d1f913df91d1065faa33a" title="Creates a hard link or symbolic link on the device.">afc_make_link()</a> calls. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#ab249684dc55f8ec52b31db88fff35d9f">afc_lock_op_t</a> { <br/>
&nbsp;&nbsp;<a class="el" href="include_2libimobiledevice_2afc_8h.html#ab249684dc55f8ec52b31db88fff35d9fad8a9e6665fb10f161b6b8f39c612c9e4">AFC_LOCK_SH</a> =  1 | 4, 
<br/>
&nbsp;&nbsp;<a class="el" href="include_2libimobiledevice_2afc_8h.html#ab249684dc55f8ec52b31db88fff35d9fac7449d6d73af14e0250d645c6d8730ff">AFC_LOCK_EX</a> =  2 | 4, 
<br/>
&nbsp;&nbsp;<a class="el" href="include_2libimobiledevice_2afc_8h.html#ab249684dc55f8ec52b31db88fff35d9facde3c1991b04c6277021250d44e3eb65">AFC_LOCK_UN</a> =  8 | 4
<br/>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Lock operation flags. </p>
 <a href="include_2libimobiledevice_2afc_8h.html#ab249684dc55f8ec52b31db88fff35d9f">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a1b409e6038694b8124e5e671cd528a75">afc_client_new</a> (<a class="el" href="structidevice__private.html">idevice_t</a> device, uint16_t port, <a class="el" href="structafc__client__private.html">afc_client_t</a> *client)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes a connection to the AFC service on the phone.  <a href="#a1b409e6038694b8124e5e671cd528a75"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a1cee6b357bdd7f187b7411a41c136412">afc_client_free</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disconnects an AFC client from the phone.  <a href="#a1cee6b357bdd7f187b7411a41c136412"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#ab4b5ee19121c0283364d3cee5b72cc15">afc_get_device_info</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, char ***infos)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get device info for a client connection to phone.  <a href="#ab4b5ee19121c0283364d3cee5b72cc15"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#aa5dcaf88c17b087b5140fe9a9ada21b0">afc_read_directory</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, const char *dir, char ***list)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets a directory listing of the directory requested.  <a href="#aa5dcaf88c17b087b5140fe9a9ada21b0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a0b7a62789a2208576ebc1c7794f30f13">afc_get_file_info</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, const char *filename, char ***infolist)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets information about a specific file.  <a href="#a0b7a62789a2208576ebc1c7794f30f13"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a2dbfca1d64e26daf9691ba2ddabc92ba">afc_file_open</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, const char *filename, <a class="el" href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3">afc_file_mode_t</a> file_mode, uint64_t *handle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Opens a file on the phone.  <a href="#a2dbfca1d64e26daf9691ba2ddabc92ba"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#adb90e6f46af885948a91d328ca2e8c21">afc_file_close</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, uint64_t handle)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes a file on the phone.  <a href="#adb90e6f46af885948a91d328ca2e8c21"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a37c91f506bdab578d2eec9145fd7d9a7">afc_file_lock</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, uint64_t handle, <a class="el" href="include_2libimobiledevice_2afc_8h.html#ab249684dc55f8ec52b31db88fff35d9f">afc_lock_op_t</a> operation)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Locks or unlocks a file on the phone.  <a href="#a37c91f506bdab578d2eec9145fd7d9a7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#aa6a30ec41e4e9b7a7f1011c52917e3a3">afc_file_read</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, uint64_t handle, char *data, uint32_t length, uint32_t *bytes_read)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attempts to the read the given number of bytes from the given file.  <a href="#aa6a30ec41e4e9b7a7f1011c52917e3a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a034289b2f220b0f56f2155537e59d2ab">afc_file_write</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, uint64_t handle, const char *data, uint32_t length, uint32_t *bytes_written)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Writes a given number of bytes to a file.  <a href="#a034289b2f220b0f56f2155537e59d2ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a3f0ebaea303e1fe2b84082ca40e3468d">afc_file_seek</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, uint64_t handle, int64_t offset, int whence)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Seeks to a given position of a pre-opened file on the phone.  <a href="#a3f0ebaea303e1fe2b84082ca40e3468d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a5ba8a781ea81b2ce09d2fd8a182b3624">afc_file_tell</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, uint64_t handle, uint64_t *position)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns current position in a pre-opened file on the phone.  <a href="#a5ba8a781ea81b2ce09d2fd8a182b3624"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#ad1e44fb7e9b6445841813f522705a721">afc_file_truncate</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, uint64_t handle, uint64_t newsize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of a file on the phone.  <a href="#ad1e44fb7e9b6445841813f522705a721"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#aefd69b3b2168543c06833f9507858b63">afc_remove_path</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, const char *path)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes a file or directory.  <a href="#aefd69b3b2168543c06833f9507858b63"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a0c783fb34679a9be39e96aeac2f38801">afc_rename_path</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, const char *from, const char *to)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Renames a file or directory on the phone.  <a href="#a0c783fb34679a9be39e96aeac2f38801"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a57135ac755a1312271d7218432238008">afc_make_directory</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, const char *dir)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a directory on the phone.  <a href="#a57135ac755a1312271d7218432238008"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a8b2a2e73c45e378379fe3e7daddd717b">afc_truncate</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, const char *path, uint64_t newsize)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of a file on the phone without prior opening it.  <a href="#a8b2a2e73c45e378379fe3e7daddd717b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#ab5ade933b44d1f913df91d1065faa33a">afc_make_link</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, <a class="el" href="include_2libimobiledevice_2afc_8h.html#a1885d5e53edde8732633621768db5908">afc_link_type_t</a> linktype, const char *target, const char *linkname)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a hard link or symbolic link on the device.  <a href="#ab5ade933b44d1f913df91d1065faa33a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a7783580ec92f8374e1e0836ac006cf07">afc_set_file_time</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, const char *path, uint64_t mtime)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the modification time of a file on the phone.  <a href="#a7783580ec92f8374e1e0836ac006cf07"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a6b5608bfa08dc160ef68e49c4da167d9">afc_get_device_info_key</a> (<a class="el" href="structafc__client__private.html">afc_client_t</a> client, const char *key, char **value)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a specific key of the device info list for a client connection.  <a href="#a6b5608bfa08dc160ef68e49c4da167d9"></a><br/></td></tr>
<tr><td colspan="2"><h2>Error Codes</h2></td></tr>
<tr><td colspan="2"><p><a class="anchor" id="amgrp5c244138ac975df1b1cec1afc71a6c9a"></a> </p>
<br/><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab07433a380539e391b7a5c7705e942f6"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_SUCCESS" ref="ab07433a380539e391b7a5c7705e942f6" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_SUCCESS</b>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa1926af9401f4270b0f1b564fa24b99a"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_UNKNOWN_ERROR" ref="aa1926af9401f4270b0f1b564fa24b99a" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_UNKNOWN_ERROR</b>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adee408e5e39812c6e22af1b16ad38b9d"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_OP_HEADER_INVALID" ref="adee408e5e39812c6e22af1b16ad38b9d" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_HEADER_INVALID</b>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af9f4a1e1b7c5991a085e6cca7d03069c"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_NO_RESOURCES" ref="af9f4a1e1b7c5991a085e6cca7d03069c" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_NO_RESOURCES</b>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5c53787a704f318a1378e67a2bd54821"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_READ_ERROR" ref="a5c53787a704f318a1378e67a2bd54821" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_READ_ERROR</b>&nbsp;&nbsp;&nbsp;4</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d4fa779457277f4abc52f66770144c1"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_WRITE_ERROR" ref="a7d4fa779457277f4abc52f66770144c1" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_WRITE_ERROR</b>&nbsp;&nbsp;&nbsp;5</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a05e656de9a72fff6232651f75baf0fb2"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_UNKNOWN_PACKET_TYPE" ref="a05e656de9a72fff6232651f75baf0fb2" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_UNKNOWN_PACKET_TYPE</b>&nbsp;&nbsp;&nbsp;6</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84ee95db5fefd25852cc3ed2e6c520b0"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_INVALID_ARG" ref="a84ee95db5fefd25852cc3ed2e6c520b0" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_INVALID_ARG</b>&nbsp;&nbsp;&nbsp;7</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad45141ba3f4448a4b8a59d4a2fb41477"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_OBJECT_NOT_FOUND" ref="ad45141ba3f4448a4b8a59d4a2fb41477" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_OBJECT_NOT_FOUND</b>&nbsp;&nbsp;&nbsp;8</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad61a9270ebe5fab4fe6d7abeffe5e03"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_OBJECT_IS_DIR" ref="aad61a9270ebe5fab4fe6d7abeffe5e03" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_OBJECT_IS_DIR</b>&nbsp;&nbsp;&nbsp;9</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a851876a334167f788b36bed750612b6d"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_PERM_DENIED" ref="a851876a334167f788b36bed750612b6d" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_PERM_DENIED</b>&nbsp;&nbsp;&nbsp;10</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5430bdc338ac51057460593e9829117f"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_SERVICE_NOT_CONNECTED" ref="a5430bdc338ac51057460593e9829117f" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_SERVICE_NOT_CONNECTED</b>&nbsp;&nbsp;&nbsp;11</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78934c5e55d17e0112fd4b5ebe1bad49"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_OP_TIMEOUT" ref="a78934c5e55d17e0112fd4b5ebe1bad49" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_TIMEOUT</b>&nbsp;&nbsp;&nbsp;12</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3181ea4588a8943710a4a70d7a4a653d"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_TOO_MUCH_DATA" ref="a3181ea4588a8943710a4a70d7a4a653d" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_TOO_MUCH_DATA</b>&nbsp;&nbsp;&nbsp;13</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a94fc6f077acc4be683b3d08b15373f"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_END_OF_DATA" ref="a8a94fc6f077acc4be683b3d08b15373f" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_END_OF_DATA</b>&nbsp;&nbsp;&nbsp;14</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac47b554f4ee2671f9dd4142e7fb42dff"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_OP_NOT_SUPPORTED" ref="ac47b554f4ee2671f9dd4142e7fb42dff" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_NOT_SUPPORTED</b>&nbsp;&nbsp;&nbsp;15</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a72bb97c20d794e8f81b008a422734735"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_OBJECT_EXISTS" ref="a72bb97c20d794e8f81b008a422734735" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_OBJECT_EXISTS</b>&nbsp;&nbsp;&nbsp;16</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7c77bea2fd6574c304c89d1691bc8525"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_OBJECT_BUSY" ref="a7c77bea2fd6574c304c89d1691bc8525" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_OBJECT_BUSY</b>&nbsp;&nbsp;&nbsp;17</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8ef3970c52be6569d2a0211029d6b429"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_NO_SPACE_LEFT" ref="a8ef3970c52be6569d2a0211029d6b429" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_NO_SPACE_LEFT</b>&nbsp;&nbsp;&nbsp;18</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a267bd6031da001632b9bceb2bda2368a"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_OP_WOULD_BLOCK" ref="a267bd6031da001632b9bceb2bda2368a" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_WOULD_BLOCK</b>&nbsp;&nbsp;&nbsp;19</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a700ab04a8e9a57232703ae424eb7949e"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_IO_ERROR" ref="a700ab04a8e9a57232703ae424eb7949e" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_IO_ERROR</b>&nbsp;&nbsp;&nbsp;20</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48a536950b1375cbcbdb7b4ccfce60c7"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_OP_INTERRUPTED" ref="a48a536950b1375cbcbdb7b4ccfce60c7" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_INTERRUPTED</b>&nbsp;&nbsp;&nbsp;21</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bbe91a7184d137eec542631cef82c54"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_OP_IN_PROGRESS" ref="a9bbe91a7184d137eec542631cef82c54" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_IN_PROGRESS</b>&nbsp;&nbsp;&nbsp;22</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55c4136e5ffc221debf292dfec7ba9f6"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_INTERNAL_ERROR" ref="a55c4136e5ffc221debf292dfec7ba9f6" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_INTERNAL_ERROR</b>&nbsp;&nbsp;&nbsp;23</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9dc49253e9a538348288ac1fff89d40"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_MUX_ERROR" ref="ab9dc49253e9a538348288ac1fff89d40" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_MUX_ERROR</b>&nbsp;&nbsp;&nbsp;30</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab547b433e90e0707b024f3a244464b6c"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_NO_MEM" ref="ab547b433e90e0707b024f3a244464b6c" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_NO_MEM</b>&nbsp;&nbsp;&nbsp;31</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68604b8c3198ee0f540d4634cbc031ba"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_NOT_ENOUGH_DATA" ref="a68604b8c3198ee0f540d4634cbc031ba" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_NOT_ENOUGH_DATA</b>&nbsp;&nbsp;&nbsp;32</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad021c046a5ab15a9a981d54ec0e58c44"></a><!-- doxytag: member="include/libimobiledevice/afc.h::AFC_E_DIR_NOT_EMPTY" ref="ad021c046a5ab15a9a981d54ec0e58c44" args="" -->
#define&nbsp;</td><td class="memItemRight" valign="bottom"><b>AFC_E_DIR_NOT_EMPTY</b>&nbsp;&nbsp;&nbsp;33</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>AFC Implementation. </p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a06351ca31179c322c0a5eb4f13296ec7"></a><!-- doxytag: member="afc.h::afc_client_t" ref="a06351ca31179c322c0a5eb4f13296ec7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="structafc__client__private.html">afc_client_private</a>* <a class="el" href="structafc__client__private.html">afc_client_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The client handle. </p>

</div>
</div>
<a class="anchor" id="afa46b7e1ac472a5589d85d6a6a7104fb"></a><!-- doxytag: member="afc.h::afc_error_t" ref="afa46b7e1ac472a5589d85d6a6a7104fb" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef int16_t <a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Represents an error code. </p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3"></a><!-- doxytag: member="afc.h::afc_file_mode_t" ref="af7a2fa8f957bce530bd7b3aa8c3c3bf3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3">afc_file_mode_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Flags for afc_file_open. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3ace320ad23183a226f6190ced9b964a3d"></a><!-- doxytag: member="AFC_FOPEN_RDONLY" ref="af7a2fa8f957bce530bd7b3aa8c3c3bf3ace320ad23183a226f6190ced9b964a3d" args="" -->AFC_FOPEN_RDONLY</em>&nbsp;</td><td>
<p>r O_RDONLY </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3adf63c6ca559c2a71e3a38b03f92b83bf"></a><!-- doxytag: member="AFC_FOPEN_RW" ref="af7a2fa8f957bce530bd7b3aa8c3c3bf3adf63c6ca559c2a71e3a38b03f92b83bf" args="" -->AFC_FOPEN_RW</em>&nbsp;</td><td>
<p>r+ O_RDWR | O_CREAT </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3a5602b891683cb6ecbce94de52282c59f"></a><!-- doxytag: member="AFC_FOPEN_WRONLY" ref="af7a2fa8f957bce530bd7b3aa8c3c3bf3a5602b891683cb6ecbce94de52282c59f" args="" -->AFC_FOPEN_WRONLY</em>&nbsp;</td><td>
<p>w O_WRONLY | O_CREAT | O_TRUNC </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3ae06639e4e35efa0bc1087604fde1e86b"></a><!-- doxytag: member="AFC_FOPEN_WR" ref="af7a2fa8f957bce530bd7b3aa8c3c3bf3ae06639e4e35efa0bc1087604fde1e86b" args="" -->AFC_FOPEN_WR</em>&nbsp;</td><td>
<p>w+ O_RDWR | O_CREAT | O_TRUNC </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3a94b02ac741240ef5ca1e8355cdf164e5"></a><!-- doxytag: member="AFC_FOPEN_APPEND" ref="af7a2fa8f957bce530bd7b3aa8c3c3bf3a94b02ac741240ef5ca1e8355cdf164e5" args="" -->AFC_FOPEN_APPEND</em>&nbsp;</td><td>
<p>a O_WRONLY | O_APPEND | O_CREAT </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3a5e28cdfc3c3a503669a4a9aaef53b183"></a><!-- doxytag: member="AFC_FOPEN_RDAPPEND" ref="af7a2fa8f957bce530bd7b3aa8c3c3bf3a5e28cdfc3c3a503669a4a9aaef53b183" args="" -->AFC_FOPEN_RDAPPEND</em>&nbsp;</td><td>
<p>a+ O_RDWR | O_APPEND | O_CREAT </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<a class="anchor" id="ab249684dc55f8ec52b31db88fff35d9f"></a><!-- doxytag: member="afc.h::afc_lock_op_t" ref="ab249684dc55f8ec52b31db88fff35d9f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="include_2libimobiledevice_2afc_8h.html#ab249684dc55f8ec52b31db88fff35d9f">afc_lock_op_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lock operation flags. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ab249684dc55f8ec52b31db88fff35d9fad8a9e6665fb10f161b6b8f39c612c9e4"></a><!-- doxytag: member="AFC_LOCK_SH" ref="ab249684dc55f8ec52b31db88fff35d9fad8a9e6665fb10f161b6b8f39c612c9e4" args="" -->AFC_LOCK_SH</em>&nbsp;</td><td>
<p>shared lock </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab249684dc55f8ec52b31db88fff35d9fac7449d6d73af14e0250d645c6d8730ff"></a><!-- doxytag: member="AFC_LOCK_EX" ref="ab249684dc55f8ec52b31db88fff35d9fac7449d6d73af14e0250d645c6d8730ff" args="" -->AFC_LOCK_EX</em>&nbsp;</td><td>
<p>exclusive lock </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ab249684dc55f8ec52b31db88fff35d9facde3c1991b04c6277021250d44e3eb65"></a><!-- doxytag: member="AFC_LOCK_UN" ref="ab249684dc55f8ec52b31db88fff35d9facde3c1991b04c6277021250d44e3eb65" args="" -->AFC_LOCK_UN</em>&nbsp;</td><td>
<p>unlock </p>
</td></tr>
</table>
</dd>
</dl>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a1cee6b357bdd7f187b7411a41c136412"></a><!-- doxytag: member="afc.h::afc_client_free" ref="a1cee6b357bdd7f187b7411a41c136412" args="(afc_client_t client)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_client_free </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Disconnects an AFC client from the phone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to disconnect. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1b409e6038694b8124e5e671cd528a75"></a><!-- doxytag: member="afc.h::afc_client_new" ref="a1b409e6038694b8124e5e671cd528a75" args="(idevice_t device, uint16_t port, afc_client_t *client)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_client_new </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structidevice__private.html">idevice_t</a>&nbsp;</td>
          <td class="paramname"> <em>device</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&nbsp;</td>
          <td class="paramname"> <em>port</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a> *&nbsp;</td>
          <td class="paramname"> <em>client</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Makes a connection to the AFC service on the phone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>device</em>&nbsp;</td><td>The device to connect to. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>port</em>&nbsp;</td><td>The destination port. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>Pointer that will be set to a newly allocated afc_client_t upon successful return.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success, AFC_E_INVALID_ARG when device or port is invalid, AFC_E_MUX_ERROR when the connection failed, or AFC_E_NO_MEM if there is a memory allocation problem. </dd></dl>

</div>
</div>
<a class="anchor" id="adb90e6f46af885948a91d328ca2e8c21"></a><!-- doxytag: member="afc.h::afc_file_close" ref="adb90e6f46af885948a91d328ca2e8c21" args="(afc_client_t client, uint64_t handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_file_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>handle</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Closes a file on the phone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to close the file with. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>File handle of a previously opened file. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a37c91f506bdab578d2eec9145fd7d9a7"></a><!-- doxytag: member="afc.h::afc_file_lock" ref="a37c91f506bdab578d2eec9145fd7d9a7" args="(afc_client_t client, uint64_t handle, afc_lock_op_t operation)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_file_lock </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2afc_8h.html#ab249684dc55f8ec52b31db88fff35d9f">afc_lock_op_t</a>&nbsp;</td>
          <td class="paramname"> <em>operation</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Locks or unlocks a file on the phone. </p>
<p>makes use of flock on the device, see <a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man2/flock.2.html">http://developer.apple.com/documentation/Darwin/Reference/ManPages/man2/flock.2.html</a></p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to lock the file with. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>File handle of a previously opened file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>operation</em>&nbsp;</td><td>the lock or unlock operation to perform, this is one of AFC_LOCK_SH (shared lock), AFC_LOCK_EX (exclusive lock), or AFC_LOCK_UN (unlock). </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2dbfca1d64e26daf9691ba2ddabc92ba"></a><!-- doxytag: member="afc.h::afc_file_open" ref="a2dbfca1d64e26daf9691ba2ddabc92ba" args="(afc_client_t client, const char *filename, afc_file_mode_t file_mode, uint64_t *handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_file_open </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3">afc_file_mode_t</a>&nbsp;</td>
          <td class="paramname"> <em>file_mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t *&nbsp;</td>
          <td class="paramname"> <em>handle</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens a file on the phone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use to open the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>The file to open. (must be a fully-qualified path) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>file_mode</em>&nbsp;</td><td>The mode to use to open the file. Can be AFC_FILE_READ or AFC_FILE_WRITE; the former lets you read and write, however, and the second one will *create* the file, destroying anything previously there. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>Pointer to a uint64_t that will hold the handle of the file</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="aa6a30ec41e4e9b7a7f1011c52917e3a3"></a><!-- doxytag: member="afc.h::afc_file_read" ref="aa6a30ec41e4e9b7a7f1011c52917e3a3" args="(afc_client_t client, uint64_t handle, char *data, uint32_t length, uint32_t *bytes_read)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_file_read </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&nbsp;</td>
          <td class="paramname"> <em>bytes_read</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Attempts to the read the given number of bytes from the given file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The relevant AFC client </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>File handle of a previously opened file </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The pointer to the memory region to store the read data </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>The number of bytes to read </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes_read</em>&nbsp;</td><td>The number of bytes actually read.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="a3f0ebaea303e1fe2b84082ca40e3468d"></a><!-- doxytag: member="afc.h::afc_file_seek" ref="a3f0ebaea303e1fe2b84082ca40e3468d" args="(afc_client_t client, uint64_t handle, int64_t offset, int whence)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_file_seek </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int64_t&nbsp;</td>
          <td class="paramname"> <em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>whence</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Seeks to a given position of a pre-opened file on the phone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use to seek to the position. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>File handle of a previously opened. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>Seek offset. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>whence</em>&nbsp;</td><td>Seeking direction, one of SEEK_SET, SEEK_CUR, or SEEK_END.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="a5ba8a781ea81b2ce09d2fd8a182b3624"></a><!-- doxytag: member="afc.h::afc_file_tell" ref="a5ba8a781ea81b2ce09d2fd8a182b3624" args="(afc_client_t client, uint64_t handle, uint64_t *position)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_file_tell </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t *&nbsp;</td>
          <td class="paramname"> <em>position</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns current position in a pre-opened file on the phone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>File handle of a previously opened file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>position</em>&nbsp;</td><td>Position in bytes of indicator</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="ad1e44fb7e9b6445841813f522705a721"></a><!-- doxytag: member="afc.h::afc_file_truncate" ref="ad1e44fb7e9b6445841813f522705a721" args="(afc_client_t client, uint64_t handle, uint64_t newsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_file_truncate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>newsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the size of a file on the phone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use to set the file size. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>File handle of a previously opened file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>newsize</em>&nbsp;</td><td>The size to set the file to.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value.</dd></dl>
<dl class="note"><dt><b>Note:</b></dt><dd>This function is more akin to ftruncate than truncate, and truncate calls would have to open the file before calling this, sadly. </dd></dl>

</div>
</div>
<a class="anchor" id="a034289b2f220b0f56f2155537e59d2ab"></a><!-- doxytag: member="afc.h::afc_file_write" ref="a034289b2f220b0f56f2155537e59d2ab" args="(afc_client_t client, uint64_t handle, const char *data, uint32_t length, uint32_t *bytes_written)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_file_write </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>handle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t *&nbsp;</td>
          <td class="paramname"> <em>bytes_written</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes a given number of bytes to a file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use to write to the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td>File handle of previously opened file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data to write to the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>length</em>&nbsp;</td><td>How much data to write. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes_written</em>&nbsp;</td><td>The number of bytes actually written to the file.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="ab4b5ee19121c0283364d3cee5b72cc15"></a><!-- doxytag: member="afc.h::afc_get_device_info" ref="ab4b5ee19121c0283364d3cee5b72cc15" args="(afc_client_t client, char ***infos)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_get_device_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char ***&nbsp;</td>
          <td class="paramname"> <em>infos</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get device info for a client connection to phone. </p>
<p>The device information returned is the device model as well as the free space, the total capacity and blocksize on the accessed disk partition.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to get device info for. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>infos</em>&nbsp;</td><td>A char ** list of parameters as given by AFC or NULL if there was an error.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="a6b5608bfa08dc160ef68e49c4da167d9"></a><!-- doxytag: member="afc.h::afc_get_device_info_key" ref="a6b5608bfa08dc160ef68e49c4da167d9" args="(afc_client_t client, const char *key, char **value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_get_device_info_key </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>key</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char **&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a specific key of the device info list for a client connection. </p>
<p>Known key values are: Model, FSTotalBytes, FSFreeBytes and FSBlockSize. This is a helper function for <a class="el" href="include_2libimobiledevice_2afc_8h.html#ab4b5ee19121c0283364d3cee5b72cc15" title="Get device info for a client connection to phone.">afc_get_device_info()</a>.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to get device info for. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key to get the value of. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>The value for the key if successful or NULL otherwise.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="a0b7a62789a2208576ebc1c7794f30f13"></a><!-- doxytag: member="afc.h::afc_get_file_info" ref="a0b7a62789a2208576ebc1c7794f30f13" args="(afc_client_t client, const char *filename, char ***infolist)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_get_file_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char ***&nbsp;</td>
          <td class="paramname"> <em>infolist</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets information about a specific file. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use to get the information of the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The fully-qualified path to the file. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>infolist</em>&nbsp;</td><td>Pointer to a buffer that will be filled with a NULL-terminated list of strings with the file information. Set to NULL before calling this function.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="a57135ac755a1312271d7218432238008"></a><!-- doxytag: member="afc.h::afc_make_directory" ref="a57135ac755a1312271d7218432238008" args="(afc_client_t client, const char *dir)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_make_directory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>dir</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a directory on the phone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use to make a directory. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>The directory's path. (must be a fully-qualified path, I assume all other mkdir restrictions apply as well)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="ab5ade933b44d1f913df91d1065faa33a"></a><!-- doxytag: member="afc.h::afc_make_link" ref="ab5ade933b44d1f913df91d1065faa33a" args="(afc_client_t client, afc_link_type_t linktype, const char *target, const char *linkname)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_make_link </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2afc_8h.html#a1885d5e53edde8732633621768db5908">afc_link_type_t</a>&nbsp;</td>
          <td class="paramname"> <em>linktype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>target</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>linkname</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates a hard link or symbolic link on the device. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use for making a link </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>linktype</em>&nbsp;</td><td>1 = hard link, 2 = symlink </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>target</em>&nbsp;</td><td>The file to be linked. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>linkname</em>&nbsp;</td><td>The name of link.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="aa5dcaf88c17b087b5140fe9a9ada21b0"></a><!-- doxytag: member="afc.h::afc_read_directory" ref="aa5dcaf88c17b087b5140fe9a9ada21b0" args="(afc_client_t client, const char *dir, char ***list)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_read_directory </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char ***&nbsp;</td>
          <td class="paramname"> <em>list</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Gets a directory listing of the directory requested. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to get a directory listing from. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>The directory to list. (must be a fully-qualified path) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>A char list of files in that directory, terminated by an empty string or NULL if there was an error.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="aefd69b3b2168543c06833f9507858b63"></a><!-- doxytag: member="afc.h::afc_remove_path" ref="aefd69b3b2168543c06833f9507858b63" args="(afc_client_t client, const char *path)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_remove_path </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Deletes a file or directory. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The path to delete. (must be a fully-qualified path)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="a0c783fb34679a9be39e96aeac2f38801"></a><!-- doxytag: member="afc.h::afc_rename_path" ref="a0c783fb34679a9be39e96aeac2f38801" args="(afc_client_t client, const char *from, const char *to)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_rename_path </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>to</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Renames a file or directory on the phone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to have rename. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>from</em>&nbsp;</td><td>The name to rename from. (must be a fully-qualified path) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>to</em>&nbsp;</td><td>The new name. (must also be a fully-qualified path)</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="a7783580ec92f8374e1e0836ac006cf07"></a><!-- doxytag: member="afc.h::afc_set_file_time" ref="a7783580ec92f8374e1e0836ac006cf07" args="(afc_client_t client, const char *path, uint64_t mtime)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_set_file_time </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>mtime</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the modification time of a file on the phone. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use to set the file size. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>Path of the file for which the modification time should be set. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>mtime</em>&nbsp;</td><td>The modification time to set in nanoseconds since epoch.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
<a class="anchor" id="a8b2a2e73c45e378379fe3e7daddd717b"></a><!-- doxytag: member="afc.h::afc_truncate" ref="a8b2a2e73c45e378379fe3e7daddd717b" args="(afc_client_t client, const char *path, uint64_t newsize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="include_2libimobiledevice_2afc_8h.html#afa46b7e1ac472a5589d85d6a6a7104fb">afc_error_t</a> afc_truncate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structafc__client__private.html">afc_client_t</a>&nbsp;</td>
          <td class="paramname"> <em>client</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>path</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint64_t&nbsp;</td>
          <td class="paramname"> <em>newsize</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the size of a file on the phone without prior opening it. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>client</em>&nbsp;</td><td>The client to use to set the file size. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The path of the file to be truncated. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>newsize</em>&nbsp;</td><td>The size to set the file to.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>

</div>
</div>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Mon Oct 4 16:38:48 2010 for libimobiledevice by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>