summaryrefslogtreecommitdiffstats
path: root/dev
diff options
context:
space:
mode:
authorGravatar Martin Szulecki2009-07-07 21:02:00 +0200
committerGravatar Martin Szulecki2009-07-07 21:02:00 +0200
commit62a6f558ac7ca7a9b83c2ed810929732c02bbc9d (patch)
tree4e78a77238af4d96e00f5b16b7a276f9a7db91f1 /dev
parenta1e2fec59eb7d0d2a3adbd4691b3ea2ee1302921 (diff)
downloadlibimobiledevice-62a6f558ac7ca7a9b83c2ed810929732c02bbc9d.tar.gz
libimobiledevice-62a6f558ac7ca7a9b83c2ed810929732c02bbc9d.tar.bz2
Cleanup lockdown request API and fix docs, tools, bindings and exports
Diffstat (limited to 'dev')
-rw-r--r--dev/afccheck.c15
-rw-r--r--dev/iphone_id.c9
-rw-r--r--dev/iphoneinfo.c17
-rw-r--r--dev/lckdclient.c29
-rw-r--r--dev/main.c35
-rw-r--r--dev/msyncclient.c12
-rw-r--r--dev/syslog_relay.c9
7 files changed, 69 insertions, 57 deletions
diff --git a/dev/afccheck.c b/dev/afccheck.c
index b107437..9174e32 100644
--- a/dev/afccheck.c
+++ b/dev/afccheck.c
@@ -25,6 +25,7 @@
#include <glib.h>
#include <libiphone/libiphone.h>
+#include <libiphone/lockdown.h>
#include <libiphone/afc.h>
#define BUFFER_SIZE 20000
@@ -40,10 +41,10 @@ typedef struct {
void check_afc(gpointer data)
{
//prepare a buffer
- int buffersize = BUFFER_SIZE * sizeof(int);
+ unsigned int buffersize = BUFFER_SIZE * sizeof(unsigned int);
int *buf = (int *) malloc(buffersize);
int *buf2 = (int *) malloc(buffersize);
- int bytes = 0;
+ unsigned int bytes = 0;
//fill buffer
int i = 0;
for (i = 0; i < BUFFER_SIZE; i++) {
@@ -84,7 +85,7 @@ void check_afc(gpointer data)
int main(int argc, char *argv[])
{
- iphone_lckd_client_t control = NULL;
+ lockdownd_client_t client = NULL;
iphone_device_t phone = NULL;
GError *err;
int port = 0;
@@ -95,13 +96,13 @@ int main(int argc, char *argv[])
return 1;
}
- if (IPHONE_E_SUCCESS != iphone_lckd_new_client(phone, &control)) {
+ if (IPHONE_E_SUCCESS != lockdownd_new_client(phone, &client)) {
iphone_free_device(phone);
return 1;
}
- if (IPHONE_E_SUCCESS == iphone_lckd_start_service(control, "com.apple.afc", &port) && !port) {
- iphone_lckd_free_client(control);
+ if (IPHONE_E_SUCCESS == lockdownd_start_service(client, "com.apple.afc", &port) && !port) {
+ lockdownd_free_client(client);
iphone_free_device(phone);
fprintf(stderr, "Something went wrong when starting AFC.");
return 1;
@@ -128,7 +129,7 @@ int main(int argc, char *argv[])
}
- iphone_lckd_free_client(control);
+ lockdownd_free_client(client);
iphone_free_device(phone);
return 0;
diff --git a/dev/iphone_id.c b/dev/iphone_id.c
index c191608..15081f0 100644
--- a/dev/iphone_id.c
+++ b/dev/iphone_id.c
@@ -3,6 +3,7 @@
#include <stdlib.h>
#include <getopt.h>
#include <libiphone/libiphone.h>
+#include <libiphone/lockdown.h>
#include <usbmuxd.h>
static void usage()
@@ -18,7 +19,7 @@ static void usage()
int main(int argc, char **argv)
{
iphone_device_t phone = NULL;
- iphone_lckd_client_t control = NULL;
+ lockdownd_client_t client = NULL;
usbmuxd_scan_result *dev_list;
char *devname = NULL;
int ret = 0;
@@ -67,18 +68,18 @@ int main(int argc, char **argv)
return -2;
}
- if (IPHONE_E_SUCCESS != iphone_lckd_new_client(phone, &control)) {
+ if (IPHONE_E_SUCCESS != lockdownd_new_client(phone, &client)) {
iphone_free_device(phone);
fprintf(stderr, "ERROR: Connecting to device failed!\n");
return -2;
}
- if ((IPHONE_E_SUCCESS != lockdownd_get_device_name(control, &devname)) || !devname) {
+ if ((IPHONE_E_SUCCESS != lockdownd_get_device_name(client, &devname)) || !devname) {
fprintf(stderr, "ERROR: Could not get device name!\n");
ret = -2;
}
- iphone_lckd_free_client(control);
+ lockdownd_free_client(client);
iphone_free_device(phone);
if (ret == 0) {
diff --git a/dev/iphoneinfo.c b/dev/iphoneinfo.c
index 18ee055..7c823e6 100644
--- a/dev/iphoneinfo.c
+++ b/dev/iphoneinfo.c
@@ -25,6 +25,7 @@
#include <stdlib.h>
#include <libiphone/libiphone.h>
+#include <libiphone/lockdown.h>
#define FORMAT_KEY_VALUE 1
#define FORMAT_XML 2
@@ -45,13 +46,13 @@ static const char *domains[] = {
int is_domain_known(char *domain);
void print_usage(int argc, char **argv);
-void print_lckd_request_result(iphone_lckd_client_t control, const char *domain, const char *request, const char *key, int format);
+void print_lckd_request_result(lockdownd_client_t client, const char *domain, const char *request, const char *key, int format);
void plist_node_to_string(plist_t *node);
void plist_children_to_string(plist_t *node);
int main(int argc, char *argv[])
{
- iphone_lckd_client_t control = NULL;
+ lockdownd_client_t client = NULL;
iphone_device_t phone = NULL;
iphone_error_t ret = IPHONE_E_UNKNOWN_ERROR;
int i;
@@ -128,17 +129,17 @@ int main(int argc, char *argv[])
}
}
- if (IPHONE_E_SUCCESS != iphone_lckd_new_client(phone, &control)) {
+ if (IPHONE_E_SUCCESS != lockdownd_new_client(phone, &client)) {
iphone_free_device(phone);
return -1;
}
/* run query and output information */
- print_lckd_request_result(control, domain, "GetValue", key, format);
+ print_lckd_request_result(client, domain, "GetValue", key, format);
if (domain != NULL)
free(domain);
- iphone_lckd_free_client(control);
+ lockdownd_free_client(client);
iphone_free_device(phone);
return 0;
@@ -248,7 +249,7 @@ void plist_children_to_string(plist_t *node)
}
}
-void print_lckd_request_result(iphone_lckd_client_t control, const char *domain, const char *request, const char *key, int format) {
+void print_lckd_request_result(lockdownd_client_t client, const char *domain, const char *request, const char *key, int format) {
char *xml_doc = NULL;
char *s = NULL;
uint32_t xml_length = 0;
@@ -266,11 +267,11 @@ void print_lckd_request_result(iphone_lckd_client_t control, const char *domain,
plist_add_sub_key_el(node, "Request");
plist_add_sub_string_el(node, request);
- ret = iphone_lckd_send(control, node);
+ ret = lockdownd_send(client, node);
if (ret == IPHONE_E_SUCCESS) {
plist_free(node);
node = NULL;
- ret = iphone_lckd_recv(control, &node);
+ ret = lockdownd_recv(client, &node);
if (ret == IPHONE_E_SUCCESS) {
/* seek to value node */
for (
diff --git a/dev/lckdclient.c b/dev/lckdclient.c
index c96f052..e197002 100644
--- a/dev/lckdclient.c
+++ b/dev/lckdclient.c
@@ -27,12 +27,11 @@
#include <readline/history.h>
#include <libiphone/libiphone.h>
-
+#include <libiphone/lockdown.h>
int main(int argc, char *argv[])
{
- int bytes = 0, port = 0, i = 0;
- iphone_lckd_client_t control = NULL;
+ lockdownd_client_t client = NULL;
iphone_device_t phone = NULL;
iphone_set_debug(1);
@@ -42,13 +41,13 @@ int main(int argc, char *argv[])
return -1;
}
- if (IPHONE_E_SUCCESS != iphone_lckd_new_client(phone, &control)) {
+ if (IPHONE_E_SUCCESS != lockdownd_new_client(phone, &client)) {
iphone_free_device(phone);
return -1;
}
char *uid = NULL;
- if (IPHONE_E_SUCCESS == lockdownd_get_device_uid(control, &uid)) {
+ if (IPHONE_E_SUCCESS == lockdownd_get_device_uid(client, &uid)) {
printf("DeviceUniqueID : %s\n", uid);
free(uid);
}
@@ -74,17 +73,25 @@ int main(int argc, char *argv[])
if (!strcmp(*args, "quit"))
loop = FALSE;
- if (!strcmp(*args, "get") && len == 3) {
- char *value = NULL;
- if (IPHONE_E_SUCCESS == lockdownd_generic_get_value(control, *(args + 1), *(args + 2), &value))
- printf("Success : value = %s\n", value);
+ if (!strcmp(*args, "get") && len >= 2) {
+ plist_t *value = NULL;
+ if (IPHONE_E_SUCCESS == lockdownd_get_value(client, len == 3 ? *(args + 1):NULL, len == 3 ? *(args + 2):*(args + 1), &value))
+ {
+ char *xml = NULL;
+ uint32_t length;
+ plist_to_xml(value, &xml, &length);
+ printf("Success : value = %s\n", xml);
+
+ free(xml);
+ free(value);
+ }
else
printf("Error\n");
}
if (!strcmp(*args, "start") && len == 2) {
int port = 0;
- iphone_lckd_start_service(control, *(args + 1), &port);
+ lockdownd_start_service(client, *(args + 1), &port);
printf("%i\n", port);
}
}
@@ -94,7 +101,7 @@ int main(int argc, char *argv[])
cmd = NULL;
}
clear_history();
- iphone_lckd_free_client(control);
+ lockdownd_free_client(client);
iphone_free_device(phone);
return 0;
diff --git a/dev/main.c b/dev/main.c
index d39baa7..cf7dbaa 100644
--- a/dev/main.c
+++ b/dev/main.c
@@ -23,25 +23,27 @@
#include <string.h>
#include <errno.h>
#include <usb.h>
+#include <glib.h>
#include <libiphone/libiphone.h>
+#include <libiphone/lockdown.h>
#include <libiphone/afc.h>
#include <libiphone/notification_proxy.h>
#include "../src/utils.h"
-void notifier(const char *notification)
+static void notifier(const char *notification)
{
printf("---------------------------------------------------------\n");
printf("------> Notification received: %s\n", notification);
printf("---------------------------------------------------------\n");
}
-void perform_notification(iphone_device_t phone, iphone_lckd_client_t control, const char *notification)
+static void perform_notification(iphone_device_t phone, lockdownd_client_t client, const char *notification)
{
int nport = 0;
np_client_t np;
- iphone_lckd_start_service(control, "com.apple.mobile.notification_proxy", &nport);
+ lockdownd_start_service(client, "com.apple.mobile.notification_proxy", &nport);
if (nport) {
printf("::::::::::::::: np was started ::::::::::::\n");
np_new_client(phone, nport, &np);
@@ -57,9 +59,10 @@ void perform_notification(iphone_device_t phone, iphone_lckd_client_t control, c
int main(int argc, char *argv[])
{
- int bytes = 0, port = 0, i = 0;
+ unsigned int bytes = 0;
+ int port = 0, i = 0;
int npp;
- iphone_lckd_client_t control = NULL;
+ lockdownd_client_t client = NULL;
iphone_device_t phone = NULL;
uint64_t lockfile = 0;
np_client_t gnp = NULL;
@@ -77,32 +80,32 @@ int main(int argc, char *argv[])
return -1;
}
- if (IPHONE_E_SUCCESS != iphone_lckd_new_client(phone, &control)) {
+ if (IPHONE_E_SUCCESS != lockdownd_new_client(phone, &client)) {
iphone_free_device(phone);
printf("Exiting.\n");
return -1;
}
char *uid = NULL;
- if (IPHONE_E_SUCCESS == lockdownd_get_device_uid(control, &uid)) {
+ if (IPHONE_E_SUCCESS == lockdownd_get_device_uid(client, &uid)) {
printf("DeviceUniqueID : %s\n", uid);
free(uid);
}
char *nnn = NULL;
- if (IPHONE_E_SUCCESS == lockdownd_get_device_name(control, &nnn)) {
+ if (IPHONE_E_SUCCESS == lockdownd_get_device_name(client, &nnn)) {
printf("DeviceName : %s\n", nnn);
free(nnn);
}
- iphone_lckd_start_service(control, "com.apple.afc", &port);
+ lockdownd_start_service(client, "com.apple.afc", &port);
if (port) {
afc_client_t afc = NULL;
afc_new_client(phone, port, &afc);
if (afc) {
- iphone_lckd_start_service(control, "com.apple.mobile.notification_proxy", &npp);
+ lockdownd_start_service(client, "com.apple.mobile.notification_proxy", &npp);
if (npp) {
printf("Notification Proxy started.\n");
np_new_client(phone, npp, &gnp);
@@ -120,14 +123,14 @@ int main(int argc, char *argv[])
np_set_notify_callback(gnp, notifier);
}
- perform_notification(phone, control, NP_SYNC_WILL_START);
+ perform_notification(phone, client, NP_SYNC_WILL_START);
afc_open_file(afc, "/com.apple.itunes.lock_sync", AFC_FOPEN_RW, &lockfile);
if (lockfile) {
printf("locking file\n");
afc_lock_file(afc, lockfile, 2 | 4);
- perform_notification(phone, control, NP_SYNC_DID_START);
+ perform_notification(phone, client, NP_SYNC_DID_START);
}
char **dirs = NULL;
@@ -164,10 +167,10 @@ int main(int argc, char *argv[])
if (IPHONE_E_SUCCESS ==
afc_open_file(afc, "/readme.libiphone.fx", AFC_FOPEN_RDONLY, &my_file) && my_file) {
- printf("A file size: %i\n", fsize);
+ printf("A file size: %llu\n", fsize);
char *file_data = (char *) malloc(sizeof(char) * fsize);
afc_read_file(afc, my_file, file_data, fsize, &bytes);
- if (bytes >= 0) {
+ if (bytes > 0) {
printf("The file's data:\n");
fwrite(file_data, 1, bytes, stdout);
}
@@ -218,8 +221,6 @@ int main(int argc, char *argv[])
}
if (gnp && lockfile) {
- char *noti;
-
printf("XXX sleeping\n");
sleep(5);
@@ -244,7 +245,7 @@ int main(int argc, char *argv[])
printf("All done.\n");
- iphone_lckd_free_client(control);
+ lockdownd_free_client(client);
iphone_free_device(phone);
return 0;
diff --git a/dev/msyncclient.c b/dev/msyncclient.c
index e3bb0c2..e06a5fe 100644
--- a/dev/msyncclient.c
+++ b/dev/msyncclient.c
@@ -25,12 +25,12 @@
#include <usb.h>
#include <libiphone/libiphone.h>
-
+#include <libiphone/lockdown.h>
int main(int argc, char *argv[])
{
- int bytes = 0, port = 0, i = 0;
- iphone_lckd_client_t control = NULL;
+ int port = 0;
+ lockdownd_client_t client = NULL;
iphone_device_t phone = NULL;
if (argc > 1 && !strcasecmp(argv[1], "--debug"))
@@ -42,12 +42,12 @@ int main(int argc, char *argv[])
return -1;
}
- if (IPHONE_E_SUCCESS != iphone_lckd_new_client(phone, &control)) {
+ if (IPHONE_E_SUCCESS != lockdownd_new_client(phone, &client)) {
iphone_free_device(phone);
return -1;
}
- iphone_lckd_start_service(control, "com.apple.mobilesync", &port);
+ lockdownd_start_service(client, "com.apple.mobilesync", &port);
if (port) {
iphone_msync_client_t msync = NULL;
@@ -62,7 +62,7 @@ int main(int argc, char *argv[])
printf("All done.\n");
- iphone_lckd_free_client(control);
+ lockdownd_free_client(client);
iphone_free_device(phone);
return 0;
diff --git a/dev/syslog_relay.c b/dev/syslog_relay.c
index 6698653..a93e85b 100644
--- a/dev/syslog_relay.c
+++ b/dev/syslog_relay.c
@@ -27,6 +27,7 @@
#include <stdlib.h>
#include <libiphone/libiphone.h>
+#include <libiphone/lockdown.h>
#include <usbmuxd.h>
static int quit_flag = 0;
@@ -44,7 +45,7 @@ static void clean_exit(int sig)
int main(int argc, char *argv[])
{
- iphone_lckd_client_t control = NULL;
+ lockdownd_client_t client = NULL;
iphone_device_t phone = NULL;
iphone_error_t ret = IPHONE_E_UNKNOWN_ERROR;
int i;
@@ -99,15 +100,15 @@ int main(int argc, char *argv[])
}
}
- if (IPHONE_E_SUCCESS != iphone_lckd_new_client(phone, &control)) {
+ if (IPHONE_E_SUCCESS != lockdownd_new_client(phone, &client)) {
iphone_free_device(phone);
return -1;
}
/* start syslog_relay service and retrieve port */
- ret = iphone_lckd_start_service(control, "com.apple.syslog_relay", &port);
+ ret = lockdownd_start_service(client, "com.apple.syslog_relay", &port);
if ((ret == IPHONE_E_SUCCESS) && port) {
- iphone_lckd_free_client(control);
+ lockdownd_free_client(client);
/* connect to socket relay messages */