.\" -*- coding: UTF-8 -*-
.\" This manpage is Copyright (C) 1992 Drew Eckhardt;
.\"             and Copyright (C) 1993 Michael Haardt
.\"             and Copyright (C) 1993,1994 Ian Jackson
.\"		and Copyright (C) 2006, 2014, Michael Kerrisk
.\"
.\" SPDX-License-Identifier: GPL-1.0-or-later
.\"
.\" Modified 1996-08-18 by urs
.\" Modified 2003-04-23 by Michael Kerrisk
.\" Modified 2004-06-23 by Michael Kerrisk <mtk.manpages@gmail.com>
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH mknod 2 "5 lutego 2023 r." "Linux man\-pages 6.03" 
.SH NAZWA
mknod, mknodat \- tworzy plik specjalny lub zwykły
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/stat.h>\fP
.PP
\fBint mknod(const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB, dev_t \fP\fIdev\fP\fB);\fP
.PP
\fB#include <fcntl.h>           \fP/* Definicja stałych AT_* */
\fB#include <sys/stat.h>\fP
.PP
\fBint mknodat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB, dev_t \fP\fIdev\fP\fB);\fP
.fi
.PP
.RS -4
Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)):
.RE
.PP
\fBmknod\fP():
.nf
.\"    || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
    _XOPEN_SOURCE >= 500
        || /* Od glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH OPIS
Wywołanie systemowe \fBmknod\fP() tworzy węzeł w systemie plików (plik, plik
urządzenia specjalnego lub nazwany potok) o nazwie \fIpathname\fP, z atrybutami
określonymi w \fImode\fP i \fIdev\fP.
.PP
Argument \fImode\fP określa tryb pliku do użycia oraz typ węzła do
utworzenia. Powinien być kombinacją (bitowym LUB) jednego z typów plików,
wypisanych poniżej, oraz zera lub więcej bitów trybu pliku, wypisanych w
podręczniku \fBinode\fP(7).
.PP
Tryb pliku jest modyfikowany przez \fIumask\fP procesu, w standardowy sposób:
jeśli brak domyślnych ACL, uprawnieniami tworzonego węzła będą (\fImode\fP &
\[ti]\fIumask\fP).
.PP
.\" (S_IFSOCK since Linux 1.2.4)
Typem pliku musi być jeden z: \fBS_IFREG\fP, \fBS_IFCHR\fP, \fBS_IFBLK\fP, \fBS_IFIFO\fP
lub \fBS_IFSOCK\fP, co określa, odpowiednio, zwykły plik (utworzony jako
pusty), specjalny plik znakowy, specjalny plik blokowy, FIFO (nazwany potok)
lub gniazdo domeny Uniksa (zerowy typ pliku jest równoważny \fBS_IFREG\fP).
.PP
Jeśli typem pliku jest \fBS_IFCHR\fP lub \fBS_IFBLK\fP, to \fIdev\fP określa główny i
poboczny numer nowo tworzonego specjalnego pliku urządzenia (do utworzenia
wartości \fIdev\fP przydatny może być \fBmakedev\fP(3)); w innych przypadkach jest
ignorowane.
.PP
Jeśli \fIpathname\fP już istnieje lub jest dowiązaniem symbolicznym, niniejsze
wywołanie zawiedzie z błędem \fBEEXIST\fP.
.PP
.\"
.\"
Nowo tworzony węzeł będzie własnością efektywnego identyfikatora użytkownika
procesu. Jeśli katalog zawierający węzeł ma ustawiony bit set\-group\-ID albo
system plików zamontowano z semantyką grup BSD, nowy węzeł odziedziczy
własność grupy ze swojego katalogu nadrzędnego; w innym przypadku będzie
własnością efektywnego identyfikatora grupy procesu.
.SS mknodat()
Wywołanie systemowe \fBmknodat\fP() operuje w dokładnie taki sam sposób jak
\fBmknod\fP(), z wyjątkiem różnic opisanych tutaj.
.PP
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 \fBmknod\fP()).
.PP
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 \fBmknod\fP()).
.PP
Jeśli ścieżka \fIpathname\fP jest bezwzględna, to \fIdirfd\fP jest ignorowane.
.PP
Więcej informacji o potrzebie wprowadzenia \fBmknodat\fP() można znaleźć w
podręczniku \fBopenat\fP(2).
.SH "WARTOŚĆ ZWRACANA"
\fBmknod\fP() i \fBmknodat\fP() zwracają zero przy powodzeniu. W przypadku błędu,
zwracane jest \-1 i ustawiane \fIerrno\fP wskazując błąd.
.SH BŁĘDY
.TP 
\fBEACCES\fP
Katalog nadrzędny nie zezwala na uprawnienie do zapisu wobec procesu lub
jeden z katalogów w przedrostku ścieżki \fIpathname\fP nie zezwala na
uprawnienie przeszukania (zob. też \fBpath_resolution\fP(7)).
.TP 
\fBEBADF\fP
(\fBmknodat\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 
\fBEFAULT\fP
\fIpathname\fP wskazuje poza dostępną dla użytkownika przestrzeń adresową.
.TP 
\fBEINVAL\fP
\fImode\fP zażądał utworzenie czegoś innego niż zwykły plik, specjalny plik
urządzenia lub gniazdo.
.TP 
\fBELOOP\fP
Podczas rozwiązywania \fIpathname\fP napotkano zbyt wiele dowiązań
symbolicznych.
.TP 
\fBENAMETOOLONG\fP
\fIpathname\fP było zbyt długie.
.TP 
\fBENOENT\fP
Składowa \fIpathname\fP, która powinna być katalogiem nie istnieje lub jest
wiszącym dowiązaniem symbolicznym.
.TP 
\fBENOMEM\fP
Brak pamięci jądra.
.TP 
\fBENOSPC\fP
Na urządzeniu zawierającym \fIpathname\fP brak miejsca na nowy węzeł.
.TP 
\fBENOTDIR\fP
Składnik \fIpathname\fP, który powinien być katalogiem, w rzeczywistości
katalogiem nie jest.
.TP 
\fBENOTDIR\fP
(\fBmknodat\fP)  \fIpathname\fP jest względna, a \fIdirfd\fP jest deskryptorem pliku
odnoszącym się do pliku innego niż katalog.
.TP 
\fBEPERM\fP
.\" For UNIX domain sockets and regular files, EPERM is returned only in
.\" Linux 2.2 and earlier; in Linux 2.4 and later, unprivileged can
.\" use mknod() to make these files.
\fImode\fP zażądał utworzenia czegoś innego niż zwykły plik, FIFO (nazwany
potok) lub gniazdo domeny Uniksa, a wywołujący nie jest uprzywilejowany
(Linux: nie ma przywileju \fBCAP_MKNOD\fP); zwracane również, gdy system plików
zawierający \fIpathname\fP nie obsługuje żądanego typu węzła.
.TP 
\fBEROFS\fP
\fIpathname\fP odnosi się do pliku w systemie plików tylko do odczytu.
.SH WERSJE
\fBmknodat\fP() dodano w Linuksie 2.6.16; obsługę w bibliotece dodano w glibc
2.4.
.SH STANDARDY
.\" The Linux version differs from the SVr4 version in that it
.\" does not require root permission to create pipes, also in that no
.\" EMULTIHOP, ENOLINK, or EINTR error is documented.
\fBmknod\fP(): SVr4, 4.4BSD, POSIX.1\-2001 (lecz zob. niżej), POSIX.1\-2008.
.PP
\fBmknodat\fP(): POSIX.1\-2008.
.SH UWAGI
POSIX.1\-2001 wskazuje: \[Bq]Jedynym przenośnym zastosowaniem \fBmknod\fP() jest
tworzenie specjalnego pliku FIFO. Jeśli \fImode\fP jest różny od \fBS_IFIFO\fP
albo \fIdev\fP nie wynosi 0, to zachowanie \fBmknod\fP() jest
niezdefiniowane\[rq]. Jednak obecnie nigdy nie powinno stosować się
\fBmknod\fP() do tego celu; służy do tego \fBmkfifo\fP(3), funkcja specjalnie do
tego zdefiniowana.
.PP
.\" and one should make UNIX domain sockets with socket(2) and bind(2).
W Linuksie, za pomocą \fBmknod\fP() nie można tworzyć katalogów. Służy do tego
\fBmkdir\fP(2).
.PP
W protokole odpowiedzialnym za obsługę NFS istnieje wiele nietrafnych
rozwiązań. Niektóre z nich mają wpływ na \fBmknod\fP() i \fBmknodat\fP().
.SH "ZOBACZ TAKŻE"
\fBmknod\fP(1), \fBchmod\fP(2), \fBchown\fP(2), \fBfcntl\fP(2), \fBmkdir\fP(2),
\fBmount\fP(2), \fBsocket\fP(2), \fBstat\fP(2), \fBumask\fP(2), \fBunlink\fP(2),
\fBmakedev\fP(3), \fBmkfifo\fP(3), \fBacl\fP(5), \fBpath_resolution\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 .
