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