m_clgetm Kernel-Service

Zweck

Ordnet einen externen Puffer zu und ordnet ihn zu.

Syntax

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/mbuf.h>
#include <net/net_globals.h>
int
m_clgetm( m,  how,  size)
struct mbuf *m;
int  how;
int  size;

Parameter

Element Beschreibung
m Gibt die mbuf-Struktur an, mit der der Cluster assoziiert werden soll.
wie Gibt entweder den Wert M_DONTWAIT oder M_WAIT an.
Größe Gibt die Größe des externen Clusters an, der angehängt werden soll. Jeder Wert kleiner als " MAXALLOCSAVE ist gültig. Bei größeren Werten muss " M_WAIT angegeben werden.

Beschreibung

Der Dienst m_clgetm weist einen mbuf-Cluster mit der angegebenen Anzahl von Bytes zu und fügt ihn an die durch den Parameter m angegebene mbuf-Struktur an. Bei Erfolg setzt der Dienst m_clgetm das Kennzeichen M_EXT.

Ausführungsumgebung

Der Kernel-Dienst m_clgetm kann entweder aus der Prozess- oder der Interrupt-Umgebung aufgerufen werden.

Ein Interrupt-Handler kann den Warteparameter nur als M_DONTWAIT angeben.

Rückgabewerte

Element Beschreibung
1 Zeigt eine erfolgreiche Operation an.

Wenn keine freien mbuf-Strukturen vorhanden sind, gibt der Kernel-Dienst m_clgetm einen Nullwert zurück.