Importing usr.bin/tty
Replaces commands/tty. No Minix-specific changes needed. Change-Id: I7ed8589a8cfb0f4fedab6eb760e321876db73502
This commit is contained in:
parent
ed31a90dd5
commit
b828b0feb7
10 changed files with 166 additions and 67 deletions
|
@ -27,7 +27,7 @@ SUBDIR= add_route arp ash at backup btrace \
|
||||||
stty svclog svrctl swifi synctree sysenv \
|
stty svclog svrctl swifi synctree sysenv \
|
||||||
syslogd tail tcpd tcpdp tcpstat telnet \
|
syslogd tail tcpd tcpdp tcpstat telnet \
|
||||||
telnetd term termcap tget time touch \
|
telnetd term termcap tget time touch \
|
||||||
truncate tty udpstat umount uname \
|
truncate udpstat umount uname \
|
||||||
unstack update uud uue version vol \
|
unstack update uud uue version vol \
|
||||||
whereis which writeisofs fetch \
|
whereis which writeisofs fetch \
|
||||||
zdump zmodem pkgin_cd pkgin_all \
|
zdump zmodem pkgin_cd pkgin_all \
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
PROG= tty
|
|
||||||
MAN=
|
|
||||||
|
|
||||||
.include <bsd.prog.mk>
|
|
|
@ -1,30 +0,0 @@
|
||||||
/* tty.c - Return tty name Author: Freeman P. Pascal IV */
|
|
||||||
|
|
||||||
/* Minor changes to make tty conform to POSIX1003.2 Draft10
|
|
||||||
Thomas Brupbacher (tobr@mw.lpc.ethz.ch) */
|
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
int main(int argc, char **argv);
|
|
||||||
|
|
||||||
int main(argc, argv)
|
|
||||||
int argc;
|
|
||||||
char *argv[];
|
|
||||||
{
|
|
||||||
char *tty_name;
|
|
||||||
|
|
||||||
tty_name = ttyname(STDIN_FILENO);
|
|
||||||
if ((argc == 2) && (!strcmp(argv[1], "-s")))
|
|
||||||
/* Do nothing - shhh! we're in silent mode */ ;
|
|
||||||
else
|
|
||||||
puts((tty_name != NULL) ? tty_name : "not a tty");
|
|
||||||
|
|
||||||
if (isatty(STDIN_FILENO) == 0)
|
|
||||||
return(1);
|
|
||||||
else
|
|
||||||
return(0);
|
|
||||||
}
|
|
|
@ -19,7 +19,7 @@ MAN= ash.1 at.1 \
|
||||||
stty.1 svc.1 svrctl.1 \
|
stty.1 svc.1 svrctl.1 \
|
||||||
synctree.1 sysenv.1 sz.1 tail.1 telnet.1 template.1 \
|
synctree.1 sysenv.1 sz.1 tail.1 telnet.1 template.1 \
|
||||||
term.1 termcap.1 tget.1 time.1 true.1 \
|
term.1 termcap.1 tget.1 time.1 true.1 \
|
||||||
truncate.1 tty.1 umount.1 uname.1 \
|
truncate.1 umount.1 uname.1 \
|
||||||
uud.1 uue.1 vol.1 whereis.1 which.1 \
|
uud.1 uue.1 vol.1 whereis.1 which.1 \
|
||||||
yap.1 linkfarm.1 pkg_view.1
|
yap.1 linkfarm.1 pkg_view.1
|
||||||
|
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
.TH TTY 1
|
|
||||||
.SH NAME
|
|
||||||
tty \- print the device name of this tty
|
|
||||||
.SH SYNOPSIS
|
|
||||||
\fBtty \fR[\fB\-s\fR]\fR
|
|
||||||
.br
|
|
||||||
.de FL
|
|
||||||
.TP
|
|
||||||
\\fB\\$1\\fR
|
|
||||||
\\$2
|
|
||||||
..
|
|
||||||
.de EX
|
|
||||||
.TP 20
|
|
||||||
\\fB\\$1\\fR
|
|
||||||
# \\$2
|
|
||||||
..
|
|
||||||
.SH OPTIONS
|
|
||||||
.TP 5
|
|
||||||
.B \-s
|
|
||||||
# Silent mode, only the exit status is affected.
|
|
||||||
.SH EXAMPLES
|
|
||||||
.TP 20
|
|
||||||
.B tty
|
|
||||||
# Print the tty name
|
|
||||||
.SH DESCRIPTION
|
|
||||||
.PP
|
|
||||||
Print the name of the controlling tty. If the flag \fB\-s\fR is given,
|
|
||||||
\fItty\fR is equivalent to the call \fBtest \-t 0\fR.
|
|
||||||
.SH "SEE ALSO"
|
|
||||||
.BR ttyname (3).
|
|
|
@ -215,6 +215,7 @@
|
||||||
2012/10/17 12:00:00,usr.bin/tput
|
2012/10/17 12:00:00,usr.bin/tput
|
||||||
2012/10/17 12:00:00,usr.bin/tr
|
2012/10/17 12:00:00,usr.bin/tr
|
||||||
2012/10/17 12:00:00,usr.bin/tsort
|
2012/10/17 12:00:00,usr.bin/tsort
|
||||||
|
2012/10/17 12:00:00,usr.bin/tty
|
||||||
2010/10/06 07:59:18,usr.bin/uniq
|
2010/10/06 07:59:18,usr.bin/uniq
|
||||||
2013/10/23 12:00:00,usr.bin/units
|
2013/10/23 12:00:00,usr.bin/units
|
||||||
2012/10/17 12:00:00,usr.bin/unvis
|
2012/10/17 12:00:00,usr.bin/unvis
|
||||||
|
|
|
@ -26,7 +26,7 @@ SUBDIR= asa \
|
||||||
shuffle sed seq \
|
shuffle sed seq \
|
||||||
sort split stat su \
|
sort split stat su \
|
||||||
tee tic tput \
|
tee tic tput \
|
||||||
tr tsort unexpand \
|
tr tsort tty unexpand \
|
||||||
toproto \
|
toproto \
|
||||||
uniq units unvis unzip users \
|
uniq units unvis unzip users \
|
||||||
uuidgen vis \
|
uuidgen vis \
|
||||||
|
|
6
usr.bin/tty/Makefile
Normal file
6
usr.bin/tty/Makefile
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# $NetBSD: Makefile,v 1.3 1994/12/07 00:46:54 jtc Exp $
|
||||||
|
# @(#)Makefile 8.1 (Berkeley) 6/6/93
|
||||||
|
|
||||||
|
PROG= tty
|
||||||
|
|
||||||
|
.include <bsd.prog.mk>
|
75
usr.bin/tty/tty.1
Normal file
75
usr.bin/tty/tty.1
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
.\" $NetBSD: tty.1,v 1.8 2003/08/07 11:16:51 agc Exp $
|
||||||
|
.\"
|
||||||
|
.\" Copyright (c) 1990, 1993
|
||||||
|
.\" The Regents of the University of California. All rights reserved.
|
||||||
|
.\"
|
||||||
|
.\" This code is derived from software contributed to Berkeley by
|
||||||
|
.\" the Institute of Electrical and Electronics Engineers, Inc.
|
||||||
|
.\"
|
||||||
|
.\" Redistribution and use in source and binary forms, with or without
|
||||||
|
.\" modification, are permitted provided that the following conditions
|
||||||
|
.\" are met:
|
||||||
|
.\" 1. Redistributions of source code must retain the above copyright
|
||||||
|
.\" notice, this list of conditions and the following disclaimer.
|
||||||
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
.\" notice, this list of conditions and the following disclaimer in the
|
||||||
|
.\" documentation and/or other materials provided with the distribution.
|
||||||
|
.\" 3. Neither the name of the University nor the names of its contributors
|
||||||
|
.\" may be used to endorse or promote products derived from this software
|
||||||
|
.\" without specific prior written permission.
|
||||||
|
.\"
|
||||||
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||||
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
.\" SUCH DAMAGE.
|
||||||
|
.\"
|
||||||
|
.\" @(#)tty.1 8.1 (Berkeley) 6/6/93
|
||||||
|
.\"
|
||||||
|
.Dd June 6, 1993
|
||||||
|
.Dt TTY 1
|
||||||
|
.Os
|
||||||
|
.Sh NAME
|
||||||
|
.Nm tty
|
||||||
|
.Nd return user's terminal name
|
||||||
|
.Sh SYNOPSIS
|
||||||
|
.Nm
|
||||||
|
.Op Fl s
|
||||||
|
.Sh DESCRIPTION
|
||||||
|
The
|
||||||
|
.Nm
|
||||||
|
utility writes the name of the terminal attached to standard input
|
||||||
|
to standard output.
|
||||||
|
The name that is written is the string returned by
|
||||||
|
.Xr ttyname 3 .
|
||||||
|
If the standard input is not a terminal, the message ``not a tty''
|
||||||
|
is written.
|
||||||
|
The options are as follows:
|
||||||
|
.Bl -tag -width Ds
|
||||||
|
.It Fl s
|
||||||
|
Don't write the terminal name; only the exit status is affected
|
||||||
|
when this option is specified.
|
||||||
|
The
|
||||||
|
.Fl s
|
||||||
|
option is deprecated in favor of the
|
||||||
|
.Dq Li "test -t 0"
|
||||||
|
command.
|
||||||
|
.El
|
||||||
|
.Pp
|
||||||
|
.Nm
|
||||||
|
exits 0 if the standard input is a terminal, 1 if the standard input is
|
||||||
|
not a terminal, and \*[Gt]1 if an error occurs.
|
||||||
|
.Sh SEE ALSO
|
||||||
|
.Xr test 1 ,
|
||||||
|
.Xr ttyname 3
|
||||||
|
.Sh STANDARDS
|
||||||
|
The
|
||||||
|
.Nm
|
||||||
|
utility conforms to
|
||||||
|
.St -p1003.2-92 .
|
81
usr.bin/tty/tty.c
Normal file
81
usr.bin/tty/tty.c
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
/* $NetBSD: tty.c,v 1.8 2011/09/06 18:34:57 joerg Exp $ */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copyright (c) 1988, 1993
|
||||||
|
* The Regents of the University of California. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* 3. Neither the name of the University nor the names of its contributors
|
||||||
|
* may be used to endorse or promote products derived from this software
|
||||||
|
* without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <sys/cdefs.h>
|
||||||
|
#ifndef lint
|
||||||
|
__COPYRIGHT("@(#) Copyright (c) 1988, 1993\
|
||||||
|
The Regents of the University of California. All rights reserved.");
|
||||||
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#ifndef lint
|
||||||
|
#if 0
|
||||||
|
static char sccsid[] = "@(#)tty.c 8.1 (Berkeley) 6/6/93";
|
||||||
|
#endif
|
||||||
|
__RCSID("$NetBSD: tty.c,v 1.8 2011/09/06 18:34:57 joerg Exp $");
|
||||||
|
#endif /* not lint */
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
__dead static void usage(void);
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
int ch, sflag;
|
||||||
|
char *t;
|
||||||
|
|
||||||
|
sflag = 0;
|
||||||
|
while ((ch = getopt(argc, argv, "s")) != -1) {
|
||||||
|
switch((char)ch) {
|
||||||
|
case 's':
|
||||||
|
sflag = 1;
|
||||||
|
break;
|
||||||
|
case '?':
|
||||||
|
default:
|
||||||
|
usage();
|
||||||
|
/* NOTREACHED */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
t = ttyname(STDIN_FILENO);
|
||||||
|
if (!sflag)
|
||||||
|
puts(t ? t : "not a tty");
|
||||||
|
exit(t ? 0 : 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
usage(void)
|
||||||
|
{
|
||||||
|
fprintf(stderr, "usage: tty [-s]\n");
|
||||||
|
exit(2);
|
||||||
|
}
|
Loading…
Reference in a new issue