void set_my_callback(ctx, fn) MPV::Simple ctx SV * fn PREINIT: dMY_CXT; CODE: /* Remember the Perl sub */ if (MY_CXT.callback == (SV*)NULL) MY_CXT.callback = newSVsv(fn); else SvSetSV(MY_CXT.callback, fn); void _xs_set_wakeup_callback(MPV::Simple ctx) PREINIT: dMY_CXT; CODE: { SV* data; void (*rechne)(void*); callp_ptr = callp; mpv_set_wakeup_callback(ctx,callp_ptr,MY_CXT.callback); }