[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Kernel and Subsystems Technical Reference, Volume 1

m_getclust Macro for mbuf Kernel Services

Purpose

Allocates an mbuf structure from the mbuf buffer pool and attaches a page-sized cluster.

Syntax

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

Parameters

wait Indicates the action to be taken if there are no available mbuf structures. Possible values are:
M_DONTWAIT Called from either an interrupt or process environment.
M_WAIT Called from a process environment only.
type Specifies a valid mbuf type from the /usr/include/sys/mbuf.h file.

Description

The m_getclust macro allocates an mbuf structure of the specified type. If the allocation succeeds, the m_getclust macro then attempts to attach a page-sized cluster to the structure.

If the buffer pool is empty and the wait parameter is set to M_WAIT, the m_getclust macro does not return until an mbuf structure is available.

Execution Environment

The m_getclust macro can be called from either the process or interrupt environment.

Return Values

The address of an allocated mbuf structure is returned on success. If the wait parameter is set to M_DONTWAIT and there are no free mbuf structures, the m_getclust macro returns a null value.

Implementation Specifics

The m_getclust macro is part of Base Operating System (BOS) Runtime.

Related Information

The m_getclustm kernel service.

I/O Kernel Services in AIX Kernel Extensions and Device Support Programming Concepts.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]