!C99Shell v. 1.0 pre-release build #16!

Software: Apache/2.0.54 (Fedora). PHP/5.0.4 

uname -a: Linux mina-info.me 2.6.17-1.2142_FC4smp #1 SMP Tue Jul 11 22:57:02 EDT 2006 i686 

uid=48(apache) gid=48(apache) groups=48(apache)
context=system_u:system_r:httpd_sys_script_t
 

Safe-mode: OFF (not secure)

/usr/include/rpm/   drwxr-xr-x
Free 3.33 GB of 27.03 GB (12.34%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     rpmcli.h (25.48 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
#ifndef H_RPMCLI
#define    H_RPMCLI

/** \ingroup rpmcli rpmbuild
* \file lib/rpmcli.h
*/

#include "rpmlib.h"
#include "rpmurl.h"
#include "rpmmacro.h"
#include "argv.h"

/** \ingroup rpmcli
* Should version 3 packages be produced?
*/
/*@-redecl@*/
/*@unchecked@*/
extern int _noDirTokens;
/*@=redecl@*/

#ifdef __cplusplus
extern "C" {
#endif

/** \ingroup rpmcli
* Popt option table for options shared by all modes and executables.
*/
/*@unchecked@*/
extern struct poptOption        rpmcliAllPoptTable[];

/*@unchecked@*/
extern int ftsOpts;

/*@unchecked@*/
extern struct poptOption        rpmcliFtsPoptTable[];

/*@unchecked@*/ /*@observer@*/ /*@null@*/
extern const char * rpmcliPipeOutput;

/*@unchecked@*/ /*@observer@*/ /*@null@*/
extern const char * rpmcliRcfile;

/*@unchecked@*/ /*@observer@*/ /*@null@*/
extern const char * rpmcliRootDir;

/**
* Initialize most everything needed by an rpm CLI executable context.
* @param argc            no. of args
* @param argv            arg array
* @param optionsTable        popt option table
* @return            popt context (or NULL)
*/
/*@null@*/
poptContext
rpmcliInit(int argc, char *const argv[], struct poptOption * optionsTable)
    /*@globals rpmCLIMacroContext, rpmGlobalMacroContext, h_errno, stderr,
        fileSystem, internalState @*/
    /*@modifies rpmCLIMacroContext, rpmGlobalMacroContext, stderr,
        fileSystem, internalState @*/;

/**
* Make sure that rpm configuration has been read.
* @warning Options like --rcfile and --verbose must precede callers option.
*/
/*@mayexit@*/
void rpmcliConfigured(void)
    /*@globals rpmCLIMacroContext, rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies rpmCLIMacroContext, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/**
* Destroy most everything needed by an rpm CLI executable context.
* @param optCon        popt context
* @return            NULL always
*/
poptContext
rpmcliFini(/*@only@*/ /*@null@*/ poptContext optCon)
    /*@modifies optCon @*/;

/**
* Common/global popt tokens used for command line option tables.
*/
#define    RPMCLI_POPT_NODEPS        -1025
#define    RPMCLI_POPT_FORCE        -1026
#define    RPMCLI_POPT_NOMD5        -1027
#define    RPMCLI_POPT_NOSCRIPTS        -1028
#define    RPMCLI_POPT_NOSIGNATURE        -1029
#define    RPMCLI_POPT_NODIGEST        -1030
#define    RPMCLI_POPT_NOHDRCHK        -1031
#define    RPMCLI_POPT_NOCONTEXTS        -1032

/* ==================================================================== */
/** \name RPMQV */
/*@{*/

/** \ingroup rpmcli
* Query/Verify argument qualifiers.
* @todo Reassign to tag values.
*/
typedef enum rpmQVSources_e {
    RPMQV_PACKAGE = 0,    /*!< ... from package name db search. */
    RPMQV_PATH,        /*!< ... from file path db search. */
    RPMQV_ALL,        /*!< ... from each installed package. */
    RPMQV_RPM,         /*!< ... from reading binary rpm package. */
    RPMQV_GROUP,    /*!< ... from group db search. */
    RPMQV_WHATPROVIDES,    /*!< ... from provides db search. */
    RPMQV_WHATREQUIRES,    /*!< ... from requires db search. */
    RPMQV_TRIGGEREDBY,    /*!< ... from trigger db search. */
    RPMQV_DBOFFSET,    /*!< ... from database header instance. */
    RPMQV_SPECFILE,    /*!< ... from spec file parse (query only). */
    RPMQV_PKGID,    /*!< ... from package id (header+payload MD5). */
    RPMQV_HDRID,    /*!< ... from header id (immutable header SHA1). */
    RPMQV_FILEID,    /*!< ... from file id (file MD5). */
    RPMQV_TID,        /*!< ... from install transaction id (time stamp). */
    RPMQV_HDLIST,    /*!< ... from system hdlist. */
    RPMQV_FTSWALK    /*!< ... from fts(3) walk. */
} rpmQVSources;

/** \ingroup rpmcli
* Bit(s) for rpmVerifyFile() attributes and result.
*/
typedef enum rpmVerifyAttrs_e {
    RPMVERIFY_NONE    = 0,        /*!< */
    RPMVERIFY_MD5    = (1 << 0),    /*!< from %verify(md5) */
    RPMVERIFY_FILESIZE    = (1 << 1),    /*!< from %verify(size) */
    RPMVERIFY_LINKTO    = (1 << 2),    /*!< from %verify(link) */
    RPMVERIFY_USER    = (1 << 3),    /*!< from %verify(user) */
    RPMVERIFY_GROUP    = (1 << 4),    /*!< from %verify(group) */
    RPMVERIFY_MTIME    = (1 << 5),    /*!< from %verify(mtime) */
    RPMVERIFY_MODE    = (1 << 6),    /*!< from %verify(mode) */
    RPMVERIFY_RDEV    = (1 << 7),    /*!< from %verify(rdev) */
    /* bits 8-14 unused, reserved for rpmVerifyAttrs */
    RPMVERIFY_CONTEXTS    = (1 << 15),    /*!< verify: from --nocontexts */
    /* bits 16-22 used in rpmVerifyFlags */
    /* bits 23-27 used in rpmQueryFlags */
    RPMVERIFY_READLINKFAIL= (1 << 28),    /*!< readlink failed */
    RPMVERIFY_READFAIL    = (1 << 29),    /*!< file read failed */
    RPMVERIFY_LSTATFAIL    = (1 << 30),    /*!< lstat failed */
    RPMVERIFY_LGETFILECONFAIL    = (1 << 31)    /*!< lgetfilecon failed */
} rpmVerifyAttrs;
#define    RPMVERIFY_ALL        ~(RPMVERIFY_NONE)
#define    RPMVERIFY_FAILURES    \
  (RPMVERIFY_LSTATFAIL|RPMVERIFY_READFAIL|RPMVERIFY_READLINKFAIL|RPMVERIFY_LGETFILECONFAIL)

/** \ingroup rpmcli
* Bit(s) to control rpmQuery() operation, stored in qva_flags.
* @todo Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs?.
*/
typedef enum rpmQueryFlags_e {
/*@-enummemuse@*/
    QUERY_FOR_DEFAULT    = 0,        /*!< */
    QUERY_MD5        = (1 << 0),    /*!< from --nomd5 */
    QUERY_SIZE        = (1 << 1),    /*!< from --nosize */
    QUERY_LINKTO    = (1 << 2),    /*!< from --nolink */
    QUERY_USER        = (1 << 3),    /*!< from --nouser) */
    QUERY_GROUP        = (1 << 4),    /*!< from --nogroup) */
    QUERY_MTIME        = (1 << 5),    /*!< from --nomtime) */
    QUERY_MODE        = (1 << 6),    /*!< from --nomode) */
    QUERY_RDEV        = (1 << 7),    /*!< from --nodev */
    /* bits 8-14 unused, reserved for rpmVerifyAttrs */
    QUERY_CONTEXTS    = (1 << 15),    /*!< verify: from --nocontexts */
    QUERY_FILES        = (1 << 16),    /*!< verify: from --nofiles */
    QUERY_DEPS        = (1 << 17),    /*!< verify: from --nodeps */
    QUERY_SCRIPT    = (1 << 18),    /*!< verify: from --noscripts */
    QUERY_DIGEST    = (1 << 19),    /*!< verify: from --nodigest */
    QUERY_SIGNATURE    = (1 << 20),    /*!< verify: from --nosignature */
    QUERY_PATCHES    = (1 << 21),    /*!< verify: from --nopatches */
    QUERY_HDRCHK    = (1 << 22),    /*!< verify: from --nohdrchk */
/*@=enummemuse@*/
    QUERY_FOR_LIST    = (1 << 23),    /*!< query:  from --list */
    QUERY_FOR_STATE    = (1 << 24),    /*!< query:  from --state */
    QUERY_FOR_DOCS    = (1 << 25),    /*!< query:  from --docfiles */
    QUERY_FOR_CONFIG    = (1 << 26),    /*!< query:  from --configfiles */
    QUERY_FOR_DUMPFILES    = (1 << 27)    /*!< query:  from --dump */
} rpmQueryFlags;

#define    _QUERY_FOR_BITS    \
   (QUERY_FOR_LIST|QUERY_FOR_STATE|QUERY_FOR_DOCS|QUERY_FOR_CONFIG|\
    QUERY_FOR_DUMPFILES)

/** \ingroup rpmcli
* Bit(s) from common command line options.
*/
/*@unchecked@*/
extern rpmQueryFlags rpmcliQueryFlags;

/** \ingroup rpmcli
* Bit(s) to control rpmVerify() operation, stored in qva_flags.
* @todo Merge rpmQueryFlags, rpmVerifyFlags, and rpmVerifyAttrs values?.
*/
typedef enum rpmVerifyFlags_e {
/*@-enummemuse@*/
    VERIFY_DEFAULT    = 0,        /*!< */
/*@=enummemuse@*/
    VERIFY_MD5        = (1 << 0),    /*!< from --nomd5 */
    VERIFY_SIZE        = (1 << 1),    /*!< from --nosize */
    VERIFY_LINKTO    = (1 << 2),    /*!< from --nolinkto */
    VERIFY_USER        = (1 << 3),    /*!< from --nouser */
    VERIFY_GROUP    = (1 << 4),    /*!< from --nogroup */
    VERIFY_MTIME    = (1 << 5),    /*!< from --nomtime */
    VERIFY_MODE        = (1 << 6),    /*!< from --nomode */
    VERIFY_RDEV        = (1 << 7),    /*!< from --nodev */
    /* bits 8-14 unused, reserved for rpmVerifyAttrs */
    VERIFY_CONTEXTS    = (1 << 15),    /*!< verify: from --nocontexts */
    VERIFY_FILES    = (1 << 16),    /*!< verify: from --nofiles */
    VERIFY_DEPS        = (1 << 17),    /*!< verify: from --nodeps */
    VERIFY_SCRIPT    = (1 << 18),    /*!< verify: from --noscripts */
    VERIFY_DIGEST    = (1 << 19),    /*!< verify: from --nodigest */
    VERIFY_SIGNATURE    = (1 << 20),    /*!< verify: from --nosignature */
    VERIFY_PATCHES    = (1 << 21),    /*!< verify: from --nopatches */
    VERIFY_HDRCHK    = (1 << 22),    /*!< verify: from --nohdrchk */
/*@-enummemuse@*/
    VERIFY_FOR_LIST    = (1 << 23),    /*!< query:  from --list */
    VERIFY_FOR_STATE    = (1 << 24),    /*!< query:  from --state */
    VERIFY_FOR_DOCS    = (1 << 25),    /*!< query:  from --docfiles */
    VERIFY_FOR_CONFIG    = (1 << 26),    /*!< query:  from --configfiles */
    VERIFY_FOR_DUMPFILES= (1 << 27)    /*!< query:  from --dump */
/*@=enummemuse@*/
    /* bits 28-31 used in rpmVerifyAttrs */
} rpmVerifyFlags;

#define    VERIFY_ATTRS    \
  ( VERIFY_MD5 | VERIFY_SIZE | VERIFY_LINKTO | VERIFY_USER | VERIFY_GROUP | \
    VERIFY_MTIME | VERIFY_MODE | VERIFY_RDEV | VERIFY_CONTEXTS )
#define    VERIFY_ALL    \
  ( VERIFY_ATTRS | VERIFY_FILES | VERIFY_DEPS | VERIFY_SCRIPT | VERIFY_DIGEST |\
    VERIFY_SIGNATURE | VERIFY_HDRCHK )

/** \ingroup rpmcli
*/
typedef struct rpmQVKArguments_s * QVA_t;

/** \ingroup rpmcli
* Function to display iterator matches.
*
* @param qva        parsed query/verify options
* @param ts        transaction set
* @param h        header to use for query/verify
* @return        0 on success
*/
typedef    int (*QVF_t) (QVA_t qva, rpmts ts, Header h)
    /*@globals fileSystem @*/
    /*@modifies qva, ts, fileSystem @*/;

/** \ingroup rpmcli
* Function to query spec file.
*
* @param ts        transaction set
* @param qva        parsed query/verify options
* @param arg        query argument
* @return        0 on success
*/
typedef    int (*QSpecF_t) (rpmts ts, QVA_t qva, const char * arg)
    /*@globals rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies ts, qva, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/** \ingroup rpmcli
* Describe query/verify/signature command line operation.
*/
struct rpmQVKArguments_s {
    rpmQVSources qva_source;    /*!< Identify CLI arg type. */
    int     qva_sourceCount;/*!< Exclusive option check (>1 is error). */
    rpmQueryFlags qva_flags;    /*!< Bit(s) to control operation. */
    rpmfileAttrs qva_fflags;    /*!< Bit(s) to filter on attribute. */
/*@only@*/ /*@null@*/
    rpmdbMatchIterator qva_mi;    /*!< Match iterator on selected headers. */
/*@refccounted@*/ /*@relnull@*/
    rpmgi qva_gi;        /*!< Generalized iterator on args. */
    rpmRC qva_rc;        /*!< Current return code. */

/*@null@*/
    QVF_t qva_showPackage;    /*!< Function to display iterator matches. */
/*@null@*/
    QSpecF_t qva_specQuery;    /*!< Function to query spec file. */
/*@unused@*/
    int qva_verbose;        /*!< (unused) */
/*@only@*/ /*@null@*/
    const char * qva_queryFormat;/*!< Format for headerSprintf(). */
    int sign;            /*!< Is a passphrase needed? */
/*@observer@*/
    const char * passPhrase;    /*!< Pass phrase. */
/*@observer@*/ /*@null@*/
    const char * qva_prefix;    /*!< Path to top of install tree. */
    char    qva_mode;
        /*!<
        - 'q'    from --query, -q
        - 'Q'    from --querytags
        - 'V'    from --verify, -V
        - 'A'    from --addsign
        - 'I'    from --import
        - 'K'    from --checksig, -K
        - 'R'    from --resign
        */
    char    qva_char;    /*!< (unused) always ' ' */
};

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct rpmQVKArguments_s rpmQVKArgs;

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct poptOption rpmQVSourcePoptTable[];

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern int specedit;

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct poptOption rpmQueryPoptTable[];

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct poptOption rpmVerifyPoptTable[];

/** \ingroup rpmcli
* Display query/verify information for each header in iterator.
*
* This routine uses:
*    - qva->qva_mi        rpm database iterator
*    - qva->qva_showPackage    query/verify display routine
*
* @param qva        parsed query/verify options
* @param ts        transaction set
* @return        result of last non-zero showPackage() return
*/
int rpmcliShowMatches(QVA_t qva, rpmts ts)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies qva, rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmcli
* Display list of tags that can be used in --queryformat.
* @param fp    file handle to use for display
*/
void rpmDisplayQueryTags(FILE * fp)
    /*@globals fileSystem @*/
    /*@modifies *fp, fileSystem @*/;

/** \ingroup rpmcli
* Common query/verify source interface, called once for each CLI arg.
*
* This routine uses:
*    - qva->qva_mi        rpm database iterator
*    - qva->qva_showPackage    query/verify display routine
*
* @param qva        parsed query/verify options
* @param ts        transaction set
* @param arg        name of source to query/verify
* @return        showPackage() result, 1 if rpmdbInitIterator() is NULL
*/
int rpmQueryVerify(QVA_t qva, rpmts ts, const char * arg)
    /*@globals rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies qva, ts, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/** \ingroup rpmcli
* Display results of package query.
* @todo Devise a meaningful return code.
* @param qva        parsed query/verify options
* @param ts        transaction set
* @param h        header to use for query
* @return        0 always
*/
int showQueryPackage(QVA_t qva, rpmts ts, Header h)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies ts, h, rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmcli
* Iterate over query/verify arg list.
* @param ts        transaction set
* @param qva        parsed query/verify options
* @param argv        query argument(s) (or NULL)
* @return        0 on success, else no. of failures
*/
int rpmcliArgIter(rpmts ts, QVA_t qva, /*@null@*/ ARGV_t argv)
    /*@globals ftsOpts, rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies ts, qva, ftsOpts, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/** \ingroup rpmcli
* Display package information.
* @todo hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?
* @param ts        transaction set
* @param qva        parsed query/verify options
* @param argv        query argument(s) (or NULL)
* @return        0 on success, else no. of failures
*/
int rpmcliQuery(rpmts ts, QVA_t qva, /*@null@*/ const char ** argv)
    /*@globals rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies ts, qva, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/** \ingroup rpmcli
* Verify file attributes (including MD5 sum).
* @todo gnorpm and python bindings prevent this from being static.
* @param ts        transaction set
* @param fi        file info (with linked header and current file index)
* @retval *res        bit(s) returned to indicate failure
* @param omitMask    bit(s) to disable verify checks
* @return        0 on success (or not installed), 1 on error
*/
/*@-incondefs@*/
int rpmVerifyFile(const rpmts ts, rpmfi fi,
        /*@out@*/ rpmVerifyAttrs * res, rpmVerifyAttrs omitMask)
    /*@globals h_errno, fileSystem, internalState @*/
    /*@modifies ts, fi, *res, fileSystem, internalState @*/
    /*@requires maxSet(res) >= 0 @*/;
/*@=incondefs@*/

/** \ingroup rpmcli
* Display results of package verify.
* @param qva        parsed query/verify options
* @param ts        transaction set
* @param h        header to use for verify
* @return        result of last non-zero verify return
*/
int showVerifyPackage(QVA_t qva, rpmts ts, Header h)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies ts, h, rpmGlobalMacroContext, fileSystem, internalState @*/;

/**
* Check package and header signatures.
* @param qva        parsed query/verify options
* @param ts        transaction set
* @param fd        package file handle
* @param fn        package file name
* @return        0 on success, 1 on failure
*/
int rpmVerifySignatures(QVA_t qva, rpmts ts, FD_t fd, const char * fn)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies qva, ts, fd, rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/;

/** \ingroup rpmcli
* Verify package install.
* @todo hack: RPMQV_ALL can pass char ** arglist = NULL, not char * arg. Union?
* @param ts        transaction set
* @param qva        parsed query/verify options
* @param argv        verify argument(s) (or NULL)
* @return        0 on success, else no. of failures
*/
int rpmcliVerify(rpmts ts, QVA_t qva, /*@null@*/ const char ** argv)
    /*@globals rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies ts, qva, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/*@}*/
/* ==================================================================== */
/** \name RPMBT */
/*@{*/

/** \ingroup rpmcli
* Describe build command line request.
*/
struct rpmBuildArguments_s {
    rpmQueryFlags qva_flags;    /*!< Bit(s) to control verification. */
    int buildAmount;        /*!< Bit(s) to control operation. */
/*@null@*/
    const char * buildRootOverride; /*!< from --buildroot */
/*@null@*/
    char * targets;        /*!< Target platform(s), comma separated. */
/*@observer@*/
    const char * passPhrase;    /*!< Pass phrase. */
/*@only@*/ /*@null@*/
    const char * cookie;    /*!< NULL for binary, ??? for source, rpm's */
    int force;            /*!< from --force */
    int noBuild;        /*!< from --nobuild */
    int noDeps;            /*!< from --nodeps */
    int noLang;            /*!< from --nolang */
    int shortCircuit;        /*!< from --short-circuit */
    int sign;            /*!< from --sign */
    int useCatalog;        /*!< from --usecatalog */
    char buildMode;        /*!< Build mode (one of "btBC") */
    char buildChar;        /*!< Build stage (one of "abcilps ") */
/*@observer@*/ /*@null@*/
    const char * rootdir;
};

/** \ingroup rpmcli
*/
typedef    struct rpmBuildArguments_s *    BTA_t;

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct rpmBuildArguments_s    rpmBTArgs;

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct poptOption        rpmBuildPoptTable[];

/*@}*/
/* ==================================================================== */
/** \name RPMEIU */
/*@{*/
/* --- install/upgrade/erase modes */

/*@unchecked@*/
extern int rpmcliPackagesTotal;
/*@unchecked@*/
extern int rpmcliHashesCurrent;
/*@unchecked@*/
extern int rpmcliHashesTotal;
/*@unchecked@*/
extern int rpmcliProgressCurrent;
/*@unchecked@*/
extern int rpmcliProgressTotal;

/** \ingroup rpmcli
* The rpm CLI generic transaction callback handler.
* @todo Remove headerSprintf() from the progress callback.
* @deprecated Transaction callback arguments need to change, so don't rely on
* this routine in the rpmcli API.
*
* @param arg        per-callback private data (e.g. an rpm header)
* @param what        callback identifier
* @param amount    per-callback progress info
* @param total        per-callback progress info
* @param key        opaque header key (e.g. file name or PyObject)
* @param data        private data (e.g. rpmInstallInterfaceFlags)
* @return        per-callback data (e.g. an opened FD_t)
*/
/*@null@*/
void * rpmShowProgress(/*@null@*/ const void * arg,
        const rpmCallbackType what,
        const unsigned long amount,
        const unsigned long total,
        /*@null@*/ fnpyKey key,
        /*@null@*/ void * data)
    /*@globals rpmcliHashesCurrent,
        rpmcliProgressCurrent, rpmcliProgressTotal,
        h_errno, fileSystem, internalState @*/
    /*@modifies rpmcliHashesCurrent,
        rpmcliProgressCurrent, rpmcliProgressTotal,
        fileSystem, internalState @*/;

/** \ingroup rpmcli
* Install source rpm package.
* @param ts        transaction set
* @param arg        source rpm file name
* @retval *specFilePtr    (installed) spec file name
* @retval *cookie
* @return        0 on success
*/
int rpmInstallSource(rpmts ts, const char * arg,
        /*@null@*/ /*@out@*/ const char ** specFilePtr,
        /*@null@*/ /*@out@*/ const char ** cookie)
    /*@globals rpmGlobalMacroContext, h_errno,
        fileSystem, internalState@*/
    /*@modifies ts, *specFilePtr, *cookie, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/** \ingroup rpmcli
* Describe database command line requests.
*/
struct rpmInstallArguments_s {
    rpmtransFlags transFlags;
    rpmprobFilterFlags probFilter;
    rpmInstallInterfaceFlags installInterfaceFlags;
    rpmEraseInterfaceFlags eraseInterfaceFlags;
    rpmQueryFlags qva_flags;    /*!< from --nodigest/--nosignature */
    uint_32 rbtid;        /*!< from --rollback */
    int numRelocations;
    int noDeps;
    int incldocs;
/*@owned@*/ /*@null@*/
    rpmRelocation * relocations;
/*@null@*/
    const char * prefix;
/*@observer@*/ /*@null@*/
    const char * rootdir;
};

/** \ingroup rpmcli
* Install/upgrade/freshen binary rpm package.
* @param ts        transaction set
* @param ia        mode flags and parameters
* @param fileArgv    array of package file names (NULL terminated)
* @return        0 on success
*/
int rpmInstall(rpmts ts, struct rpmInstallArguments_s * ia,
        /*@null@*/ const char ** fileArgv)
    /*@globals rpmcliPackagesTotal, rpmGlobalMacroContext, h_errno,
        fileSystem, internalState@*/
    /*@modifies ts, ia, rpmcliPackagesTotal, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/** \ingroup rpmcli
* Erase binary rpm package.
* @param ts        transaction set
* @param ia        control args/bits
* @param argv        array of package file names (NULL terminated)
* @return        0 on success
*/
int rpmErase(rpmts ts, struct rpmInstallArguments_s * ia,
        /*@null@*/ const char ** argv)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies ts, ia, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/**
* A rollback transaction id element.
*/
/*@-fielduse@*/
typedef /*@abstract@*/ struct IDT_s {
    unsigned int instance;    /*!< installed package transaction id. */
/*@owned@*/ /*@null@*/
    const char * key;        /*! removed package file name. */
    Header h;            /*!< removed package header. */
    union {
    uint_32 u32;        /*!< install/remove transaction id */
    } val;
} * IDT;
/*@=fielduse@*/

/**
* A rollback transaction id index.
*/
typedef /*@abstract@*/ struct IDTindex_s {
    int delta;            /*!< no. elements to realloc as a chunk. */
    int size;            /*!< size of id index element. */
    int alloced;        /*!< current number of elements allocated. */
    int nidt;            /*!< current number of elements initialized. */
/*@only@*/ /*@null@*/
    IDT idt;            /*!< id index elements. */
} * IDTX;

/**
* Destroy id index.
* @param idtx        id index
* @return        NULL always
*/
/*@null@*/
IDTX IDTXfree(/*@only@*/ /*@null@*/ IDTX idtx)
    /*@modifies idtx @*/;

/**
* Create id index.
* @return        new id index
*/
/*@only@*/
IDTX IDTXnew(void)
    /*@*/;

/**
* Insure that index has room for "need" elements.
* @param idtx        id index
* @param need        additional no. of elements needed
* @return         id index (with room for "need" elements)
*/
/*@only@*/ /*@null@*/
IDTX IDTXgrow(/*@only@*/ /*@null@*/ IDTX idtx, int need)
    /*@modifies idtx @*/;

/**
* Sort tag (instance,value) pairs.
* @param idtx        id index
* @return         id index
*/
/*@only@*/ /*@null@*/
IDTX IDTXsort(/*@only@*/ /*@null@*/ IDTX idtx)
    /*@modifies idtx @*/;

/**
* Load tag (instance,value) pairs from rpm databse, and return sorted id index.
* @param ts        transaction set
* @param tag        rpm tag
* @return         id index
*/
/*@only@*/ /*@null@*/
IDTX IDTXload(rpmts ts, rpmTag tag)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState  @*/;

/**
* Load tag (instance,value) pairs from packages, and return sorted id index.
* @param ts        transaction set
* @param globstr    glob expression
* @param tag        rpm tag
* @return         id index
*/
/*@only@*/ /*@null@*/
IDTX IDTXglob(rpmts ts, const char * globstr, rpmTag tag)
    /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
    /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/;

/** \ingroup rpmcli
* Rollback transactions, erasing new, reinstalling old, package(s).
* @param ts        transaction set
* @param ia        mode flags and parameters
* @param argv        array of arguments (NULL terminated)
* @return        0 on success
*/
int rpmRollback(rpmts ts, struct rpmInstallArguments_s * ia,
        /*@null@*/ const char ** argv)
    /*@globals rpmcliPackagesTotal, rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies ts, ia, rpmcliPackagesTotal, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct rpmInstallArguments_s rpmIArgs;

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct poptOption rpmInstallPoptTable[];

/*@}*/
/* ==================================================================== */
/** \name RPMDB */
/*@{*/
/* --- database modes */

/** \ingroup rpmcli
* Describe database command line requests.
*/
struct rpmDatabaseArguments_s {
    int init;            /*!< from --initdb */
    int rebuild;        /*!< from --rebuilddb */
    int verify;            /*!< from --verifydb */
};

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct rpmDatabaseArguments_s rpmDBArgs;

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct poptOption rpmDatabasePoptTable[];

/*@}*/
/* ==================================================================== */
/** \name RPMK */
/*@{*/

/** \ingroup rpmcli
* Import public key packet(s).
* @todo Implicit --update policy for gpg-pubkey headers.
* @param ts        transaction set
* @param pkt        pgp pubkey packet(s)
* @param pktlen    pgp pubkey length
* @return        RPMRC_OK/RPMRC_FAIL
*/
rpmRC rpmcliImportPubkey(const rpmts ts,
        const unsigned char * pkt, ssize_t pktlen)
    /*@globals RPMVERSION, rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies ts, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/** \ingroup rpmcli
* Bit(s) to control rpmReSign() operation.
*/
/*@-typeuse@*/
typedef enum rpmSignFlags_e {
    RPMSIGN_NONE        = 0,
    RPMSIGN_CHK_SIGNATURE    = 'K',    /*!< from --checksig */
    RPMSIGN_NEW_SIGNATURE    = 'R',    /*!< from --resign */
    RPMSIGN_ADD_SIGNATURE    = 'A',    /*!< from --addsign */
    RPMSIGN_DEL_SIGNATURE    = 'D',    /*!< from --delsign */
    RPMSIGN_IMPORT_PUBKEY    = 'I',    /*!< from --import */
} rpmSignFlags;
/*@=typeuse@*/

/** \ingroup rpmcli
*/
/*@unchecked@*/
extern struct poptOption rpmSignPoptTable[];

/** \ingroup rpmcli
* Create/Modify/Check elements from signature header.
* @param ts        transaction set
* @param qva        mode flags and parameters
* @param argv        array of arguments (NULL terminated)
* @return        0 on success
*/
int rpmcliSign(rpmts ts, QVA_t qva, /*@null@*/ const char ** argv)
    /*@globals RPMVERSION, rpmGlobalMacroContext, h_errno,
        fileSystem, internalState @*/
    /*@modifies ts, qva, rpmGlobalMacroContext,
        fileSystem, internalState @*/;

/*@}*/

#ifdef __cplusplus
}
#endif

#endif    /* H_RPMCLI */

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #16 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0041 ]--