# #include #include #include #include #include #include "task.h" #include "telnet.h" extern in_name gt_host(); #define WAITCLS 5 /* close wait time */ struct ucb ucb; task *TNsend; /* telnet data sending task */ int dbg = FALSE; /* debugging flag */ main(argc, argv) int argc; char *argv[]; { if (!main_init(argc, argv)) { printf ("usage: %s [-d] [-p ] host\n", argv[0]); exit(1); } tel_init(); gt_usr(); } main_init(argc, argv) register int argc; register char *argv[]; { register int i; in_name fhost; unshort fport = TELNET_ICP; extern int wr_usr (), opn_usr (), cls_usr (), tmo_usr (); extern int fcls_usr (), spc_usr (); for (i = 1; i < argc && argv[i][0] == '-'; i++) { switch (argv[i][1]) { case 'p': /* foreign port */ if (++i >= argc) return (FALSE); if (sscanf (argv[i], "%d", &fport) != 1) return (FALSE); break; case 'd': /* debug on */ dbg = TRUE; tcpdebug (dbg); setbuf (stdout, 0); break; default: return (FALSE); } } argc -= (i - 1); argv += (i - 1); if ((fhost = gt_host(argc, argv)) == NULL) return(FALSE); pr_banner(); printf ("Trying..."); tcp_init(512, 0, opn_usr, wr_usr, cls_usr, fcls_usr, tmo_usr, spc_usr); TNsend = tk_cur; /* save our task name */ tcp_open(fhost, fport, 1000); tk_yield (); return(TRUE); }