m_free(struct mbuf *m)

{



  DEBUG_CALL("m_free");

  DEBUG_ARG("m = %lx", (long )m);



  if(m) {

	/* Remove from m_usedlist */

	if (m->m_flags & M_USEDLIST)

	   remque(m);



	/* If it's M_EXT, free() it */

	if (m->m_flags & M_EXT)

	   free(m->m_ext);



	/*

	 * Either free() it or put it on the free list

	 */

	if (m->m_flags & M_DOFREE) {

		free(m);

		m->slirp->mbuf_alloced--;

	} else if ((m->m_flags & M_FREELIST) == 0) {

		insque(m,&m->slirp->m_freelist);

		m->m_flags = M_FREELIST; /* Clobber other flags */

	}

  } /* if(m) */

}

m_free(struct mbuf *m)

{



  DEBUG_CALL("m_free");

  DEBUG_ARG("m = %lx", (long )m);



  if(m) {

	

	if (m->m_flags & M_USEDLIST)

	   remque(m);



	

	if (m->m_flags & M_EXT)

	   free(m->m_ext);



	





	if (m->m_flags & M_DOFREE) {

		free(m);

		m->slirp->mbuf_alloced--;

	} else if ((m->m_flags & M_FREELIST) == 0) {

		insque(m,&m->slirp->m_freelist);

		m->m_flags = M_FREELIST; 

	}

  } 

}

		free(m);
FUNC_0(struct mbuf *VAR_0)

{



  DEBUG_CALL("FUNC_0");

  DEBUG_ARG("VAR_0 = %lx", (long )VAR_0);



  if(VAR_0) {

	

	if (VAR_0->m_flags & M_USEDLIST)

	   remque(VAR_0);



	

	if (VAR_0->m_flags & M_EXT)

	   free(VAR_0->m_ext);



	





	if (VAR_0->m_flags & M_DOFREE) {

		free(VAR_0);

		VAR_0->slirp->mbuf_alloced--;

	} else if ((VAR_0->m_flags & M_FREELIST) == 0) {

		insque(VAR_0,&VAR_0->slirp->m_freelist);

		VAR_0->m_flags = M_FREELIST; 

	}

  } 

}

FUNC_0(struct mbuf *VAR_0)
{ DEBUG_CALL("FUNC_0"); DEBUG_ARG("VAR_0 = %lx", (long )VAR_0); if(VAR_0) { if (VAR_0->m_flags & M_USEDLIST)
remque(VAR_0); if (VAR_0->m_flags & M_EXT)
free(VAR_0->m_ext); if (VAR_0->m_flags & M_DOFREE) { free(VAR_0); VAR_0->slirp->mbuf_alloced--; } else if ((VAR_0->m_flags & M_FREELIST) == 0) { insque(VAR_0,&VAR_0->slirp->m_freelist); VAR_0->m_flags = M_FREELIST; } } }