afc_8h.html 69 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.8"/>
  7. <title>libimobiledevice: libimobiledevice/afc.h File Reference</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  12. </head>
  13. <body>
  14. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  15. <div id="titlearea">
  16. <table cellspacing="0" cellpadding="0">
  17. <tbody>
  18. <tr style="height: 56px;">
  19. <td style="padding-left: 0.5em;">
  20. <div id="projectname">libimobiledevice
  21. &#160;<span id="projectnumber">1.2.0</span>
  22. </div>
  23. </td>
  24. </tr>
  25. </tbody>
  26. </table>
  27. </div>
  28. <!-- end header part -->
  29. <!-- Generated by Doxygen 1.8.8 -->
  30. <div id="navrow1" class="tabs">
  31. <ul class="tablist">
  32. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  33. <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
  34. <li class="current"><a href="files.html"><span>Files</span></a></li>
  35. </ul>
  36. </div>
  37. <div id="navrow2" class="tabs2">
  38. <ul class="tablist">
  39. <li><a href="files.html"><span>File&#160;List</span></a></li>
  40. <li><a href="globals.html"><span>Globals</span></a></li>
  41. </ul>
  42. </div>
  43. <div id="nav-path" class="navpath">
  44. <ul>
  45. <li class="navelem"><a class="el" href="dir_6f94c0669708509ba6e66291c679659c.html">libimobiledevice</a></li> </ul>
  46. </div>
  47. </div><!-- top -->
  48. <div class="header">
  49. <div class="summary">
  50. <a href="#define-members">Macros</a> &#124;
  51. <a href="#typedef-members">Typedefs</a> &#124;
  52. <a href="#enum-members">Enumerations</a> &#124;
  53. <a href="#func-members">Functions</a> </div>
  54. <div class="headertitle">
  55. <div class="title">afc.h File Reference</div> </div>
  56. </div><!--header-->
  57. <div class="contents">
  58. <p>Access the filesystem on the device.
  59. <a href="#details">More...</a></p>
  60. <table class="memberdecls">
  61. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
  62. Macros</h2></td></tr>
  63. <tr class="memitem:ab4df27e71cd0a40faaf3569c2445421d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4df27e71cd0a40faaf3569c2445421d"></a>
  64. #define&#160;</td><td class="memItemRight" valign="bottom"><b>AFC_SERVICE_NAME</b>&#160;&#160;&#160;&quot;com.apple.afc&quot;</td></tr>
  65. <tr class="separator:ab4df27e71cd0a40faaf3569c2445421d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  66. </table><table class="memberdecls">
  67. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
  68. Typedefs</h2></td></tr>
  69. <tr class="memitem:ac1304c050ebd27b1ef5aff41f0483019"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac1304c050ebd27b1ef5aff41f0483019"></a>
  70. typedef struct afc_client_private&#160;</td><td class="memItemRight" valign="bottom"><b>afc_client_private</b></td></tr>
  71. <tr class="separator:ac1304c050ebd27b1ef5aff41f0483019"><td class="memSeparator" colspan="2">&#160;</td></tr>
  72. <tr class="memitem:a06351ca31179c322c0a5eb4f13296ec7"><td class="memItemLeft" align="right" valign="top">typedef afc_client_private *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a></td></tr>
  73. <tr class="memdesc:a06351ca31179c322c0a5eb4f13296ec7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The client handle. <a href="#a06351ca31179c322c0a5eb4f13296ec7">More...</a><br /></td></tr>
  74. <tr class="separator:a06351ca31179c322c0a5eb4f13296ec7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  75. </table><table class="memberdecls">
  76. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
  77. Enumerations</h2></td></tr>
  78. <tr class="memitem:a913481f73acbd6026a4663bd7ec3f6c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a913481f73acbd6026a4663bd7ec3f6c9"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> { <br />
  79. &#160;&#160;<b>AFC_E_SUCCESS</b> = 0,
  80. <br />
  81. &#160;&#160;<b>AFC_E_UNKNOWN_ERROR</b> = 1,
  82. <br />
  83. &#160;&#160;<b>AFC_E_OP_HEADER_INVALID</b> = 2,
  84. <br />
  85. &#160;&#160;<b>AFC_E_NO_RESOURCES</b> = 3,
  86. <br />
  87. &#160;&#160;<b>AFC_E_READ_ERROR</b> = 4,
  88. <br />
  89. &#160;&#160;<b>AFC_E_WRITE_ERROR</b> = 5,
  90. <br />
  91. &#160;&#160;<b>AFC_E_UNKNOWN_PACKET_TYPE</b> = 6,
  92. <br />
  93. &#160;&#160;<b>AFC_E_INVALID_ARG</b> = 7,
  94. <br />
  95. &#160;&#160;<b>AFC_E_OBJECT_NOT_FOUND</b> = 8,
  96. <br />
  97. &#160;&#160;<b>AFC_E_OBJECT_IS_DIR</b> = 9,
  98. <br />
  99. &#160;&#160;<b>AFC_E_PERM_DENIED</b> = 10,
  100. <br />
  101. &#160;&#160;<b>AFC_E_SERVICE_NOT_CONNECTED</b> = 11,
  102. <br />
  103. &#160;&#160;<b>AFC_E_OP_TIMEOUT</b> = 12,
  104. <br />
  105. &#160;&#160;<b>AFC_E_TOO_MUCH_DATA</b> = 13,
  106. <br />
  107. &#160;&#160;<b>AFC_E_END_OF_DATA</b> = 14,
  108. <br />
  109. &#160;&#160;<b>AFC_E_OP_NOT_SUPPORTED</b> = 15,
  110. <br />
  111. &#160;&#160;<b>AFC_E_OBJECT_EXISTS</b> = 16,
  112. <br />
  113. &#160;&#160;<b>AFC_E_OBJECT_BUSY</b> = 17,
  114. <br />
  115. &#160;&#160;<b>AFC_E_NO_SPACE_LEFT</b> = 18,
  116. <br />
  117. &#160;&#160;<b>AFC_E_OP_WOULD_BLOCK</b> = 19,
  118. <br />
  119. &#160;&#160;<b>AFC_E_IO_ERROR</b> = 20,
  120. <br />
  121. &#160;&#160;<b>AFC_E_OP_INTERRUPTED</b> = 21,
  122. <br />
  123. &#160;&#160;<b>AFC_E_OP_IN_PROGRESS</b> = 22,
  124. <br />
  125. &#160;&#160;<b>AFC_E_INTERNAL_ERROR</b> = 23,
  126. <br />
  127. &#160;&#160;<b>AFC_E_MUX_ERROR</b> = 30,
  128. <br />
  129. &#160;&#160;<b>AFC_E_NO_MEM</b> = 31,
  130. <br />
  131. &#160;&#160;<b>AFC_E_NOT_ENOUGH_DATA</b> = 32,
  132. <br />
  133. &#160;&#160;<b>AFC_E_DIR_NOT_EMPTY</b> = 33,
  134. <br />
  135. &#160;&#160;<b>AFC_E_FORCE_SIGNED_TYPE</b> = -1
  136. <br />
  137. }</td></tr>
  138. <tr class="memdesc:a913481f73acbd6026a4663bd7ec3f6c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Error Codes. <br /></td></tr>
  139. <tr class="separator:a913481f73acbd6026a4663bd7ec3f6c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. <tr class="memitem:af7a2fa8f957bce530bd7b3aa8c3c3bf3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3">afc_file_mode_t</a> { <br />
  141. &#160;&#160;<a class="el" href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3ace320ad23183a226f6190ced9b964a3d">AFC_FOPEN_RDONLY</a> = 0x00000001,
  142. <br />
  143. &#160;&#160;<a class="el" href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3adf63c6ca559c2a71e3a38b03f92b83bf">AFC_FOPEN_RW</a> = 0x00000002,
  144. <br />
  145. &#160;&#160;<a class="el" href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3a5602b891683cb6ecbce94de52282c59f">AFC_FOPEN_WRONLY</a> = 0x00000003,
  146. <br />
  147. &#160;&#160;<a class="el" href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3ae06639e4e35efa0bc1087604fde1e86b">AFC_FOPEN_WR</a> = 0x00000004,
  148. <br />
  149. &#160;&#160;<a class="el" href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3a94b02ac741240ef5ca1e8355cdf164e5">AFC_FOPEN_APPEND</a> = 0x00000005,
  150. <br />
  151. &#160;&#160;<a class="el" href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3a5e28cdfc3c3a503669a4a9aaef53b183">AFC_FOPEN_RDAPPEND</a> = 0x00000006
  152. <br />
  153. }</td></tr>
  154. <tr class="memdesc:af7a2fa8f957bce530bd7b3aa8c3c3bf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flags for afc_file_open. <a href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3">More...</a><br /></td></tr>
  155. <tr class="separator:af7a2fa8f957bce530bd7b3aa8c3c3bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  156. <tr class="memitem:a1885d5e53edde8732633621768db5908"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1885d5e53edde8732633621768db5908"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a1885d5e53edde8732633621768db5908">afc_link_type_t</a> { <br />
  157. &#160;&#160;<b>AFC_HARDLINK</b> = 1,
  158. <br />
  159. &#160;&#160;<b>AFC_SYMLINK</b> = 2
  160. <br />
  161. }</td></tr>
  162. <tr class="memdesc:a1885d5e53edde8732633621768db5908"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of link for <a class="el" href="afc_8h.html#ab5ade933b44d1f913df91d1065faa33a" title="Creates a hard link or symbolic link on the device. ">afc_make_link()</a> calls. <br /></td></tr>
  163. <tr class="separator:a1885d5e53edde8732633621768db5908"><td class="memSeparator" colspan="2">&#160;</td></tr>
  164. <tr class="memitem:ab249684dc55f8ec52b31db88fff35d9f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#ab249684dc55f8ec52b31db88fff35d9f">afc_lock_op_t</a> { <br />
  165. &#160;&#160;<a class="el" href="afc_8h.html#ab249684dc55f8ec52b31db88fff35d9fad8a9e6665fb10f161b6b8f39c612c9e4">AFC_LOCK_SH</a> = 1 | 4,
  166. <br />
  167. &#160;&#160;<a class="el" href="afc_8h.html#ab249684dc55f8ec52b31db88fff35d9fac7449d6d73af14e0250d645c6d8730ff">AFC_LOCK_EX</a> = 2 | 4,
  168. <br />
  169. &#160;&#160;<a class="el" href="afc_8h.html#ab249684dc55f8ec52b31db88fff35d9facde3c1991b04c6277021250d44e3eb65">AFC_LOCK_UN</a> = 8 | 4
  170. <br />
  171. }</td></tr>
  172. <tr class="memdesc:ab249684dc55f8ec52b31db88fff35d9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lock operation flags. <a href="afc_8h.html#ab249684dc55f8ec52b31db88fff35d9f">More...</a><br /></td></tr>
  173. <tr class="separator:ab249684dc55f8ec52b31db88fff35d9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
  174. </table><table class="memberdecls">
  175. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
  176. Functions</h2></td></tr>
  177. <tr class="memitem:a1d583fa6613e8ecf0cae4d3481d2ff1e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a1d583fa6613e8ecf0cae4d3481d2ff1e">afc_client_new</a> (<a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a> device, lockdownd_service_descriptor_t service, <a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> *client)</td></tr>
  178. <tr class="memdesc:a1d583fa6613e8ecf0cae4d3481d2ff1e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Makes a connection to the AFC service on the device. <a href="#a1d583fa6613e8ecf0cae4d3481d2ff1e">More...</a><br /></td></tr>
  179. <tr class="separator:a1d583fa6613e8ecf0cae4d3481d2ff1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  180. <tr class="memitem:ab7d7f5ef576d66aab3ab6ebf13d55739"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#ab7d7f5ef576d66aab3ab6ebf13d55739">afc_client_start_service</a> (<a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a> device, <a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> *client, const char *label)</td></tr>
  181. <tr class="memdesc:ab7d7f5ef576d66aab3ab6ebf13d55739"><td class="mdescLeft">&#160;</td><td class="mdescRight">Starts a new AFC service on the specified device and connects to it. <a href="#ab7d7f5ef576d66aab3ab6ebf13d55739">More...</a><br /></td></tr>
  182. <tr class="separator:ab7d7f5ef576d66aab3ab6ebf13d55739"><td class="memSeparator" colspan="2">&#160;</td></tr>
  183. <tr class="memitem:a1cee6b357bdd7f187b7411a41c136412"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a1cee6b357bdd7f187b7411a41c136412">afc_client_free</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client)</td></tr>
  184. <tr class="memdesc:a1cee6b357bdd7f187b7411a41c136412"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees up an AFC client. <a href="#a1cee6b357bdd7f187b7411a41c136412">More...</a><br /></td></tr>
  185. <tr class="separator:a1cee6b357bdd7f187b7411a41c136412"><td class="memSeparator" colspan="2">&#160;</td></tr>
  186. <tr class="memitem:ab08695945568115d4d214b989296362a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#ab08695945568115d4d214b989296362a">afc_get_device_info</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, char ***device_information)</td></tr>
  187. <tr class="memdesc:ab08695945568115d4d214b989296362a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get device information for a connected client. <a href="#ab08695945568115d4d214b989296362a">More...</a><br /></td></tr>
  188. <tr class="separator:ab08695945568115d4d214b989296362a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  189. <tr class="memitem:a0b2afd368d027a0ea8b40b397d76542a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a0b2afd368d027a0ea8b40b397d76542a">afc_read_directory</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, const char *path, char ***directory_information)</td></tr>
  190. <tr class="memdesc:a0b2afd368d027a0ea8b40b397d76542a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets a directory listing of the directory requested. <a href="#a0b2afd368d027a0ea8b40b397d76542a">More...</a><br /></td></tr>
  191. <tr class="separator:a0b2afd368d027a0ea8b40b397d76542a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  192. <tr class="memitem:ab68adfcb71713bbf76c7527b6ddf2c68"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#ab68adfcb71713bbf76c7527b6ddf2c68">afc_get_file_info</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, const char *filename, char ***file_information)</td></tr>
  193. <tr class="memdesc:ab68adfcb71713bbf76c7527b6ddf2c68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets information about a specific file. <a href="#ab68adfcb71713bbf76c7527b6ddf2c68">More...</a><br /></td></tr>
  194. <tr class="separator:ab68adfcb71713bbf76c7527b6ddf2c68"><td class="memSeparator" colspan="2">&#160;</td></tr>
  195. <tr class="memitem:a2dbfca1d64e26daf9691ba2ddabc92ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a2dbfca1d64e26daf9691ba2ddabc92ba">afc_file_open</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, const char *filename, <a class="el" href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3">afc_file_mode_t</a> file_mode, uint64_t *handle)</td></tr>
  196. <tr class="memdesc:a2dbfca1d64e26daf9691ba2ddabc92ba"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a file on the device. <a href="#a2dbfca1d64e26daf9691ba2ddabc92ba">More...</a><br /></td></tr>
  197. <tr class="separator:a2dbfca1d64e26daf9691ba2ddabc92ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
  198. <tr class="memitem:adb90e6f46af885948a91d328ca2e8c21"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#adb90e6f46af885948a91d328ca2e8c21">afc_file_close</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, uint64_t handle)</td></tr>
  199. <tr class="memdesc:adb90e6f46af885948a91d328ca2e8c21"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes a file on the device. <a href="#adb90e6f46af885948a91d328ca2e8c21">More...</a><br /></td></tr>
  200. <tr class="separator:adb90e6f46af885948a91d328ca2e8c21"><td class="memSeparator" colspan="2">&#160;</td></tr>
  201. <tr class="memitem:a37c91f506bdab578d2eec9145fd7d9a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a37c91f506bdab578d2eec9145fd7d9a7">afc_file_lock</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, uint64_t handle, <a class="el" href="afc_8h.html#ab249684dc55f8ec52b31db88fff35d9f">afc_lock_op_t</a> operation)</td></tr>
  202. <tr class="memdesc:a37c91f506bdab578d2eec9145fd7d9a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks or unlocks a file on the device. <a href="#a37c91f506bdab578d2eec9145fd7d9a7">More...</a><br /></td></tr>
  203. <tr class="separator:a37c91f506bdab578d2eec9145fd7d9a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  204. <tr class="memitem:aa6a30ec41e4e9b7a7f1011c52917e3a3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#aa6a30ec41e4e9b7a7f1011c52917e3a3">afc_file_read</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, uint64_t handle, char *data, uint32_t length, uint32_t *bytes_read)</td></tr>
  205. <tr class="memdesc:aa6a30ec41e4e9b7a7f1011c52917e3a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attempts to the read the given number of bytes from the given file. <a href="#aa6a30ec41e4e9b7a7f1011c52917e3a3">More...</a><br /></td></tr>
  206. <tr class="separator:aa6a30ec41e4e9b7a7f1011c52917e3a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
  207. <tr class="memitem:a034289b2f220b0f56f2155537e59d2ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a034289b2f220b0f56f2155537e59d2ab">afc_file_write</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, uint64_t handle, const char *data, uint32_t length, uint32_t *bytes_written)</td></tr>
  208. <tr class="memdesc:a034289b2f220b0f56f2155537e59d2ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes a given number of bytes to a file. <a href="#a034289b2f220b0f56f2155537e59d2ab">More...</a><br /></td></tr>
  209. <tr class="separator:a034289b2f220b0f56f2155537e59d2ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
  210. <tr class="memitem:a3f0ebaea303e1fe2b84082ca40e3468d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a3f0ebaea303e1fe2b84082ca40e3468d">afc_file_seek</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, uint64_t handle, int64_t offset, int whence)</td></tr>
  211. <tr class="memdesc:a3f0ebaea303e1fe2b84082ca40e3468d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Seeks to a given position of a pre-opened file on the device. <a href="#a3f0ebaea303e1fe2b84082ca40e3468d">More...</a><br /></td></tr>
  212. <tr class="separator:a3f0ebaea303e1fe2b84082ca40e3468d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  213. <tr class="memitem:a5ba8a781ea81b2ce09d2fd8a182b3624"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a5ba8a781ea81b2ce09d2fd8a182b3624">afc_file_tell</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, uint64_t handle, uint64_t *position)</td></tr>
  214. <tr class="memdesc:a5ba8a781ea81b2ce09d2fd8a182b3624"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns current position in a pre-opened file on the device. <a href="#a5ba8a781ea81b2ce09d2fd8a182b3624">More...</a><br /></td></tr>
  215. <tr class="separator:a5ba8a781ea81b2ce09d2fd8a182b3624"><td class="memSeparator" colspan="2">&#160;</td></tr>
  216. <tr class="memitem:ad1e44fb7e9b6445841813f522705a721"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#ad1e44fb7e9b6445841813f522705a721">afc_file_truncate</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, uint64_t handle, uint64_t newsize)</td></tr>
  217. <tr class="memdesc:ad1e44fb7e9b6445841813f522705a721"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the size of a file on the device. <a href="#ad1e44fb7e9b6445841813f522705a721">More...</a><br /></td></tr>
  218. <tr class="separator:ad1e44fb7e9b6445841813f522705a721"><td class="memSeparator" colspan="2">&#160;</td></tr>
  219. <tr class="memitem:aefd69b3b2168543c06833f9507858b63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#aefd69b3b2168543c06833f9507858b63">afc_remove_path</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, const char *path)</td></tr>
  220. <tr class="memdesc:aefd69b3b2168543c06833f9507858b63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes a file or directory. <a href="#aefd69b3b2168543c06833f9507858b63">More...</a><br /></td></tr>
  221. <tr class="separator:aefd69b3b2168543c06833f9507858b63"><td class="memSeparator" colspan="2">&#160;</td></tr>
  222. <tr class="memitem:a0c783fb34679a9be39e96aeac2f38801"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a0c783fb34679a9be39e96aeac2f38801">afc_rename_path</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, const char *from, const char *to)</td></tr>
  223. <tr class="memdesc:a0c783fb34679a9be39e96aeac2f38801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Renames a file or directory on the device. <a href="#a0c783fb34679a9be39e96aeac2f38801">More...</a><br /></td></tr>
  224. <tr class="separator:a0c783fb34679a9be39e96aeac2f38801"><td class="memSeparator" colspan="2">&#160;</td></tr>
  225. <tr class="memitem:aabbd741d82ee87d3569a0c2346a47172"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#aabbd741d82ee87d3569a0c2346a47172">afc_make_directory</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, const char *path)</td></tr>
  226. <tr class="memdesc:aabbd741d82ee87d3569a0c2346a47172"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a directory on the device. <a href="#aabbd741d82ee87d3569a0c2346a47172">More...</a><br /></td></tr>
  227. <tr class="separator:aabbd741d82ee87d3569a0c2346a47172"><td class="memSeparator" colspan="2">&#160;</td></tr>
  228. <tr class="memitem:a8b2a2e73c45e378379fe3e7daddd717b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a8b2a2e73c45e378379fe3e7daddd717b">afc_truncate</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, const char *path, uint64_t newsize)</td></tr>
  229. <tr class="memdesc:a8b2a2e73c45e378379fe3e7daddd717b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the size of a file on the device without prior opening it. <a href="#a8b2a2e73c45e378379fe3e7daddd717b">More...</a><br /></td></tr>
  230. <tr class="separator:a8b2a2e73c45e378379fe3e7daddd717b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  231. <tr class="memitem:ab5ade933b44d1f913df91d1065faa33a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#ab5ade933b44d1f913df91d1065faa33a">afc_make_link</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, <a class="el" href="afc_8h.html#a1885d5e53edde8732633621768db5908">afc_link_type_t</a> linktype, const char *target, const char *linkname)</td></tr>
  232. <tr class="memdesc:ab5ade933b44d1f913df91d1065faa33a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a hard link or symbolic link on the device. <a href="#ab5ade933b44d1f913df91d1065faa33a">More...</a><br /></td></tr>
  233. <tr class="separator:ab5ade933b44d1f913df91d1065faa33a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  234. <tr class="memitem:a7783580ec92f8374e1e0836ac006cf07"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a7783580ec92f8374e1e0836ac006cf07">afc_set_file_time</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, const char *path, uint64_t mtime)</td></tr>
  235. <tr class="memdesc:a7783580ec92f8374e1e0836ac006cf07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the modification time of a file on the device. <a href="#a7783580ec92f8374e1e0836ac006cf07">More...</a><br /></td></tr>
  236. <tr class="separator:a7783580ec92f8374e1e0836ac006cf07"><td class="memSeparator" colspan="2">&#160;</td></tr>
  237. <tr class="memitem:a0ff08c085470f79c904d530f9c7e13f8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a0ff08c085470f79c904d530f9c7e13f8">afc_remove_path_and_contents</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, const char *path)</td></tr>
  238. <tr class="memdesc:a0ff08c085470f79c904d530f9c7e13f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deletes a file or directory including possible contents. <a href="#a0ff08c085470f79c904d530f9c7e13f8">More...</a><br /></td></tr>
  239. <tr class="separator:a0ff08c085470f79c904d530f9c7e13f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  240. <tr class="memitem:a6b5608bfa08dc160ef68e49c4da167d9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a6b5608bfa08dc160ef68e49c4da167d9">afc_get_device_info_key</a> (<a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> client, const char *key, char **value)</td></tr>
  241. <tr class="memdesc:a6b5608bfa08dc160ef68e49c4da167d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a specific key of the device info list for a client connection. <a href="#a6b5608bfa08dc160ef68e49c4da167d9">More...</a><br /></td></tr>
  242. <tr class="separator:a6b5608bfa08dc160ef68e49c4da167d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
  243. <tr class="memitem:a0d9bc71e361a36156c8e1e3482dc124a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="afc_8h.html#a0d9bc71e361a36156c8e1e3482dc124a">afc_dictionary_free</a> (char **dictionary)</td></tr>
  244. <tr class="memdesc:a0d9bc71e361a36156c8e1e3482dc124a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees up a char dictionary as returned by some AFC functions. <a href="#a0d9bc71e361a36156c8e1e3482dc124a">More...</a><br /></td></tr>
  245. <tr class="separator:a0d9bc71e361a36156c8e1e3482dc124a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  246. </table>
  247. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  248. <div class="textblock"><p>Access the filesystem on the device. </p>
  249. </div><h2 class="groupheader">Typedef Documentation</h2>
  250. <a class="anchor" id="a06351ca31179c322c0a5eb4f13296ec7"></a>
  251. <div class="memitem">
  252. <div class="memproto">
  253. <table class="memname">
  254. <tr>
  255. <td class="memname">typedef afc_client_private* <a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a></td>
  256. </tr>
  257. </table>
  258. </div><div class="memdoc">
  259. <p>The client handle. </p>
  260. </div>
  261. </div>
  262. <h2 class="groupheader">Enumeration Type Documentation</h2>
  263. <a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3"></a>
  264. <div class="memitem">
  265. <div class="memproto">
  266. <table class="memname">
  267. <tr>
  268. <td class="memname">enum <a class="el" href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3">afc_file_mode_t</a></td>
  269. </tr>
  270. </table>
  271. </div><div class="memdoc">
  272. <p>Flags for afc_file_open. </p>
  273. <table class="fieldtable">
  274. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3ace320ad23183a226f6190ced9b964a3d"></a>AFC_FOPEN_RDONLY&#160;</td><td class="fielddoc">
  275. <p>r O_RDONLY </p>
  276. </td></tr>
  277. <tr><td class="fieldname"><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3adf63c6ca559c2a71e3a38b03f92b83bf"></a>AFC_FOPEN_RW&#160;</td><td class="fielddoc">
  278. <p>r+ O_RDWR | O_CREAT </p>
  279. </td></tr>
  280. <tr><td class="fieldname"><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3a5602b891683cb6ecbce94de52282c59f"></a>AFC_FOPEN_WRONLY&#160;</td><td class="fielddoc">
  281. <p>w O_WRONLY | O_CREAT | O_TRUNC </p>
  282. </td></tr>
  283. <tr><td class="fieldname"><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3ae06639e4e35efa0bc1087604fde1e86b"></a>AFC_FOPEN_WR&#160;</td><td class="fielddoc">
  284. <p>w+ O_RDWR | O_CREAT | O_TRUNC </p>
  285. </td></tr>
  286. <tr><td class="fieldname"><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3a94b02ac741240ef5ca1e8355cdf164e5"></a>AFC_FOPEN_APPEND&#160;</td><td class="fielddoc">
  287. <p>a O_WRONLY | O_APPEND | O_CREAT </p>
  288. </td></tr>
  289. <tr><td class="fieldname"><a class="anchor" id="af7a2fa8f957bce530bd7b3aa8c3c3bf3a5e28cdfc3c3a503669a4a9aaef53b183"></a>AFC_FOPEN_RDAPPEND&#160;</td><td class="fielddoc">
  290. <p>a+ O_RDWR | O_APPEND | O_CREAT </p>
  291. </td></tr>
  292. </table>
  293. </div>
  294. </div>
  295. <a class="anchor" id="ab249684dc55f8ec52b31db88fff35d9f"></a>
  296. <div class="memitem">
  297. <div class="memproto">
  298. <table class="memname">
  299. <tr>
  300. <td class="memname">enum <a class="el" href="afc_8h.html#ab249684dc55f8ec52b31db88fff35d9f">afc_lock_op_t</a></td>
  301. </tr>
  302. </table>
  303. </div><div class="memdoc">
  304. <p>Lock operation flags. </p>
  305. <table class="fieldtable">
  306. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="ab249684dc55f8ec52b31db88fff35d9fad8a9e6665fb10f161b6b8f39c612c9e4"></a>AFC_LOCK_SH&#160;</td><td class="fielddoc">
  307. <p>shared lock </p>
  308. </td></tr>
  309. <tr><td class="fieldname"><a class="anchor" id="ab249684dc55f8ec52b31db88fff35d9fac7449d6d73af14e0250d645c6d8730ff"></a>AFC_LOCK_EX&#160;</td><td class="fielddoc">
  310. <p>exclusive lock </p>
  311. </td></tr>
  312. <tr><td class="fieldname"><a class="anchor" id="ab249684dc55f8ec52b31db88fff35d9facde3c1991b04c6277021250d44e3eb65"></a>AFC_LOCK_UN&#160;</td><td class="fielddoc">
  313. <p>unlock </p>
  314. </td></tr>
  315. </table>
  316. </div>
  317. </div>
  318. <h2 class="groupheader">Function Documentation</h2>
  319. <a class="anchor" id="a1cee6b357bdd7f187b7411a41c136412"></a>
  320. <div class="memitem">
  321. <div class="memproto">
  322. <table class="memname">
  323. <tr>
  324. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_client_free </td>
  325. <td>(</td>
  326. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  327. <td class="paramname"><em>client</em></td><td>)</td>
  328. <td></td>
  329. </tr>
  330. </table>
  331. </div><div class="memdoc">
  332. <p>Frees up an AFC client. </p>
  333. <p>If the connection was created by the client itself, the connection will be closed.</p>
  334. <dl class="params"><dt>Parameters</dt><dd>
  335. <table class="params">
  336. <tr><td class="paramname">client</td><td>The client to free. </td></tr>
  337. </table>
  338. </dd>
  339. </dl>
  340. </div>
  341. </div>
  342. <a class="anchor" id="a1d583fa6613e8ecf0cae4d3481d2ff1e"></a>
  343. <div class="memitem">
  344. <div class="memproto">
  345. <table class="memname">
  346. <tr>
  347. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_client_new </td>
  348. <td>(</td>
  349. <td class="paramtype"><a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a>&#160;</td>
  350. <td class="paramname"><em>device</em>, </td>
  351. </tr>
  352. <tr>
  353. <td class="paramkey"></td>
  354. <td></td>
  355. <td class="paramtype">lockdownd_service_descriptor_t&#160;</td>
  356. <td class="paramname"><em>service</em>, </td>
  357. </tr>
  358. <tr>
  359. <td class="paramkey"></td>
  360. <td></td>
  361. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> *&#160;</td>
  362. <td class="paramname"><em>client</em>&#160;</td>
  363. </tr>
  364. <tr>
  365. <td></td>
  366. <td>)</td>
  367. <td></td><td></td>
  368. </tr>
  369. </table>
  370. </div><div class="memdoc">
  371. <p>Makes a connection to the AFC service on the device. </p>
  372. <dl class="params"><dt>Parameters</dt><dd>
  373. <table class="params">
  374. <tr><td class="paramname">device</td><td>The device to connect to. </td></tr>
  375. <tr><td class="paramname">service</td><td>The service descriptor returned by lockdownd_start_service. </td></tr>
  376. <tr><td class="paramname">client</td><td>Pointer that will be set to a newly allocated afc_client_t upon successful return.</td></tr>
  377. </table>
  378. </dd>
  379. </dl>
  380. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success, AFC_E_INVALID_ARG if device or service is invalid, AFC_E_MUX_ERROR if the connection cannot be established, or AFC_E_NO_MEM if there is a memory allocation problem. </dd></dl>
  381. </div>
  382. </div>
  383. <a class="anchor" id="ab7d7f5ef576d66aab3ab6ebf13d55739"></a>
  384. <div class="memitem">
  385. <div class="memproto">
  386. <table class="memname">
  387. <tr>
  388. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_client_start_service </td>
  389. <td>(</td>
  390. <td class="paramtype"><a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a>&#160;</td>
  391. <td class="paramname"><em>device</em>, </td>
  392. </tr>
  393. <tr>
  394. <td class="paramkey"></td>
  395. <td></td>
  396. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a> *&#160;</td>
  397. <td class="paramname"><em>client</em>, </td>
  398. </tr>
  399. <tr>
  400. <td class="paramkey"></td>
  401. <td></td>
  402. <td class="paramtype">const char *&#160;</td>
  403. <td class="paramname"><em>label</em>&#160;</td>
  404. </tr>
  405. <tr>
  406. <td></td>
  407. <td>)</td>
  408. <td></td><td></td>
  409. </tr>
  410. </table>
  411. </div><div class="memdoc">
  412. <p>Starts a new AFC service on the specified device and connects to it. </p>
  413. <dl class="params"><dt>Parameters</dt><dd>
  414. <table class="params">
  415. <tr><td class="paramname">device</td><td>The device to connect to. </td></tr>
  416. <tr><td class="paramname">client</td><td>Pointer that will point to a newly allocated afc_client_t upon successful return. Must be freed using <a class="el" href="afc_8h.html#a1cee6b357bdd7f187b7411a41c136412" title="Frees up an AFC client. ">afc_client_free()</a> after use. </td></tr>
  417. <tr><td class="paramname">label</td><td>The label to use for communication. Usually the program name. Pass NULL to disable sending the label in requests to lockdownd.</td></tr>
  418. </table>
  419. </dd>
  420. </dl>
  421. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success, or an AFC_E_* error code otherwise. </dd></dl>
  422. </div>
  423. </div>
  424. <a class="anchor" id="a0d9bc71e361a36156c8e1e3482dc124a"></a>
  425. <div class="memitem">
  426. <div class="memproto">
  427. <table class="memname">
  428. <tr>
  429. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_dictionary_free </td>
  430. <td>(</td>
  431. <td class="paramtype">char **&#160;</td>
  432. <td class="paramname"><em>dictionary</em></td><td>)</td>
  433. <td></td>
  434. </tr>
  435. </table>
  436. </div><div class="memdoc">
  437. <p>Frees up a char dictionary as returned by some AFC functions. </p>
  438. <dl class="params"><dt>Parameters</dt><dd>
  439. <table class="params">
  440. <tr><td class="paramname">dictionary</td><td>The char array terminated by an empty string.</td></tr>
  441. </table>
  442. </dd>
  443. </dl>
  444. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  445. </div>
  446. </div>
  447. <a class="anchor" id="adb90e6f46af885948a91d328ca2e8c21"></a>
  448. <div class="memitem">
  449. <div class="memproto">
  450. <table class="memname">
  451. <tr>
  452. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_file_close </td>
  453. <td>(</td>
  454. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  455. <td class="paramname"><em>client</em>, </td>
  456. </tr>
  457. <tr>
  458. <td class="paramkey"></td>
  459. <td></td>
  460. <td class="paramtype">uint64_t&#160;</td>
  461. <td class="paramname"><em>handle</em>&#160;</td>
  462. </tr>
  463. <tr>
  464. <td></td>
  465. <td>)</td>
  466. <td></td><td></td>
  467. </tr>
  468. </table>
  469. </div><div class="memdoc">
  470. <p>Closes a file on the device. </p>
  471. <dl class="params"><dt>Parameters</dt><dd>
  472. <table class="params">
  473. <tr><td class="paramname">client</td><td>The client to close the file with. </td></tr>
  474. <tr><td class="paramname">handle</td><td>File handle of a previously opened file. </td></tr>
  475. </table>
  476. </dd>
  477. </dl>
  478. </div>
  479. </div>
  480. <a class="anchor" id="a37c91f506bdab578d2eec9145fd7d9a7"></a>
  481. <div class="memitem">
  482. <div class="memproto">
  483. <table class="memname">
  484. <tr>
  485. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_file_lock </td>
  486. <td>(</td>
  487. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  488. <td class="paramname"><em>client</em>, </td>
  489. </tr>
  490. <tr>
  491. <td class="paramkey"></td>
  492. <td></td>
  493. <td class="paramtype">uint64_t&#160;</td>
  494. <td class="paramname"><em>handle</em>, </td>
  495. </tr>
  496. <tr>
  497. <td class="paramkey"></td>
  498. <td></td>
  499. <td class="paramtype"><a class="el" href="afc_8h.html#ab249684dc55f8ec52b31db88fff35d9f">afc_lock_op_t</a>&#160;</td>
  500. <td class="paramname"><em>operation</em>&#160;</td>
  501. </tr>
  502. <tr>
  503. <td></td>
  504. <td>)</td>
  505. <td></td><td></td>
  506. </tr>
  507. </table>
  508. </div><div class="memdoc">
  509. <p>Locks or unlocks a file on the device. </p>
  510. <p>Makes use of flock on the device. </p><dl class="section see"><dt>See also</dt><dd><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></dd></dl>
  511. <dl class="params"><dt>Parameters</dt><dd>
  512. <table class="params">
  513. <tr><td class="paramname">client</td><td>The client to lock the file with. </td></tr>
  514. <tr><td class="paramname">handle</td><td>File handle of a previously opened file. </td></tr>
  515. <tr><td class="paramname">operation</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>
  516. </table>
  517. </dd>
  518. </dl>
  519. </div>
  520. </div>
  521. <a class="anchor" id="a2dbfca1d64e26daf9691ba2ddabc92ba"></a>
  522. <div class="memitem">
  523. <div class="memproto">
  524. <table class="memname">
  525. <tr>
  526. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_file_open </td>
  527. <td>(</td>
  528. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  529. <td class="paramname"><em>client</em>, </td>
  530. </tr>
  531. <tr>
  532. <td class="paramkey"></td>
  533. <td></td>
  534. <td class="paramtype">const char *&#160;</td>
  535. <td class="paramname"><em>filename</em>, </td>
  536. </tr>
  537. <tr>
  538. <td class="paramkey"></td>
  539. <td></td>
  540. <td class="paramtype"><a class="el" href="afc_8h.html#af7a2fa8f957bce530bd7b3aa8c3c3bf3">afc_file_mode_t</a>&#160;</td>
  541. <td class="paramname"><em>file_mode</em>, </td>
  542. </tr>
  543. <tr>
  544. <td class="paramkey"></td>
  545. <td></td>
  546. <td class="paramtype">uint64_t *&#160;</td>
  547. <td class="paramname"><em>handle</em>&#160;</td>
  548. </tr>
  549. <tr>
  550. <td></td>
  551. <td>)</td>
  552. <td></td><td></td>
  553. </tr>
  554. </table>
  555. </div><div class="memdoc">
  556. <p>Opens a file on the device. </p>
  557. <dl class="params"><dt>Parameters</dt><dd>
  558. <table class="params">
  559. <tr><td class="paramname">client</td><td>The client to use to open the file. </td></tr>
  560. <tr><td class="paramname">filename</td><td>The file to open. (must be a fully-qualified path) </td></tr>
  561. <tr><td class="paramname">file_mode</td><td>The mode to use to open the file. </td></tr>
  562. <tr><td class="paramname">handle</td><td>Pointer to a uint64_t that will hold the handle of the file</td></tr>
  563. </table>
  564. </dd>
  565. </dl>
  566. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  567. </div>
  568. </div>
  569. <a class="anchor" id="aa6a30ec41e4e9b7a7f1011c52917e3a3"></a>
  570. <div class="memitem">
  571. <div class="memproto">
  572. <table class="memname">
  573. <tr>
  574. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_file_read </td>
  575. <td>(</td>
  576. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  577. <td class="paramname"><em>client</em>, </td>
  578. </tr>
  579. <tr>
  580. <td class="paramkey"></td>
  581. <td></td>
  582. <td class="paramtype">uint64_t&#160;</td>
  583. <td class="paramname"><em>handle</em>, </td>
  584. </tr>
  585. <tr>
  586. <td class="paramkey"></td>
  587. <td></td>
  588. <td class="paramtype">char *&#160;</td>
  589. <td class="paramname"><em>data</em>, </td>
  590. </tr>
  591. <tr>
  592. <td class="paramkey"></td>
  593. <td></td>
  594. <td class="paramtype">uint32_t&#160;</td>
  595. <td class="paramname"><em>length</em>, </td>
  596. </tr>
  597. <tr>
  598. <td class="paramkey"></td>
  599. <td></td>
  600. <td class="paramtype">uint32_t *&#160;</td>
  601. <td class="paramname"><em>bytes_read</em>&#160;</td>
  602. </tr>
  603. <tr>
  604. <td></td>
  605. <td>)</td>
  606. <td></td><td></td>
  607. </tr>
  608. </table>
  609. </div><div class="memdoc">
  610. <p>Attempts to the read the given number of bytes from the given file. </p>
  611. <dl class="params"><dt>Parameters</dt><dd>
  612. <table class="params">
  613. <tr><td class="paramname">client</td><td>The relevant AFC client </td></tr>
  614. <tr><td class="paramname">handle</td><td>File handle of a previously opened file </td></tr>
  615. <tr><td class="paramname">data</td><td>The pointer to the memory region to store the read data </td></tr>
  616. <tr><td class="paramname">length</td><td>The number of bytes to read </td></tr>
  617. <tr><td class="paramname">bytes_read</td><td>The number of bytes actually read.</td></tr>
  618. </table>
  619. </dd>
  620. </dl>
  621. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  622. </div>
  623. </div>
  624. <a class="anchor" id="a3f0ebaea303e1fe2b84082ca40e3468d"></a>
  625. <div class="memitem">
  626. <div class="memproto">
  627. <table class="memname">
  628. <tr>
  629. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_file_seek </td>
  630. <td>(</td>
  631. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  632. <td class="paramname"><em>client</em>, </td>
  633. </tr>
  634. <tr>
  635. <td class="paramkey"></td>
  636. <td></td>
  637. <td class="paramtype">uint64_t&#160;</td>
  638. <td class="paramname"><em>handle</em>, </td>
  639. </tr>
  640. <tr>
  641. <td class="paramkey"></td>
  642. <td></td>
  643. <td class="paramtype">int64_t&#160;</td>
  644. <td class="paramname"><em>offset</em>, </td>
  645. </tr>
  646. <tr>
  647. <td class="paramkey"></td>
  648. <td></td>
  649. <td class="paramtype">int&#160;</td>
  650. <td class="paramname"><em>whence</em>&#160;</td>
  651. </tr>
  652. <tr>
  653. <td></td>
  654. <td>)</td>
  655. <td></td><td></td>
  656. </tr>
  657. </table>
  658. </div><div class="memdoc">
  659. <p>Seeks to a given position of a pre-opened file on the device. </p>
  660. <dl class="params"><dt>Parameters</dt><dd>
  661. <table class="params">
  662. <tr><td class="paramname">client</td><td>The client to use to seek to the position. </td></tr>
  663. <tr><td class="paramname">handle</td><td>File handle of a previously opened. </td></tr>
  664. <tr><td class="paramname">offset</td><td>Seek offset. </td></tr>
  665. <tr><td class="paramname">whence</td><td>Seeking direction, one of SEEK_SET, SEEK_CUR, or SEEK_END.</td></tr>
  666. </table>
  667. </dd>
  668. </dl>
  669. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  670. </div>
  671. </div>
  672. <a class="anchor" id="a5ba8a781ea81b2ce09d2fd8a182b3624"></a>
  673. <div class="memitem">
  674. <div class="memproto">
  675. <table class="memname">
  676. <tr>
  677. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_file_tell </td>
  678. <td>(</td>
  679. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  680. <td class="paramname"><em>client</em>, </td>
  681. </tr>
  682. <tr>
  683. <td class="paramkey"></td>
  684. <td></td>
  685. <td class="paramtype">uint64_t&#160;</td>
  686. <td class="paramname"><em>handle</em>, </td>
  687. </tr>
  688. <tr>
  689. <td class="paramkey"></td>
  690. <td></td>
  691. <td class="paramtype">uint64_t *&#160;</td>
  692. <td class="paramname"><em>position</em>&#160;</td>
  693. </tr>
  694. <tr>
  695. <td></td>
  696. <td>)</td>
  697. <td></td><td></td>
  698. </tr>
  699. </table>
  700. </div><div class="memdoc">
  701. <p>Returns current position in a pre-opened file on the device. </p>
  702. <dl class="params"><dt>Parameters</dt><dd>
  703. <table class="params">
  704. <tr><td class="paramname">client</td><td>The client to use. </td></tr>
  705. <tr><td class="paramname">handle</td><td>File handle of a previously opened file. </td></tr>
  706. <tr><td class="paramname">position</td><td>Position in bytes of indicator</td></tr>
  707. </table>
  708. </dd>
  709. </dl>
  710. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  711. </div>
  712. </div>
  713. <a class="anchor" id="ad1e44fb7e9b6445841813f522705a721"></a>
  714. <div class="memitem">
  715. <div class="memproto">
  716. <table class="memname">
  717. <tr>
  718. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_file_truncate </td>
  719. <td>(</td>
  720. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  721. <td class="paramname"><em>client</em>, </td>
  722. </tr>
  723. <tr>
  724. <td class="paramkey"></td>
  725. <td></td>
  726. <td class="paramtype">uint64_t&#160;</td>
  727. <td class="paramname"><em>handle</em>, </td>
  728. </tr>
  729. <tr>
  730. <td class="paramkey"></td>
  731. <td></td>
  732. <td class="paramtype">uint64_t&#160;</td>
  733. <td class="paramname"><em>newsize</em>&#160;</td>
  734. </tr>
  735. <tr>
  736. <td></td>
  737. <td>)</td>
  738. <td></td><td></td>
  739. </tr>
  740. </table>
  741. </div><div class="memdoc">
  742. <p>Sets the size of a file on the device. </p>
  743. <dl class="params"><dt>Parameters</dt><dd>
  744. <table class="params">
  745. <tr><td class="paramname">client</td><td>The client to use to set the file size. </td></tr>
  746. <tr><td class="paramname">handle</td><td>File handle of a previously opened file. </td></tr>
  747. <tr><td class="paramname">newsize</td><td>The size to set the file to.</td></tr>
  748. </table>
  749. </dd>
  750. </dl>
  751. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value.</dd></dl>
  752. <dl class="section note"><dt>Note</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>
  753. </div>
  754. </div>
  755. <a class="anchor" id="a034289b2f220b0f56f2155537e59d2ab"></a>
  756. <div class="memitem">
  757. <div class="memproto">
  758. <table class="memname">
  759. <tr>
  760. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_file_write </td>
  761. <td>(</td>
  762. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  763. <td class="paramname"><em>client</em>, </td>
  764. </tr>
  765. <tr>
  766. <td class="paramkey"></td>
  767. <td></td>
  768. <td class="paramtype">uint64_t&#160;</td>
  769. <td class="paramname"><em>handle</em>, </td>
  770. </tr>
  771. <tr>
  772. <td class="paramkey"></td>
  773. <td></td>
  774. <td class="paramtype">const char *&#160;</td>
  775. <td class="paramname"><em>data</em>, </td>
  776. </tr>
  777. <tr>
  778. <td class="paramkey"></td>
  779. <td></td>
  780. <td class="paramtype">uint32_t&#160;</td>
  781. <td class="paramname"><em>length</em>, </td>
  782. </tr>
  783. <tr>
  784. <td class="paramkey"></td>
  785. <td></td>
  786. <td class="paramtype">uint32_t *&#160;</td>
  787. <td class="paramname"><em>bytes_written</em>&#160;</td>
  788. </tr>
  789. <tr>
  790. <td></td>
  791. <td>)</td>
  792. <td></td><td></td>
  793. </tr>
  794. </table>
  795. </div><div class="memdoc">
  796. <p>Writes a given number of bytes to a file. </p>
  797. <dl class="params"><dt>Parameters</dt><dd>
  798. <table class="params">
  799. <tr><td class="paramname">client</td><td>The client to use to write to the file. </td></tr>
  800. <tr><td class="paramname">handle</td><td>File handle of previously opened file. </td></tr>
  801. <tr><td class="paramname">data</td><td>The data to write to the file. </td></tr>
  802. <tr><td class="paramname">length</td><td>How much data to write. </td></tr>
  803. <tr><td class="paramname">bytes_written</td><td>The number of bytes actually written to the file.</td></tr>
  804. </table>
  805. </dd>
  806. </dl>
  807. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  808. </div>
  809. </div>
  810. <a class="anchor" id="ab08695945568115d4d214b989296362a"></a>
  811. <div class="memitem">
  812. <div class="memproto">
  813. <table class="memname">
  814. <tr>
  815. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_get_device_info </td>
  816. <td>(</td>
  817. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  818. <td class="paramname"><em>client</em>, </td>
  819. </tr>
  820. <tr>
  821. <td class="paramkey"></td>
  822. <td></td>
  823. <td class="paramtype">char ***&#160;</td>
  824. <td class="paramname"><em>device_information</em>&#160;</td>
  825. </tr>
  826. <tr>
  827. <td></td>
  828. <td>)</td>
  829. <td></td><td></td>
  830. </tr>
  831. </table>
  832. </div><div class="memdoc">
  833. <p>Get device information for a connected client. </p>
  834. <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>
  835. <dl class="params"><dt>Parameters</dt><dd>
  836. <table class="params">
  837. <tr><td class="paramname">client</td><td>The client to get device info for. </td></tr>
  838. <tr><td class="paramname">device_information</td><td>A char list of device information terminated by an empty string or NULL if there was an error. Free with <a class="el" href="afc_8h.html#a0d9bc71e361a36156c8e1e3482dc124a" title="Frees up a char dictionary as returned by some AFC functions. ">afc_dictionary_free()</a>.</td></tr>
  839. </table>
  840. </dd>
  841. </dl>
  842. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  843. </div>
  844. </div>
  845. <a class="anchor" id="a6b5608bfa08dc160ef68e49c4da167d9"></a>
  846. <div class="memitem">
  847. <div class="memproto">
  848. <table class="memname">
  849. <tr>
  850. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_get_device_info_key </td>
  851. <td>(</td>
  852. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  853. <td class="paramname"><em>client</em>, </td>
  854. </tr>
  855. <tr>
  856. <td class="paramkey"></td>
  857. <td></td>
  858. <td class="paramtype">const char *&#160;</td>
  859. <td class="paramname"><em>key</em>, </td>
  860. </tr>
  861. <tr>
  862. <td class="paramkey"></td>
  863. <td></td>
  864. <td class="paramtype">char **&#160;</td>
  865. <td class="paramname"><em>value</em>&#160;</td>
  866. </tr>
  867. <tr>
  868. <td></td>
  869. <td>)</td>
  870. <td></td><td></td>
  871. </tr>
  872. </table>
  873. </div><div class="memdoc">
  874. <p>Get a specific key of the device info list for a client connection. </p>
  875. <p>Known key values are: Model, FSTotalBytes, FSFreeBytes and FSBlockSize. This is a helper function for <a class="el" href="afc_8h.html#ab08695945568115d4d214b989296362a" title="Get device information for a connected client. ">afc_get_device_info()</a>.</p>
  876. <dl class="params"><dt>Parameters</dt><dd>
  877. <table class="params">
  878. <tr><td class="paramname">client</td><td>The client to get device info for. </td></tr>
  879. <tr><td class="paramname">key</td><td>The key to get the value of. </td></tr>
  880. <tr><td class="paramname">value</td><td>The value for the key if successful or NULL otherwise.</td></tr>
  881. </table>
  882. </dd>
  883. </dl>
  884. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  885. </div>
  886. </div>
  887. <a class="anchor" id="ab68adfcb71713bbf76c7527b6ddf2c68"></a>
  888. <div class="memitem">
  889. <div class="memproto">
  890. <table class="memname">
  891. <tr>
  892. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_get_file_info </td>
  893. <td>(</td>
  894. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  895. <td class="paramname"><em>client</em>, </td>
  896. </tr>
  897. <tr>
  898. <td class="paramkey"></td>
  899. <td></td>
  900. <td class="paramtype">const char *&#160;</td>
  901. <td class="paramname"><em>filename</em>, </td>
  902. </tr>
  903. <tr>
  904. <td class="paramkey"></td>
  905. <td></td>
  906. <td class="paramtype">char ***&#160;</td>
  907. <td class="paramname"><em>file_information</em>&#160;</td>
  908. </tr>
  909. <tr>
  910. <td></td>
  911. <td>)</td>
  912. <td></td><td></td>
  913. </tr>
  914. </table>
  915. </div><div class="memdoc">
  916. <p>Gets information about a specific file. </p>
  917. <dl class="params"><dt>Parameters</dt><dd>
  918. <table class="params">
  919. <tr><td class="paramname">client</td><td>The client to use to get the information of the file. </td></tr>
  920. <tr><td class="paramname">path</td><td>The fully-qualified path to the file. </td></tr>
  921. <tr><td class="paramname">file_information</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. Free with <a class="el" href="afc_8h.html#a0d9bc71e361a36156c8e1e3482dc124a" title="Frees up a char dictionary as returned by some AFC functions. ">afc_dictionary_free()</a>.</td></tr>
  922. </table>
  923. </dd>
  924. </dl>
  925. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  926. </div>
  927. </div>
  928. <a class="anchor" id="aabbd741d82ee87d3569a0c2346a47172"></a>
  929. <div class="memitem">
  930. <div class="memproto">
  931. <table class="memname">
  932. <tr>
  933. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_make_directory </td>
  934. <td>(</td>
  935. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  936. <td class="paramname"><em>client</em>, </td>
  937. </tr>
  938. <tr>
  939. <td class="paramkey"></td>
  940. <td></td>
  941. <td class="paramtype">const char *&#160;</td>
  942. <td class="paramname"><em>path</em>&#160;</td>
  943. </tr>
  944. <tr>
  945. <td></td>
  946. <td>)</td>
  947. <td></td><td></td>
  948. </tr>
  949. </table>
  950. </div><div class="memdoc">
  951. <p>Creates a directory on the device. </p>
  952. <dl class="params"><dt>Parameters</dt><dd>
  953. <table class="params">
  954. <tr><td class="paramname">client</td><td>The client to use to make a directory. </td></tr>
  955. <tr><td class="paramname">path</td><td>The directory's path. (must be a fully-qualified path, I assume all other mkdir restrictions apply as well)</td></tr>
  956. </table>
  957. </dd>
  958. </dl>
  959. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  960. </div>
  961. </div>
  962. <a class="anchor" id="ab5ade933b44d1f913df91d1065faa33a"></a>
  963. <div class="memitem">
  964. <div class="memproto">
  965. <table class="memname">
  966. <tr>
  967. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_make_link </td>
  968. <td>(</td>
  969. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  970. <td class="paramname"><em>client</em>, </td>
  971. </tr>
  972. <tr>
  973. <td class="paramkey"></td>
  974. <td></td>
  975. <td class="paramtype"><a class="el" href="afc_8h.html#a1885d5e53edde8732633621768db5908">afc_link_type_t</a>&#160;</td>
  976. <td class="paramname"><em>linktype</em>, </td>
  977. </tr>
  978. <tr>
  979. <td class="paramkey"></td>
  980. <td></td>
  981. <td class="paramtype">const char *&#160;</td>
  982. <td class="paramname"><em>target</em>, </td>
  983. </tr>
  984. <tr>
  985. <td class="paramkey"></td>
  986. <td></td>
  987. <td class="paramtype">const char *&#160;</td>
  988. <td class="paramname"><em>linkname</em>&#160;</td>
  989. </tr>
  990. <tr>
  991. <td></td>
  992. <td>)</td>
  993. <td></td><td></td>
  994. </tr>
  995. </table>
  996. </div><div class="memdoc">
  997. <p>Creates a hard link or symbolic link on the device. </p>
  998. <dl class="params"><dt>Parameters</dt><dd>
  999. <table class="params">
  1000. <tr><td class="paramname">client</td><td>The client to use for making a link </td></tr>
  1001. <tr><td class="paramname">linktype</td><td>1 = hard link, 2 = symlink </td></tr>
  1002. <tr><td class="paramname">target</td><td>The file to be linked. </td></tr>
  1003. <tr><td class="paramname">linkname</td><td>The name of link.</td></tr>
  1004. </table>
  1005. </dd>
  1006. </dl>
  1007. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  1008. </div>
  1009. </div>
  1010. <a class="anchor" id="a0b2afd368d027a0ea8b40b397d76542a"></a>
  1011. <div class="memitem">
  1012. <div class="memproto">
  1013. <table class="memname">
  1014. <tr>
  1015. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_read_directory </td>
  1016. <td>(</td>
  1017. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  1018. <td class="paramname"><em>client</em>, </td>
  1019. </tr>
  1020. <tr>
  1021. <td class="paramkey"></td>
  1022. <td></td>
  1023. <td class="paramtype">const char *&#160;</td>
  1024. <td class="paramname"><em>path</em>, </td>
  1025. </tr>
  1026. <tr>
  1027. <td class="paramkey"></td>
  1028. <td></td>
  1029. <td class="paramtype">char ***&#160;</td>
  1030. <td class="paramname"><em>directory_information</em>&#160;</td>
  1031. </tr>
  1032. <tr>
  1033. <td></td>
  1034. <td>)</td>
  1035. <td></td><td></td>
  1036. </tr>
  1037. </table>
  1038. </div><div class="memdoc">
  1039. <p>Gets a directory listing of the directory requested. </p>
  1040. <dl class="params"><dt>Parameters</dt><dd>
  1041. <table class="params">
  1042. <tr><td class="paramname">client</td><td>The client to get a directory listing from. </td></tr>
  1043. <tr><td class="paramname">path</td><td>The directory for listing. (must be a fully-qualified path) </td></tr>
  1044. <tr><td class="paramname">directory_information</td><td>A char list of files in the directory terminated by an empty string or NULL if there was an error. Free with <a class="el" href="afc_8h.html#a0d9bc71e361a36156c8e1e3482dc124a" title="Frees up a char dictionary as returned by some AFC functions. ">afc_dictionary_free()</a>.</td></tr>
  1045. </table>
  1046. </dd>
  1047. </dl>
  1048. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  1049. </div>
  1050. </div>
  1051. <a class="anchor" id="aefd69b3b2168543c06833f9507858b63"></a>
  1052. <div class="memitem">
  1053. <div class="memproto">
  1054. <table class="memname">
  1055. <tr>
  1056. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_remove_path </td>
  1057. <td>(</td>
  1058. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  1059. <td class="paramname"><em>client</em>, </td>
  1060. </tr>
  1061. <tr>
  1062. <td class="paramkey"></td>
  1063. <td></td>
  1064. <td class="paramtype">const char *&#160;</td>
  1065. <td class="paramname"><em>path</em>&#160;</td>
  1066. </tr>
  1067. <tr>
  1068. <td></td>
  1069. <td>)</td>
  1070. <td></td><td></td>
  1071. </tr>
  1072. </table>
  1073. </div><div class="memdoc">
  1074. <p>Deletes a file or directory. </p>
  1075. <dl class="params"><dt>Parameters</dt><dd>
  1076. <table class="params">
  1077. <tr><td class="paramname">client</td><td>The client to use. </td></tr>
  1078. <tr><td class="paramname">path</td><td>The path to delete. (must be a fully-qualified path)</td></tr>
  1079. </table>
  1080. </dd>
  1081. </dl>
  1082. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  1083. </div>
  1084. </div>
  1085. <a class="anchor" id="a0ff08c085470f79c904d530f9c7e13f8"></a>
  1086. <div class="memitem">
  1087. <div class="memproto">
  1088. <table class="memname">
  1089. <tr>
  1090. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_remove_path_and_contents </td>
  1091. <td>(</td>
  1092. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  1093. <td class="paramname"><em>client</em>, </td>
  1094. </tr>
  1095. <tr>
  1096. <td class="paramkey"></td>
  1097. <td></td>
  1098. <td class="paramtype">const char *&#160;</td>
  1099. <td class="paramname"><em>path</em>&#160;</td>
  1100. </tr>
  1101. <tr>
  1102. <td></td>
  1103. <td>)</td>
  1104. <td></td><td></td>
  1105. </tr>
  1106. </table>
  1107. </div><div class="memdoc">
  1108. <p>Deletes a file or directory including possible contents. </p>
  1109. <dl class="params"><dt>Parameters</dt><dd>
  1110. <table class="params">
  1111. <tr><td class="paramname">client</td><td>The client to use. </td></tr>
  1112. <tr><td class="paramname">path</td><td>The path to delete. (must be a fully-qualified path) </td></tr>
  1113. </table>
  1114. </dd>
  1115. </dl>
  1116. <dl class="section since"><dt>Since</dt><dd>libimobiledevice 1.1.7 </dd></dl>
  1117. <dl class="section note"><dt>Note</dt><dd>Only available in iOS 6 and later.</dd></dl>
  1118. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  1119. </div>
  1120. </div>
  1121. <a class="anchor" id="a0c783fb34679a9be39e96aeac2f38801"></a>
  1122. <div class="memitem">
  1123. <div class="memproto">
  1124. <table class="memname">
  1125. <tr>
  1126. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_rename_path </td>
  1127. <td>(</td>
  1128. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  1129. <td class="paramname"><em>client</em>, </td>
  1130. </tr>
  1131. <tr>
  1132. <td class="paramkey"></td>
  1133. <td></td>
  1134. <td class="paramtype">const char *&#160;</td>
  1135. <td class="paramname"><em>from</em>, </td>
  1136. </tr>
  1137. <tr>
  1138. <td class="paramkey"></td>
  1139. <td></td>
  1140. <td class="paramtype">const char *&#160;</td>
  1141. <td class="paramname"><em>to</em>&#160;</td>
  1142. </tr>
  1143. <tr>
  1144. <td></td>
  1145. <td>)</td>
  1146. <td></td><td></td>
  1147. </tr>
  1148. </table>
  1149. </div><div class="memdoc">
  1150. <p>Renames a file or directory on the device. </p>
  1151. <dl class="params"><dt>Parameters</dt><dd>
  1152. <table class="params">
  1153. <tr><td class="paramname">client</td><td>The client to have rename. </td></tr>
  1154. <tr><td class="paramname">from</td><td>The name to rename from. (must be a fully-qualified path) </td></tr>
  1155. <tr><td class="paramname">to</td><td>The new name. (must also be a fully-qualified path)</td></tr>
  1156. </table>
  1157. </dd>
  1158. </dl>
  1159. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  1160. </div>
  1161. </div>
  1162. <a class="anchor" id="a7783580ec92f8374e1e0836ac006cf07"></a>
  1163. <div class="memitem">
  1164. <div class="memproto">
  1165. <table class="memname">
  1166. <tr>
  1167. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_set_file_time </td>
  1168. <td>(</td>
  1169. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  1170. <td class="paramname"><em>client</em>, </td>
  1171. </tr>
  1172. <tr>
  1173. <td class="paramkey"></td>
  1174. <td></td>
  1175. <td class="paramtype">const char *&#160;</td>
  1176. <td class="paramname"><em>path</em>, </td>
  1177. </tr>
  1178. <tr>
  1179. <td class="paramkey"></td>
  1180. <td></td>
  1181. <td class="paramtype">uint64_t&#160;</td>
  1182. <td class="paramname"><em>mtime</em>&#160;</td>
  1183. </tr>
  1184. <tr>
  1185. <td></td>
  1186. <td>)</td>
  1187. <td></td><td></td>
  1188. </tr>
  1189. </table>
  1190. </div><div class="memdoc">
  1191. <p>Sets the modification time of a file on the device. </p>
  1192. <dl class="params"><dt>Parameters</dt><dd>
  1193. <table class="params">
  1194. <tr><td class="paramname">client</td><td>The client to use to set the file size. </td></tr>
  1195. <tr><td class="paramname">path</td><td>Path of the file for which the modification time should be set. </td></tr>
  1196. <tr><td class="paramname">mtime</td><td>The modification time to set in nanoseconds since epoch.</td></tr>
  1197. </table>
  1198. </dd>
  1199. </dl>
  1200. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  1201. </div>
  1202. </div>
  1203. <a class="anchor" id="a8b2a2e73c45e378379fe3e7daddd717b"></a>
  1204. <div class="memitem">
  1205. <div class="memproto">
  1206. <table class="memname">
  1207. <tr>
  1208. <td class="memname"><a class="el" href="afc_8h.html#a913481f73acbd6026a4663bd7ec3f6c9">afc_error_t</a> afc_truncate </td>
  1209. <td>(</td>
  1210. <td class="paramtype"><a class="el" href="afc_8h.html#a06351ca31179c322c0a5eb4f13296ec7">afc_client_t</a>&#160;</td>
  1211. <td class="paramname"><em>client</em>, </td>
  1212. </tr>
  1213. <tr>
  1214. <td class="paramkey"></td>
  1215. <td></td>
  1216. <td class="paramtype">const char *&#160;</td>
  1217. <td class="paramname"><em>path</em>, </td>
  1218. </tr>
  1219. <tr>
  1220. <td class="paramkey"></td>
  1221. <td></td>
  1222. <td class="paramtype">uint64_t&#160;</td>
  1223. <td class="paramname"><em>newsize</em>&#160;</td>
  1224. </tr>
  1225. <tr>
  1226. <td></td>
  1227. <td>)</td>
  1228. <td></td><td></td>
  1229. </tr>
  1230. </table>
  1231. </div><div class="memdoc">
  1232. <p>Sets the size of a file on the device without prior opening it. </p>
  1233. <dl class="params"><dt>Parameters</dt><dd>
  1234. <table class="params">
  1235. <tr><td class="paramname">client</td><td>The client to use to set the file size. </td></tr>
  1236. <tr><td class="paramname">path</td><td>The path of the file to be truncated. </td></tr>
  1237. <tr><td class="paramname">newsize</td><td>The size to set the file to.</td></tr>
  1238. </table>
  1239. </dd>
  1240. </dl>
  1241. <dl class="section return"><dt>Returns</dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value. </dd></dl>
  1242. </div>
  1243. </div>
  1244. </div><!-- contents -->
  1245. <!-- start footer part -->
  1246. <hr class="footer"/><address class="footer"><small>
  1247. Generated on Wed Jan 28 2015 23:15:48 for libimobiledevice by &#160;<a href="http://www.doxygen.org/index.html">
  1248. <img class="footer" src="doxygen.png" alt="doxygen"/>
  1249. </a> 1.8.8
  1250. </small></address>
  1251. </body>
  1252. </html>