int encode_il_reply(char **, int, int, const char *);
int decode_il_msg(char **, const char *);
int decode_il_reply(int *, int *, char **, const char *);
-int read_il_data(char **, int (*)(char *, const int));
+int read_il_data(void *user_data,
+ char **buffer,
+ int (*reader)(void *user_data, char *buffer, const int));
#endif
int
-read_il_data(char **buffer,
- int (*reader)(char *, const int))
+read_il_data(void *user_data,
+ char **buffer,
+ int (*reader)(void *, char *, const int))
{
char buf[17];
int ret, len;
/* read 17 byte header */
- len = (*reader)(buf, 17);
+ len = (*reader)(user_data, buf, 17);
if(len < 0) {
goto err;
}
}
/* read body */
- ret = (*reader)(*buffer, len);
+ ret = (*reader)(user_data, *buffer, len);
if(ret < 0) {
free(*buffer);
*buffer = NULL;