shutdown(2)

الاسم
shutdown - إغلاق جزء من اتصال ثنائي الاتجاه كامل

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <sys/socket.h>

int shutdown(int sockfd, int how);

الوصف
استدعاء shutdown() يسبب إغلاق كل أو جزء من اتصال ثنائي الاتجاه كامل على المقبس المرتبط بـ sockfd. إذا كان how هو SHUT_RD، يُحظر المزيد من الاستقبالات. إذا كان how هو SHUT_WR، يُحظر المزيد من الإرسالات. إذا كان how هو SHUT_RDWR، يُحظر المزيد من الاستقبالات والإرسالات.

قيمة الإرجاع
عند النجاح، يُعاد الصفر. وعند حدوث خطأ، يُعاد الرقم -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

EBADF
    sockfd ليس واصف ملف صالحاً.

EINVAL
    قيمة غير صالحة تم تحديدها في how (لكن انظر الأخطاء).

ENOTCONN
    المقبس المحدد غير متصل.

ENOTSOCK
    واصف الملف sockfd لا يشير إلى مقبس.

المعايير
POSIX.1-2024.

التاريخ
POSIX.1-2001،‏ 4.4BSD (ظهر أولاً في 4.2BSD).

ملاحظات
الثوابت SHUT_RD و SHUT_WR و SHUT_RDWR لها القيم 0 و 1 و 2 على التوالي، وهي معرفة في <sys/socket.h> منذ glibc-2.1.91.

العلل
فحوصات صحة how تتم في كود خاص بالنطاق، وقبل لينكس 3.7 لم تكن كل النطاقات تؤدي هذه الفحوصات. بشكل ملحوظ، مقابس نطاق UNIX تجاهلت ببساطة القيم غير الصالحة. هذه المشكلة تم إصلاحها لمقابس نطاق UNIX في لينكس 3.7.

انظر أيضًا
close(2), connect(2), socket(2), socket(7)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.