table of contents
- unstable 4.31.0-1
| setxattr(2) | System Calls Manual | setxattr(2) |
الاسم¶
setxattr, lsetxattr, fsetxattr - تعيين قيمة سمة ممتدة
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
موجز¶
#include <sys/xattr.h>
int setxattr(size_t size;
const char *path, const char *name,
const void value[size], size_t size, int flags);
int lsetxattr(size_t size;
const char *path, const char *name,
const void value[size], size_t size, int flags);
int fsetxattr(size_t size;
int fd, const char *name,
const void value[size], size_t size, int flags);
الوصف¶
السمات الممتدة هي أزواج الاسم:القيمة المرتبطة بالفهارس (الملفات، المجلدات، الروابط الرمزية، إلخ). وهي امتدادات للسمات العادية المرتبطة بكافة الفهارس في النظام (أي بيانات stat(2)). يمكن العثور على نظرة شاملة لمفاهيم السمات الممتدة في xattr(7).
setxattr() يضبط value للسمة الممتدة المُعرَّفة بـ name والمرتبطة بـ path المُعطى في نظام الملفات. تُحدد الوسيطة size الحجم (بالبايت) لـ value؛ يُسمح بقيمة طولها صفر.
lsetxattr() مطابق لـ setxattr()، باستثناء حالة الارتباط الرمزي، حيث تُضبط السمة الممتدة على الارتباط نفسه، وليس الملف الذي يشير إليه.
fsetxattr() مطابق لـ setxattr()، لكن تُضبط السمة الممتدة على الملف المفتوح المشار إليه بـ fd (كما يُعاد بواسطة open(2)) بدلاً من path.
اسم السمة الممتدة هو سلسلة منتهية بقيمة خالية. يتضمن name بادئة نطاق أسماء؛ قد توجد عدة نطاقات أسماء منفصلة مرتبطة بعقدة فهرسة فردية. value للسمة الممتدة هو جزء من بيانات نصية أو ثنائية عشوائية بطول محدد.
بشكل مبدئي (أي، flags يساوي صفر)، تُنشأ السمة الممتدة إذا لم تكن موجودة، أو يُستبدل value إذا كانت السمة موجودة بالفعل. لتعديل هذه الدلالات، يمكن تحديد إحدى القيم التالية في flags:
- XATTR_CREATE
- ينفذ إنشاءً خالصًا، يفشل إذا كانت السمة المُسماة موجودة بالفعل.
- XATTR_REPLACE
- ينفذ عملية استبدال خالصة، تفشل إذا كانت السمة المُسماة غير موجودة بالفعل.
قيمة الإرجاع¶
يُعاد صفر عند النجاح. ويُعاد -1 عند الفشل وتُضبط errno للإشارة إلى الخطأ.
الأخطاء¶
- EDQUOT
- حدود حصة القرص تعني عدم وجود مساحة كافية متبقية لتخزين السمة الممتدة.
- EEXIST
- حُدد XATTR_CREATE، والسمة موجودة بالفعل.
- ENODATA
- حُدد XATTR_REPLACE، والسمة غير موجودة.
- ENOSPC
- لا توجد مساحة كافية متبقية لتخزين السمة الممتدة.
- ENOTSUP
- بادئة نطاق الأسماء لـ name غير صالحة.
- ENOTSUP
- السمات الممتدة غير مدعومة من قبل نظام الملفات، أو معطلة،
- EPERM
- الملف معلم بأنه غير قابل للتغيير أو للإلحاق فقط. (انظر FS_IOC_SETFLAGS(2const).)
بالإضافة إلى ذلك، يمكن أن تحدث أيضًا الأخطاء الموثقة في stat(2).
- ERANGE
- حجم name أو value يتجاوز حدًا خاصًا بنظام الملفات.
المعايير¶
لينكس.
التاريخ¶
لينكس 2.4، glibc 2.3.
انظر أيضًا¶
getfattr(1), setfattr(1), getxattr(2), listxattr(2), open(2), removexattr(2), stat(2), symlink(7), xattr(7)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 8 فبراير 2026 | صفحات دليل لينكس 6.18 |