Archive-ByteBoozer

 view release on metacpan or  search on metacpan

ByteBoozer.xs  view on Meta::CPAN

        unsigned char *data
        size_t         size
    CODE:
        File *source;
        Newxz(source, 1, File);
        if (source == NULL)
            XSRETURN_UNDEF;
        source->size = size;
        source->data = (byte *)data;
        RETVAL = source;
    OUTPUT:
        RETVAL

# my $target = bb_crunch($source, $start_address);

File*
bb_crunch(source, start_address)
        File         *source
        unsigned int  start_address
    CODE:
        File *target;

ByteBoozer.xs  view on Meta::CPAN

        if (start_address > 0)
          theDecrType = normalDecr;

        _bool isRelocated = _false;

        if (target == NULL)
            XSRETURN_UNDEF;
        if (!crunch(source, target, start_address, theDecrType, isRelocated))
            XSRETURN_UNDEF;
        RETVAL = target;
    OUTPUT:
        RETVAL

# my $data = bb_data($file);

void
bb_data(file)
        File *file
    PPCODE:
        # Push string (PV) with data on the stack and mortalize it:
        SV *fileData = sv_2mortal(newSVpv((const char *)file->data, file->size));



( run in 0.327 second using v1.01-cache-2.11-cpan-4e96b696675 )