.\" -*- coding: UTF-8 -*-
'\" t
.\" This manpage is Copyright (C) 1995 James R. Van Zandt <jrv@vanzandt.mv.com>
.\" and Copyright (C) 2006, 2014 Michael Kerrisk
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" changed section from 2 to 3, aeb, 950919
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH mkfifo 3 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
mkfifo, mkfifoat \- tworzy specjalny plik FIFO (potok nazwany)
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/types.h>\fP
\fB#include <sys/stat.h>\fP
.P
\fBint mkfifo(const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB);\fP
.P
\fB#include <fcntl.h>           \fP/* Definicja stałych AT_* */
\fB#include <sys/stat.h>\fP
.P
\fBint mkfifoat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB);\fP
.fi
.P
.RS -4
Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)):
.RE
.P
\fBmkfifoat\fP():
.nf
    Od glibc 2.10:
        _POSIX_C_SOURCE >= 200809L
    Przed glibc 2.10:
        _ATFILE_SOURCE
.fi
.SH OPIS
\fBmkfifo\fP() tworzy specjalny plik FIFO o nazwie \fIpathname\fP. \fImode\fP określa
uprawnienia FIFO. Są one modyfikowane przez \fIumask\fP procesu, w standardowy
sposób: uprawnieniami tworzonego pliku będą \fB(\fP\fImode\fP\fB & \[ti]umask)\fP.
.P
Specjalny plik FIFO jest podobny do potoku, z tą różnicą, że jest tworzony w
inny sposób. Zamiast być anonimowym kanałem komunikacji, specjalny plik FIFO
pojawia się w systemie plików po wywołaniu \fBmkfifo\fP().
.P
Po utworzeniu specjalnego pliku FIFO w ten sposób, dowolny proces może go
otworzyć do odczytu lub zapisu, w ten sam sposób, jak zwykły plik. Jednak
musi być otwarty na obu końcach równocześnie, aby dało się na nim
przeprowadzać operacje wejścia lub wyjścia. Otwarcie FIFO do odczytu zwykle
blokuje do momentu, aż jakiś inny proces nie otworzy tego samego FIFO do
zapisu i na odwrót. Opis nieblokującej obsługi specjalnych plików FIFO
zawarto w \fBfifo\fP(7).
.SS mkfifoat()
Wywołanie systemowe \fBmkfifoat\fP() operuje w dokładnie taki sam sposób jak
\fBmkfifo\fP(), z wyjątkiem różnic opisanych tutaj.
.P
Jeśli ścieżka podana w \fIpathname\fP jest względna, jest to interpretowane w
odniesieniu do katalogu do którego odnosi się deskryptor pliku \fIdirfd\fP
(zamiast w odniesieniu do bieżącego katalogu roboczego procesu wywołującego,
jak w stosunku do ścieżek względnych robi to \fBmkfifo\fP()).
.P
Jeśli \fIpathname\fP jest względna a \fIdirfd\fP ma wartość specjalną \fBAT_FDCWD\fP,
to \fIpathname\fP jest interpretowana w odniesieniu do bieżącego katalogu
roboczego procesu wywołującego (jak \fBmkfifo\fP()).
.P
Jeśli ścieżka \fIpathname\fP jest bezwzględna, to \fIdirfd\fP jest ignorowane.
.P
Więcej informacji o potrzebie wprowadzenia \fBmkfifoat\fP() można znaleźć w
podręczniku \fBopenat\fP(2).
.SH "WARTOŚĆ ZWRACANA"
Po pomyślnym zakończeniu \fBmkfifo\fP() i \fBmkfifoat\fP() zwracają zero. Po
błędzie zwracane jest \-1 ustawiane \fIerrno\fP wskazując błąd.
.SH BŁĘDY
.TP 
\fBEACCES\fP
Jeden z katalogów w ścieżce \fIpathname\fP nie zezwala na uprawnienie
przeszukania (wykonania).
.TP 
\fBEBADF\fP
(\fBmkfifoat\fP())  \fIpathname\fP jest względna, lecz \fIdirfd\fP nie jest ani
\fBAT_FDCWD\fP, ani prawidłowym deskryptorem pliku.
.TP 
\fBEDQUOT\fP
Wyczerpano przydział bloków dysku lub i\-węzłów użytkownika w systemie
plików.
.TP 
\fBEEXIST\fP
\fIpathname\fP już istnieje. Obejmuje to przypadek, gdy \fIpathname\fP jest
dowiązaniem symbolicznym, prawidłowym lub wiszącym.
.TP 
\fBENAMETOOLONG\fP
Całkowita długość \fIpathname\fP jest większa od \fBPATH_MAX\fP albo jakaś
pojedyncza składowa ścieżki ma długość większą od \fBNAME_MAX\fP. W systemie
GNU nie ma narzuconego limitu na długość całej ścieżki, ale niektóre systemy
plików mogą stosować limity dotyczące składowej ścieżki.
.TP 
\fBENOENT\fP
Składowa \fIpathname\fP, która powinna być katalogiem nie istnieje lub jest
wiszącym dowiązaniem symbolicznym.
.TP 
\fBENOSPC\fP
W katalogu lub systemie plików brak miejsca na nowy plik.
.TP 
\fBENOTDIR\fP
Składnik \fIpathname\fP, który powinien być katalogiem, w rzeczywistości
katalogiem nie jest.
.TP 
\fBENOTDIR\fP
(\fBmkfifoat\fP())  \fIpathname\fP jest ścieżką względną a \fIdirfd\fP jest
deskryptorem pliku odnoszącym się do pliku zamiast do katalogu.
.TP 
\fBEROFS\fP
\fIpathname\fP odnosi się do systemu plików tylko do odczytu.
.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
\fBmkfifo\fP(),
\fBmkfifoat\fP()
T}	Bezpieczeństwo wątkowe	MT\-bezpieczne
.TE
.SH WERSJE
Zaimplementowane za pomocą \fBmknodat\fP(2).
.SH STANDARDY
POSIX.1\-2008.
.SH HISTORIA
.TP 
\fBmkfifo\fP()
POSIX.1\-2001.
.TP 
\fBmkfifoat\fP()
glibc 2.4.  POSIX.1\-2008.
.SH "ZOBACZ TAKŻE"
\fBmkfifo\fP(1), \fBclose\fP(2), \fBopen\fP(2), \fBread\fP(2), \fBstat\fP(2), \fBumask\fP(2),
\fBwrite\fP(2), \fBfifo\fP(7)
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
Michał Kułach <michal.kulach@gmail.com>
.
.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 .
