| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
- <meta http-equiv="X-UA-Compatible" content="IE=9"/>
- <meta name="generator" content="Doxygen 1.8.8"/>
- <title>libimobiledevice: libimobiledevice/mobilebackup2.h File Reference</title>
- <link href="tabs.css" rel="stylesheet" type="text/css"/>
- <script type="text/javascript" src="jquery.js"></script>
- <script type="text/javascript" src="dynsections.js"></script>
- <link href="doxygen.css" rel="stylesheet" type="text/css" />
- </head>
- <body>
- <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
- <div id="titlearea">
- <table cellspacing="0" cellpadding="0">
- <tbody>
- <tr style="height: 56px;">
- <td style="padding-left: 0.5em;">
- <div id="projectname">libimobiledevice
-  <span id="projectnumber">1.2.0</span>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- end header part -->
- <!-- Generated by Doxygen 1.8.8 -->
- <div id="navrow1" class="tabs">
- <ul class="tablist">
- <li><a href="index.html"><span>Main Page</span></a></li>
- <li><a href="annotated.html"><span>Data Structures</span></a></li>
- <li class="current"><a href="files.html"><span>Files</span></a></li>
- </ul>
- </div>
- <div id="navrow2" class="tabs2">
- <ul class="tablist">
- <li><a href="files.html"><span>File List</span></a></li>
- <li><a href="globals.html"><span>Globals</span></a></li>
- </ul>
- </div>
- <div id="nav-path" class="navpath">
- <ul>
- <li class="navelem"><a class="el" href="dir_6f94c0669708509ba6e66291c679659c.html">libimobiledevice</a></li> </ul>
- </div>
- </div><!-- top -->
- <div class="header">
- <div class="summary">
- <a href="#define-members">Macros</a> |
- <a href="#typedef-members">Typedefs</a> |
- <a href="#enum-members">Enumerations</a> |
- <a href="#func-members">Functions</a> </div>
- <div class="headertitle">
- <div class="title">mobilebackup2.h File Reference</div> </div>
- </div><!--header-->
- <div class="contents">
- <p>Backup and restore of all device data (mobilebackup2, iOS4+ only)
- <a href="#details">More...</a></p>
- <table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
- Macros</h2></td></tr>
- <tr class="memitem:a63a8f0b5c86ce3253f313fae4e795854"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a63a8f0b5c86ce3253f313fae4e795854"></a>
- #define </td><td class="memItemRight" valign="bottom"><b>MOBILEBACKUP2_SERVICE_NAME</b>   "com.apple.mobilebackup2"</td></tr>
- <tr class="separator:a63a8f0b5c86ce3253f313fae4e795854"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
- Typedefs</h2></td></tr>
- <tr class="memitem:ac4ec62033be2abf3fa6d17c00be08b26"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4ec62033be2abf3fa6d17c00be08b26"></a>
- typedef struct <br class="typebreak" />
- mobilebackup2_client_private </td><td class="memItemRight" valign="bottom"><b>mobilebackup2_client_private</b></td></tr>
- <tr class="separator:ac4ec62033be2abf3fa6d17c00be08b26"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a0cf69d4c02a02f37f1f864946aa4670a"><td class="memItemLeft" align="right" valign="top">typedef <br class="typebreak" />
- mobilebackup2_client_private * </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a></td></tr>
- <tr class="memdesc:a0cf69d4c02a02f37f1f864946aa4670a"><td class="mdescLeft"> </td><td class="mdescRight">The client handle. <a href="#a0cf69d4c02a02f37f1f864946aa4670a">More...</a><br /></td></tr>
- <tr class="separator:a0cf69d4c02a02f37f1f864946aa4670a"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
- Enumerations</h2></td></tr>
- <tr class="memitem:aacf02bc6428a31aba0d131b6c44105f8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aacf02bc6428a31aba0d131b6c44105f8"></a>enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> { <br />
-   <b>MOBILEBACKUP2_E_SUCCESS</b> = 0,
- <br />
-   <b>MOBILEBACKUP2_E_INVALID_ARG</b> = -1,
- <br />
-   <b>MOBILEBACKUP2_E_PLIST_ERROR</b> = -2,
- <br />
-   <b>MOBILEBACKUP2_E_MUX_ERROR</b> = -3,
- <br />
-   <b>MOBILEBACKUP2_E_BAD_VERSION</b> = -4,
- <br />
-   <b>MOBILEBACKUP2_E_REPLY_NOT_OK</b> = -5,
- <br />
-   <b>MOBILEBACKUP2_E_NO_COMMON_VERSION</b> = -6,
- <br />
-   <b>MOBILEBACKUP2_E_UNKNOWN_ERROR</b> = -256
- <br />
- }</td></tr>
- <tr class="memdesc:aacf02bc6428a31aba0d131b6c44105f8"><td class="mdescLeft"> </td><td class="mdescRight">Error Codes. <br /></td></tr>
- <tr class="separator:aacf02bc6428a31aba0d131b6c44105f8"><td class="memSeparator" colspan="2"> </td></tr>
- </table><table class="memberdecls">
- <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
- Functions</h2></td></tr>
- <tr class="memitem:a7b563b99e3eba6d528f14f4948920085"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#a7b563b99e3eba6d528f14f4948920085">mobilebackup2_client_new</a> (<a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a> device, lockdownd_service_descriptor_t service, <a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> *client)</td></tr>
- <tr class="memdesc:a7b563b99e3eba6d528f14f4948920085"><td class="mdescLeft"> </td><td class="mdescRight">Connects to the mobilebackup2 service on the specified device. <a href="#a7b563b99e3eba6d528f14f4948920085">More...</a><br /></td></tr>
- <tr class="separator:a7b563b99e3eba6d528f14f4948920085"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aaef0b1fb4012bce0f46693ba1fffc27a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#aaef0b1fb4012bce0f46693ba1fffc27a">mobilebackup2_client_start_service</a> (<a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a> device, <a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> *client, const char *label)</td></tr>
- <tr class="memdesc:aaef0b1fb4012bce0f46693ba1fffc27a"><td class="mdescLeft"> </td><td class="mdescRight">Starts a new mobilebackup2 service on the specified device and connects to it. <a href="#aaef0b1fb4012bce0f46693ba1fffc27a">More...</a><br /></td></tr>
- <tr class="separator:aaef0b1fb4012bce0f46693ba1fffc27a"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a6476ab467a7319cf3d4882d995af41f6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#a6476ab467a7319cf3d4882d995af41f6">mobilebackup2_client_free</a> (<a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> client)</td></tr>
- <tr class="memdesc:a6476ab467a7319cf3d4882d995af41f6"><td class="mdescLeft"> </td><td class="mdescRight">Disconnects a mobilebackup2 client from the device and frees up the mobilebackup2 client data. <a href="#a6476ab467a7319cf3d4882d995af41f6">More...</a><br /></td></tr>
- <tr class="separator:a6476ab467a7319cf3d4882d995af41f6"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a408732ff5a488ee2f72b4b7b3c671b24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#a408732ff5a488ee2f72b4b7b3c671b24">mobilebackup2_send_message</a> (<a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> client, const char *message, plist_t options)</td></tr>
- <tr class="memdesc:a408732ff5a488ee2f72b4b7b3c671b24"><td class="mdescLeft"> </td><td class="mdescRight">Sends a backup message plist. <a href="#a408732ff5a488ee2f72b4b7b3c671b24">More...</a><br /></td></tr>
- <tr class="separator:a408732ff5a488ee2f72b4b7b3c671b24"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a127bbac1f1c6a0e289011902e3a7a3b0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#a127bbac1f1c6a0e289011902e3a7a3b0">mobilebackup2_receive_message</a> (<a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> client, plist_t *msg_plist, char **dlmessage)</td></tr>
- <tr class="memdesc:a127bbac1f1c6a0e289011902e3a7a3b0"><td class="mdescLeft"> </td><td class="mdescRight">Receives a DL* message plist from the device. <a href="#a127bbac1f1c6a0e289011902e3a7a3b0">More...</a><br /></td></tr>
- <tr class="separator:a127bbac1f1c6a0e289011902e3a7a3b0"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:ac1c37c17849bf4f3f3240e7cc7b3514b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#ac1c37c17849bf4f3f3240e7cc7b3514b">mobilebackup2_send_raw</a> (<a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> client, const char *data, uint32_t length, uint32_t *bytes)</td></tr>
- <tr class="memdesc:ac1c37c17849bf4f3f3240e7cc7b3514b"><td class="mdescLeft"> </td><td class="mdescRight">Send binary data to the device. <a href="#ac1c37c17849bf4f3f3240e7cc7b3514b">More...</a><br /></td></tr>
- <tr class="separator:ac1c37c17849bf4f3f3240e7cc7b3514b"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a27469291309887a60abbbafd1d90eac3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#a27469291309887a60abbbafd1d90eac3">mobilebackup2_receive_raw</a> (<a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> client, char *data, uint32_t length, uint32_t *bytes)</td></tr>
- <tr class="memdesc:a27469291309887a60abbbafd1d90eac3"><td class="mdescLeft"> </td><td class="mdescRight">Receive binary from the device. <a href="#a27469291309887a60abbbafd1d90eac3">More...</a><br /></td></tr>
- <tr class="separator:a27469291309887a60abbbafd1d90eac3"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:a46e04c64ba6f996c1bdea8e20f28cde2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#a46e04c64ba6f996c1bdea8e20f28cde2">mobilebackup2_version_exchange</a> (<a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> client, double local_versions[], char count, double *remote_version)</td></tr>
- <tr class="memdesc:a46e04c64ba6f996c1bdea8e20f28cde2"><td class="mdescLeft"> </td><td class="mdescRight">Performs the mobilebackup2 protocol version exchange. <a href="#a46e04c64ba6f996c1bdea8e20f28cde2">More...</a><br /></td></tr>
- <tr class="separator:a46e04c64ba6f996c1bdea8e20f28cde2"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aad817475256ae8216718b32e1e6fd97d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#aad817475256ae8216718b32e1e6fd97d">mobilebackup2_send_request</a> (<a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> client, const char *request, const char *target_identifier, const char *source_identifier, plist_t options)</td></tr>
- <tr class="memdesc:aad817475256ae8216718b32e1e6fd97d"><td class="mdescLeft"> </td><td class="mdescRight">Send a request to the connected mobilebackup2 service. <a href="#aad817475256ae8216718b32e1e6fd97d">More...</a><br /></td></tr>
- <tr class="separator:aad817475256ae8216718b32e1e6fd97d"><td class="memSeparator" colspan="2"> </td></tr>
- <tr class="memitem:aeeb2bec4278c62a20b72bc31f8ac3329"><td class="memItemLeft" align="right" valign="top"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="mobilebackup2_8h.html#aeeb2bec4278c62a20b72bc31f8ac3329">mobilebackup2_send_status_response</a> (<a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> client, int status_code, const char *status1, plist_t status2)</td></tr>
- <tr class="memdesc:aeeb2bec4278c62a20b72bc31f8ac3329"><td class="mdescLeft"> </td><td class="mdescRight">Sends a DLMessageStatusResponse to the device. <a href="#aeeb2bec4278c62a20b72bc31f8ac3329">More...</a><br /></td></tr>
- <tr class="separator:aeeb2bec4278c62a20b72bc31f8ac3329"><td class="memSeparator" colspan="2"> </td></tr>
- </table>
- <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
- <div class="textblock"><p>Backup and restore of all device data (mobilebackup2, iOS4+ only) </p>
- </div><h2 class="groupheader">Typedef Documentation</h2>
- <a class="anchor" id="a0cf69d4c02a02f37f1f864946aa4670a"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname">typedef mobilebackup2_client_private* <a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>The client handle. </p>
- </div>
- </div>
- <h2 class="groupheader">Function Documentation</h2>
- <a class="anchor" id="a6476ab467a7319cf3d4882d995af41f6"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> mobilebackup2_client_free </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> </td>
- <td class="paramname"><em>client</em></td><td>)</td>
- <td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Disconnects a mobilebackup2 client from the device and frees up the mobilebackup2 client data. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">client</td><td>The mobilebackup2 client to disconnect and free.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>MOBILEBACKUP2_E_SUCCESS on success, or MOBILEBACKUP2_E_INVALID_ARG if client is NULL. </dd></dl>
- </div>
- </div>
- <a class="anchor" id="a7b563b99e3eba6d528f14f4948920085"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> mobilebackup2_client_new </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a> </td>
- <td class="paramname"><em>device</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">lockdownd_service_descriptor_t </td>
- <td class="paramname"><em>service</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> * </td>
- <td class="paramname"><em>client</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Connects to the mobilebackup2 service on the specified device. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">device</td><td>The device to connect to. </td></tr>
- <tr><td class="paramname">service</td><td>The service descriptor returned by lockdownd_start_service. </td></tr>
- <tr><td class="paramname">client</td><td>Pointer that will be set to a newly allocated mobilebackup2_client_t upon successful return.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>MOBILEBACKUP2_E_SUCCESS on success, MOBILEBACKUP2_E_INVALID ARG if one or more parameter is invalid, or MOBILEBACKUP2_E_BAD_VERSION if the mobilebackup2 version on the device is newer. </dd></dl>
- </div>
- </div>
- <a class="anchor" id="aaef0b1fb4012bce0f46693ba1fffc27a"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> mobilebackup2_client_start_service </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a> </td>
- <td class="paramname"><em>device</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> * </td>
- <td class="paramname"><em>client</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>label</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Starts a new mobilebackup2 service on the specified device and connects to it. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">device</td><td>The device to connect to. </td></tr>
- <tr><td class="paramname">client</td><td>Pointer that will point to a newly allocated mobilebackup2_client_t upon successful return. Must be freed using <a class="el" href="mobilebackup2_8h.html#a6476ab467a7319cf3d4882d995af41f6" title="Disconnects a mobilebackup2 client from the device and frees up the mobilebackup2 client data...">mobilebackup2_client_free()</a> after use. </td></tr>
- <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>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>MOBILEBACKUP2_E_SUCCESS on success, or an MOBILEBACKUP2_E_* error code otherwise. </dd></dl>
- </div>
- </div>
- <a class="anchor" id="a127bbac1f1c6a0e289011902e3a7a3b0"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> mobilebackup2_receive_message </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> </td>
- <td class="paramname"><em>client</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">plist_t * </td>
- <td class="paramname"><em>msg_plist</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char ** </td>
- <td class="paramname"><em>dlmessage</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Receives a DL* message plist from the device. </p>
- <p>This function is a wrapper around device_link_service_receive_message.</p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">client</td><td>The connected MobileBackup client to use. </td></tr>
- <tr><td class="paramname">msg_plist</td><td>Pointer to a plist that will be set to the contents of the message plist upon successful return. </td></tr>
- <tr><td class="paramname">dlmessage</td><td>A pointer that will be set to a newly allocated char* containing the DL* string from the given plist. It is up to the caller to free the allocated memory. If this parameter is NULL it will be ignored.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>MOBILEBACKUP2_E_SUCCESS if a DL* message was received, MOBILEBACKUP2_E_INVALID_ARG if client or message is invalid, MOBILEBACKUP2_E_PLIST_ERROR if the received plist is invalid or is not a DL* message plist, or MOBILEBACKUP2_E_MUX_ERROR if receiving from the device failed. </dd></dl>
- </div>
- </div>
- <a class="anchor" id="a27469291309887a60abbbafd1d90eac3"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> mobilebackup2_receive_raw </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> </td>
- <td class="paramname"><em>client</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char * </td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint32_t </td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint32_t * </td>
- <td class="paramname"><em>bytes</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Receive binary from the device. </p>
- <dl class="section note"><dt>Note</dt><dd>This function returns MOBILEBACKUP2_E_SUCCESS even if no data has been received (unless a communication error occured). The fourth parameter is required and must be checked to know how many bytes were actually received.</dd></dl>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">client</td><td>The MobileBackup client to receive from. </td></tr>
- <tr><td class="paramname">data</td><td>Pointer to a buffer that will be filled with the received data. </td></tr>
- <tr><td class="paramname">length</td><td>Number of bytes to receive. The data buffer needs to be large enough to store this amount of data. bytes Number of bytes actually received.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>MOBILEBACKUP2_E_SUCCESS if any or no data was received, MOBILEBACKUP2_E_INVALID_ARG if one of the parameters is invalid, or MOBILEBACKUP2_E_MUX_ERROR if receiving the data failed. </dd></dl>
- </div>
- </div>
- <a class="anchor" id="a408732ff5a488ee2f72b4b7b3c671b24"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> mobilebackup2_send_message </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> </td>
- <td class="paramname"><em>client</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>message</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">plist_t </td>
- <td class="paramname"><em>options</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sends a backup message plist. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">client</td><td>The connected MobileBackup client to use. </td></tr>
- <tr><td class="paramname">message</td><td>The message to send. This will be inserted into the request plist as value for MessageName. If this parameter is NULL, the plist passed in the options parameter will be sent directly. </td></tr>
- <tr><td class="paramname">options</td><td>Additional options as PLIST_DICT to add to the request. The MessageName key with the value passed in the message parameter will be inserted into this plist before sending it. This parameter can be NULL if message is not NULL. </td></tr>
- </table>
- </dd>
- </dl>
- </div>
- </div>
- <a class="anchor" id="ac1c37c17849bf4f3f3240e7cc7b3514b"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> mobilebackup2_send_raw </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> </td>
- <td class="paramname"><em>client</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>data</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint32_t </td>
- <td class="paramname"><em>length</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">uint32_t * </td>
- <td class="paramname"><em>bytes</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Send binary data to the device. </p>
- <dl class="section note"><dt>Note</dt><dd>This function returns MOBILEBACKUP2_E_SUCCESS even if less than the requested length has been sent. The fourth parameter is required and must be checked to ensure if the whole data has been sent.</dd></dl>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">client</td><td>The MobileBackup client to send to. </td></tr>
- <tr><td class="paramname">data</td><td>Pointer to the data to send </td></tr>
- <tr><td class="paramname">length</td><td>Number of bytes to send </td></tr>
- <tr><td class="paramname">bytes</td><td>Number of bytes actually sent</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>MOBILEBACKUP2_E_SUCCESS if any data was successfully sent, MOBILEBACKUP2_E_INVALID_ARG if one of the parameters is invalid, or MOBILEBACKUP2_E_MUX_ERROR if sending of the data failed. </dd></dl>
- </div>
- </div>
- <a class="anchor" id="aad817475256ae8216718b32e1e6fd97d"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> mobilebackup2_send_request </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> </td>
- <td class="paramname"><em>client</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>request</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>target_identifier</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>source_identifier</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">plist_t </td>
- <td class="paramname"><em>options</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Send a request to the connected mobilebackup2 service. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">client</td><td></td></tr>
- <tr><td class="paramname">request</td><td>The request to send to the backup service. Currently, this is one of "Backup", "Restore", "Info", or "List". </td></tr>
- <tr><td class="paramname">target_identifier</td><td>UDID of the target device. </td></tr>
- <tr><td class="paramname">source_identifier</td><td>UDID of backup data? </td></tr>
- <tr><td class="paramname">options</td><td>Additional options in a plist of type PLIST_DICT.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>MOBILEBACKUP2_E_SUCCESS if the request was successfully sent, or a MOBILEBACKUP2_E_* error value otherwise. </dd></dl>
- </div>
- </div>
- <a class="anchor" id="aeeb2bec4278c62a20b72bc31f8ac3329"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> mobilebackup2_send_status_response </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> </td>
- <td class="paramname"><em>client</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">int </td>
- <td class="paramname"><em>status_code</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">const char * </td>
- <td class="paramname"><em>status1</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">plist_t </td>
- <td class="paramname"><em>status2</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Sends a DLMessageStatusResponse to the device. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">client</td><td>The MobileBackup client to use. </td></tr>
- <tr><td class="paramname">status_code</td><td>The status code to send. </td></tr>
- <tr><td class="paramname">status1</td><td>A status message to send. Can be NULL if not required. </td></tr>
- <tr><td class="paramname">status2</td><td>An additional status plist to attach to the response. Can be NULL if not required.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>MOBILEBACKUP2_E_SUCCESS on success, MOBILEBACKUP2_E_INVALID_ARG if client is invalid, or another MOBILEBACKUP2_E_* otherwise. </dd></dl>
- </div>
- </div>
- <a class="anchor" id="a46e04c64ba6f996c1bdea8e20f28cde2"></a>
- <div class="memitem">
- <div class="memproto">
- <table class="memname">
- <tr>
- <td class="memname"><a class="el" href="mobilebackup2_8h.html#aacf02bc6428a31aba0d131b6c44105f8">mobilebackup2_error_t</a> mobilebackup2_version_exchange </td>
- <td>(</td>
- <td class="paramtype"><a class="el" href="mobilebackup2_8h.html#a0cf69d4c02a02f37f1f864946aa4670a">mobilebackup2_client_t</a> </td>
- <td class="paramname"><em>client</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double </td>
- <td class="paramname"><em>local_versions</em>[], </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">char </td>
- <td class="paramname"><em>count</em>, </td>
- </tr>
- <tr>
- <td class="paramkey"></td>
- <td></td>
- <td class="paramtype">double * </td>
- <td class="paramname"><em>remote_version</em> </td>
- </tr>
- <tr>
- <td></td>
- <td>)</td>
- <td></td><td></td>
- </tr>
- </table>
- </div><div class="memdoc">
- <p>Performs the mobilebackup2 protocol version exchange. </p>
- <dl class="params"><dt>Parameters</dt><dd>
- <table class="params">
- <tr><td class="paramname">client</td><td>The MobileBackup client to use. </td></tr>
- <tr><td class="paramname">local_versions</td><td>An array of supported versions to send to the remote. </td></tr>
- <tr><td class="paramname">count</td><td>The number of items in local_versions. </td></tr>
- <tr><td class="paramname">remote_version</td><td>Holds the protocol version of the remote on success.</td></tr>
- </table>
- </dd>
- </dl>
- <dl class="section return"><dt>Returns</dt><dd>MOBILEBACKUP2_E_SUCCESS on success, or a MOBILEBACKUP2_E_* error code otherwise. </dd></dl>
- </div>
- </div>
- </div><!-- contents -->
- <!-- start footer part -->
- <hr class="footer"/><address class="footer"><small>
- Generated on Wed Jan 28 2015 23:15:48 for libimobiledevice by  <a href="http://www.doxygen.org/index.html">
- <img class="footer" src="doxygen.png" alt="doxygen"/>
- </a> 1.8.8
- </small></address>
- </body>
- </html>
|