XS(XS_Net__LibnetRaw_libnet_do_checksum)
[...]
u_char buf = (u_char)SvUV(ST(0));
[...]
RETVAL = libnet_do_checksum(&buf, protocol, len);
sv_setuv(ST(0), (UV)buf);
SvSETMAGIC(ST(0));
####
XS(XS_Net__LibnetRaw_libnet_destroy_packet)
[...]
u_char * buf = (u_char *)SvPV(ST(0),PL_na);
RETVAL = libnet_destroy_packet(&buf);
####
OUTPUT:
buf sv_setsv(ST(0),&PL_sv_undef);
####
XS(XS_Net__LibnetRaw_libnet_init_packet)
[...]
u_char * buf = (u_char *)SvPV(ST(1),PL_na);
[...]
RETVAL = libnet_init_packet(p_size, &buf);
sv_setpv((SV*)ST(1), buf);