1implement Nsbuild; 2 3include "sys.m"; 4 sys: Sys; 5include "draw.m"; 6 7include "newns.m"; 8 9stderr: ref Sys->FD; 10 11Nsbuild: module 12{ 13 init: fn(ctxt: ref Draw->Context, argv: list of string); 14}; 15 16init(nil: ref Draw->Context, argv: list of string) 17{ 18 sys = load Sys Sys->PATH; 19 stderr = sys->fildes(2); 20 21 ns := load Newns "/dis/lib/newns.dis"; 22 if(ns == nil) { 23 sys->fprint(stderr, "nsbuild: can't load %s: %r", Newns->PATH); 24 raise "fail:load"; 25 } 26 27 if(len argv > 2) { 28 sys->fprint(stderr, "Usage: nsbuild [nsfile]\n"); 29 raise "fail:usage"; 30 } 31 32 nsfile := "namespace"; 33 if(len argv == 2) 34 nsfile = hd tl argv; 35 36 e := ns->newns(nil, nsfile); 37 if(e != ""){ 38 sys->fprint(stderr, "nsbuild: error building namespace: %s\n", e); 39 raise "fail:newns"; 40 } 41} 42