xref: /csrg-svn/old/berknet/nettest.c (revision 8201)
1*8201Smckusick static char sccsid[] = "@(#)nettest.c	4.1	(Berkeley)	09/12/82";
2*8201Smckusick 
3*8201Smckusick /*
4*8201Smckusick 
5*8201Smckusick 	nettest.c
6*8201Smckusick 
7*8201Smckusick 	fire up two daemons with pipes in between them
8*8201Smckusick 	currently, one is the "r" machine, the other the "v" machine
9*8201Smckusick */
10*8201Smckusick # include "defs.h"
11*8201Smckusick 
12*8201Smckusick # define NETD "/usr/net/bin/netdaemon"
13*8201Smckusick 
main(argc,argv)14*8201Smckusick main(argc,argv)
15*8201Smckusick   char **argv; {
16*8201Smckusick 	int pip1[2],pip2[2];
17*8201Smckusick 	char b1[20],b2[20],b3[20];
18*8201Smckusick 	char *margv[30];
19*8201Smckusick 	int i;
20*8201Smckusick 	debugflg = 1;
21*8201Smckusick 	for(i =0; i < argc; i++)margv[i] = argv[i];
22*8201Smckusick 	pipe(pip1);
23*8201Smckusick 	pipe(pip2);
24*8201Smckusick 	if(fork()){
25*8201Smckusick 		/* read pip1[0], write pip2[1] */
26*8201Smckusick 		close(pip1[1]); close(pip2[0]);
27*8201Smckusick 		sprintf(b1,"-r%d",pip1[0]);
28*8201Smckusick 		sprintf(b2,"-w%d",pip2[1]);
29*8201Smckusick 		margv[i++] = b1;
30*8201Smckusick 		margv[i++] = b2;
31*8201Smckusick 		margv[i++] = "-mr";
32*8201Smckusick 		margv[i] = 0;
33*8201Smckusick 		mexecv(NETD,margv);
34*8201Smckusick 		}
35*8201Smckusick 	/* read pip2[0], write pip1[1] */
36*8201Smckusick 	close(pip2[1]); close(pip1[0]);
37*8201Smckusick 	sleep(5);
38*8201Smckusick 	sprintf(b1,"-r%d",pip2[0]);
39*8201Smckusick 	sprintf(b2,"-w%d",pip1[1]);
40*8201Smckusick 	margv[i++] = b1;
41*8201Smckusick 	margv[i++] = b2;
42*8201Smckusick 	margv[i++] = "-mv";
43*8201Smckusick 	margv[i] = 0;
44*8201Smckusick 	mexecv(NETD,margv);
45*8201Smckusick 	}
46