summaryrefslogtreecommitdiffstats
path: root/libexec
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1995-08-01 13:12:24 +0000
committerjkh <jkh@FreeBSD.org>1995-08-01 13:12:24 +0000
commit7653865894105d645b8602d444bd2201cd96822a (patch)
treecd2927fc137883a6d7553f4b065bedadba4b4827 /libexec
parent4c3d7b54ab8ca4a0b809a982aa2244df7c7d3e31 (diff)
downloadFreeBSD-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.511
-rw-r--r--libexec/getty/main.c28
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('%');
OpenPOWER on IntegriCloud