Hauptindex | Abschnitt 3 | English | 日本語 | Optionen |
char *getpass( const char * prompt );
Die Funktion öffnet /dev/tty (das kontrollierende Terminal des Prozesses), zeigt die Zeichenkette prompt an, schaltet die Ausgabe ab, liest die Zeile (das "Paßwort"), restauriert den Status des Terminals und schließt /dev/tty wieder.
Das Paßwort darf bis zu _PASSWORD_LEN (zur Zeit 128) Zeichen lang sein. Alle überzähligen Zeichen und das abschließende Newline-Zeichen werden verworfen. (Dies kann unter Linux anders sein)
ENXIO |
Der Prozeß hat kein kontrollierendes Terminal.
|
Bei glibc2 wird der Prompt auf stderr geschrieben, falls /dev/tty nicht geöffnet werden kann und das Paßwort wird von stdin gelesen. Es gibt keine Begrenzung der Länge des Paßwortes. Editierung der Zeile ist nicht deaktiviert.
Wie in SUSv2 beschrieben ist, muß der Wert von PASS_MAX in <limits.h> definiert sein, falls es kleiner als 8 ist, und auf jeden Fall mit sysconf(_SC_PASS_MAX) in Erfahrung gebracht werden kann. Allerdings verwirft POSIX.2 die Konstanten PASS_MAX und _SC_PASS_MAX sowie die Funktion getpass(). Libc4 and libc5 haben niemals PASS_MAX oder _SC_PASS_MAX unterstützt. Glibc2 akzeptiert _SC_PASS_MAX und gibt BUFSIZ zurück (z.B., 8192).
Der aufrufende Prozess sollte das Paßwort so schnell wie möglich auf Null setzen, um zu vermeiden, das das Paßwort weiter sichtbar in dem Addressraum dieses Prozesses ist.
29 November 1993 | PRINTF (3) | BSD MANPAGE |
Hauptindex | Abschnitt 3 | English | 日本語 | Optionen |
Bitte richten Sie Ihre Kommentare zu diesem Handbuch Seite Service, Ben Bullock. Privacy policy.