m_getclustm-Kernel-Service

Zweck

Ordnet eine MBUF -Struktur zu und ordnet einen Cluster mit der angegebenen Größe aus dem Pufferpool MBUF zu.

Syntax

#include <sys/mbuf.h>
#include <net/net_globals.h>
struct mbuf *
m_getclustm( wait,  type,  size)
int wait;
int type;
int size;

Parameter

Element Beschreibung
wait Gibt den Wert M_DONTWARTEN oder M_WARTEN an.
Typ Gibt einen gültigen mbuf -Typ aus der Datei /usr/include/sys/mbuf.h an.
Größe Gibt die Größe des anzuhängenden externen Clusters an. Jeder Wert kleiner als MAXALLOCSAVE ist gültig. Für größere Werte muss M_WAIT angegeben werden.

Beschreibung

Der m_getclustm -Service ordnet eine MBUF -Struktur des angegebenen Typs zu. Bei erfolgreicher Ausführung versucht der m_getclustm -Service, einen Cluster mit der angegebenen Größe (angegeben durch den Parameter Größe ) an die MBUF -Struktur anzuhängen. Wenn der Pufferpool leer ist und der Parameter Warten auf M_WARTENgesetzt ist, kehrt der m_get -Service erst zurück, wenn eine MBUF -Struktur verfügbar ist. Interrupt-Handler sollten diesen Service nur aufrufen, wenn der Parameter Warten auf M_DONTWARTENgesetzt ist.

Ausführungsumgebung

Der m_getclustm -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

Der m_getclustm -Kernel-Service gibt bei Erfolg die Adresse einer zugeordneten MBUF -Struktur zurück. Wenn der Parameter Warten auf M_DONTWARTEN gesetzt ist und keine freien MBUF -Strukturen vorhanden sind, gibt der m_getclustm -Kernelservice null zurück.