Scroll to navigation

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. بالنسبة لإرجاع الفشل، انظر الإصدارات.

الأخطاء

يتجاوز nr_events المحدد حد الأحداث المتاحة، كما هو معرف في /proc/sys/fs/aio-max-nr (انظر proc(5)).
يُمرر مؤشر غير صالح لـ ctx_idp.
لم تتم تهيئة ctx_idp، أو يتجاوز nr_events المحدد الحدود الداخلية. يجب أن يكون nr_events أكبر من 0.
الموارد الأساسية للنواة غير كافية.
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