~ubuntu-branches/ubuntu/wily/libimobiledevice/wily

« back to all changes in this revision

Viewing changes to docs/html/include_2libimobiledevice_2lockdown_8h.html

  • Committer: Package Import Robot
  • Author(s): Timo Jyrinki, Matthias Niess, Timo Jyrinki
  • Date: 2014-03-14 08:44:15 UTC
  • mfrom: (1.1.10)
  • Revision ID: package-import@ubuntu.com-20140314084415-twglhjx6bqzmir8v
Tags: 1.1.5+git20140313.bafe6a9e-0ubuntu1
[ Matthias Niess ]
* Replace a duplicate 'backup' util man page with the one for 'crashreport'

[ Timo Jyrinki ]
* New upstream snapshot. (LP: #1207812)
* Drop patches include in the upstream snapshot:
  - debian/patches/CVE-2013-2142.patch
  - debian/patches/git_explicitly_cast_ssl_enabled.patch
* Drop the python patch, new upstream method seems to work:
  - debian/patches/09_use_python_config.patch
* Refreshed remaining patches:
  - debian/patches/01-libs.private.patch
  - debian/patches/02-fix-link-errors.patch
* Drop libimobiledevice-doc, the git does not include html documentation
* Updated libimobiledevice4.symbols 
* Add missing man page for the 'idevicename' util

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
<title>libimobiledevice: libimobiledevice/lockdown.h File Reference</title>
7
 
<link href="tabs.css" rel="stylesheet" type="text/css"/>
8
 
<script type="text/javascript" src="jquery.js"></script>
9
 
<script type="text/javascript" src="dynsections.js"></script>
10
 
<link href="doxygen.css" rel="stylesheet" type="text/css" />
11
 
</head>
12
 
<body>
13
 
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
14
 
<div id="titlearea">
15
 
<table cellspacing="0" cellpadding="0">
16
 
 <tbody>
17
 
 <tr style="height: 56px;">
18
 
  <td style="padding-left: 0.5em;">
19
 
   <div id="projectname">libimobiledevice
20
 
   &#160;<span id="projectnumber">1.1.5</span>
21
 
   </div>
22
 
  </td>
23
 
 </tr>
24
 
 </tbody>
25
 
</table>
26
 
</div>
27
 
<!-- end header part -->
28
 
<!-- Generated by Doxygen 1.8.1 -->
29
 
  <div id="navrow1" class="tabs">
30
 
    <ul class="tablist">
31
 
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
32
 
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
33
 
      <li class="current"><a href="files.html"><span>Files</span></a></li>
34
 
    </ul>
35
 
  </div>
36
 
  <div id="navrow2" class="tabs2">
37
 
    <ul class="tablist">
38
 
      <li><a href="files.html"><span>File&#160;List</span></a></li>
39
 
      <li><a href="globals.html"><span>Globals</span></a></li>
40
 
    </ul>
41
 
  </div>
42
 
<div id="nav-path" class="navpath">
43
 
  <ul>
44
 
<li class="navelem"><a class="el" href="dir_0839347dbfd1d6806a2d090799a179ba.html">libimobiledevice</a></li>  </ul>
45
 
</div>
46
 
</div><!-- top -->
47
 
<div class="header">
48
 
  <div class="summary">
49
 
<a href="#nested-classes">Data Structures</a> &#124;
50
 
<a href="#typedef-members">Typedefs</a> &#124;
51
 
<a href="#func-members">Functions</a>  </div>
52
 
  <div class="headertitle">
53
 
<div class="title">lockdown.h File Reference</div>  </div>
54
 
</div><!--header-->
55
 
<div class="contents">
56
 
 
57
 
<p>Manage device preferences, start services, pairing and activation.  
58
 
<a href="#details">More...</a></p>
59
 
<table class="memberdecls">
60
 
<tr class="heading"><td colspan="2"><h2><a name="nested-classes"></a>
61
 
Data Structures</h2></td></tr>
62
 
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlockdownd__pair__record.html">lockdownd_pair_record_t</a></td></tr>
63
 
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A pair record holding device, host and root certificates along the host_id.  <a href="structlockdownd__pair__record.html#details">More...</a><br/></td></tr>
64
 
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlockdownd__service__descriptor.html">lockdownd_service_descriptor_t</a></td></tr>
65
 
</table><table class="memberdecls">
66
 
<tr class="heading"><td colspan="2"><h2><a name="typedef-members"></a>
67
 
Typedefs</h2></td></tr>
68
 
<tr class="memitem:a2c5d6e126bd17d2a5c07a5829cd0da50"><td class="memItemLeft" align="right" valign="top">typedef int16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a></td></tr>
69
 
<tr class="memdesc:a2c5d6e126bd17d2a5c07a5829cd0da50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Represents an error code.  <a href="#a2c5d6e126bd17d2a5c07a5829cd0da50"></a><br/></td></tr>
70
 
<tr class="memitem:a8254fd517d2303ad1208eb00d622e0f3"><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="structlockdownd__client__private.html">lockdownd_client_private</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a></td></tr>
71
 
<tr class="memdesc:a8254fd517d2303ad1208eb00d622e0f3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The client handle.  <a href="#a8254fd517d2303ad1208eb00d622e0f3"></a><br/></td></tr>
72
 
</table><table class="memberdecls">
73
 
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
74
 
Functions</h2></td></tr>
75
 
<tr class="memitem:aa2ed91c7a083b6c4322840cdd9e17c7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#aa2ed91c7a083b6c4322840cdd9e17c7a">lockdownd_client_new</a> (<a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a> device, <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> *client, const char *label)</td></tr>
76
 
<tr class="memdesc:aa2ed91c7a083b6c4322840cdd9e17c7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new lockdownd client for the device.  <a href="#aa2ed91c7a083b6c4322840cdd9e17c7a"></a><br/></td></tr>
77
 
<tr class="memitem:a5af6829d41749688b92b8436eefd2853"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a5af6829d41749688b92b8436eefd2853">lockdownd_client_new_with_handshake</a> (<a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a> device, <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> *client, const char *label)</td></tr>
78
 
<tr class="memdesc:a5af6829d41749688b92b8436eefd2853"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a new lockdownd client for the device and starts initial handshake.  <a href="#a5af6829d41749688b92b8436eefd2853"></a><br/></td></tr>
79
 
<tr class="memitem:aa886513215f9cc696ab47696e5498904"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#aa886513215f9cc696ab47696e5498904">lockdownd_client_free</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client)</td></tr>
80
 
<tr class="memdesc:aa886513215f9cc696ab47696e5498904"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the lockdownd client session if one is running and frees up the lockdownd_client struct.  <a href="#aa886513215f9cc696ab47696e5498904"></a><br/></td></tr>
81
 
<tr class="memitem:a9e94b542d55e9b78dfe8a8dbbab88ef5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a9e94b542d55e9b78dfe8a8dbbab88ef5">lockdownd_query_type</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, char **type)</td></tr>
82
 
<tr class="memdesc:a9e94b542d55e9b78dfe8a8dbbab88ef5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Query the type of the service daemon.  <a href="#a9e94b542d55e9b78dfe8a8dbbab88ef5"></a><br/></td></tr>
83
 
<tr class="memitem:a204c585addfca987e09f8fda24a04b28"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a204c585addfca987e09f8fda24a04b28">lockdownd_get_value</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, const char *domain, const char *key, plist_t *value)</td></tr>
84
 
<tr class="memdesc:a204c585addfca987e09f8fda24a04b28"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves a preferences plist using an optional domain and/or key name.  <a href="#a204c585addfca987e09f8fda24a04b28"></a><br/></td></tr>
85
 
<tr class="memitem:a3aeb41a3f2243437fc87d99f5ea4aadb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a3aeb41a3f2243437fc87d99f5ea4aadb">lockdownd_set_value</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, const char *domain, const char *key, plist_t value)</td></tr>
86
 
<tr class="memdesc:a3aeb41a3f2243437fc87d99f5ea4aadb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a preferences value using a plist and optional by domain and/or key name.  <a href="#a3aeb41a3f2243437fc87d99f5ea4aadb"></a><br/></td></tr>
87
 
<tr class="memitem:a1d1e537aec30bfb4c3e0096014deeb12"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a1d1e537aec30bfb4c3e0096014deeb12">lockdownd_remove_value</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, const char *domain, const char *key)</td></tr>
88
 
<tr class="memdesc:a1d1e537aec30bfb4c3e0096014deeb12"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes a preference node by domain and/or key name.  <a href="#a1d1e537aec30bfb4c3e0096014deeb12"></a><br/></td></tr>
89
 
<tr class="memitem:af77b9adaa204d4b57faf323a6c4ba25e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#af77b9adaa204d4b57faf323a6c4ba25e">lockdownd_start_service</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, const char *identifier, lockdownd_service_descriptor_t *service)</td></tr>
90
 
<tr class="memdesc:af77b9adaa204d4b57faf323a6c4ba25e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Requests to start a service and retrieve it's port on success.  <a href="#af77b9adaa204d4b57faf323a6c4ba25e"></a><br/></td></tr>
91
 
<tr class="memitem:a21d7159ab85f8fca0e94751e8bb8f401"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a21d7159ab85f8fca0e94751e8bb8f401">lockdownd_start_session</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, const char *host_id, char **session_id, int *ssl_enabled)</td></tr>
92
 
<tr class="memdesc:a21d7159ab85f8fca0e94751e8bb8f401"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a session with lockdownd and switches to SSL mode if device wants it.  <a href="#a21d7159ab85f8fca0e94751e8bb8f401"></a><br/></td></tr>
93
 
<tr class="memitem:ad6f68455954be19911d495345390f6fb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#ad6f68455954be19911d495345390f6fb">lockdownd_stop_session</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, const char *session_id)</td></tr>
94
 
<tr class="memdesc:ad6f68455954be19911d495345390f6fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the lockdownd session by sending the StopSession request.  <a href="#ad6f68455954be19911d495345390f6fb"></a><br/></td></tr>
95
 
<tr class="memitem:a1c1b4c2e8e01efc67ff4319be97d5668"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a1c1b4c2e8e01efc67ff4319be97d5668">lockdownd_send</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, plist_t plist)</td></tr>
96
 
<tr class="memdesc:a1c1b4c2e8e01efc67ff4319be97d5668"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends a plist to lockdownd.  <a href="#a1c1b4c2e8e01efc67ff4319be97d5668"></a><br/></td></tr>
97
 
<tr class="memitem:a74e4f3ea70c691e5f12f964ea1e9b42b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a74e4f3ea70c691e5f12f964ea1e9b42b">lockdownd_receive</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, plist_t *plist)</td></tr>
98
 
<tr class="memdesc:a74e4f3ea70c691e5f12f964ea1e9b42b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receives a plist from lockdownd.  <a href="#a74e4f3ea70c691e5f12f964ea1e9b42b"></a><br/></td></tr>
99
 
<tr class="memitem:a8df943348a5b657b613b931231681571"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8df943348a5b657b613b931231681571">lockdownd_pair</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, lockdownd_pair_record_t pair_record)</td></tr>
100
 
<tr class="memdesc:a8df943348a5b657b613b931231681571"><td class="mdescLeft">&#160;</td><td class="mdescRight">Pairs the device using the supplied pair record.  <a href="#a8df943348a5b657b613b931231681571"></a><br/></td></tr>
101
 
<tr class="memitem:af36157f83cb262680bbc8903fcf1ba8a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#af36157f83cb262680bbc8903fcf1ba8a">lockdownd_validate_pair</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, lockdownd_pair_record_t pair_record)</td></tr>
102
 
<tr class="memdesc:af36157f83cb262680bbc8903fcf1ba8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validates if the device is paired with the given HostID.  <a href="#af36157f83cb262680bbc8903fcf1ba8a"></a><br/></td></tr>
103
 
<tr class="memitem:ab9e7add76d59381e60fed8122dd30b64"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#ab9e7add76d59381e60fed8122dd30b64">lockdownd_unpair</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, lockdownd_pair_record_t pair_record)</td></tr>
104
 
<tr class="memdesc:ab9e7add76d59381e60fed8122dd30b64"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unpairs the device with the given HostID and removes the pairing records from the device and host if the internal pairing record management is used.  <a href="#ab9e7add76d59381e60fed8122dd30b64"></a><br/></td></tr>
105
 
<tr class="memitem:ab6e9e8e04da0e8022d31b08b77232fb7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#ab6e9e8e04da0e8022d31b08b77232fb7">lockdownd_activate</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, plist_t activation_record)</td></tr>
106
 
<tr class="memdesc:ab6e9e8e04da0e8022d31b08b77232fb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Activates the device.  <a href="#ab6e9e8e04da0e8022d31b08b77232fb7"></a><br/></td></tr>
107
 
<tr class="memitem:acd0ea3ab003e4e5d557ecf6e2e2b15e3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#acd0ea3ab003e4e5d557ecf6e2e2b15e3">lockdownd_deactivate</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client)</td></tr>
108
 
<tr class="memdesc:acd0ea3ab003e4e5d557ecf6e2e2b15e3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Deactivates the device, returning it to the locked “Activate with iTunes” screen.  <a href="#acd0ea3ab003e4e5d557ecf6e2e2b15e3"></a><br/></td></tr>
109
 
<tr class="memitem:a057125582e5569d43424ceeb9af0657a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a057125582e5569d43424ceeb9af0657a">lockdownd_enter_recovery</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client)</td></tr>
110
 
<tr class="memdesc:a057125582e5569d43424ceeb9af0657a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tells the device to immediately enter recovery mode.  <a href="#a057125582e5569d43424ceeb9af0657a"></a><br/></td></tr>
111
 
<tr class="memitem:a99d24f326f8e3118919065316a7e3b84"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a99d24f326f8e3118919065316a7e3b84">lockdownd_goodbye</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client)</td></tr>
112
 
<tr class="memdesc:a99d24f326f8e3118919065316a7e3b84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the Goodbye request to lockdownd signaling the end of communication.  <a href="#a99d24f326f8e3118919065316a7e3b84"></a><br/></td></tr>
113
 
<tr class="memitem:a6609ebc075b315f23108a7cd28b006de"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a6609ebc075b315f23108a7cd28b006de">lockdownd_client_set_label</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, const char *label)</td></tr>
114
 
<tr class="memdesc:a6609ebc075b315f23108a7cd28b006de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the label to send for requests to lockdownd.  <a href="#a6609ebc075b315f23108a7cd28b006de"></a><br/></td></tr>
115
 
<tr class="memitem:a26123eb60206bea73b9a96e3ddae0d24"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a26123eb60206bea73b9a96e3ddae0d24">lockdownd_get_device_udid</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> control, char **udid)</td></tr>
116
 
<tr class="memdesc:a26123eb60206bea73b9a96e3ddae0d24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the unique id of the device from lockdownd.  <a href="#a26123eb60206bea73b9a96e3ddae0d24"></a><br/></td></tr>
117
 
<tr class="memitem:a981044554c3acb9e9ddc0b1c068a959d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a981044554c3acb9e9ddc0b1c068a959d">lockdownd_get_device_name</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, char **device_name)</td></tr>
118
 
<tr class="memdesc:a981044554c3acb9e9ddc0b1c068a959d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the name of the device from lockdownd set by the user.  <a href="#a981044554c3acb9e9ddc0b1c068a959d"></a><br/></td></tr>
119
 
<tr class="memitem:a5f8385e034bc07a22a1cb593ab8f8816"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a5f8385e034bc07a22a1cb593ab8f8816">lockdownd_get_sync_data_classes</a> (<a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> client, char ***classes, int *count)</td></tr>
120
 
<tr class="memdesc:a5f8385e034bc07a22a1cb593ab8f8816"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculates and returns the data classes the device supports from lockdownd.  <a href="#a5f8385e034bc07a22a1cb593ab8f8816"></a><br/></td></tr>
121
 
<tr class="memitem:a7e00f87582f5dacbf99266768af14a65"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a7e00f87582f5dacbf99266768af14a65">lockdownd_data_classes_free</a> (char **classes)</td></tr>
122
 
<tr class="memdesc:a7e00f87582f5dacbf99266768af14a65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees memory of an allocated array of data classes as returned by <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a5f8385e034bc07a22a1cb593ab8f8816" title="Calculates and returns the data classes the device supports from lockdownd.">lockdownd_get_sync_data_classes()</a>  <a href="#a7e00f87582f5dacbf99266768af14a65"></a><br/></td></tr>
123
 
