.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993, David Metcalfe .\" Copyright 2008, 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 mkstemp 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم mkstemp, mkostemp, mkstemps, mkostemps \- إنشاء ملف مؤقت فريد .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#include \fP .P \fBint mkstemp(char *\fP\fItemplate\fP\fB);\fP \fBint mkostemp(char *\fP\fItemplate\fP\fB, int \fP\fIflags\fP\fB);\fP \fBint mkstemps(char *\fP\fItemplate\fP\fB, int \fP\fIsuffixlen\fP\fB);\fP \fBint mkostemps(char *\fP\fItemplate\fP\fB, int \fP\fIsuffixlen\fP\fB, int \fP\fIflags\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBmkstemp\fP(): .nf .\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED _XOPEN_SOURCE >= 500 || /* glibc >= 2.12: */ _POSIX_C_SOURCE >= 200809L || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE .fi .P \fBmkostemp\fP(): .nf _GNU_SOURCE .fi .P \fBmkstemps\fP(): .nf /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE .fi .P \fBmkostemps\fP(): .nf _GNU_SOURCE .fi .SH الوصف تولد الدالة \fBmkstemp\fP() اسم ملف مؤقت فريد من \fItemplate\fP، وتنشئ الملف وتفتحه، وتعيد واصف ملف مفتوح للملف. .P يجب أن تكون آخر ستة محارف من \fItemplate\fP هي "XXXXXX" وتُستبدل هذه بسلسلة محارف تجعل اسم الملف فريدًا. نظرًا لأنه سيُعدل، فلا يجب أن يكون \fItemplate\fP ثابت سلسلة محارف، بل يُصرح عنه كمصفوفة محارف. .P يُنشأ الملف بأذونات 0600، أي قراءة وكتابة للمالك فقط. يوفر واصف الملف المُعاد وصول القراءة والكتابة للملف. يُفتح الملف بعلم \fBO_EXCL\fP من \fBopen\fP(2)، مما يضمن أن المتصل هو العملية التي تنشئ الملف. .P .\" Reportedly, FreeBSD الدالة \fBmkostemp\fP() تشبه \fBmkstemp\fP()، مع الفرق أن البتات التالية\[em]بنفس المعنى كما في \fBopen\fP(2)\[em]قد تُحدد في \fIflags\fP: \fBO_APPEND\fP و\fBO_CLOEXEC\fP و\fBO_SYNC\fP. لاحظ أنه عند إنشاء الملف، تضمّن \fBmkostemp\fP() القيم \fBO_RDWR\fP و\fBO_CREAT\fP و\fBO_EXCL\fP في وسيط \fIflags\fP المُعطى لـ \fBopen\fP(2)؛ تضمين هذه القيم في وسيط \fIflags\fP المُعطى لـ \fBmkostemp\fP() غير ضروري، ويُنتج أخطاء في بعض الأنظمة. .P الدالة \fBmkstemps\fP() تشبه \fBmkstemp\fP()، باستثناء أن سلسلة المحارف في \fItemplate\fP تحتوي على لاحقة بطول \fIsuffixlen\fP محرفًا. وبالتالي، \fItemplate\fP يكون بالشكل \fIprefixXXXXXXsuffix\fP، وتُعدل سلسلة المحارف XXXXXX كما في \fBmkstemp\fP(). .P الدالة \fBmkostemps\fP() بالنسبة لـ \fBmkstemps\fP() هي كما \fBmkostemp\fP() بالنسبة لـ \fBmkstemp\fP(). .SH "قيمة الإرجاع" عند النجاح، تُعيد هذه الدوال واصف الملف المؤقت. عند الخطأ، تُعاد \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEEXIST\fP تعذر إنشاء اسم ملف مؤقت فريد. الآن محتويات \fItemplate\fP غير مُعرّفة. .TP \fBEINVAL\fP بالنسبة لـ \fBmkstemp\fP() و\fBmkostemp\fP(): آخر ستة محارف من \fItemplate\fP لم تكن XXXXXX؛ الآن \fItemplate\fP لم يتغير. .IP بالنسبة لـ \fBmkstemps\fP() و\fBmkostemps\fP(): طول \fItemplate\fP أقل من \fI(6 + suffixlen)\fP محرفًا، أو آخر 6 محارف قبل اللاحقة في \fItemplate\fP لم تكن XXXXXX. .P قد تفشل هذه الدوال أيضًا مع أي من الأخطاء الموصوفة لـ \fBopen\fP(2). .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBmkstemp\fP()، \fBmkostemp\fP()، \fBmkstemps\fP()، \fBmkostemps\fP() T} سلامة الخيوط MT\-Safe .TE .SH المعايير .TP \fBmkstemp\fP() POSIX.1\-2001. .TP \fBmkstemps\fP() .\" mkstemps() appears to be at least on the BSDs, Mac OS X, Solaris, .\" and Tru64. BSD. .TP \fBmkostemp\fP() .TQ \fBmkostemps\fP() GNU. .SH التاريخ .TP \fBmkstemp\fP() 4.3BSD، POSIX.1\-2001. .TP \fBmkstemps\fP() glibc 2.11. BSD، ماك أو إس إكس، سولاريس، ترو64. .TP \fBmkostemp\fP() glibc 2.7. .TP \fBmkostemps\fP() glibc 2.11. .P في إصدارات glibc 2.06 والأقدم، يُنشأ الملف بأذونات 0666، أي قراءة وكتابة لجميع المستخدمين. قد يشكل هذا السلوك القديم خطرًا أمنيًا، خاصةً أن نكهات يونكس الأخرى تستخدم 0600، وقد يغفل أحدهم عن هذه التفصيلة عند نقل البرامج. يضيف POSIX.1\-2008 شرطًا بأن يُنشأ الملف بالوضع 0600. .P .\" .\" The prototype for .\" .BR mkstemp () .\" is in .\" .I .\" for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in .\" .IR . بشكل أعم، لا يذكر مواصفة POSIX للدالة \fBmkstemp\fP() شيئًا عن أوضاع الملف، لذا ينبغي للتطبيق التأكد من تعيين قناع إنشاء وضع الملف (انظر \fBumask\fP(2)) بشكل مناسب قبل استدعاء \fBmkstemp\fP() (و \fBmkostemp\fP()). .SH "انظر أيضًا" \fBmkdtemp\fP(3)، \fBmktemp\fP(3)، \fBtempnam\fP(3)، \fBtmpfile\fP(3)، \fBtmpnam\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .