ctermid - Generates the pathname for the controlling terminal
Standard C Library (libc.so, libc.a)
Interfaces documented on this reference page conform to industry standards as follows:
ctermid(): XPG4, XPG4-UNIX
Refer to the standards(5) reference page for more information about industry standards and associated tags.
Points to the array into which the ctermid() function copies the string representing the pathname.
The ctermid() function generates a string that, when used as a pathname, refers to the current controlling terminal for the current process. If ctermid() returns a pathname, access to the file is not guaranteed.
The ctermid() function differs from the ttyname() function in that the ttyname() function is supplied a file descriptor and returns the actual name of the terminal associated with that file descriptor, while the ctermid() function returns a string (/dev/tty) that refers to the terminal if used as a filename. Thus, the ttyname() function is useful only if the process already has at least one file open to a terminal.
If the s parameter is not a null pointer, it points to a character array of at least L_ctermid bytes. The pathname is placed in this array and the value of the s parameter is returned. The symbolic constant L_ctermid is defined in the stdio.h header file, and has a value greater than 0 (zero).
If the s parameter is a null pointer, the string is stored in an internal static area and the address is returned. The next call to the ctermid() function overwrites the contents of the internal static area.
If the pathname that would refer to the controlling terminal cannot be determined, or if the function is unsuccessful, the ctermid() function returns an empty string.
Standards: standards(5) delim off