xref: /inferno-os/appl/cmd/nsbuild.b (revision 37da2899f40661e3e9631e497da8dc59b971cbd0)
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