m_gethdr-Kernel-Service

Zweck

Ordnet einen Headerspeicherpuffer aus dem MBUF -Pool zu.

Syntax

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/mbuf.h>
struct mbuf *
m_gethdr ( wait,  type)
int  wait;
int  type;

Parameter

Element Beschreibung
wait Gibt den Wert M_DONTWARTEN oder M_WARTEN an.
Typ Gibt den gültigen Typ mbuf aus der Datei /usr/include/sys/mbuf.h an.

Beschreibung

Der m_gethdr -Kernel-Service ordnet eine MBUF -Struktur des angegebenen Typs zu. Wenn der Pufferpool leer ist und der Parameter Warten auf M_WARTENgesetzt ist, wird der m_gethdr -Kernel-Service erst dann zurückgegeben, wenn eine MBUF -Struktur verfügbar ist. Interrupt-Handler sollten diesen Kernel-Service nur aufrufen, wenn der Parameter Warten auf M_DONTWARTENgesetzt ist. Das Flag M_PKTHDR wird für die zurückgegebene MBUF -Struktur gesetzt.

Ausführungsumgebung

Der m_gethdr -Kernel-Service kann über die Prozess -oder Unterbrechung -Umgebung aufgerufen werden.

Ein Interrupt-Handler kann den Parameter Warten nur als M_DONTWARTEN angeben.

Rückgabewerte

Die Adresse einer zugeordneten MBUF -Struktur wird bei Erfolg zurückgegeben. Wenn der Parameter Warten auf M_DONTWARTEN gesetzt ist und keine freie MBUF -Struktur vorhanden ist, gibt der m_gethdr -Kernelservice null zurück.

Zugehörige Informationen

Der m_frei -Kernelservice, m_freem -Kernelservice.

E/A-Kernel-Services in Programmierkonzepte für Kernelerweiterungen und Einheitenunterstützung.