Subroutine beenden
Zweck
Beendet alle Sende-und Empfangsoperationen für Sockets.
Bibliothek
Standard-C-Bibliothek (libc.a)
Syntax
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:
|
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. |