get libtelnet compiling; more buffer work
diff --git a/libtelnet.h b/libtelnet.h
index b437901..a262bee 100644
--- a/libtelnet.h
+++ b/libtelnet.h
@@ -9,11 +9,6 @@
#if !defined(LIBTELNET_INCLUDE)
#define LIBTELNET 1
-/* sub request buffer size, normal (defualt 1K) */
-#define LIBTELNET_BUFFER_SIZE_SMALL (1 * 1024)
-/* sub request buffer size, enlarged (default 16K) */
-#define LIBTELNET_BUFFER_SIZE_LARGE (16 * 1024)
-
/* telnet special values */
#define LIBTELNET_IAC 255
#define LIBTELNET_DONT 254
@@ -50,34 +45,34 @@
LIBTELNET_ERROR_UNKNOWN, /* some crazy unexplainable unknown error */
};
+/* state tracker */
+struct libtelnet_t {
+ /* sub-request buffer */
+ unsigned char *buffer;
+ /* current size of the buffer */
+ unsigned int size;
+ /* length of data in the buffer */
+ unsigned int length;
+ /* current state */
+ enum libtelnet_state_t state;
+};
+
/* libtelnet callback declarations
* APPLICATION MUST IMPLEMENT THESE FUNCTIONS!!
*/
-extern void libtelnet_input_cb(struct libtelnet_t *telnet, unsigned char
- byte, void *user_data);
-extern void libtelnet_output_cb(struct libtelnet_t *telnet, unsigned char
- byte, void *user_data);
-extern void libtelnet_command_cb(struct libtelnet_t *telnet, unsigned char
- cmd, void *user_data);
-extern void libtelnet_negotiate_cb(struct libtelnet_t *telnet, unsigned char
- cmd, unsigned char opt, void *user_data);
-extern void libtelnet_subrequest_cb(struct libtelnet_t *telnet, unsigned char
- cmd, unsigned char type, unsigned char *data, size_t size,
- void *user_data);
+extern void libtelnet_input_cb(struct libtelnet_t *telnet,
+ unsigned char *buffer, unsigned int size, void *user_data);
+extern void libtelnet_output_cb(struct libtelnet_t *telnet,
+ unsigned char *buffer, unsigned int size, void *user_data);
+extern void libtelnet_command_cb(struct libtelnet_t *telnet,
+ unsigned char cmd, void *user_data);
+extern void libtelnet_negotiate_cb(struct libtelnet_t *telnet,
+ unsigned char cmd, unsigned char opt, void *user_data);
+extern void libtelnet_subrequest_cb(struct libtelnet_t *telnet,
+ unsigned char type, unsigned char *data, unsigned int size,
+ void *user_data);
extern void libtelnet_error_cb(struct libtelnet_t *telnet,
- enum libtelnet_error_t error, void *user_data);
-
-/* state tracker */
-struct libtelnet_t {
- /* current state */
- enum libtelnet_state_t state;
- /* sub-request buffer */
- char *buffer;
- /* current size of the buffer */
- size_t size;
- /* length of data in the buffer */
- size_t length;
-};
+ enum libtelnet_error_t error, void *user_data);
/* initialize a telnet state tracker */
extern void libtelnet_init(struct libtelnet_t *telnet);
@@ -86,12 +81,12 @@
extern void libtelnet_free(struct libtelnet_t *telnet);
/* push a single byte into the state tracker */
-extern void libtelnet_push_byte(struct libtelnet_t *telnet, unsigned char byte,
- void *user_data);
+extern void libtelnet_push_byte(struct libtelnet_t *telnet,
+ unsigned char byte, void *user_data);
/* push a byte buffer into the state tracker */
extern void libtelnet_push_buffer(struct libtelnet_t *telnet,
- unsigned char *buffer, size_t size, void *user_data);
+ unsigned char *buffer, unsigned int size, void *user_data);
/* send an iac command */
extern void libtelnet_send_command(struct libtelnet_t *telnet,
@@ -103,10 +98,11 @@
/* send non-command data (escapes IAC bytes) */
extern void libtelnet_send_data(struct libtelnet_t *telnet,
- unsigned char *buffer, size_t size, void *user_data);
+ unsigned char *buffer, unsigned int size, void *user_data);
/* send sub-request */
extern void libtelnet_send_subrequest(struct libtelnet_t *telnet,
- unsigned char type, unsigned char *buffer, size_t size, void *user_data);
+ unsigned char type, unsigned char *buffer, unsigned int size,
+ void *user_data);
#endif /* !defined(LIBTELNET_INCLUDE) */