Scroll to navigation

getdomainname(2) System Calls Manual getdomainname(2)

NAZWA

getdomainname, setdomainname - pobiera/ustawia nazwę domeny NIS

BIBLIOTEKA

Standardowa biblioteka C (libc, -lc)

SKŁADNIA

#include <unistd.h>
int getdomainname(char *name, size_t len);
int setdomainname(const char *name, size_t len);

Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

getdomainname(), setdomainname():


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)

OPIS

Funkcje te służą do uzyskania dostępu lub zmiany nazwy domeny NIS systemu. Mówiąc precyzyjniej, działają na nazwie domeny NIS, związanej z przestrzenią nazw UTS procesu wywołującego.

setdomainname() ustawia nazwę domeny na wartość określoną w tablicy znakowej name. Argument len określa liczbę bajtów w name (dlatego name nie wymaga końcowego bajtu null).

getdomainname() zwraca nazwę domeny, zakończoną znakiem null, w tablicy znakowej name o długości len bajtów. Jeśli zakończona znakiem null nazwa domeny wymaga więcej niż len bajtów, getdomainname() zwraca pierwsze len bajtów (glibc) lub zwraca błąd (libc).

WARTOŚĆ ZWRACANA

Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i ustawiane errno, wskazując błąd.

BŁĘDY

setdomainname() może zawieść z powodu następujących błędów:

name wskazywało poza przestrzeń adresową użytkownika.
len było ujemne lub zbyt duże.
Wywołujący nie posiadał przywileju (ang. capability) CAP_SYS_ADMIN w przestrzeni nazw użytkownika związanej z jego przestrzenią nazw UTS (zob. namespaces(7)).

getdomainname() może zawieść z powodu następujących błędów:

Dla getdomainname() pod libc: name jest równe NULL lub name jest dłuższe niż len bajtów.

STANDARDY

POSIX nie określa tych funkcji.

UWAGI

Od Linuksa 1.0, limitem długości nazwy domeny, w tym kończącego bajtu null, jest 64 bajtów. W starszych jądrach było to 8 bajtów.

W większości architektur linuksowych (w tym x86), nie występuje wywołanie systemowe getdomainname(), zamiast tego glibc implementuje getdomainname() jako funkcję biblioteczną, zwracającą kopię pola domainname zwróconą przez wywołanie do uname(2).

ZOBACZ TAKŻE

gethostname(2), sethostname(2), uname(2), uts_namespaces(7)

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>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.

30 października 2022 r. Linux man-pages 6.03