<tr class="memitem:a35a72eb842f869e47967305a5030e660"><td class="memItemLeft" align="right" valign="top"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a35a72eb842f869e47967305a5030e660">lockdownd_service_descriptor_free</a> (lockdownd_service_descriptor_t service)</td></tr>
124
 
<tr class="memdesc:a35a72eb842f869e47967305a5030e660"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees memory of a service descriptor as returned by <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#af77b9adaa204d4b57faf323a6c4ba25e" title="Requests to start a service and retrieve it&#39;s port on success.">lockdownd_start_service()</a>  <a href="#a35a72eb842f869e47967305a5030e660"></a><br/></td></tr>
125
 
</table><table class="memberdecls">
126
 
<tr class="heading"><td colspan="2"><h2><a name="member-group"></a>
127
 
Error Codes</h2></td></tr>
128
 
<tr class="memitem:aba4fb7298b270067139e19b66cc35650"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba4fb7298b270067139e19b66cc35650"></a>
129
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_SUCCESS</b>&#160;&#160;&#160;0</td></tr>
130
 
<tr class="memitem:a9fe97d39dea87ab6fbfc54e396dd26af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9fe97d39dea87ab6fbfc54e396dd26af"></a>
131
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_INVALID_ARG</b>&#160;&#160;&#160;-1</td></tr>
132
 
<tr class="memitem:a46321588a6d25a783e97a0c4dc1f715a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a46321588a6d25a783e97a0c4dc1f715a"></a>
133
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_INVALID_CONF</b>&#160;&#160;&#160;-2</td></tr>
134
 
<tr class="memitem:a1cbbe194651ba7cf9012a40dce04eea8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1cbbe194651ba7cf9012a40dce04eea8"></a>
135
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_PLIST_ERROR</b>&#160;&#160;&#160;-3</td></tr>
136
 
<tr class="memitem:ad794582eb79197f574e26cc3e7de55eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad794582eb79197f574e26cc3e7de55eb"></a>
137
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_PAIRING_FAILED</b>&#160;&#160;&#160;-4</td></tr>
138
 
<tr class="memitem:a7d12e933c614eb2d0a738b0f29c804b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d12e933c614eb2d0a738b0f29c804b6"></a>
139
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_SSL_ERROR</b>&#160;&#160;&#160;-5</td></tr>
140
 
<tr class="memitem:a0ba3a0ebd38f5912a8666153ba2f229d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ba3a0ebd38f5912a8666153ba2f229d"></a>
141
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_DICT_ERROR</b>&#160;&#160;&#160;-6</td></tr>
142
 
<tr class="memitem:ab5c3390f9de50ab4d5c7f32fae822d01"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab5c3390f9de50ab4d5c7f32fae822d01"></a>
143
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_START_SERVICE_FAILED</b>&#160;&#160;&#160;-7</td></tr>
144
 
<tr class="memitem:ab4c6ae80778239986d617fef6c1459e3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab4c6ae80778239986d617fef6c1459e3"></a>
145
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_NOT_ENOUGH_DATA</b>&#160;&#160;&#160;-8</td></tr>
146
 
<tr class="memitem:a775a9984d8a55dffe782082b0891a354"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a775a9984d8a55dffe782082b0891a354"></a>
147
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_SET_VALUE_PROHIBITED</b>&#160;&#160;&#160;-9</td></tr>
148
 
<tr class="memitem:a3f694c30b7b537b87e53dacaebf48ffd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3f694c30b7b537b87e53dacaebf48ffd"></a>
149
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_GET_VALUE_PROHIBITED</b>&#160;&#160;&#160;-10</td></tr>
150
 
<tr class="memitem:a7fc9b884e609399143c661c992e1455d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7fc9b884e609399143c661c992e1455d"></a>
151
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_REMOVE_VALUE_PROHIBITED</b>&#160;&#160;&#160;-11</td></tr>
152
 
<tr class="memitem:a9cbd4dceff20c807aa1d62f1e522138c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cbd4dceff20c807aa1d62f1e522138c"></a>
153
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_MUX_ERROR</b>&#160;&#160;&#160;-12</td></tr>
154
 
<tr class="memitem:a626b55ed7debe38f6202046c076f4eb8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a626b55ed7debe38f6202046c076f4eb8"></a>
155
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_ACTIVATION_FAILED</b>&#160;&#160;&#160;-13</td></tr>
156
 
<tr class="memitem:a0346f32b2d61363098f934d7f2439693"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0346f32b2d61363098f934d7f2439693"></a>
157
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_PASSWORD_PROTECTED</b>&#160;&#160;&#160;-14</td></tr>
158
 
<tr class="memitem:a427642e077a717a710ee66340ceeaa28"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a427642e077a717a710ee66340ceeaa28"></a>
159
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_NO_RUNNING_SESSION</b>&#160;&#160;&#160;-15</td></tr>
160
 
<tr class="memitem:affc37f9b0c0ea041eb20aca2c2500a81"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affc37f9b0c0ea041eb20aca2c2500a81"></a>
161
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_INVALID_HOST_ID</b>&#160;&#160;&#160;-16</td></tr>
162
 
<tr class="memitem:a2a1b26d3c203eeb5641977b85c65ff77"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a1b26d3c203eeb5641977b85c65ff77"></a>
163
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_INVALID_SERVICE</b>&#160;&#160;&#160;-17</td></tr>
164
 
<tr class="memitem:a259a520052ef3cfcc12181001358caaf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a259a520052ef3cfcc12181001358caaf"></a>
165
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_INVALID_ACTIVATION_RECORD</b>&#160;&#160;&#160;-18</td></tr>
166
 
<tr class="memitem:a4e1b0f74aee714e33a993d45d8d5a622"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e1b0f74aee714e33a993d45d8d5a622"></a>
167
 
#define&#160;</td><td class="memItemRight" valign="bottom"><b>LOCKDOWN_E_UNKNOWN_ERROR</b>&#160;&#160;&#160;-256</td></tr>
168
 
</table>
169
 
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
170
 
<div class="textblock"><p>Manage device preferences, start services, pairing and activation. </p>
171
 
</div><hr/><h2>Typedef Documentation</h2>
172
 
<a class="anchor" id="a8254fd517d2303ad1208eb00d622e0f3"></a>
173
 
<div class="memitem">
174
 
<div class="memproto">
175
 
      <table class="memname">
176
 
        <tr>
177
 
          <td class="memname">typedef <a class="el" href="structlockdownd__client__private.html">lockdownd_client_private</a>* <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a></td>
178
 
        </tr>
179
 
      </table>
180
 
</div><div class="memdoc">
181
 
 
182
 
<p>The client handle. </p>
183
 
 
184
 
</div>
185
 
</div>
186
 
<a class="anchor" id="a2c5d6e126bd17d2a5c07a5829cd0da50"></a>
187
 
<div class="memitem">
188
 
<div class="memproto">
189
 
      <table class="memname">
190
 
        <tr>
191
 
          <td class="memname">typedef int16_t <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a></td>
192
 
        </tr>
193
 
      </table>
194
 
</div><div class="memdoc">
195
 
 
196
 
<p>Represents an error code. </p>
197
 
 
198
 
</div>
199
 
</div>
200
 
<hr/><h2>Function Documentation</h2>
201
 
<a class="anchor" id="ab6e9e8e04da0e8022d31b08b77232fb7"></a>
202
 
<div class="memitem">
203
 
<div class="memproto">
204
 
      <table class="memname">
205
 
        <tr>
206
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_activate </td>
207
 
          <td>(</td>
208
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
209
 
          <td class="paramname"><em>client</em>, </td>
210
 
        </tr>
211
 
        <tr>
212
 
          <td class="paramkey"></td>
213
 
          <td></td>
214
 
          <td class="paramtype">plist_t&#160;</td>
215
 
          <td class="paramname"><em>activation_record</em>&#160;</td>
216
 
        </tr>
217
 
        <tr>
218
 
          <td></td>
219
 
          <td>)</td>
220
 
          <td></td><td></td>
221
 
        </tr>
222
 
      </table>
223
 
</div><div class="memdoc">
224
 
 
225
 
<p>Activates the device. </p>
226
 
