- trixie-backports 4.31.0-1~bpo13+1
- testing 4.31.0-1
- unstable 4.31.0-1
| io_getevents(2) | System Calls Manual | io_getevents(2) |
الاسم¶
io_getevents - اقرأ أحداث الإدخال/الإخراج غير المتزامنة من طابور الإكمال
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
بديلًا عن ذلك، مكتبة الإدخال/الإخراج غير المتزامنة (libaio، -laio)؛ انظر VERSIONS.
موجز¶
#include <linux/aio_abi.h> /* Definition of *io_* types */ #include <sys/syscall.h> /* Definition of SYS_* constants */ #include <unistd.h>
int syscall(SYS_io_getevents, aio_context_t ctx_id,
long min_nr, long nr, struct io_event *events,
struct timespec *timeout);
ملاحظة: لا توفر glibc غلافًا لـ io_getevents()، مما يستلزم استخدام syscall(2).
الوصف¶
ملاحظة: تصف هذه الصفحة واجهة نداء نظام لينكس الخام. تستخدم دالة الغلاف التي توفرها libaio نوعًا مختلفًا لمعامل ctx_id. راجع VERSIONS.
استدعاء النظام io_getevents() يحاول قراءة min_nr حدث على الأقل وحتى nr حدث من طابور الإكمال لسياق AIO المحدد بواسطة ctx_id.
الوسيطة timeout تحدد مقدار الوقت للانتظار للأحداث، وتُحدد كمهلة نسبية في بنية timespec(3).
الوقت المحدد يُقرّب لأعلى لدقة ساعة النظام ويُضمن عدم انتهائه مبكرًا.
تحديد timeout كـ NULL يعني الحظر إلى أجل غير مسمى حتى يتم الحصول على min_nr حدث على الأقل.
قيمة الإرجاع¶
عند النجاح، تُرجع io_getevents() عدد الأحداث المقروءة. قد يكون هذا 0، أو قيمة أقل من min_nr، إذا انتهت المهلة timeout. قد يكون أيضًا قيمة غير صفرية أقل من min_nr، إذا قاطع معالج إشارة الاستدعاء.
لإرجاع الفشل، انظر VERSIONS.
الأخطاء¶
الإصدارات¶
ربما تريد استخدام دالة الغلاف io_getevents() المقدمة من libaio.
لاحظ أن دالة الغلاف libaio تستخدم نوعًا مختلفًا (io_context_t) للمعامل ctx_id. لاحظ أيضًا أن غلاف libaio لا يتبع اصطلاحات مكتبة C المعتادة للإشارة إلى الأخطاء: فعند حدوث خطأ، يُرجع رقم خطأ منفيًا (سالب إحدى القيم المدرجة في الأخطاء ERRORS). إذا استُدعي نداء النظام عبر syscall(2)، فإن القيمة المرجعة تتبع الاصطلاحات المعتادة للإشارة إلى الخطأ: -1، مع ضبط errno على قيمة (موجبة) تشير إلى الخطأ.
المعايير¶
لينكس.
التاريخ¶
لينكس 2.5.
العلل¶
قد يسبب ctx_id غير صالح خطأ تجزئة بدلاً من توليد الخطأ EINVAL.
انظر أيضًا¶
io_cancel(2), io_destroy(2), io_setup(2), io_submit(2), timespec(3), aio(7), time(7)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 2 مايو 2024 | صفحات دليل لينكس 6.9.1 |