rpm  5.4.10
rpmns.h
Go to the documentation of this file.
1 #ifndef H_RPMNS
2 #define H_RPMNS
3 
11 /*@-exportlocal@*/
12 /*@unchecked@*/
13 extern int _rpmns_debug;
14 /*@=exportlocal@*/
15 
16 /*@unchecked@*/ /*@observer@*/ /*@relnull@*/
17 extern const char *_rpmns_N_at_A;
18 
19 typedef /*@abstract@*/ struct rpmns_s * rpmns;
20 
24 typedef enum nsType_e {
26  RPMNS_TYPE_STRING = (1 << 0),
27  RPMNS_TYPE_PATH = (1 << 1),
28  RPMNS_TYPE_DSO = (1 << 2),
29  RPMNS_TYPE_FUNCTION = (1 << 3),
30  RPMNS_TYPE_ARCH = (1 << 4),
31  RPMNS_TYPE_VERSION = (1 << 5),
32  RPMNS_TYPE_COMPOUND = (1 << 6),
33  /* 7 unused */
35  RPMNS_TYPE_RPMLIB = (1 << 9),
36  RPMNS_TYPE_CPUINFO = (1 << 10),
37  RPMNS_TYPE_GETCONF = (1 << 11),
38  RPMNS_TYPE_UNAME = (1 << 12),
39  RPMNS_TYPE_SONAME = (1 << 13),
40  RPMNS_TYPE_ACCESS = (1 << 14),
41  RPMNS_TYPE_TAG = (1 << 15),
42  RPMNS_TYPE_USER = (1 << 16),
43  RPMNS_TYPE_GROUP = (1 << 17),
44  RPMNS_TYPE_MOUNTED = (1 << 18),
45  RPMNS_TYPE_DISKSPACE= (1 << 19),
46  RPMNS_TYPE_DIGEST = (1 << 20),
47  RPMNS_TYPE_GNUPG = (1 << 21),
48  RPMNS_TYPE_MACRO = (1 << 22),
49  RPMNS_TYPE_ENVVAR = (1 << 23),
50  RPMNS_TYPE_RUNNING = (1 << 24),
51  RPMNS_TYPE_SANITY = (1 << 25),
52  RPMNS_TYPE_VCHECK = (1 << 26),
53  RPMNS_TYPE_SIGNATURE= (1 << 27),
54  RPMNS_TYPE_VERIFY = (1 << 28),
55  RPMNS_TYPE_CONFIG = (1 << 29),
56  RPMNS_TYPE_SET = (1 << 30),
57  RPMNS_TYPE_DPKG = (1 << 31)
58 } nsType;
59 
60 #if defined(_RPMNS_INTERNAL)
61 
64 struct rpmns_s {
65 /*@owned@*/
66  const char * str;
67  nsType Type;
68 /*@dependent@*/ /*@null@*/
69  const char * NS;
70 /*@dependent@*/ /*@relnull@*/
71  const char * N;
72 /*@dependent@*/ /*@null@*/
73  const char * A;
74  evrFlags Flags;
75 };
76 #endif /* _RPMNS_INTERNAL */
77 
78 #ifdef __cplusplus
79 extern "C" {
80 #endif
81 
87 nsType rpmnsArch(const char * str)
88  /*@*/;
89 
96 nsType rpmnsProbe(const char * s, size_t slen)
97  /*@*/;
98 
105 nsType rpmnsClassify(const char * s, size_t slen)
106  /*@*/;
107 
114 int rpmnsParse(const char * str, rpmns ns)
115  /*@globals rpmGlobalMacroContext, h_errno, internalState @*/
116  /*@modifies ns, rpmGlobalMacroContext, internalState @*/;
117 
121 void rpmnsClean(void)
122  /*@globals internalState @*/
123  /*@modifies internalState @*/;
124 
135 rpmRC rpmnsProbeSignature(void * _ts, const char * fn,
136  /*@null@*/ const char * sigfn,
137  /*@null@*/ const char * pubfn,
138  /*@null@*/ const char * pubid,
139  int flags)
140  /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
141  /*@modifies _ts, rpmGlobalMacroContext, fileSystem, internalState @*/;
142 
143 #ifdef __cplusplus
144 }
145 #endif
146 
147 #endif /* H_RPMNS */