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));