Start development on 386BSD 0.0
[unix-history] / .ref-BSD-4_3_Net_2 / usr / src / lib / libc / gen / ttyname.3
CommitLineData
af359dea
C
1.\" Copyright (c) 1991 The Regents of the University of California.
2.\" All rights reserved.
2264871c 3.\"
af359dea
C
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\" 3. All advertising materials mentioning features or use of this software
13.\" must display the following acknowledgement:
14.\" This product includes software developed by the University of
15.\" California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\" may be used to endorse or promote products derived from this software
18.\" without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\" @(#)ttyname.3 6.2 (Berkeley) 4/19/91
33.\"
34.Dd April 19, 1991
35.Dt TTYNAME 3
36.Os
37.Sh NAME
38.Nm ttyname ,
39.Nm isatty ,
40.Nm ttyslot
41.Nd get name of associated terminal (tty) from file descriptor
42.Sh SYNOPSIS
43.Fd #include <unistd.h>
44.Ft char *
45.Fn ttyname "int fd"
46.Ft int
47.Fn isatty "int fd"
48.Ft int
49.Fn ttyslot
50.Sh DESCRIPTION
51These functions operate on the system file descriptors for terminal
52type devices. These descriptors are not related to the standard
53.Tn I/O
54.Dv FILE
55typedef, but refer to the special device files found in
56.Pa /dev
57and named
58.Pa /dev/tty Ns Em xx
59and for which an entry exists
60in the initialization file
61.Pa /etc/ttys.
62(See
63.Xr ttys 5 . )
64.Pp
65The
66.Fn isatty
67function
68determines if the file descriptor
69.Fa fd
70refers to a valid
71terminal type device.
72.Pp
73The
74.Fn ttyname
75function
76gets the related device name of
77a file descriptor for which
78.Fn isatty
79is true
80.Pp
81The
82.Fn ttyslot
83function
84fetches the current process' control terminal number from the
85.Xr ttys 5
86file entry.
87.Sh RETURN VALUES
88The
89.Fn ttyname
90function
91returns the null terminated name if the device is found and
92.Fn isatty
93is true; otherwise
94a
95.Dv NULL
96pointer is returned.
97.Pp
98The
99.Fn ttyslot
100function
101returns the unit number of the device file if found; otherwise
102the value zero is returned.
103.Sh FILES
104.Bl -tag -width /etc/ttys -compact
105.It Pa /dev/\(**
106.It Pa /etc/ttys
107.El
108.Sh SEE ALSO
109.Xr ioctl 2 ,
110.Xr ttys 5
111.Sh HISTORY
112A
113.Fn isatty ,
114.Fn ttyname ,
115and
116.Fn ttyslot
117function
118appeared in
119.At v7 .
120.Sh BUGS
121The
122.Fn ttyname
123function leaves its result in an internal static object and returns
124a pointer to that object. Subsequent calls to
125.Fn ttyname
126will modify the same object.