Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

getpass - Zeichenkette ohne Echo lesen

&pagelevel(4)&pagelevel

Definition

#include <unistd.h>

char *getpass(const char *prompt);

Beschreibung

getpass() führt folgende Aktionen aus:

  • öffnet das Terminal, das den Prozess steuert

  • schreibt die mit dem Nullbyte abgeschlossene Zeichenkette prompt auf dieses Gerät

  • schaltet das lokale Echo ab

  • liest eine Zeichenkette bis zum nächsten Zeilenendezeichen oder bis EOF ein

  • stellt den ursprünglichen Zustand des Terminals wieder her

  • schließt die Gerätedatei für das Terminal

Returnwert

Zeiger auf eine mit dem Nullbyte abgeschlossene Zeichenkette



bei erfolgreicher Beendigung. Der Returnwert besteht aus höchstens {PASS_MAX} vom Terminal eingelesenen Bytes.

 

Nullzeiger

bei Fehler. Der ursprüngliche Zustand des Terminals wird wiederhergestellt. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

getpass() schlägt fehl, wenn gilt:

 

EINTR

getpass() wurde von einem Signal unterbrochen.

 

EIO

Der Prozess ist Mitglied einer Hintergrund-Prozessgruppe, die von ihrem steuernden Terminal zu lesen versucht. Dabei ignoriert oder blockiert der Prozess das Signal SIGTTIN oder die Prozessgruppe ist verwaist.

 

EMFILE

{OPEN_MAX}-Dateideskriptoren sind im Augenblick im aufrufenden Prozess offen.

 

ENFILE

Das Maximum der erlaubten Dateianzahl ist im Augenblick im System offen.

 

ENXIO

Der Prozess besitzt kein steuerndes Terminal.

Hinweise

Der Returnwert zeigt auf statische Daten, deren Inhalt bei jedem Aufruf überschrieben wird.

getpass() wird nur für POSIX-Dateien ausgeführt.

getpass() ist nicht threadsicher. Wird zukünftig vom X/Open-Standard nicht mehr unterstützt.

Siehe auch

limits.h, unistd.h.