DragonFly On-Line Manual Pages

Search: Section:  

TTYNAME(3)	      DragonFly 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); int ttyslot(void);


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).) 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() function returns the name stored in a static buffer which will be overwritten on subsequent calls. The ttyname_r() function takes a buffer and length as arguments to avoid this problem. The ttyslot() function fetches the current process' control terminal num- ber from the ttys(5) file entry.


The isatty() function returns 1 if the file descriptor refers to a valid terminal device and 0 otherwise. The ttyname() function returns the null terminated name if the device is found and isatty() is true; otherwise a NULL pointer is returned. The ttyname_r() function returns 0 if successful. Otherwise an error number is returned. 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 may fail and return the following error codes: [EBADF] The fd is not a valid open file descriptor. [ENOTTY] The fd is not associated with a terminal. [ERANGE] The bufsize argument is smaller than the length of the string to be returned.


ioctl(2), ttys(5)


The isatty(), ttyname(), and ttyslot() functions appeared in Version 7 AT&T UNIX. The ttyname_r() function appeared in FreeBSD 6.0. DragonFly 5.3 March 22, 2009 DragonFly 5.3

Search: Section: