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.0.1 November 11, 2004 NetBSD 3.0.1
Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.