sethostname-Unterprogramm

Zweck

Legt den Namen des aktuellen Hosts fest.

Bibliothek

Standard-C-Bibliothek (libc.a)

Syntax

int sethostname ( Name,  NameLength)
char *Name;
int NameLength;

Beschreibung

Die Subroutine sethostname legt den Namen einer Hostmaschine fest. Nur Programme mit einer Rootbenutzer-ID können diese Subroutinen verwenden.

Die Subroutine sethostname ermöglicht einem aufrufenden Prozess mit Rootberechtigung, den internen Hostnamen einer Maschine in einem Netz festzulegen.

Alle Anwendungen, die die Subroutine sethostname enthalten, müssen mit einem bestimmten Wert für das Makro _BSD kompiliert werden. Zulässige Werte sind 43 und 44. Außerdem müssen alle Socketanwendungen die BSD-Bibliothek libbsd.a enthalten.

Parameter

Element Beschreibung
Name Gibt den Namen der Hostmaschine an
NameLength Gibt die Länge des Arrays Name an.

Rückgabewerte

Nach erfolgreicher Beendigung gibt das System den Wert 0 zurück.

Wenn die Subroutine sethostname nicht erfolgreich ist, führt der Subroutinenhandler die folgenden Funktionen aus:

  • Gibt den Wert -1 an das aufrufende Programm zurück.
  • Verschiebt einen Fehlercode, der den spezifischen Fehler angibt, in die globale Variable errno . Weitere Erläuterungen zur Variablen errno finden Sie unter Error Notification Object Class in General Programming Concepts: Writing and Debugging Programs.

Fehlercodes

Die Subroutine sethostname ist nicht erfolgreich, wenn einer der folgenden Fehler auftritt:

Fehler Beschreibung
EFAULT Der Parameter Name oder NameLength gibt eine ungültige Adresse an.
EPERM Der aufrufende Prozess hatte keine effektive Rootbenutzer-ID.