summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Martin Szulecki2013-09-27 02:20:09 +0200
committerGravatar Martin Szulecki2013-09-27 02:20:09 +0200
commitc84fb716cd998118c95fb59a8ba4d3e26a673749 (patch)
tree9380312613149f810f8032158f9adb90ed69866f
parent0208d9c4045d484509515b808c47a2b16f84d9fc (diff)
downloadlibirecovery-c84fb716cd998118c95fb59a8ba4d3e26a673749.tar.gz
libirecovery-c84fb716cd998118c95fb59a8ba4d3e26a673749.tar.bz2
libirecovery: Provide helper to get current device mode
-rw-r--r--include/libirecovery.h1
-rw-r--r--src/libirecovery.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/include/libirecovery.h b/include/libirecovery.h
index 595c7cb..09898bb 100644
--- a/include/libirecovery.h
+++ b/include/libirecovery.h
@@ -123,6 +123,7 @@ irecv_error_t irecv_reboot(irecv_client_t client);
irecv_error_t irecv_getret(irecv_client_t client, unsigned int* value);
/* device information */
+irecv_error_t irecv_get_mode(irecv_client_t client, int* mode);
irecv_error_t irecv_get_cpid(irecv_client_t client, unsigned int* cpid);
irecv_error_t irecv_get_bdid(irecv_client_t client, unsigned int* bdid);
irecv_error_t irecv_get_ecid(irecv_client_t client, unsigned long long* ecid);
diff --git a/src/libirecovery.c b/src/libirecovery.c
index 3bd57df..e81ed2e 100644
--- a/src/libirecovery.c
+++ b/src/libirecovery.c
@@ -1205,6 +1205,15 @@ irecv_error_t irecv_getret(irecv_client_t client, unsigned int* value) {
return IRECV_E_SUCCESS;
}
+irecv_error_t irecv_get_mode(irecv_client_t client, int* mode) {
+ if (check_context(client) != IRECV_E_SUCCESS)
+ return IRECV_E_NO_DEVICE;
+
+ *mode = client->mode;
+
+ return IRECV_E_SUCCESS;
+}
+
irecv_error_t irecv_get_cpid(irecv_client_t client, unsigned int* cpid) {
if (check_context(client) != IRECV_E_SUCCESS)
return IRECV_E_NO_DEVICE;