summaryrefslogtreecommitdiffstats
path: root/src/dfu.c
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2013-11-19 21:38:31 +0100
committerGravatar Nikias Bassen2013-11-19 21:38:31 +0100
commit3f8dea9bd12c4b4c52224b1a84835fa56df53fb2 (patch)
tree4a5ee3b9be4d6a521899e4342c49e9decb1c5a08 /src/dfu.c
parentaee53bef0385841109432948dbf814907a7d2dca (diff)
downloadidevicerestore-3f8dea9bd12c4b4c52224b1a84835fa56df53fb2.tar.gz
idevicerestore-3f8dea9bd12c4b4c52224b1a84835fa56df53fb2.tar.bz2
Add helper function to check if device supports image4 format
Diffstat (limited to 'src/dfu.c')
-rw-r--r--src/dfu.c17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/dfu.c b/src/dfu.c
index df9379e..37fa2d4 100644
--- a/src/dfu.c
+++ b/src/dfu.c
@@ -241,6 +241,22 @@ int dfu_get_cpid(struct idevicerestore_client_t* client, unsigned int* cpid) {
return 0;
}
+int dfu_is_image4_supported(struct idevicerestore_client_t* client)
+{
+ if(client->dfu == NULL) {
+ if (dfu_client_new(client) < 0) {
+ return 0;
+ }
+ }
+
+ const struct irecv_device_info *device_info = irecv_get_device_info(client->dfu->client);
+ if (!device_info) {
+ return 0;
+ }
+
+ return (device_info->ibfl & IBOOT_FLAG_IMAGE4_AWARE);
+}
+
int dfu_get_ap_nonce(struct idevicerestore_client_t* client, unsigned char** nonce, int* nonce_size) {
irecv_error_t dfu_error = IRECV_E_SUCCESS;
@@ -250,7 +266,6 @@ int dfu_get_ap_nonce(struct idevicerestore_client_t* client, unsigned char** non
}
}
-
const struct irecv_device_info *device_info = irecv_get_device_info(client->dfu->client);
if (!device_info) {
return -1;