.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2004, Andries E. Brouwer .\" Copyright 2020, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH lseek64 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم lseek64 \- إعادة وضع إزاحة ملف القراءة/الكتابة 64\-بت .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#define _LARGEFILE64_SOURCE\fP /* انظر feature_test_macros(7) */ \fB#include \fP \fB#include \fP .P \fBoff64_t lseek64(int \fP\fIfd\fP\fB, off64_t \fP\fIoffset\fP\fB, int \fP\fIwhence\fP\fB);\fP .fi .SH الوصف عائلة دوال \fBlseek\fP() تعيد وضع إزاحة الملف المفتوح المرتبط بوصف الملف \fIfd\fP إلى \fIoffset\fP بايت نسبة إلى البداية، الموضع الحالي، أو نهاية الملف، عندما تكون قيمة \fIwhence\fP هي \fBSEEK_SET\fP أو \fBSEEK_CUR\fP أو \fBSEEK_END\fP، على التوالي. .P لمزيد من التفاصيل، القيمة المُرجعة، والأخطاء، انظر \fBlseek\fP(2). .P .\" .\" For some background details, see: .\" https://lore.kernel.org/linux-man/CAKgNAkhNSWR3uYhYYaxx74fZfJ3JrpfAAPVrK0AFk_cAOUsbDg@mail.gmail.com/ .\" أربع واجهات متاحة: \fBlseek\fP() و \fBlseek64\fP() و \fBllseek\fP() و \fB_llseek\fP(). .SS lseek() النموذج الأولي: .P .in +4n .EX \fBoff_t lseek(int \fP\fIfd\fP\fB, off_t \fP\fIoffset\fP\fB, int \fP\fIwhence\fP\fB);\fP .EE .in .P دالة الغلاف \fBlseek\fP() لمكتبة C تستخدم النوع \fIoff_t\fP. هذا نوع مُوقّع 32\-بت على معماريات 32\-بت، إلا إذا تم الترجمة باستخدام .P .in +4n .EX #define _FILE_OFFSET_BITS 64 .EE .in .P وفي هذه الحالة يصبح نوعًا مُوقّعًا 64\-بت. .SS lseek64() النموذج الأولي: .P .in +4n .EX \fBoff64_t lseek64(int \fP\fIfd\fP\fB, off64_t \fP\fIoffset\fP\fB, int \fP\fIwhence\fP\fB);\fP .EE .in .P دالة المكتبة \fBlseek64\fP() تستخدم نوعًا 64\-بت حتى عندما يكون \fIoff_t\fP نوعًا 32\-بت. نموذجها الأولي (والنوع \fIoff64_t\fP) متاح فقط عند الترجمة باستخدام .P .in +4n .EX #define _LARGEFILE64_SOURCE .EE .in .P .\" in glibc 2.0.94, not in glibc 2.0.6 .\" الدالة \fBlseek64\fP() متاحة منذ glibc 2.1. .SS llseek() النموذج الأولي: .P .in +4n .EX \fBloff_t llseek(int \fP\fIfd\fP\fB, loff_t \fP\fIoffset\fP\fB, int \fP\fIwhence\fP\fB);\fP .EE .in .P النوع \fIloff_t\fP هو نوع مُوقّع 64\-بت. دالة المكتبة \fBllseek\fP() متاحة في glibc وتعمل بدون تعريفات خاصة. ومع ذلك، لا توفر رؤوس glibc نموذجًا أوليًا. يجب على المستخدمين إضافة النموذج الأولي أعلاه، أو ما يعادله، إلى مصدرهم الخاص. عندما اشتكى المستخدمون من فقدان البيانات بسبب ترجمة خاطئة لـ \fBe2fsck\fP(8)، أضافت glibc 2.1.3 تحذيرًا في وقت الربط .P .in +4n "قد تكون دالة `llseek` خطيرة؛ استخدم `lseek64` بدلاً من ذلك." .in .P هذا يجعل هذه الدالة غير قابلة للاستخدام إذا أراد المرء ترجمة خالية من التحذيرات. .P .\" glibc commit 5c5c0dd747070db624c8e2c43691cec854f114ef .\" منذ glibc 2.28، لم يعد رمز هذه الدالة متاحًا للتطبيقات المرتبطة حديثًا. .SS _llseek() على معماريات 32\-بت، هذه هي استدعاءات النظام المستخدمة (بواسطة دوال الغلاف لمكتبة C) لتنفيذ جميع الدوال المذكورة أعلاه. النموذج الأولي هو: .P .in +4n .EX \fBint _llseek(int \fP\fIfd\fP\fB, off_t \fP\fIoffset_hi\fP\fB, off_t \fP\fIoffset_lo\fP\fB,\fP \fB loff_t *\fP\fIresult\fP\fB, int \fP\fIwhence\fP\fB);\fP .EE .in .P لمزيد من التفاصيل، انظر \fBllseek\fP(2). .P .\" In arch/x86/entry/syscalls/syscall_32.tbl, .\" we see the following line: .\" .\" 140 i386 _llseek sys_llseek .\" .\" This is essentially telling us that 'sys_llseek' (the name generated .\" by SYSCALL_DEFINE5(llseek...)) is exposed to user-space as system call .\" number 140, and that system call number will (IIUC) be exposed in .\" autogenerated headers with the name "__NR__llseek" (i.e., "_llseek"). .\" The "i386" is telling us that this happens in i386 (32-bit Intel). .\" There is nothing equivalent on x86-64, because 64 bit systems don't .\" need an _llseek system call. لا تحتاج أنظمة 64\-بت إلى استدعاء نظام \fB_llseek\fP(). بدلاً من ذلك، لديها استدعاء نظام \fBlseek\fP(2) يدعم إزاحات ملفات 64\-بت. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBlseek64\fP() T} سلامة الخيوط MT\-Safe .TE .SH ملاحظات \fBlseek64\fP() هي إحدى الدوال المحددة في مواصفات قمة الملفات الكبيرة (LFS) التي أُكملت في عام 1996. كان الغرض من المواصفة توفير دعم انتقالي يسمح للتطبيقات على أنظمة 32\-بت بالوصول إلى ملفات يتجاوز حجمها ما يمكن تمثيله بنوع \fIoff_t\fP ذي 32\-بت. كما ذُكر أعلاه، يُكشف هذا الرمز بواسطة ملفات الرأس إذا تم تعريف ماكرو اختبار الميزة \fB_LARGEFILE64_SOURCE\fP. بدلاً من ذلك، على نظام 32\-بت، يُلقب الرمز \fIlseek\fP إلى \fIlseek64\fP إذا تم تعريف الماكرو \fB_FILE_OFFSET_BITS\fP بالقيمة 64. .SH "انظر أيضًا" \fBllseek\fP(2), \fBlseek\fP(2) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .