ttyname_r()

Get a fully qualified pathname for a file

Synopsis:

#include <unistd.h>

int ttyname_r( int fildes, 
               char* name, 
               size_t namesize );

Arguments:

fildes
A file descriptor that's associated with the file whose name you want to get.
name
A pointer to a buffer where the function can store the path name.
namesize
The size of the buffer.

Library:

libc

Use the -l c option to qcc to link against this library. This library is usually included automatically.

Description:

The ttyname_r() function stores the null-terminated pathname of the terminal associated with the file descriptor fildes in the character array referenced by name. The array is namesize characters long and should have space for the name and the terminating NULL character.

Returns:

Zero for success, or an error number.

Errors:

EAGAIN
The device driver was in use by another process, or the driver was unable to carry out the request due to an outstanding command in progress.
EBADF
The fildes argument isn't a valid file descriptor.
EINTR
The function was interrupted by a signal.
ENOSYS
The ttyname_r() function isn't implemented for the filesystem specified by filedes.
ENOTTY
The fildes argument doesn't refer to a tty.
EPERM
The process doesn't have sufficient permission to carry out the requested command.
ERANGE
The value of namesize is smaller than the length of the string to be returned, including the terminating null character.

Classification:

POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler No
Signal handler Yes
Thread Yes