Scroll to navigation

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).

انظر أيضًا

msgget(2), semget(2), shmget(2), stat(2), sysvipc(7)

ترجمة

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

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

8 فبراير 2026 صفحات دليل لينكس (لم تصدر بعد)