diff options
Diffstat (limited to 'dev/filerelaytest.c')
-rw-r--r-- | dev/filerelaytest.c | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/dev/filerelaytest.c b/dev/filerelaytest.c deleted file mode 100644 index 6e611c0..0000000 --- a/dev/filerelaytest.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - * filerelaytest.c - * Simple Test program showing the usage of the file_relay interface. - * - * Copyright (c) 2010 Nikias Bassen 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 <libimobiledevice/libimobiledevice.h> -#include <libimobiledevice/lockdown.h> -#include <libimobiledevice/file_relay.h> - -int main(int argc, char **argv) -{ - idevice_t dev = NULL; - lockdownd_client_t client = NULL; - file_relay_client_t frc = NULL; - - if (idevice_new(&dev, NULL) != IDEVICE_E_SUCCESS) { - printf("no device connected?!\n"); - goto leave_cleanup; - } - - printf("connecting...\n"); - if (lockdownd_client_new_with_handshake(dev, &client, NULL) != LOCKDOWN_E_SUCCESS) { - printf("could not connect to lockdownd!\n"); - goto leave_cleanup; - } - - uint16_t port = 0; - if (lockdownd_start_service(client, "com.apple.mobile.file_relay", &port) != LOCKDOWN_E_SUCCESS) { - printf("could not start file_relay service!\n"); - goto leave_cleanup; - } - - if (client) { - lockdownd_client_free(client); - client = NULL; - } - - if (file_relay_client_new(dev, port, &frc) != FILE_RELAY_E_SUCCESS) { - printf("could not connect to file_relay service!\n"); - goto leave_cleanup; - } - - idevice_connection_t dump = NULL; - const char *sources[] = {"AppleSupport", "Network", "VPN", "WiFi", "UserDatabases", "CrashReporter", "tmp", "SystemConfiguration", NULL}; - - printf("Requesting"); - int i = 0; - while (sources[i]) { - printf(" %s", sources[i]); - i++; - } - printf("\n"); - - if (file_relay_request_sources(frc, sources, &dump) != FILE_RELAY_E_SUCCESS) { - printf("could not get sources\n"); - goto leave_cleanup; - } - - if (!dump) { - printf("did not get connection!\n"); - goto leave_cleanup; - } - - uint32_t cnt = 0; - uint32_t len = 0; - char buf[4096]; - FILE *f = fopen("dump.cpio.gz", "w"); - setbuf(stdout, NULL); - printf("receiving "); - while (idevice_connection_receive(dump, buf, 4096, &len) == IDEVICE_E_SUCCESS) { - fwrite(buf, 1, len, f); - cnt += len; - printf("."); - len = 0; - } - printf("\n"); - fclose(f); - printf("total size received: %d\n", cnt); - -leave_cleanup: - if (frc) { - file_relay_client_free(frc); - } - if (client) { - lockdownd_client_free(client); - } - if (dev) { - idevice_free(dev); - } - - return 0; -} |