Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

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@*/
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 } nsType;
00052 
00053 #if defined(_RPMNS_INTERNAL)
00054 
00057 struct rpmns_s {
00058     const char * str;           
00059     nsType Type;                
00060 /*@observer@*/ /*@null@*/
00061     const char * NS;            
00062 /*@observer@*/ /*@null@*/
00063     const char * N;             
00064 /*@observer@*/ /*@null@*/
00065     const char * A;             
00066     evrFlags Flags;             
00067 };
00068 #endif  /* _RPMNS_INTERNAL */
00069 
00070 #ifdef __cplusplus
00071 extern "C" {
00072 #endif
00073 
00079 nsType rpmnsArch(const char * str)
00080         /*@*/;
00081 
00087 nsType rpmnsProbe(const char * str)
00088         /*@*/;
00089 
00095 nsType rpmnsClassify(const char * str)
00096         /*@*/;
00097 
00104 int rpmnsParse(const char * str, rpmns ns)
00105         /*@globals rpmGlobalMacroContext @*/
00106         /*@modifies ns, rpmGlobalMacroContext @*/;
00107 
00108 #ifdef __cplusplus
00109 }
00110 #endif
00111 
00112 #endif  /* H_RPMNS */

Generated on Tue Dec 27 22:20:14 2016 for rpm by  doxygen 1.4.4