Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

db_lim(9f) [sunos man page]

DB_BASE(9F)						   Kernel Functions for Drivers 					       DB_BASE(9F)

NAME
DB_BASE, DB_LIM, DB_REF, DB_TYPE - Data block access macros SYNOPSIS
#include <sys/stream.h> #include <sys/strsun.h> uchar_t *DB_BASE(mblk_t *mp); uchar_t *DB_LIM(mblk_t *mp); uchar_t DB_TYPE(mblk_t *mp); uchar_t DB_REF(mblk_t *mp); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI). PARAMETERS
mp Message block to be accessed. DESCRIPTION
These macros provide compact access to public members of the datab(9S) structure associated with the specified message block. In all cases, these macros are equivalent to directly accessing the underlying fields of the datab(9S) associated with the specified mes- sage block. Specifically: DB_BASE(mp) is equivalent to mp->b_datap->db_base. DB_LIM(mp) is equivalent to mp->b_datap->db_lim. DB_TYPE(mp) is equivalent to mp->b_datap->db_type. DB_REF(mp) is equivalent to mp->b_datap->db_ref. CONTEXT
These functions can be called from user, kernel or interrupt context. SEE ALSO
msgb(9S), datab(9S) STREAMS Programming Guide SunOS 5.10 9 June 2004 DB_BASE(9F)

Check Out this Related Man Page

MBLKHEAD(9F)						   Kernel Functions for Drivers 					      MBLKHEAD(9F)

NAME
MBLKHEAD, MBLKIN, MBLKL, MBLKSIZE, MBLKTAIL - Message block utility macros SYNOPSIS
#include <sys/stream.h> #include <sys/strsun.h> int MBLKHEAD(mblk_t *mp); int MBLKTAIL(mblk_t *mp); int MBLKSIZE(mblk_t *mp); int MBLKL(mblk_t *mp); int MBLKIN(mblk_t *mp, int offset, int len); INTERFACE LEVEL
Solaris DDI specific (Solaris DDI). PARAMETERS
mp Message to be examined. offset Offset from mp->b_rptr from which to start examining. len Number of bytes to examine. DESCRIPTION
The MBLKHEAD() macro calculates the number of bytes between the first byte and the first unread byte of the message block, that is: mp->b_rptr - mp->b_datap->db_base. The MBLKTAIL() macro calculates the number of bytes between the first unwritten byte and the last byte of the message block, that is: mp->b_datap->db_lim - mp->b_wptr. The MBLKSIZE() macros calculates the total size of the message block, that is: mp->b_datap->db_lim - mp->b_datap->db_base. The MBLKL() macro calculates the length of the message block, that is: mp->b_wptr - mp->b_rptr. The MBLKIN() macro checks whether the byte range specified by offset and len resides entirely within the message block. RETURN VALUES
The MBLKHEAD(), MBLKTAIL(), MBLKL() and MBLKSIZE() functions all return the appropriate byte count, as specified above. MBLKIN() returns non-zero if the check succeeds, or zero if it fails. CONTEXT
These functions can be called from user, kernel or interrupt context. NOTES
These macros may evaluate any of their arguments more than once. This precludes passing arguments with side effects. These macros assume the message itself is well formed, that is: mp->b_datap->db_base <= mp->b_rptr <= mp->b_wptr <= mp->b_datap->db_lim. SEE ALSO
msgb(9S) STREAMS Programming Guide SunOS 5.10 9 June 2004 MBLKHEAD(9F)
Man Page