Skip to content

Commit

Permalink
mbuf.9: Document mtodo
Browse files Browse the repository at this point in the history
mtodo() accepts an mbuf and offset and returns a void * pointer to the
requested offset into the mbuf's associated data.  Similar to mtod(),
no bounds checking is performed.

Reviewed by:	imp, markj
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D43215
  • Loading branch information
bsdjhb committed Mar 13, 2024
2 parents 49b3354 + 854e1fd commit 55fbf8c
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 5 deletions.
1 change: 1 addition & 0 deletions share/man/man9/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -1518,6 +1518,7 @@ MLINKS+=\
mbuf.9 m_pullup.9 \
mbuf.9 m_split.9 \
mbuf.9 mtod.9 \
mbuf.9 mtodo.9 \
mbuf.9 M_TRAILINGSPACE.9 \
mbuf.9 m_unshare.9 \
mbuf.9 M_WRITABLE.9
Expand Down
24 changes: 19 additions & 5 deletions share/man/man9/mbuf.9
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.Dd August 8, 2021
.Dd December 28, 2023
.Dt MBUF 9
.Os
.\"
Expand Down Expand Up @@ -52,7 +52,10 @@
.Fc
.\"
.Ss Mbuf utility macros
.Ft type
.Fn mtod "struct mbuf *mbuf" "type"
.Ft void *
.Fn mtodo "struct mbuf *mbuf" "offset"
.Fn M_ALIGN "struct mbuf *mbuf" "u_int len"
.Fn MH_ALIGN "struct mbuf *mbuf" "u_int len"
.Ft int
Expand Down Expand Up @@ -394,6 +397,14 @@ It is advisable to ensure that there is enough contiguous data in
See
.Fn m_pullup
for details.
.It Fn mtodo mbuf offset
Return a data pointer at an offset (in bytes) into the data attached to
.Fa mbuf .
Returns a
.Ft void *
pointer .
.Sy Note :
The caller must ensure that the offset is in bounds of the attached data.
.It Fn MGET mbuf how type
Allocate an
.Vt mbuf
Expand Down Expand Up @@ -773,7 +784,9 @@ in the
are contiguous and lay in the data area of
.Fa mbuf ,
so they are accessible with
.Fn mtod mbuf type .
.Fn mtod
or
.Fn mtodo .
.Fa len
must be smaller than, or equal to, the size of an
.Vt mbuf cluster .
Expand All @@ -787,12 +800,13 @@ to the data contained in the returned mbuf is stored in
If
.Fa offsetp
is NULL, the region may be accessed using
.Fn mtod mbuf type .
.Fn mtod mbuf type
or
.Fn mtodo mbuf 0 .
If
.Fa offsetp
is non-NULL, the region may be accessed using
.Fn mtod mbuf uint8_t
+ *offsetp.
.Fn mtodo mbuf *offsetp .
The region of the mbuf chain between its beginning and
.Fa offset
is not modified, therefore it is safe to hold pointers to data within
Expand Down

0 comments on commit 55fbf8c

Please sign in to comment.