io_setup(2)

الاسم
io_setup - إنشاء سياق إدخال/إخراج غير متزامن

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

موجز
#include <linux/aio_abi.h>
#include <sys/syscall.h>     /* تعريف ثوابت SYS_* */
#include <unistd.h>

long syscall(SYS_io_setup, unsigned int n, aio_context_t *ctx_idp);

الوصف
ملاحظة: ربما تريد استخدام دالة الغلاف io_setup(3) التي يوفرها libaio؛ انظر الإصدارات.

استدعاء النظام io_setup() ينشئ سياق إدخال/إخراج غير متزامن مناسب لمعالجة n عملية بشكل متزامن. يجب ألا تشير الوسيطة ctx_idp إلى سياق AIO موجود مسبقًا، ويجب تهيئتها إلى 0 قبل الاستدعاء. عند الإنشاء الناجح لسياق AIO، يتم ملء *ctx_idp بالمقبض الناتج.

قيمة الإرجاع
عند النجاح، يُرجع io_setup() 0. عند الخطأ، يُرجع -1، ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

EAGAIN
    يتجاوز n المحدد حد الأحداث المتاحة، كما هو معرف في /proc/sys/fs/aio-max-nr (انظر proc_sys_fs(5)).

EFAULT
    يُمرر مؤشر غير صالح لـ ctx_idp.

EINVAL
    لم تتم تهيئة *ctx_idp إلى 0.

EINVAL
    يتجاوز n المحدد الحدود الداخلية. يجب أن يكون n أكبر من 0.

ENOMEM
    الموارد الأساسية للنواة غير كافية.

ENOSYS
    io_setup() غير مطبق على هذه البنية.

الإصدارات
توفر libaio (https://pagure.io/libaio) دالة تغليف تحمل الاسم نفسه، ولكن بنموذج أولي وقيمة إرجاع مختلفين. من المرجح أنك تريد استخدام دالة التغليف تلك.

المعايير
لينكس.

التاريخ
لينكس 2.5.

انظر أيضًا
io_cancel(2), io_destroy(2), io_getevents(2), io_submit(2), io_setup(3), aio(7)

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

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

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