_llseek(2)

الاسم
_llseek - إعادة وضع إزاحة القراءة/الكتابة للملف

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

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

int syscall(SYS__llseek, unsigned int fd, unsigned long offset_high,
            unsigned long offset_low, loff_t *result,
            unsigned int whence);

ملاحظة: لا توفر glibc غلافًا لـ _llseek()، مما يستلزم استخدام syscall(2).

الوصف
ملاحظة: للحصول على معلومات حول دالة المكتبة llseek(3)، انظر lseek64(3).

استدعاء النظام _llseek() يعيد وضع إزاحة وصف الملف المفتوح المرتبط بمُعرِّف الملف fd إلى القيمة

    (offset_high << 32) | offset_low

هذه الإزاحة الجديدة هي إزاحة بايت نسبةً إلى بداية الملف، أو إزاحة الملف الحالية، أو نهاية الملف، اعتمادًا على ما إذا كان whence هو SEEK_SET، أو SEEK_CUR، أو SEEK_END، على التوالي.

تُعاد إزاحة الملف الجديدة في الوسيط result. النوع loff_t هو نوع مُوقَّع 64 بت.

يوجد استدعاء النظام هذا على منصات 32 بت مختلفة لدعم الانتقال إلى إزاحات ملفات كبيرة.

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

الأخطاء

EBADF
    fd ليس واصف ملف مفتوح.

EFAULT
    مشكلة في نسخ النتائج إلى مساحة المستخدم.

EINVAL
    whence غير صالح.

الإصدارات
ربما ترغب في استخدام دالة الغلاف lseek(2) بدلاً من ذلك.

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

انظر أيضًا
lseek(2), open(2), lseek64(3)

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

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

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