.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2006, Michael Kerrisk .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH sem_open 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم sem_open \- تهيئة وفتح سيمافور مسمى .SH المكتبة مكتبة مسالك POSIX (\fIlibpthread\fP،\ \fI\-lpthread\fP) .SH موجز .nf \fB#include \fP /* لثوابت O_* */ \fB#include \fP /* لثوابت الوضع */ \fB#include \fP .P \fBsem_t *sem_open(const char *\fP\fIname\fP\fB, int \fP\fIoflag\fP\fB, ...\fP \fB \fP\f[R]/*\fB mode_t \fP\fImode\fP\fB, unsigned int \fP\fIvalue\fP\fB \fP\f[R]*/\fB );\fP .fi .SH الوصف تنشئ \fBsem_open\fP() سيمافور POSIX جديدًا أو تفتح سيمافورًا موجودًا. يُعرَّف السيمافور بواسطة \fIname\fP. لتفاصيل بناء \fIname\fP، انظر \fBsem_overview\fP(7). .P .\" In reality the filesystem IDs are used on Linux. يحدد المعامل \fIoflag\fP الأعلام التي تتحكم في عملية الاستدعاء. (يمكن الحصول على تعريفات قيم الأعلام بتضمين \fI\fP.) إذا حُدد \fBO_CREAT\fP في \fIoflag\fP، يُنشأ السيمافور إذا لم يكن موجودًا بالفعل. يُضبط مالك السيمافور (معرف المستخدم) على معرف المستخدم الفعّال للعملية المستدعية. تُضبط ملكية المجموعة (معرف المجموعة) على معرف المجموعة الفعّال للعملية المستدعية. إذا حُدد كل من \fBO_CREAT\fP و\fBO_EXCL\fP في \fIoflag\fP، يُرجع خطأ إذا كان سيمافور بالاسم \fIname\fP موجودًا بالفعل. .P إذا حُدد \fBO_CREAT\fP في \fIoflag\fP، يجب توفير معاملين إضافيين. يحدد المعامل \fImode\fP الصلاحيات التي تُوضع على السيمافور الجديد، كما في \fBopen\fP(2). (يمكن الحصول على التعريفات الرمزية لبتات الصلاحيات بتضمين \fI\fP.) تُقنَّع إعدادات الصلاحيات مقابل umask العملية. يجب منح صلاحية القراءة والكتابة لكل فئة من المستخدمين التي ستصل إلى السيمافور. يحدد المعامل \fIvalue\fP القيمة المبدئية للسيمافور الجديد. إذا حُدد \fBO_CREAT\fP وكان سيمافور بالاسم \fIname\fP موجودًا بالفعل، يُتجاهل \fImode\fP و\fIvalue\fP. .SH "قيمة الإرجاع" عند النجاح، تُرجع \fBsem_open\fP() عنوان السيمافور الجديد؛ يُستخدم هذا العنوان عند استدعاء دوال أخرى متعلقة بالسيمافور. عند الخطأ، تُرجع \fBsem_open\fP() \fBSEM_FAILED\fP، مع ضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEACCES\fP السيمافور موجود، لكن ليس لدى المستدعي صلاحية فتحه. .TP \fBEEXIST\fP حُدد كل من \fBO_CREAT\fP و\fBO_EXCL\fP في \fIoflag\fP، لكن سيمافور بهذا \fIname\fP موجود بالفعل. .TP \fBEINVAL\fP كان \fIvalue\fP أكبر من \fBSEM_VALUE_MAX\fP. .TP \fBEINVAL\fP يتكون \fIname\fP من "/" فقط، دون أحرف أخرى بعده. .TP \fBEMFILE\fP وُصل إلى الحد الأقصى لواصفات الملفات المفتوحة لكل عملية. .TP \fBENAMETOOLONG\fP الاسم \fIname\fP كان طويلاً جداً. .TP \fBENFILE\fP وُصل إلى الحد الأقصى لإجمالي عدد الملفات المفتوحة على مستوى النظام. .TP \fBENOENT\fP .\" this error can occur if we have a name of the (nonportable) form .\" /dir/name, and the directory /dev/shm/dir does not exist. لم يُحدد علم \fBO_CREAT\fP في \fIoflag\fP ولا يوجد سيمافور بهذا \fIname\fP؛ أو حُدد \fBO_CREAT\fP، لكن \fIname\fP لم يكن جيد التكوين. .TP \fBENOMEM\fP ذاكرة غير كافية. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBsem_open\fP() T} سلامة الخيوط MT\-Safe .TE .SH المعايير POSIX.1\-2008. .SH التاريخ POSIX.1\-2001. .SH "انظر أيضًا" \fBsem_close\fP(3), \fBsem_getvalue\fP(3), \fBsem_post\fP(3), \fBsem_unlink\fP(3), \fBsem_wait\fP(3), \fBsem_overview\fP(7) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .