OSDN Git Service

LDP: Update original to LDP v3.79
[linuxjm/LDP_man-pages.git] / original / man3 / getpass.3
index bc9c854..5405a56 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright (c) 2000 Andries Brouwer (aeb@cwi.nl)
 .\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
 .\" This is free documentation; you can redistribute it and/or
 .\" modify it under the terms of the GNU General Public License as
 .\" published by the Free Software Foundation; either version 2 of
 .\" GNU General Public License for more details.
 .\"
 .\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
 .\"
-.TH GETPASS 3  2000-12-05 "Linux" "Linux Programmer's Manual"
+.TH GETPASS 3  2014-08-19 "Linux" "Linux Programmer's Manual"
 .SH NAME
 getpass \- get a password
 .SH SYNOPSIS
 .B #include <unistd.h>
 .sp
-.BI "char *getpass( const char *" prompt );
+.BI "char *getpass(const char *" prompt );
+.sp
+.in -4n
+Feature Test Macro Requirements for glibc (see
+.BR feature_test_macros (7)):
+.in
+.sp
+.BR getpass ():
+.ad l
+.RS 4
+.PD 0
+.TP 4
+Since glibc 2.2.2:
+.nf
+_BSD_SOURCE ||
+    (_XOPEN_SOURCE\ >=\ 500 ||
+        _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED) &&
+    !(_POSIX_C_SOURCE\ >=\ 200112L || _XOPEN_SOURCE\ >=\ 600)
+.fi
+.TP 4
+Before glibc 2.2.2:
+none
+.PD
+.RE
+.ad b
 .SH DESCRIPTION
 This function is obsolete.
 Do not use it.
+If you want to read input without terminal echoing enabled,
+see the description of the
+.I ECHO
+flag in
+.BR termios (3).
 .PP
 The
 .BR getpass ()
@@ -41,7 +71,7 @@ turns off echoing, reads one line (the "password"),
 restores the terminal state and closes
 .I /dev/tty
 again.
-.SH "RETURN VALUE"
+.SH RETURN VALUE
 The function
 .BR getpass ()
 returns a pointer to a static buffer containing (the first
@@ -63,32 +93,37 @@ The process does not have a controlling terminal.
 .\" A
 .\" .BR getpass ()
 .\" function appeared in Version 7 AT&T UNIX.
-.SH "CONFORMING TO"
+.SH ATTRIBUTES
+.SS Multithreading (see pthreads(7))
+The
+.BR getpass ()
+function is not thread-safe.
+.SH CONFORMING TO
 Present in SUSv2, but marked LEGACY.
 Removed in POSIX.1-2001.
 .SH NOTES
-For libc4 and libc5, the prompt is not written to
-.I /dev/tty
-but to
-.IR stderr .
-Moreover, if
-.I /dev/tty
-cannot be opened, the password is read from
-.IR stdin .
-The static buffer has length 128 so that only the first 127
-bytes of the password are returned.
-While reading the password, signal generation
-.RB ( SIGINT ,
-.BR SIGQUIT ,
-.BR SIGSTOP ,
-.BR SIGTSTP )
-is disabled and the corresponding characters
-(usually control-C, control-\e, control-Z and control-Y)
-are transmitted as part of the password.
-Since libc 5.4.19 also line editing is disabled, so that also
-backspace and the like will be seen as part of the password.
+.\" For libc4 and libc5, the prompt is not written to
+.\" .I /dev/tty
+.\" but to
+.\" .IR stderr .
+.\" Moreover, if
+.\" .I /dev/tty
+.\" cannot be opened, the password is read from
+.\" .IR stdin .
+.\" The static buffer has length 128 so that only the first 127
+.\" bytes of the password are returned.
+.\" While reading the password, signal generation
+.\" .RB ( SIGINT ,
+.\" .BR SIGQUIT ,
+.\" .BR SIGSTOP ,
+.\" .BR SIGTSTP )
+.\" is disabled and the corresponding characters
+.\" (usually control-C, control-\e, control-Z and control-Y)
+.\" are transmitted as part of the password.
+.\" Since libc 5.4.19 also line editing is disabled, so that also
+.\" backspace and the like will be seen as part of the password.
 .PP
-For glibc2, if
+In the GNU C library implementation, if
 .I /dev/tty
 cannot be opened, the prompt is written to
 .I stderr
@@ -97,7 +132,7 @@ and the password is read from
 There is no limit on the length of the password.
 Line editing is not disabled.
 .PP
-According to the SUSv2, the value of
+According to SUSv2, the value of
 .B PASS_MAX
 must be defined in
 .I <limits.h>
@@ -109,11 +144,11 @@ and
 .BR _SC_PASS_MAX ,
 and the function
 .BR getpass ().
-Libc4 and libc5 have never supported
-.B PASS_MAX
-or
-.BR _SC_PASS_MAX .
-Glibc2 accepts
+.\" Libc4 and libc5 have never supported
+.\" .B PASS_MAX
+.\" or
+.\" .BR _SC_PASS_MAX .
+The glibc version accepts
 .B _SC_PASS_MAX
 and returns
 .B BUFSIZ
@@ -121,5 +156,14 @@ and returns
 .SH BUGS
 The calling process should zero the password as soon as possible to avoid
 leaving the cleartext password visible in the process's address space.
-.SH "SEE ALSO"
+.SH SEE ALSO
 .BR crypt (3)
+.SH COLOPHON
+This page is part of release 3.79 of the Linux
+.I man-pages
+project.
+A description of the project,
+information about reporting bugs,
+and the latest version of this page,
+can be found at
+\%http://www.kernel.org/doc/man\-pages/.