diff options
| author | 2011-11-03 22:41:52 +0100 | |
|---|---|---|
| committer | 2011-11-03 22:41:52 +0100 | |
| commit | 15e2b3c5e6f7daf55da66756f9529bdeeb454197 (patch) | |
| tree | ed9ee1312a8bc26e8c80481d5e1dbf83dbeaf91c | |
| parent | bd7728153d4606c8271d152c6f08143bdd1c505e (diff) | |
| download | libirecovery-15e2b3c5e6f7daf55da66756f9529bdeeb454197.tar.gz libirecovery-15e2b3c5e6f7daf55da66756f9529bdeeb454197.tar.bz2 | |
add new device models
| -rw-r--r-- | include/libirecovery.h | 12 | ||||
| -rw-r--r-- | libirecovery.c | 29 |
2 files changed, 41 insertions, 0 deletions
diff --git a/include/libirecovery.h b/include/libirecovery.h index 8f3208a..f62d599 100644 --- a/include/libirecovery.h +++ b/include/libirecovery.h | |||
| @@ -46,6 +46,10 @@ extern "C" { | |||
| 46 | #define CPID_IPOD4G 8930 | 46 | #define CPID_IPOD4G 8930 |
| 47 | #define CPID_APPLETV2 8930 | 47 | #define CPID_APPLETV2 8930 |
| 48 | #define CPID_IPHONE42 8930 | 48 | #define CPID_IPHONE42 8930 |
| 49 | #define CPID_IPAD21 8940 | ||
| 50 | #define CPID_IPAD22 8940 | ||
| 51 | #define CPID_IPAD23 8940 | ||
| 52 | #define CPID_IPHONE4S 8940 | ||
| 49 | 53 | ||
| 50 | #define BDID_UNKNOWN -1 | 54 | #define BDID_UNKNOWN -1 |
| 51 | #define BDID_IPHONE2G 0 | 55 | #define BDID_IPHONE2G 0 |
| @@ -59,6 +63,10 @@ extern "C" { | |||
| 59 | #define BDID_IPOD4G 8 | 63 | #define BDID_IPOD4G 8 |
| 60 | #define BDID_APPLETV2 10 | 64 | #define BDID_APPLETV2 10 |
| 61 | #define BDID_IPHONE42 6 | 65 | #define BDID_IPHONE42 6 |
| 66 | #define BDID_IPAD21 4 | ||
| 67 | #define BDID_IPAD22 6 | ||
| 68 | #define BDID_IPAD23 2 | ||
| 69 | #define BDID_IPHONE4S 8 | ||
| 62 | 70 | ||
| 63 | #define DEVICE_UNKNOWN -1 | 71 | #define DEVICE_UNKNOWN -1 |
| 64 | #define DEVICE_IPHONE2G 0 | 72 | #define DEVICE_IPHONE2G 0 |
| @@ -72,6 +80,10 @@ extern "C" { | |||
| 72 | #define DEVICE_IPOD4G 8 | 80 | #define DEVICE_IPOD4G 8 |
| 73 | #define DEVICE_APPLETV2 9 | 81 | #define DEVICE_APPLETV2 9 |
| 74 | #define DEVICE_IPHONE42 10 | 82 | #define DEVICE_IPHONE42 10 |
| 83 | #define DEVICE_IPAD21 11 | ||
| 84 | #define DEVICE_IPAD22 12 | ||
| 85 | #define DEVICE_IPAD23 13 | ||
| 86 | #define DEVICE_IPHONE4S 14 | ||
| 75 | 87 | ||
| 76 | enum { | 88 | enum { |
| 77 | kRecoveryMode1 = 0x1280, | 89 | kRecoveryMode1 = 0x1280, |
diff --git a/libirecovery.c b/libirecovery.c index 614b81d..278a529 100644 --- a/libirecovery.c +++ b/libirecovery.c | |||
| @@ -1224,6 +1224,35 @@ irecv_error_t irecv_get_device(irecv_client_t client, irecv_device_t* device) { | |||
| 1224 | } | 1224 | } |
| 1225 | break; | 1225 | break; |
| 1226 | 1226 | ||
| 1227 | case CPID_IPAD21: | ||
| 1228 | // iPad2,1 iPad2,2 iPad2,3 and iPhone4,1 share the same ChipID, so we need to check the BoardID | ||
| 1229 | if (irecv_get_bdid(client, &bdid) < 0) { | ||
| 1230 | break; | ||
| 1231 | } | ||
| 1232 | |||
| 1233 | switch (bdid) { | ||
| 1234 | case BDID_IPAD21 | ||
| 1235 | device_id = DEVICE_IPAD21; | ||
| 1236 | break; | ||
| 1237 | |||
| 1238 | case BDID_IPAD22 | ||
| 1239 | device_id = DEVICE_IPAD22; | ||
| 1240 | break; | ||
| 1241 | |||
| 1242 | case BDID_IPAD23 | ||
| 1243 | device_id = DEVICE_IPAD23; | ||
| 1244 | break; | ||
| 1245 | |||
| 1246 | case BDID_IPHONE4S | ||
| 1247 | device_id = DEVICE_IPHONE4S; | ||
| 1248 | break; | ||
| 1249 | |||
| 1250 | default: | ||
| 1251 | device_id = DEVICE_UNKNOWN; | ||
| 1252 | break; | ||
| 1253 | } | ||
| 1254 | break; | ||
| 1255 | |||
| 1227 | default: | 1256 | default: |
| 1228 | device_id = DEVICE_UNKNOWN; | 1257 | device_id = DEVICE_UNKNOWN; |
| 1229 | break; | 1258 | break; |
