Add a directory 'contrib/cygtermd', containing the source code for my
[u/mdw/putty] / contrib / cygtermd / telnet.h
diff --git a/contrib/cygtermd/telnet.h b/contrib/cygtermd/telnet.h
new file mode 100644 (file)
index 0000000..1a74cab
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Header declaring Telnet-handling functions.
+ */
+
+#ifndef FIXME_TELNET_H
+#define FIXME_TELNET_H
+
+#include "sel.h"
+
+typedef struct telnet_tag *Telnet;
+
+struct shell_data {
+    char **envvars;                   /* array of "VAR=value" terms */
+    int nenvvars;
+    char *termtype;
+};
+
+/*
+ * Create and destroy a Telnet structure.
+ */
+Telnet telnet_new(sel_wfd *net, sel_wfd *pty);
+void telnet_free(Telnet telnet);
+
+/*
+ * Process data read from the pty.
+ */
+void telnet_from_pty(Telnet telnet, char *buf, int len);
+
+/*
+ * Process Telnet protocol data received from the network.
+ */
+void telnet_from_net(Telnet telnet, char *buf, int len);
+
+/*
+ * Return true if pre-shell-startup negotiations are complete and
+ * it's safe to start the shell subprocess now. On a true return,
+ * also fills in the shell_data structure.
+ */
+int telnet_shell_ok(Telnet telnet, struct shell_data *shdata);
+
+#endif /* FIXME_TELNET_H */