ctermid(3s)
NAME
ctermid − generate file name for terminal
SYNTAX
#include <stdio.h>
char *ctermid(s)
char *s;
DESCRIPTION
The ctermid subroutine generates the path name of the controlling terminal for the current process, and stores it in a string.
If s is a NULL pointer, the string is stored in an internal static area (contents of which are overwritten at the next call to ctermid, and the address of which is returned). Otherwise, s is assumed to point to a character array of at least L_ctermid elements; the path name is placed in this array and the value of s is returned. The constant L_ctermid is defined in the <stdio.h> header file.
NOTES
The difference between ctermid subroutine and ttyname(3) is that the ttyname subroutine must be handed a file descriptor and returns the actual name of the terminal associated with that file descriptor, while ctermid returns a string ( /dev/tty ) that will refer to the terminal if used as a file name. Thus, ttyname is useful only if the process already has at least one file open to a terminal.