table of contents
GETHOSTNAME(2) | Linux-Programmierhandbuch | GETHOSTNAME(2) |
BEZEICHNUNG¶
gethostname, sethostname - bestimmt/setzt den RechnernamenÜBERSICHT¶
#include <unistd.h>Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):
Seit Glibc 2.12: _BSD_SOURCE ||
_XOPEN_SOURCE >= 500
|| /* Seit Glibc 2.12: */ _POSIX_C_SOURCE >= 200112L
_BSD_SOURCE || (_XOPEN_SOURCE &&
_XOPEN_SOURCE < 500)
BESCHREIBUNG¶
Mit diesen Systemaufrufen erfragen und setzen Sie den Rechnernamen des aktuellen Prozessors.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.SIEHE AUCH¶
getdomainname(2), setdomainname(2), uname(2)KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 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> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.26. September 2010 | Linux |