BackupPC-XS

 view release on metacpan or  search on metacpan

BackupPC_XS.xs  view on Meta::CPAN

    OUTPUT:
        RETVAL

void
iterate(info, idx)
        BackupPC::XS::PoolRefCnt info;
        unsigned int idx;
    PREINIT:
        bpc_digest digest;
        int count;
    PPCODE:
    {
        if ( !bpc_poolRefIterate(info, &digest, &count, &idx) ) {
            EXTEND(SP, 3);
            PUSHs(sv_2mortal(newSVpvn((char*)digest.digest, digest.len)));
            PUSHs(sv_2mortal(newSViv(count)));
            PUSHs(sv_2mortal(newSViv(idx)));
        }
    }

int

BackupPC_XS.xs  view on Meta::CPAN


void
close(info)
        BackupPC::XS::PoolWrite info;
    PREINIT:
        int match;
        bpc_digest digest;
        off_t poolFileSize;
        int errorCnt;

    PPCODE:
    {
        bpc_poolWrite_close(info, &match, &digest, &poolFileSize, &errorCnt);
        EXTEND(SP, 4);
        PUSHs(sv_2mortal(newSViv(match)));
        PUSHs(sv_2mortal(newSVpvn((char*)digest.digest, digest.len)));
        PUSHs(sv_2mortal(newSViv(poolFileSize)));
        PUSHs(sv_2mortal(newSViv(errorCnt)));
    }

int

BackupPC_XS.xs  view on Meta::CPAN

        }
        convert_hv2file(hv, file);
    }
    OUTPUT:
        RETVAL

void
digest(dir)
        BackupPC::XS::Attrib dir;
    PREINIT:
    PPCODE:
    {
        bpc_digest *digest = bpc_attrib_dirDigestGet(dir);
        if ( digest && digest->len > 0 ) {
            EXTEND(SP, 1);
            PUSHs(sv_2mortal(newSVpvn((char*)digest->digest, digest->len)));
        }
    }

void
iterate(dir, idx)
        BackupPC::XS::Attrib dir;
        unsigned int idx;
    PREINIT:
        bpc_attrib_file *file;
    PPCODE:
    {
        if ( !bpc_attrib_fileIterate(dir, &file, &idx) && file ) {
            EXTEND(SP, 2);
            PUSHs(sv_2mortal(newRV_noinc((SV*)convert_file2hv(file, file->name))));
            PUSHs(sv_2mortal(newSViv(idx)));
        }
    }

char*
errStr(void)

BackupPC_XS.xs  view on Meta::CPAN

    OUTPUT:
        RETVAL

MODULE = BackupPC::XS		PACKAGE = BackupPC::XS::FileDigest

void
digest(fileName, compress)
        char *fileName;
        int compress;
    PREINIT:
    PPCODE:
    {
        bpc_digest digest;
        if ( bpc_fileDigest(fileName, compress, &digest) == 0 ) {
            EXTEND(SP, 1);
            PUSHs(sv_2mortal(newSVpvn((char*)digest.digest, digest.len)));
        }
    }

MODULE = BackupPC::XS		PACKAGE = BackupPC::XS::DirOps

BackupPC_XS.xs  view on Meta::CPAN


void
refCountAllInodeMax(path, compress, incr = 1, deltaInfo = NULL)
        char *path;
        int compress;
        int incr;
        BackupPC::XS::DeltaRefCnt deltaInfo;
    PREINIT:
        int retVal;
        unsigned int inodeMax = 0;
    PPCODE:
    {
        retVal = bpc_path_refCountAllInodeMax(deltaInfo, path, compress, incr, &inodeMax);
        EXTEND(SP, 2);
        PUSHs(sv_2mortal(newSViv(retVal)));
        PUSHs(sv_2mortal(newSViv(inodeMax)));
    }

int
lockRangeFd(fd, offset, len, block)
        int fd;



( run in 0.772 second using v1.01-cache-2.11-cpan-71847e10f99 )