Provided by: manpages-de-dev_1.11-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():
           _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.

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

       getdomainname(2), setdomainname(2), uname(2)

KOLOPHON

       Diese  Seite  ist  Teil  der  Veröffentlichung  4.04  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 http://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>.