Index: src/cmd/9pserve.c =================================================================== --- src/cmd/9pserve.c (revision 707) +++ src/cmd/9pserve.c (working copy) @@ -136,7 +136,7 @@ void usage(void) { - fprint(2, "usage: 9pserve [-lnv] [-A aname afid] [-M msize] address\n"); + fprint(2, "usage: 9pserve [-c pipe] [-lnv] [-A aname afid] [-M msize] address\n"); fprint(2, "\treads/writes 9P messages on stdin/stdout\n"); threadexitsall("usage"); } @@ -157,6 +157,19 @@ ARGBEGIN{ default: usage(); + case 'c': + { + char* pipename = EARGF(usage()); + printf("pipename=\"%s\"\n", pipename); + + if((fd = dial(pipename, nil, nil, nil)) < 0) + sysfatal("dial %s: %r"); + dup(fd, 0); + dup(fd, 1); + if(fd > 1) + close(fd); + } + break; case 'A': attached = 1; xaname = EARGF(usage());