diff options
author | jkh <jkh@FreeBSD.org> | 1995-08-01 13:12:24 +0000 |
---|---|---|
committer | jkh <jkh@FreeBSD.org> | 1995-08-01 13:12:24 +0000 |
commit | 7653865894105d645b8602d444bd2201cd96822a (patch) | |
tree | cd2927fc137883a6d7553f4b065bedadba4b4827 /libexec | |
parent | 4c3d7b54ab8ca4a0b809a982aa2244df7c7d3e31 (diff) | |
download | FreeBSD-src-7653865894105d645b8602d444bd2201cd96822a.zip FreeBSD-src-7653865894105d645b8602d444bd2201cd96822a.tar.gz |
A useful aid.. Add support for:
%r: current release
%m: machine architecture type (i386 for now)
%s: OS name (FreeBSD)
from uname() in banner string.
Diffstat (limited to 'libexec')
-rw-r--r-- | libexec/getty/gettytab.5 | 11 | ||||
-rw-r--r-- | libexec/getty/main.c | 28 |
2 files changed, 35 insertions, 4 deletions
diff --git a/libexec/getty/gettytab.5 b/libexec/getty/gettytab.5 index db6b1cc..834e979 100644 --- a/libexec/getty/gettytab.5 +++ b/libexec/getty/gettytab.5 @@ -220,10 +220,15 @@ and .Em \&lm may include the character sequence .Em \&%h -or +to include the hostname, .Em \&%t -to obtain -the hostname or tty name respectively. +to obtain the tty name, +.Em \&%s +to obtain the OS type (FreeBSD), +.Em \&%r +to obtain the OS release string or +.Em \&%m +to obtain the machine architecture type. .Pf ( Em %% obtains a single '%' character.) The hostname is normally obtained from the system, diff --git a/libexec/getty/main.c b/libexec/getty/main.c index a161ed5..d0cf1b9 100644 --- a/libexec/getty/main.c +++ b/libexec/getty/main.c @@ -56,6 +56,7 @@ static char sccsid[] = "@(#)main.c 5.16 (Berkeley) 3/27/91"; #include <ctype.h> #include <stdlib.h> #include <string.h> +#include <sys/utsname.h> #include "gettytab.h" #include "pathnames.h" @@ -454,6 +455,7 @@ putf(cp) break; case 'h': + case 'n': puts(editedhost); break; @@ -464,8 +466,32 @@ putf(cp) (void)time(&t); (void)strftime(db, sizeof(db), fmt, localtime(&t)); puts(db); - break; } + break; + + case 's': { + struct utsname name; + + if (uname(&name) != -1) + puts(name.sysname); + } + break; + + case 'r': { + struct utsname name; + + if (uname(&name) != -1) + puts(name.release); + } + break; + + case 'm': { + struct utsname name; + + if (uname(&name) != -1) + puts(name.machine); + } + break; case '%': putchr('%'); |