summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/libirecovery.h7
-rw-r--r--src/libirecovery.c16
2 files changed, 23 insertions, 0 deletions
diff --git a/include/libirecovery.h b/include/libirecovery.h
index 0323135..781123b 100644
--- a/include/libirecovery.h
+++ b/include/libirecovery.h
@@ -58,6 +58,7 @@ extern "C" {
#define CPID_IPAD31 0x8945
#define CPID_IPAD32 0x8945
#define CPID_IPAD33 0x8945
+#define CPID_IPHONE5 0x8950
#define BDID_UNKNOWN -1
#define BDID_IPHONE2G 0x00
@@ -80,6 +81,8 @@ extern "C" {
#define BDID_IPAD31 0x00
#define BDID_IPAD32 0x02
#define BDID_IPAD33 0x04
+#define BDID_IPHONE51 0x00
+#define BDID_IPHONE52 0x02
#define DEVICE_UNKNOWN -1
#define DEVICE_IPHONE2G 0
@@ -102,6 +105,8 @@ extern "C" {
#define DEVICE_IPAD31 17
#define DEVICE_IPAD32 18
#define DEVICE_IPAD33 19
+#define DEVICE_IPHONE51 20
+#define DEVICE_IPHONE52 21
enum {
kRecoveryMode1 = 0x1280,
@@ -204,6 +209,8 @@ static struct irecv_device irecv_devices[] = {
{ 17, "iPad3,1", "j1ap", 0x00, 0x8945 },
{ 18, "iPad3,2", "j2ap", 0x02, 0x8945 },
{ 19, "iPad3,3", "j2aap", 0x04, 0x8945 },
+ { 20, "iPhone5,1", "n41ap", 0x00, 0x8950 },
+ { 21, "iPhone5,2", "n42ap", 0x02, 0x8950 },
{ -1, NULL, NULL, -1, -1 }
};
diff --git a/src/libirecovery.c b/src/libirecovery.c
index 1e249a5..4db314b 100644
--- a/src/libirecovery.c
+++ b/src/libirecovery.c
@@ -1607,6 +1607,22 @@ irecv_error_t irecv_get_device(irecv_client_t client, irecv_device_t* device) {
break;
}
break;
+ case CPID_IPHONE5:
+ if (irecv_get_bdid(client, &bdid) < 0) {
+ break;
+ }
+ switch (bdid) {
+ case BDID_IPHONE51:
+ device_id = DEVICE_IPHONE51;
+ break;
+ case BDID_IPHONE52:
+ device_id = DEVICE_IPHONE52;
+ break;
+ default:
+ device_id = DEVICE_UNKNOWN;
+ break;
+ }
+ break;
default:
device_id = DEVICE_UNKNOWN;