Perl-RPM

 view release on metacpan or  search on metacpan

RPM/Database.xs  view on Meta::CPAN

    PROTOTYPE: $$
    CODE:
    RETVAL = rpmdb_EXISTS(aTHX_ self, name);
    OUTPUT:
    RETVAL

void
rpmdb_FIRSTKEY(self)
    RPM::Database self;
    PROTOTYPE: $
    PPCODE:
    {
        const char *name;
        RPM__Header hdr;

        if (rpmdb_FIRSTKEY(aTHX_ self, &name, &hdr))
        {
            EXTEND(SP, 2);
            PUSHs(sv_2mortal(rpm_ptr2hvref(aTHX_ hdr, "RPM::Header")));
            PUSHs(sv_2mortal(newSVpv(name, 0)));
        }

    }

void
rpmdb_NEXTKEY(self, prev_name=NULL)
    RPM::Database self;
    const char *prev_name;
    PROTOTYPE: $;$
    PPCODE:
    {
        const char *name;
        RPM__Header hdr;

        if (rpmdb_NEXTKEY(aTHX_ self, prev_name, &name, &hdr))
        {
            EXTEND(SP, 2);
            PUSHs(sv_2mortal(rpm_ptr2hvref(aTHX_ hdr, "RPM::Header")));
            PUSHs(sv_2mortal(newSVpv(name, 0)));
        }

RPM/Database.xs  view on Meta::CPAN

rpmdb_find_by_file(self, string)
    RPM::Database self;
    SV *string;
    PROTOTYPE: $$
    ALIAS:
        find_by_group = RPMTAG_GROUP
        find_what_provides = RPMTAG_PROVIDENAME
        find_what_requires = RPMTAG_REQUIRENAME
        find_what_conflicts = RPMTAG_CONFLICTNAME
        find_by_package = RPMTAG_NAME
    PPCODE:
    /* This is a front-end to all the rpmdbFindBy*() set, including FindByPackage
       which differs from FETCH above in that if there is actually more than one
       match, all will be returned.  */
    {
        const char *str = Nullch;
        RPM_Header *hdr;

        if (ix == 0)
            ix = RPMTAG_BASENAMES;

RPM/Header.xs  view on Meta::CPAN

    PROTOTYPE: $$
    CODE:
    RETVAL = rpmhdr_EXISTS(aTHX_ self, tag);
    OUTPUT:
    RETVAL

void
rpmhdr_FIRSTKEY(self)
    RPM::Header self;
    PROTOTYPE: $
    PPCODE:
    {
        RPM_Tag tag;
        SV* value;

        if (rpmhdr_FIRSTKEY(aTHX_ self, &tag, &value))
        {
            XPUSHs(sv_2mortal(value));
            XPUSHs(sv_2mortal(rpmtag_iv2sv(aTHX_ tag)));
        }

    }

void
rpmhdr_NEXTKEY(self, prev_tag=0)
    RPM::Header self;
    RPM_Tag prev_tag;
    PROTOTYPE: $;$
    PPCODE:
    {
        RPM_Tag tag;
        SV* value;

        if (rpmhdr_NEXTKEY(aTHX_ self, prev_tag, &tag, &value))
        {
            XPUSHs(sv_2mortal(value));
            XPUSHs(sv_2mortal(rpmtag_iv2sv(aTHX_ tag)));
        }
    }

RPM/Header.xs  view on Meta::CPAN

    PROTOTYPE: $$
    CODE:
    RETVAL = rpmhdr_cmpver(aTHX_ self, other);
    OUTPUT:
    RETVAL

void
rpmhdr_NVR(self)
    RPM::Header self;
    PROTOTYPE: $
    PPCODE:
    {
        RPM_Header* hdr = self;

        if (hdr->name)
        {
            XPUSHs(sv_2mortal(newSVpv((char *)hdr->name, 0)));
            XPUSHs(sv_2mortal(newSVpv((char *)hdr->version, 0)));
            XPUSHs(sv_2mortal(newSVpv((char *)hdr->release, 0)));
        }
    }



( run in 1.147 second using v1.01-cache-2.11-cpan-5511b514fd6 )