diff options
| author | 2013-09-26 23:36:27 +0200 | |
|---|---|---|
| committer | 2013-09-26 23:36:27 +0200 | |
| commit | 3475c29642b2d824b86848ab81ef300d0f15e1f6 (patch) | |
| tree | 2b4ddbafc260c331e2ed5d35a8b16e0db8c7e6ce | |
| parent | 7f721d5a6ce397e045d1bbcf6b895d886dfc7bf5 (diff) | |
| download | libirecovery-3475c29642b2d824b86848ab81ef300d0f15e1f6.tar.gz libirecovery-3475c29642b2d824b86848ab81ef300d0f15e1f6.tar.bz2 | |
Reorder public interface logically and rename irecv_get_device()
| -rw-r--r-- | include/libirecovery.h | 29 | ||||
| -rw-r--r-- | src/libirecovery.c | 3 | ||||
| -rw-r--r-- | tools/irecovery.c | 2 |
3 files changed, 22 insertions, 12 deletions
diff --git a/include/libirecovery.h b/include/libirecovery.h index 1e615aa..f974080 100644 --- a/include/libirecovery.h +++ b/include/libirecovery.h | |||
| @@ -85,7 +85,6 @@ typedef struct { | |||
| 85 | struct irecv_client; | 85 | struct irecv_client; |
| 86 | typedef struct irecv_client* irecv_client_t; | 86 | typedef struct irecv_client* irecv_client_t; |
| 87 | typedef struct irecv_device* irecv_device_t; | 87 | typedef struct irecv_device* irecv_device_t; |
| 88 | typedef int(*irecv_event_cb_t)(irecv_client_t client, const irecv_event_t* event); | ||
| 89 | 88 | ||
| 90 | struct irecv_client { | 89 | struct irecv_client { |
| 91 | int debug; | 90 | int debug; |
| @@ -197,14 +196,24 @@ static struct irecv_device irecv_devices[] = { | |||
| 197 | { -1, NULL, NULL, -1, -1 } | 196 | { -1, NULL, NULL, -1, -1 } |
| 198 | }; | 197 | }; |
| 199 | 198 | ||
| 199 | /* library */ | ||
| 200 | void irecv_set_debug_level(int level); | 200 | void irecv_set_debug_level(int level); |
| 201 | const char* irecv_strerror(irecv_error_t error); | 201 | const char* irecv_strerror(irecv_error_t error); |
| 202 | void irecv_init(); | ||
| 203 | void irecv_exit(); | ||
| 204 | |||
| 205 | /* device connectivity */ | ||
| 202 | irecv_error_t irecv_open_with_ecid(irecv_client_t* client, unsigned long long ecid); | 206 | irecv_error_t irecv_open_with_ecid(irecv_client_t* client, unsigned long long ecid); |
| 203 | irecv_error_t irecv_open_with_ecid_and_attempts(irecv_client_t* pclient, unsigned long long ecid, int attempts); | 207 | irecv_error_t irecv_open_with_ecid_and_attempts(irecv_client_t* pclient, unsigned long long ecid, int attempts); |
| 204 | irecv_error_t irecv_reset(irecv_client_t client); | 208 | irecv_error_t irecv_reset(irecv_client_t client); |
| 205 | irecv_error_t irecv_close(irecv_client_t client); | 209 | irecv_error_t irecv_close(irecv_client_t client); |
| 210 | irecv_client_t irecv_reconnect(irecv_client_t client, int initial_pause); | ||
| 211 | |||
| 212 | /* misc */ | ||
| 206 | irecv_error_t irecv_receive(irecv_client_t client); | 213 | irecv_error_t irecv_receive(irecv_client_t client); |
| 207 | irecv_error_t irecv_execute_script(irecv_client_t client, const char* script); | 214 | irecv_error_t irecv_execute_script(irecv_client_t client, const char* script); |
| 215 | irecv_error_t irecv_reset_counters(irecv_client_t client); | ||
| 216 | irecv_error_t irecv_finish_transfer(irecv_client_t client); | ||
| 208 | irecv_error_t irecv_trigger_limera1n_exploit(irecv_client_t client); | 217 | irecv_error_t irecv_trigger_limera1n_exploit(irecv_client_t client); |
| 209 | 218 | ||
| 210 | /* usb helpers */ | 219 | /* usb helpers */ |
| @@ -213,18 +222,25 @@ irecv_error_t irecv_usb_set_interface(irecv_client_t client, int interface, int | |||
| 213 | int irecv_usb_control_transfer(irecv_client_t client, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, unsigned char *data, uint16_t wLength, unsigned int timeout); | 222 | int irecv_usb_control_transfer(irecv_client_t client, uint8_t bmRequestType, uint8_t bRequest, uint16_t wValue, uint16_t wIndex, unsigned char *data, uint16_t wLength, unsigned int timeout); |
| 214 | int irecv_usb_bulk_transfer(irecv_client_t client, unsigned char endpoint, unsigned char *data, int length, int *transferred, unsigned int timeout); | 223 | int irecv_usb_bulk_transfer(irecv_client_t client, unsigned char endpoint, unsigned char *data, int length, int *transferred, unsigned int timeout); |
| 215 | 224 | ||
| 225 | /* events */ | ||
| 226 | typedef int(*irecv_event_cb_t)(irecv_client_t client, const irecv_event_t* event); | ||
| 216 | irecv_error_t irecv_event_subscribe(irecv_client_t client, irecv_event_type type, irecv_event_cb_t callback, void *user_data); | 227 | irecv_error_t irecv_event_subscribe(irecv_client_t client, irecv_event_type type, irecv_event_cb_t callback, void *user_data); |
| 217 | irecv_error_t irecv_event_unsubscribe(irecv_client_t client, irecv_event_type type); | 228 | irecv_error_t irecv_event_unsubscribe(irecv_client_t client, irecv_event_type type); |
| 218 | 229 | ||
| 230 | /* I/O */ | ||
| 219 | irecv_error_t irecv_send_file(irecv_client_t client, const char* filename, int dfuNotifyFinished); | 231 | irecv_error_t irecv_send_file(irecv_client_t client, const char* filename, int dfuNotifyFinished); |
| 220 | irecv_error_t irecv_send_command(irecv_client_t client, const char* command); | 232 | irecv_error_t irecv_send_command(irecv_client_t client, const char* command); |
| 221 | irecv_error_t irecv_send_buffer(irecv_client_t client, unsigned char* buffer, unsigned long length, int dfuNotifyFinished); | 233 | irecv_error_t irecv_send_buffer(irecv_client_t client, unsigned char* buffer, unsigned long length, int dfuNotifyFinished); |
| 234 | irecv_error_t irecv_recv_buffer(irecv_client_t client, char* buffer, unsigned long length); | ||
| 222 | 235 | ||
| 236 | /* commands */ | ||
| 223 | irecv_error_t irecv_saveenv(irecv_client_t client); | 237 | irecv_error_t irecv_saveenv(irecv_client_t client); |
| 224 | irecv_error_t irecv_getret(irecv_client_t client, unsigned int* value); | ||
| 225 | irecv_error_t irecv_getenv(irecv_client_t client, const char* variable, char** value); | 238 | irecv_error_t irecv_getenv(irecv_client_t client, const char* variable, char** value); |
| 226 | irecv_error_t irecv_setenv(irecv_client_t client, const char* variable, const char* value); | 239 | irecv_error_t irecv_setenv(irecv_client_t client, const char* variable, const char* value); |
| 227 | irecv_error_t irecv_reboot(irecv_client_t client); | 240 | irecv_error_t irecv_reboot(irecv_client_t client); |
| 241 | irecv_error_t irecv_getret(irecv_client_t client, unsigned int* value); | ||
| 242 | |||
| 243 | /* device information */ | ||
| 228 | irecv_error_t irecv_get_cpid(irecv_client_t client, unsigned int* cpid); | 244 | irecv_error_t irecv_get_cpid(irecv_client_t client, unsigned int* cpid); |
| 229 | irecv_error_t irecv_get_bdid(irecv_client_t client, unsigned int* bdid); | 245 | irecv_error_t irecv_get_bdid(irecv_client_t client, unsigned int* bdid); |
| 230 | irecv_error_t irecv_get_ecid(irecv_client_t client, unsigned long long* ecid); | 246 | irecv_error_t irecv_get_ecid(irecv_client_t client, unsigned long long* ecid); |
| @@ -232,13 +248,8 @@ irecv_error_t irecv_get_nonce(irecv_client_t client, unsigned char** nonce, int* | |||
| 232 | irecv_error_t irecv_get_srnm(irecv_client_t client, char* srnm); | 248 | irecv_error_t irecv_get_srnm(irecv_client_t client, char* srnm); |
| 233 | irecv_error_t irecv_get_imei(irecv_client_t client, char* imei); | 249 | irecv_error_t irecv_get_imei(irecv_client_t client, char* imei); |
| 234 | 250 | ||
| 235 | void irecv_init(); | 251 | /* device database queries */ |
| 236 | void irecv_exit(); | 252 | irecv_error_t irecv_devices_get_device_by_client(irecv_client_t client, irecv_device_t* device); |
| 237 | irecv_client_t irecv_reconnect(irecv_client_t client, int initial_pause); | ||
| 238 | irecv_error_t irecv_reset_counters(irecv_client_t client); | ||
| 239 | irecv_error_t irecv_finish_transfer(irecv_client_t client); | ||
| 240 | irecv_error_t irecv_recv_buffer(irecv_client_t client, char* buffer, unsigned long length); | ||
| 241 | irecv_error_t irecv_get_device(irecv_client_t client, irecv_device_t* device); | ||
| 242 | 253 | ||
| 243 | #ifdef __cplusplus | 254 | #ifdef __cplusplus |
| 244 | } | 255 | } |
diff --git a/src/libirecovery.c b/src/libirecovery.c index 43be58c..9956fab 100644 --- a/src/libirecovery.c +++ b/src/libirecovery.c | |||
| @@ -1439,8 +1439,7 @@ irecv_error_t irecv_finish_transfer(irecv_client_t client) { | |||
| 1439 | return IRECV_E_SUCCESS; | 1439 | return IRECV_E_SUCCESS; |
| 1440 | } | 1440 | } |
| 1441 | 1441 | ||
| 1442 | irecv_error_t irecv_get_device(irecv_client_t client, irecv_device_t* device) { | 1442 | irecv_error_t irecv_devices_get_device_by_client(irecv_client_t client, irecv_device_t* device) { |
| 1443 | int device_id = DEVICE_UNKNOWN; | ||
| 1444 | uint32_t bdid = 0; | 1443 | uint32_t bdid = 0; |
| 1445 | uint32_t cpid = 0; | 1444 | uint32_t cpid = 0; |
| 1446 | int i = 0; | 1445 | int i = 0; |
diff --git a/tools/irecovery.c b/tools/irecovery.c index 7945598..32e9f9f 100644 --- a/tools/irecovery.c +++ b/tools/irecovery.c | |||
| @@ -345,7 +345,7 @@ int main(int argc, char* argv[]) { | |||
| 345 | } | 345 | } |
| 346 | 346 | ||
| 347 | irecv_device_t device = NULL; | 347 | irecv_device_t device = NULL; |
| 348 | irecv_get_device(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, device->model, device->chip_id, device->board_id); |
| 351 | 351 | ||
