// written by Dwayne Fontenot (Jacques)
// last modified: 1992 October 19 (runs on the Basis mudlib)
// This object implements a telnet client (providing a subset of the telnet
// protocol) using STREAM mode of MudOS 0.9 LPC sockets. See the init()
// function // to find out the commands this terminal understands.
// This object may be used from within a MudOS mud to connect to any
// networked server that understands the telnet protocol (including
// another LPmud).
#include <config.h>
#include <mudlib.h>
inherit OBJECT;
inherit "/std/socket/telnet";
#define DISCONNECTED "an internet terminal"
#define CONNECTED "an internet terminal (connected)"
void create()
{
set("short", "@@query_short");
set("long", "@@query_long");
set("id", ({"term", "terminal"}));
set("prevent_drop", "@@query_connected");
/*
ob::create();
*/
telnet::create();
seteuid(geteuid(this_player()));
init_tel_neg();
}
void init()
{
add_action("connect",({"connect", "telnet"}));
add_action("send","send");
add_action("disconnect","disconnect");
add_action("line","line");
add_action("char","char");
}
string query_short() {
if (query_connected()) return CONNECTED;
return DISCONNECTED;
}
string query_long() {
return (query_connected() ? CONNECTED : DISCONNECTED) + "\n";
}
int clean_up() {
socket_shutdown();
return 0;
}