diff options
Diffstat (limited to 'po/pl/man7/unix.7.po')
-rw-r--r-- | po/pl/man7/unix.7.po | 3138 |
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" |