/* This is a TELOPT handler to emulate default DGD handling of telnet
options. It also includes some other good default option-handling
behavior. You can specifically use it to handle appropriate
subsets of TELOPT options. */
#include "phantasmal/telnet.h"
void telnet_do(int option) {
switch(option) {
case TELOPT_TM:
previous_object()->send_telnet_option(TP_WONT, TELOPT_TM);
break;
case TELOPT_SGA:
previous_object()->should_suppress_ga(1);
previous_object()->send_telnet_option(TP_WILL, TELOPT_SGA);
break;
}
}
void telnet_dont(int option) {
switch(option) {
case TELOPT_SGA:
previous_object()->should_suppress_ga(0);
previous_object()->send_telnet_option(TP_WONT, TELOPT_SGA);
break;
}
}
void telnet_will(int option) {
string tmp;
switch(option) {
case TELOPT_LINEMODE:
tmp = " ";
tmp[0] = LM_MODE;
tmp[1] = MODE_EDIT;
previous_object()->send_telnet_subnegotiation(TELOPT_LINEMODE, tmp);
break;
}
}
void telnet_wont(int option) {
}
void telnet_sb(int option, string str) {
}