gethostname(2) System Calls Manual gethostname(2) NAAM gethostname, sethostname - krijg/zet machinenaam BIBLIOTHEEK Standard C bibliotheek (libc, -lc) SAMENVATTING #include int gethostname(char *naam, size_t len); int sethostname(const char *naam, size_t len); Feature Test Macro's eisen in glibc (zie feature_test_macros(7)): gethostname(): _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L || /* glibc 2.19 en eerder */ _BSD_SOURCE sethostname(): Vanaf glibc 2.21: _DEFAULT_SOURCE In glibc 2.19 en 2.20: _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) Tot en met glibc 2.19: _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) BESCHRIJVING Deze systeem aanroepen worden gebruikt om de machinenaam van het systeem op te vragen of te veranderen. Preciezer gezegd, ze werken op de machinenaam die geassocieerd is met de UTS naamruimte van het aanroepende proces. sethostname() zet de machinenaam op de waarde gegeven door de tekenreeks naam. Het len argument specificeert het aantal bytes in naam. (Daarom vereist naam geen afsluitend NULL byte.) gethostname() retourneert een met NULL afgesloten machinenaam in de tekenreeks naam, die een lengte van len bytes heeft. Als de met NULL afgesloten machinenaam te lang is om te passen, dan wordt de naam afgekapt, en geen fout teruggegeven (let op: lees OPMERKINGEN hieronder). POSIX.1 zegt dat als dit afkappen optreedt, dat het niet bepaald is of de teruggegeven buffer een afsluitende NULL bevat of niet. EIND WAARDE Bij succes wordt nul teruggegeven. Bij falen wordt -1 teruggegeven en wordt errno overeenkomstig gezet. FOUTEN EFAULT naam is een ongeldig adres. EINVAL len is negatief of, voor sethostname(), len is groter dat de maximum toegestane maat. ENAMETOOLONG (glibc gethostname()) len is kleiner dan de benodigde grootte. (Voor glibc 2.1, gebruikte glibc in dit geval EINVAL.) EPERM Met sethostname() had de aanroeper niet de benodigde CAP_SYS_ADMIN capaciteit in de gebruiker naamruimte geassocieerd met zijn UTS naamruimte (zie namespaces(7)). VERSIES SUSv2 garandeert dat "Machinenamen beperkt zijn tot 255 bytes". POSIX.1 garandeert dat "Machinenamen (exclusief het afsluitende NULL byte) beperkt zijn tot HOST_NAME_MAX bytes". Op Linux, is HOST_NAME_MAX is gedefinieerd met de waarde 64, hetgeen de limiet is geweest sinds Linux 1.0 (eerdere kernels kenden een limiet van 8 bytes). C library/kernel verschillen De GNU C bibliotheek gebruikt de gethostname() systeem aanroep niet; in plaats daarvan implementeert hij gethostname() als een bibliotheek functie die uname(2) aanroept en vervolgens maximaal len bytes van het teruggegeven nodenaam veld naar naam kopieert. Na het uitvoeren van de kopie controleert de functie of de lengte van nodenaam groter of gelijk was aan len en als dat het geval was dan geeft de functie -1 terug en wordt errno gezet op ENAMETOOLONG; in dit geval wordt het afsluitend NULL byte niet toegevoegd aan de teruggegeven naam. VOLDOET AAN gethostname() POSIX.1-2008. sethostname() Geen. GESCHIEDENIS SVr4, 4.4BSD (deze functie verscheen voor het eerst in 4.2BSD).POSIX.1-2001 en POSIX.1-2008 bepalen gethostname(), maar niet sethostname(). Versies van glibc voor 2.2 behandelden het geval waar de lengte van de nodenaam groter of gelijk was aan len anders: niets werd gekopieerd naar naam en de functie retourneert -1 met errno gezet op ENAMETOOLONG. ZIE OOK hostname(1), getdomainname(2), setdomainname(2), uname(2), uts_namespaces(7) VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blattermann en Luc Castermans Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID. Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar . Linux man-pages 6.06 31 oktober 2023 gethostname(2)