getxattr(2)

الاسم
getxattr, lgetxattr, fgetxattr - استرداد قيمة سمة ممتدة

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

موجز
#include <sys/xattr.h>

ssize_t getxattr(size_t size;
                 const char *path, const char *name,
                 void value[size], size_t size);
ssize_t lgetxattr(size_t size;
                 const char *path, const char *name,
                 void value[size], size_t size);
ssize_t fgetxattr(size_t size;
                 int fd, const char *name,
                 void value[size], size_t size);

الوصف
السمات الممتدة هي أزواج الاسم:القيمة المرتبطة بالفهارس (الملفات، المجلدات، الروابط الرمزية، إلخ). وهي امتدادات للسمات العادية المرتبطة بكافة الفهارس في النظام (أي بيانات stat(2)). يمكن العثور على نظرة شاملة لمفاهيم السمات الممتدة في xattr(7).

getxattr() يسترد قيمة السمة الممتدة المعرفة بـ name والمرتبطة بـ path المعطى في نظام الملفات. توضع قيمة السمة في المخزن المؤقت المشار إليه بـ value؛ يحدد size حجم ذلك المخزن المؤقت. قيمة إرجاع الاستدعاء هي عدد البايتات الموضوعة في value.

lgetxattr() مطابق لـ getxattr()، باستثناء حالة الارتباط الرمزي، حيث يُستجوب الرابط نفسه، وليس الملف الذي يشير إليه.

fgetxattr() مطابق لـ getxattr()، فقط الملف المفتوح المشار إليه بـ fd (كما يُرجع بواسطة open(2)) يُستجوب بدلاً من path.

السمة الممتدة name هي سلسلة منتهية بقيمة خالية. يتضمن الاسم بادئة نطاق أسماء؛ قد يكون هناك عدة نطاقات أسماء منفصلة مرتبطة بعقدة inode فردية. قيمة السمة الممتدة هي قطعة من بيانات نصية أو ثنائية عشوائية تم تعيينها باستخدام setxattr(2).

إذا تم تحديد size كصفر، تُرجع هذه الاستدعاءات الحجم الحالي للسمة الممتدة المسماة (وتترك value دون تغيير). يمكن استخدام هذا لتحديد حجم المخزن المؤقت الذي يجب توفيره في استدعاء لاحق. (لكن، ضع في اعتبارك أن هناك احتمالًا أن تتغير قيمة السمة بين الاستدعاءين، لذلك لا يزال من الضروري التحقق من حالة الإرجاع من الاستدعاء الثاني.)

قيمة الإرجاع
عند النجاح، تُرجع هذه الاستدعاءات قيمة غير سالبة وهي حجم (بالبايت) قيمة السمة الممتدة. عند الفشل، يُرجع -1 ويُضبط errno للإشارة إلى الخطأ.

الأخطاء

E2BIG
    حجم قيمة السمة أكبر من الحجم الأقصى المسموح به؛ لا يمكن استرداد السمة. يمكن أن يحدث هذا في أنظمة الملفات التي تدعم قيم سمات كبيرة جدًا مثل NFSv4، على سبيل المثال.

ENODATA
    السمة المسماة غير موجودة، أو لا تملك العملية وصولًا إلى هذه السمة.

ENOTSUP
    السمات الموسعة غير مدعومة من قبل نظام الملفات، أو أنها معطلة.

ERANGE
    حجم size للمخزن المؤقت value صغير جدًا لاستيعاب النتيجة.

بالإضافة إلى ذلك، يمكن أن تحدث أيضًا الأخطاء الموثقة في stat(2).

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

التاريخ
لينكس 2.4، glibc 2.3.

أمثلة
انظر listxattr(2).

انظر أيضًا
getfattr(1), setfattr(1), listxattr(2), open(2), removexattr(2), setxattr(2), stat(2), symlink(7), xattr(7)

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

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

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