freeb(9f) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

freeb(9f)

freeb(9F)                      Kernel Functions                      freeb(9F)



NAME
       freeb - free a message block

SYNOPSIS
       #include <sys/stream.h>

       void freeb(mblk_t *bp);

PARAMETERS
       bp    Pointer  to  the  message  block  to be deallocated. mblk_t is an
             instance of the msgb(9S) structure.


INTERFACE LEVEL
       Architecture independent level 1 (DDI/DKI).

DESCRIPTION
       The freeb() function deallocates a  message  block.  If  the  reference
       count  of  the db_ref member of the datab(9S) structure is greater than
       1, freeb() decrements the count. If db_ref equals 1, it deallocates the
       message block and the corresponding data block and buffer.


       If the data buffer to be freed was allocated with the esballoc(9F), the
       buffer may be a non-STREAMS resource. In that case, the driver must  be
       notified  that  the attached data buffer needs to be freed, and run its
       own freeing routine. To make this process  independent  of  the  driver
       used in the stream, freeb() finds the free_rtn(9S) structure associated
       with the buffer. The free_rtn  structure  contains  a  pointer  to  the
       driver-dependent  routine,  which  releases  the  buffer.  Once this is
       accomplished, freeb() releases the STREAMS  resources  associated  with
       the buffer.

CONTEXT
       The freeb() function can be called from user, interrupt, or kernel con‐
       text.

EXAMPLES
       Example 1 Using freeb()



       See copyb(9F) for an example of using freeb().

SEE ALSO
       dupb(9F), allocb(9F), copyb(9F), esballoc(9F), free_rtn(9S)


       Writing Device Drivers in Oracle Solaris 11.4


       STREAMS Programming Guide



Oracle Solaris 11.4               16 Jan 2006                        freeb(9F)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3