<p>Only works within an open session. The ActivationRecord plist dictionary must be obtained using the activation protocol requesting from Apple's https webservice.</p>
227
 
<dl class="section see"><dt>See also:</dt><dd><a href="http://iphone-docs.org/doku.php?id=docs:protocols:activation">http://iphone-docs.org/doku.php?id=docs:protocols:activation</a></dd></dl>
228
 
<dl class="params"><dt>Parameters:</dt><dd>
229
 
  <table class="params">
230
 
    <tr><td class="paramname">client</td><td>The lockdown client </td></tr>
231
 
    <tr><td class="paramname">activation_record</td><td>The activation record plist dictionary</td></tr>
232
 
  </table>
233
 
  </dd>
234
 
</dl>
235
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client or activation_record is NULL, LOCKDOWN_E_NO_RUNNING_SESSION if no session is open, LOCKDOWN_E_PLIST_ERROR if the received plist is broken, LOCKDOWN_E_ACTIVATION_FAILED if the activation failed, LOCKDOWN_E_INVALID_ACTIVATION_RECORD if the device reports that the activation_record is invalid </dd></dl>
236
 
 
237
 
</div>
238
 
</div>
239
 
<a class="anchor" id="aa886513215f9cc696ab47696e5498904"></a>
240
 
<div class="memitem">
241
 
<div class="memproto">
242
 
      <table class="memname">
243
 
        <tr>
244
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_client_free </td>
245
 
          <td>(</td>
246
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
247
 
          <td class="paramname"><em>client</em></td><td>)</td>
248
 
          <td></td>
249
 
        </tr>
250
 
      </table>
251
 
</div><div class="memdoc">
252
 
 
253
 
<p>Closes the lockdownd client session if one is running and frees up the lockdownd_client struct. </p>
254
 
<dl class="params"><dt>Parameters:</dt><dd>
255
 
  <table class="params">
256
 
    <tr><td class="paramname">client</td><td>The lockdown client</td></tr>
257
 
  </table>
258
 
  </dd>
259
 
</dl>
260
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL </dd></dl>
261
 
 
262
 
</div>
263
 
</div>
264
 
<a class="anchor" id="aa2ed91c7a083b6c4322840cdd9e17c7a"></a>
265
 
<div class="memitem">
266
 
<div class="memproto">
267
 
      <table class="memname">
268
 
        <tr>
269
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_client_new </td>
270
 
          <td>(</td>
271
 
          <td class="paramtype"><a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a>&#160;</td>
272
 
          <td class="paramname"><em>device</em>, </td>
273
 
        </tr>
274
 
        <tr>
275
 
          <td class="paramkey"></td>
276
 
          <td></td>
277
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> *&#160;</td>
278
 
          <td class="paramname"><em>client</em>, </td>
279
 
        </tr>
280
 
        <tr>
281
 
          <td class="paramkey"></td>
282
 
          <td></td>
283
 
          <td class="paramtype">const char *&#160;</td>
284
 
          <td class="paramname"><em>label</em>&#160;</td>
285
 
        </tr>
286
 
        <tr>
287
 
          <td></td>
288
 
          <td>)</td>
289
 
          <td></td><td></td>
290
 
        </tr>
291
 
      </table>
292
 
</div><div class="memdoc">
293
 
 
294
 
<p>Creates a new lockdownd client for the device. </p>
295
 
<dl class="section note"><dt>Note:</dt><dd>This function does not pair with the device or start a session. This has to be done manually by the caller after the client is created. The device disconnects automatically if the lockdown connection idles for more than 10 seconds. Make sure to call <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#aa886513215f9cc696ab47696e5498904" title="Closes the lockdownd client session if one is running and frees up the lockdownd_client struct...">lockdownd_client_free()</a> as soon as the connection is no longer needed.</dd></dl>
296
 
<dl class="params"><dt>Parameters:</dt><dd>
297
 
  <table class="params">
298
 
    <tr><td class="paramname">device</td><td>The device to create a lockdownd client for </td></tr>
299
 
    <tr><td class="paramname">client</td><td>The pointer to the location of the new lockdownd_client </td></tr>
300
 
    <tr><td class="paramname">label</td><td>The label to use for communication. Usually the program name.</td></tr>
301
 
  </table>
302
 
  </dd>
303
 
</dl>
304
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL </dd></dl>
305
 
 
306
 
</div>
307
 
</div>
308
 
<a class="anchor" id="a5af6829d41749688b92b8436eefd2853"></a>
309
 
<div class="memitem">
310
 
<div class="memproto">
311
 
      <table class="memname">
312
 
        <tr>
313
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_client_new_with_handshake </td>
314
 
          <td>(</td>
315
 
          <td class="paramtype"><a class="el" href="libimobiledevice_8h.html#ae5bc0e9aa2f3b5023755f5e1c5039a60">idevice_t</a>&#160;</td>
316
 
          <td class="paramname"><em>device</em>, </td>
317
 
        </tr>
318
 
        <tr>
319
 
          <td class="paramkey"></td>
320
 
          <td></td>
321
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a> *&#160;</td>
322
 
          <td class="paramname"><em>client</em>, </td>
323
 
        </tr>
324
 
        <tr>
325
 
          <td class="paramkey"></td>
326
 
          <td></td>
327
 
          <td class="paramtype">const char *&#160;</td>
328
 
          <td class="paramname"><em>label</em>&#160;</td>
329
 
        </tr>
330
 
        <tr>
331
 
          <td></td>
332
 
          <td>)</td>
333
 
          <td></td><td></td>
334
 
        </tr>
335
 
      </table>
336
 
</div><div class="memdoc">
337
 
 
338
 
<p>Creates a new lockdownd client for the device and starts initial handshake. </p>
339
 
<p>The handshake consists out of query_type, validate_pair, pair and start_session calls. It uses the internal pairing record management.</p>
340
 
<dl class="section note"><dt>Note:</dt><dd>The device disconnects automatically if the lockdown connection idles for more than 10 seconds. Make sure to call <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#aa886513215f9cc696ab47696e5498904" title="Closes the lockdownd client session if one is running and frees up the lockdownd_client struct...">lockdownd_client_free()</a> as soon as the connection is no longer needed.</dd></dl>
341
 
<dl class="params"><dt>Parameters:</dt><dd>
342
 
  <table class="params">
343
 
    <tr><td class="paramname">device</td><td>The device to create a lockdownd client for </td></tr>
344
 
    <tr><td class="paramname">client</td><td>The pointer to the location of the new lockdownd_client </td></tr>
345
 
    <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>
346
 
  </table>
347
 
  </dd>
348
 
</dl>
349
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL, LOCKDOWN_E_INVALID_CONF if configuration data is wrong </dd></dl>
350
 
 
351
 
</div>
352
 
</div>
353
 
<a class="anchor" id="a6609ebc075b315f23108a7cd28b006de"></a>
354
 
<div class="memitem">
355
 
<div class="memproto">
356
 
      <table class="memname">
357
 
        <tr>
358
 
          <td class="memname">void lockdownd_client_set_label </td>
359
 
          <td>(</td>
360
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
361
 
          <td class="paramname"><em>client</em>, </td>
362
 
        </tr>
363
 
        <tr>
364
 
          <td class="paramkey"></td>
365
 
          <td></td>
366
 
          <td class="paramtype">const char *&#160;</td>
367
 
          <td class="paramname"><em>label</em>&#160;</td>
368
 
        </tr>
369
 
        <tr>
370
 
          <td></td>
371
 
          <td>)</td>
372
 
          <td></td><td></td>
373
 
        </tr>
374
 
      </table>
375
 
</div><div class="memdoc">
376
 
 
377
 
<p>Sets the label to send for requests to lockdownd. </p>
378
 
<dl class="params"><dt>Parameters:</dt><dd>
379
 
  <table class="params">
380
 
    <tr><td class="paramname">client</td><td>The lockdown client </td></tr>
381
 
    <tr><td class="paramname">label</td><td>The label to set or NULL to disable sending a label </td></tr>
382
 
  </table>
383
 
  </dd>
384
 
</dl>
385
 
 
386
 
</div>
387
 
</div>
388
 
<a class="anchor" id="a7e00f87582f5dacbf99266768af14a65"></a>
389
 
<div class="memitem">
390
 
