.\" -*- coding: UTF-8 -*-
.\" Copyright (c) 1983, 1991 The Regents of the University of California.
.\" All rights reserved.
.\"
.\" SPDX-License-Identifier: BSD-4-Clause-UC
.\"
.\"     @(#)getpeername.2	6.5 (Berkeley) 3/10/91
.\"
.\" Modified Sat Jul 24 16:37:50 1993 by Rik Faith <faith@cs.unc.edu>
.\" Modified Thu Jul 30 14:37:50 1993 by Martin Schulze <joey@debian.org>
.\" Modified Sun Mar 28 21:26:46 1999 by Andries Brouwer <aeb@cwi.nl>
.\" Modified 17 Jul 2002, Michael Kerrisk <mtk.manpages@gmail.com>
.\"	Added 'socket' to NAME, so that "man -k socket" will show this page.
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH getpeername 2 "2 maja 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
getpeername \- pobiera nazwę drugiej strony połączonego gniazda
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <sys/socket.h>\fP
.P
\fBint getpeername(int \fP\fIsockfd\fP\fB, struct sockaddr *restrict \fP\fIaddr\fP\fB,\fP
\fB                socklen_t *restrict \fP\fIaddrlen\fP\fB);\fP
.fi
.SH OPIS
\fBgetpeername\fP() zwraca adres drugiej strony równorzędnego połączenia
odbywającego się poprzez gniazdo \fIsockfd\fP, w buforze na który wskazuje
\fIaddr\fP. Argument \fIaddrlen\fP powinien być zainicjalizowany tak, aby podawać
rozmiar obszaru wskazywanego przez \fIaddr\fP. Po zakończeniu, będzie on
zawierać rzeczywisty rozmiar zwróconej nazwy (w bajtach). Nazwa jest
obcinana, jeśli zadany bufor jest zbyt mały.
.P
Zwracany adres jest przycinany, jeśli udostępniony bufor jest zbyt mały; w
tym przypadku \fIaddrlen\fP zwróci wartość większą niż była podana w wywołaniu.
.SH "WARTOŚĆ ZWRACANA"
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest \-1 i
ustawiane \fIerrno\fP, wskazując błąd.
.SH BŁĘDY
.TP 
\fBEBADF\fP
Argument \fIsockfd\fP nie jest prawidłowym deskryptorem.
.TP 
\fBEFAULT\fP
Parametr \fIaddr\fP wskazuje poza dostępną przestrzeń adresową procesu.
.TP 
\fBEINVAL\fP
\fIaddrlen\fP jest nieprawidłowe (np. jest ujemne).
.TP 
\fBENOBUFS\fP
Dostępna ilość zasobów systemowych jest niewystarczająca dla wykonania
operacji.
.TP 
\fBENOTCONN\fP
Gniazdo nie jest podłączone.
.TP 
\fBENOTSOCK\fP
Deskryptor pliku \fIsockfd\fP nie odnosi się do gniazda.
.SH STANDARDY
POSIX.1\-2008.
.SH HISTORIA
POSIX.1\-2001, SVr4, 4.4BSD (pojawiło się pierwotnie w 4.2BSD).
.SH UWAGI
W przypadku gniazd strumieniowych, po przeprowadzeniu \fBconnect\fP(2), każde z
gniazd może wywołać \fBgetpeername\fP(), aby pozyskać adres drugiego gniazda. Z
drugiej strony, gniazda datagramowe są bezpołączeniowe. Wywołanie
\fBconnect\fP(2) na gnieździe datagramowym jedynie ustawia adres drugiej strony
w celu wysyłania datagramów za pomocą \fBwrite\fP(2) lub \fBrecv\fP(2). Odbiorca
\fBconnect\fP(2)  może użyć \fBgetpeername\fP() do pozyskania adresu drugiego
gniazda, które ustawiło wcześniej dla gniazda. Jednakże drugie gniazdo nie
ma tej wiedzy, zatem wywołanie \fBgetpeername\fP() na drugim gnieździe nie
zwróci żadnej przydatnej informacji (chyba, że wywołanie \fBconnect\fP(2)
wykonano również na drugim gnieździe). Proszę zauważyć, że odbiorca
datagramu może pozyskać adres wysyłającego za pomocą \fBrecvfrom\fP(2).
.SH "ZOBACZ TAKŻE"
\fBaccept\fP(2), \fBbind\fP(2), \fBgetsockname\fP(2), \fBip\fP(7), \fBsocket\fP(7),
\fBunix\fP(7)
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Przemek Borys <pborys@dione.ids.pl>,
Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl>
i
Michał Kułach <michal.kulach@gmail.com>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
