BSD-Sysctl

 view release on metacpan or  search on metacpan

Sysctl.xs  view on Meta::CPAN

            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 )