<div class="memproto">
391
 
      <table class="memname">
392
 
        <tr>
393
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_data_classes_free </td>
394
 
          <td>(</td>
395
 
          <td class="paramtype">char **&#160;</td>
396
 
          <td class="paramname"><em>classes</em></td><td>)</td>
397
 
          <td></td>
398
 
        </tr>
399
 
      </table>
400
 
</div><div class="memdoc">
401
 
 
402
 
<p>Frees memory of an allocated array of data classes as returned by <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a5f8385e034bc07a22a1cb593ab8f8816" title="Calculates and returns the data classes the device supports from lockdownd.">lockdownd_get_sync_data_classes()</a> </p>
403
 
<dl class="params"><dt>Parameters:</dt><dd>
404
 
  <table class="params">
405
 
    <tr><td class="paramname">classes</td><td>An array of class names to free.</td></tr>
406
 
  </table>
407
 
  </dd>
408
 
</dl>
409
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success </dd></dl>
410
 
 
411
 
</div>
412
 
</div>
413
 
<a class="anchor" id="acd0ea3ab003e4e5d557ecf6e2e2b15e3"></a>
414
 
<div class="memitem">
415
 
<div class="memproto">
416
 
      <table class="memname">
417
 
        <tr>
418
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_deactivate </td>
419
 
          <td>(</td>
420
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
421
 
          <td class="paramname"><em>client</em></td><td>)</td>
422
 
          <td></td>
423
 
        </tr>
424
 
      </table>
425
 
</div><div class="memdoc">
426
 
 
427
 
<p>Deactivates the device, returning it to the locked “Activate with iTunes” screen. </p>
428
 
<dl class="params"><dt>Parameters:</dt><dd>
429
 
  <table class="params">
430
 
    <tr><td class="paramname">client</td><td>The lockdown client</td></tr>
431
 
  </table>
432
 
  </dd>
433
 
</dl>
434
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL, LOCKDOWN_E_NO_RUNNING_SESSION if no session is open, LOCKDOWN_E_PLIST_ERROR if the received plist is broken </dd></dl>
435
 
 
436
 
</div>
437
 
</div>
438
 
<a class="anchor" id="a057125582e5569d43424ceeb9af0657a"></a>
439
 
<div class="memitem">
440
 
<div class="memproto">
441
 
      <table class="memname">
442
 
        <tr>
443
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_enter_recovery </td>
444
 
          <td>(</td>
445
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
446
 
          <td class="paramname"><em>client</em></td><td>)</td>
447
 
          <td></td>
448
 
        </tr>
449
 
      </table>
450
 
</div><div class="memdoc">
451
 
 
452
 
<p>Tells the device to immediately enter recovery mode. </p>
453
 
<dl class="params"><dt>Parameters:</dt><dd>
454
 
  <table class="params">
455
 
    <tr><td class="paramname">client</td><td>The lockdown client</td></tr>
456
 
  </table>
457
 
  </dd>
458
 
</dl>
459
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL </dd></dl>
460
 
 
461
 
</div>
462
 
</div>
463
 
<a class="anchor" id="a981044554c3acb9e9ddc0b1c068a959d"></a>
464
 
<div class="memitem">
465
 
<div class="memproto">
466
 
      <table class="memname">
467
 
        <tr>
468
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_get_device_name </td>
469
 
          <td>(</td>
470
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
471
 
          <td class="paramname"><em>client</em>, </td>
472
 
        </tr>
473
 
        <tr>
474
 
          <td class="paramkey"></td>
475
 
          <td></td>
476
 
          <td class="paramtype">char **&#160;</td>
477
 
          <td class="paramname"><em>device_name</em>&#160;</td>
478
 
        </tr>
479
 
        <tr>
480
 
          <td></td>
481
 
          <td>)</td>
482
 
          <td></td><td></td>
483
 
        </tr>
484
 
      </table>
485
 
</div><div class="memdoc">
486
 
 
487
 
<p>Retrieves the name of the device from lockdownd set by the user. </p>
488
 
<dl class="params"><dt>Parameters:</dt><dd>
489
 
  <table class="params">
490
 
    <tr><td class="paramname">client</td><td>An initialized lockdownd client. </td></tr>
491
 
    <tr><td class="paramname">device_name</td><td>Holds the name of the device. The caller is responsible for freeing the memory.</td></tr>
492
 
  </table>
493
 
  </dd>
494
 
</dl>
495
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success </dd></dl>
496
 
 
497
 
</div>
498
 
</div>
499
 
<a class="anchor" id="a26123eb60206bea73b9a96e3ddae0d24"></a>
500
 
<div class="memitem">
501
 
<div class="memproto">
502
 
      <table class="memname">
503
 
        <tr>
504
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_get_device_udid </td>
505
 
          <td>(</td>
506
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
507
 
          <td class="paramname"><em>client</em>, </td>
508
 
        </tr>
509
 
        <tr>
510
 
          <td class="paramkey"></td>
511
 
          <td></td>
512
 
          <td class="paramtype">char **&#160;</td>
513
 
          <td class="paramname"><em>udid</em>&#160;</td>
514
 
        </tr>
515
 
        <tr>
516
 
          <td></td>
517
 
          <td>)</td>
518
 
          <td></td><td></td>
519
 
        </tr>
520
 
      </table>
521
 
</div><div class="memdoc">
522
 
 
523
 
<p>Returns the unique id of the device from lockdownd. </p>
524
 
<dl class="params"><dt>Parameters:</dt><dd>
525
 
  <table class="params">
526
 
    <tr><td class="paramname">client</td><td>An initialized lockdownd client. </td></tr>
527
 
    <tr><td class="paramname">udid</td><td>Holds the unique id of the device. The caller is responsible for freeing the memory.</td></tr>
528
 
  </table>
529
 
  </dd>
530
 
</dl>
531
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success </dd></dl>
532
 
 
533
 
</div>
534
 
</div>
535
 
<a class="anchor" id="a5f8385e034bc07a22a1cb593ab8f8816"></a>
536
 
<div class="memitem">
537
 
<div class="memproto">
538
 
      <table class="memname">
539
 
        <tr>
540
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_get_sync_data_classes </td>
541
 
          <td>(</td>
542
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
543
 
          <td class="paramname"><em>client</em>, </td>
544
 
        </tr>
545
 
        <tr>
546
 
          <td class="paramkey"></td>
547
 
          <td></td>
548
 
          <td class="paramtype">char ***&#160;</td>
549
 
          <td class="paramname"><em>classes</em>, </td>
550
 
        </tr>
551
 
        <tr>
552
 
          <td class="paramkey"></td>
553
 
          <td></td>
554
 
          <td class="paramtype">int *&#160;</td>
555
 
          <td class="paramname"><em>count</em>&#160;</td>
556
 
        </tr>
557
 
        <tr>
558
 
          <td></td>
559
 
          <td>)</td>
560
 
          <td></td><td></td>
561
 
        </tr>
562
 
      </table>
563
 
</div><div class="memdoc">
564
 
 
565
 
<p>Calculates and returns the data classes the device supports from lockdownd. </p>
566
 
<dl class="params"><dt>Parameters:</dt><dd>
567
 
  <table class="params">
568
 
    <tr><td class="paramname">client</td><td>An initialized lockdownd client. </td></tr>
569
 
    <tr><td class="paramname">classes</td><td>A pointer to store an array of class names. The caller is responsible for freeing the memory which can be done using mobilesync_data_classes_free(). </td></tr>
570
 
    <tr><td class="paramname">count</td><td>The number of items in the classes array.</td></tr>
571
 
  </table>
572
 
  </dd>
573
 
</dl>
574
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is NULL, LOCKDOWN_E_NO_RUNNING_SESSION if no session is open, LOCKDOWN_E_PLIST_ERROR if the received plist is broken </dd></dl>
575
 
 
576
 
</div>
577
 
</div>
578
 
<a class="anchor" id="a204c585addfca987e09f8fda24a04b28"></a>
579
 
<div class="memitem">
580
 
<div class="memproto">
581
 
      <table class="memname">
582
 
        <tr>
