diff --git a/rtemsbsd/include/rtems/bsd/zerocopy.h b/rtemsbsd/include/rtems/bsd/zerocopy.h index b15333c4..339e7a42 100644 --- a/rtemsbsd/include/rtems/bsd/zerocopy.h +++ b/rtemsbsd/include/rtems/bsd/zerocopy.h @@ -53,8 +53,7 @@ struct mbuf *rtems_bsd_m_get(int how, short type); struct mbuf *rtems_bsd_m_gethdr(int how, short type); void rtems_bsd_m_extaddref(struct mbuf *m, void *buf, size_t size, - u_int *ref_cnt, void (*freef)(void *, void *), void *arg1, - void *arg2); + u_int *ref_cnt, m_ext_free_t *freef, void *arg1, void *arg2); void rtems_bsd_m_free(struct mbuf *m); diff --git a/rtemsbsd/rtems/rtems-kernel-mbuf.c b/rtemsbsd/rtems/rtems-kernel-mbuf.c index a1429d86..1d10b51f 100644 --- a/rtemsbsd/rtems/rtems-kernel-mbuf.c +++ b/rtemsbsd/rtems/rtems-kernel-mbuf.c @@ -55,8 +55,7 @@ rtems_bsd_m_gethdr(int how, short type) void rtems_bsd_m_extaddref(struct mbuf *m, void *buf, size_t size, - u_int *ref_cnt, void (*freef)(void *, void *), void *arg1, - void *arg2) + u_int *ref_cnt, m_ext_free_t *freef, void *arg1, void *arg2) { m_extaddref(m, buf, size, ref_cnt, freef, arg1, arg2); } diff --git a/testsuite/zerocopy01/test_main.c b/testsuite/zerocopy01/test_main.c index d23c746f..e528257f 100644 --- a/testsuite/zerocopy01/test_main.c +++ b/testsuite/zerocopy01/test_main.c @@ -82,10 +82,10 @@ struct buffer_control { static struct buffer_control buffer_control; static void -buffer_free(void *arg1, void *arg2) +buffer_free(struct mbuf *m) { - struct buffer_control *bc = arg1; - struct buffer *buf = arg2; + struct buffer_control *bc = m->m_ext.ext_arg1; + struct buffer *buf = m->m_ext.ext_arg2; rtems_status_code sc; rtems_interrupt_lock_context lock_context; rtems_id waiting_task;