ttyslot(3)
- NetBSD Manual Pages
TTYNAME(3) NetBSD Library Functions Manual TTYNAME(3)
NAME
ttyname, isatty, ttyslot -- get name of associated terminal (tty) from
file descriptor
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <unistd.h>
char *
ttyname(int fd);
int
isatty(int fd);
#include <stdlib.h>
int
ttyslot();
DESCRIPTION
These functions operate on the system file descriptors for terminal type
devices. These descriptors are not related to the standard I/O FILE
typedef, but refer to the special device files found in /dev and named
/dev/ttyxx and for which an entry exists in the initialization file
/etc/ttys (see ttys(5)), or for pseudo-terminal devices created in ptyfs
and named /dev/pts/n.
The isatty() function determines if the file descriptor fd refers to a
valid terminal type device.
The ttyname() function gets the related device name of a file descriptor
for which isatty() is true.
The ttyslot() function fetches the current process' control terminal num-
ber from the ttys(5) file entry. If the terminal is a pseudo-terminal,
and there is no special entry in the ttys(5) file for it, the slot number
returned is 1 + (last slot number) + minor(tty). This will return a con-
sistent and unique number for each pseudo-terminal device without requir-
ing one to enumerate all of them in ttys(5).
RETURN VALUES
The ttyname() function returns the null terminated name if the device is
found and isatty() is true; otherwise a NULL pointer is returned and
errno is set to indicate the error.
The isatty() function returns 1 if fd is associated with a terminal
device; otherwise it returns 0 and errno is set to indicate the error.
The ttyslot() function returns the unit number of the device file if
found; otherwise the value zero is returned.
FILES
/dev/*
/etc/ttys
ERRORS
The ttyname() and isatty() functions will fail if:
[EBADF] The fd argument is not a valid file descriptor.
[ENOTTY] The fd argument does not refer to a terminal device.
SEE ALSO
ioctl(2), ttys(5)
STANDARDS
The ttyname() and isatty() functions conform to ISO/IEC 9945-1:1990
(``POSIX.1'').
HISTORY
A isatty(), ttyname(), and ttyslot() function appeared in Version 7 AT&T
UNIX.
BUGS
The ttyname() function leaves its result in an internal static object and
returns a pointer to that object. Subsequent calls to ttyname() will
modify the same object.
NetBSD 3.1 November 11, 2004 NetBSD 3.1
Powered by man-cgi (2024-03-20).
Maintained for NetBSD
by Kimmo Suominen.
Based on man-cgi by Panagiotis Christias.