m_tag(9) - NetBSD Manual Pages

M_TAG(9)               NetBSD Kernel Developer's Manual               M_TAG(9)


NAME
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 -- mbuf tag- ging interfaces
SYNOPSIS
#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);
DESCRIPTION
The m_tag interface is used to ``tag'' mbufs.
FUNCTIONS
m_tag_get(type, len, wait) Allocate an mbuf tag. type is one of the 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) Free the mbuf tag t. m_tag_prepend(m, t) Prepend the mbuf tag t to the mbuf m. t will become the first tag of the mbuf m. When m is freed, t will also be freed. m_tag_unlink(m, t) Unlink the mbuf tag t from the mbuf m. m_tag_delete(m, t) The same as m_tag_unlink() followed by m_tag_free(). m_tag_delete_chain(m) Unlink and free mbuf tags from the mbuf m. m_tag_find(m, type) Find an mbuf tag with type type in the tag chain associated with the mbuf m. If an mbuf tag is found, return a pointer to it. Otherwise return NULL. m_tag_copy(t) Copy an mbuf tag t. Return a new mbuf tag on success. Other- wise return NULL. m_tag_copy_chain(to, from) Copy all mbuf tags associated with the mbuf from to the mbuf to. If to already has any mbuf tags, they will be unlinked and freed beforehand. Return 1 on success. Otherwise return 0.
CODE REFERENCES
The mbuf tagging interfaces are implemented within the file sys/kern/uipc_mbuf.c. The PACKET_TAG_ macros are defined in the file sys/sys/mbuf.h.
SEE ALSO
intro(9), malloc(9), mbuf(9)
BUGS
The semantics of the term "persistent tag" are vague. NetBSD 10.1 November 15, 2018 NetBSD 10.1

Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.