- trixie-backports 4.31.0-1~bpo13+1
- testing 4.31.0-1
- unstable 4.31.0-1
| io_setup(2) | System Calls Manual | io_setup(2) |
الاسم¶
io_setup - إنشاء سياق إدخال/إخراج غير متزامن
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
بديلًا عن ذلك، مكتبة الإدخال/الإخراج غير المتزامنة (libaio، -laio)؛ انظر VERSIONS.
موجز¶
#include <linux/aio_abi.h> /* يعرّف الأنواع المطلوبة */
long io_setup(unsigned int nr_events, aio_context_t *ctx_idp);
ملاحظة: لا يوجد مغلف glibc لنداء النظام هذا؛ انظر VERSIONS.
الوصف¶
ملاحظة: تصف هذه الصفحة واجهة استدعاء النظام الخام لنظام Linux. تستخدم دالة الغلاف المقدمة من libaio نوعًا مختلفًا للوسيطة ctx_idp. انظر الإصدارات.
استدعاء النظام io_setup() ينشئ سياق إدخال/إخراج غير متزامن مناسب لمعالجة nr_events عملية بشكل متزامن. يجب ألا تشير الوسيطة ctx_idp إلى سياق AIO موجود مسبقًا، ويجب تهيئتها إلى 0 قبل الاستدعاء. عند الإنشاء الناجح لسياق AIO، يتم ملء *ctx_idp بالمقبض الناتج.
قيمة الإرجاع¶
عند النجاح، يُرجع io_setup() 0. بالنسبة لإرجاع الفشل، انظر الإصدارات.
الأخطاء¶
- EAGAIN
- يتجاوز nr_events المحدد حد الأحداث المتاحة، كما هو معرف في /proc/sys/fs/aio-max-nr (انظر proc(5)).
- EFAULT
- يُمرر مؤشر غير صالح لـ ctx_idp.
- EINVAL
- لم تتم تهيئة ctx_idp، أو يتجاوز nr_events المحدد الحدود الداخلية. يجب أن يكون nr_events أكبر من 0.
- ENOMEM
- الموارد الأساسية للنواة غير كافية.
- ENOSYS
- io_setup() غير مطبق على هذه البنية.
الإصدارات¶
لا توفر glibc غلافًا لاستدعاء النظام هذا. يمكنك استدعاؤه باستخدام syscall(2). ولكن بدلاً من ذلك، ربما تريد استخدام دالة الغلاف io_setup() المقدمة من libaio.
لاحظ أن دالة الغلاف libaio تستخدم نوعًا مختلفًا (io_context_t *) للوسيطة ctx_idp. لاحظ أيضًا أن غلاف libaio لا يتبع اصطلاحات مكتبة C المعتادة للإشارة إلى الأخطاء: عند الخطأ يُرجع رقم خطأ سالب (سالب إحدى القيم المدرجة في الأخطاء). إذا تم استدعاء استدعاء النظام عبر syscall(2)، فإن القيمة المُرجعة تتبع الاصطلاحات المعتادة للإشارة إلى خطأ: -1، مع ضبط errno على قيمة (موجبة) تشير إلى الخطأ.
المعايير¶
لينكس.
التاريخ¶
لينكس 2.5.
انظر أيضًا¶
io_cancel(2), io_destroy(2), io_getevents(2), io_submit(2), aio(7)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 2 مايو 2024 | صفحات دليل لينكس 6.9.1 |