.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2006, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH sockatmark 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم sockatmark \- تحديد ما إذا كان المقبس عند علامة خارج النطاق .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint sockatmark(int \fP\fIsockfd\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBsockatmark\fP(): .nf _POSIX_C_SOURCE >= 200112L .fi .SH الوصف تُرجع \fBsockatmark\fP() قيمة تشير إلى ما إذا كان المقبس المشار إليه بواصف الملف \fIsockfd\fP عند علامة خارج النطاق أم لا. إذا كان المقبس عند العلامة، يُرجع 1؛ إذا لم يكن المقبس عند العلامة، يُرجع 0. لا تزيل هذه الدالة علامة خارج النطاق. .SH "قيمة الإرجاع" يُرجع الاستدعاء الناجح لـ \fBsockatmark\fP() القيمة 1 إذا كان المقبس عند علامة خارج النطاق، أو 0 إذا لم يكن. عند حدوث خطأ، يُرجع \-1 ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEBADF\fP \fIsockfd\fP ليس واصف ملف صالحاً. .TP \fBEINVAL\fP .\" POSIX.1 says ENOTTY for this case \fIsockfd\fP ليس واصف ملف يمكن تطبيق \fBsockatmark\fP() عليه. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBsockatmark\fP() T} سلامة الخيوط MT\-Safe .TE .SH المعايير POSIX.1\-2008. .SH التاريخ glibc 2.2.4. POSIX.1\-2001. .SH ملاحظات إذا أرجع \fBsockatmark\fP() القيمة 1، فيمكن قراءة البيانات خارج النطاق باستخدام علامة \fBMSG_OOB\fP من \fBrecv\fP(2). .P تُدعم البيانات خارج النطاق فقط على بعض بروتوكولات مقابس التدفق. .P يمكن استدعاء \fBsockatmark\fP() بأمان من معالج إشارة \fBSIGURG\fP. .P تُنفذ \fBsockatmark\fP() باستخدام عملية \fBSIOCATMARK\fP \fBioctl\fP(2). .SH العلل قبل glibc 2.4، لم تعمل \fBsockatmark\fP(). .SH أمثلة يمكن استخدام الكود التالي بعد استلام إشارة \fBSIGURG\fP لقراءة (وتجاهل) جميع البيانات حتى العلامة، ثم قراءة بايت البيانات عند العلامة: .P .EX char buf[BUF_LEN]; char oobdata; int atmark, s; \& for (;;) { atmark = sockatmark(sockfd); if (atmark == \-1) { perror("sockatmark"); break; } \& if (atmark) break; \& s = read(sockfd, buf, BUF_LEN); if (s == \-1) perror("read"); if (s <= 0) break; } \& if (atmark == 1) { if (recv(sockfd, &oobdata, 1, MSG_OOB) == \-1) { perror("recv"); ... } } .EE .SH "انظر أيضًا" \fBfcntl\fP(2), \fBrecv\fP(2), \fBsend\fP(2), \fBtcp\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 .