Hints for porting:
(0) First read the file README

(1) If you don't have the function strstr(), you can use the following:

/*
    strstr function

    copied by krishna sampath from the book "the standard C library" by
    p.j.plauger. this function is unavailable in the tektronix string.h
    file.
    sampath.1@osu.edu, 08/18/1992
*/
#include <stdio.h>
#include <string.h>

char *strstr ( s1, s2 )
char *s1, *s2;
{                           /* find first occurrence of s2[] in s1[] */
   if (*s2 == '\0')
      return ((char *)s1);
   for ( ; (s1 = strchr(s1, *s2)) != NULL; ++s1 )
      {                                      /* match rest of prefix */
         char *sc1, *sc2;

         for ( sc1 = s1, sc2 = s2; ; )
            if ( *++sc2 == '\0' )
               return ( (char *) s1 );
            else if ( *++sc1 != *sc2 )
               break;
      }
   return (NULL);
}

(2) See comments in telnet.c.orig for avoiding busy wait.

(3) It is possible to use xics to connect to ICS form a machine that is not
    linked directly to the internet, provided you have some indirect means
    of communicating with ICS by logging into another machine for instance.
    Since xics execs a process called "telnet" with 2 arguments (viz. the
    hostname and the portnumber), you can simply create a (1-line) shell
    script that will execute the command(s) needed to login to the other
    machine on internet. Place this shell script in your path (ahead of
    the real telnet). When xics is run, it will run your version of telnet
    for you, which will log you in to the machine on internet, from where
    you can login to ICS. There are a couple of problems: (a) you will have
    to use board style 8 only and (b) all lines will be echoed twice on your
    screen. Neither of these is a serious handicap.
