Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       mkstemp, mkostemp, mkstemps, mkostemps - creează un fișier temporar unic

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <stdlib.h>

       int mkstemp(char *template);
       int mkostemp(char *template, int flags);
       int mkstemps(char *template, int suffixlen);
       int mkostemps(char *template, int suffixlen, int flags);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       mkstemp():
           _XOPEN_SOURCE >= 500
               || /* glibc >= 2.12: */ _POSIX_C_SOURCE >= 200809L
               || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

       mkostemp():
           _GNU_SOURCE

       mkstemps():
           /* glibc >= 2.19: */ _DEFAULT_SOURCE
               || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE

       mkostemps():
           _GNU_SOURCE

DESCRIERE

       Funcția  mkstemp()  generează un nume de fișier temporar unic din șablon, creează și deschide fișierul și
       returnează un descriptor de fișier deschis pentru fișier.

       Ultimele șase caractere din șablon 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, șablonul nu trebuie să fie
       o constantă de șiruri de caractere, ci trebuie declarat ca o matrice de caractere.

       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 open(2) O_EXCL, garantând că apelantul este procesul care creează fișierul.

       Funcția mkostemp() este ca mkstemp(), cu diferența că în flags pot fi specificați  următorii  biți  -  cu
       același  înțeles  ca  pentru  open(2) - O_APPEND, O_CLOEXEC și O_SYNC. Rețineți că la crearea fișierului,
       mkostemp() include valorile O_RDWR, O_CREAT și O_EXCL în argumentul flags  dat  lui  open(2);  includerea
       acestor valori în argumentul flags dat lui mkostemp() nu este necesară și produce erori pe unele sisteme.

       Funcția  mkstemps() este similară funcției mkstemp(), cu excepția faptului că șirul din șablon conține un
       sufix de caractere suffixlen.  Astfel, șablon este de forma prefixXXXXXXsuffix,  iar  șirul  XXXXXX  este
       modificat ca pentru mkstemp().

       Funcția mkostemps() este pentru mkstemps() la fel cum mkostemp() este pentru mkstemp().

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 errno este configurată pentru a indica eroarea.

ERORI-IEȘIRE

       EEXIST Nu s-a putut crea un nume de fișier temporar unic.  Acum conținutul șablonului este nedefinit.

       EINVAL Pentru mkstemp() și mkostemp(): ultimele șase caractere din șablon nu  erau  XXXXXX;  acum  șablon
              este neschimbat.

              Pentru mkstemps() și mkostemps(): șablon are mai puțin de (6 + suffixlen) caractere sau ultimele 6
              caractere dinaintea sufixului din șablon nu au fost XXXXXX.

       Aceste funcții pot eșua, de asemenea, cu oricare dintre erorile descrise pentru open(2).

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌─────────────────────────────────────────────────────────────────────────┬───────────────────┬─────────┐
       │ InterfațăAtributValoare │
       ├─────────────────────────────────────────────────────────────────────────┼───────────────────┼─────────┤
       │ mkstemp(), mkostemp(), mkstemps(), mkostemps()                          │ Siguranța firelor │ MT-Safe │
       └─────────────────────────────────────────────────────────────────────────┴───────────────────┴─────────┘

STANDARDE

       mkstemp()
              POSIX.1-2001.

       mkstemps()
              BSD.

       mkostemp()
       mkostemps()
              GNU.

ISTORIC

       mkstemp()
              4.3BSD, POSIX.1-2001.

       mkstemps()
              glibc 2.11.  BSD, Mac OS X, Solaris, Tru64.

       mkostemp()
              glibc 2.7.

       mkostemps()
              glibc 2.11.

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

       Mai  general,  specificația  POSIX  a  mkstemp()  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  umask(2))  este
       definită corespunzător înainte de a apela mkstemp() (și mkostemp()).

CONSULTAȚI ȘI

       mkdtemp(3), mktemp(3), tempnam(3), tmpfile(3), tmpnam(3)

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  sau  o
       versiune   ulterioară   cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se  asumă  NICIO
       RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să  trimiteți  un  e-mail  la  translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                         mkstemp(3)