583
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_get_value </td>
584
 
          <td>(</td>
585
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
586
 
          <td class="paramname"><em>client</em>, </td>
587
 
        </tr>
588
 
        <tr>
589
 
          <td class="paramkey"></td>
590
 
          <td></td>
591
 
          <td class="paramtype">const char *&#160;</td>
592
 
          <td class="paramname"><em>domain</em>, </td>
593
 
        </tr>
594
 
        <tr>
595
 
          <td class="paramkey"></td>
596
 
          <td></td>
597
 
          <td class="paramtype">const char *&#160;</td>
598
 
          <td class="paramname"><em>key</em>, </td>
599
 
        </tr>
600
 
        <tr>
601
 
          <td class="paramkey"></td>
602
 
          <td></td>
603
 
          <td class="paramtype">plist_t *&#160;</td>
604
 
          <td class="paramname"><em>value</em>&#160;</td>
605
 
        </tr>
606
 
        <tr>
607
 
          <td></td>
608
 
          <td>)</td>
609
 
          <td></td><td></td>
610
 
        </tr>
611
 
      </table>
612
 
</div><div class="memdoc">
613
 
 
614
 
<p>Retrieves a preferences plist using an optional domain and/or key name. </p>
615
 
<dl class="params"><dt>Parameters:</dt><dd>
616
 
  <table class="params">
617
 
    <tr><td class="paramname">client</td><td>An initialized lockdownd client. </td></tr>
618
 
    <tr><td class="paramname">domain</td><td>The domain to query on or NULL for global domain </td></tr>
619
 
    <tr><td class="paramname">key</td><td>The key name to request or NULL to query for all keys </td></tr>
620
 
    <tr><td class="paramname">value</td><td>A plist node representing the result value node</td></tr>
621
 
  </table>
622
 
  </dd>
623
 
</dl>
624
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL </dd></dl>
625
 
 
626
 
</div>
627
 
</div>
628
 
<a class="anchor" id="a99d24f326f8e3118919065316a7e3b84"></a>
629
 
<div class="memitem">
630
 
<div class="memproto">
631
 
      <table class="memname">
632
 
        <tr>
633
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_goodbye </td>
634
 
          <td>(</td>
635
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
636
 
          <td class="paramname"><em>client</em></td><td>)</td>
637
 
          <td></td>
638
 
        </tr>
639
 
      </table>
640
 
</div><div class="memdoc">
641
 
 
642
 
<p>Sends the Goodbye request to lockdownd signaling the end of communication. </p>
643
 
<dl class="params"><dt>Parameters:</dt><dd>
644
 
  <table class="params">
645
 
    <tr><td class="paramname">client</td><td>The lockdown client</td></tr>
646
 
  </table>
647
 
  </dd>
648
 
</dl>
649
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when client is NULL, LOCKDOWN_E_PLIST_ERROR if the device did not acknowledge the request </dd></dl>
650
 
 
651
 
</div>
652
 
</div>
653
 
<a class="anchor" id="a8df943348a5b657b613b931231681571"></a>
654
 
<div class="memitem">
655
 
<div class="memproto">
656
 
      <table class="memname">
657
 
        <tr>
658
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_pair </td>
659
 
          <td>(</td>
660
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
661
 
          <td class="paramname"><em>client</em>, </td>
662
 
        </tr>
663
 
        <tr>
664
 
          <td class="paramkey"></td>
665
 
          <td></td>
666
 
          <td class="paramtype">lockdownd_pair_record_t&#160;</td>
667
 
          <td class="paramname"><em>pair_record</em>&#160;</td>
668
 
        </tr>
669
 
        <tr>
670
 
          <td></td>
671
 
          <td>)</td>
672
 
          <td></td><td></td>
673
 
        </tr>
674
 
      </table>
675
 
</div><div class="memdoc">
676
 
 
677
 
<p>Pairs the device using the supplied pair record. </p>
678
 
<dl class="params"><dt>Parameters:</dt><dd>
679
 
  <table class="params">
680
 
    <tr><td class="paramname">client</td><td>The lockdown client to pair with. </td></tr>
681
 
    <tr><td class="paramname">pair_record</td><td>The pair record to use for pairing. If NULL is passed, then the pair records from the current machine are used. New records will be generated automatically when pairing is done for the first time.</td></tr>
682
 
  </table>
683
 
  </dd>
684
 
</dl>
685
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL, LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong, LOCKDOWN_E_PAIRING_FAILED if the pairing failed, LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected, LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's host id </dd></dl>
686
 
 
687
 
</div>
688
 
</div>
689
 
<a class="anchor" id="a9e94b542d55e9b78dfe8a8dbbab88ef5"></a>
690
 
<div class="memitem">
691
 
<div class="memproto">
692
 
      <table class="memname">
693
 
        <tr>
694
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_query_type </td>
695
 
          <td>(</td>
696
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
697
 
          <td class="paramname"><em>client</em>, </td>
698
 
        </tr>
699
 
        <tr>
700
 
          <td class="paramkey"></td>
701
 
          <td></td>
702
 
          <td class="paramtype">char **&#160;</td>
703
 
          <td class="paramname"><em>type</em>&#160;</td>
704
 
        </tr>
705
 
        <tr>
706
 
          <td></td>
707
 
          <td>)</td>
708
 
          <td></td><td></td>
709
 
        </tr>
710
 
      </table>
711
 
</div><div class="memdoc">
712
 
 
713
 
<p>Query the type of the service daemon. </p>
714
 
<p>Depending on whether the device is queried in normal mode or restore mode, different types will be returned.</p>
715
 
<dl class="params"><dt>Parameters:</dt><dd>
716
 
  <table class="params">
717
 
    <tr><td class="paramname">client</td><td>The lockdownd client </td></tr>
718
 
    <tr><td class="paramname">type</td><td>The type returned by the service daemon. Pass NULL to ignore.</td></tr>
719
 
  </table>
720
 
  </dd>
721
 
</dl>
722
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL </dd></dl>
723
 
 
724
 
</div>
725
 
</div>
726
 
<a class="anchor" id="a74e4f3ea70c691e5f12f964ea1e9b42b"></a>
727
 
<div class="memitem">
728
 
<div class="memproto">
729
 
      <table class="memname">
730
 
        <tr>
731
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_receive </td>
732
 
          <td>(</td>
733
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
734
 
          <td class="paramname"><em>client</em>, </td>
735
 
        </tr>
736
 
        <tr>
737
 
          <td class="paramkey"></td>
738
 
          <td></td>
739
 
          <td class="paramtype">plist_t *&#160;</td>
740
 
          <td class="paramname"><em>plist</em>&#160;</td>
741
 
        </tr>
742
 
        <tr>
743
 
          <td></td>
744
 
          <td>)</td>
745
 
          <td></td><td></td>
746
 
        </tr>
747
 
      </table>
748
 
</div><div class="memdoc">
749
 
 
750
 
<p>Receives a plist from lockdownd. </p>
751
 
<dl class="params"><dt>Parameters:</dt><dd>
752
 
  <table class="params">
753
 
    <tr><td class="paramname">client</td><td>The lockdownd client </td></tr>
754
 
    <tr><td class="paramname">plist</td><td>The plist to store the received data</td></tr>
755
 
  </table>
756
 
  </dd>
757
 
</dl>
758
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client or plist is NULL </dd></dl>
759
 
 
760
 
</div>
761
 
</div>
762
 
<a class="anchor" id="a1d1e537aec30bfb4c3e0096014deeb12"></a>
763
 
<div class="memitem">
764
 
<div class="memproto">
765
 
      <table class="memname">
766
 
        <tr>
767
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_remove_value </td>
768
 
          <td>(</td>
769
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
770
 
          <td class="paramname"><em>client</em>, </td>
771
 
        </tr>
772
 
        <tr>
773
 
          <td class="paramkey"></td>
774
 
          <td></td>
775
 
          <td class="paramtype">const char *&#160;</td>
776
 
          <td class="paramname"><em>domain</em>, </td>
777
 
        </tr>
778
 
        <tr>
779
 
          <td class="paramkey"></td>
780
 
          <td></td>
781
 
          <td class="paramtype">const char *&#160;</td>
782
 
          <td class="paramname"><em>key</em>&#160;</td>
783
 
        </tr>
784
 
        <tr>
785
 
          <td></td>
786
 
          <td>)</td>
787
 
          <td></td><td></td>
788
 
        </tr>
789
 
      </table>
790
 
</div><div class="memdoc">
791
 
 
792
 
