diff --git a/libtelnet.h b/libtelnet.h
index 4ea72c5..c9f2583 100644
--- a/libtelnet.h
+++ b/libtelnet.h
@@ -15,6 +15,7 @@
 /* forward declarations */
 typedef struct telnet_t telnet_t;
 typedef struct telnet_event_t telnet_event_t;
+typedef struct telnet_telopt_t telnet_telopt_t;
 
 /* telnet special values */
 #define TELNET_IAC 255
@@ -144,18 +145,24 @@
 	unsigned char command;
 	/* telopt info: for negotiation events SUBNEGOTIATION */
 	unsigned char telopt;
-	/* accept status: for WILL and DO events */
-	unsigned char accept;
 };
 
 /* event handler declaration */
 typedef void (*telnet_event_handler_t)(telnet_t *telnet,
 		telnet_event_t *event, void *user_data);
 
+/* telopt support table element; use telopt of -1 for end marker */
+struct telnet_telopt_t {
+	short telopt;
+	short us:1, him:1;
+};
+
 /* state tracker */
 struct telnet_t {
 	/* user data */
 	void *ud;
+	/* telopt support table */
+	const telnet_telopt_t *telopts;
 	/* event handler */
 	telnet_event_handler_t eh;
 #ifdef HAVE_ZLIB
@@ -181,8 +188,8 @@
 };
 
 /* initialize a telnet state tracker */
-extern void telnet_init(telnet_t *telnet, telnet_event_handler_t eh,
-		unsigned char flags, void *user_data);
+extern void telnet_init(telnet_t *telnet, const telnet_telopt_t *telopts,
+		telnet_event_handler_t eh, unsigned char flags, void *user_data);
 
 /* free up any memory allocated by a state tracker */
 extern void telnet_free(telnet_t *telnet);
