io_cancel(2)

الاسم
io_cancel - إلغاء عملية إدخال/إخراج غير متزامنة معلقة

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

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

int syscall(SYS_io_cancel, aio_context_t ctx_id, struct iocb *iocb,
            struct io_event *result);

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

تحاول استدعاء النظام io_cancel() إلغاء عملية إدخال/إخراج غير متزامنة سبق إرسالها باستخدام io_submit(2). تصف الوسيطة iocb العملية المراد إلغاؤها، والوسيطة ctx_id هي سياق AIO الذي أُرسلت إليه العملية. إذا أُلغيت العملية بنجاح، يُنسخ الحدث إلى الذاكرة المشار إليها بواسطة result دون وضعه في قائمة انتظار الإكمال.

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

الأخطاء

EAGAIN
    لم يُلغَ iocb المُحدد.

EFAULT
    إحدى بنيات البيانات تشير إلى بيانات غير صالحة.

EINVAL
    سياق AIO المحدد بواسطة ctx_id غير صالح.

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

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

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

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

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

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

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

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