| ftok(3) | Library Functions Manual | ftok(3) |
الاسم¶
ftok - تحويل اسم مسار ومعرف مشروع إلى مفتاح IPC من نوع System V
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
موجز¶
#include <sys/ipc.h>
key_t ftok(const char *path, int proj_id);
الوصف¶
تستخدم الدالة ftok() هوية الملف المسمى بالمسار path (الذي يجب أن يشير إلى ملف موجود وقابل للوصول) وأقل 8 بتات أهمية من proj_id (التي يجب أن تكون غير صفرية) لتوليد مفتاح IPC من نوع key_t لنظام System V، مناسب للاستخدام مع msgget(2) أو semget(2) أو shmget(2).
تكون القيمة الناتجة نفسها لجميع أسماء المسارات التي تسمي نفس الملف، عند استخدام نفس قيمة proj_id. يجب أن تكون القيمة المعادة مختلفة عندما تختلف الملفات (الموجودة في نفس الوقت) أو معرفات المشاريع.
قيمة الإرجاع¶
عند النجاح، تُعاد القيمة المولدة key_t. عند الفشل، تُعاد -1، مع errno الذي يشير إلى الخطأ كما في استدعاء النظام stat(2).
السمات¶
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
| الواجهة | السمة | القيمة |
| ftok() | سلامة الخيوط | MT-Safe |
المعايير¶
POSIX.1-2008.
التاريخ¶
POSIX.1-2001.
ملاحظات¶
في بعض الأنظمة القديمة، كان النموذج الأولي:
key_t ftok(char *path, char proj_id);
اليوم، proj_id هو int، ولكن ما زالت تُستخدم 8 بتات فقط. الاستخدام النموذجي يحتوي على حرف ASCII proj_id، ولهذا يُقال إن السلوك غير محدد عندما يكون proj_id صفرًا.
بالطبع، لا يمكن تقديم ضمان بأن key_t الناتج فريد. عادةً، تجمع محاولة بأقصى جهد بين بايت proj_id المعطى، وأقل 16 بتًا من رقم inode، وأقل 8 بتات من رقم الجهاز في نتيجة 32 بت. قد تحدث تصادمات بسهولة، على سبيل المثال بين الملفات على /dev/hda1 والملفات على /dev/sda1.
أمثلة¶
انظر semget(2).
انظر أيضًا¶
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 8 فبراير 2026 | صفحات دليل لينكس (لم تصدر بعد) |