getdomainname(2) System Calls Manual getdomainname(2)

getdomainname, setdomainname - pobiera/ustawia nazwę domeny NIS

Standardowa biblioteka C (libc, -lc)

#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)

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).

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

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.

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).

Brak.

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.

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

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.

2 maja 2024 r. Linux man-pages 6.9.1