summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Martin Szulecki2013-09-26 23:54:06 +0200
committerGravatar Martin Szulecki2013-09-26 23:54:06 +0200
commit9a28cfe084b9cf04c0170dce8821356638d50b38 (patch)
tree1b581021f494f654f2faff423248d0144c7e3e0c
parent4afbb1aec79b3f80c55b3156475bdf546461464d (diff)
downloadlibirecovery-9a28cfe084b9cf04c0170dce8821356638d50b38.tar.gz
libirecovery-9a28cfe084b9cf04c0170dce8821356638d50b38.tar.bz2
Rename device struct fields and provide device database getters for them
-rw-r--r--include/libirecovery.h6
-rw-r--r--src/libirecovery.c38
-rw-r--r--tools/irecovery.c2
3 files changed, 39 insertions, 7 deletions
diff --git a/include/libirecovery.h b/include/libirecovery.h
index a405005..152634f 100644
--- a/include/libirecovery.h
+++ b/include/libirecovery.h
@@ -68,8 +68,8 @@ typedef struct {
68} irecv_event_t; 68} irecv_event_t;
69 69
70struct irecv_device { 70struct irecv_device {
71 const char* product; 71 const char* product_type;
72 const char* model; 72 const char* hardware_model;
73 unsigned int board_id; 73 unsigned int board_id;
74 unsigned int chip_id; 74 unsigned int chip_id;
75}; 75};
@@ -132,6 +132,8 @@ irecv_error_t irecv_get_imei(irecv_client_t client, char* imei);
132 132
133/* device database queries */ 133/* device database queries */
134irecv_error_t irecv_devices_get_device_by_client(irecv_client_t client, irecv_device_t* device); 134irecv_error_t irecv_devices_get_device_by_client(irecv_client_t client, irecv_device_t* device);
135irecv_error_t irecv_devices_get_device_by_product_type(const char* product_type, irecv_device_t* device);
136irecv_error_t irecv_devices_get_device_by_hardware_model(const char* hardware_model, irecv_device_t* device);
135 137
136#ifdef __cplusplus 138#ifdef __cplusplus
137} 139}
diff --git a/src/libirecovery.c b/src/libirecovery.c
index 1429237..7aeb205 100644
--- a/src/libirecovery.c
+++ b/src/libirecovery.c
@@ -1519,14 +1519,44 @@ irecv_error_t irecv_devices_get_device_by_client(irecv_client_t client, irecv_de
1519 return IRECV_E_UNKNOWN_ERROR; 1519 return IRECV_E_UNKNOWN_ERROR;
1520 } 1520 }
1521 1521
1522 for (i = 0; irecv_devices[i].model != NULL; i++) { 1522 for (i = 0; irecv_devices[i].hardware_model != NULL; i++) {
1523 if (irecv_devices[i].chip_id == cpid && irecv_devices[i].board_id == bdid) { 1523 if (irecv_devices[i].chip_id == cpid && irecv_devices[i].board_id == bdid) {
1524 device_id = irecv_devices[i].index; 1524 *device = &irecv_devices[i];
1525 return IRECV_E_SUCCESS;
1525 } 1526 }
1526 } 1527 }
1527 1528
1528 *device = &irecv_devices[device_id]; 1529 return IRECV_E_NO_DEVICE;
1529 return IRECV_E_SUCCESS; 1530}
1531
1532irecv_error_t irecv_devices_get_device_by_product_type(const char* product_type, irecv_device_t* device) {
1533 int i = 0;
1534
1535 *device = NULL;
1536
1537 for (i = 0; irecv_devices[i].product_type != NULL; i++) {
1538 if (!strcmp(product_type, irecv_devices[i].product_type)) {
1539 *device = &irecv_devices[i];
1540 return IRECV_E_SUCCESS;
1541 }
1542 }
1543
1544 return IRECV_E_NO_DEVICE;
1545}
1546
1547irecv_error_t irecv_devices_get_device_by_hardware_model(const char* hardware_model, irecv_device_t* device) {
1548 int i = 0;
1549
1550 *device = NULL;
1551
1552 for (i = 0; irecv_devices[i].hardware_model != NULL; i++) {
1553 if (!strcmp(hardware_model, irecv_devices[i].hardware_model)) {
1554 *device = &irecv_devices[i];
1555 return IRECV_E_SUCCESS;
1556 }
1557 }
1558
1559 return IRECV_E_NO_DEVICE;
1530} 1560}
1531 1561
1532irecv_client_t irecv_reconnect(irecv_client_t client, int initial_pause) { 1562irecv_client_t irecv_reconnect(irecv_client_t client, int initial_pause) {
diff --git a/tools/irecovery.c b/tools/irecovery.c
index 32e9f9f..c4d6dce 100644
--- a/tools/irecovery.c
+++ b/tools/irecovery.c
@@ -347,7 +347,7 @@ int main(int argc, char* argv[]) {
347 irecv_device_t device = NULL; 347 irecv_device_t device = NULL;
348 irecv_devices_get_device_by_client(client, &device); 348 irecv_devices_get_device_by_client(client, &device);
349 if (device) 349 if (device)
350 debug("Connected to %s, model %s, cpid 0x%04x, bdid 0x%02x\n", device->product, device->model, device->chip_id, device->board_id); 350 debug("Connected to %s, model %s, cpid 0x%04x, bdid 0x%02x\n", device->product_type, device->hardware_model, device->chip_id, device->board_id);
351 351
352 switch (action) { 352 switch (action) {
353 case kResetDevice: 353 case kResetDevice: