ldmud-3.3.719/
ldmud-3.3.719/doc/
ldmud-3.3.719/doc/efun.de/
ldmud-3.3.719/doc/efun/
ldmud-3.3.719/doc/man/
ldmud-3.3.719/doc/other/
ldmud-3.3.719/mud/
ldmud-3.3.719/mud/heaven7/
ldmud-3.3.719/mud/lp-245/
ldmud-3.3.719/mud/lp-245/banish/
ldmud-3.3.719/mud/lp-245/doc/
ldmud-3.3.719/mud/lp-245/doc/examples/
ldmud-3.3.719/mud/lp-245/doc/sefun/
ldmud-3.3.719/mud/lp-245/log/
ldmud-3.3.719/mud/lp-245/obj/Go/
ldmud-3.3.719/mud/lp-245/players/lars/
ldmud-3.3.719/mud/lp-245/room/death/
ldmud-3.3.719/mud/lp-245/room/maze1/
ldmud-3.3.719/mud/lp-245/room/sub/
ldmud-3.3.719/mud/lp-245/secure/
ldmud-3.3.719/mud/sticklib/
ldmud-3.3.719/mud/sticklib/src/
ldmud-3.3.719/mudlib/deprecated/
ldmud-3.3.719/mudlib/uni-crasher/
ldmud-3.3.719/pkg/
ldmud-3.3.719/pkg/debugger/
ldmud-3.3.719/pkg/diff/
ldmud-3.3.719/pkg/misc/
ldmud-3.3.719/src/
ldmud-3.3.719/src/autoconf/
ldmud-3.3.719/src/ptmalloc/
ldmud-3.3.719/src/util/
ldmud-3.3.719/src/util/erq/
ldmud-3.3.719/src/util/indent/hosts/next/
ldmud-3.3.719/src/util/xerq/
ldmud-3.3.719/src/util/xerq/lpc/
ldmud-3.3.719/src/util/xerq/lpc/www/
ldmud-3.3.719/test/generic/
ldmud-3.3.719/test/inc/
ldmud-3.3.719/test/t-0000398/
ldmud-3.3.719/test/t-0000548/
ldmud-3.3.719/test/t-030925/
ldmud-3.3.719/test/t-040413/
ldmud-3.3.719/test/t-041124/
ldmud-3.3.719/test/t-language/
#define TELNET_OB     "secure/sockets/telnet_ob"

mapping sessions = ([ ]);

status main(string str) {
  string host;
  int port;
  if (!adminp(this_player()))
   return 0;
  if (!str) {
    if (sessions[this_player()] == 0)
     return
      notify_fail("telnet: Could not find detatched session.\n");
    (void)sessions[this_player()]->reattach();
    return 1;
    }
  if (str == "-q") {
    if (sessions[this_player()] == 0)
     return
      notify_fail("telnet: Could not find session.\n");
    destruct(sessions[this_player()]);
    return 1;
    }
  if (sessions[this_player()])
   return
    notify_fail("telnet: You have a detatched session.\n"
                "Type 'telnet' to reattach to it.\n");
  if (sscanf(str, "%s %d", host, port) != 2)
   host = str, port = 23;
  sessions[this_player()] = clone_object(TELNET_OB);
  (void)sessions[this_player()]->start(host, port);
  return 1;
  }

void help() {
  write("telnet [<address> [<port>] | -q]\n"
        "Telnet to the address given, or reactivate a dormant session.\n"
        "You may only have one session at any given time.\n"
        "Several telnet commands are available, a telnet\n"
        "command starts with the escape character (^[).\n"
        "Use \"^[?\" to get a list of available telnet commands.\n"
        "The \"-q\" option allows you to close a telnet session\n"
        "from the commandline.\n");
  return;
  }

mapping query_sessions() { return copy_mapping(sessions); }