ttyslot(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
TTYNAME(3)              NetBSD Library Functions Manual             TTYNAME(3)

ttyname, ttyname_r, isatty, ttyslot -- get name of associated terminal (tty) from file descriptor
Standard C Library (libc, -lc)
#include <unistd.h> char * ttyname(int fd); int ttyname_r(int fd, char *buf, size_t len); int isatty(int fd); #include <stdlib.h> int ttyslot();
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 ttyname_r() is the reentrant version of the above, and it places the results in buf. If there is not enough space to place the results (indicated by len), then it returns -1 and errno is set to indicate the error. 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).
The ttyname() function returns the NUL-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 ttyname_r() functions returns 0 on success and -1 on failure with errno 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.
/dev/* /etc/ttys
The ttyname(), ttyname_r(), 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. The ttyname_r() function will also fail if: [ERANGE] The buffer provided is not large enough to fit the result. [ENOENT] The terminal device is not found. This can happen if the device node has been removed after it was opened.
ioctl(2), ttys(5)
The ttyname() and isatty() functions conform to ISO/IEC 9945-1:1990 (``POSIX.1'').
isatty(), ttyname(), and ttyslot() functions appeared in Version 7 AT&T UNIX.
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 4.0 September 25, 2005 NetBSD 4.0
Powered by man-cgi (2021-06-01). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.