| Current File : //usr/share/man/man9f/biofini.9f |
'\" te
.\" Copyright (c) 2009 Sun Microsystems, Inc., All Rights Reserved
.TH biofini 9F "20 Nov 1996" "SunOS 5.11" "Kernel Functions for Drivers"
.SH NAME
biofini \- uninitialize a buffer structure
.SH SYNOPSIS
.LP
.nf
#include <sys/ddi.h>
#include <sys/sunddi.h>
\fBvoid\fR \fBbiofini\fR(\fBstruct buf *\fR\fIbp\fR);
.fi
.SH INTERFACE LEVEL
.sp
.LP
Solaris DDI specific (Solaris DDI).
.SH PARAMETERS
.sp
.ne 2
.mk
.na
\fB\fIbp\fR\fR
.ad
.RS 6n
.rt
Pointer to the buffer header structure.
.RE
.SH DESCRIPTION
.sp
.LP
The \fBbiofini()\fR function uninitializes a \fBbuf\fR(9S) structure. If a buffer structure has been allocated and initialized using \fBkmem_alloc\fR(9F) and \fBbioinit\fR(9F) it needs to be uninitialized using \fBbiofini()\fR before calling \fBkmem_free\fR(9F). It is not necessary to call \fBbiofini()\fR before freeing a buffer structure using \fBfreerbuf\fR(9F) because \fBfreerbuf()\fR will call \fBbiofini()\fR directly.
.SH CONTEXT
.sp
.LP
The \fBbiofini()\fR function can be called from any context.
.SH EXAMPLES
.LP
\fBExample 1 \fRUsing \fBbiofini()\fR
.sp
.in +2
.nf
struct buf *bp = kmem_alloc(biosize(), KM_SLEEP);
bioinit(bp);
/* use buffer */
biofini(bp);
kmem_free(bp, biosize());
.fi
.in -2
.SH SEE ALSO
.sp
.LP
\fBbioinit\fR(9F), \fBbioreset\fR(9F), \fBbiosize\fR(9F), \fBfreerbuf\fR(9F), \fBkmem_alloc\fR(9F), \fBkmem_free\fR(9F), \fBbuf\fR(9S)
.sp
.LP
\fIWriting Device Drivers for Oracle Solaris 11.2\fR