Provided by: manpages-de-dev_4.27.0-1_all bug

BEZEICHNUNG

       gethostname, sethostname - bestimmt/setzt den Rechnernamen

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <unistd.h>

       int gethostname(char *name, size_t Länge);
       int sethostname(const char *name, size_t Länge);

   Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

       gethostname():
           _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
               || /* Glibc 2.19 und älter */ _BSD_SOURCE

       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. Genauer
       ausgedrückt, arbeiten sie  mit  dem  Rechnernamen,  der  dem  UTS-Namensraum  des  aufrufenden  Prozesses
       zugeordnet ist.

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

       gethostname()  gibt  den  (mit  einem  Nullbyte  abgeschlossenen)  Rechnernamen  der  Länge Länge 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 Nullbyte enthält.

RÜCKGABEWERT

       Bei  Erfolg  wird  Null  zurückgegeben.  Bei einem Fehler wird -1 zurückgegeben und errno gesetzt, um den
       Fehler anzuzeigen.

FEHLER

       EFAULT name ist eine ungültige Adresse.

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

       ENAMETOOLONG
              gethostname()  der  Glibc  gibt  damit  an, das Länge 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)).

VERSIONEN

       SUSv2 garantiert, dass »Rechnernamen auf 255 Byte begrenzt sind«. POSIX.1 garantiert, dass  »Rechnernamen
       (ohne das abschließende Nullbyte) 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 Länge 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 Länge ist.
       In diesem Fall gibt sie -1 zurück und setzt errno auf ENAMETOOLONG; der zurückgegebene name enthält  dann
       kein abschließendes Nullbyte.

STANDARDS

       gethostname()
              POSIX.1-2008.

       sethostname()
              Keine.

GESCHICHTE

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

       Glibc-Versionen vor 2.2 verhielten sich anders, wenn die Länge von nodename größer als oder gleich  Länge
       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)

Ü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 die
       Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.

Linux man-pages 6.9.1                              2. Mai 2024                                    gethostname(2)