M_TAG(9) | Kernel Developer's Manual | M_TAG(9) |
m_tag
, m_tag_get
,
m_tag_free
, m_tag_prepend
,
m_tag_unlink
, m_tag_delete
,
m_tag_delete_chain
,
m_tag_find
, m_tag_copy
,
m_tag_copy_chain
—
#include <sys/mbuf.h>
struct m_tag *
m_tag_get
(int
type, int len,
int wait);
void
m_tag_free
(struct
m_tag *t);
void
m_tag_prepend
(struct
mbuf *m, struct m_tag
*t);
void
m_tag_unlink
(struct
mbuf *m, struct m_tag
*t);
void
m_tag_delete
(struct
mbuf *m, struct m_tag
*t);
void
m_tag_delete_chain
(struct
mbuf *m);
struct m_tag *
m_tag_find
(struct
mbuf *m, int
type);
struct m_tag *
m_tag_copy
(struct
m_tag *m);
int
m_tag_copy_chain
(struct
mbuf *to, struct mbuf
*from);
m_tag
interface is used to “tag”
mbufs.
m_tag_get
(type,
len, wait)PACKET_TAG_
macros. len is
the size of the data associated with the tag, in bytes.
wait is either M_WAITOK
or
M_NOWAIT
.m_tag_free
(t)m_tag_prepend
(m,
t)m_tag_unlink
(m,
t)m_tag_delete
(m,
t)m_tag_unlink
() followed by
m_tag_free
().m_tag_delete_chain
(m)m_tag_find
(m,
type)NULL
.m_tag_copy
(t)NULL
.m_tag_copy_chain
(to,
from)The PACKET_TAG_
macros are defined in the
file sys/sys/mbuf.h.
November 15, 2018 | NetBSD 9.2 |