Provided by: manpages-de-dev_2.5-1_all bug

BEZEICHNUNG

       gethostname, sethostname - bestimmt/setzt den Rechnernamen

ÜBERSICHT

       #include <unistd.h>

       int gethostname(char *name, size_t len);
       int sethostname(const char *name, size_t len);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       gethostname():
           Seit Glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500
           || /* Seit Glibc 2.12: */ _POSIX_C_SOURCE >= 200112L
       sethostname():
           Seit Glibc 2.21:
               _DEFAULT_SOURCE
           In Glibc 2.19 und 2.20:
               _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
           Bis einschließlich Glibc 2.19:
               _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

BESCHREIBUNG

       Mit  diesen  Systemaufrufen  erfragen  und  setzen  Sie  den  Rechnernamen  des  aktuellen
       Prozessors.

       sethostname() setzt den  Rechnernamen  auf  den  im  Zeichenfeld  (character  array)  name
       übergebenen  Wert.  Das  Argument  len  gibt  die  Anzahl  der  Bytes in name an. (Deshalb
       erfordert name kein abschließendes Null-Byte.)

       gethostname() gibt den (mit einem Null-Byte abgeschlossenen) Rechnernamen  der  Länge  len
       Byte  im  Zeichenfeld  name  zurück.  Ist  der  Rechnername zu groß für name, wird er ohne
       Fehlermeldung gekürzt (siehe aber die ANMERKUNGEN unten). POSIX.1 legt nicht fest,  ob  im
       Fall einer solchen Kürzung der zurückgegebene Puffer ein abschließendes Null-Byte enthält.

RÜCKGABEWERT

       Bei  Erfolg  wird  Null  zurückgegeben.  Bei  einem Fehler wird -1 zurückgegeben und errno
       entsprechend gesetzt.

FEHLER

       EFAULT name ist eine ungültige Adresse.

       EINVAL len ist negativ oder das Argument len für sethostname() überschreitet  die  maximal
              zulässige Größe.

       ENAMETOOLONG
              gethostname()  der  Glibc  gibt  damit an, das len kleiner ist als die tatsächliche
              Größe. (Vor Version 2.1 verwendet Glibc in diesem Fall EINVAL.)

       EPERM  Der  Aufruf  von  sethostname()  erfolgte  ohne  die  CAP_SYS_ADMIN-Capability   im
              Benutzernamensraum, der seinem UTS-Namensraum zugeordnet ist (siehe namespaces(7)).

KONFORM ZU

       SVr4,  4.4BSD  (diese  Schnittstellen  kamen  erstmals  in  4.2BSD  vor). POSIX.1-2001 und
       POSIX.1-2008 spezifizieren gethostname(), aber nicht sethostname().

ANMERKUNGEN

       SUSv2 garantiert, dass »Rechnernamen auf 255 Byte begrenzt sind«. POSIX.1 garantiert, dass
       »Rechnernamen  (ohne  das  abschließende Null-Byte) auf HOST_NAME_MAX Byte begrenzt sind«.
       Für Linux ist HOST_NAME_MAX seit Version 1.0 auf 64 gesetzt (frühere Kernel  setzten  eine
       Grenze von 8 Byte).

   Unterschiede C-Bibliothek/Kernel
       Die  GNU-C-Bibliothek  implementiert  gethostname()  nicht  als  Systemaufruf, sondern als
       Bibliotheksfunktion. Diese Funktion ruft uname(2) auf und kopiert bis zu len Byte aus  dem
       zurückgegebenen  Feld  nodename  nach  name.  Nach dem Kopieren prüft die Funktion, ob die
       Länge von nodename größer als oder gleich len ist. In diesem Fall gibt sie -1  zurück  und
       setzt  errno  auf  ENAMETOOLONG;  der zurückgegebene name enthält dann kein abschließendes
       Null-Byte.

       Glibc-Versionen vor 2.2 verhielten sich anders, wenn die Länge  von  nodename  größer  als
       oder gleich len war: sie kopierten nichts nach name, gaben -1 zurück und setzten errno auf
       ENAMETOOLONG.

SIEHE AUCH

       hostname(1), getdomainname(2), setdomainname(2), uname(2)

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  4.15  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts,  Informationen,  wie  Fehler gemeldet werden können sowie die
       aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde  von  René  Tschirley  <gremlin@cs.tu-
       berlin.de>,  Martin  Eberhard  Schauer  <Martin.E.Schauer@gmx.de>  und  Mario  Blättermann
       <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.