Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include <u.h>
2
#include <libc.h>
3
#include <ip.h>
4
 
5
void
6
usage(void)
7
{
8
	fprint(2, "usage: %s [-x netmtpt]\n", argv0);
9
	exits("usage");
10
}
11
 
12
void
13
main(int argc, char **argv)
14
{
15
	int fd, cfd, n;
16
	char buf[4096], data[128], devdir[40], net[32];
17
 
18
	setnetmtpt(net, sizeof net, nil);
19
 
20
	ARGBEGIN{
21
	case 'x':
22
		setnetmtpt(net, sizeof net, EARGF(usage()));
23
		break;
24
	}ARGEND;
25
 
26
	sprint(data, "%s/udp!*!echo", net);
27
	cfd = announce(data, devdir);
28
	if(cfd < 0)
29
		sysfatal("can't announce %s: %r", data);
30
	if(fprint(cfd, "headers") < 0)
31
		sysfatal("can't set header mode: %r");
32
 
33
	sprint(data, "%s/data", devdir);
34
	fd = open(data, ORDWR);
35
	if(fd < 0)
36
		sysfatal("open %s: %r", data);
37
	while ((n = read(fd, buf, sizeof buf)) > 0)
38
		write(fd, buf, n);
39
	if (n < 0)
40
		sysfatal("error reading: %r");
41
	exits(0);
42
}