From fab9c1d80f173bf7b65f539466d141ef6b34d638 Mon Sep 17 00:00:00 2001 From: Giacomo Tesio Date: Fri, 20 Oct 2017 00:55:05 +0200 Subject: [PATCH] libc: introduce The new header envvars.h contains the names of commonly used environment variables, such as $user, $ifs, $path and so on. These defines are useful for Jehanne core applications that use them to comunicate some values. They are not strictly required, but having such defines we can easily change the naming convention (from lowercase to uppercase). --- sys/include/envvars.h | 44 ++++++++++++++++++++++++++++++ sys/include/libc.h | 2 -- sys/src/cmd/acme/acme.c | 7 +++-- sys/src/cmd/acme/aux/win/main.c | 3 +- sys/src/cmd/acme/exec.c | 1 + sys/src/cmd/auth/as.c | 2 +- sys/src/cmd/auth/cron.c | 2 +- sys/src/cmd/auth/factotum/util.c | 3 +- sys/src/cmd/auth/login.c | 32 ++++++++++++---------- sys/src/cmd/auth/netkey.c | 2 +- sys/src/cmd/auth/secstore/secchk.c | 4 +-- sys/src/cmd/awk/tran.c | 1 + sys/src/cmd/cpu.c | 7 +++-- sys/src/cmd/disk/mkfs.c | 3 +- sys/src/cmd/exportfs/exportfs.c | 3 +- sys/src/cmd/hget.c | 1 + sys/src/cmd/hmi/vga/main.c | 1 + sys/src/cmd/import.c | 3 +- sys/src/cmd/ip/dhcpclient.c | 6 +++- sys/src/cmd/ip/dhcpd/dhcpd.c | 3 +- sys/src/cmd/ip/ipconfig/main.c | 5 ++-- sys/src/cmd/ip/listen.c | 3 +- sys/src/cmd/ip/listen1.c | 1 + sys/src/cmd/ip/timesync.c | 3 +- sys/src/cmd/mc.c | 9 +++--- sys/src/cmd/ndb/cs.c | 3 +- sys/src/cmd/ndb/dblookup.c | 1 + sys/src/cmd/ndb/inform.c | 5 ++-- sys/src/cmd/rc/rc.h | 9 +----- sys/src/cmd/rio/fsys.c | 3 +- sys/src/cmd/rio/rio.c | 3 +- sys/src/cmd/sam/plan9.c | 1 - sys/src/cmd/sam/sam.c | 2 +- sys/src/cmd/sam/sam.h | 2 +- sys/src/cmd/samterm/plan9.c | 1 + sys/src/cmd/stats.c | 3 +- sys/src/kern/amd64/main.c | 7 +++-- sys/src/kern/boot/boot.c | 1 + sys/src/kern/boot/bootauth.c | 5 ++-- sys/src/lib/auth/newns.c | 5 ++-- sys/src/lib/authsrv/readnvram.c | 3 +- sys/src/lib/disk/proto.c | 1 + sys/src/lib/draw/newwindow.c | 3 +- sys/src/lib/draw/scroll.c | 1 + sys/src/lib/ndb/ndbopen.c | 1 + sys/src/lib/plumb/mesg.c | 1 + sys/src/lib/posix/environment.c | 1 + 47 files changed, 144 insertions(+), 69 deletions(-) create mode 100644 sys/include/envvars.h diff --git a/sys/include/envvars.h b/sys/include/envvars.h new file mode 100644 index 0000000..65a3ad5 --- /dev/null +++ b/sys/include/envvars.h @@ -0,0 +1,44 @@ +/* + * This file is part of Jehanne. + * + * Copyright (C) 2017 Giacomo Tesio + * + * Jehanne is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, version 2 of the License. + * + * Jehanne is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Jehanne. If not, see . + */ + +/* This file defines the names of a few environment variables shared + * among the userspace tools provided by Jehanne. + * + * It must not provide defines for variables used by commonly installed + * softwares, just the one used by the core tools, the one required + * to boot a minimal system. + */ + +#define ENV_APID "apid" +#define ENV_USER "user" +#define ENV_HOME "home" +#define ENV_IFS "ifs" +#define ENV_PATH "path" +#define ENV_PID "pid" +#define ENV_PROMPT "prompt" +#define ENV_STATUS "status" +#define ENV_CDPATH "cdpath" +#define ENV_CPUTYPE "cputype" +#define ENV_SERVICE "service" +#define ENV_SYSNAME "sysname" +#define ENV_OBJTYPE "objtype" + +#define ENV_WSYS "wsys" + +extern char* jehanne_getenv(const char*); +extern int jehanne_putenv(const char*, const char*); diff --git a/sys/include/libc.h b/sys/include/libc.h index 31c504f..d8d81c9 100644 --- a/sys/include/libc.h +++ b/sys/include/libc.h @@ -325,7 +325,6 @@ extern int jehanne_encodefmt(Fmt*); extern void jehanne_exits(const char*) __attribute__ ((noreturn)); extern double jehanne_frexp(double, int*); extern uintptr_t jehanne_getcallerpc(void); -extern char* jehanne_getenv(const char*); extern int jehanne_getfields(char*, char**, int, int, const char*); extern int jehanne_gettokens(char *, char **, int, const char *); extern char* jehanne_getuser(void); @@ -344,7 +343,6 @@ extern void jehanne_perror(const char*); extern int jehanne_pipe(int pipes[2]); extern int jehanne_postnote(int, int, const char *); extern double jehanne_pow10(int); -extern int jehanne_putenv(const char*, const char*); extern void jehanne_qsort(void*, long, int, int (*)(const void*, const void*)); extern void* jehanne_bsearch(const void* key, const void* base, size_t nmemb, size_t size, diff --git a/sys/src/cmd/acme/acme.c b/sys/src/cmd/acme/acme.c index 1373d9d..e3b9c0f 100644 --- a/sys/src/cmd/acme/acme.c +++ b/sys/src/cmd/acme/acme.c @@ -9,6 +9,7 @@ #include #include +#include #include #include #include @@ -124,9 +125,9 @@ threadmain(int argc, char *argv[]) fontnames[1] = estrdup(fontnames[1]); quotefmtinstall(); - cputype = getenv("cputype"); - objtype = getenv("objtype"); - home = getenv("home"); + cputype = getenv(ENV_CPUTYPE); + objtype = getenv(ENV_OBJTYPE); + home = getenv(ENV_HOME); p = getenv("tabstop"); if(p != nil){ maxtab = strtoul(p, nil, 0); diff --git a/sys/src/cmd/acme/aux/win/main.c b/sys/src/cmd/acme/aux/win/main.c index c68b3a9..799168a 100644 --- a/sys/src/cmd/acme/aux/win/main.c +++ b/sys/src/cmd/acme/aux/win/main.c @@ -9,6 +9,7 @@ #include #include +#include #include #include #include <9P2000.h> @@ -61,7 +62,7 @@ threadmain(int argc, char *argv[]) av = emalloc(3*sizeof(char*)); av[0] = "rc"; av[1] = "-i"; - name = getenv("sysname"); + name = getenv(ENV_SYSNAME); }else{ av = argv; name = utfrrune(av[0], '/'); diff --git a/sys/src/cmd/acme/exec.c b/sys/src/cmd/acme/exec.c index f6ff946..911f37f 100644 --- a/sys/src/cmd/acme/exec.c +++ b/sys/src/cmd/acme/exec.c @@ -9,6 +9,7 @@ #include #include +#include #include #include #include diff --git a/sys/src/cmd/auth/as.c b/sys/src/cmd/auth/as.c index 51a45cb..6bb4762 100644 --- a/sys/src/cmd/auth/as.c +++ b/sys/src/cmd/auth/as.c @@ -63,7 +63,7 @@ runas(char *user, char *cmd) { if(becomeuser(user) < 0) sysfatal("can't change uid for %s: %r", user); - putenv("service", "rx"); + putenv(ENV_SERVICE, "rx"); execl("/bin/rc", "rc", "-lc", cmd, nil); sysfatal("exec /bin/rc: %r"); } diff --git a/sys/src/cmd/auth/cron.c b/sys/src/cmd/auth/cron.c index e8aa75e..8c5d4ab 100644 --- a/sys/src/cmd/auth/cron.c +++ b/sys/src/cmd/auth/cron.c @@ -568,7 +568,7 @@ rexec(User *user, Job *j) open("/dev/null", OWRITE); if(strcmp(j->host, "local") == 0){ - putenv("service", "rx"); + putenv(ENV_SERVICE, "rx"); execl("/bin/rc", "rc", "-lc", buf, nil); } else { execl("/bin/rx", "rx", j->host, buf, nil); diff --git a/sys/src/cmd/auth/factotum/util.c b/sys/src/cmd/auth/factotum/util.c index 6a19de4..25ead5d 100644 --- a/sys/src/cmd/auth/factotum/util.c +++ b/sys/src/cmd/auth/factotum/util.c @@ -1,3 +1,4 @@ +#include #include "dat.h" //static char secstore[100]; /* server name */ // NOT USED @@ -712,7 +713,7 @@ promptforhostowner(void) char owner[64], *p; /* hack for bitsy; can't prompt during boot */ - if(p = getenv("user")){ + if(p = getenv(ENV_USER)){ writehostowner(p); free(p); return; diff --git a/sys/src/cmd/auth/login.c b/sys/src/cmd/auth/login.c index a213438..c61185c 100644 --- a/sys/src/cmd/auth/login.c +++ b/sys/src/cmd/auth/login.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -70,10 +71,12 @@ void setenv(char *var, char *val) { int fd; + char buf[128+4]; - fd = ocreate(var, OWRITE, 0644); + snprint(buf, sizeof(buf), "#e/%s", var); + fd = ocreate(buf, OWRITE, 0644); if(fd < 0) - print("init: can't open %s\n", var); + print("init: can't open %s\n", buf); else{ fprint(fd, val); close(fd); @@ -126,7 +129,7 @@ getauthdom(void) if(authdom != nil) return authdom; - sysname = getenv("sysname"); + sysname = getenv(ENV_SYSNAME); if(sysname == nil) return strdup("cs.bell-labs.com"); @@ -209,7 +212,7 @@ main(int argc, char *argv[]) rfork(RFENVG|RFNAMEG); - service = getenv("service"); + service = getenv(ENV_SERVICE); if(strcmp(service, "cpu") == 0) fprint(2, "login: warning: running on a cpu server!\n"); if(argc != 1){ @@ -239,24 +242,23 @@ main(int argc, char *argv[]) mountfactotum(srvname); /* set up a new environment */ - cputype = getenv("cputype"); - sysname = getenv("sysname"); + cputype = getenv(ENV_CPUTYPE); + sysname = getenv(ENV_SYSNAME); tz = getenv("timezone"); rfork(RFCENVG); - setenv("#e/service", "con"); - setenv("#e/user", user); + setenv(ENV_SERVICE, "con"); + setenv(ENV_USER, user); snprint(home, sizeof(home), "/usr/%s", user); - setenv("#e/home", home); - setenv("#e/cputype", cputype); - setenv("#e/objtype", cputype); + setenv(ENV_HOME, home); + setenv(ENV_CPUTYPE, cputype); + setenv(ENV_OBJTYPE, cputype); if(sysname != nil) - setenv("#e/sysname", sysname); + setenv(ENV_SYSNAME, sysname); if(tz != nil) - setenv("#e/timezone", tz); + setenv("timezone", tz); /* go to new home directory */ - snprint(buf, sizeof(buf), "/usr/%s", user); - if(chdir(buf) < 0) + if(chdir(home) < 0) chdir("/"); /* read profile and start interactive rc */ diff --git a/sys/src/cmd/auth/netkey.c b/sys/src/cmd/auth/netkey.c index f5c6747..43f506b 100644 --- a/sys/src/cmd/auth/netkey.c +++ b/sys/src/cmd/auth/netkey.c @@ -26,7 +26,7 @@ main(int argc, char *argv[]) if(argc) usage(); - s = getenv("service"); + s = getenv(ENV_SERVICE); if(s && strcmp(s, "cpu") == 0){ fprint(2, "netkey must not be run on the cpu server\n"); exits("boofhead"); diff --git a/sys/src/cmd/auth/secstore/secchk.c b/sys/src/cmd/auth/secstore/secchk.c index 4c138b3..4157487 100644 --- a/sys/src/cmd/auth/secstore/secchk.c +++ b/sys/src/cmd/auth/secstore/secchk.c @@ -25,7 +25,7 @@ main(int argc, char **argv) syslog(0, "secstore", "no /lib/ndb/local"); db = ndbcat(db, db2); - print("user=%s\n", getenv("user")); - print("%s\n", secureidcheck(getenv("user"), argv[1])); + print("%s=%s\n", ENV_USER, getenv(ENV_USER)); + print("%s\n", secureidcheck(getenv(ENV_USER), argv[1])); exits(0); } diff --git a/sys/src/cmd/awk/tran.c b/sys/src/cmd/awk/tran.c index a911145..1917f5e 100644 --- a/sys/src/cmd/awk/tran.c +++ b/sys/src/cmd/awk/tran.c @@ -24,6 +24,7 @@ THIS SOFTWARE. #include #include +#include #include #include #include "awk.h" diff --git a/sys/src/cmd/cpu.c b/sys/src/cmd/cpu.c index e2df8f1..5648e5a 100644 --- a/sys/src/cmd/cpu.c +++ b/sys/src/cmd/cpu.c @@ -16,6 +16,7 @@ #include #include +#include #include #include #include <9P2000.h> @@ -301,7 +302,7 @@ remoteside(int old) int i, n, fd, badchdir, gotcmd; rfork(RFENVG); - putenv("service", "cpu"); + putenv(ENV_SERVICE, "cpu"); fd = 0; /* negotiate authentication mechanism */ @@ -319,9 +320,9 @@ remoteside(int old) fatal(1, "srvauth"); /* Set environment values for the user */ - putenv("user", user); + putenv(ENV_USER, user); sprint(home, "/usr/%s", user); - putenv("home", home); + putenv(ENV_HOME, home); /* Now collect invoking cpu's current directory or possibly a command */ gotcmd = 0; diff --git a/sys/src/cmd/disk/mkfs.c b/sys/src/cmd/disk/mkfs.c index ee00621..723d474 100644 --- a/sys/src/cmd/disk/mkfs.c +++ b/sys/src/cmd/disk/mkfs.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -115,7 +116,7 @@ main(int argc, char **argv) zbuf = malloc(buflen); memset(zbuf, 0, buflen); - cputype = getenv("cputype"); + cputype = getenv(ENV_CPUTYPE); if(cputype == 0) cputype = "386"; diff --git a/sys/src/cmd/exportfs/exportfs.c b/sys/src/cmd/exportfs/exportfs.c index 7042f1b..253d60f 100644 --- a/sys/src/cmd/exportfs/exportfs.c +++ b/sys/src/cmd/exportfs/exportfs.c @@ -12,6 +12,7 @@ */ #include #include +#include #include #include <9P2000.h> #include @@ -213,7 +214,7 @@ main(int argc, char **argv) fatal("exportfs by none disallowed"); if(auth_chuid(ai, nsfile) < 0) fatal("auth_chuid: %r"); - putenv("service", "exportfs"); + putenv(ENV_SERVICE, "exportfs"); } if(srvfdfile){ diff --git a/sys/src/cmd/hget.c b/sys/src/cmd/hget.c index d33b21f..0e6451e 100644 --- a/sys/src/cmd/hget.c +++ b/sys/src/cmd/hget.c @@ -9,6 +9,7 @@ #include #include +#include #include #include #include diff --git a/sys/src/cmd/hmi/vga/main.c b/sys/src/cmd/hmi/vga/main.c index 19324cb..35740ec 100644 --- a/sys/src/cmd/hmi/vga/main.c +++ b/sys/src/cmd/hmi/vga/main.c @@ -9,6 +9,7 @@ #include #include +#include #include #include "pci.h" diff --git a/sys/src/cmd/import.c b/sys/src/cmd/import.c index 2b39370..6cd5cb8 100644 --- a/sys/src/cmd/import.c +++ b/sys/src/cmd/import.c @@ -9,6 +9,7 @@ #include #include +#include #include #include @@ -363,7 +364,7 @@ passive(void) sysfatal("auth_proxy: %r"); if(auth_chuid(ai, nil) < 0) sysfatal("auth_chuid: %r"); - putenv("service", "import"); + putenv(ENV_SERVICE, "import"); fd = dup(0, -1); close(0); diff --git a/sys/src/cmd/ip/dhcpclient.c b/sys/src/cmd/ip/dhcpclient.c index 4797bf6..b91c258 100644 --- a/sys/src/cmd/ip/dhcpclient.c +++ b/sys/src/cmd/ip/dhcpclient.c @@ -9,6 +9,7 @@ #include #include +#include #include #include "dhcp.h" @@ -210,6 +211,7 @@ void dhcpinit(void) { int fd; + char *sysname; dhcp.state = Sinit; dhcp.timeout = 4; @@ -222,7 +224,9 @@ dhcpinit(void) dhcp.xid = time(0)*getpid(); srand(dhcp.xid); - sprint(dhcp.cid, "%s.%d", getenv("sysname"), getpid()); + sysname = getenv(ENV_SYSNAME); + sprint(dhcp.cid, "%s.%d", sysname, getpid()); + free(sysname); } void diff --git a/sys/src/cmd/ip/dhcpd/dhcpd.c b/sys/src/cmd/ip/dhcpd/dhcpd.c index d0cb965..715219f 100644 --- a/sys/src/cmd/ip/dhcpd/dhcpd.c +++ b/sys/src/cmd/ip/dhcpd/dhcpd.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -1360,7 +1361,7 @@ readsysname(void) return name; } } - p = getenv("sysname"); + p = getenv(ENV_SYSNAME); if(p == nil || *p == 0) return "unknown"; return p; diff --git a/sys/src/cmd/ip/ipconfig/main.c b/sys/src/cmd/ip/ipconfig/main.c index d057674..b7874ed 100644 --- a/sys/src/cmd/ip/ipconfig/main.c +++ b/sys/src/cmd/ip/ipconfig/main.c @@ -3,6 +3,7 @@ */ #include #include +#include #include #include #include @@ -390,7 +391,7 @@ init(void) nsec(); /* make sure time file is open before forking */ setnetmtpt(conf.mpoint, sizeof conf.mpoint, nil); - conf.cputype = getenv("cputype"); + conf.cputype = getenv(ENV_CPUTYPE); if(conf.cputype == nil) conf.cputype = "386"; @@ -410,7 +411,7 @@ parseargs(int argc, char **argv) /* default to any host name we already have */ if(*conf.hostname == 0){ - p = getenv("sysname"); + p = getenv(ENV_SYSNAME); if(p == nil || *p == 0) p = sysname(); if(p != nil) diff --git a/sys/src/cmd/ip/listen.c b/sys/src/cmd/ip/listen.c index 638a9b3..4f1dec5 100644 --- a/sys/src/cmd/ip/listen.c +++ b/sys/src/cmd/ip/listen.c @@ -9,6 +9,7 @@ #include #include +#include #include #define NAMELEN 64 /* reasonable upper limit for name elements */ @@ -97,7 +98,7 @@ main(int argc, char *argv[]) quiet = 0; immutable = 0; argv0 = argv[0]; - cpu = getenv("cputype"); + cpu = getenv(ENV_CPUTYPE); if(cpu == 0) error("can't get cputype"); diff --git a/sys/src/cmd/ip/listen1.c b/sys/src/cmd/ip/listen1.c index 360f73a..a35d48b 100644 --- a/sys/src/cmd/ip/listen1.c +++ b/sys/src/cmd/ip/listen1.c @@ -9,6 +9,7 @@ #include #include +#include #include int verbose; diff --git a/sys/src/cmd/ip/timesync.c b/sys/src/cmd/ip/timesync.c index 4984979..67c71fd 100644 --- a/sys/src/cmd/ip/timesync.c +++ b/sys/src/cmd/ip/timesync.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -249,7 +250,7 @@ main(int argc, char **argv) fmtinstall('E', eipfmt); fmtinstall('I', eipfmt); fmtinstall('V', eipfmt); - sysid = getenv("sysname"); + sysid = getenv(ENV_SYSNAME); /* detach from the current namespace */ if(debug) diff --git a/sys/src/cmd/mc.c b/sys/src/cmd/mc.c index d85269d..57e4e20 100644 --- a/sys/src/cmd/mc.c +++ b/sys/src/cmd/mc.c @@ -16,10 +16,11 @@ * -t suppresses expanding multiple blanks into tabs * */ -#include -#include -#include -#include +#include +#include +#include +#include +#include #define WIDTH 80 #define TAB 4 diff --git a/sys/src/cmd/ndb/cs.c b/sys/src/cmd/ndb/cs.c index 2be341c..e5455af 100644 --- a/sys/src/cmd/ndb/cs.c +++ b/sys/src/cmd/ndb/cs.c @@ -1,5 +1,6 @@ #include #include +#include #include #include <9P2000.h> #include @@ -1032,7 +1033,7 @@ ipid(void) * is the ip address. ignore that. * */ - p = getenv("sysname"); + p = getenv(ENV_SYSNAME); if(p && *p){ attr = ipattr(p); if(strcmp(attr, "ip") != 0) diff --git a/sys/src/cmd/ndb/dblookup.c b/sys/src/cmd/ndb/dblookup.c index e10a9b4..6cd40b7 100644 --- a/sys/src/cmd/ndb/dblookup.c +++ b/sys/src/cmd/ndb/dblookup.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include diff --git a/sys/src/cmd/ndb/inform.c b/sys/src/cmd/ndb/inform.c index 56340af..6da572c 100644 --- a/sys/src/cmd/ndb/inform.c +++ b/sys/src/cmd/ndb/inform.c @@ -1,6 +1,7 @@ /* RFC2136 DNS inform - necessary for Win2k3 DNS servers */ #include #include +#include #include #include #include @@ -123,8 +124,8 @@ main(int argc, char *argv[]) if(argc != 0) usage(); - if((sysname = getenv("sysname")) == nil) - sysfatal("$sysname not set"); + if((sysname = getenv(ENV_SYSNAME)) == nil) + sysfatal("$%s not set", ENV_SYSNAME); if((db = ndbopen(nil)) == nil) sysfatal("can't open ndb: %r"); diff --git a/sys/src/cmd/rc/rc.h b/sys/src/cmd/rc/rc.h index 3b694d7..4314f04 100644 --- a/sys/src/cmd/rc/rc.h +++ b/sys/src/cmd/rc/rc.h @@ -8,16 +8,9 @@ */ #include #include +#include #define ENV_RCARGLIST "*" -#define ENV_APID "apid" -#define ENV_HOME "home" -#define ENV_IFS "ifs" -#define ENV_PATH "path" -#define ENV_PID "pid" -#define ENV_PROMPT "prompt" -#define ENV_STATUS "status" -#define ENV_CDPATH "cdpath" #define ENV_RCNAME "rcname" #define ENV_RCCMD "rccmd" diff --git a/sys/src/cmd/rio/fsys.c b/sys/src/cmd/rio/fsys.c index 32eba12..302f537 100644 --- a/sys/src/cmd/rio/fsys.c +++ b/sys/src/cmd/rio/fsys.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -167,7 +168,7 @@ filsysinit(Channel *cxfidalloc) * Post srv pipe */ snprint(srvpipe, sizeof(srvpipe), "/srv/rio.%s.%d", fs->user, pid); - post(srvpipe, "wsys", fs->cfd); + post(srvpipe, ENV_WSYS, fs->cfd); return fs; diff --git a/sys/src/cmd/rio/rio.c b/sys/src/cmd/rio/rio.c index 5324a90..2bd5040 100644 --- a/sys/src/cmd/rio/rio.c +++ b/sys/src/cmd/rio/rio.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -172,7 +173,7 @@ threadmain(int argc, char *argv[]) maxtab = 4; free(s); - s = getenv("cputype"); + s = getenv(ENV_CPUTYPE); if(s){ snprint(buf, sizeof(buf), "/arch/%s/aux/rio", s); bind(buf, "/cmd", MBEFORE); diff --git a/sys/src/cmd/sam/plan9.c b/sys/src/cmd/sam/plan9.c index adcc3cd..b58ac68 100644 --- a/sys/src/cmd/sam/plan9.c +++ b/sys/src/cmd/sam/plan9.c @@ -26,7 +26,6 @@ Rune *right[]= { char RSAM[] = "sam"; char SAMTERM[] = "/cmd/aux/samterm"; -char HOME[] = "home"; char TMPDIR[] = "/tmp"; char SH[] = "rc"; char SHPATH[] = "/cmd/rc"; diff --git a/sys/src/cmd/sam/sam.c b/sys/src/cmd/sam/sam.c index dbd32d8..dd80f52 100644 --- a/sys/src/cmd/sam/sam.c +++ b/sys/src/cmd/sam/sam.c @@ -83,7 +83,7 @@ void main(int argc, char *argv[]) Strinit0(&rhs); Strinit0(&curwd); Strinit0(&plan9cmd); - home = getenv(HOME); + home = getenv(ENV_HOME); disk = diskinit(); if(home == 0) home = "/"; diff --git a/sys/src/cmd/sam/sam.h b/sys/src/cmd/sam/sam.h index f5bb293..cd9ed71 100644 --- a/sys/src/cmd/sam/sam.h +++ b/sys/src/cmd/sam/sam.h @@ -9,6 +9,7 @@ #include #include +#include #include #include "errors.h" @@ -353,7 +354,6 @@ extern Rune *right[]; extern char RSAM[]; /* system dependent */ extern char SAMTERM[]; -extern char HOME[]; extern char TMPDIR[]; extern char SH[]; extern char SHPATH[]; diff --git a/sys/src/cmd/samterm/plan9.c b/sys/src/cmd/samterm/plan9.c index 9f708e0..e119999 100644 --- a/sys/src/cmd/samterm/plan9.c +++ b/sys/src/cmd/samterm/plan9.c @@ -9,6 +9,7 @@ #include #include +#include #include #include #include diff --git a/sys/src/cmd/stats.c b/sys/src/cmd/stats.c index 56681ab..5f78960 100644 --- a/sys/src/cmd/stats.c +++ b/sys/src/cmd/stats.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -1236,7 +1237,7 @@ main(int argc, char *argv[]) quotefmtinstall(); nmach = 1; - mysysname = getenv("sysname"); + mysysname = getenv(ENV_SYSNAME); if(mysysname == nil){ fprint(2, "stats: can't find $sysname: %r\n"); exits("sysname"); diff --git a/sys/src/kern/amd64/main.c b/sys/src/kern/amd64/main.c index 1c6f14b..eb45f9d 100644 --- a/sys/src/kern/amd64/main.c +++ b/sys/src/kern/amd64/main.c @@ -22,6 +22,7 @@ #include "fns.h" #include "ureg.h" #include "pool.h" +#include "envvars.h" #include "io.h" #include "apic.h" @@ -374,11 +375,11 @@ init0(void) jehanne_snprint(buf, sizeof(buf), "%s %s", "AMD64", conffile); loadenv(oargc, oargv); ksetenv("terminal", buf, 0); - ksetenv("cputype", "amd64", 0); + ksetenv(ENV_CPUTYPE, "amd64", 0); if(cpuserver) - ksetenv("service", "cpu", 0); + ksetenv(ENV_SERVICE, "cpu", 0); else - ksetenv("service", "terminal", 0); + ksetenv(ENV_SERVICE, "terminal", 0); poperror(); } kproc("alarm", alarmkproc, 0); diff --git a/sys/src/kern/boot/boot.c b/sys/src/kern/boot/boot.c index b420152..6a039a1 100644 --- a/sys/src/kern/boot/boot.c +++ b/sys/src/kern/boot/boot.c @@ -9,6 +9,7 @@ #include #include +#include #include #include <9P2000.h> #include "../boot/boot.h" diff --git a/sys/src/kern/boot/bootauth.c b/sys/src/kern/boot/bootauth.c index 64c3b61..1d357eb 100644 --- a/sys/src/kern/boot/bootauth.c +++ b/sys/src/kern/boot/bootauth.c @@ -9,6 +9,7 @@ #include #include +#include #include #include <9P2000.h> #include "../boot/boot.h" @@ -22,7 +23,7 @@ authentication(int cpuflag) char *argv[16], **av; int ac; - if(jehanne_access(factotumPath, AEXEC) < 0 || jehanne_getenv("user") != nil){ + if(jehanne_access(factotumPath, AEXEC) < 0 || jehanne_getenv(ENV_USER) != nil){ glenda(); return; } @@ -69,7 +70,7 @@ glenda(void) int fd; char *s; - s = jehanne_getenv("user"); + s = jehanne_getenv(ENV_USER); if(s == nil) s = "glenda"; diff --git a/sys/src/lib/auth/newns.c b/sys/src/lib/auth/newns.c index 203ba45..f0d7d2f 100644 --- a/sys/src/lib/auth/newns.c +++ b/sys/src/lib/auth/newns.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include @@ -65,9 +66,9 @@ buildns(int newns, char *user, char *file) } if(newns){ rfork(RFENVG|RFCNAMEG); - setenv("user", user); + setenv(ENV_USER, user); snprint(home, sizeof home, "/usr/%s", user); - setenv("home", home); + setenv(ENV_HOME, home); } cdroot = nsfile(newns ? "newns" : "addns", b, rpc); diff --git a/sys/src/lib/authsrv/readnvram.c b/sys/src/lib/authsrv/readnvram.c index 8beebbb..9d90a37 100644 --- a/sys/src/lib/authsrv/readnvram.c +++ b/sys/src/lib/authsrv/readnvram.c @@ -1,5 +1,6 @@ #include #include +#include #include static int32_t finddosfile(int, char*); @@ -137,7 +138,7 @@ findnvram(Nvrwhere *locp) if (nvrfile == nil) nvrfile = getenv("nvram"); if (cputype == nil) - cputype = getenv("cputype"); + cputype = getenv(ENV_CPUTYPE); if(cputype == nil) cputype = strdup("mips"); if(strcmp(cputype, "386")==0 || strcmp(cputype, "amd64")==0 || strcmp(cputype, "alpha")==0) { diff --git a/sys/src/lib/disk/proto.c b/sys/src/lib/disk/proto.c index 90f7faa..509152c 100644 --- a/sys/src/lib/disk/proto.c +++ b/sys/src/lib/disk/proto.c @@ -1,5 +1,6 @@ #include #include +#include #include #include #include <9P2000.h> diff --git a/sys/src/lib/draw/newwindow.c b/sys/src/lib/draw/newwindow.c index b15c557..aa4b69e 100644 --- a/sys/src/lib/draw/newwindow.c +++ b/sys/src/lib/draw/newwindow.c @@ -9,6 +9,7 @@ #include #include +#include #include /* Connect us to new window, if possible */ @@ -19,7 +20,7 @@ newwindow(char *str) char *wsys; char buf[256]; - wsys = getenv("wsys"); + wsys = getenv(ENV_WSYS); if(wsys == nil) return -1; fd = open(wsys, ORDWR); diff --git a/sys/src/lib/draw/scroll.c b/sys/src/lib/draw/scroll.c index 7253671..a0142ea 100644 --- a/sys/src/lib/draw/scroll.c +++ b/sys/src/lib/draw/scroll.c @@ -9,6 +9,7 @@ #include #include +#include #include int diff --git a/sys/src/lib/ndb/ndbopen.c b/sys/src/lib/ndb/ndbopen.c index c10b22b..a099290 100644 --- a/sys/src/lib/ndb/ndbopen.c +++ b/sys/src/lib/ndb/ndbopen.c @@ -9,6 +9,7 @@ #include #include +#include #include #include #include diff --git a/sys/src/lib/plumb/mesg.c b/sys/src/lib/plumb/mesg.c index d3c4284..6be963d 100644 --- a/sys/src/lib/plumb/mesg.c +++ b/sys/src/lib/plumb/mesg.c @@ -9,6 +9,7 @@ #include #include +#include #include "plumb.h" int diff --git a/sys/src/lib/posix/environment.c b/sys/src/lib/posix/environment.c index 7cee478..3d701e9 100644 --- a/sys/src/lib/posix/environment.c +++ b/sys/src/lib/posix/environment.c @@ -17,6 +17,7 @@ */ #include #include +#include #include #include "internal.h"