Subroutine beenden

Zweck

Beendet alle Sende-und Empfangsoperationen für Sockets.

Bibliothek

Standard-C-Bibliothek (libc.a)

Syntax

#include <sys/socket.h>

int shutdown ( Socket,  How)
int Socket, How;

Beschreibung

Die Subroutine shutdown inaktiviert alle Operationen receive und send für das angegebene Socket.

Alle Anwendungen, die die Subroutine shutdown enthalten, müssen mit einem bestimmten Wert für das Makro _BSD kompiliert werden. Zulässige Werte sind 43 und 44. Außerdem müssen alle Socketanwendungen die BSD-Bibliothek libbsd.a enthalten.

Parameter

Element Beschreibung
Socket Gibt den eindeutigen Namen des Sockets an.
Vorteile Gibt den Typ der Beendigung der Subroutine an. Verwenden Sie die folgenden Werte:
0
Inaktiviert weitere Empfangsoperationen.
1
Inaktiviert weitere Sendeoperationen.
2.
Inaktiviert weitere Sende-und Empfangsoperationen.

Rückgabewerte

Nach erfolgreicher Ausführung wird der Befehl 0 zurückgegeben.

Wenn die Subroutine shutdown nicht erfolgreich ist, führt der Subroutinenhandler die folgenden Funktionen aus:

  • Gibt den Wert -1 an das aufrufende Programm zurück.
  • Verschiebt einen Fehlercode, der den spezifischen Fehler angibt, in die globale Variable errno . Weitere Erläuterungen zur Variablen errno finden Sie unter Error Notification Object Class in General Programming Concepts: Writing and Debugging Programs.

Fehlercodes

Die Subroutine shutdown ist nicht erfolgreich, wenn einer der folgenden Fehler auftritt:

Fehler Beschreibung
EBADF Der Parameter Socket ist ungültig.
EINVAL Der Parameter Wie ist ungültig.
ENOTCONN Der Socket ist nicht verbunden.
ENOTSOCK (ENOTSOCK) Der Parameter Socket verweist auf eine Datei, nicht auf ein Socket.

Dateien

Element Beschreibung
/usr/include/sys/socket.h Enthält Socketdefinitionen.
/usr/include/sys/types.h Enthält Definitionen nicht signierter Datentypen.