AUSAM/source/S/watch.c
/*
* to do certain things with ttys
*/
char buf[10];
struct
{
int integ;
};
main(argc, argv)
int argc;
char *argv[];
{
register char *p;
register f;
/* get args and cover ones tracks */
if(argc != 2)
{
prints(2, "watch tchar\n");
return 1;
}
else
{
p = "/dev/ttyx";
p[8] = *argv[1];
0177776->integ = 0;
0177774->integ = 'mp';
0177772->integ = 'te';
0177770->integ = 'e\0';
0177766->integ = -1;
}
if((f = open(p, 2)) < 0)
{
perror(p);
return 1;
}
for(; ; )
{
prints(2, "grab, view, share, or connect ? ");
if(read(0, buf, sizeof buf) == 0)
goto out;
switch(buf[0])
{
case 'g':
if(ttygrab(2, f, '\021') < 0)
{
perror(p);
}
break;
case 'v':
if(fork() != 0)
return 0;
if(ttyview(2, f, '\021') < 0)
{
perror(p);
}
goto out;
case 's':
if(ttyshare(2, f, '\021') < 0)
{
perror(p);
}
break;
case 'c':
if(connect(2, f, '\021') < 0)
{
perror(p);
}
break;
default:
goto out;
}
}
out:
prints(2, "\nFinished.\n");
return 0;
}