1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>libiphone: libiphone/afc.h File Reference</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
7
<!-- Generated by Doxygen 1.5.6 -->
8
<div class="navigation" id="top">
11
<li><a href="index.html"><span>Main Page</span></a></li>
12
<li class="current"><a href="files.html"><span>Files</span></a></li>
16
<div class="contents">
17
<h1>libiphone/afc.h File Reference</h1>AFC Implementation. <a href="#_details">More...</a>
19
<table border="0" cellpadding="0" cellspacing="0">
21
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
22
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b07433a380539e391b7a5c7705e942f6"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_SUCCESS" ref="b07433a380539e391b7a5c7705e942f6" args="" -->
23
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_SUCCESS</b> 0</td></tr>
25
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a1926af9401f4270b0f1b564fa24b99a"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_UNKNOWN_ERROR" ref="a1926af9401f4270b0f1b564fa24b99a" args="" -->
26
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_UNKNOWN_ERROR</b> 1</td></tr>
28
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dee408e5e39812c6e22af1b16ad38b9d"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_OP_HEADER_INVALID" ref="dee408e5e39812c6e22af1b16ad38b9d" args="" -->
29
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_HEADER_INVALID</b> 2</td></tr>
31
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f9f4a1e1b7c5991a085e6cca7d03069c"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_NO_RESOURCES" ref="f9f4a1e1b7c5991a085e6cca7d03069c" args="" -->
32
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_NO_RESOURCES</b> 3</td></tr>
34
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5c53787a704f318a1378e67a2bd54821"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_READ_ERROR" ref="5c53787a704f318a1378e67a2bd54821" args="" -->
35
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_READ_ERROR</b> 4</td></tr>
37
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7d4fa779457277f4abc52f66770144c1"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_WRITE_ERROR" ref="7d4fa779457277f4abc52f66770144c1" args="" -->
38
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_WRITE_ERROR</b> 5</td></tr>
40
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05e656de9a72fff6232651f75baf0fb2"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_UNKNOWN_PACKET_TYPE" ref="05e656de9a72fff6232651f75baf0fb2" args="" -->
41
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_UNKNOWN_PACKET_TYPE</b> 6</td></tr>
43
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb24acbfc2553a31ddc93e89763a6671"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_INVALID_ARGUMENT" ref="eb24acbfc2553a31ddc93e89763a6671" args="" -->
44
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_INVALID_ARGUMENT</b> 7</td></tr>
46
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d45141ba3f4448a4b8a59d4a2fb41477"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_OBJECT_NOT_FOUND" ref="d45141ba3f4448a4b8a59d4a2fb41477" args="" -->
47
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_OBJECT_NOT_FOUND</b> 8</td></tr>
49
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad61a9270ebe5fab4fe6d7abeffe5e03"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_OBJECT_IS_DIR" ref="ad61a9270ebe5fab4fe6d7abeffe5e03" args="" -->
50
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_OBJECT_IS_DIR</b> 9</td></tr>
52
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="851876a334167f788b36bed750612b6d"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_PERM_DENIED" ref="851876a334167f788b36bed750612b6d" args="" -->
53
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_PERM_DENIED</b> 10</td></tr>
55
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5430bdc338ac51057460593e9829117f"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_SERVICE_NOT_CONNECTED" ref="5430bdc338ac51057460593e9829117f" args="" -->
56
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_SERVICE_NOT_CONNECTED</b> 11</td></tr>
58
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="78934c5e55d17e0112fd4b5ebe1bad49"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_OP_TIMEOUT" ref="78934c5e55d17e0112fd4b5ebe1bad49" args="" -->
59
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_TIMEOUT</b> 12</td></tr>
61
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3181ea4588a8943710a4a70d7a4a653d"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_TOO_MUCH_DATA" ref="3181ea4588a8943710a4a70d7a4a653d" args="" -->
62
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_TOO_MUCH_DATA</b> 13</td></tr>
64
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a94fc6f077acc4be683b3d08b15373f"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_END_OF_DATA" ref="8a94fc6f077acc4be683b3d08b15373f" args="" -->
65
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_END_OF_DATA</b> 14</td></tr>
67
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c47b554f4ee2671f9dd4142e7fb42dff"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_OP_NOT_SUPPORTED" ref="c47b554f4ee2671f9dd4142e7fb42dff" args="" -->
68
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_NOT_SUPPORTED</b> 15</td></tr>
70
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="72bb97c20d794e8f81b008a422734735"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_OBJECT_EXISTS" ref="72bb97c20d794e8f81b008a422734735" args="" -->
71
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_OBJECT_EXISTS</b> 16</td></tr>
73
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7c77bea2fd6574c304c89d1691bc8525"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_OBJECT_BUSY" ref="7c77bea2fd6574c304c89d1691bc8525" args="" -->
74
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_OBJECT_BUSY</b> 17</td></tr>
76
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8ef3970c52be6569d2a0211029d6b429"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_NO_SPACE_LEFT" ref="8ef3970c52be6569d2a0211029d6b429" args="" -->
77
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_NO_SPACE_LEFT</b> 18</td></tr>
79
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="267bd6031da001632b9bceb2bda2368a"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_OP_WOULD_BLOCK" ref="267bd6031da001632b9bceb2bda2368a" args="" -->
80
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_WOULD_BLOCK</b> 19</td></tr>
82
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="700ab04a8e9a57232703ae424eb7949e"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_IO_ERROR" ref="700ab04a8e9a57232703ae424eb7949e" args="" -->
83
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_IO_ERROR</b> 20</td></tr>
85
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="48a536950b1375cbcbdb7b4ccfce60c7"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_OP_INTERRUPTED" ref="48a536950b1375cbcbdb7b4ccfce60c7" args="" -->
86
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_INTERRUPTED</b> 21</td></tr>
88
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9bbe91a7184d137eec542631cef82c54"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_OP_IN_PROGRESS" ref="9bbe91a7184d137eec542631cef82c54" args="" -->
89
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_OP_IN_PROGRESS</b> 22</td></tr>
91
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="55c4136e5ffc221debf292dfec7ba9f6"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_INTERNAL_ERROR" ref="55c4136e5ffc221debf292dfec7ba9f6" args="" -->
92
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_INTERNAL_ERROR</b> 23</td></tr>
94
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b9dc49253e9a538348288ac1fff89d40"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_MUX_ERROR" ref="b9dc49253e9a538348288ac1fff89d40" args="" -->
95
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_MUX_ERROR</b> 30</td></tr>
97
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b547b433e90e0707b024f3a244464b6c"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_NO_MEM" ref="b547b433e90e0707b024f3a244464b6c" args="" -->
98
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_NO_MEM</b> 31</td></tr>
100
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68604b8c3198ee0f540d4634cbc031ba"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_NOT_ENOUGH_DATA" ref="68604b8c3198ee0f540d4634cbc031ba" args="" -->
101
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_NOT_ENOUGH_DATA</b> 32</td></tr>
103
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d021c046a5ab15a9a981d54ec0e58c44"></a><!-- doxytag: member="include/libiphone/AFC.h::AFC_E_DIR_NOT_EMPTY" ref="d021c046a5ab15a9a981d54ec0e58c44" args="" -->
104
#define </td><td class="memItemRight" valign="bottom"><b>AFC_E_DIR_NOT_EMPTY</b> 33</td></tr>
106
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
107
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa46b7e1ac472a5589d85d6a6a7104fb"></a><!-- doxytag: member="include/libiphone/AFC.h::afc_error_t" ref="fa46b7e1ac472a5589d85d6a6a7104fb" args="" -->
108
typedef int16_t </td><td class="memItemRight" valign="bottom"><b>afc_error_t</b></td></tr>
110
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="588a845d2a3980a4f4f1107619a4eda5"></a><!-- doxytag: member="include/libiphone/AFC.h::afc_client_t" ref="588a845d2a3980a4f4f1107619a4eda5" args="" -->
111
typedef struct afc_client_int * </td><td class="memItemRight" valign="bottom"><b>afc_client_t</b></td></tr>
113
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
114
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><b>afc_file_mode_t</b> { <br>
115
<b>AFC_FOPEN_RDONLY</b> = 0x00000001,
116
<b>AFC_FOPEN_RW</b> = 0x00000002,
117
<b>AFC_FOPEN_WRONLY</b> = 0x00000003,
118
<b>AFC_FOPEN_WR</b> = 0x00000004,
120
<b>AFC_FOPEN_APPEND</b> = 0x00000005,
121
<b>AFC_FOPEN_RDAPPEND</b> = 0x00000006
125
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><b>afc_link_type_t</b> { <b>AFC_HARDLINK</b> = 1,
126
<b>AFC_SYMLINK</b> = 2
129
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><b>afc_lock_op_t</b> { <b>AFC_LOCK_SH</b> = 1 | 4,
130
<b>AFC_LOCK_EX</b> = 2 | 4,
131
<b>AFC_LOCK_UN</b> = 8 | 4
134
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
135
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#aa6779ea2d15302f7ff812ba5863c8a5">afc_client_new</a> (iphone_device_t device, int dst_port, afc_client_t *client)</td></tr>
137
<tr><td class="mdescLeft"> </td><td class="mdescRight">Makes a connection to the AFC service on the phone. <a href="#aa6779ea2d15302f7ff812ba5863c8a5"></a><br></td></tr>
138
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#1cee6b357bdd7f187b7411a41c136412">afc_client_free</a> (afc_client_t client)</td></tr>
140
<tr><td class="mdescLeft"> </td><td class="mdescRight">Disconnects an AFC client from the phone. <a href="#1cee6b357bdd7f187b7411a41c136412"></a><br></td></tr>
141
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#b4b5ee19121c0283364d3cee5b72cc15">afc_get_device_info</a> (afc_client_t client, char ***infos)</td></tr>
143
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get device info for a client connection to phone. <a href="#b4b5ee19121c0283364d3cee5b72cc15"></a><br></td></tr>
144
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#a5dcaf88c17b087b5140fe9a9ada21b0">afc_read_directory</a> (afc_client_t client, const char *dir, char ***list)</td></tr>
146
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets a directory listing of the directory requested. <a href="#a5dcaf88c17b087b5140fe9a9ada21b0"></a><br></td></tr>
147
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#0b7a62789a2208576ebc1c7794f30f13">afc_get_file_info</a> (afc_client_t client, const char *filename, char ***infolist)</td></tr>
149
<tr><td class="mdescLeft"> </td><td class="mdescRight">Gets information about a specific file. <a href="#0b7a62789a2208576ebc1c7794f30f13"></a><br></td></tr>
150
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#2dbfca1d64e26daf9691ba2ddabc92ba">afc_file_open</a> (afc_client_t client, const char *filename, afc_file_mode_t file_mode, uint64_t *handle)</td></tr>
152
<tr><td class="mdescLeft"> </td><td class="mdescRight">Opens a file on the phone. <a href="#2dbfca1d64e26daf9691ba2ddabc92ba"></a><br></td></tr>
153
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#db90e6f46af885948a91d328ca2e8c21">afc_file_close</a> (afc_client_t client, uint64_t handle)</td></tr>
155
<tr><td class="mdescLeft"> </td><td class="mdescRight">Closes a file on the phone. <a href="#db90e6f46af885948a91d328ca2e8c21"></a><br></td></tr>
156
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#37c91f506bdab578d2eec9145fd7d9a7">afc_file_lock</a> (afc_client_t client, uint64_t handle, afc_lock_op_t operation)</td></tr>
158
<tr><td class="mdescLeft"> </td><td class="mdescRight">Locks or unlocks a file on the phone. <a href="#37c91f506bdab578d2eec9145fd7d9a7"></a><br></td></tr>
159
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#25060be975b82d41e6c8b0130529eab5">afc_file_read</a> (afc_client_t client, uint64_t handle, char *data, int length, uint32_t *bytes)</td></tr>
161
<tr><td class="mdescLeft"> </td><td class="mdescRight">Attempts to the read the given number of bytes from the given file. <a href="#25060be975b82d41e6c8b0130529eab5"></a><br></td></tr>
162
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#a20ce3eb68f9fc11f37715c1e99163f8">afc_file_write</a> (afc_client_t client, uint64_t handle, const char *data, int length, uint32_t *bytes)</td></tr>
164
<tr><td class="mdescLeft"> </td><td class="mdescRight">Writes a given number of bytes to a file. <a href="#a20ce3eb68f9fc11f37715c1e99163f8"></a><br></td></tr>
165
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#3f0ebaea303e1fe2b84082ca40e3468d">afc_file_seek</a> (afc_client_t client, uint64_t handle, int64_t offset, int whence)</td></tr>
167
<tr><td class="mdescLeft"> </td><td class="mdescRight">Seeks to a given position of a pre-opened file on the phone. <a href="#3f0ebaea303e1fe2b84082ca40e3468d"></a><br></td></tr>
168
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#5ba8a781ea81b2ce09d2fd8a182b3624">afc_file_tell</a> (afc_client_t client, uint64_t handle, uint64_t *position)</td></tr>
170
<tr><td class="mdescLeft"> </td><td class="mdescRight">Returns current position in a pre-opened file on the phone. <a href="#5ba8a781ea81b2ce09d2fd8a182b3624"></a><br></td></tr>
171
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#d1e44fb7e9b6445841813f522705a721">afc_file_truncate</a> (afc_client_t client, uint64_t handle, uint64_t newsize)</td></tr>
173
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the size of a file on the phone. <a href="#d1e44fb7e9b6445841813f522705a721"></a><br></td></tr>
174
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#efd69b3b2168543c06833f9507858b63">afc_remove_path</a> (afc_client_t client, const char *path)</td></tr>
176
<tr><td class="mdescLeft"> </td><td class="mdescRight">Deletes a file or directory. <a href="#efd69b3b2168543c06833f9507858b63"></a><br></td></tr>
177
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#0c783fb34679a9be39e96aeac2f38801">afc_rename_path</a> (afc_client_t client, const char *from, const char *to)</td></tr>
179
<tr><td class="mdescLeft"> </td><td class="mdescRight">Renames a file or directory on the phone. <a href="#0c783fb34679a9be39e96aeac2f38801"></a><br></td></tr>
180
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#57135ac755a1312271d7218432238008">afc_make_directory</a> (afc_client_t client, const char *dir)</td></tr>
182
<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a directory on the phone. <a href="#57135ac755a1312271d7218432238008"></a><br></td></tr>
183
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#86f3020f7a685bbf7f078fea12df555f">afc_truncate</a> (afc_client_t client, const char *path, off_t newsize)</td></tr>
185
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the size of a file on the phone without prior opening it. <a href="#86f3020f7a685bbf7f078fea12df555f"></a><br></td></tr>
186
<tr><td class="memItemLeft" nowrap align="right" valign="top">afc_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#b5ade933b44d1f913df91d1065faa33a">afc_make_link</a> (afc_client_t client, afc_link_type_t linktype, const char *target, const char *linkname)</td></tr>
188
<tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a hard link or symbolic link on the device. <a href="#b5ade933b44d1f913df91d1065faa33a"></a><br></td></tr>
189
<tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libiphone_2_a_f_c_8h.html#e8224617f5f6f8d17f77932c0e8e07a4">afc_get_device_info_field</a> (afc_client_t client, const char *field)</td></tr>
191
<tr><td class="mdescLeft"> </td><td class="mdescRight">Get a specific field of the device info for a client connection to phone. <a href="#e8224617f5f6f8d17f77932c0e8e07a4"></a><br></td></tr>
193
<hr><a name="_details"></a><h2>Detailed Description</h2>
196
<hr><h2>Function Documentation</h2>
197
<a class="anchor" name="1cee6b357bdd7f187b7411a41c136412"></a><!-- doxytag: member="afc.h::afc_client_free" ref="1cee6b357bdd7f187b7411a41c136412" args="(afc_client_t client)" -->
198
<div class="memitem">
199
<div class="memproto">
200
<table class="memname">
202
<td class="memname">afc_error_t afc_client_free </td>
204
<td class="paramtype">afc_client_t </td>
205
<td class="paramname"> <em>client</em> </td>
206
<td> ) </td>
214
Disconnects an AFC client from the phone.
216
<dl compact><dt><b>Parameters:</b></dt><dd>
217
<table border="0" cellspacing="2" cellpadding="0">
218
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to disconnect. </td></tr>
224
<a class="anchor" name="aa6779ea2d15302f7ff812ba5863c8a5"></a><!-- doxytag: member="afc.h::afc_client_new" ref="aa6779ea2d15302f7ff812ba5863c8a5" args="(iphone_device_t device, int dst_port, afc_client_t *client)" -->
225
<div class="memitem">
226
<div class="memproto">
227
<table class="memname">
229
<td class="memname">afc_error_t afc_client_new </td>
231
<td class="paramtype">iphone_device_t </td>
232
<td class="paramname"> <em>device</em>, </td>
235
<td class="paramkey"></td>
237
<td class="paramtype">int </td>
238
<td class="paramname"> <em>dst_port</em>, </td>
241
<td class="paramkey"></td>
243
<td class="paramtype">afc_client_t * </td>
244
<td class="paramname"> <em>client</em></td><td> </td>
249
<td></td><td></td><td></td>
256
Makes a connection to the AFC service on the phone.
258
<dl compact><dt><b>Parameters:</b></dt><dd>
259
<table border="0" cellspacing="2" cellpadding="0">
260
<tr><td valign="top"></td><td valign="top"><em>phone</em> </td><td>The iPhone to connect on. </td></tr>
261
<tr><td valign="top"></td><td valign="top"><em>s_port</em> </td><td>The source port. </td></tr>
262
<tr><td valign="top"></td><td valign="top"><em>d_port</em> </td><td>The destination port.</td></tr>
265
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A handle to the newly-connected client or NULL upon error. </dd></dl>
269
<a class="anchor" name="db90e6f46af885948a91d328ca2e8c21"></a><!-- doxytag: member="afc.h::afc_file_close" ref="db90e6f46af885948a91d328ca2e8c21" args="(afc_client_t client, uint64_t handle)" -->
270
<div class="memitem">
271
<div class="memproto">
272
<table class="memname">
274
<td class="memname">afc_error_t afc_file_close </td>
276
<td class="paramtype">afc_client_t </td>
277
<td class="paramname"> <em>client</em>, </td>
280
<td class="paramkey"></td>
282
<td class="paramtype">uint64_t </td>
283
<td class="paramname"> <em>handle</em></td><td> </td>
288
<td></td><td></td><td></td>
295
Closes a file on the phone.
297
<dl compact><dt><b>Parameters:</b></dt><dd>
298
<table border="0" cellspacing="2" cellpadding="0">
299
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to close the file with. </td></tr>
300
<tr><td valign="top"></td><td valign="top"><em>handle</em> </td><td>File handle of a previously opened file. </td></tr>
306
<a class="anchor" name="37c91f506bdab578d2eec9145fd7d9a7"></a><!-- doxytag: member="afc.h::afc_file_lock" ref="37c91f506bdab578d2eec9145fd7d9a7" args="(afc_client_t client, uint64_t handle, afc_lock_op_t operation)" -->
307
<div class="memitem">
308
<div class="memproto">
309
<table class="memname">
311
<td class="memname">afc_error_t afc_file_lock </td>
313
<td class="paramtype">afc_client_t </td>
314
<td class="paramname"> <em>client</em>, </td>
317
<td class="paramkey"></td>
319
<td class="paramtype">uint64_t </td>
320
<td class="paramname"> <em>handle</em>, </td>
323
<td class="paramkey"></td>
325
<td class="paramtype">afc_lock_op_t </td>
326
<td class="paramname"> <em>operation</em></td><td> </td>
331
<td></td><td></td><td></td>
338
Locks or unlocks a file on the phone.
340
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>
341
<dl compact><dt><b>Parameters:</b></dt><dd>
342
<table border="0" cellspacing="2" cellpadding="0">
343
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to lock the file with. </td></tr>
344
<tr><td valign="top"></td><td valign="top"><em>handle</em> </td><td>File handle of a previously opened file. </td></tr>
345
<tr><td valign="top"></td><td valign="top"><em>operation</em> </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>
351
<a class="anchor" name="2dbfca1d64e26daf9691ba2ddabc92ba"></a><!-- doxytag: member="afc.h::afc_file_open" ref="2dbfca1d64e26daf9691ba2ddabc92ba" args="(afc_client_t client, const char *filename, afc_file_mode_t file_mode, uint64_t *handle)" -->
352
<div class="memitem">
353
<div class="memproto">
354
<table class="memname">
356
<td class="memname">afc_error_t afc_file_open </td>
358
<td class="paramtype">afc_client_t </td>
359
<td class="paramname"> <em>client</em>, </td>
362
<td class="paramkey"></td>
364
<td class="paramtype">const char * </td>
365
<td class="paramname"> <em>filename</em>, </td>
368
<td class="paramkey"></td>
370
<td class="paramtype">afc_file_mode_t </td>
371
<td class="paramname"> <em>file_mode</em>, </td>
374
<td class="paramkey"></td>
376
<td class="paramtype">uint64_t * </td>
377
<td class="paramname"> <em>handle</em></td><td> </td>
382
<td></td><td></td><td></td>
389
Opens a file on the phone.
391
<dl compact><dt><b>Parameters:</b></dt><dd>
392
<table border="0" cellspacing="2" cellpadding="0">
393
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to use to open the file. </td></tr>
394
<tr><td valign="top"></td><td valign="top"><em>filename</em> </td><td>The file to open. (must be a fully-qualified path) </td></tr>
395
<tr><td valign="top"></td><td valign="top"><em>file_mode</em> </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>
396
<tr><td valign="top"></td><td valign="top"><em>handle</em> </td><td>Pointer to a uint64_t that will hold the handle of the file</td></tr>
399
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error on failure. </dd></dl>
403
<a class="anchor" name="25060be975b82d41e6c8b0130529eab5"></a><!-- doxytag: member="afc.h::afc_file_read" ref="25060be975b82d41e6c8b0130529eab5" args="(afc_client_t client, uint64_t handle, char *data, int length, uint32_t *bytes)" -->
404
<div class="memitem">
405
<div class="memproto">
406
<table class="memname">
408
<td class="memname">afc_error_t afc_file_read </td>
410
<td class="paramtype">afc_client_t </td>
411
<td class="paramname"> <em>client</em>, </td>
414
<td class="paramkey"></td>
416
<td class="paramtype">uint64_t </td>
417
<td class="paramname"> <em>handle</em>, </td>
420
<td class="paramkey"></td>
422
<td class="paramtype">char * </td>
423
<td class="paramname"> <em>data</em>, </td>
426
<td class="paramkey"></td>
428
<td class="paramtype">int </td>
429
<td class="paramname"> <em>length</em>, </td>
432
<td class="paramkey"></td>
434
<td class="paramtype">uint32_t * </td>
435
<td class="paramname"> <em>bytes</em></td><td> </td>
440
<td></td><td></td><td></td>
447
Attempts to the read the given number of bytes from the given file.
449
<dl compact><dt><b>Parameters:</b></dt><dd>
450
<table border="0" cellspacing="2" cellpadding="0">
451
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The relevant AFC client </td></tr>
452
<tr><td valign="top"></td><td valign="top"><em>handle</em> </td><td>File handle of a previously opened file </td></tr>
453
<tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>The pointer to the memory region to store the read data </td></tr>
454
<tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>The number of bytes to read</td></tr>
457
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of bytes read if successful. If there was an error -1. </dd></dl>
461
<a class="anchor" name="3f0ebaea303e1fe2b84082ca40e3468d"></a><!-- doxytag: member="afc.h::afc_file_seek" ref="3f0ebaea303e1fe2b84082ca40e3468d" args="(afc_client_t client, uint64_t handle, int64_t offset, int whence)" -->
462
<div class="memitem">
463
<div class="memproto">
464
<table class="memname">
466
<td class="memname">afc_error_t afc_file_seek </td>
468
<td class="paramtype">afc_client_t </td>
469
<td class="paramname"> <em>client</em>, </td>
472
<td class="paramkey"></td>
474
<td class="paramtype">uint64_t </td>
475
<td class="paramname"> <em>handle</em>, </td>
478
<td class="paramkey"></td>
480
<td class="paramtype">int64_t </td>
481
<td class="paramname"> <em>offset</em>, </td>
484
<td class="paramkey"></td>
486
<td class="paramtype">int </td>
487
<td class="paramname"> <em>whence</em></td><td> </td>
492
<td></td><td></td><td></td>
499
Seeks to a given position of a pre-opened file on the phone.
501
<dl compact><dt><b>Parameters:</b></dt><dd>
502
<table border="0" cellspacing="2" cellpadding="0">
503
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to use to seek to the position. </td></tr>
504
<tr><td valign="top"></td><td valign="top"><em>handle</em> </td><td>File handle of a previously opened. </td></tr>
505
<tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>Seek offset. </td></tr>
506
<tr><td valign="top"></td><td valign="top"><em>whence</em> </td><td>Seeking direction, one of SEEK_SET, SEEK_CUR, or SEEK_END.</td></tr>
509
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success, AFC_E_NOT_ENOUGH_DATA on failure. </dd></dl>
513
<a class="anchor" name="5ba8a781ea81b2ce09d2fd8a182b3624"></a><!-- doxytag: member="afc.h::afc_file_tell" ref="5ba8a781ea81b2ce09d2fd8a182b3624" args="(afc_client_t client, uint64_t handle, uint64_t *position)" -->
514
<div class="memitem">
515
<div class="memproto">
516
<table class="memname">
518
<td class="memname">afc_error_t afc_file_tell </td>
520
<td class="paramtype">afc_client_t </td>
521
<td class="paramname"> <em>client</em>, </td>
524
<td class="paramkey"></td>
526
<td class="paramtype">uint64_t </td>
527
<td class="paramname"> <em>handle</em>, </td>
530
<td class="paramkey"></td>
532
<td class="paramtype">uint64_t * </td>
533
<td class="paramname"> <em>position</em></td><td> </td>
538
<td></td><td></td><td></td>
545
Returns current position in a pre-opened file on the phone.
547
<dl compact><dt><b>Parameters:</b></dt><dd>
548
<table border="0" cellspacing="2" cellpadding="0">
549
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to use. </td></tr>
550
<tr><td valign="top"></td><td valign="top"><em>handle</em> </td><td>File handle of a previously opened file. </td></tr>
551
<tr><td valign="top"></td><td valign="top"><em>position</em> </td><td>Position in bytes of indicator</td></tr>
554
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success, AFC_E_NOT_ENOUGH_DATA on failure. </dd></dl>
558
<a class="anchor" name="d1e44fb7e9b6445841813f522705a721"></a><!-- doxytag: member="afc.h::afc_file_truncate" ref="d1e44fb7e9b6445841813f522705a721" args="(afc_client_t client, uint64_t handle, uint64_t newsize)" -->
559
<div class="memitem">
560
<div class="memproto">
561
<table class="memname">
563
<td class="memname">afc_error_t afc_file_truncate </td>
565
<td class="paramtype">afc_client_t </td>
566
<td class="paramname"> <em>client</em>, </td>
569
<td class="paramkey"></td>
571
<td class="paramtype">uint64_t </td>
572
<td class="paramname"> <em>handle</em>, </td>
575
<td class="paramkey"></td>
577
<td class="paramtype">uint64_t </td>
578
<td class="paramname"> <em>newsize</em></td><td> </td>
583
<td></td><td></td><td></td>
590
Sets the size of a file on the phone.
592
<dl compact><dt><b>Parameters:</b></dt><dd>
593
<table border="0" cellspacing="2" cellpadding="0">
594
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to use to set the file size. </td></tr>
595
<tr><td valign="top"></td><td valign="top"><em>handle</em> </td><td>File handle of a previously opened file. </td></tr>
596
<tr><td valign="top"></td><td valign="top"><em>newsize</em> </td><td>The size to set the file to.</td></tr>
599
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on failure.</dd></dl>
600
<dl class="note" compact><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>
604
<a class="anchor" name="a20ce3eb68f9fc11f37715c1e99163f8"></a><!-- doxytag: member="afc.h::afc_file_write" ref="a20ce3eb68f9fc11f37715c1e99163f8" args="(afc_client_t client, uint64_t handle, const char *data, int length, uint32_t *bytes)" -->
605
<div class="memitem">
606
<div class="memproto">
607
<table class="memname">
609
<td class="memname">afc_error_t afc_file_write </td>
611
<td class="paramtype">afc_client_t </td>
612
<td class="paramname"> <em>client</em>, </td>
615
<td class="paramkey"></td>
617
<td class="paramtype">uint64_t </td>
618
<td class="paramname"> <em>handle</em>, </td>
621
<td class="paramkey"></td>
623
<td class="paramtype">const char * </td>
624
<td class="paramname"> <em>data</em>, </td>
627
<td class="paramkey"></td>
629
<td class="paramtype">int </td>
630
<td class="paramname"> <em>length</em>, </td>
633
<td class="paramkey"></td>
635
<td class="paramtype">uint32_t * </td>
636
<td class="paramname"> <em>bytes</em></td><td> </td>
641
<td></td><td></td><td></td>
648
Writes a given number of bytes to a file.
650
<dl compact><dt><b>Parameters:</b></dt><dd>
651
<table border="0" cellspacing="2" cellpadding="0">
652
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to use to write to the file. </td></tr>
653
<tr><td valign="top"></td><td valign="top"><em>handle</em> </td><td>File handle of previously opened file. </td></tr>
654
<tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>The data to write to the file. </td></tr>
655
<tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>How much data to write.</td></tr>
658
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of bytes written to the file, or a value less than 0 if none were written... </dd></dl>
662
<a class="anchor" name="b4b5ee19121c0283364d3cee5b72cc15"></a><!-- doxytag: member="afc.h::afc_get_device_info" ref="b4b5ee19121c0283364d3cee5b72cc15" args="(afc_client_t client, char ***infos)" -->
663
<div class="memitem">
664
<div class="memproto">
665
<table class="memname">
667
<td class="memname">afc_error_t afc_get_device_info </td>
669
<td class="paramtype">afc_client_t </td>
670
<td class="paramname"> <em>client</em>, </td>
673
<td class="paramkey"></td>
675
<td class="paramtype">char *** </td>
676
<td class="paramname"> <em>infos</em></td><td> </td>
681
<td></td><td></td><td></td>
688
Get device info for a client connection to phone.
690
(free space on disk, etc.)<p>
691
<dl compact><dt><b>Parameters:</b></dt><dd>
692
<table border="0" cellspacing="2" cellpadding="0">
693
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to get device info for.</td></tr>
696
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A char ** list of parameters as given by AFC or NULL if there was an error. </dd></dl>
700
<a class="anchor" name="e8224617f5f6f8d17f77932c0e8e07a4"></a><!-- doxytag: member="afc.h::afc_get_device_info_field" ref="e8224617f5f6f8d17f77932c0e8e07a4" args="(afc_client_t client, const char *field)" -->
701
<div class="memitem">
702
<div class="memproto">
703
<table class="memname">
705
<td class="memname">char* afc_get_device_info_field </td>
707
<td class="paramtype">afc_client_t </td>
708
<td class="paramname"> <em>client</em>, </td>
711
<td class="paramkey"></td>
713
<td class="paramtype">const char * </td>
714
<td class="paramname"> <em>field</em></td><td> </td>
719
<td></td><td></td><td></td>
726
Get a specific field of the device info for a client connection to phone.
728
Known values are: Model, FSTotalBytes, FSFreeBytes and FSBlockSize. This is a helper function for <a class="el" href="include_2libiphone_2_a_f_c_8h.html#b4b5ee19121c0283364d3cee5b72cc15" title="Get device info for a client connection to phone.">afc_get_device_info()</a>.<p>
729
<dl compact><dt><b>Parameters:</b></dt><dd>
730
<table border="0" cellspacing="2" cellpadding="0">
731
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to get device info for. </td></tr>
732
<tr><td valign="top"></td><td valign="top"><em>field</em> </td><td>The field to get the information for</td></tr>
735
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A char * or NULL if there was an error. </dd></dl>
739
<a class="anchor" name="0b7a62789a2208576ebc1c7794f30f13"></a><!-- doxytag: member="afc.h::afc_get_file_info" ref="0b7a62789a2208576ebc1c7794f30f13" args="(afc_client_t client, const char *filename, char ***infolist)" -->
740
<div class="memitem">
741
<div class="memproto">
742
<table class="memname">
744
<td class="memname">afc_error_t afc_get_file_info </td>
746
<td class="paramtype">afc_client_t </td>
747
<td class="paramname"> <em>client</em>, </td>
750
<td class="paramkey"></td>
752
<td class="paramtype">const char * </td>
753
<td class="paramname"> <em>path</em>, </td>
756
<td class="paramkey"></td>
758
<td class="paramtype">char *** </td>
759
<td class="paramname"> <em>infolist</em></td><td> </td>
764
<td></td><td></td><td></td>
771
Gets information about a specific file.
773
<dl compact><dt><b>Parameters:</b></dt><dd>
774
<table border="0" cellspacing="2" cellpadding="0">
775
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to use to get the information of the file. </td></tr>
776
<tr><td valign="top"></td><td valign="top"><em>path</em> </td><td>The fully-qualified path to the file. </td></tr>
777
<tr><td valign="top"></td><td valign="top"><em>infolist</em> </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>
780
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS on success or an AFC_E_* error value when something went wrong. </dd></dl>
784
<a class="anchor" name="57135ac755a1312271d7218432238008"></a><!-- doxytag: member="afc.h::afc_make_directory" ref="57135ac755a1312271d7218432238008" args="(afc_client_t client, const char *dir)" -->
785
<div class="memitem">
786
<div class="memproto">
787
<table class="memname">
789
<td class="memname">afc_error_t afc_make_directory </td>
791
<td class="paramtype">afc_client_t </td>
792
<td class="paramname"> <em>client</em>, </td>
795
<td class="paramkey"></td>
797
<td class="paramtype">const char * </td>
798
<td class="paramname"> <em>dir</em></td><td> </td>
803
<td></td><td></td><td></td>
810
Creates a directory on the phone.
812
<dl compact><dt><b>Parameters:</b></dt><dd>
813
<table border="0" cellspacing="2" cellpadding="0">
814
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to use to make a directory. </td></tr>
815
<tr><td valign="top"></td><td valign="top"><em>dir</em> </td><td>The directory's path. (must be a fully-qualified path, I assume all other mkdir restrictions apply as well)</td></tr>
818
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS if everythong went well, AFC_E_INVALID_ARGUMENT if arguments are NULL or invalid, AFC_E_NOT_ENOUGH_DATA otherwise. </dd></dl>
822
<a class="anchor" name="b5ade933b44d1f913df91d1065faa33a"></a><!-- doxytag: member="afc.h::afc_make_link" ref="b5ade933b44d1f913df91d1065faa33a" args="(afc_client_t client, afc_link_type_t linktype, const char *target, const char *linkname)" -->
823
<div class="memitem">
824
<div class="memproto">
825
<table class="memname">
827
<td class="memname">afc_error_t afc_make_link </td>
829
<td class="paramtype">afc_client_t </td>
830
<td class="paramname"> <em>client</em>, </td>
833
<td class="paramkey"></td>
835
<td class="paramtype">afc_link_type_t </td>
836
<td class="paramname"> <em>linktype</em>, </td>
839
<td class="paramkey"></td>
841
<td class="paramtype">const char * </td>
842
<td class="paramname"> <em>target</em>, </td>
845
<td class="paramkey"></td>
847
<td class="paramtype">const char * </td>
848
<td class="paramname"> <em>linkname</em></td><td> </td>
853
<td></td><td></td><td></td>
860
Creates a hard link or symbolic link on the device.
862
<dl compact><dt><b>Parameters:</b></dt><dd>
863
<table border="0" cellspacing="2" cellpadding="0">
864
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to use for making a link </td></tr>
865
<tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>1 = hard link, 2 = symlink </td></tr>
866
<tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>The file to be linked. </td></tr>
867
<tr><td valign="top"></td><td valign="top"><em>linkname</em> </td><td>The name of link.</td></tr>
870
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS if everything went well, AFC_E_INVALID_ARGUMENT if arguments are NULL or invalid, AFC_E_NOT_ENOUGH_DATA otherwise. </dd></dl>
874
<a class="anchor" name="a5dcaf88c17b087b5140fe9a9ada21b0"></a><!-- doxytag: member="afc.h::afc_read_directory" ref="a5dcaf88c17b087b5140fe9a9ada21b0" args="(afc_client_t client, const char *dir, char ***list)" -->
875
<div class="memitem">
876
<div class="memproto">
877
<table class="memname">
879
<td class="memname">afc_error_t afc_read_directory </td>
881
<td class="paramtype">afc_client_t </td>
882
<td class="paramname"> <em>client</em>, </td>
885
<td class="paramkey"></td>
887
<td class="paramtype">const char * </td>
888
<td class="paramname"> <em>dir</em>, </td>
891
<td class="paramkey"></td>
893
<td class="paramtype">char *** </td>
894
<td class="paramname"> <em>list</em></td><td> </td>
899
<td></td><td></td><td></td>
906
Gets a directory listing of the directory requested.
908
<dl compact><dt><b>Parameters:</b></dt><dd>
909
<table border="0" cellspacing="2" cellpadding="0">
910
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to get a directory listing from. </td></tr>
911
<tr><td valign="top"></td><td valign="top"><em>dir</em> </td><td>The directory to list. (must be a fully-qualified path)</td></tr>
914
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A char ** list of files in that directory, terminated by an empty string for now or NULL if there was an error. </dd></dl>
918
<a class="anchor" name="efd69b3b2168543c06833f9507858b63"></a><!-- doxytag: member="afc.h::afc_remove_path" ref="efd69b3b2168543c06833f9507858b63" args="(afc_client_t client, const char *path)" -->
919
<div class="memitem">
920
<div class="memproto">
921
<table class="memname">
923
<td class="memname">afc_error_t afc_remove_path </td>
925
<td class="paramtype">afc_client_t </td>
926
<td class="paramname"> <em>client</em>, </td>
929
<td class="paramkey"></td>
931
<td class="paramtype">const char * </td>
932
<td class="paramname"> <em>path</em></td><td> </td>
937
<td></td><td></td><td></td>
944
Deletes a file or directory.
946
<dl compact><dt><b>Parameters:</b></dt><dd>
947
<table border="0" cellspacing="2" cellpadding="0">
948
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to use. </td></tr>
949
<tr><td valign="top"></td><td valign="top"><em>path</em> </td><td>The path to delete. (must be a fully-qualified path)</td></tr>
952
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS if everythong went well, AFC_E_INVALID_ARGUMENT if arguments are NULL or invalid, AFC_E_NOT_ENOUGH_DATA otherwise. </dd></dl>
956
<a class="anchor" name="0c783fb34679a9be39e96aeac2f38801"></a><!-- doxytag: member="afc.h::afc_rename_path" ref="0c783fb34679a9be39e96aeac2f38801" args="(afc_client_t client, const char *from, const char *to)" -->
957
<div class="memitem">
958
<div class="memproto">
959
<table class="memname">
961
<td class="memname">afc_error_t afc_rename_path </td>
963
<td class="paramtype">afc_client_t </td>
964
<td class="paramname"> <em>client</em>, </td>
967
<td class="paramkey"></td>
969
<td class="paramtype">const char * </td>
970
<td class="paramname"> <em>from</em>, </td>
973
<td class="paramkey"></td>
975
<td class="paramtype">const char * </td>
976
<td class="paramname"> <em>to</em></td><td> </td>
981
<td></td><td></td><td></td>
988
Renames a file or directory on the phone.
990
<dl compact><dt><b>Parameters:</b></dt><dd>
991
<table border="0" cellspacing="2" cellpadding="0">
992
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to have rename. </td></tr>
993
<tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>The name to rename from. (must be a fully-qualified path) </td></tr>
994
<tr><td valign="top"></td><td valign="top"><em>to</em> </td><td>The new name. (must also be a fully-qualified path)</td></tr>
997
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS if everythong went well, AFC_E_INVALID_ARGUMENT if arguments are NULL or invalid, AFC_E_NOT_ENOUGH_DATA otherwise. </dd></dl>
1001
<a class="anchor" name="86f3020f7a685bbf7f078fea12df555f"></a><!-- doxytag: member="afc.h::afc_truncate" ref="86f3020f7a685bbf7f078fea12df555f" args="(afc_client_t client, const char *path, off_t newsize)" -->
1002
<div class="memitem">
1003
<div class="memproto">
1004
<table class="memname">
1006
<td class="memname">afc_error_t afc_truncate </td>
1008
<td class="paramtype">afc_client_t </td>
1009
<td class="paramname"> <em>client</em>, </td>
1012
<td class="paramkey"></td>
1014
<td class="paramtype">const char * </td>
1015
<td class="paramname"> <em>path</em>, </td>
1018
<td class="paramkey"></td>
1020
<td class="paramtype">off_t </td>
1021
<td class="paramname"> <em>newsize</em></td><td> </td>
1026
<td></td><td></td><td></td>
1030
<div class="memdoc">
1033
Sets the size of a file on the phone without prior opening it.
1035
<dl compact><dt><b>Parameters:</b></dt><dd>
1036
<table border="0" cellspacing="2" cellpadding="0">
1037
<tr><td valign="top"></td><td valign="top"><em>client</em> </td><td>The client to use to set the file size. </td></tr>
1038
<tr><td valign="top"></td><td valign="top"><em>path</em> </td><td>The path of the file to be truncated. </td></tr>
1039
<tr><td valign="top"></td><td valign="top"><em>newsize</em> </td><td>The size to set the file to.</td></tr>
1042
<dl class="return" compact><dt><b>Returns:</b></dt><dd>AFC_E_SUCCESS if everything went well, AFC_E_INVALID_ARGUMENT if arguments are NULL or invalid, AFC_E_NOT_ENOUGH_DATA otherwise. </dd></dl>
1047
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Aug 3 09:05:17 2009 for libiphone by
1048
<a href="http://www.doxygen.org/index.html">
1049
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>