BSD-Sysctl
view release on metacpan or search on metacpan
HV *c = (HV *)sv_2mortal((SV *)newHV());
struct devstat *inf = (struct devstat *)buf;
RETVAL = newRV((SV *)c);
hv_store(c, "devno", 5, newSViv(inf->device_number), 0);
hv_store(c, "unitno", 6, newSViv(inf->unit_number), 0);
#if __FreeBSD_version < 500000
hv_store(c, "sequence", 8, newSVpvn("", 0), 0);
hv_store(c, "allocated", 9, newSVpvn("", 0), 0);
hv_store(c, "startcount", 10, newSVpvn("", 0), 0);
hv_store(c, "endcount", 8, newSVpvn("", 0), 0);
hv_store(c, "busyfromsec", 11, newSVpvn("", 0), 0);
hv_store(c, "busyfromfrac", 12, newSVpvn("", 0), 0);
#else
hv_store(c, "sequence", 8, newSVuv(inf->sequence0), 0);
hv_store(c, "allocated", 9, newSViv(inf->allocated), 0);
hv_store(c, "startcount", 10, newSViv(inf->start_count), 0);
hv_store(c, "endcount", 8, newSViv(inf->end_count), 0);
hv_store(c, "busyfromsec", 11, newSViv(inf->busy_from.sec), 0);
hv_store(c, "busyfromfrac", 12, newSVuv(inf->busy_from.frac), 0);
#endif
break;
}
#if __FreeBSD_version >= 500000
case FMT_XVFSCONF: {
HV *c = (HV *)sv_2mortal((SV *)newHV());
struct xvfsconf *inf = (struct xvfsconf *)buf;
RETVAL = newRV((SV *)c);
hv_store(c, "name", 4, newSVpv(inf->vfc_name, 0), 0);
hv_store(c, "typenum", 7, newSViv(inf->vfc_typenum), 0);
( run in 0.503 second using v1.01-cache-2.11-cpan-87723dcf8b7 )