summaryrefslogtreecommitdiffstats
path: root/include/libirecovery.h
diff options
context:
space:
mode:
authorGravatar Joshua Hill2010-05-30 03:33:03 -0400
committerGravatar Joshua Hill2010-05-30 03:33:03 -0400
commit30fd56859f50dea5712492807a1b9784da9fec11 (patch)
tree66b3c2569616315cbfa843f23a5c192b38255be5 /include/libirecovery.h
parent1e4d65033781cd44876b7b2634976259e4bef7c5 (diff)
downloadlibirecovery-30fd56859f50dea5712492807a1b9784da9fec11.tar.gz
libirecovery-30fd56859f50dea5712492807a1b9784da9fec11.tar.bz2
Implemented a few more events, got rid of the old ones and cleaned up a little
Diffstat (limited to 'include/libirecovery.h')
-rw-r--r--include/libirecovery.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/include/libirecovery.h b/include/libirecovery.h
index ab43663..a501c0f 100644
--- a/include/libirecovery.h
+++ b/include/libirecovery.h
@@ -43,7 +43,7 @@ typedef enum {
43} irecv_error_t; 43} irecv_error_t;
44 44
45typedef enum { 45typedef enum {
46 IRECV_DATA_RECV = 1, 46 IRECV_RECEIVED = 1,
47 IRECV_PRECOMMAND = 2, 47 IRECV_PRECOMMAND = 2,
48 IRECV_POSTCOMMAND = 3, 48 IRECV_POSTCOMMAND = 3,
49 IRECV_CONNECTED = 4, 49 IRECV_CONNECTED = 4,
@@ -52,16 +52,13 @@ typedef enum {
52} irecv_event_type; 52} irecv_event_type;
53 53
54typedef struct { 54typedef struct {
55 int size;
55 char* data; 56 char* data;
56 irecv_event_type type; 57 irecv_event_type type;
57} irecv_event_t; 58} irecv_event_t;
58 59
59struct irecv_client; 60struct irecv_client;
60typedef struct irecv_client* irecv_client_t; 61typedef struct irecv_client* irecv_client_t;
61
62typedef int(*irecv_send_callback)(irecv_client_t client, unsigned char* data, int size);
63typedef int(*irecv_receive_callback)(irecv_client_t client, unsigned char* data, int size);
64
65typedef int(*irecv_event_cb_t)(irecv_client_t client, const irecv_event_t* event); 62typedef int(*irecv_event_cb_t)(irecv_client_t client, const irecv_event_t* event);
66 63
67struct irecv_client { 64struct irecv_client {
@@ -72,8 +69,7 @@ struct irecv_client {
72 unsigned short mode; 69 unsigned short mode;
73 libusb_context* context; 70 libusb_context* context;
74 libusb_device_handle* handle; 71 libusb_device_handle* handle;
75 irecv_send_callback send_callback; 72 irecv_event_cb_t received_callback;
76 irecv_receive_callback receive_callback;
77 irecv_event_cb_t precommand_callback; 73 irecv_event_cb_t precommand_callback;
78 irecv_event_cb_t postcommand_callback; 74 irecv_event_cb_t postcommand_callback;
79}; 75};
@@ -92,8 +88,6 @@ irecv_error_t irecv_send(irecv_client_t client, unsigned char* command);
92irecv_error_t irecv_send_file(irecv_client_t client, const char* filename); 88irecv_error_t irecv_send_file(irecv_client_t client, const char* filename);
93irecv_error_t irecv_send_command(irecv_client_t client, unsigned char* command); 89irecv_error_t irecv_send_command(irecv_client_t client, unsigned char* command);
94irecv_error_t irecv_set_configuration(irecv_client_t client, int configuration); 90irecv_error_t irecv_set_configuration(irecv_client_t client, int configuration);
95irecv_error_t irecv_set_sender(irecv_client_t client, irecv_send_callback callback);
96irecv_error_t irecv_set_receiver(irecv_client_t client, irecv_receive_callback callback);
97irecv_error_t irecv_set_interface(irecv_client_t client, int interface, int alt_interface); 91irecv_error_t irecv_set_interface(irecv_client_t client, int interface, int alt_interface);
98irecv_error_t irecv_send_buffer(irecv_client_t client, unsigned char* buffer, unsigned int length); 92irecv_error_t irecv_send_buffer(irecv_client_t client, unsigned char* buffer, unsigned int length);
99const char* irecv_strerror(irecv_error_t error); 93const char* irecv_strerror(irecv_error_t error);