diff --git a/libtelnet.c b/libtelnet.c
index 09ffd8d..695d213 100644
--- a/libtelnet.c
+++ b/libtelnet.c
@@ -1058,6 +1058,31 @@
 	return rs;
 }
 
+/* send formatted subnegotiation data for TTYPE/ENVIRON/NEW-ENVIRON/MSSP */
+void telnet_format_sb(telnet_t *telnet, unsigned char telopt,
+		size_t count, ...) {
+	va_list va;
+	size_t i;
+
+	/* subnegotiation header */
+	telnet_begin_sb(telnet, telopt);
+
+	/* iterate over the arguments pulling out integers and strings */
+	va_start(va, count);
+	for (i = 0; i != count; ++i) {
+		char t;
+		const char* s;
+		t = va_arg(va, int);
+		s = va_arg(va, const char *);
+		telnet_send(telnet, &t, 1);
+		telnet_send(telnet, s, strlen(s));
+	}
+	va_end(va);
+
+	/* footer */
+	telnet_finish_sb(telnet);
+}
+
 /* send ZMP data */
 void telnet_send_zmp(telnet_t *telnet, size_t argc, const char **argv) {
 	size_t i;
