Your Browser is not longer supported

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

{{viewport.spaceProperty.prod}}

tcflush - nicht übertragene Daten verwerfen

&pagelevel(4)&pagelevel

Definition

#include <termios.h>

int tcflush(int fildes, int queue_selector);

Beschreibung

fildes ist ein Dateideskriptor, der mit einem Terminal verbunden ist. Nach erfolgreicher Beendigung verwirft tcflush() Daten, die auf das Objekt, auf das fildes zeigt, geschrieben, aber noch nicht übertragen wurden, oder empfangen, aber noch nicht gelesen wurden, je nachdem, welchen Wert queue_selector hat.

Ist queue_selector gleich TCIFLUSH, werden empfangene, aber noch nicht gelesene Daten verworfen. Ist queue_selector gleich TCOFLUSH, werden geschriebene, aber noch nicht übertragene Daten verworfen. Ist queue_selector gleich TCIOFLUSH, werden sowohl empfangene, aber noch nicht gelesene, als auch geschriebene, aber noch nicht übertragene Daten verworfen.

Das Signal SIGTTOU wird an die Prozessgruppe geschickt, wenn ein Prozess, der Mitglied einer Hintergrund-Prozessgruppe ist, versucht, tcflush() mit dem Dateideskriptor fildes, der mit seinem steuernden Terminal verbunden ist, aufzurufen. Blockiert oder ignoriert der aufrufende Prozess SIGTTOU-Signale, darf er die Operation ausführen, und es wird kein Signal SIGTTOU gesendet.

Erweiterung
Bei Verbindung mit einem fernen Rechner werden alle Werte unterstützt. (Ende)

Returnwert

0

bei Erfolg.

 

-1

bei Fehler. errno wird gesetzt, um den Fehler anzuzeigen.

Fehler

tcflush() schlägt fehl, wenn gilt: 

 

EBADF

fildes ist kein gültiger Dateideskriptor.

 

EINVAL

queue_selector besitzt keinen unterstützten Wert.

 

Erweiterung

 

EINVAL

Es wurde versucht, auf eine BS2000-Datei zuzugreifen. (Ende).

 

EIO

Die Prozessgruppe des schreibenden Prozesses ist verwaist, und der schreibende Prozess ignoriert oder blockiert SIGTTOU nicht.

 

ENOTTY

Die mit fildes verbundene Datei ist kein Terminal.

Hinweis

Auf blockorientierte Terminals hat tcflush() keine Wirkung. 

Siehe auch

tcdrain(), termios.h, unistd.h, Abschnitt "Allgemeine Terminalschnittstelle“ .