1*9a747e4fSDavid du Colombier #include <u.h> 2*9a747e4fSDavid du Colombier #include <libc.h> 3*9a747e4fSDavid du Colombier #include <fcall.h> 4*9a747e4fSDavid du Colombier #include <thread.h> 5*9a747e4fSDavid du Colombier #include <9p.h> 6*9a747e4fSDavid du Colombier #include "dat.h" 7*9a747e4fSDavid du Colombier 8*9a747e4fSDavid du Colombier void usage(void)9*9a747e4fSDavid du Colombierusage(void) 10*9a747e4fSDavid du Colombier { 11*9a747e4fSDavid du Colombier fprint(2, "usage: execnet [-n exec] [/net]\n"); 12*9a747e4fSDavid du Colombier exits("usage"); 13*9a747e4fSDavid du Colombier } 14*9a747e4fSDavid du Colombier 15*9a747e4fSDavid du Colombier void threadmain(int argc,char ** argv)16*9a747e4fSDavid du Colombierthreadmain(int argc, char **argv) 17*9a747e4fSDavid du Colombier { 18*9a747e4fSDavid du Colombier char *net; 19*9a747e4fSDavid du Colombier 20*9a747e4fSDavid du Colombier //extern long _threaddebuglevel; 21*9a747e4fSDavid du Colombier //_threaddebuglevel = 1<<20; /* DBGNOTE */ 22*9a747e4fSDavid du Colombier 23*9a747e4fSDavid du Colombier rfork(RFNOTEG); 24*9a747e4fSDavid du Colombier ARGBEGIN{ 25*9a747e4fSDavid du Colombier case 'D': 26*9a747e4fSDavid du Colombier chatty9p++; 27*9a747e4fSDavid du Colombier break; 28*9a747e4fSDavid du Colombier case 'n': 29*9a747e4fSDavid du Colombier setexecname(EARGF(usage())); 30*9a747e4fSDavid du Colombier break; 31*9a747e4fSDavid du Colombier }ARGEND 32*9a747e4fSDavid du Colombier 33*9a747e4fSDavid du Colombier switch(argc){ 34*9a747e4fSDavid du Colombier default: 35*9a747e4fSDavid du Colombier usage(); 36*9a747e4fSDavid du Colombier case 0: 37*9a747e4fSDavid du Colombier net = "/net"; 38*9a747e4fSDavid du Colombier break; 39*9a747e4fSDavid du Colombier case 1: 40*9a747e4fSDavid du Colombier net = argv[0]; 41*9a747e4fSDavid du Colombier break; 42*9a747e4fSDavid du Colombier } 43*9a747e4fSDavid du Colombier 44*9a747e4fSDavid du Colombier quotefmtinstall(); 45*9a747e4fSDavid du Colombier 46*9a747e4fSDavid du Colombier initfs(); 47*9a747e4fSDavid du Colombier threadpostmountsrv(&fs, nil, net, MBEFORE); 48*9a747e4fSDavid du Colombier threadexits(nil); 49*9a747e4fSDavid du Colombier } 50*9a747e4fSDavid du Colombier 51*9a747e4fSDavid du Colombier 52