Manual Reference Pages - GET9ROOT (3)
get9root, unsharp - get path to root of Plan 9 tree
char* unsharp(char *path)
This tree of Plan 9 software is conventionally installed in
/usr/local/plan9 but may be installed in other places (for example, users without
the ability to write to
/usr/local may with to install it in their own home directories).
The environment variable
$PLAN9 should contain the path to the root.
Get9root returns a static pointer to the pathname of root, first checking
$PLAN9 and defaulting to
The lack of a fixed location for the Plan 9 tree
makes it difficult to hard-code paths
Unsharp replaces a leading
path with the root of the tree.
Unsharp also replaces a leading
#d with the path to the underlying systems file descriptor dup device,
/dev/fd. The string returned from
unsharp, if different from
path, should be freed with
when no longer needed.
As a convention, programs should never
unsharp paths obtained from user input.
uses this code to find unrooted file names included by plumb rules.
snprint(buf, sizeof buf, "#9/plumb/%s", name);
fd = open(unsharp(buf), OREAD);
Get9root could be smarter about finding the tree when
$PLAN9 is not set.
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.