aboutsummaryrefslogtreecommitdiff
path: root/src/telnet.c
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2015-12-07 17:48:32 -0500
committerFranklin Wei <git@fwei.tk>2015-12-07 17:48:32 -0500
commit0f3bd99c40594c46b5b4bb0603085ec9cc111e0e (patch)
tree0533aa2d245a8bc8aaa652c8c4c039c27504f0f9 /src/telnet.c
parent8bc78787a99efdf4c64032d7fe55905ff995cd98 (diff)
downloadnetcosm-0f3bd99c40594c46b5b4bb0603085ec9cc111e0e.zip
netcosm-0f3bd99c40594c46b5b4bb0603085ec9cc111e0e.tar.gz
netcosm-0f3bd99c40594c46b5b4bb0603085ec9cc111e0e.tar.bz2
netcosm-0f3bd99c40594c46b5b4bb0603085ec9cc111e0e.tar.xz
child-parent communication
Diffstat (limited to 'src/telnet.c')
-rw-r--r--src/telnet.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/telnet.c b/src/telnet.c
index 2e86195..1838b45 100644
--- a/src/telnet.c
+++ b/src/telnet.c
@@ -47,6 +47,24 @@ void telnet_handle_command(const unsigned char *buf)
printf("\n");
}
+void telnet_echo_off(void)
+{
+ const unsigned char seq[] = {
+ IAC, DONT, ECHO,
+ IAC, WILL, ECHO,
+ };
+ out_raw(seq, ARRAYLEN(seq));
+}
+
+void telnet_echo_on(void)
+{
+ const unsigned char seq[] = {
+ IAC, DO, ECHO,
+ IAC, WONT, ECHO,
+ };
+ out_raw(seq, ARRAYLEN(seq));
+}
+
void telnet_init(void)
{
const unsigned char init_seq[] = {
@@ -56,6 +74,8 @@ void telnet_init(void)
IAC, DONT, NAWS,
IAC, WONT, STATUS,
IAC, DONT, STATUS,
+ IAC, DO, ECHO,
+ IAC, WONT, ECHO,
};
out_raw(init_seq, ARRAYLEN(init_seq));
}