Provided by: manpages-de-dev_2.16-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

       These  system  calls are used to access or to change the system hostname. More precisely, they operate on
       the hostname associated with the calling process's UTS namespace.

       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), uts_namespaces(7)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  5.03  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>.

Linux                                           10. Oktober 2019                                  GETHOSTNAME(2)