Provided by: manpages-de-dev_0.10-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-2001 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-Fähigkeit.

KONFORM ZU

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

ANMERKUNGEN

       SUSv2 garantiert, dass »Rechnernamen auf 255 Byte begrenzt sind«. POSIX.1-2001 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).

   Anmerkungen zur Glibc
       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  3.32  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts  und  Informationen, wie Fehler gemeldet werden können, 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>,   Jens   Seidel   <jensseidel@users.sf.net>   und   Martin   Eberhard  Schauer
       <Martin.E.Schauer@gmx.de> 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>.