.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
