public domain header, include protection
diff --git a/libtelnet.c b/libtelnet.c
index f55b59a..badffaf 100644
--- a/libtelnet.c
+++ b/libtelnet.c
@@ -1,3 +1,11 @@
+/*
+ * The author or authors of this code dedicate any and all copyright interest
+ * in this code to the public domain. We make this dedication for the benefit
+ * of the public at large and to the detriment of our heirs and successors. We
+ * intend this dedication to be an overt act of relinquishment in perpetuity of
+ * all present and future rights to this code under copyright law. 
+ */
+
 #include "libtelnet.h"
 
 /* initialize a telnet state tracker */
diff --git a/libtelnet.h b/libtelnet.h
index e518601..5c9daf1 100644
--- a/libtelnet.h
+++ b/libtelnet.h
@@ -6,6 +6,9 @@
  * all present and future rights to this code under copyright law. 
  */
 
+#if !defined(LIBTELNET_INCLUDE)
+#define LIBTELNET 1
+
 /* sub request buffer size increment (defualt 4K) */
 #define LIBTELNET_BUFFER_SIZE (4 * 1024)
 /* sub request buffer size (default 16K) */
@@ -105,3 +108,5 @@
 /* send sub-request */
 extern void libtelnet_send_subrequest(struct libtelnet_t *telnet,
 	unsigned char type, unsigned char *buffer, size_t size, void *user_data);
+
+#endif /* !defined(LIBTELNET_INCLUDE) */