- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

# lib/rpmns.h

Go to the documentation of this file.

    00001 #ifndef H_RPMNS
    00002 #define H_RPMNS
    00003
    00011 /*@-exportlocal@*/
    00012 /*@unchecked@*/
    00013 extern int _rpmns_debug;
    00014 /*@=exportlocal@*/
    00015
    00016 /*@unchecked@*/ /*@observer@*/ /*@relnull@*/
    00017 extern const char *_rpmns_N_at_A;
    00018
    00019 typedef /*@abstract@*/ struct rpmns_s * rpmns;
    00020
    00024 typedef enum nsType_e {
    00025     RPMNS_TYPE_UNKNOWN  =  0,
    00026     RPMNS_TYPE_STRING   =  (1 <<  0),
    00027     RPMNS_TYPE_PATH     =  (1 <<  1),
    00028     RPMNS_TYPE_DSO      =  (1 <<  2),
    00029     RPMNS_TYPE_FUNCTION =  (1 <<  3),
    00030     RPMNS_TYPE_ARCH     =  (1 <<  4),
    00031     RPMNS_TYPE_VERSION  =  (1 <<  5),
    00032     RPMNS_TYPE_COMPOUND =  (1 <<  6),
    00033         /* 7 unused */
    00034     RPMNS_TYPE_NAMESPACE=  (1 <<  8),
    00035     RPMNS_TYPE_RPMLIB   =  (1 <<  9),
    00036     RPMNS_TYPE_CPUINFO  =  (1 << 10),
    00037     RPMNS_TYPE_GETCONF  =  (1 << 11),
    00038     RPMNS_TYPE_UNAME    =  (1 << 12),
    00039     RPMNS_TYPE_SONAME   =  (1 << 13),
    00040     RPMNS_TYPE_ACCESS   =  (1 << 14),
    00041     RPMNS_TYPE_TAG      =  (1 << 15),
    00042     RPMNS_TYPE_USER     =  (1 << 16),
    00043     RPMNS_TYPE_GROUP    =  (1 << 17),
    00044     RPMNS_TYPE_MOUNTED  =  (1 << 18),
    00045     RPMNS_TYPE_DISKSPACE=  (1 << 19),
    00046     RPMNS_TYPE_DIGEST   =  (1 << 20),
    00047     RPMNS_TYPE_GNUPG    =  (1 << 21),
    00048     RPMNS_TYPE_MACRO    =  (1 << 22),
    00049     RPMNS_TYPE_ENVVAR   =  (1 << 23),
    00050     RPMNS_TYPE_RUNNING  =  (1 << 24),
    00051     RPMNS_TYPE_SANITY   =  (1 << 25),
    00052     RPMNS_TYPE_VCHECK   =  (1 << 26),
    00053     RPMNS_TYPE_SIGNATURE=  (1 << 27),
    00054 } nsType;
    00055
    00056 #if defined(_RPMNS_INTERNAL)
    00057
    00060 struct rpmns_s {
    00061 /*@owned@*/
    00062     const char * str;
    00063     nsType Type;
    00064 /*@dependent@*/ /*@null@*/
    00065     const char * NS;
    00066 /*@dependent@*/ /*@relnull@*/
    00067     const char * N;
    00068 /*@dependent@*/ /*@null@*/
    00069     const char * A;
    00070     evrFlags Flags;
    00071 };
    00072 #endif  /* _RPMNS_INTERNAL */
    00073
    00074 #ifdef __cplusplus
    00075 extern "C" {
    00076 #endif
    00077
    00083 nsType rpmnsArch(const char * str)
    00084         /*@*/;
    00085
    00091 nsType rpmnsProbe(const char * str)
    00092         /*@*/;
    00093
    00099 nsType rpmnsClassify(const char * str)
    00100         /*@*/;
    00101
    00108 int rpmnsParse(const char * str, rpmns ns)
    00109         /*@globals rpmGlobalMacroContext, h_errno, internalState @*/
    00110         /*@modifies ns, rpmGlobalMacroContext, internalState @*/;
    00111
    00115 void rpmnsClean(void)
    00116         /*@globals internalState @*/
    00117         /*@modifies internalState @*/;
    00118
    00129 rpmRC rpmnsProbeSignature(void * _ts, const char * fn,
    00130                 /*@null@*/ const char * sigfn,
    00131                 /*@null@*/ const char * pubfn,
    00132                 /*@null@*/ const char * pubid,
    00133                 int flags)
    00134         /*@*/;
    00135
    00136 #ifdef __cplusplus
    00137 }
    00138 #endif
    00139
    00140 #endif  /* H_RPMNS */