.\" -*- coding: UTF-8 -*- '\" t .\" 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 "17 maja 2025 r." "Linux man\-pages 6.15" .SH NAZWA mkstemp, mkostemp, mkstemps, mkostemps \- tworzy unikalny plik tymczasowy .SH BIBLIOTEKA Standardowa biblioteka C (\fIlibc\fP,\ \fI\-lc\fP) .SH SKŁADNIA .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 Wymagane ustawienia makr biblioteki glibc (patrz \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 OPIS Funkcja \fBmkstemp\fP() generuje unikalną nazwę pliku tymczasowego z \fItemplate\fP, tworzy i otwiera plik oraz zwraca deskryptor otwartego pliku. .P Ostatnimi sześcioma znakami w \fItemplate\fP musi być \[Bq]XXXXXX\[rq]; znaki te są zastępowane łańcuchem, który czyni nazwę pliku unikalną. Jako że zostanie on zmodyfikowany, \fItemplate\fP nie może być stałą łańcuchową, lecz należy go zadeklarować jako tablicę znaków. .P Plik jest tworzony z uprawnieniami 0600 tj. odczyt i zapis tylko dla właściciela. Zwracany deskryptor pliku zapewnia dostęp do odczytu i do zapisu do pliku. Plik jest otwierany ze znacznikiem \fBO_EXCL\fP \fBopen\fP(2), co gwarantuje, że wywołujący jest procesem tworzącym plik. .P .\" Reportedly, FreeBSD Funkcja \fBmkostemp\fP() działa jak \fBmkstemp\fP(), z tą różnicą, że następujące bity \[em] o znaczeniu takim samym jak w \fBopen\fP(2) \[em] można przekazać we \fIflags\fP: \fBO_APPEND\fP, \fBO_CLOEXEC\fP i \fBO_SYNC\fP. Proszę zauważyć, że tworząc plik, \fBmkostemp\fP() zawiera wartości \fBO_RDWR\fP, \fBO_CREAT\fP i \fBO_EXCL\fP w argumencie \fIflags\fP przekazywanym do \fBopen\fP(2); dołączanie tych wartości w argumencie \fIflags\fP przekazywanym \fBmkostemp\fP() jest niepotrzebne, a na niektórych systemach zwraca błąd. .P Funkcja \fBmkstemps\fP() działa jak \fBmkstemp\fP() z tą różnicą, że łańcuch w \fItemplate\fP zawiera przyrostek o długości \fIsuffixlen\fP znaków. Z tego względu \fItemplate\fP ma postać \fIprzedrostekXXXXXXprzyrostek\fP, a łańcuch XXXXXX jest modyfikowany przez \fBmkstemp\fP(). .P Funkcja \fBmkostemps\fP() jest w stosunku do \fBmkstemps\fP() tym, czym \fBmkostemp\fP() jest dla funkcji \fBmkstemp\fP(). .SH "WARTOŚĆ ZWRACANA" Po pomyślnym zakończeniu funkcje te zwracają deskryptor pliku dla pliku tymczasowego. Po błędzie zwracane jest \-1 i ustawiane \fIerrno\fP wskazując błąd. .SH BŁĘDY .TP \fBEEXIST\fP Nie można utworzyć unikalnej nazwy pliku tymczasowego. Zawartość \fItemplate\fP jest teraz niezdefiniowana. .TP \fBEINVAL\fP Dla \fBmkstemp\fP() i \fBmkostemp\fP(): Ostatnimi sześcioma znakami \fItemplate\fP nie były XXXXXX; \fItemplate\fP nie uległo zmianie. .IP Dla \fBmkstemps\fP() i \fBmkostemps\fP(): \fItemplate\fP jest krótsze niż \fI(6 + suffixlen)\fP znaków albo ostatnimi 6 znakami w \fItemplate\fP przed przyrostkiem nie było XXXXXX. .P Funkcje te mogą również zawieść z dowolnym błędem opisanym dla \fBopen\fP(2). .SH ATRYBUTY Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfejs Atrybut Wartość T{ .na .nh \fBmkstemp\fP(), \fBmkostemp\fP(), \fBmkstemps\fP(), \fBmkostemps\fP() T} Bezpieczeństwo wątkowe MT\-bezpieczne .TE .SH STANDARDY .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 HISTORIA .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 W wersjach glibc 2.06 i wcześniejszych, tworzony plik ma uprawnienia 0666 tj. odczyt i zapis dla wszystkich. To stare zachowanie może stanowić zagrożenie bezpieczeństwa, szczególnie ze względu, że inne odmiany Uniksa używają 0600 i ktoś mógłby pominąć ten detal przy portowaniu programów. POSIX.1\-2008 dodaje wymóg, aby ten plik był tworzony z trybem 0600. .P .\" .\" The prototype for .\" .BR mkstemp () .\" is in .\" .I .\" for libc4, libc5, glibc1; glibc2 follows POSIX.1 and has the prototype in .\" .IR . Ogólniej, norma POSIX wobec \fBmkstemp\fP() nie mówi nic o trybach pliku, zatem aplikacje powinny się upewnić, że ich maska trybu tworzonych plików (zob. \fBumask\fP(2)) jest właściwie ustawiona przed wywołaniem \fBmkstemp\fP() (i \fBmkostemp\fP()). .SH "ZOBACZ TAKŻE" \fBmkdtemp\fP(3), \fBmktemp\fP(3), \fBtempnam\fP(3), \fBtmpfile\fP(3), \fBtmpnam\fP(3) .PP .SH TŁUMACZENIE Tłumaczenie niniejszej strony podręcznika: Michał Kułach . .PP Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License w wersji 3 .UE lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. .PP Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej .MT manpages-pl-list@lists.sourceforge.net .ME .