fpathconf(3)

الاسم
fpathconf، pathconf - الحصول على قيم التهيئة للملفات

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

موجز
#include <unistd.h>

long fpathconf(int fd, int name);
long pathconf(const char *path, int name);

الوصف
تحصل الدالة fpathconf() على قيمة لخيار التهيئة name لواصف الملف المفتوح fd.

تحصل الدالة pathconf() على قيمة لخيار التهيئة name لاسم الملف path.

الوحدات الكلية المقابلة المعرفة في <unistd.h> هي قيم دنيا؛ إذا أراد تطبيق الاستفادة من القيم التي قد تتغير، يمكن استدعاء fpathconf() أو pathconf()، مما قد يعطي نتائج أكثر تساهلاً.

تعيين name مساوياً لأحد الثوابت التالية يُرجع خيارات التهيئة التالية:

_PC_LINK_MAX
    الحد الأقصى لعدد الروابط للملف. إذا كان fd أو path يشير إلى دليل، فإن القيمة تنطبق على الدليل بأكمله. الوحدة الكلية المقابلة هي _POSIX_LINK_MAX.

_PC_MAX_CANON
    الحد الأقصى لطول سطر إدخال منسق، حيث يجب أن يشير fd أو path إلى طرفية. الوحدة الكلية المقابلة هي _POSIX_MAX_CANON.

_PC_MAX_INPUT
    الحد الأقصى لطول سطر إدخال، حيث يجب أن يشير fd أو path إلى طرفية. الوحدة الكلية المقابلة هي _POSIX_MAX_INPUT.

_PC_NAME_MAX
    الحد الأقصى لطول اسم ملف في الدليل path أو fd الذي يُسمح للعملية بإنشائه. الوحدة الكلية المقابلة هي _POSIX_NAME_MAX.

_PC_PATH_MAX
    الحد الأقصى لطول اسم مسار نسبي عندما يكون path أو fd هو دليل العمل الحالي. الوحدة الكلية المقابلة هي _POSIX_PATH_MAX.

_PC_PIPE_BUF
    الحد الأقصى لعدد البايتات التي يمكن كتابتها ذرياً إلى أنبوب أو FIFO. بالنسبة لـ fpathconf()، يجب أن يشير fd إلى أنبوب أو FIFO. بالنسبة لـ fpathconf()، يجب أن يشير path إلى FIFO أو دليل؛ في الحالة الأخيرة، القيمة المُرجعة تتوافق مع FIFOs المنشأة في ذلك الدليل. الوحدة الكلية المقابلة هي _POSIX_PIPE_BUF.

_PC_CHOWN_RESTRICTED
    يُرجع هذا قيمة موجبة إذا كان استخدام chown(2) و fchown(2) لتغيير معرف مستخدم الملف مقصوراً على عملية ذات صلاحيات مناسبة، وتغيير معرف مجموعة الملف إلى قيمة غير معرف المجموعة الفعّال للعملية أو أحد معرفات مجموعاتها الإضافية مقصوراً على عملية ذات صلاحيات مناسبة. وفقاً لـ POSIX.1، يجب تعريف هذا المتغير دائماً بقيمة غير -1. الوحدة الكلية المقابلة هي _POSIX_CHOWN_RESTRICTED.

    إذا كان fd أو path يشير إلى دليل، فإن القيمة المُرجَعة تنطبق على جميع الملفات في ذلك الدليل.

_PC_NO_TRUNC
    يُرجع هذا قيمة غير صفرية إذا كان الوصول إلى أسماء ملفات أطول من _POSIX_NAME_MAX يُولّد خطأً. الماكرو المُناظر هو _POSIX_NO_TRUNC.

_PC_VDISABLE
    يُرجع هذا قيمة غير صفرية إذا كان يمكن تعطيل معالجة المحارف الخاصة، حيث يجب أن يشير fd أو path إلى طرفية.

قيمة الإرجاع
القيمة المُرجَعة لهذه الدوال هي إحدى التاليات:

•   عند حدوث خطأ، يُعاد -1 ويُضبط errno للإشارة إلى الخطأ (على سبيل المثال، EINVAL، للإشارة إلى أن الاسم name غير صالح).

•   إذا كان name يوافق حدا أقصى أو أدنى، وكان ذلك الحد غير محدد، تُعاد القيمة -1 ولا يتغير errno. (للتمييز بين الحد غير المحدد والخطأ، اضبط errno على الصفر قبل الاستدعاء، ثم تحقق ما إذا كان errno غير صفري عند إعادة -1).

•   إذا كان name يوافق خيارا، تُعاد قيمة موجبة إذا كان الخيار مدعوما، وتُعاد -1 إذا لم يكن مدعوما.

•   وإلا، تُعاد القيمة الحالية للخيار أو الحد. لن تكون هذه القيمة أكثر تقييداً من القيمة المقابلة التي وُصفت للتطبيق في <unistd.h> أو <limits.h> عند ترجمة التطبيق.

الأخطاء

EACCES
    (pathconf()) رُفض إذن البحث لأحد الدلائل في بادئة المسار لـ path.

EBADF
    (fpathconf()) fd ليس واصف ملف صالحًا.

EINVAL
    name غير صالح.

EINVAL
    لا يدعم التطبيق ارتباط name بالملف المُحدد.

ELOOP
    (pathconf()) صودفت روابط رمزية كثيرة جدًا أثناء حل path.

ENAMETOOLONG
    (pathconf()) path طويل جدًا.

ENOENT
    (pathconf()) لا يوجد مُكوّن من path، أو path سلسلة محارف فارغة.

ENOTDIR
    (pathconf()) مُكوّن مُستخدم كدليل في path ليس في الواقع دليلاً.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
fpathconf(), pathconf() | سلامة الخيوط | MT-Safe

المعايير
POSIX.1-2008.

التاريخ
POSIX.1-2001.

ملاحظات
قد توجد ملفات بأطوال أسماء أطول من القيمة المُرجَعة لـ name المُساوية لـ _PC_NAME_MAX في الدليل المُعطى.

بعض القيم المعادة قد تكون ضخمة؛ وهي غير مناسبة لتخصيص الذاكرة.

انظر أيضًا
getconf(1)، open(2)، statfs(2)، confstr(3)، sysconf(3)

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

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

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