Scroll to navigation

getnetent_r(3) Library Functions Manual getnetent_r(3)

BEZEICHNUNG

getnetent_r, getnetbyname_r, getnetbyaddr_r - Netzwerkeintrag erhalten (reentrant)

BIBLIOTHEK

Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

#include <netdb.h>
int getnetent_r(struct netent *restrict Ergebnispuffer,
                char Puf[restrict .Puflän], size_t Puflän,
                struct netent **restrict Ergebnis,
                int *restrict h_Fehlernumz);
int getnetbyname_r(const char *restrict Name,
                struct netent *restrict Ergebnispuffer,
                char Puf[restrict .Puflän], size_t Puflän,
                struct netent **restrict Ergebnis,
                int *restrict h_Fehlernumz);
int getnetbyaddr_r(uint32_t net, int Typ,
                struct netent *restrict Ergebnispuffer,
                char Puf[restrict .Puflän], size_t Puflän,
                struct netent **restrict Ergebnis,
                int *restrict h_Fehlernumz);

Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):

getnetent_r(), getnetbyname_r(), getnetbyaddr_r():


Seit Glibc 2.19:
_DEFAULT_SOURCE
Glibc 2.19 und älter:
_BSD_SOURCE || _SVID_SOURCE

BESCHREIBUNG

Die Funktionen getnetent_r(), getnetbyname_r() und getnetbyaddr_r() sind die reentranten Äquivalente von getnetent(3), getnetbyname(3) bzw. getnetbynumber(3). Sie unterscheiden sich in der Art, wie die Struktur netent zurückgeliefert wird und in der Funktionsaufrufsignatur und dem -Rückgabewert. Diese Handbuchseite beschreibt nur die Unterschiede zu den nicht reentranten Funktionen.

Anstatt einen Zeiger auf eine statisch reservierte Struktur netent als Funktionsergebnis zurückzuliefern, kopieren diese Funktionen die Struktur an einen Ort, auf den Ergebnispuffer zeigt.

Das Feld Puf wird zum Speichern der Zeichenkettenfelder verwandt, auf die die zurückgelieferte Struktur netent zeigt. (Die nicht reentranten Funktionen reservieren diese Zeichenketten in statischem Speicher.) Die Größe dieses Feldes wird in Puflän angegeben. Falls Puf zu klein ist, schlägt der Aufruf mit dem Fehler ERANGE fehl und der Aufrufende muss es mit einem größeren Puffer erneut versuchen. (Ein Puffer der Länge 1024 byte sollte für die meisten Anwendungen ausreichend sein.)

Falls der Funktionsaufruf erfolgreich einen Netzwerkdatensatz erhält, dann wird *Ergebnis so gesetzt, dass es auf Ergebnispuffer zeigt; andernfalls wird *Ergebnis auf NULL gesetzt.

Der Puffer, auf den h_Fehlernumz zeigt, wird dazu verwandt, den Wert zurückzuliefern, der in der globalen Variable h_errno durch die nicht reentranten Versionen dieser Funktionen gespeichert würde.

RÜCKGABEWERT

Bei Erfolg geben diese Funktionen Null zurück. Bei einem Fehler wird eine in FEHLER aufgeführte positive Zahl zurückgegeben.

Im Fehlerfall, »Datensatz nicht gefunden« (getnetbyname_r(), getnetbyaddr_r()) oder »Ende der Eingabe« (getnetent_r()), wird Ergebnis auf NULL gesetzt.

FEHLER

(getnetent_r()) Keine weiteren Datensätze in der Datenbank.
Puf ist zu klein. Versuchen Sie es mit einem größeren Puffer erneut (und vergrößern Sie Puflän).

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
getnetent_r(), getnetbyname_r(), getnetbyaddr_r() Multithread-Fähigkeit MT-Sicher locale

STANDARDS

Diese Funktionen sind GNU-Erweiterungen. Funktionen mit ähnlichem Namen existieren auf einigen anderen Systemen, allerdings typischerweise mit anderen Aufrufsignaturen.

SIEHE AUCH

getnetent(3), networks(5)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.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 die Mailingliste der Übersetzer.

5. Februar 2023 Linux man-pages 6.03