diff options
author | Martin Szulecki | 2010-05-28 12:21:11 +0200 |
---|---|---|
committer | Martin Szulecki | 2010-05-28 12:21:11 +0200 |
commit | 448e860d7b99377a5f0c8786c7e60afb2f9dc0bd (patch) | |
tree | 821997ce7fae07761d1c31c928c81b64734a9d38 /dev | |
parent | 98ffc8a3aa1c16726bb278238dc284e79e63b68e (diff) | |
download | libimobiledevice-448e860d7b99377a5f0c8786c7e60afb2f9dc0bd.tar.gz libimobiledevice-448e860d7b99377a5f0c8786c7e60afb2f9dc0bd.tar.bz2 |
Promote ideviceenterrecovery into tools as it is quite useful
Diffstat (limited to 'dev')
-rw-r--r-- | dev/Makefile.am | 9 | ||||
-rw-r--r-- | dev/ideviceenterrecovery.c | 93 |
2 files changed, 2 insertions, 100 deletions
diff --git a/dev/Makefile.am b/dev/Makefile.am index 17b67db..0790c80 100644 --- a/dev/Makefile.am +++ b/dev/Makefile.am @@ -4,7 +4,7 @@ AM_CFLAGS = $(GLOBAL_CFLAGS) $(libglib2_CFLAGS) $(libgnutls_CFLAGS) $(libtasn1_C AM_LDFLAGS = $(libglib2_LIBS) $(libgnutls_LIBS) $(libtasn1_LIBS) $(libgthread2_LIBS) if ENABLE_DEVTOOLS -noinst_PROGRAMS = ideviceclient lckd-client afccheck msyncclient ideviceenterrecovery filerelaytest +noinst_PROGRAMS = ideviceclient lckd-client afccheck msyncclient filerelaytest ideviceclient_SOURCES = ideviceclient.c ideviceclient_LDADD = ../src/libimobiledevice.la @@ -24,11 +24,6 @@ msyncclient_CFLAGS = $(AM_CFLAGS) msyncclient_LDFLAGS = $(AM_LDFLAGS) msyncclient_LDADD = ../src/libimobiledevice.la -ideviceenterrecovery_SOURCES = ideviceenterrecovery.c -ideviceenterrecovery_CFLAGS = $(AM_CFLAGS) -ideviceenterrecovery_LDFLAGS = $(AM_LDFLAGS) -ideviceenterrecovery_LDADD = ../src/libimobiledevice.la - filerelaytest_SOURCES = filerelaytest.c filerelaytest_CFLAGS = $(AM_CFLAGS) filerelaytest_LDFLAGS = $(AM_LDFLAGS) @@ -36,4 +31,4 @@ filerelaytest_LDADD = ../src/libimobiledevice.la endif # ENABLE_DEVTOOLS -EXTRA_DIST = ideviceclient.c lckdclient.c afccheck.c msyncclient.c ideviceenterrecovery.c +EXTRA_DIST = ideviceclient.c lckdclient.c afccheck.c msyncclient.c diff --git a/dev/ideviceenterrecovery.c b/dev/ideviceenterrecovery.c deleted file mode 100644 index a5cc48a..0000000 --- a/dev/ideviceenterrecovery.c +++ /dev/null @@ -1,93 +0,0 @@ -/* - * ideviceenterrecovery.c - * Simple utility to make a device in normal mode enter recovery mode. - * - * Copyright (c) 2009 Martin Szulecki All Rights Reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include <stdio.h> -#include <string.h> -#include <errno.h> -#include <stdlib.h> - -#include <libimobiledevice/libimobiledevice.h> -#include <libimobiledevice/lockdown.h> - -static void print_usage(int argc, char **argv) -{ - char *name = NULL; - - name = strrchr(argv[0], '/'); - printf("Usage: %s [OPTIONS] UUID\n", (name ? name + 1: argv[0])); - printf("Makes a device with the supplied 40-digit UUID enter recovery mode immediately.\n\n"); - printf(" -d, --debug\t\tenable communication debugging\n"); - printf(" -h, --help\t\tprints usage information\n"); - printf("\n"); -} - -int main(int argc, char *argv[]) -{ - lockdownd_client_t client = NULL; - idevice_t phone = NULL; - idevice_error_t ret = IDEVICE_E_UNKNOWN_ERROR; - int i; - char uuid[41]; - uuid[0] = 0; - - /* parse cmdline args */ - for (i = 1; i < argc; i++) { - if (!strcmp(argv[i], "-d") || !strcmp(argv[i], "--debug")) { - idevice_set_debug_level(1); - continue; - } - else if (!strcmp(argv[i], "-h") || !strcmp(argv[i], "--help")) { - print_usage(argc, argv); - return 0; - } - } - - i--; - if (!argv[i] || (strlen(argv[i]) != 40)) { - print_usage(argc, argv); - return 0; - } - strcpy(uuid, argv[i]); - - ret = idevice_new(&phone, uuid); - if (ret != IDEVICE_E_SUCCESS) { - printf("No device found with uuid %s, is it plugged in?\n", uuid); - return -1; - } - - if (LOCKDOWN_E_SUCCESS != lockdownd_client_new(phone, &client, "ideviceenterrecovery")) { - idevice_free(phone); - return -1; - } - - /* run query and output information */ - printf("Telling device with uuid %s to enter recovery mode.}\n", uuid); - if(lockdownd_enter_recovery(client) != LOCKDOWN_E_SUCCESS) - { - printf("Failed to enter recovery mode.\n"); - } - printf("Device is successfully switching to recovery mode.\n"); - - lockdownd_client_free(client); - idevice_free(phone); - - return 0; -} |