.\" -*- coding: UTF-8 -*- .\" Copyright 1983-1991, The Regents of the University of California. .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getsockopt 2 "29 أكتوبر 2025" "صفحات دليل لينكس 6.18" .SH الاسم getsockopt, setsockopt \- جلب وضبط الخيارات على المقابس .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint getsockopt(\fPsocklen_t *restrict optlen; \fB int \fP\fIsockfd\fP\fB, int \fP\fIlevel\fP\fB, int \fP\fIoptname\fP\fB,\fP \fB void \fP\fIoptval\fP\fB[_Nullable restrict *\fP\fIoptlen\fP\fB],\fP \fB socklen_t *restrict \fP\fIoptlen\fP\fB);\fP \fBint setsockopt(\fPsocklen_t optlen; \fB int \fP\fIsockfd\fP\fB, int \fP\fIlevel\fP\fB, int \fP\fIoptname\fP\fB,\fP \fB const void \fP\fIoptval\fP\fB[\fP\fIoptlen\fP\fB],\fP \fB socklen_t \fP\fIoptlen\fP\fB);\fP .fi .SH الوصف \fBgetsockopt\fP() و\fBsetsockopt\fP() يعالجان خيارات المقبس المشار إليه بواصف الملف \fIsockfd\fP. قد توجد الخيارات على مستويات بروتوكول متعددة؛ وهي موجودة دائمًا على أعلى مستوى مقبس. .P عند معالجة خيارات المقبس، يجب تحديد المستوى الذي يوجد فيه الخيار واسم الخيار. لمعالجة الخيارات على مستوى واجهة برمجة تطبيقات المقابس، يُحدد \fIlevel\fP كـ \fBSOL_SOCKET\fP. لمعالجة الخيارات على أي مستوى آخر، يُقدم رقم بروتوكول البروتوكول المناسب الذي يتحكم في الخيار. على سبيل المثال، للإشارة إلى أن خيارًا ما سيُفسر بواسطة بروتوكول \fBTCP\fP، يجب ضبط \fIlevel\fP على رقم بروتوكول \fBTCP\fP؛ انظر \fBgetprotoent\fP(3). .P الوسيطان \fIoptval\fP و\fIoptlen\fP يُستخدمان للوصول إلى قيم الخيارات لـ \fBsetsockopt\fP(). بالنسبة لـ \fBgetsockopt\fP()، يُحددان مخزنًا مؤقتًا تُعاد فيه قيمة الخيار (الخيارات) المطلوبة. بالنسبة لـ \fBgetsockopt\fP()، \fIoptlen\fP هو وسيطة قيمة\-نتيجة، تحتوي مبدئيًا على حجم المخزن المؤقت المشار إليه بواسطة \fIoptval\fP، وتُعدل عند الإرجاع للإشارة إلى الحجم الفعلي للقيمة المُعادة. إذا لم تُقدم أو تُعد أي قيمة خيار، فقد يكون \fIoptval\fP NULL. .P \fIOptname\fP وأي خيارات محددة تُمرر غير مفسرة إلى وحدة البروتوكول المناسبة للتفسير. ملف التضمين \fI\fP يحتوي على تعريفات لخيارات مستوى المقبس، الموصوفة أدناه. تختلف الخيارات على مستويات البروتوكول الأخرى في التنسيق والاسم؛ استشر الإدخالات المناسبة في القسم 4 من الدليل. .P معظم خيارات مستوى المقبس تستخدم وسيطة \fIint\fP لـ \fIoptval\fP. بالنسبة لـ \fBsetsockopt\fP()، يجب أن تكون الوسيطة غير صفرية لتمكين خيار منطقي، أو صفر إذا كان الخيار سيُعطل. .P لوصف خيارات المقبس المتاحة، انظر \fBsocket\fP(7) وصفحات الدليل الخاصة بالبروتوكول المناسب. .SH "قيمة الإرجاع" عند النجاح، يُعاد صفر للخيارات القياسية. عند الخطأ، يُعاد \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .P Netfilter يسمح للمبرمج بتعريف خيارات مقبس مخصصة مع معالجات مرتبطة؛ لمثل هذه الخيارات، قيمة الإرجاع عند النجاح هي القيمة التي يُرجعها المعالج. .SH الأخطاء .TP \fBEBADF\fP المعامل \fIsockfd\fP ليس واصف ملف صالح. .TP \fBEFAULT\fP العنوان المشار إليه بواسطة \fIoptval\fP ليس في جزء صالح من مساحة عنوان العملية. بالنسبة لـ \fBgetsockopt\fP()، قد يُعاد هذا الخطأ أيضًا إذا كان \fIoptlen\fP ليس في جزء صالح من مساحة عنوان العملية. .TP \fBEINVAL\fP \fIoptlen\fP غير صالح في \fBsetsockopt\fP(). في بعض الحالات، قد يحدث هذا الخطأ أيضًا لقيمة غير صالحة في \fIoptval\fP (مثل خيار \fBIP_ADD_MEMBERSHIP\fP الموصوف في \fBip\fP(7)). .TP \fBENOPROTOOPT\fP الخيار غير معروف على المستوى المشار إليه. .TP \fBENOTSOCK\fP واصف الملف \fIsockfd\fP لا يشير إلى مقبس. .SH المعايير POSIX.1\-2024. .SH التاريخ .\" SVr4 documents additional ENOMEM and ENOSR error codes, but does .\" not document the .\" .BR SO_SNDLOWAT ", " SO_RCVLOWAT ", " SO_SNDTIMEO ", " SO_RCVTIMEO .\" options POSIX.1\-2001, SVr4, 4.4BSD (ظهر أول مرة في 4.2BSD). .SH العلل يجب معالجة العديد من خيارات المقبس على مستويات أدنى من النظام. .SH "انظر أيضًا" \fBioctl\fP(2), \fBsocket\fP(2), \fBgetprotoent\fP(3), \fBprotocols\fP(5), \fBip\fP(7), \fBpacket\fP(7), \fBsocket\fP(7), \fBtcp\fP(7), \fBudp\fP(7), \fBunix\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .