rpm
4.5
|
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 */