phantasmal_dgd_v1/
phantasmal_dgd_v1/bin/
phantasmal_dgd_v1/doc/
phantasmal_dgd_v1/mud/doc/
phantasmal_dgd_v1/mud/doc/api/
phantasmal_dgd_v1/mud/doc/kernel/
phantasmal_dgd_v1/mud/doc/kernel/hook/
phantasmal_dgd_v1/mud/doc/kernel/lfun/
phantasmal_dgd_v1/mud/include/
phantasmal_dgd_v1/mud/include/kernel/
phantasmal_dgd_v1/mud/kernel/lib/
phantasmal_dgd_v1/mud/kernel/lib/api/
phantasmal_dgd_v1/mud/kernel/obj/
phantasmal_dgd_v1/mud/kernel/sys/
phantasmal_dgd_v1/mud/tmp/
phantasmal_dgd_v1/mud/usr/System/
phantasmal_dgd_v1/mud/usr/System/keys/
phantasmal_dgd_v1/mud/usr/System/obj/
phantasmal_dgd_v1/mud/usr/System/open/lib/
phantasmal_dgd_v1/mud/usr/common/data/
phantasmal_dgd_v1/mud/usr/common/lib/parsed/
phantasmal_dgd_v1/mud/usr/common/obj/telopt/
phantasmal_dgd_v1/mud/usr/common/obj/ustate/
phantasmal_dgd_v1/mud/usr/game/
phantasmal_dgd_v1/mud/usr/game/include/
phantasmal_dgd_v1/mud/usr/game/obj/
phantasmal_dgd_v1/mud/usr/game/object/
phantasmal_dgd_v1/mud/usr/game/object/stuff/
phantasmal_dgd_v1/mud/usr/game/sys/
phantasmal_dgd_v1/mud/usr/game/text/
phantasmal_dgd_v1/mud/usr/game/users/
phantasmal_dgd_v1/src/host/
phantasmal_dgd_v1/src/host/beos/
phantasmal_dgd_v1/src/host/mac/
phantasmal_dgd_v1/src/host/unix/
phantasmal_dgd_v1/src/host/win32/res/
phantasmal_dgd_v1/src/kfun/
phantasmal_dgd_v1/src/lpc/
phantasmal_dgd_v1/src/parser/
/* 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) {
}