.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) .\" and Copyright (C) 2008, Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" References consulted: .\" Linux libc source code .\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) .\" 386BSD man pages .\" Modified Sat Jul 24 18:48:48 1993 by Rik Faith (faith@cs.unc.edu) .\" Modified 980310, aeb .\" Modified 990328, aeb .\" 2008-06-19, mtk, Added mkostemp(); various other changes .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mkstemp 3 "23 iulie 2024" "Pagini de manual de Linux 6.12" .SH NUME mkstemp, mkostemp, mkstemps, mkostemps \- creează un fișier temporar unic .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .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 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \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 DESCRIERE Funcția \fBmkstemp\fP() generează un nume de fișier temporar unic din \fIșablon\fP, creează și deschide fișierul și returnează un descriptor de fișier deschis pentru fișier. .P Ultimele șase caractere din \fIșablon\fP trebuie să fie XXXXXX, iar acestea sunt înlocuite cu un șir de caractere care face ca numele de fișier să fie unic. Deoarece va fi modificat, \fIșablonul\fP nu trebuie să fie o constantă de șiruri de caractere, ci trebuie declarat ca o matrice de caractere. .P Fișierul este creat cu permisiunile 0600, adică citire plus scriere numai pentru proprietar. Descriptorul de fișier returnat oferă atât acces de citire, cât și de scriere la fișier. Fișierul este deschis cu fanionul \fBopen\fP(2) \fBO_EXCL\fP, garantând că apelantul este procesul care creează fișierul. .P .\" Reportedly, FreeBSD Funcția \fBmkostemp\fP() este ca \fBmkstemp\fP(), cu diferența că în \fIflags\fP pot fi specificați următorii biți \- cu același înțeles ca pentru \fBopen\fP(2) \- \fBO_APPEND\fP, \fBO_CLOEXEC\fP și \fBO_SYNC\fP. Rețineți că la crearea fișierului, \fBmkostemp\fP() include valorile \fBO_RDWR\fP, \fBO_CREAT\fP și \fBO_EXCL\fP în argumentul \fIflags\fP dat lui \fBopen\fP(2); includerea acestor valori în argumentul \fIflags\fP dat lui \fBmkostemp\fP() nu este necesară și produce erori pe unele sisteme. .P Funcția \fBmkstemps\fP() este similară funcției \fBmkstemp\fP(), cu excepția faptului că șirul din \fIșablon\fP conține un sufix de caractere \fIsuffixlen\fP. Astfel, \fIșablon\fP este de forma \fIprefixXXXXXXsuffix\fP, iar șirul XXXXXX este modificat ca pentru \fBmkstemp\fP(). .P Funcția \fBmkostemps\fP() este pentru \fBmkstemps\fP() la fel cum \fBmkostemp\fP() este pentru \fBmkstemp\fP(). .SH "VALOAREA RETURNATĂ" În caz de succes, aceste funcții returnează descriptorul de fișier al fișierului temporar. În caz de eroare, este returnat \-1, iar \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEEXIST\fP Nu s\-a putut crea un nume de fișier temporar unic. Acum conținutul \fIșablonului\fP este nedefinit. .TP \fBEINVAL\fP Pentru \fBmkstemp\fP() și \fBmkostemp\fP(): ultimele șase caractere din \fIșablon\fP nu erau XXXXXX; acum \fIșablon\fP este neschimbat. .IP Pentru \fBmkstemps\fP() și \fBmkostemps\fP(): \fIșablon\fP are mai puțin de \fI(6 + suffixlen)\fP caractere sau ultimele 6 caractere dinaintea sufixului din \fIșablon\fP nu au fost XXXXXX. .P Aceste funcții pot eșua, de asemenea, cu oricare dintre erorile descrise pentru \fBopen\fP(2). .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBmkstemp\fP(), \fBmkostemp\fP(), \fBmkstemps\fP(), \fBmkostemps\fP() T} Siguranța firelor MT\-Safe .TE .SH STANDARDE .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 ISTORIC .TP \fBmkstemp\fP() 4.3BSD, POSIX.1\-2001. .TP \fBmkstemps\fP() glibc 2.11. BSD, Mac OS X, Solaris, Tru64. .TP \fBmkostemp\fP() glibc 2.7. .TP \fBmkostemps\fP() glibc 2.11. .P În versiunile glibc 2.06 și anterioare, fișierul este creat cu permisiunile 0666, adică citire și scriere pentru toți utilizatorii. Acest comportament vechi poate reprezenta un risc de securitate, mai ales că alte versiuni UNIX utilizează 0600, iar cineva ar putea trece cu vederea acest detaliu la adaptarea programelor. POSIX.1\-2008 adaugă o cerință ca fișierul să fie creat cu modul 0600. .P .\" .\" The prototype for .\" .BR mkstemp () .\" is in .\" .I .\" for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in .\" .IR . Mai general, specificația POSIX a \fBmkstemp\fP() nu spune nimic despre modurile de fișier, astfel încât aplicația ar trebui să se asigure că masca sa de creare a modului de fișier (consultați \fBumask\fP(2)) este definită corespunzător înainte de a apela \fBmkstemp\fP() (și \fBmkostemp\fP()). .SH "CONSULTAȚI ȘI" \fBmkdtemp\fP(3), \fBmktemp\fP(3), \fBtempnam\fP(3), \fBtmpfile\fP(3), \fBtmpnam\fP(3) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .