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

NUME

       tmpnam, tmpnam_r - creează un nume pentru un fișier temporar

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <stdio.h>

       [[depreciat]] char *tmpnam(char *s);
       [[depreciat]] char *tmpnam_r(char *s);

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

       tmpnam_r()
           Începând cu glibc 2.19:
               _DEFAULT_SOURCE
           Până la glibc 2.19 inclusiv:
               _BSD_SOURCE || _SVID_SOURCE

DESCRIERE

       Notă: evitați utilizarea acestor funcții; utilizați în schimb mkstemp(3) sau tmpfile(3).

       Funcția  tmpnam()  returnează un indicator către un șir de caractere care este un nume de fișier valid și
       care este de așa natură încât un fișier cu acest nume nu  a  existat  la  un  moment  dat,  astfel  încât
       programatorii  naivi  pot  considera  că este un nume adecvat pentru un fișier temporar. În cazul în care
       argumentul s este NULL, acest nume este generat  într-o  memorie  tampon  statică  internă  și  poate  fi
       suprascris de următorul apel al funcției tmpnam(). Dacă s nu este NULL, numele este copiat în matricea de
       caractere  (cu  o  lungime  de cel puțin L_tmpnam) indicată de s, iar valoarea s este returnată în caz de
       succes.

       Numele de rută creat are un prefix de director P_tmpdir; (atât L_tmpnam, cât și P_tmpdir sunt definite în
       <stdio.h>, la fel ca și TMP_MAX menționat mai jos).

       Funcția tmpnam_r() îndeplinește aceeași sarcină ca și tmpnam(), dar returnează NULL (pentru  a  indica  o
       eroare) dacă s este NULL.

VALOAREA RETURNATĂ

       Aceste  funcții  returnează  un indicator către un nume de fișier temporar unic sau NULL dacă nu poate fi
       generat un nume unic.

ERORI-IEȘIRE

       Nu sunt definite erori.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌────────────────────────────────────────────────────────┬───────────────────┬──────────────────────────┐
       │ InterfațăAtributValoare                  │
       ├────────────────────────────────────────────────────────┼───────────────────┼──────────────────────────┤
       │ tmpnam()                                               │ Siguranța firelor │ MT-Unsafe race:tmpnam/!s │
       ├────────────────────────────────────────────────────────┼───────────────────┼──────────────────────────┤
       │ tmpnam_r()                                             │ Siguranța firelor │ MT-Safe                  │
       └────────────────────────────────────────────────────────┴───────────────────┴──────────────────────────┘

STANDARDE

       tmpnam()
              C11, POSIX.1-2008.

       tmpnam_r()
              Niciunul.

ISTORIC

       tmpnam()
              SVr4, 4.3BSD, C89, POSIX.1-2001. Obsoletă în POSIX.1-2008.

       tmpnam_r()
              Solaris.

NOTE

       Funcția tmpnam() generează un șir diferit de fiecare dată când este apelată, până  la  TMP_MAX  ori.   În
       cazul în care este apelată de mai mult de TMP_MAX ori, comportamentul este definit de implementare.

       Cu  toate  că aceste funcții generează nume greu de ghicit, este totuși posibil ca între momentul în care
       este returnat numele de rută și momentul în care programul îl deschide, un alt  program  să  creeze  acel
       nume  de  rută folosind open(2) sau să îl creeze ca o legătură simbolică. Acest lucru poate duce la găuri
       de securitate. Pentru a evita astfel de posibilități,  utilizați  indicatorul  open(2)  O_EXCL  pentru  a
       deschide numele de rută. Sau, mai bine, utilizați mkstemp(3) sau tmpfile(3).

       Aplicațiile  portabile  care  utilizează  fire de execuție nu pot apela tmpnam() cu un argument NULL dacă
       este definit fie _POSIX_THREADS, fie _POSIX_THREAD_SAFE_FUNCTIONS.

ERORI

       Nu utilizați niciodată aceste funcții.  Folosiți în schimb mkstemp(3) sau tmpfile(3).

CONSULTAȚI ȘI

       mkstemp(3), mktemp(3), tempnam(3), tmpfile(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                                          tmpnam(3)