• 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 */

Generated on Mon Nov 29 2010 05:18:44 for rpm by  doxygen 1.7.2