diff options
Diffstat (limited to 'bsd_eth_drivers/libbsdport/libbsdport_post.h')
-rw-r--r-- | bsd_eth_drivers/libbsdport/libbsdport_post.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/bsd_eth_drivers/libbsdport/libbsdport_post.h b/bsd_eth_drivers/libbsdport/libbsdport_post.h index a760a34..ca3fe04 100644 --- a/bsd_eth_drivers/libbsdport/libbsdport_post.h +++ b/bsd_eth_drivers/libbsdport/libbsdport_post.h @@ -103,3 +103,18 @@ ether_setaddr(struct ifnet *ifp, u_int8_t *eaddr); */ int rtems_mii_phy_probe(struct rtems_mdio_info *mdio, void *if_softc); + +/* + * Defragment a mbuf chain, returning the shortest possible + * chain of mbufs and clusters. If allocation fails and + * this cannot be completed, NULL will be returned, but + * the passed in chain will be unchanged. Upon success, + * the original chain will be freed, and the new chain + * will be returned. + * + * If a non-packet header is passed in, the original + * mbuf (chain?) will be returned unharmed. + */ +struct mbuf * +m_defrag(struct mbuf *m0, int how); + |