<p>Removes a preference node by domain and/or key name. </p>
793
 
<dl class="section note"><dt>Note:</dt><dd>: Use with caution as this could remove vital information on the device</dd></dl>
794
 
<dl class="params"><dt>Parameters:</dt><dd>
795
 
  <table class="params">
796
 
    <tr><td class="paramname">client</td><td>An initialized lockdownd client. </td></tr>
797
 
    <tr><td class="paramname">domain</td><td>The domain to query on or NULL for global domain </td></tr>
798
 
    <tr><td class="paramname">key</td><td>The key name to remove or NULL remove all keys for the current domain</td></tr>
799
 
  </table>
800
 
  </dd>
801
 
</dl>
802
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL </dd></dl>
803
 
 
804
 
</div>
805
 
</div>
806
 
<a class="anchor" id="a1c1b4c2e8e01efc67ff4319be97d5668"></a>
807
 
<div class="memitem">
808
 
<div class="memproto">
809
 
      <table class="memname">
810
 
        <tr>
811
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_send </td>
812
 
          <td>(</td>
813
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
814
 
          <td class="paramname"><em>client</em>, </td>
815
 
        </tr>
816
 
        <tr>
817
 
          <td class="paramkey"></td>
818
 
          <td></td>
819
 
          <td class="paramtype">plist_t&#160;</td>
820
 
          <td class="paramname"><em>plist</em>&#160;</td>
821
 
        </tr>
822
 
        <tr>
823
 
          <td></td>
824
 
          <td>)</td>
825
 
          <td></td><td></td>
826
 
        </tr>
827
 
      </table>
828
 
</div><div class="memdoc">
829
 
 
830
 
<p>Sends a plist to lockdownd. </p>
831
 
<dl class="section note"><dt>Note:</dt><dd>This function is low-level and should only be used if you need to send a new type of message.</dd></dl>
832
 
<dl class="params"><dt>Parameters:</dt><dd>
833
 
  <table class="params">
834
 
    <tr><td class="paramname">client</td><td>The lockdownd client </td></tr>
835
 
    <tr><td class="paramname">plist</td><td>The plist to send</td></tr>
836
 
  </table>
837
 
  </dd>
838
 
</dl>
839
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client or plist is NULL </dd></dl>
840
 
 
841
 
</div>
842
 
</div>
843
 
<a class="anchor" id="a35a72eb842f869e47967305a5030e660"></a>
844
 
<div class="memitem">
845
 
<div class="memproto">
846
 
      <table class="memname">
847
 
        <tr>
848
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_service_descriptor_free </td>
849
 
          <td>(</td>
850
 
          <td class="paramtype">lockdownd_service_descriptor_t&#160;</td>
851
 
          <td class="paramname"><em>service</em></td><td>)</td>
852
 
          <td></td>
853
 
        </tr>
854
 
      </table>
855
 
</div><div class="memdoc">
856
 
 
857
 
<p>Frees memory of a service descriptor as returned by <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#af77b9adaa204d4b57faf323a6c4ba25e" title="Requests to start a service and retrieve it&#39;s port on success.">lockdownd_start_service()</a> </p>
858
 
<dl class="params"><dt>Parameters:</dt><dd>
859
 
  <table class="params">
860
 
    <tr><td class="paramname">sevice</td><td>A service descriptor instance to free.</td></tr>
861
 
  </table>
862
 
  </dd>
863
 
</dl>
864
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success </dd></dl>
865
 
 
866
 
</div>
867
 
</div>
868
 
<a class="anchor" id="a3aeb41a3f2243437fc87d99f5ea4aadb"></a>
869
 
<div class="memitem">
870
 
<div class="memproto">
871
 
      <table class="memname">
872
 
        <tr>
873
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_set_value </td>
874
 
          <td>(</td>
875
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
876
 
          <td class="paramname"><em>client</em>, </td>
877
 
        </tr>
878
 
        <tr>
879
 
          <td class="paramkey"></td>
880
 
          <td></td>
881
 
          <td class="paramtype">const char *&#160;</td>
882
 
          <td class="paramname"><em>domain</em>, </td>
883
 
        </tr>
884
 
        <tr>
885
 
          <td class="paramkey"></td>
886
 
          <td></td>
887
 
          <td class="paramtype">const char *&#160;</td>
888
 
          <td class="paramname"><em>key</em>, </td>
889
 
        </tr>
890
 
        <tr>
891
 
          <td class="paramkey"></td>
892
 
          <td></td>
893
 
          <td class="paramtype">plist_t&#160;</td>
894
 
          <td class="paramname"><em>value</em>&#160;</td>
895
 
        </tr>
896
 
        <tr>
897
 
          <td></td>
898
 
          <td>)</td>
899
 
          <td></td><td></td>
900
 
        </tr>
901
 
      </table>
902
 
</div><div class="memdoc">
903
 
 
904
 
<p>Sets a preferences value using a plist and optional by domain and/or key name. </p>
905
 
<dl class="params"><dt>Parameters:</dt><dd>
906
 
  <table class="params">
907
 
    <tr><td class="paramname">client</td><td>an initialized lockdownd client. </td></tr>
908
 
    <tr><td class="paramname">domain</td><td>the domain to query on or NULL for global domain </td></tr>
909
 
    <tr><td class="paramname">key</td><td>the key name to set the value or NULL to set a value dict plist </td></tr>
910
 
    <tr><td class="paramname">value</td><td>a plist node of any node type representing the value to set</td></tr>
911
 
  </table>
912
 
  </dd>
913
 
</dl>
914
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client or value is NULL </dd></dl>
915
 
 
916
 
</div>
917
 
</div>
918
 
<a class="anchor" id="af77b9adaa204d4b57faf323a6c4ba25e"></a>
919
 
<div class="memitem">
920
 
<div class="memproto">
921
 
      <table class="memname">
922
 
        <tr>
923
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_start_service </td>
924
 
          <td>(</td>
925
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
926
 
          <td class="paramname"><em>client</em>, </td>
927
 
        </tr>
928
 
        <tr>
929
 
          <td class="paramkey"></td>
930
 
          <td></td>
931
 
          <td class="paramtype">const char *&#160;</td>
932
 
          <td class="paramname"><em>identifier</em>, </td>
933
 
        </tr>
934
 
        <tr>
935
 
          <td class="paramkey"></td>
936
 
          <td></td>
937
 
          <td class="paramtype">lockdownd_service_descriptor_t *&#160;</td>
938
 
          <td class="paramname"><em>service</em>&#160;</td>
939
 
        </tr>
940
 
        <tr>
941
 
          <td></td>
942
 
          <td>)</td>
943
 
          <td></td><td></td>
944
 
        </tr>
945
 
      </table>
946
 
</div><div class="memdoc">
947
 
 
948
 
<p>Requests to start a service and retrieve it's port on success. </p>
949
 
<dl class="params"><dt>Parameters:</dt><dd>
950
 
  <table class="params">
951
 
    <tr><td class="paramname">client</td><td>The lockdownd client </td></tr>
952
 
    <tr><td class="paramname">identifier</td><td>The identifier of the service to start </td></tr>
953
 
    <tr><td class="paramname">descriptor</td><td>The service descriptor on success or NULL on failure</td></tr>
954
 
  </table>
955
 
  </dd>
956
 
</dl>
957
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG if a parameter is NULL, LOCKDOWN_E_INVALID_SERVICE if the requested service is not known by the device, LOCKDOWN_E_START_SERVICE_FAILED if the service could not because started by the device </dd></dl>
958
 
 
959
 
</div>
960
 
</div>
961
 
<a class="anchor" id="a21d7159ab85f8fca0e94751e8bb8f401"></a>
962
 
<div class="memitem">
963
 
<div class="memproto">
964
 
      <table class="memname">
965
 
        <tr>
