#include
#define DO 0xfd
#define WONT 0xfc
#define WILL 0xfb
#define DONT 0xfe
#define CMD 0xff
#define CMD_ECHO 1
#define CMD_WINDOW_SIZE 31
#define IAC 255
#define SB 250
#define SE 240
#define BUFLEN 200
#define ESCAPE 27
void negotiate(int sock, unsigned char *buf, int len) {
int i;
const char* option_code[350];
option_code[00] = "TRANSMIT-BINARY";
option_code[01] = "ECHO";
option_code[03] = "SUPPRESS-GO-AHEAD";
option_code[05] = "STATUS";
option_code[06] = "TIMING-MARK";
option_code[10] = "NAOCRD";
option_code[11] = "NAOHTS";
option_code[12] = "NAOHTD";
option_code[13] = "NAOFFD";
option_code[14] = "NAOVTS";
option_code[15] = "NAOVTD";
option_code[16] = "NAOLFD";
option_code[17] = "EXTEND-ASCII";
option_code[18] = "LOGOUT";
option_code[19] = "BM";
option_code[20] = "DET";
option_code[23] = "SEND-LOCATION";
option_code[24] = "TERMINAL-TYPE";
option_code[25] = "END-OF-RECORD";
option_code[26] = "TUID";
option_code[27] = "OUTMRK";
option_code[28] = "TTYLOC&#