getpass(3) Library Functions Manual getpass(3)
NAME
getpass - Reads a password
LIBRARY
Standard C Library (libc.so, libc.a)
SYNOPSIS
#include <unistd.h>
char *getpass(
const char *prompt);
STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:
getpass(): XSH4.2
Refer to the standards(5) reference page for more information about industry standards and associated tags.
PARAMETERS
Points to the prompt string that is written to stderr.
DESCRIPTION
The getpass() function opens the process' controlling terminal file, flushes output, disables echoing, and reads up to a newline character
or an end-of-file (EOF) character. The terminal state is then restored and the controlling terminal is closed.
If the getpass() function is interrupted by the SIGINT signal, the terminal state is restored before the signal is delivered to the calling
process.
NOTES
[Tru64 UNIX] The getpass() function is not threadsafe because it manipulates global signal state.
The getpass() function is scheduled to be withdrawn from a future version of the X/Open CAE Specification.
RETURN VALUES
Upon successful completion, the getpass() function returns a pointer string of no more than PASS_MAX bytes plus a terminating null value.
This return value points to data that is overwritten by successive calls. If the controlling terminal file cannot be opened, the terminal
state is restored and a null pointer is returned.
ERRORS
The getpass() function sets errno to the specified values for the following conditions: [Tru64 UNIX] Search permission is denied on a com-
ponent of the pathname prefix; or the file exists and the permissions specified by the mode parameter are denied; or the file does not
exist and write permission is denied for the parent directory of the file to be created. The function was interrupted by a signal that was
caught. Too many file descriptors are currently open in the calling process (exceeding OPEN_MAX).
[Tru64 UNIX] Either the OPEN_MAX value or the per-process soft descriptor limit is checked. Too many files are currently open in
the system. [Tru64 UNIX] The named file does not exist or the path parameter points to an empty string. The process does not have
a controlling terminal.
RELATED INFORMATION
Functions: fopen(3).
Files: tty(7), termios(4).
Standards: standards(5) delim off
getpass(3)