966
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_start_session </td>
967
 
          <td>(</td>
968
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
969
 
          <td class="paramname"><em>client</em>, </td>
970
 
        </tr>
971
 
        <tr>
972
 
          <td class="paramkey"></td>
973
 
          <td></td>
974
 
          <td class="paramtype">const char *&#160;</td>
975
 
          <td class="paramname"><em>host_id</em>, </td>
976
 
        </tr>
977
 
        <tr>
978
 
          <td class="paramkey"></td>
979
 
          <td></td>
980
 
          <td class="paramtype">char **&#160;</td>
981
 
          <td class="paramname"><em>session_id</em>, </td>
982
 
        </tr>
983
 
        <tr>
984
 
          <td class="paramkey"></td>
985
 
          <td></td>
986
 
          <td class="paramtype">int *&#160;</td>
987
 
          <td class="paramname"><em>ssl_enabled</em>&#160;</td>
988
 
        </tr>
989
 
        <tr>
990
 
          <td></td>
991
 
          <td>)</td>
992
 
          <td></td><td></td>
993
 
        </tr>
994
 
      </table>
995
 
</div><div class="memdoc">
996
 
 
997
 
<p>Opens a session with lockdownd and switches to SSL mode if device wants it. </p>
998
 
<dl class="params"><dt>Parameters:</dt><dd>
999
 
  <table class="params">
1000
 
    <tr><td class="paramname">client</td><td>The lockdownd client </td></tr>
1001
 
    <tr><td class="paramname">host_id</td><td>The HostID of the computer </td></tr>
1002
 
    <tr><td class="paramname">session_id</td><td>The new session_id of the created session </td></tr>
1003
 
    <tr><td class="paramname">ssl_enabled</td><td>Whether SSL communication is used in the session</td></tr>
1004
 
  </table>
1005
 
  </dd>
1006
 
</dl>
1007
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, LOCKDOWN_E_INVALID_ARG when a client or host_id is NULL, LOCKDOWN_E_PLIST_ERROR if the response plist had errors, LOCKDOWN_E_INVALID_HOST_ID if the device does not know the supplied HostID, LOCKDOWN_E_SSL_ERROR if enabling SSL communication failed </dd></dl>
1008
 
 
1009
 
</div>
1010
 
</div>
1011
 
<a class="anchor" id="ad6f68455954be19911d495345390f6fb"></a>
1012
 
<div class="memitem">
1013
 
<div class="memproto">
1014
 
      <table class="memname">
1015
 
        <tr>
1016
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_stop_session </td>
1017
 
          <td>(</td>
1018
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
1019
 
          <td class="paramname"><em>client</em>, </td>
1020
 
        </tr>
1021
 
        <tr>
1022
 
          <td class="paramkey"></td>
1023
 
          <td></td>
1024
 
          <td class="paramtype">const char *&#160;</td>
1025
 
          <td class="paramname"><em>session_id</em>&#160;</td>
1026
 
        </tr>
1027
 
        <tr>
1028
 
          <td></td>
1029
 
          <td>)</td>
1030
 
          <td></td><td></td>
1031
 
        </tr>
1032
 
      </table>
1033
 
</div><div class="memdoc">
1034
 
 
1035
 
<p>Closes the lockdownd session by sending the StopSession request. </p>
1036
 
<dl class="section see"><dt>See also:</dt><dd><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a21d7159ab85f8fca0e94751e8bb8f401" title="Opens a session with lockdownd and switches to SSL mode if device wants it.">lockdownd_start_session</a></dd></dl>
1037
 
<dl class="params"><dt>Parameters:</dt><dd>
1038
 
  <table class="params">
1039
 
    <tr><td class="paramname">client</td><td>The lockdown client </td></tr>
1040
 
    <tr><td class="paramname">session_id</td><td>The id of a running session</td></tr>
1041
 
  </table>
1042
 
  </dd>
1043
 
</dl>
1044
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL </dd></dl>
1045
 
 
1046
 
</div>
1047
 
</div>
1048
 
<a class="anchor" id="ab9e7add76d59381e60fed8122dd30b64"></a>
1049
 
<div class="memitem">
1050
 
<div class="memproto">
1051
 
      <table class="memname">
1052
 
        <tr>
1053
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_unpair </td>
1054
 
          <td>(</td>
1055
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
1056
 
          <td class="paramname"><em>client</em>, </td>
1057
 
        </tr>
1058
 
        <tr>
1059
 
          <td class="paramkey"></td>
1060
 
          <td></td>
1061
 
          <td class="paramtype">lockdownd_pair_record_t&#160;</td>
1062
 
          <td class="paramname"><em>pair_record</em>&#160;</td>
1063
 
        </tr>
1064
 
        <tr>
1065
 
          <td></td>
1066
 
          <td>)</td>
1067
 
          <td></td><td></td>
1068
 
        </tr>
1069
 
      </table>
1070
 
</div><div class="memdoc">
1071
 
 
1072
 
<p>Unpairs the device with the given HostID and removes the pairing records from the device and host if the internal pairing record management is used. </p>
1073
 
<dl class="params"><dt>Parameters:</dt><dd>
1074
 
  <table class="params">
1075
 
    <tr><td class="paramname">client</td><td>The lockdown client to pair with. </td></tr>
1076
 
    <tr><td class="paramname">pair_record</td><td>The pair record to use for unpair. If NULL is passed, then the pair records from the current machine are used.</td></tr>
1077
 
  </table>
1078
 
  </dd>
1079
 
</dl>
1080
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL, LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong, LOCKDOWN_E_PAIRING_FAILED if the pairing failed, LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected, LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's host id </dd></dl>
1081
 
 
1082
 
</div>
1083
 
</div>
1084
 
<a class="anchor" id="af36157f83cb262680bbc8903fcf1ba8a"></a>
1085
 
<div class="memitem">
1086
 
<div class="memproto">
1087
 
      <table class="memname">
1088
 
        <tr>
1089
 
          <td class="memname"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a2c5d6e126bd17d2a5c07a5829cd0da50">lockdownd_error_t</a> lockdownd_validate_pair </td>
1090
 
          <td>(</td>
1091
 
          <td class="paramtype"><a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8254fd517d2303ad1208eb00d622e0f3">lockdownd_client_t</a>&#160;</td>
1092
 
          <td class="paramname"><em>client</em>, </td>
1093
 
        </tr>
1094
 
        <tr>
1095
 
          <td class="paramkey"></td>
1096
 
          <td></td>
1097
 
          <td class="paramtype">lockdownd_pair_record_t&#160;</td>
1098
 
          <td class="paramname"><em>pair_record</em>&#160;</td>
1099
 
        </tr>
1100
 
        <tr>
1101
 
          <td></td>
1102
 
          <td>)</td>
1103
 
          <td></td><td></td>
1104
 
        </tr>
1105
 
      </table>
1106
 
</div><div class="memdoc">
1107
 
 
1108
 
<p>Validates if the device is paired with the given HostID. </p>
1109
 
<p>If succeeded them specified host will become trusted host of the device indicated by the lockdownd preference named TrustedHostAttached. Otherwise the host must because paired using <a class="el" href="include_2libimobiledevice_2lockdown_8h.html#a8df943348a5b657b613b931231681571" title="Pairs the device using the supplied pair record.">lockdownd_pair()</a> first.</p>
1110
 
<dl class="params"><dt>Parameters:</dt><dd>
1111
 
  <table class="params">
1112
 
    <tr><td class="paramname">client</td><td>The lockdown client to pair with. </td></tr>
1113
 
    <tr><td class="paramname">pair_record</td><td>The pair record to validate pairing with. If NULL is passed, then the pair record is read from the internal pairing record management.</td></tr>
1114
 
  </table>
1115
 
  </dd>
1116
 
</dl>
1117
 
<dl class="section return"><dt>Returns:</dt><dd>LOCKDOWN_E_SUCCESS on success, NP_E_INVALID_ARG when client is NULL, LOCKDOWN_E_PLIST_ERROR if the pair_record certificates are wrong, LOCKDOWN_E_PAIRING_FAILED if the pairing failed, LOCKDOWN_E_PASSWORD_PROTECTED if the device is password protected, LOCKDOWN_E_INVALID_HOST_ID if the device does not know the caller's host id </dd></dl>
1118
 
 
1119
 
</div>
1120
 
</div>
1121
 
</div><!-- contents -->
1122
 
<!-- start footer part -->
1123
 
<hr class="footer"/><address class="footer"><small>
1124
 
Generated by &#160;<a href="http://www.doxygen.org/index.html">
1125
 
<img class="footer" src="doxygen.png" alt="doxygen"/>
1126
 
</a> 1.8.1
1127
 
</small></address>
1128
 
</body>
1129
 
</html>