diff options
author | Martin Szulecki | 2020-06-04 23:53:47 +0200 |
---|---|---|
committer | Martin Szulecki | 2020-06-04 23:53:47 +0200 |
commit | c3be9b94d3960fb546cdb721c5f00d26567ba511 (patch) | |
tree | d029b0bcd417c82fa36766e39083fab5852cce23 /tools | |
parent | 03c9bbaa1d036f232e1c5c5f2a0b818a63ff9658 (diff) | |
download | libideviceactivation-c3be9b94d3960fb546cdb721c5f00d26567ba511.tar.gz libideviceactivation-c3be9b94d3960fb546cdb721c5f00d26567ba511.tar.bz2 |
Add "--network" option in ideviceactivation tool to support network devices
Diffstat (limited to 'tools')
-rw-r--r-- | tools/ideviceactivation.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/tools/ideviceactivation.c b/tools/ideviceactivation.c index a0adba1..bc660d5 100644 --- a/tools/ideviceactivation.c +++ b/tools/ideviceactivation.c @@ -64,6 +64,7 @@ static void print_usage(int argc, char **argv) printf("The following OPTIONS are accepted:\n"); printf(" -d, --debug\t\tenable communication debugging\n"); printf(" -u, --udid UDID\ttarget specific device by UDID\n"); + printf(" -n, --network\t\tconnect to network device even if available via USB\n"); printf(" -b, --batch\t\texplicitly run in non-interactive mode (default: auto-detect)\n"); printf(" -s, --service URL\tuse activation webservice at URL instead of default\n"); printf(" -v, --version\t\tprint version information and exit\n"); @@ -138,6 +139,7 @@ int main(int argc, char *argv[]) int i; int interactive = 1; int result = EXIT_FAILURE; + enum idevice_options lookup_opts = IDEVICE_LOOKUP_USBMUX | IDEVICE_LOOKUP_NETWORK; typedef enum { OP_NONE = 0, OP_ACTIVATE, OP_DEACTIVATE, OP_GETSTATE @@ -163,6 +165,10 @@ int main(int argc, char *argv[]) udid = argv[i]; continue; } + else if (!strcmp(argv[i], "-n") || !strcmp(argv[i], "--network")) { + lookup_opts |= IDEVICE_LOOKUP_PREFER_NETWORK; + continue; + } else if (!strcmp(argv[i], "-s") || !strcmp(argv[i], "--service")) { i++; if (!argv[i]) { @@ -213,20 +219,14 @@ int main(int argc, char *argv[]) return EXIT_FAILURE; } - if (udid) { - ret = idevice_new(&device, udid); - if (ret != IDEVICE_E_SUCCESS) { - printf("No device found with UDID %s, is it plugged in?\n", udid); - return EXIT_FAILURE; - } - } - else - { - ret = idevice_new(&device, NULL); - if (ret != IDEVICE_E_SUCCESS) { - printf("No device found, is it plugged in?\n"); - return EXIT_FAILURE; + ret = idevice_new_with_options(&device, udid, lookup_opts); + if (ret != IDEVICE_E_SUCCESS) { + if (udid) { + printf("ERROR: Device %s not found!\n", udid); + } else { + printf("ERROR: No device found!\n"); } + return EXIT_FAILURE; } if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(device, &lockdown, "ideviceactivation")) { |