getpass(3)getpass(3)NAMEgetpass - Reads a password
SYNOPSIS
#include <unistd.h>
char *getpass(
const char *prompt );
LIBRARY
Standard C Library (libc)
STANDARDS
Interfaces documented on this reference page conform to industry stan‐
dards 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 ter‐
minal 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 ver‐
sion 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 fol‐
lowing 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.
SEE ALSO
Functions: fopen(3).
Files: tty(7), termios(4).
Standards: standards(5)getpass(3)