Unix/Linux Go Back    


NetBSD 6.1.5 - man page for m_tag_copy_chain (netbsd section 9)

Linux & Unix Commands - Search Man Pages
Man Page or Keyword Search:   man
Select Man Page Set:       apropos Keyword Search (sections above)


M_TAG(9)			  BSD 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_delete_nonpersistent, m_tag_find, m_tag_copy, m_tag_copy_chain, m_tag_init,
     m_tag_first, m_tag_next -- mbuf tagging 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 *t);

     void
     m_tag_delete_nonpersistent(struct mbuf *);

     struct m_tag *
     m_tag_find(struct mbuf *m, int type, struct m_tag *t);

     struct m_tag *
     m_tag_copy(struct m_tag *m);

     int
     m_tag_copy_chain(struct mbuf *to, struct mbuf *from);

     void
     m_tag_init(struct mbuf *m);

     struct m_tag *
     m_tag_first(struct mbuf *m);

     struct m_tag *
     m_tag_next(struct mbuf *m, struct m_tag *t);

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, t)
	      Unlink and free mbuf tags beginning with the mbuf tag t from the mbuf m.	If t is
	      NULL, m_tag_delete_chain() unlinks and frees all mbuf tags associated with the mbuf
	      m.

     m_tag_delete_nonpersistent(m)
	      Unlink and free all non persistent tags associated with the mbuf m.

     m_tag_find(m, type, t)
	      Find an mbuf tag with type type after the mbuf tag t in the tag chain associated
	      with the mbuf m.	If t is NULL, search from the first mbuf tag.  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.  Otherwise 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.

     m_tag_init(m)
	      Initialize mbuf tag chain of the mbuf m.

     m_tag_first(m)
	      Return the first mbuf tag associated with the mbuf m.  Return NULL if no mbuf tags
	      are found.

     m_tag_next(m, t)
	      Return the next mbuf tag after t associated with the mbuf m.  Return NULL if t is
	      the last tag in the chain.

CODE REFERENCES
     The mbuf tagging interfaces are implemented within the file sys/kern/uipc_mbuf2.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.

BSD					September 7, 2004				      BSD
Unix & Linux Commands & Man Pages : ©2000 - 2018 Unix and Linux Forums


All times are GMT -4. The time now is 09:40 PM.