pass user_data to libtelnet_init() only instead of having to pass it to every function call
diff --git a/libtelnet.h b/libtelnet.h
index 629dace..11e01b9 100644
--- a/libtelnet.h
+++ b/libtelnet.h
@@ -144,6 +144,8 @@
/* state tracker */
struct libtelnet_t {
+ /* user data */
+ void *ud;
/* event handler */
libtelnet_event_handler_t eh;
#ifdef HAVE_ZLIB
@@ -167,34 +169,33 @@
/* initialize a telnet state tracker */
extern void libtelnet_init(struct libtelnet_t *telnet,
- libtelnet_event_handler_t eh, enum libtelnet_mode_t mode);
+ libtelnet_event_handler_t eh, enum libtelnet_mode_t mode,
+ void *user_data);
/* free up any memory allocated by a state tracker */
extern void libtelnet_free(struct libtelnet_t *telnet);
/* push a byte buffer into the state tracker */
extern void libtelnet_push(struct libtelnet_t *telnet,
- unsigned char *buffer, unsigned int size, void *user_data);
+ unsigned char *buffer, unsigned int size);
/* send an iac command */
extern void libtelnet_send_command(struct libtelnet_t *telnet,
- unsigned char cmd, void *user_data);
+ unsigned char cmd);
/* send negotiation */
extern void libtelnet_send_negotiate(struct libtelnet_t *telnet,
- unsigned char cmd, unsigned char opt, void *user_data);
+ unsigned char cmd, unsigned char opt);
/* send non-command data (escapes IAC bytes) */
extern void libtelnet_send_data(struct libtelnet_t *telnet,
- unsigned char *buffer, unsigned int size, void *user_data);
+ unsigned char *buffer, unsigned int size);
/* send sub-request */
extern void libtelnet_send_subnegotiation(struct libtelnet_t *telnet,
- unsigned char opt, unsigned char *buffer, unsigned int size,
- void *user_data);
+ unsigned char opt, unsigned char *buffer, unsigned int size);
/* begin sending compressed data (server only) */
-extern void libtelnet_begin_compress2(struct libtelnet_t *telnet,
- void *user_data);
+extern void libtelnet_begin_compress2(struct libtelnet_t *telnet);
#endif /* !defined(LIBTELNET_INCLUDE) */