.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2006, 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 posix_fallocate 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم posix_fallocate \- تخصيص مساحة ملف .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint posix_fallocate(int \fP\fIfd\fP\fB, off_t \fP\fIoffset\fP\fB, off_t \fP\fIsize\fP\fB);\fP .fi .P .ad l .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBposix_fallocate\fP(): .nf _POSIX_C_SOURCE >= 200112L .fi .SH الوصف تضمن الدالة \fBposix_fallocate\fP() تخصيص مساحة قرص للملف المشار إليه بواصف الملف \fIfd\fP للبايتات في النطاق الذي يبدأ من \fIoffset\fP ويمتد لـ \fIsize\fP بايت. بعد استدعاء ناجح لـ \fBposix_fallocate\fP()، تُضمن عمليات الكتابة اللاحقة للبايتات في النطاق المحدد ألا تفشل بسبب نقص مساحة القرص. .P إذا كان حجم الملف أقل من \fIoffset\fP+\fIsize\fP، يُزاد الملف إلى هذا الحجم؛ وإلا يُترك حجم الملف دون تغيير. .SH "قيمة الإرجاع" تُرجع \fBposix_fallocate\fP() صفرًا عند النجاح، أو رقم خطأ عند الفشل. لاحظ أن \fIerrno\fP لا يُضبط. .SH الأخطاء .TP \fBEBADF\fP \fIfd\fP ليس واصف ملف صالحًا، أو ليس مفتوحًا للكتابة. .TP \fBEFBIG\fP يتجاوز \fIoffset+size\fP الحجم الأقصى للملف. .TP \fBEINTR\fP التُقطت إشارة أثناء التنفيذ. .TP \fBEINVAL\fP كان \fIoffset\fP أقل من 0، أو كان \fIsize\fP أقل من أو يساوي 0، أو لا يدعم نظام الملفات الأساسي العملية. .TP \fBENODEV\fP لا يشير \fIfd\fP إلى ملف عادي. .TP \fBENOSPC\fP لا توجد مساحة كافية على الجهاز الذي يحتوي على الملف المشار إليه بواسطة \fIfd\fP. .TP \fBEOPNOTSUPP\fP لا يدعم نظام الملفات المحتوي على الملف المشار إليه بـ \fIfd\fP هذه العملية. يمكن إرجاع رمز الخطأ هذا بواسطة مكتبات C التي لا تؤدي المحاكاة الموضحة في التحذيرات، مثل musl libc. .TP \fBESPIPE\fP يشير \fIfd\fP إلى أنبوب. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. الواجهة السمة القيمة T{ .na .nh \fBposix_fallocate\fP() T} سلامة الخيوط T{ .na .nh آمن للخيوط (لكن انظر التحذيرات) T} .TE .SH المعايير POSIX.1\-2008. .SH التاريخ glibc 2.1.94. POSIX.1\-2001 .P ينص POSIX.1\-2008 على أن التنفيذ \fIيجب\fP أن يُعطي خطأ \fBEINVAL\fP إذا كان \fIsize\fP يساوي 0، أو كان \fIoffset\fP أقل من 0. ينص POSIX.1\-2001 على أن التنفيذ \fIيجب\fP أن يُعطي خطأ \fBEINVAL\fP إذا كان \fIsize\fP أقل من 0، أو كان \fIoffset\fP أقل من 0، و\fIيجوز\fP أن يُعطي الخطأ إذا كان \fIsize\fP يساوي صفرًا. .SH تحذيرات في تنفيذ glibc، تُنفذ \fBposix_fallocate\fP() باستخدام استدعاء النظام \fBfallocate\fP(2)، وهو آمن للخيوط. إذا لم يدعم نظام الملفات الأساسي \fBfallocate\fP(2)، تُحاكى العملية مع التحذيرات التالية: .IP \[bu] 3 المحاكاة غير فعالة. .IP \[bu] توجد حالة سباق حيث يمكن استبدال عمليات الكتابة المتزامنة من خيط أو عملية أخرى ببايتات فارغة. .IP \[bu] توجد حالة سباق حيث قد تؤدي الزيادات المتزامنة في حجم الملف بواسطة خيط أو عملية أخرى إلى ملف حجمه أصغر من المتوقع. .IP \[bu] إذا فُتح \fIfd\fP بعلمي \fBO_APPEND\fP أو \fBO_WRONLY\fP، تفشل الدالة مع الخطأ \fBEBADF\fP. .P بشكل عام، المحاكاة ليست آمنة للخيوط. على لينكس، قد تستخدم التطبيقات \fBfallocate\fP(2) إذا لم تتحمل تحذيرات المحاكاة. بشكل عام، يُوصى بذلك فقط إذا خطط التطبيق لإنهاء العملية عند إرجاع \fBEOPNOTSUPP\fP، وإلا فسيحتاج التطبيق نفسه إلى تنفيذ حل بديل بنفس مشاكل المحاكاة التي يوفرها glibc. .SH "انظر أيضًا" \fBfallocate\fP(1)، \fBfallocate\fP(2)، \fBlseek\fP(2)، \fBposix_fadvise\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 .