.\" -*- coding: UTF-8 -*-
.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" Modified 1995-07-22 by Michael Chastain <mec@duracef.shout.net>:
.\"   'gethostname' is real system call on Linux/Alpha.
.\" Modified 1997-01-31 by Eric S. Raymond <esr@thyrsus.com>
.\" Modified 2000-06-04, 2001-12-15 by aeb
.\" Modified 2004-06-17 by mtk
.\" Modified 2008-11-27 by mtk
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH gethostname 2 "30 marca 2023 r." "Linux man\-pages 6.05.01" 
.SH NAZWA
gethostname, sethostname \- pobiera/ustawia nazwę stacji
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <unistd.h>\fP
.PP
\fBint gethostname(char *\fP\fIname\fP\fB, size_t \fP\fIlen\fP\fB);\fP
\fBint sethostname(const char *\fP\fIname\fP\fB, size_t \fP\fIlen\fP\fB);\fP
.fi
.PP
.RS -4
Wymagane ustawienia makr biblioteki glibc (patrz \fBfeature_test_macros\fP(7)):
.RE
.PP
\fBgethostname\fP():
.nf
.\" The above is something of a simplification
.\" also before glibc 2.3 there was a bit churn
    _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
        || /* glibc 2.19 i wcześniejsze */ _BSD_SOURCE
.fi
.PP
\fBsethostname\fP():
.nf
.\"		commit 266865c0e7b79d4196e2cc393693463f03c90bd8
    Od glibc 2.21:
        _DEFAULT_SOURCE
    W glibc 2.19 i 2.20:
        _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
    Do glibc 2.19 włącznie:
        _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
.fi
.SH OPIS
Wywołania systemowe służą do uzyskania dostępu lub zmiany systemowej nazwy
komputera. Mówiąc precyzyjniej, działają na nazwie komputera, związanej z
przestrzenią nazw UTS procesu wywołującego.
.PP
\fBsethostname\fP() ustawia nazwę komputera na wartość określoną w tablicy
znakowej \fIname\fP. Argument \fIlen\fP argument określa liczbę bajtów w \fIname\fP
(dlatego \fIname\fP nie wymaga końcowego bajtu null).
.PP
\fBgethostname\fP() zwraca nazwę komputera, zakończoną znakiem null, w tablicy
znakowej \fIname\fP, o długości \fIlen\fP bajtów. Jeśli zakończona znakiem null
nazwa komputera jest zbyt długa, aby się zmieścić, to nazwa jest obcinana i
nie jest zwracany żaden błąd (ale zob. UWAGI poniżej). POSIX.1 określa, że
jeśli takie obcięcie występuje, to nie jest określone, czy zwracany bufor
zawiera końcowy bajt null.
.SH "WARTOŚĆ ZWRACANA"
Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest \-1 i
ustawiane jest \fIerrno\fP wskazując błąd.
.SH BŁĘDY
.TP 
\fBEFAULT\fP
\fIname\fP jest nieprawidłowym adresem.
.TP 
\fBEINVAL\fP
.\" Can't occur for gethostbyname() wrapper, since 'len' has an
.\" unsigned type; can occur for the underlying system call.
\fIlen\fP jest ujemne lub, przy \fBsethostname\fP(), \fIlen\fP jest większe niż
maksymalny dopuszczalny rozmiar.
.TP 
\fBENAMETOOLONG\fP
(glibc \fBgethostname\fP())  \fIlen\fP jest mniejsze niż rzeczywisty
rozmiar. Przed glibc 2.1, glibc w tym przypadku używało \fBEINVAL\fP.
.TP 
\fBEPERM\fP
W przypadku \fBsethostname\fP(), wywołujący nie posiadał przywileju
(ang. capability) \fBCAP_SYS_ADMIN\fP w przestrzeni nazw użytkownika związanej
z jego przestrzenią nazw UTS (zob. \fBnamespaces\fP(7)).
.SH WERSJE
SUSv2 gwarantuje, że \[Bq]nazwy stacji są ograniczone do 255
bajtów\[rq]. POSIX 1003.1\-2001 gwarantuje, że \[Bq]nazwy stacji (bez
kończącego NUL) są ograniczone do \fBHOST_NAME_MAX\fP bajtów\[rq]. W Linuksie
\fBHOST_NAME_MAX\fP jest zdefiniowane z wartością 64, co stanowiło limit od
Linuksa 1.0 (wcześniejsze jądra narzucały limit 8 bajtów).
.SS "Różnice biblioteki C/jądra"
Biblioteka GNU C nie używa wywołania systemowego \fBgethostname\fP(); w zamian
korzysta z \fBgethostname\fP() jako funkcji bibliotecznej wywołującej
\fBuname\fP(2) i kopiuje do \fIlen\fP bajtów ze zwracanego pola \fInodename\fP do
\fIname\fP. Po przeprowadzeniu kopiowania, funkcja sprawdza, czy długość
\fInodename\fP była większa lub równa \fIlen\fP i jeśli tak było, funkcja zwraca
\-1 z \fIerrno\fP ustawionym na \fBENAMETOOLONG\fP; w takim przypadku końcowy bajt
null nie jest umieszczany w zwracanym \fIname\fP.
.SH STANDARDY
.TP 
\fBgethostname\fP()
POSIX.1\-2008.
.TP 
\fBsethostname\fP()
Brak.
.SH HISTORIA
SVr4, 4.4BSD (interfejsy te pierwotnie pojawiły się w 4.2BSD). POSIX.1\-2001
i POSIX.1\-2008 definiuje \fBgethostname\fP() ale nie \fBsethostname\fP().
.PP
.\" At least glibc 2.0 and glibc 2.1, older versions not checked
Wersje glibc przed glibc 2.2 obsługują przypadek, w którym długość
\fInodename\fP była większa lub równa \fIlen\fP w odmienny sposób: nic nie jest
kopiowane do \fIname\fP, a funkcja zwraca \-1 z \fIerrno\fP ustawionym na
\fBENAMETOOLONG\fP.
.SH "ZOBACZ TAKŻE"
\fBhostname\fP(1), \fBgetdomainname\fP(2), \fBsetdomainname\fP(2), \fBuname\fP(2),
\fButs_namespaces\fP(7)
.PP
.SH TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są:
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 .
