gethostname(2)

NAAM
gethostname, sethostname - krijg/zet machinenaam

BIBLIOTHEEK
Standard C bibliotheek (libc, -lc)

SAMENVATTING
#include <unistd.h>

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 VERSIES 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 dan 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-2024.

sethostname()
    Geen.

GESCHIEDENIS
SVr4, 4.4BSD (these interfaces first appeared in 4.2BSD). POSIX.1 specifies gethostname() but not sethostname().

Versies van glibc voor 2.2 behandelden het geval waar de lengte van de nodenaam groter of gelijk was aan len anders: er werd niets gekopieerd naar naam en de functie retourneert -1 en errno werd 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 <joshb@xs4all.nl>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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 debian-l10n-dutch@lists.debian.org.