getrbuf(9F)
NAME
getrbuf - get a raw buffer header
SYNOPSIS
#include <sys/buf.h>
#include <sys/kmem.h>
#include <sys/ddi.h>
struct buf *getrbuf(int sleepflag);
INTERFACE LEVEL
Architecture independent level 1 (DDI/DKI).
PARAMETERS
sleepflag
Indicates whether driver should sleep for free space.
DESCRIPTION
getrbuf() allocates the space for a buffer header to the
caller. It is used in cases where a block driver is per-
forming raw (character interface) I/O and needs to set up a
buffer header that is not associated with the buffer cache.
getrbuf() calls kmem_alloc(9F) to perform the memory allo-
cation.
kmem_alloc()requires the information included in the
sleepflag argument. If sleepflag is set to KM_SLEEP, the
driver may sleep until the space is freed up. If sleepflag
is set to KM_NOSLEEP, the driver will not sleep. In
either case, a pointer to the allocated space is returned or
NULL to indicate that no space was available.
RETURN VALUES
getrbuf() returns a pointer to the allocated buffer header,
or NULL if no space is available.
CONTEXT
getrbuf() can be called from user or interrupt context.
(Drivers must not allow getrbuf() to sleep if called from an
interrupt routine.)
SEE ALSO
bioinit(9F), freerbuf(9F), kmem_alloc(9F), kmem_free(9F)
Writing Device Drivers
Man(1) output converted with
man2html