summaryrefslogtreecommitdiffstats
path: root/po/pl/man7/unix.7.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/pl/man7/unix.7.po')
-rw-r--r--po/pl/man7/unix.7.po3138
1 files changed, 3138 insertions, 0 deletions
diff --git a/po/pl/man7/unix.7.po b/po/pl/man7/unix.7.po
new file mode 100644
index 00000000..ace49f4f
--- /dev/null
+++ b/po/pl/man7/unix.7.po
@@ -0,0 +1,3138 @@
+# Polish translation of manpages
+# This file is distributed under the same license as the manpages-l10n package.
+# Copyright © of this file:
+# Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>, 2003.
+# Robert Luberda <robert@debian.org>, 2006, 2012.
+# Michał Kułach <michal.kulach@gmail.com>, 2013, 2014, 2016, 2024.
+msgid ""
+msgstr ""
+"Project-Id-Version: manpages-pl\n"
+"POT-Creation-Date: 2024-03-01 17:12+0100\n"
+"PO-Revision-Date: 2024-02-26 20:14+0100\n"
+"Last-Translator: Michał Kułach <michal.kulach@gmail.com>\n"
+"Language-Team: Polish <manpages-pl-list@lists.sourceforge.net>\n"
+"Language: pl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Lokalize 22.12.3\n"
+"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
+"|| n%100>=20) ? 1 : 2);\n"
+
+#. type: TH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "UNIX"
+msgstr "UNIX"
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "2023-12-21"
+msgstr "21 grudnia 2023 r."
+
+#. type: TH
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+#, no-wrap
+msgid "Linux man-pages 6.06"
+msgstr "Linux man-pages 6.06"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NAME"
+msgstr "NAZWA"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "unix - sockets for local interprocess communication"
+msgstr "unix - gniazda lokalnej komunikacji międzyprocesowej"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SYNOPSIS"
+msgstr "SKŁADNIA"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<#include E<lt>sys/socket.hE<gt>>\n"
+"B<#include E<lt>sys/un.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>sys/socket.hE<gt>>\n"
+"B<#include E<lt>sys/un.hE<gt>>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"I<unix_socket>B< = socket(AF_UNIX, type, 0);>\n"
+"I<error>B< = socketpair(AF_UNIX, type, 0, int *>I<sv>B<);>\n"
+msgstr ""
+"I<unix_socket>B< = socket(AF_UNIX, type, 0);>\n"
+"I<error>B< = socketpair(AF_UNIX, type, 0, int *>I<sv>B<);>\n"
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "DESCRIPTION"
+msgstr "OPIS"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<AF_UNIX> (also known as B<AF_LOCAL>) socket family is used to "
+"communicate between processes on the same machine efficiently. "
+"Traditionally, UNIX domain sockets can be either unnamed, or bound to a "
+"filesystem pathname (marked as being of type socket). Linux also supports "
+"an abstract namespace which is independent of the filesystem."
+msgstr ""
+"Rodzina gniazd B<AF_UNIX> (znana również jako B<AF_LOCAL>) służy do wydajnej "
+"komunikacji pomiędzy procesami na tej samej maszynie. Zgodnie z tradycją, "
+"gniazda domeny uniksowej mogą być albo anonimowe (tworzone przez "
+"B<socketpair>(2)), albo skojarzone z plikiem typu gniazda. Linux wspiera "
+"również abstrakcyjną przestrzeń nazw, niezależną od systemu plików."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Valid socket types in the UNIX domain are: B<SOCK_STREAM>, for a stream-"
+"oriented socket; B<SOCK_DGRAM>, for a datagram-oriented socket that "
+"preserves message boundaries (as on most UNIX implementations, UNIX domain "
+"datagram sockets are always reliable and don't reorder datagrams); and "
+"(since Linux 2.6.4) B<SOCK_SEQPACKET>, for a sequenced-packet socket that "
+"is connection-oriented, preserves message boundaries, and delivers messages "
+"in the order that they were sent."
+msgstr ""
+"Poprawne typy gniazd w domenie Uniksa to: B<SOCK_STREAM> dla gniazd "
+"strumieniowych, B<SOCK_DGRAM> dla gniazd datagramowych, które zachowują "
+"granice komunikatów (w przypadku większości implementacji Uniksa gniazda "
+"uniksowe są zawsze niezawodne i nie zmieniają kolejności datagramów), oraz "
+"(od wersji Linuksa 2.6.4) B<SOCK_SEQPACKET> dla gniazd pakietów "
+"sekwencyjnych zorientowanych połączeniowo, które zachowują granice "
+"komunikatu i dostarczają komunikaty w kolejności ich wysyłania."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"UNIX domain sockets support passing file descriptors or process credentials "
+"to other processes using ancillary data."
+msgstr ""
+"Za pośrednictwem pomocniczych danych można przez gniazda domeny uniksowej "
+"przekazywać do innych procesów deskryptory plików i uwierzytelnienia "
+"procesów."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Address format"
+msgstr "Format adresu"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "A UNIX domain socket address is represented in the following structure:"
+msgstr ""
+"Adres gniazda domeny uniksowej jest reprezentowany przez następującą "
+"strukturę:"
+
+#. #define UNIX_PATH_MAX 108
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct sockaddr_un {\n"
+" sa_family_t sun_family; /* AF_UNIX */\n"
+" char sun_path[108]; /* Pathname */\n"
+"};\n"
+msgstr ""
+"struct sockaddr_un {\n"
+" sa_family_t sun_family; /* AF_UNIX */\n"
+" char sun_path[108]; /* Ścieżka */\n"
+"};\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<sun_family> field always contains B<AF_UNIX>. On Linux, I<sun_path> "
+"is 108 bytes in size; see also BUGS, below."
+msgstr ""
+"Pole I<sun_family> zawsze zawiera B<AF_UNIX>. W Linuksie I<sun_path> ma "
+"rozmiar 108 bajtów, zob. też USTERKI poniżej."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Various systems calls (for example, B<bind>(2), B<connect>(2), and "
+"B<sendto>(2)) take a I<sockaddr_un> argument as input. Some other system "
+"calls (for example, B<getsockname>(2), B<getpeername>(2), B<recvfrom>(2), "
+"and B<accept>(2)) return an argument of this type."
+msgstr ""
+"Różne wywołania systemowe (np. B<bind>(2), B<connect>(2) i B<sendto>(2)) "
+"przyjmują argument I<sockaddr_un> jako wejście. Niektóre inne wywołania "
+"systemowe (np. B<getsockname>(2), B<getpeername>(2), B<recvfrom>(2) i "
+"B<accept>(2)) zwracają argument tego typu."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Three types of address are distinguished in the I<sockaddr_un> structure:"
+msgstr "W strukturze I<sockaddr_un> rozróżniane są trzy typy adresów:"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "pathname"
+msgstr "ścieżka"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"a UNIX domain socket can be bound to a null-terminated filesystem pathname "
+"using B<bind>(2). When the address of a pathname socket is returned (by one "
+"of the system calls noted above), its length is"
+msgstr ""
+"gniazdo domeny uniksowej może zostać związane z zakończoną znakiem NULL "
+"nazwą ścieżki systemowej za pomocą B<bind>(2). Jeśli adres ścieżki gniazda "
+"jest zwracany (przez jedno z ww. wywołań systemowych) to jego długością jest"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "offsetof(struct sockaddr_un, sun_path) + strlen(sun_path) + 1\n"
+msgstr "offsetof(struct sockaddr_un, sun_path) + strlen(sun_path) + 1\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"and I<sun_path> contains the null-terminated pathname. (On Linux, the above "
+"B<offsetof>() expression equates to the same value as "
+"I<sizeof(sa_family_t)>, but some other implementations include other fields "
+"before I<sun_path>, so the B<offsetof>() expression more portably describes "
+"the size of the address structure.)"
+msgstr ""
+"a I<sun_path> zawiera zakończoną null ścieżkę. (W Linuksie powyższe "
+"wyrażenie B<offsetof>() jest równe tej samej wartości co "
+"I<sizeof(sa_family_t)>, lecz niektóre inne implementacje dołączają inne pola "
+"przed I<sun_path>, więc bardziej przenośnie, wyrażenie B<offsetof>() opisuje "
+"rozmiar struktury adresu)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "For further details of pathname sockets, see below."
+msgstr "Więcej informacji o ścieżkach gniazd znajduje się poniżej."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "unnamed"
+msgstr "unnamed"
+
+#. There is quite some variation across implementations: FreeBSD
+#. says the length is 16 bytes, HP-UX 11 says it's zero bytes.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"A stream socket that has not been bound to a pathname using B<bind>(2) has "
+"no name. Likewise, the two sockets created by B<socketpair>(2) are "
+"unnamed. When the address of an unnamed socket is returned, its length is "
+"I<sizeof(sa_family_t)>, and I<sun_path> should not be inspected."
+msgstr ""
+"Gniazdo strumieniowe niezwiązane z nazwą ścieżki za pomocą B<bind>(2) nie "
+"jest nazwane. Podobnie dwa gniazda utworzone przez B<socketpair>(2) nie są "
+"nazwane. Jeśli adres nienazwanego gniazda jest zwracany, to jego długością "
+"jest I<sizeof(sa_family_t)>, a zawartość I<sun_path> nie powinna być "
+"sprawdzana."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "abstract"
+msgstr "abstract"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"an abstract socket address is distinguished (from a pathname socket) by the "
+"fact that I<sun_path[0]> is a null byte (\\[aq]\\e0\\[aq]). The socket's "
+"address in this namespace is given by the additional bytes in I<sun_path> "
+"that are covered by the specified length of the address structure. (Null "
+"bytes in the name have no special significance.) The name has no connection "
+"with filesystem pathnames. When the address of an abstract socket is "
+"returned, the returned I<addrlen> is greater than I<sizeof(sa_family_t)> (i."
+"e., greater than 2), and the name of the socket is contained in the first "
+"I<(addrlen - sizeof(sa_family_t))> bytes of I<sun_path>."
+msgstr ""
+"adres gniazda abstrakcyjnego jest rozróżniany (od adresu ścieżki) po tym, że "
+"I<sun_path[0]> jest bajtem NULL (\\[aq]\\e0\\[aq]). Adres gniazda znajduje "
+"się w przestrzeni nazw podanej w dodatkowych bajtach w I<sun_path>, które są "
+"pokryte przez długość struktury adresu (Bajty NULL w nazwie nie mają żadnego "
+"specjalnego znaczenia). Nazwa nie ma żadnego powiązania z nazwą pliku w "
+"systemie plików. Zwracany adres gniazda abstrakcyjnego ma w polu I<addrlen> "
+"ustawioną długość większą niż I<sizeof(sa_family_t)> (tj. większą niż 2), a "
+"nazwa gniazda zawarta jest w pierwszych I<(addrlen - sizeof(sa_family_t))> "
+"bajtach pola I<sun_path>."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Pathname sockets"
+msgstr "Ścieżki gniazd"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When binding a socket to a pathname, a few rules should be observed for "
+"maximum portability and ease of coding:"
+msgstr ""
+"Przy przypisywaniu gniazda do ścieżki powinno się przestrzegać kilku zasad w "
+"celu maksymalnej przenośności i łatwości programowania:"
+
+#. type: IP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "\\[bu]"
+msgstr "\\[bu]"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The pathname in I<sun_path> should be null-terminated."
+msgstr "Ścieżka w I<sun_path> powinna być zakończona znakiem NULL."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The length of the pathname, including the terminating null byte, should not "
+"exceed the size of I<sun_path>."
+msgstr ""
+"Długość ścieżki, w tym kończący bajt null nie powinna przekraczać rozmiaru "
+"I<sun_path>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The I<addrlen> argument that describes the enclosing I<sockaddr_un> "
+"structure should have a value of at least:"
+msgstr ""
+"Argument I<addrlen> opisujący obejmującą strukturę I<sockaddr_un> powinien "
+"mieć wartość przynajmniej:"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "offsetof(struct sockaddr_un, sun_path)+strlen(addr.sun_path)+1\n"
+msgstr "offsetof(struct sockaddr_un, sun_path)+strlen(addr.sun_path)+1\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"or, more simply, I<addrlen> can be specified as I<sizeof(struct "
+"sockaddr_un)>."
+msgstr ""
+"lub, prościej, I<addrlen> powinien być podany jako I<sizeof(struct "
+"sockaddr_un)>."
+
+#. Linux does this, including for the case where the supplied path
+#. is 108 bytes
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"There is some variation in how implementations handle UNIX domain socket "
+"addresses that do not follow the above rules. For example, some (but not "
+"all) implementations append a null terminator if none is present in the "
+"supplied I<sun_path>."
+msgstr ""
+"W różnych implementacjach różnie obsługiwane są adresy gniazd domen Uniksa, "
+"które nie przestrzegają powyższych zaleceń. Na przykład niektóre (lecz nie "
+"wszystkie) implementacje dodają kończący znak null, jeśli nie jest on obecny "
+"w przekazanej I<sun_path>."
+
+#. HP-UX
+#. Modern BSDs generally have 104, Tru64 and AIX have 104,
+#. Solaris and Irix have 108
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When coding portable applications, keep in mind that some implementations "
+"have I<sun_path> as short as 92 bytes."
+msgstr ""
+"Przy programowaniu przenośnych aplikacji proszę wziąć pod uwagę, że niektóre "
+"implementację mają I<sun_path> o długości zaledwie 92 bajtów."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Various system calls (B<accept>(2), B<recvfrom>(2), B<getsockname>(2), "
+"B<getpeername>(2)) return socket address structures. When applied to UNIX "
+"domain sockets, the value-result I<addrlen> argument supplied to the call "
+"should be initialized as above. Upon return, the argument is set to "
+"indicate the I<actual> size of the address structure. The caller should "
+"check the value returned in this argument: if the output value exceeds the "
+"input value, then there is no guarantee that a null terminator is present in "
+"I<sun_path>. (See BUGS.)"
+msgstr ""
+"Różne wywołania systemowe (B<accept>(2), B<recvfrom>(2), B<getsockname>(2), "
+"B<getpeername>(2)) zwracają struktury adresów gniazd. Gdy chodzi o gniazda "
+"domeny Uniksa, wartość-rezultat argumentu I<addrlen> umieszczonego w "
+"wywołaniu powinna być zainicjowana jw. Gdy jest zwracany, argument ten jest "
+"ustawiany aby przedstawiać I<aktualny> rozmiar struktury adresu. Wywołujący "
+"powinien sprawdzić wartość zwracaną w tym argumencie, jeśli wartość "
+"wyjściowa przekracza wartość wejściową, to nie ma gwarancji, że kończący "
+"znak null jest obecny w I<sun_path> (zob PROBLEMY)."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Pathname socket ownership and permissions"
+msgstr "Własność i uprawnienia ścieżki gniazd"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"In the Linux implementation, pathname sockets honor the permissions of the "
+"directory they are in. Creation of a new socket fails if the process does "
+"not have write and search (execute) permission on the directory in which the "
+"socket is created."
+msgstr ""
+"W implementacji Linuksa, ścieżki gniazd honorują uprawnienia katalogów, w "
+"których się znajdują. Utworzenie nowego gniazda nie powiedzie się, jeśli "
+"proces nie ma uprawnień zapisu i wyszukiwania (wykonania) w katalogu, w "
+"którym tworzone jest gniazdo."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"On Linux, connecting to a stream socket object requires write permission on "
+"that socket; sending a datagram to a datagram socket likewise requires write "
+"permission on that socket. POSIX does not make any statement about the "
+"effect of the permissions on a socket file, and on some systems (e.g., older "
+"BSDs), the socket permissions are ignored. Portable programs should not "
+"rely on this feature for security."
+msgstr ""
+"W Linuksie, łączenie z gniazdem strumieniowym wymaga uprawnień zapisu w "
+"stosunku do tego gniazda; wysłanie datagramu do gniazda datagramowego "
+"również wymaga uprawnień zapisu gniazda. POSIX nie zabiera głosu w sprawie "
+"efektu uprawnień pliku gniazda i w niektórych systemach (np. starszych "
+"wersjach BSD) uprawnienia gniazd są ignorowane. Przenośne programy nie "
+"powinny opierać się na tym zachowaniu w celu zapewnienia bezpieczeństwa."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When creating a new socket, the owner and group of the socket file are set "
+"according to the usual rules. The socket file has all permissions enabled, "
+"other than those that are turned off by the process B<umask>(2)."
+msgstr ""
+"Przy tworzeniu nowego gniazda, właściciel i grupa pliku gniazda są ustawiani "
+"zgodnie ze zwykłymi zasadami. Plik gniazda ma włączone wszystkie "
+"uprawnienia, poza tym wyłączonymi przez proces B<umask>(2)."
+
+#. However, fchown() and fchmod() do not seem to have an effect
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The owner, group, and permissions of a pathname socket can be changed (using "
+"B<chown>(2) and B<chmod>(2))."
+msgstr ""
+"Właściciela, grupę i uprawnienia ścieżki gniazda można zmienić (za pomocą "
+"B<chown>(2) i B<chmod>(2))."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Abstract sockets"
+msgstr "Gniazda abstrakcyjne"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Socket permissions have no meaning for abstract sockets: the process "
+"B<umask>(2) has no effect when binding an abstract socket, and changing the "
+"ownership and permissions of the object (via B<fchown>(2) and "
+"B<fchmod>(2)) has no effect on the accessibility of the socket."
+msgstr ""
+"Uprawnienia gniazd nie mają znaczenia dla gniazd abstrakcyjnych: proces "
+"B<umask>(2) nie ma wpływu przy kojarzeniu z gniazdem abstrakcyjnym, a zmiana "
+"własności i uprawnień obiektu (za pomocą B<fchown>(2) i B<fchmod>(2)) nie "
+"wpływa na dostępność gniazda."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Abstract sockets automatically disappear when all open references to the "
+"socket are closed."
+msgstr ""
+"Gniazda abstrakcyjne automatycznie znikają po zamknięciu wszystkich "
+"otwartych odniesień do takich gniazd."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The abstract socket namespace is a nonportable Linux extension."
+msgstr ""
+"Przestrzeń nazw gniazd abstrakcyjnych jest nieprzenośnym rozszerzeniem "
+"systemu Linux."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Socket options"
+msgstr "Opcje gniazda"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For historical reasons, these socket options are specified with a "
+"B<SOL_SOCKET> type even though they are B<AF_UNIX> specific. They can be "
+"set with B<setsockopt>(2) and read with B<getsockopt>(2) by specifying "
+"B<SOL_SOCKET> as the socket family."
+msgstr ""
+"Ze względów historycznych następujące opcje gniazd są podawane przy typie "
+"B<SOL_SOCKET>, pomimo że są one specyficzne dla B<AF_UNIX>. Można je ustawić "
+"za pomocą B<setsockopt>(2), a odczytać za pomocą B<getsockopt>(2), podając "
+"B<SOL_SOCKET> jako rodzinę gniazd."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SO_PASSCRED>"
+msgstr "B<SO_PASSCRED>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Enabling this socket option causes receipt of the credentials of the sending "
+"process in an B<SCM_CREDENTIALS ancillary> message in each subsequently "
+"received message. The returned credentials are those specified by the "
+"sender using B<SCM_CREDENTIALS>, or a default that includes the sender's "
+"PID, real user ID, and real group ID, if the sender did not specify "
+"B<SCM_CREDENTIALS> ancillary data."
+msgstr ""
+"Włączenie tej opcji gniazda powoduje przekazanie uwierzytelnień wysyłającego "
+"procesu w pomocniczej wiadomości B<SCM_CREDENTIALS>, w każdej kolejnej "
+"odebranej wiadomości. Zwracanymi uwierzytelnieniami są te określone przez "
+"nadawcę za pomocą B<SCM_CREDENTIALS> lub, jeśli nadawca nie określił danych "
+"pomocniczych B<SCM_CREDENTIALS>, wartość domyślna zawierająca: identyfikator "
+"procesu, rzeczywisty identyfikator użytkownika i rzeczywisty identyfikator "
+"grupy nadawcy."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When this option is set and the socket is not yet connected, a unique name "
+"in the abstract namespace will be generated automatically."
+msgstr ""
+"Przy włączonej tej opcji i niepołączonym jeszcze gnieździe, unikatowa nazwa "
+"gniazda z abstrakcyjnej przestrzeni nazw jest generowana automatycznie."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The value given as an argument to B<setsockopt>(2) and returned as the "
+"result of B<getsockopt>(2) is an integer boolean flag."
+msgstr ""
+"Podana wartość jest argumentem do B<setsockopt>(2), a zwracana jako wynik "
+"B<getsockopt>(2) jest flaga logiczna będąca liczbą całkowitą."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SO_PASSSEC>"
+msgstr "B<SO_PASSSEC>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Enables receiving of the SELinux security label of the peer socket in an "
+"ancillary message of type B<SCM_SECURITY> (see below)."
+msgstr ""
+"Włącza odbiór etykiety bezpieczeństwa SELinux drugiego gniazda w pomocniczym "
+"komunikacie typu B<SCM_SECURITY> (zob. niżej)."
+
+#. commit 877ce7c1b3afd69a9b1caeb1b9964c992641f52a
+#. commit 37a9a8df8ce9de6ea73349c9ac8bdf6ba4ec4f70
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<SO_PASSSEC> option is supported for UNIX domain datagram sockets since "
+"Linux 2.6.18; support for UNIX domain stream sockets was added in Linux 4.2."
+msgstr ""
+"Opcja B<SO_PASSSEC> jest obsługiwana w datagramowych gniazdach domeny "
+"uniksowej od Linuksa 2.6.18; obsługę w gniazdach strumieniowych domeny "
+"uniksowej dodano w jądrze Linux 4.2."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SO_PEEK_OFF>"
+msgstr "B<SO_PEEK_OFF>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "See B<socket>(7)."
+msgstr "Patrz B<socket>(7)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SO_PEERCRED>"
+msgstr "B<SO_PEERCRED>"
+
+#. type: Plain text
+#: archlinux fedora-40 fedora-rawhide mageia-cauldron
+msgid ""
+"This read-only socket option returns the credentials of the peer process "
+"connected to this socket. The returned credentials are those that were in "
+"effect at the time of the call to B<connect>(2), B<listen>(2), or "
+"B<socketpair>(2)."
+msgstr ""
+"Jest to opcja gniazda tylko do odczytu, która zwraca uwierzytelnienia "
+"drugiego procesu skojarzonego z tym gniazdem. Zwracanymi uwierzytelnieniami "
+"są te, które obowiązywały w momencie wywołania B<connect>(2), B<listen>(2) "
+"lub B<socketpair>(2)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The argument to B<getsockopt>(2) is a pointer to a I<ucred> structure; "
+"define the B<_GNU_SOURCE> feature test macro to obtain the definition of "
+"that structure from I<E<lt>sys/socket.hE<gt>>."
+msgstr ""
+"Argumentem do B<getsockopt>(2) jest wskaźnik do struktury I<ucred>; należy "
+"zdefiniować makro testowe B<_GNU_SOURCE> aby pozyskać definicję tej "
+"struktury z I<E<lt>sys/socket.hE<gt>>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The use of this option is possible only for connected B<AF_UNIX> stream "
+"sockets and for B<AF_UNIX> stream and datagram socket pairs created using "
+"B<socketpair>(2)."
+msgstr ""
+"Opcji tej można używać wyłącznie w połączonych gniazdach strumieniowych "
+"B<AF_UNIX> oraz w parze gniazda strumieniowego i datagramowego B<AF_UNIX> "
+"utworzonej za pomocą B<socketpair>(2)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SO_PEERSEC>"
+msgstr "B<SO_PEERSEC>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This read-only socket option returns the security context of the peer socket "
+"connected to this socket. By default, this will be the same as the security "
+"context of the process that created the peer socket unless overridden by the "
+"policy or by a process with the required permissions."
+msgstr ""
+"Ta opcja gniazda tylko do odczytu zwraca kontekst bezpieczeństwa drugiego "
+"gniazda skojarzonego z tym gniazdem. Domyślnie będzie to taka sama wartość "
+"jak wartość kontekstu procesu tworzącego drugie gniazdo, chyba że zostanie "
+"przesłoniona zasadami lub procesem z wymaganymi uprawnieniami."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The argument to B<getsockopt>(2) is a pointer to a buffer of the specified "
+"length in bytes into which the security context string will be copied. If "
+"the buffer length is less than the length of the security context string, "
+"then B<getsockopt>(2) returns -1, sets I<errno> to B<ERANGE>, and returns "
+"the required length via I<optlen>. The caller should allocate at least "
+"B<NAME_MAX> bytes for the buffer initially, although this is not guaranteed "
+"to be sufficient. Resizing the buffer to the returned length and retrying "
+"may be necessary."
+msgstr ""
+"Argumentem do B<getsockopt>(2) jest wskaźnik do bufora określonej długości w "
+"bajtach, którego łańcuch kontekstu bezpieczeństwa ma zostać skopiowany. "
+"Jeśli długość bufora jest mniejsza niż długość łańcucha kontekstu "
+"bezpieczeństwa, to B<getsockopt>(2) zwróci -1, ustawi I<errno> na B<ERANGE> "
+"i zwróci wymaganą długość za pomocą I<optlen>. Wywołujący powinien "
+"początkowo przydzielić co najmniej B<NAME_MAX> bajtów dla bufora, choć nie "
+"ma gwarancji, że będzie to wielkość wystarczająca. Może zajść konieczność "
+"dostosowania wielkości bufora do zwróconej długości i wykonanie drugiego "
+"podejścia."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The security context string may include a terminating null character in the "
+"returned length, but is not guaranteed to do so: a security context \"foo\" "
+"might be represented as either {'f','o','o'} of length 3 or "
+"{'f','o','o','\\e0'} of length 4, which are considered to be "
+"interchangeable. The string is printable, does not contain non-terminating "
+"null characters, and is in an unspecified encoding (in particular, it is not "
+"guaranteed to be ASCII or UTF-8)."
+msgstr ""
+"Łańcuch kontekstu bezpieczeństwa może zawierać kończący znak null w "
+"zwracanej długości, ale nie jest to gwarantowane. Kontekst bezpieczeństwa "
+"\"foo\" może być reprezentowany jako {'f','o','o'} o długości 3 lub "
+"{'f','o','o','\\e0'} o długości 4, oba te warianty są uważane za "
+"równorzędne. Łańcuch jest drukowalny, nie zawiera znaków null innych niż "
+"kończące łańcuch oraz ma nieokreślone kodowanie (w szczególności, nie "
+"gwarantuje się kodowania ASCII lub UTF-8)."
+
+#. commit 0b811db2cb2aabc910e53d34ebb95a15997c33e7
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The use of this option for sockets in the B<AF_UNIX> address family is "
+"supported since Linux 2.6.2 for connected stream sockets, and since Linux "
+"4.18 also for stream and datagram socket pairs created using "
+"B<socketpair>(2)."
+msgstr ""
+"Użycie tej opcji do gniazd w rodzinie adresowej B<AF_UNIX> jest obsługiwane "
+"od Linuksa 2.6.2 w przypadku skojarzonych gniazd strumieniowych, a od "
+"Linuksa 4.18 również dla par gniazd strumieniowych i datagramowych "
+"utworzonych za pomocą B<socketpair>(2)."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Autobind feature"
+msgstr "Automatyczne przypisywanie adresów"
+
+#. i.e., sizeof(short)
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If a B<bind>(2) call specifies I<addrlen> as I<sizeof(sa_family_t)>, or the "
+"B<SO_PASSCRED> socket option was specified for a socket that was not "
+"explicitly bound to an address, then the socket is autobound to an abstract "
+"address. The address consists of a null byte followed by 5 bytes in the "
+"character set I<[0-9a-f]>. Thus, there is a limit of 2\\[ha]20 autobind "
+"addresses. (From Linux 2.1.15, when the autobind feature was added, 8 bytes "
+"were used, and the limit was thus 2\\[ha]32 autobind addresses. The change "
+"to 5 bytes came in Linux 2.3.15.)"
+msgstr ""
+"Jeśli w wywołaniu B<bind>(2) podane zostanie I<addrlen> równe "
+"I<sizeof(sa_family_t)> lub opcja B<SO_PASSCRED> gniazda była ustawiona dla "
+"gniazda nieprzypisanego do adresu, wtedy gniazdo jest automatycznie "
+"przypisywane do adresu abstrakcyjnego. Adres ten składa się z bajtu NULL, po "
+"którym następuje 5 bajtów ze zbioru znaków I<[0-9a-f]>. W związku z tym "
+"liczba automatycznie przypisywanych adresów jest ograniczona do 2\\[ha]20. "
+"(W Linuksie 2.1.15, w którym dodano możliwość automatycznego przypisywania "
+"adresów, i w kolejnych wersjach używane było 8 bajtów, a limit wynosił "
+"2\\[ha]32 adresów. Zostało to zmienione na 5 bajtów w Linuksie 2.3.15)."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Sockets API"
+msgstr "API gniazd"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The following paragraphs describe domain-specific details and unsupported "
+"features of the sockets API for UNIX domain sockets on Linux."
+msgstr ""
+"W kolejnych paragrafach opisano pewne szczegóły implementacji API gniazd "
+"domeny UNIX specyficzne dla Linuksa oraz cechy niewspierane."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"UNIX domain sockets do not support the transmission of out-of-band data (the "
+"B<MSG_OOB> flag for B<send>(2) and B<recv>(2))."
+msgstr ""
+"Gniazda z domeny uniksowej nie obsługują zawiadomienia o danych "
+"autonomicznych (flaga B<MSG_OOB> funkcji B<send>(2) i B<recv>(2))."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<send>(2) B<MSG_MORE> flag is not supported by UNIX domain sockets."
+msgstr ""
+"Flaga B<MSG_MORE> funkcji B<send>(2) nie jest obsługiwana dla gniazd domeny "
+"uniksowej."
+
+#. commit 9f6f9af7694ede6314bed281eec74d588ba9474f
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Before Linux 3.4, the use of B<MSG_TRUNC> in the I<flags> argument of "
+"B<recv>(2) was not supported by UNIX domain sockets."
+msgstr ""
+"Przed Linuksem 3.4, użycie B<MSG_TRUNC> w argumencie I<flags> funkcji "
+"B<recv>(2) nie było obsługiwane dla gniazd domeny uniksowej."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The B<SO_SNDBUF> socket option does have an effect for UNIX domain sockets, "
+"but the B<SO_RCVBUF> option does not. For datagram sockets, the "
+"B<SO_SNDBUF> value imposes an upper limit on the size of outgoing "
+"datagrams. This limit is calculated as the doubled (see B<socket>(7)) "
+"option value less 32 bytes used for overhead."
+msgstr ""
+"Opcja B<SO_SNDBUF> działa w przypadku gniazd domeny uniksowej, ale opcja "
+"B<SO_RCVBUF> już nie. Dla gniazd datagramowych wartość B<SO_SNDBUF> nakłada "
+"górny limit na rozmiar wychodzących datagramów. Limit ten jest liczony jako "
+"podwojona (patrz B<socket>(7)) wartość opcji minus 32 bajty wymagane na "
+"informacje niebędące danymi."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Ancillary messages"
+msgstr "Komunikaty pomocnicze"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Ancillary data is sent and received using B<sendmsg>(2) and B<recvmsg>(2). "
+"For historical reasons, the ancillary message types listed below are "
+"specified with a B<SOL_SOCKET> type even though they are B<AF_UNIX> "
+"specific. To send them, set the I<cmsg_level> field of the struct "
+"I<cmsghdr> to B<SOL_SOCKET> and the I<cmsg_type> field to the type. For "
+"more information, see B<cmsg>(3)."
+msgstr ""
+"Dane pomocnicze są wysyłane i odbierane za pomocą B<sendmsg>(2) i "
+"B<recvmsg>(2). Ze względów historycznych komunikaty pomocnicze poniższych "
+"typów są podawane przy typie B<SOL_SOCKET>, pomimo że są one specyficzne dla "
+"B<AF_UNIX>. Aby je wysłać, należy ustawić pole I<cmsg_level> struktury "
+"I<cmsghdr> na B<SOL_SOCKET>, a pole I<cmsg_type> na typ. Więcej informacji "
+"można znaleźć w B<cmsg>(3)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SCM_RIGHTS>"
+msgstr "B<SCM_RIGHTS>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Send or receive a set of open file descriptors from another process. The "
+"data portion contains an integer array of the file descriptors."
+msgstr ""
+"Odbieranie od innego procesu lub wysyłanie do niego zbioru otwartych "
+"deskryptorów plików. Porcja danych zawiera tablicę liczb całkowitych "
+"będących deskryptorami plików."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Commonly, this operation is referred to as \"passing a file descriptor\" to "
+"another process. However, more accurately, what is being passed is a "
+"reference to an open file description (see B<open>(2)), and in the receiving "
+"process it is likely that a different file descriptor number will be used. "
+"Semantically, this operation is equivalent to duplicating (B<dup>(2)) a "
+"file descriptor into the file descriptor table of another process."
+msgstr ""
+"Potocznie, operacja ta jest nazywana \"przekazaniem deskryptora pliku\" do "
+"innego procesu. Jednak przyglądając się bliżej, można dostrzec że "
+"przekazywana jest referencja do otwartego deskryptora pliku (zob. "
+"B<open>(2)), a w procesie odbierającym prawdopodobnie użyty zostanie inny "
+"numer deskryptora pliku. Operacja ta jest semantycznie równoważna duplikacji "
+"(B<dup>(2)) deskryptora plików na tablicę deskryptora pliku innego procesu."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the buffer used to receive the ancillary data containing file descriptors "
+"is too small (or is absent), then the ancillary data is truncated (or "
+"discarded) and the excess file descriptors are automatically closed in the "
+"receiving process."
+msgstr ""
+"Jeśli bufor używany do odebrania danych pomocniczych zawierających "
+"deskryptory plików jest zbyt mały (lub jest nieobecny), to dane pomocnicze "
+"są przycinane (lub odrzucane), a nadmiarowe deskryptory plików są "
+"automatycznie zamykane przez proces odbierający."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the number of file descriptors received in the ancillary data would cause "
+"the process to exceed its B<RLIMIT_NOFILE> resource limit (see "
+"B<getrlimit>(2)), the excess file descriptors are automatically closed in "
+"the receiving process."
+msgstr ""
+"Jeśli liczba deskryptorów plików otrzymana w danych pomocniczych "
+"spowodowałaby wykroczenie przez proces poza jego limit zasobów "
+"B<RLIMIT_NOFILE> (zob. B<getrlimit>(2)), to nadmiarowe deskryptory plików "
+"zostaną automatycznie zamknięte przez proces odbierający."
+
+#. commit bba14de98753cb6599a2dae0e520714b2153522d
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The kernel constant B<SCM_MAX_FD> defines a limit on the number of file "
+"descriptors in the array. Attempting to send an array larger than this "
+"limit causes B<sendmsg>(2) to fail with the error B<EINVAL>. B<SCM_MAX_FD> "
+"has the value 253 (or 255 before Linux 2.6.38)."
+msgstr ""
+"Stała jądra B<SCM_MAX_FD> określa limit liczby deskryptorów plików w "
+"tablicy. Próba wysłania tablicy większej od limitu spowoduje błąd B<EINVAL> "
+"B<sendmsg>(2). B<SCM_MAX_FD> ma wartość 253 (lub 255 przed Linuksem 2.6.38)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SCM_CREDENTIALS>"
+msgstr "B<SCM_CREDENTIALS>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Send or receive UNIX credentials. This can be used for authentication. The "
+"credentials are passed as a I<struct ucred> ancillary message. This "
+"structure is defined in I<E<lt>sys/socket.hE<gt>> as follows:"
+msgstr ""
+"Odbieranie lub wysyłanie uwierzytelnień uniksowych. Może służyć do "
+"autoryzacji. Uwierzytelnienia są przekazywane jako komunikat pomocniczy typu "
+"I<struct ucred>, zdefiniowanego w I<E<lt>sys/socket.hE<gt>> następująco:"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"struct ucred {\n"
+" pid_t pid; /* Process ID of the sending process */\n"
+" uid_t uid; /* User ID of the sending process */\n"
+" gid_t gid; /* Group ID of the sending process */\n"
+"};\n"
+msgstr ""
+"struct ucred {\n"
+" pid_t pid; /* identyfikator procesu wysyłającego */\n"
+" uid_t uid; /* ident. użytkownika procesu wysyłającego */\n"
+" gid_t gid; /* ident. grupy procesu wysyłającego */\n"
+"};\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Since glibc 2.8, the B<_GNU_SOURCE> feature test macro must be defined "
+"(before including I<any> header files) in order to obtain the definition of "
+"this structure."
+msgstr ""
+"Począwszy od wersji 2.8 biblioteki glibc, aby uzyskać dostęp do definicji "
+"powyższej struktury, należy zdefiniować makro B<_GNU_SOURCE> (przed "
+"dołączeniem I<jakichkolwiek> plików nagłówkowych)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The credentials which the sender specifies are checked by the kernel. A "
+"privileged process is allowed to specify values that do not match its own. "
+"The sender must specify its own process ID (unless it has the capability "
+"B<CAP_SYS_ADMIN>, in which case the PID of any existing process may be "
+"specified), its real user ID, effective user ID, or saved set-user-ID "
+"(unless it has B<CAP_SETUID>), and its real group ID, effective group ID, or "
+"saved set-group-ID (unless it has B<CAP_SETGID>)."
+msgstr ""
+"Jądro sprawdza uwierzytelnienia podane przez wysyłającego. Proces "
+"uprzywilejowany może podać wartości, które różnią się od jego własnych. W "
+"pozostałych przypadkach wysyłający musi podać swój własny identyfikator "
+"procesu (o ile nie ma ustawionego znacznika B<CAP_SYS_ADMIN>, w przypadku "
+"którym można podać identyfikator dowolnego istniejącego procesu), swój "
+"własny, rzeczywisty identyfikator użytkownika, efektywny identyfikator "
+"użytkownika lub ustawiony identyfikator użytkownika (o ile nie ma "
+"ustawionego znacznika B<CAP_SETUID>) oraz swój własny identyfikator grupy, "
+"efektywny identyfikator grupy lub ustawiony identyfikator grupy (o ile nie "
+"ma ustawionego znacznika B<CAP_SETGID>)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"To receive a I<struct ucred> message, the B<SO_PASSCRED> option must be "
+"enabled on the socket."
+msgstr ""
+"Aby otrzymać komunikat typu I<struct ucred>, dla gniazda musi być włączona "
+"opcja B<SO_PASSCRED>."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SCM_SECURITY>"
+msgstr "B<SCM_SECURITY>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Receive the SELinux security context (the security label) of the peer "
+"socket. The received ancillary data is a null-terminated string containing "
+"the security context. The receiver should allocate at least B<NAME_MAX> "
+"bytes in the data portion of the ancillary message for this data."
+msgstr ""
+"Otrzymuje kontekst bezpieczeństwa SELinux (etykietę bezpieczeństwa) drugiego "
+"gniazda. Otrzymywane dane pomocnicze są łańcuchem zakończonym znakiem null, "
+"zawierającym kontekst bezpieczeństwa. Dla tych danych odbiorca powinien "
+"przydzielić co najmniej B<NAME_MAX> bajtów w porcji danych komunikatu "
+"pomocniczego."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"To receive the security context, the B<SO_PASSSEC> option must be enabled on "
+"the socket (see above)."
+msgstr ""
+"Do otrzymania kontekstu bezpieczeństwa konieczne jest włączenie w gnieździe "
+"opcji B<SO_PASSSEC> (zob. wyżej)."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When sending ancillary data with B<sendmsg>(2), only one item of each of the "
+"above types may be included in the sent message."
+msgstr ""
+"Przy wysyłaniu danych pomocniczych za pomocą B<sendmsg>(2), w wysłanym "
+"komunikacie można podać tylko po jednej pozycji dla każdego z powyższych "
+"typów."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"At least one byte of real data should be sent when sending ancillary data. "
+"On Linux, this is required to successfully send ancillary data over a UNIX "
+"domain stream socket. When sending ancillary data over a UNIX domain "
+"datagram socket, it is not necessary on Linux to send any accompanying real "
+"data. However, portable applications should also include at least one byte "
+"of real data when sending ancillary data over a datagram socket."
+msgstr ""
+"Przy wysyłaniu danych pomocniczych konieczne jest przesłanie choć jednego "
+"bajta rzeczywistych danych. W Linuksie jest to wymagane do poprawnego "
+"wysłania danych pomocniczych za pomocą gniazda strumieniowego domeny "
+"uniksowej. Przy wysyłaniu danych pomocniczych za pomocą gniazda "
+"datagramowego domeny uniksowej, na Linuksie nie ma konieczności wysyłania "
+"jakichkolwiek rzeczywistych danych. Przenośne aplikacje powinny jednak "
+"również wysyłać choć jeden bajt rzeczywistych danych przy wysyłaniu danych "
+"pomocniczych za pomocą gniazda datagramowego."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When receiving from a stream socket, ancillary data forms a kind of barrier "
+"for the received data. For example, suppose that the sender transmits as "
+"follows:"
+msgstr ""
+"Przy odbieraniu z gniazda strumieniowego, dane pomocnicze stanowią w pewien "
+"sposób barierę dla odbieranych danych. Proszę przyjąć przykładowo, że "
+"nadawca transmituje:"
+
+#. type: IP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "(1)"
+msgstr "(1)"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<sendmsg>(2) of four bytes, with no ancillary data."
+msgstr "B<sendmsg>(2) o wielkości czterech bajtów, bez danych pomocniczych."
+
+#. type: IP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "(2)"
+msgstr "(2)"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "B<sendmsg>(2) of one byte, with ancillary data."
+msgstr "B<sendmsg>(2) o wielkości jednego bajta, z danymi pomocniczymi."
+
+#. type: IP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "(3)"
+msgstr "(3)"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Suppose that the receiver now performs B<recvmsg>(2) calls each with a "
+"buffer size of 20 bytes. The first call will receive five bytes of data, "
+"along with the ancillary data sent by the second B<sendmsg>(2) call. The "
+"next call will receive the remaining four bytes of data."
+msgstr ""
+"Przyjmijmy, że odbiorca wykonuje teraz wywołania B<recvmsg>(2), każde z "
+"buforem o wielkości 20 bajtów. Pierwsze wywołanie otrzyma pięć bajtów "
+"danych, razem z danymi pomocniczymi wysłanymi przez drugie wywołanie "
+"B<sendmsg>(2). Następne wywołanie otrzyma pozostałe cztery bajty danych."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"If the space allocated for receiving incoming ancillary data is too small "
+"then the ancillary data is truncated to the number of headers that will fit "
+"in the supplied buffer (or, in the case of an B<SCM_RIGHTS> file descriptor "
+"list, the list of file descriptors may be truncated). If no buffer is "
+"provided for incoming ancillary data (i.e., the I<msg_control> field of the "
+"I<msghdr> structure supplied to B<recvmsg>(2) is NULL), then the incoming "
+"ancillary data is discarded. In both of these cases, the B<MSG_CTRUNC> flag "
+"will be set in the I<msg.msg_flags> value returned by B<recvmsg>(2)."
+msgstr ""
+"Jeśli przestrzeń przydzielona do otrzymywanych danych pomocniczych jest zbyt "
+"mała, to dane pomocnicze są przycinane do liczby nagłówków mieszczących się "
+"w udostępnionym buforze (lub, w przypadku listy deskryptora pliku "
+"B<SCM_RIGHTS>, sama lista deskryptorów pliku może zostać przycięta). Jeśli "
+"dla przychodzących danych pomocniczych nie udostępniono bufora (np. pole "
+"I<msg_control> struktury I<msghdr> przekazanej do B<recvmsg>(2) wynosi "
+"NULL), to przychodzące dane pomocnicze są odrzucane. W obu tych przypadkach, "
+"flaga B<MSG_CTRUNC> zostanie ustawiona na wartość I<msg.msg_flags> zwróconą "
+"przez B<recvmsg>(2)."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Ioctls"
+msgstr "Kontrolki systemowe (ioctl)"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The following B<ioctl>(2) calls return information in I<value>. The "
+"correct syntax is:"
+msgstr ""
+"Następujące wywołania B<ioctl>(2) zwracają informacje w parametrze I<value>. "
+"Poprawna składnia to:"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"B<int>I< value>B<;>\n"
+"I<error>B< = ioctl(>I<unix_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
+msgstr ""
+"B<int>I< value>B<;>\n"
+"I<error>B< = ioctl(>I<unix_socket>B<, >I<ioctl_type>B<, &>I<value>B<);>\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "I<ioctl_type> can be:"
+msgstr "I<ioctl_type> może przyjmować wartość:"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<SIOCINQ>"
+msgstr "B<SIOCINQ>"
+
+#. #-#-#-#-# archlinux: unix.7.pot (PACKAGE VERSION) #-#-#-#-#
+#. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002,
+#. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers
+#. SIOCOUTQ also has an effect for UNIX domain sockets, but not
+#. quite what userland might expect. It seems to return the number
+#. of bytes allocated for buffers containing pending output.
+#. That number is normally larger than the number of bytes of pending
+#. output. Since this info is, from userland's point of view, imprecise,
+#. and it may well change, probably best not to document this now.
+#. type: Plain text
+#. #-#-#-#-# debian-bookworm: unix.7.pot (PACKAGE VERSION) #-#-#-#-#
+#. FIXME . http://sources.redhat.com/bugzilla/show_bug.cgi?id=12002,
+#. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers
+#. SIOCOUTQ also has an effect for UNIX domain sockets, but not
+#. quite what userland might expect. It seems to return the number
+#. of bytes allocated for buffers containing pending output.
+#. That number is normally larger than the number of bytes of pending
+#. output. Since this info is, from userland's point of view, imprecise,
+#. and it may well change, probably best not to document this now.
+#. type: Plain text
+#. #-#-#-#-# debian-unstable: unix.7.pot (PACKAGE VERSION) #-#-#-#-#
+#. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002,
+#. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers
+#. SIOCOUTQ also has an effect for UNIX domain sockets, but not
+#. quite what userland might expect. It seems to return the number
+#. of bytes allocated for buffers containing pending output.
+#. That number is normally larger than the number of bytes of pending
+#. output. Since this info is, from userland's point of view, imprecise,
+#. and it may well change, probably best not to document this now.
+#. type: Plain text
+#. #-#-#-#-# fedora-40: unix.7.pot (PACKAGE VERSION) #-#-#-#-#
+#. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002,
+#. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers
+#. SIOCOUTQ also has an effect for UNIX domain sockets, but not
+#. quite what userland might expect. It seems to return the number
+#. of bytes allocated for buffers containing pending output.
+#. That number is normally larger than the number of bytes of pending
+#. output. Since this info is, from userland's point of view, imprecise,
+#. and it may well change, probably best not to document this now.
+#. type: Plain text
+#. #-#-#-#-# fedora-rawhide: unix.7.pot (PACKAGE VERSION) #-#-#-#-#
+#. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002,
+#. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers
+#. SIOCOUTQ also has an effect for UNIX domain sockets, but not
+#. quite what userland might expect. It seems to return the number
+#. of bytes allocated for buffers containing pending output.
+#. That number is normally larger than the number of bytes of pending
+#. output. Since this info is, from userland's point of view, imprecise,
+#. and it may well change, probably best not to document this now.
+#. type: Plain text
+#. #-#-#-#-# mageia-cauldron: unix.7.pot (PACKAGE VERSION) #-#-#-#-#
+#. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002,
+#. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers
+#. SIOCOUTQ also has an effect for UNIX domain sockets, but not
+#. quite what userland might expect. It seems to return the number
+#. of bytes allocated for buffers containing pending output.
+#. That number is normally larger than the number of bytes of pending
+#. output. Since this info is, from userland's point of view, imprecise,
+#. and it may well change, probably best not to document this now.
+#. type: Plain text
+#. #-#-#-#-# opensuse-leap-15-6: unix.7.pot (PACKAGE VERSION) #-#-#-#-#
+#. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002,
+#. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers
+#. SIOCOUTQ also has an effect for UNIX domain sockets, but not
+#. quite what userland might expect. It seems to return the number
+#. of bytes allocated for buffers containing pending output.
+#. That number is normally larger than the number of bytes of pending
+#. output. Since this info is, from userland's point of view, imprecise,
+#. and it may well change, probably best not to document this now.
+#. type: Plain text
+#. #-#-#-#-# opensuse-tumbleweed: unix.7.pot (PACKAGE VERSION) #-#-#-#-#
+#. FIXME . https://www.sourceware.org/bugzilla/show_bug.cgi?id=12002,
+#. filed 2010-09-10, may cause SIOCINQ to be defined in glibc headers
+#. SIOCOUTQ also has an effect for UNIX domain sockets, but not
+#. quite what userland might expect. It seems to return the number
+#. of bytes allocated for buffers containing pending output.
+#. That number is normally larger than the number of bytes of pending
+#. output. Since this info is, from userland's point of view, imprecise,
+#. and it may well change, probably best not to document this now.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For B<SOCK_STREAM> sockets, this call returns the number of unread bytes in "
+"the receive buffer. The socket must not be in LISTEN state, otherwise an "
+"error (B<EINVAL>) is returned. B<SIOCINQ> is defined in I<E<lt>linux/"
+"sockios.hE<gt>>. Alternatively, you can use the synonymous B<FIONREAD>, "
+"defined in I<E<lt>sys/ioctl.hE<gt>>. For B<SOCK_DGRAM> sockets, the "
+"returned value is the same as for Internet domain datagram sockets; see "
+"B<udp>(7)."
+msgstr ""
+"Dla gniazd B<SOCK_STREAM>, wywołanie to zwraca liczbę nieprzeczytanych "
+"jeszcze bajtów znajdujących się w buforze odbierającym. Gniazdo nie może się "
+"znajdować w stanie \"LISTEN\"; w przeciwnym wypadku zostanie zwrócony błąd "
+"(B<EINVAL>). B<SIOCINQ> jest zdefiniowany w I<E<lt>linux/sockios.hE<gt>>. "
+"Alternatywnie można użyć synonimu B<FIONREAD> zdefiniowanego w I<E<lt>sys/"
+"ioctl.hE<gt>>. Dla gniazd B<SOCK_DGRAM>, zwracana wartość jest taka sama jak "
+"w przypadku datagramowych gniazd domeny Internet; zob. B<udp>(7)."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "ERRORS"
+msgstr "BŁĘDY"
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EADDRINUSE>"
+msgstr "B<EADDRINUSE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The specified local address is already in use or the filesystem socket "
+"object already exists."
+msgstr ""
+"Podany adres lokalny jest zajęty lub obiekt gniazda w systemie plików już "
+"istnieje."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EBADF>"
+msgstr "B<EBADF>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This error can occur for B<sendmsg>(2) when sending a file descriptor as "
+"ancillary data over a UNIX domain socket (see the description of "
+"B<SCM_RIGHTS>, above), and indicates that the file descriptor number that is "
+"being sent is not valid (e.g., it is not an open file descriptor)."
+msgstr ""
+"Błąd może zajść dla B<sendmsg>(2), przy wysyłaniu deskryptora pliku jako "
+"dane pomocnicze za pośrednictwem gniazda domeny uniksowej (zob. opis "
+"B<SCM_RIGHTS> wyżej) i wskazuje że wysłany numer deskryptora pliku jest "
+"nieprawidłowy (np. nie jest to otwarty deskryptor pliku)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ECONNREFUSED>"
+msgstr "B<ECONNREFUSED>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The remote address specified by B<connect>(2) was not a listening socket. "
+"This error can also occur if the target pathname is not a socket."
+msgstr ""
+"Adres zdalny podany w B<connect>(2) nie odnosił się do gniazda "
+"nasłuchującego. Błąd może także wystąpić jeśli docelowa ścieżka nie jest "
+"gniazdem."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ECONNRESET>"
+msgstr "B<ECONNRESET>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Remote socket was unexpectedly closed."
+msgstr "Zdalne gniazdo zostało nieoczekiwanie zamknięte."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EFAULT>"
+msgstr "B<EFAULT>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "User memory address was not valid."
+msgstr "Nieprawidłowy adres pamięci użytkownika."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EINVAL>"
+msgstr "B<EINVAL>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Invalid argument passed. A common cause is that the value B<AF_UNIX> was "
+"not specified in the I<sun_type> field of passed addresses, or the socket "
+"was in an invalid state for the applied operation."
+msgstr ""
+"Podano nieprawidłowy argument. Najczęstszą przyczyną jest brak ustawionego "
+"B<AF_UNIX> w polu I<sun_type> przekazywanych gniazdu adresów lub "
+"nieprawidłowy dla danej operacji stan gniazda."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EISCONN>"
+msgstr "B<EISCONN>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<connect>(2) called on an already connected socket or a target address was "
+"specified on a connected socket."
+msgstr ""
+"Wywołano B<connect>(2) dla już połączonego gniazda lub podano adres docelowy "
+"dla połączonego gniazda."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENFILE>"
+msgstr "B<ENFILE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The system-wide limit on the total number of open files has been reached."
+msgstr ""
+"Zostało osiągnięte systemowe ograniczenie na całkowitą liczbę otwartych "
+"plików."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENOENT>"
+msgstr "B<ENOENT>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The pathname in the remote address specified to B<connect>(2) did not exist."
+msgstr ""
+"Nie istnieje ścieżka dla zdalnego adresu przekazanego do B<connect>(2)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENOMEM>"
+msgstr "B<ENOMEM>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Out of memory."
+msgstr "Brak pamięci."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ENOTCONN>"
+msgstr "B<ENOTCONN>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Socket operation needs a target address, but the socket is not connected."
+msgstr ""
+"Operacja na gnieździe wymaga adresu docelowego, a gniazdo nie jest połączone."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EOPNOTSUPP>"
+msgstr "B<EOPNOTSUPP>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Stream operation called on non-stream oriented socket or tried to use the "
+"out-of-band data option."
+msgstr ""
+"Operacja strumieniowa wywołana dla gniazda niestrumieniowego lub próba "
+"użycia opcji danych autonomicznych."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EPERM>"
+msgstr "B<EPERM>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "The sender passed invalid credentials in the I<struct ucred>."
+msgstr "Wysyłający podał nieprawidłowe uwierzytelnienia w I<struct ucred>."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EPIPE>"
+msgstr "B<EPIPE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Remote socket was closed on a stream socket. If enabled, a B<SIGPIPE> is "
+"sent as well. This can be avoided by passing the B<MSG_NOSIGNAL> flag to "
+"B<send>(2) or B<sendmsg>(2)."
+msgstr ""
+"Zdalne gniazdo strumieniowe zostało zamknięte. Gdy włączone, wysyłany jest "
+"jednocześnie sygnał B<SIGPIPE>. Można tego uniknąć, przekazując znacznik "
+"B<MSG_NOSIGNAL> do B<send>(2) lub B<sendmsg>(2)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EPROTONOSUPPORT>"
+msgstr "B<EPROTONOSUPPORT>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Passed protocol is not B<AF_UNIX>."
+msgstr "Podanym protokołem nie jest B<AF_UNIX>."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<EPROTOTYPE>"
+msgstr "B<EPROTOTYPE>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Remote socket does not match the local socket type (B<SOCK_DGRAM> versus "
+"B<SOCK_STREAM>)."
+msgstr ""
+"Typ gniazda zdalnego różni się od typu gniazda lokalnego (B<SOCK_DGRAM> "
+"wobec B<SOCK_STREAM>)."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ESOCKTNOSUPPORT>"
+msgstr "B<ESOCKTNOSUPPORT>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid "Unknown socket type."
+msgstr "Nieznany typ gniazda."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ESRCH>"
+msgstr "B<ESRCH>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"While sending an ancillary message containing credentials "
+"(B<SCM_CREDENTIALS>), the caller specified a PID that does not match any "
+"existing process."
+msgstr ""
+"Przy wysyłaniu komunikatów pomocniczych zawierających uwierzytelnienie "
+"(B<SCM_CREDENTIALS>), wywołujący podał identyfikator procesu, który nie "
+"dopasował żadnego istniejącego procesu."
+
+#. type: TP
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "B<ETOOMANYREFS>"
+msgstr "B<ETOOMANYREFS>"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This error can occur for B<sendmsg>(2) when sending a file descriptor as "
+"ancillary data over a UNIX domain socket (see the description of "
+"B<SCM_RIGHTS>, above). It occurs if the number of \"in-flight\" file "
+"descriptors exceeds the B<RLIMIT_NOFILE> resource limit and the caller does "
+"not have the B<CAP_SYS_RESOURCE> capability. An in-flight file descriptor "
+"is one that has been sent using B<sendmsg>(2) but has not yet been accepted "
+"in the recipient process using B<recvmsg>(2)."
+msgstr ""
+"Błąd może zajść dla B<sendmsg>(2), przy wysyłaniu deskryptora pliku jako "
+"dane pomocnicze za pośrednictwem gniazda domeny uniksowej (zob. opis "
+"B<SCM_RIGHTS> wyżej). Występuje, jeśli liczba deskryptorów pliku \"w locie\" "
+"wykracza poza limit zasobów B<RLIMIT_NOFILE>, a wywołujący nie posiada "
+"przywileju B<CAP_SYS_RESOURCE>. Przez deskryptor pliku w locie rozumiemy tu "
+"taki, który został wysłany za pomocą B<sendmsg>(2), ale nie został jeszcze "
+"zaakceptowany przez proces docelowy za pomocą B<recvmsg>(2)."
+
+#. commit 712f4aad406bb1ed67f3f98d04c044191f0ff593
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This error is diagnosed since mainline Linux 4.5 (and in some earlier kernel "
+"versions where the fix has been backported). In earlier kernel versions, it "
+"was possible to place an unlimited number of file descriptors in flight, by "
+"sending each file descriptor with B<sendmsg>(2) and then closing the file "
+"descriptor so that it was not accounted against the B<RLIMIT_NOFILE> "
+"resource limit."
+msgstr ""
+"Błąd ten jest diagnozowany w głównej gałęzi jądra od Linuksa 4.5 (i w "
+"niektórych wcześniejszych wersjach, gdzie zaaplikowano odpowiednią łatkę). "
+"We wcześniejszych wersjach jądra, można było umieścić nieograniczoną liczbę "
+"deskryptorów plików w locie, poprzez wysłanie każdego z nich za pomocą "
+"B<sendmsg>(2), a następnie zamknięcie deskryptora pliku, co nie liczyło się "
+"wobec limitu zasobów B<RLIMIT_NOFILE>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Other errors can be generated by the generic socket layer or by the "
+"filesystem while generating a filesystem socket object. See the appropriate "
+"manual pages for more information."
+msgstr ""
+"Inne błędy mogą zostać wygenerowane przez podstawową warstwę gniazd lub "
+"przez system plików podczas tworzenia obiektu gniazda w systemie plików. "
+"Więcej informacji można znaleźć na odpowiednich stronach podręcznika."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "VERSIONS"
+msgstr "WERSJE"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<SCM_CREDENTIALS> and the abstract namespace were introduced with Linux 2.2 "
+"and should not be used in portable programs. (Some BSD-derived systems also "
+"support credential passing, but the implementation details differ.)"
+msgstr ""
+"B<SCM_CREDENTIALS> oraz abstrakcyjna przestrzeń nazw zostały wprowadzone w "
+"Linuksie 2.2 i nie należy ich używać w przenośnych programach. (Niektóre "
+"systemy wywodzące się z BSD również wspierają przekazywanie uwierzytelnień, "
+"ale implementacje różnią się szczegółami)."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "NOTES"
+msgstr "UWAGI"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Binding to a socket with a filename creates a socket in the filesystem that "
+"must be deleted by the caller when it is no longer needed (using "
+"B<unlink>(2)). The usual UNIX close-behind semantics apply; the socket can "
+"be unlinked at any time and will be finally removed from the filesystem when "
+"the last reference to it is closed."
+msgstr ""
+"W trakcie łączenia się z gniazdem mającym przypisaną nazwę pliku, tworzony "
+"jest plik specjalny gniazda w systemie plików, który musi zostać usunięty "
+"(za pomocą B<unlink>(2)) przez wywołującego, gdy już nie będzie potrzebny. "
+"Stosuje się tu zwykła uniksowa składnia opóźnionego zamknięcia (ang. close-"
+"behind): gniazdo można skasować w dowolnym momencie, ale zostanie ono "
+"ostatecznie usunięte z systemu plików po zamknięciu ostatniego odwołania do "
+"niego."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"To pass file descriptors or credentials over a B<SOCK_STREAM> socket, you "
+"must send or receive at least one byte of nonancillary data in the same "
+"B<sendmsg>(2) or B<recvmsg>(2) call."
+msgstr ""
+"Aby przekazać deskryptory plików lub uwierzytelnienia poprzez B<SOCK_STREAM> "
+"trzeba wysłać/odebrać co najmniej jeden bajt niepomocniczych danych w tym "
+"samym wywołaniu B<sendmsg>(2) lub B<recvmsg>(2)"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"UNIX domain stream sockets do not support the notion of out-of-band data."
+msgstr ""
+"Gniazda strumieniowe z domeny uniksowej nie obsługują zawiadomienia o danych "
+"autonomicznych."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "BUGS"
+msgstr "USTERKI"
+
+#. The behavior on Solaris is quite similar.
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"When binding a socket to an address, Linux is one of the implementations "
+"that appends a null terminator if none is supplied in I<sun_path>. In most "
+"cases this is unproblematic: when the socket address is retrieved, it will "
+"be one byte longer than that supplied when the socket was bound. However, "
+"there is one case where confusing behavior can result: if 108 non-null bytes "
+"are supplied when a socket is bound, then the addition of the null "
+"terminator takes the length of the pathname beyond I<sizeof(sun_path)>. "
+"Consequently, when retrieving the socket address (for example, via "
+"B<accept>(2)), if the input I<addrlen> argument for the retrieving call is "
+"specified as I<sizeof(struct sockaddr_un)>, then the returned address "
+"structure I<won't> have a null terminator in I<sun_path>."
+msgstr ""
+"Przy wiązaniu gniazda z adresem, Linux jest jedną z implementacji dodających "
+"kończące null, jeśli nie poda się go w I<sun_path>. Zwykle jest to "
+"bezproblemowe, gdy adres gniazda jest pozyskiwany będzie on o jeden bajt "
+"dłuższy niż podawany początkowo. Jest jednak jeden przypadek mogący "
+"spowodować mylące zachowanie: jeśli podany zostanie adres 108 bajtowy, bez "
+"znaku null, to dodanie znaku null spowodowałoby przekroczenie długości "
+"ścieżki poza I<sizeof(sun_path)>. W konsekwencji, przy pozyskiwaniu adresu "
+"gniazda (np. poprzez B<accept>(2)), jeśli wejściowy argument I<addrlen> dla "
+"pozyskiwanego wywołania jest podany jako I<sizeof(struct sockaddr_un)>, to "
+"zwrócona struktura adresu I<nie> będzie miała kończącego null w I<sun_path>."
+
+#. i.e., traditional BSD
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"In addition, some implementations don't require a null terminator when "
+"binding a socket (the I<addrlen> argument is used to determine the length of "
+"I<sun_path>) and when the socket address is retrieved on these "
+"implementations, there is no null terminator in I<sun_path>."
+msgstr ""
+"Dodatkowo, niektóre implementacje nie wymagają kończącego null przy wiązaniu "
+"gniazda (argument I<addrlen> jest używany do określenia długości "
+"I<sun_path>), a gdy w tych implementacjach jest pozyskiwany adres gniazda, "
+"to nie ma kończącego null w I<sun_path>."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Applications that retrieve socket addresses can (portably) code to handle "
+"the possibility that there is no null terminator in I<sun_path> by "
+"respecting the fact that the number of valid bytes in the pathname is:"
+msgstr ""
+"Aplikacje pozyskujące adresy gniazd mogą posiadać (przenośny) kod do obsługi "
+"możliwości, że w I<sun_path> nie ma kończącego null zauważając fakt, że "
+"liczba prawidłowych bajtów w ścieżce to:"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "strnlen(addr.sun_path, addrlen - offsetof(sockaddr_un, sun_path))\n"
+msgstr "strnlen(addr.sun_path, addrlen - offsetof(sockaddr_un, sun_path))\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"Alternatively, an application can retrieve the socket address by allocating "
+"a buffer of size I<sizeof(struct sockaddr_un)+1> that is zeroed out before "
+"the retrieval. The retrieving call can specify I<addrlen> as "
+"I<sizeof(struct sockaddr_un)>, and the extra zero byte ensures that there "
+"will be a null terminator for the string returned in I<sun_path>:"
+msgstr ""
+"Alternatywnie, aplikacja może pozyskać adres gniazda przez przydzielenie "
+"buforu o rozmiarze I<sizeof(struct sockaddr_un)+1> który jest wyzerowany "
+"przed pozyskaniem. Pobierające wywołanie może określić I<addrlen> jako "
+"I<sizeof(struct sockaddr_un)>, a dodatkowy bajt zero zapewnia, że w łańcuchu "
+"zwróconym w I<sun_path> będzie kończące null:"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"void *addrp;\n"
+"\\&\n"
+"addrlen = sizeof(struct sockaddr_un);\n"
+"addrp = malloc(addrlen + 1);\n"
+"if (addrp == NULL)\n"
+" /* Handle error */ ;\n"
+"memset(addrp, 0, addrlen + 1);\n"
+"\\&\n"
+"if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n"
+" /* handle error */ ;\n"
+"\\&\n"
+"printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-E<gt>sun_path);\n"
+msgstr ""
+"void *addrp;\n"
+"\\&\n"
+"addrlen = sizeof(struct sockaddr_un);\n"
+"addrp = malloc(addrlen + 1);\n"
+"if (addrp == NULL)\n"
+" /* Obsługa błędu */ ;\n"
+"memset(addrp, 0, addrlen + 1);\n"
+"\\&\n"
+"if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n"
+" /* obsługa błędu */ ;\n"
+"\\&\n"
+"printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-E<gt>sun_path);\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This sort of messiness can be avoided if it is guaranteed that the "
+"applications that I<create> pathname sockets follow the rules outlined above "
+"under I<Pathname sockets>."
+msgstr ""
+"Tego bałaganu można uniknąć, jeśli jest pewność, że aplikacja I<tworząca> "
+"ścieżki gniazd przestrzega reguł opisanych powyżej rozdziale I<Ścieżki "
+"gniazd>."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "EXAMPLES"
+msgstr "PRZYKŁADY"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The following code demonstrates the use of sequenced-packet sockets for "
+"local interprocess communication. It consists of two programs. The server "
+"program waits for a connection from the client program. The client sends "
+"each of its command-line arguments in separate messages. The server treats "
+"the incoming messages as integers and adds them up. The client sends the "
+"command string \"END\". The server sends back a message containing the sum "
+"of the client's integers. The client prints the sum and exits. The server "
+"waits for the next client to connect. To stop the server, the client is "
+"called with the command-line argument \"DOWN\"."
+msgstr ""
+"Poniższy kod demonstruje użycie gniazd pakietów sekwencyjnych do lokalnej "
+"komunikacji międzyprocesowej. Składa się z dwóch programów. Serwer czeka na "
+"połączenie z programu klienckiego. Klient wysyła każdy ze swoich argumentów "
+"wiersza poleceń w oddzielnych wiadomościach. Serwer traktuje przychodzące "
+"wiadomości jako liczby całkowite i dodaje je. Klient wysyła łańcuch "
+"polecenia \"END\". Serwer odsyła komunikat zawierający sumę klienckich liczb "
+"całkowitych. Klient wypisuje sumę i wychodzi. Serwer czeka na połączenie od "
+"kolejnego klienta. Aby zatrzymać serwer, klient jest wywoływany z argumentem "
+"wiersza poleceń \"DOWN\"."
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"The following output was recorded while running the server in the background "
+"and repeatedly executing the client. Execution of the server program ends "
+"when it receives the \"DOWN\" command."
+msgstr ""
+"Podczas działania serwera w tle i kolejnych uruchomień klienta "
+"zarejestrowano następujące wyjście. Wykonywanie programu serwera kończy się, "
+"gdy otrzymuje on polecenie \"DOWN\"."
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Example output"
+msgstr "Przykładowe wyjście"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"$ B<./server &>\n"
+"[1] 25887\n"
+"$ B<./client 3 4>\n"
+"Result = 7\n"
+"$ B<./client 11 -5>\n"
+"Result = 6\n"
+"$ B<./client DOWN>\n"
+"Result = 0\n"
+"[1]+ Done ./server\n"
+"$\n"
+msgstr ""
+"$ B<./server &>\n"
+"[1] 25887\n"
+"$ B<./client 3 4>\n"
+"Wynik = 7\n"
+"$ B<./client 11 -5>\n"
+"Wynik = 6\n"
+"$ B<./client DOWN>\n"
+"Wynik = 0\n"
+"[1]+ Done ./server\n"
+"$\n"
+
+#. type: SS
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "Program source"
+msgstr "Kod źródłowy programu"
+
+#. type: Plain text
+#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron
+#: opensuse-tumbleweed
+#, no-wrap
+msgid ""
+"/*\n"
+" * File connection.h\n"
+" */\n"
+"\\&\n"
+"#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n"
+"#define BUFFER_SIZE 12\n"
+"\\&\n"
+"/*\n"
+" * File server.c\n"
+" */\n"
+"\\&\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include \"connection.h\"\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sockaddr_un name;\n"
+" int down_flag = 0;\n"
+" int ret;\n"
+" int connection_socket;\n"
+" int data_socket;\n"
+" int result;\n"
+" char buffer[BUFFER_SIZE];\n"
+"\\&\n"
+" /* Create local socket. */\n"
+"\\&\n"
+" connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n"
+" if (connection_socket == -1) {\n"
+" perror(\"socket\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /*\n"
+" * For portability clear the whole structure, since some\n"
+" * implementations have additional (nonstandard) fields in\n"
+" * the structure.\n"
+" */\n"
+"\\&\n"
+" memset(&name, 0, sizeof(name));\n"
+"\\&\n"
+" /* Bind socket to socket name. */\n"
+"\\&\n"
+" name.sun_family = AF_UNIX;\n"
+" strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n"
+"\\&\n"
+" ret = bind(connection_socket, (const struct sockaddr *) &name,\n"
+" sizeof(name));\n"
+" if (ret == -1) {\n"
+" perror(\"bind\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /*\n"
+" * Prepare for accepting connections. The backlog size is set\n"
+" * to 20. So while one request is being processed other requests\n"
+" * can be waiting.\n"
+" */\n"
+"\\&\n"
+" ret = listen(connection_socket, 20);\n"
+" if (ret == -1) {\n"
+" perror(\"listen\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* This is the main loop for handling connections. */\n"
+"\\&\n"
+" for (;;) {\n"
+"\\&\n"
+" /* Wait for incoming connection. */\n"
+"\\&\n"
+" data_socket = accept(connection_socket, NULL, NULL);\n"
+" if (data_socket == -1) {\n"
+" perror(\"accept\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" result = 0;\n"
+" for (;;) {\n"
+"\\&\n"
+" /* Wait for next data packet. */\n"
+"\\&\n"
+" ret = read(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Ensure buffer is 0-terminated. */\n"
+"\\&\n"
+" buffer[sizeof(buffer) - 1] = 0;\n"
+"\\&\n"
+" /* Handle commands. */\n"
+"\\&\n"
+" if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n"
+" down_flag = 1;\n"
+" break;\n"
+" }\n"
+"\\&\n"
+" if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n"
+" break;\n"
+" }\n"
+"\\&\n"
+" /* Add received summand. */\n"
+"\\&\n"
+" result += atoi(buffer);\n"
+" }\n"
+"\\&\n"
+" /* Send result. */\n"
+"\\&\n"
+" sprintf(buffer, \"%d\", result);\n"
+" ret = write(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Close socket. */\n"
+"\\&\n"
+" close(data_socket);\n"
+"\\&\n"
+" /* Quit on DOWN command. */\n"
+"\\&\n"
+" if (down_flag) {\n"
+" break;\n"
+" }\n"
+" }\n"
+"\\&\n"
+" close(connection_socket);\n"
+"\\&\n"
+" /* Unlink the socket. */\n"
+"\\&\n"
+" unlink(SOCKET_NAME);\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+"\\&\n"
+"/*\n"
+" * File client.c\n"
+" */\n"
+"\\&\n"
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include \"connection.h\"\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sockaddr_un addr;\n"
+" int ret;\n"
+" int data_socket;\n"
+" char buffer[BUFFER_SIZE];\n"
+"\\&\n"
+" /* Create local socket. */\n"
+"\\&\n"
+" data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n"
+" if (data_socket == -1) {\n"
+" perror(\"socket\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /*\n"
+" * For portability clear the whole structure, since some\n"
+" * implementations have additional (nonstandard) fields in\n"
+" * the structure.\n"
+" */\n"
+"\\&\n"
+" memset(&addr, 0, sizeof(addr));\n"
+"\\&\n"
+" /* Connect socket to socket address. */\n"
+"\\&\n"
+" addr.sun_family = AF_UNIX;\n"
+" strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n"
+"\\&\n"
+" ret = connect(data_socket, (const struct sockaddr *) &addr,\n"
+" sizeof(addr));\n"
+" if (ret == -1) {\n"
+" fprintf(stderr, \"The server is down.\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Send arguments. */\n"
+"\\&\n"
+" for (size_t i = 1; i E<lt> argc; ++i) {\n"
+" ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" break;\n"
+" }\n"
+" }\n"
+"\\&\n"
+" /* Request result. */\n"
+"\\&\n"
+" strcpy(buffer, \"END\");\n"
+" ret = write(data_socket, buffer, strlen(buffer) + 1);\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Receive result. */\n"
+"\\&\n"
+" ret = read(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Ensure buffer is 0-terminated. */\n"
+"\\&\n"
+" buffer[sizeof(buffer) - 1] = 0;\n"
+"\\&\n"
+" printf(\"Result = %s\\en\", buffer);\n"
+"\\&\n"
+" /* Close socket. */\n"
+"\\&\n"
+" close(data_socket);\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+"/*\n"
+" * Plik connection.h\n"
+" */\n"
+"\\&\n"
+"#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n"
+"#define BUFFER_SIZE 12\n"
+"\\&\n"
+"/*\n"
+" * Plik server.c\n"
+" */\n"
+"\\&\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include \"connection.h\"\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sockaddr_un name;\n"
+" int down_flag = 0;\n"
+" int ret;\n"
+" int connection_socket;\n"
+" int data_socket;\n"
+" int result;\n"
+" char buffer[BUFFER_SIZE];\n"
+"\\&\n"
+" /* Tworzenie gniazda lokalnego. */\n"
+"\\&\n"
+" connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n"
+" if (connection_socket == -1) {\n"
+" perror(\"socket\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /*\n"
+" * Ze względu na przenośność konieczne jest wyczyszczenie całej\n"
+" * struktury, ponieważ niektóre implementacje zawierają dodatkowe\n"
+" * (nieprzenośne) pola w strukturze.\n"
+" */\n"
+"\\&\n"
+" memset(&name, 0, sizeof(name));\n"
+"\\&\n"
+" /* Skojarzenie gniazda z nazwą gniazda. */\n"
+"\\&\n"
+" name.sun_family = AF_UNIX;\n"
+" strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n"
+"\\&\n"
+" ret = bind(connection_socket, (const struct sockaddr *) &name,\n"
+" sizeof(name));\n"
+" if (ret == -1) {\n"
+" perror(\"bind\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /*\n"
+" * Przygotowanie do przyjmowania połączeń. Rozmiar dziennika zaległości\n"
+" * ustawiony na 20. W trakcie przetwarzania jednego żądania, inne mogą\n"
+" * zatem oczekiwać.\n"
+" */\n"
+"\\&\n"
+" ret = listen(connection_socket, 20);\n"
+" if (ret == -1) {\n"
+" perror(\"listen\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* To jest główna pętla do obsługi połączeń. */\n"
+"\\&\n"
+" for (;;) {\n"
+"\\&\n"
+" /* Oczekiwanie na połączenie przychodzące. */\n"
+"\\&\n"
+" data_socket = accept(connection_socket, NULL, NULL);\n"
+" if (data_socket == -1) {\n"
+" perror(\"accept\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" result = 0;\n"
+" for (;;) {\n"
+"\\&\n"
+" /* Oczekiwanie na następny pakiet danych. */\n"
+"\\&\n"
+" ret = read(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Upewnienie się, że bufor jest zakończony 0. */\n"
+"\\&\n"
+" buffer[sizeof(buffer) - 1] = 0;\n"
+"\\&\n"
+" /* Obsługa poleceń. */\n"
+"\\&\n"
+" if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n"
+" down_flag = 1;\n"
+" break;\n"
+" }\n"
+"\\&\n"
+" if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n"
+" break;\n"
+" }\n"
+"\\&\n"
+" /* Dodanie otrzymanego składnika. */\n"
+"\\&\n"
+" result += atoi(buffer);\n"
+" }\n"
+"\\&\n"
+" /* Wysłanie wyniku. */\n"
+"\\&\n"
+" sprintf(buffer, \"%d\", result);\n"
+" ret = write(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Zamknięcie gniazda. */\n"
+"\\&\n"
+" close(data_socket);\n"
+"\\&\n"
+" /* Wyjście na polecenie DOWN. */\n"
+"\\&\n"
+" if (down_flag) {\n"
+" break;\n"
+" }\n"
+" }\n"
+"\\&\n"
+" close(connection_socket);\n"
+"\\&\n"
+" /* Odlinkowanie gniazda. */\n"
+"\\&\n"
+" unlink(SOCKET_NAME);\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+"\\&\n"
+"/*\n"
+" * Plik client.c\n"
+" */\n"
+"\\&\n"
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include \"connection.h\"\n"
+"\\&\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sockaddr_un addr;\n"
+" int ret;\n"
+" int data_socket;\n"
+" char buffer[BUFFER_SIZE];\n"
+"\\&\n"
+" /* Utworzenie gniazda lokalnego. */\n"
+"\\&\n"
+" data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n"
+" if (data_socket == -1) {\n"
+" perror(\"socket\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /*\n"
+" * Ze względu na przenośność konieczne jest wyczyszczenie całej\n"
+" * struktury, ponieważ niektóre implementacje zawierają dodatkowe\n"
+" * (nieprzenośne) pola w strukturze.\n"
+" */\n"
+"\\&\n"
+" memset(&addr, 0, sizeof(addr));\n"
+"\\&\n"
+" /* Połączenie gniazda z adresem gniazda. */\n"
+"\\&\n"
+" addr.sun_family = AF_UNIX;\n"
+" strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n"
+"\\&\n"
+" ret = connect(data_socket, (const struct sockaddr *) &addr,\n"
+" sizeof(addr));\n"
+" if (ret == -1) {\n"
+" fprintf(stderr, \"Serwer jest wyłączony.\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Wysłanie argumentów. */\n"
+"\\&\n"
+" for (size_t i = 1; i E<lt> argc; ++i) {\n"
+" ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" break;\n"
+" }\n"
+" }\n"
+"\\&\n"
+" /* Zażądanie wyniku. */\n"
+"\\&\n"
+" strcpy(buffer, \"END\");\n"
+" ret = write(data_socket, buffer, strlen(buffer) + 1);\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Otrzymanie wyniku. */\n"
+"\\&\n"
+" ret = read(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+"\\&\n"
+" /* Upewnienie się, że bufor jest zakończony 0. */\n"
+"\\&\n"
+" buffer[sizeof(buffer) - 1] = 0;\n"
+"\\&\n"
+" printf(\"Wynik = %s\\en\", buffer);\n"
+"\\&\n"
+" /* Zamknięcie gniazda. */\n"
+"\\&\n"
+" close(data_socket);\n"
+"\\&\n"
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"For examples of the use of B<SCM_RIGHTS>, see B<cmsg>(3) and "
+"B<seccomp_unotify>(2)."
+msgstr ""
+"Przykłady użycia B<SCM_RIGHTS> można znaleźć w podręcznikach B<cmsg>(3) i "
+"B<seccomp_unotify>(2)."
+
+#. type: SH
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+#, no-wrap
+msgid "SEE ALSO"
+msgstr "ZOBACZ TAKŻE"
+
+#. type: Plain text
+#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide
+#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"B<recvmsg>(2), B<sendmsg>(2), B<socket>(2), B<socketpair>(2), B<cmsg>(3), "
+"B<capabilities>(7), B<credentials>(7), B<socket>(7), B<udp>(7)"
+msgstr ""
+"B<recvmsg>(2), B<sendmsg>(2), B<socket>(2), B<socketpair>(2), B<cmsg>(3), "
+"B<capabilities>(7), B<credentials>(7), B<socket>(7), B<udp>(7)"
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "2023-02-10"
+msgstr "10 lutego 2023 r."
+
+#. type: TH
+#: debian-bookworm
+#, no-wrap
+msgid "Linux man-pages 6.03"
+msgstr "Linux man-pages 6.03"
+
+#. type: Plain text
+#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed
+msgid ""
+"This read-only socket option returns the credentials of the peer process "
+"connected to this socket. The returned credentials are those that were in "
+"effect at the time of the call to B<connect>(2) or B<socketpair>(2)."
+msgstr ""
+"Jest to opcja gniazda tylko do odczytu, która zwraca uwierzytelnienia "
+"drugiego procesu skojarzonego z tym gniazdem. Zwracanymi uwierzytelnieniami "
+"są te, które obowiązywały w momencie wywołania B<connect>(2) lub "
+"B<socketpair>(2)."
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "void *addrp;\n"
+msgstr "void *addrp;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"addrlen = sizeof(struct sockaddr_un);\n"
+"addrp = malloc(addrlen + 1);\n"
+"if (addrp == NULL)\n"
+" /* Handle error */ ;\n"
+"memset(addrp, 0, addrlen + 1);\n"
+msgstr ""
+"addrlen = sizeof(struct sockaddr_un);\n"
+"addrp = malloc(addrlen + 1);\n"
+"if (addrp == NULL)\n"
+" /* Obsługa błędu */ ;\n"
+"memset(addrp, 0, addrlen + 1);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n"
+" /* handle error */ ;\n"
+msgstr ""
+"if (getsockname(sfd, (struct sockaddr *) addrp, &addrlen)) == -1)\n"
+" /* obsługa błędu */ ;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-E<gt>sun_path);\n"
+msgstr "printf(\"sun_path = %s\\en\", ((struct sockaddr_un *) addrp)-E<gt>sun_path);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"/*\n"
+" * File connection.h\n"
+" */\n"
+msgstr ""
+"/*\n"
+" * Plik connection.h\n"
+" */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n"
+"#define BUFFER_SIZE 12\n"
+msgstr ""
+"#define SOCKET_NAME \"/tmp/9Lq7BNBnBycd6nxy.socket\"\n"
+"#define BUFFER_SIZE 12\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"/*\n"
+" * File server.c\n"
+" */\n"
+msgstr ""
+"/*\n"
+" * Plik server.c\n"
+" */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include \"connection.h\"\n"
+msgstr ""
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include \"connection.h\"\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sockaddr_un name;\n"
+" int down_flag = 0;\n"
+" int ret;\n"
+" int connection_socket;\n"
+" int data_socket;\n"
+" int result;\n"
+" char buffer[BUFFER_SIZE];\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sockaddr_un name;\n"
+" int down_flag = 0;\n"
+" int ret;\n"
+" int connection_socket;\n"
+" int data_socket;\n"
+" int result;\n"
+" char buffer[BUFFER_SIZE];\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Create local socket. */\n"
+msgstr " /* Tworzenie lokalnego gniazda. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n"
+" if (connection_socket == -1) {\n"
+" perror(\"socket\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" connection_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n"
+" if (connection_socket == -1) {\n"
+" perror(\"socket\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /*\n"
+" * For portability clear the whole structure, since some\n"
+" * implementations have additional (nonstandard) fields in\n"
+" * the structure.\n"
+" */\n"
+msgstr ""
+" /*\n"
+" * Dla przenośności wyczyść całą strukturę, ponieważ niektóre\n"
+" * implementacje mają dodatkowe (niestandardowe) pola\n"
+" * w strukturze.\n"
+" */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " memset(&name, 0, sizeof(name));\n"
+msgstr " memset(&name, 0, sizeof(name));\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Bind socket to socket name. */\n"
+msgstr " /* Wiązanie gniazda z nazwą gniazda. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" name.sun_family = AF_UNIX;\n"
+" strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n"
+msgstr ""
+" name.sun_family = AF_UNIX;\n"
+" strncpy(name.sun_path, SOCKET_NAME, sizeof(name.sun_path) - 1);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" ret = bind(connection_socket, (const struct sockaddr *) &name,\n"
+" sizeof(name));\n"
+" if (ret == -1) {\n"
+" perror(\"bind\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" ret = bind(connection_socket, (const struct sockaddr *) &name,\n"
+" sizeof(name));\n"
+" if (ret == -1) {\n"
+" perror(\"bind\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" /*\n"
+" * Prepare for accepting connections. The backlog size is set\n"
+" * to 20. So while one request is being processed other requests\n"
+" * can be waiting.\n"
+" */\n"
+msgstr ""
+" /*\n"
+" * Przygotowywanie do akceptowania połączeń. Rozmiar bufora jest\n"
+" * ustawiany na 20. Podczas przetwarzania jednego żądania, inne\n"
+" * mogą czekać.\n"
+" */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" ret = listen(connection_socket, 20);\n"
+" if (ret == -1) {\n"
+" perror(\"listen\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" ret = listen(connection_socket, 20);\n"
+" if (ret == -1) {\n"
+" perror(\"listen\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* This is the main loop for handling connections. */\n"
+msgstr " /* To główna pętla do obsługi połączeń. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " for (;;) {\n"
+msgstr " for (;;) {\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Wait for incoming connection. */\n"
+msgstr " /* Czekanie na połączenie przychodzące. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" data_socket = accept(connection_socket, NULL, NULL);\n"
+" if (data_socket == -1) {\n"
+" perror(\"accept\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" data_socket = accept(connection_socket, NULL, NULL);\n"
+" if (data_socket == -1) {\n"
+" perror(\"accept\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" result = 0;\n"
+" for (;;) {\n"
+msgstr ""
+" result = 0;\n"
+" for (;;) {\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Wait for next data packet. */\n"
+msgstr " /* Czekanie na następny pakiet danych. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" ret = read(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" ret = read(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Ensure buffer is 0-terminated. */\n"
+msgstr " /* Upewnienie się, że bufor kończy się 0. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " buffer[sizeof(buffer) - 1] = 0;\n"
+msgstr " buffer[sizeof(buffer) - 1] = 0;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Handle commands. */\n"
+msgstr " /* Obsługa poleceń. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n"
+" down_flag = 1;\n"
+" break;\n"
+" }\n"
+msgstr ""
+" if (!strncmp(buffer, \"DOWN\", sizeof(buffer))) {\n"
+" down_flag = 1;\n"
+" break;\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n"
+" break;\n"
+" }\n"
+msgstr ""
+" if (!strncmp(buffer, \"END\", sizeof(buffer))) {\n"
+" break;\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Add received summand. */\n"
+msgstr " /* Dodawanie otrzymanej sumy. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" result += atoi(buffer);\n"
+" }\n"
+msgstr ""
+" result += atoi(buffer);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Send result. */\n"
+msgstr " /* Wysyłanie wyniku. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" sprintf(buffer, \"%d\", result);\n"
+" ret = write(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" sprintf(buffer, \"%d\", result);\n"
+" ret = write(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Close socket. */\n"
+msgstr " /* Zamknięcie gniazda. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " close(data_socket);\n"
+msgstr " close(data_socket);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Quit on DOWN command. */\n"
+msgstr " /* Wyjście po poleceniu DOWN. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" if (down_flag) {\n"
+" break;\n"
+" }\n"
+" }\n"
+msgstr ""
+" if (down_flag) {\n"
+" break;\n"
+" }\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " close(connection_socket);\n"
+msgstr " close(connection_socket);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Unlink the socket. */\n"
+msgstr " /* Usunięcie gniazda. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " unlink(SOCKET_NAME);\n"
+msgstr " unlink(SOCKET_NAME);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+msgstr ""
+" exit(EXIT_SUCCESS);\n"
+"}\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"/*\n"
+" * File client.c\n"
+" */\n"
+msgstr ""
+"/*\n"
+" * Plik client.c\n"
+" */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include \"connection.h\"\n"
+msgstr ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>sys/socket.hE<gt>\n"
+"#include E<lt>sys/un.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include \"connection.h\"\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sockaddr_un addr;\n"
+" int ret;\n"
+" int data_socket;\n"
+" char buffer[BUFFER_SIZE];\n"
+msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" struct sockaddr_un addr;\n"
+" int ret;\n"
+" int data_socket;\n"
+" char buffer[BUFFER_SIZE];\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n"
+" if (data_socket == -1) {\n"
+" perror(\"socket\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" data_socket = socket(AF_UNIX, SOCK_SEQPACKET, 0);\n"
+" if (data_socket == -1) {\n"
+" perror(\"socket\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " memset(&addr, 0, sizeof(addr));\n"
+msgstr " memset(&addr, 0, sizeof(addr));\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Connect socket to socket address. */\n"
+msgstr " /* Łączenie gniazda z adresem gniazda. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" addr.sun_family = AF_UNIX;\n"
+" strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n"
+msgstr ""
+" addr.sun_family = AF_UNIX;\n"
+" strncpy(addr.sun_path, SOCKET_NAME, sizeof(addr.sun_path) - 1);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" ret = connect(data_socket, (const struct sockaddr *) &addr,\n"
+" sizeof(addr));\n"
+" if (ret == -1) {\n"
+" fprintf(stderr, \"The server is down.\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" ret = connect(data_socket, (const struct sockaddr *) &addr,\n"
+" sizeof(addr));\n"
+" if (ret == -1) {\n"
+" fprintf(stderr, \"The server is down.\\en\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Send arguments. */\n"
+msgstr " /* Wysyłanie argumentów. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" for (size_t i = 1; i E<lt> argc; ++i) {\n"
+" ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" break;\n"
+" }\n"
+" }\n"
+msgstr ""
+" for (size_t i = 1; i E<lt> argc; ++i) {\n"
+" ret = write(data_socket, argv[i], strlen(argv[i]) + 1);\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" break;\n"
+" }\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Request result. */\n"
+msgstr " /* Żądanie wyniku. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" strcpy(buffer, \"END\");\n"
+" ret = write(data_socket, buffer, strlen(buffer) + 1);\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" strcpy(buffer, \"END\");\n"
+" ret = write(data_socket, buffer, strlen(buffer) + 1);\n"
+" if (ret == -1) {\n"
+" perror(\"write\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Receive result. */\n"
+msgstr " /* Otrzymanie wyniku. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid ""
+" ret = read(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+msgstr ""
+" ret = read(data_socket, buffer, sizeof(buffer));\n"
+" if (ret == -1) {\n"
+" perror(\"read\");\n"
+" exit(EXIT_FAILURE);\n"
+" }\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Ensure buffer is 0-terminated. */\n"
+msgstr " /* Upewnienie się, że bufor kończy się 0. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " buffer[sizeof(buffer) - 1] = 0;\n"
+msgstr " buffer[sizeof(buffer) - 1] = 0;\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " printf(\"Result = %s\\en\", buffer);\n"
+msgstr " printf(\"Result = %s\\en\", buffer);\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " /* Close socket. */\n"
+msgstr " /* Zamknięcie gniazda. */\n"
+
+#. type: Plain text
+#: debian-bookworm opensuse-leap-15-6
+#, no-wrap
+msgid " close(data_socket);\n"
+msgstr " close(data_socket);\n"
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "2023-07-15"
+msgstr "15 lipca 2023 r."
+
+#. type: TH
+#: debian-unstable opensuse-tumbleweed
+#, no-wrap
+msgid "Linux man-pages 6.05.01"
+msgstr "Linux man-pages 6.05.01"
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "2023-03-21"
+msgstr "21 marca 2023 r."
+
+#. type: TH
+#: opensuse-leap-15-6
+#, no-wrap
+msgid "Linux man-pages 6.04"
+msgstr "Linux man-pages 6.04"