.TH GETUSER 3 | |
.SH NAME | |
getuser, sysname \- get user or system name | |
.SH SYNOPSIS | |
.B #include <u.h> | |
.br | |
.B #include <libc.h> | |
.PP | |
.B | |
char* getuser(void) | |
.PP | |
.B | |
char* sysname(void) | |
.SH DESCRIPTION | |
.I Getuser | |
returns a pointer to static data which contains the | |
null-terminated | |
name of the user who | |
owns the current process. | |
.I Getuser | |
calls | |
.IR getuid (2) | |
and then reads | |
.B /etc/passwd | |
to find the corresponding name. | |
.PP | |
.I Sysname | |
returns a pointer to static data which contains the name | |
of the machine on which the current process is running. | |
.I Sysname | |
looks first for an environment variable | |
.BR $sysname . | |
If there is no such variable, | |
.I sysname | |
calls | |
.IR gethostname (2) | |
and truncates the returned name at the first dot. | |
If | |
.I gethostname | |
fails, | |
.I sysname | |
returns the default name | |
.LR gnot . | |
.PP | |
Unlike | |
.IR getuser , | |
.I sysname | |
caches the string, deriving the host name only once. | |
.SH SOURCE | |
.B \*9/src/lib9/getuser.c | |
.br | |
.B \*9/src/lib9/sysname.c |