#include #include #include #include #include "dat.h" #include "fns.h" void usage(void) { fprint(2, "usage: %s -L\n", argv0); fprint(2, " %s -l local-address\n", argv0); fprint(2, " %s -r remote-address\n", argv0); threadexitsall("usage"); } void threadmain(int argc, char *argv[]) { int Lflag, lflag, rflag; char myaddr[128], theiraddr[128]; Audio *a; Client *c; Lflag = lflag = rflag = 0; ARGBEGIN{ case 'L': if(Lflag || lflag || rflag) usage(); Lflag=1; break; case 'l': if(Lflag || lflag || rflag) usage(); lflag=1; snprint(myaddr, sizeof(myaddr), "%s", netmkaddr(EARGF(usage()), "udp", "56789")); break; case 'r': if(Lflag || lflag || rflag) usage(); rflag=1; snprint(theiraddr, sizeof(theiraddr), "%s", netmkaddr(EARGF(usage()), "udp", "56789")); break; default: usage(); }ARGEND fmtinstall('H', encodefmt); fmtinstall('I', eipfmt); if((Lflag | lflag | rflag) == 0 || argc != 0) usage(); if(Lflag){ c = clientinit(nil, nil); } else if(lflag) { c = clientinit(myaddr, nil); } else { c = clientinit(nil, theiraddr); } a = audioinit(nil); clientrun(c, a); threadexitsall(nil); }