Provided by: manpages-de-dev_4.15.0-9_all bug

BEZEICHNUNG

       gethostname, sethostname - bestimmt/setzt den Rechnernamen

ÜBERSICHT

       #include <unistd.h>

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

   Mit Glibc erforderliche 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 NULL-Byte 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 NULL-Byte 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)).

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 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
       NULL-Byte.

       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)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  5.13  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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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⟩.