Scroll to navigation

io_setup(2) System Calls Manual 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 للإشارة إلى الخطأ.

الأخطاء

يتجاوز n المحدد حد الأحداث المتاحة، كما هو معرف في /proc/sys/fs/aio-max-nr (انظر proc_sys_fs(5)).
يُمرر مؤشر غير صالح لـ ctx_idp.
لم تتم تهيئة *ctx_idp إلى 0.
يتجاوز n المحدد الحدود الداخلية. يجب أن يكون n أكبر من 0.
الموارد الأساسية للنواة غير كافية.
io_setup() غير مطبق على هذه البنية.

الإصدارات

توفر 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 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

11 أبريل 2026 صفحات دليل لينكس 6.18