rpm  5.4.15
rpmbag.h
Go to the documentation of this file.
1 #ifndef H_RPMBAG
2 #define H_RPMBAG
3 
10 /*@unchecked@*/
11 extern int _rpmbag_debug;
12 
15 typedef /*@refcounted@*/ struct rpmbag_s * rpmbag;
16 typedef struct rpmsdb_s * rpmsdb;
17 
18 #if defined(_RPMBAG_INTERNAL)
19 
20 struct rpmsdb_s {
21  struct rpmioItem_s _item;
22  void * _bf;
23  int dbmode;
24  void * _db;
25 #if defined(__LCLINT__)
26 /*@refs@*/
27  int nrefs;
28 #endif
29 };
30 
33 struct rpmbag_s {
34  struct rpmioItem_s _item;
35  const char * fn;
36  int flags;
37  size_t nsdbp;
38  rpmsdb * sdbp;
39 #if defined(__LCLINT__)
40 /*@refs@*/
41  int nrefs;
42 #endif
43 };
44 #endif /* _RPMBAG_INTERNAL */
45 
46 #ifdef __cplusplus
47 extern "C" {
48 #endif
49 
55 /*@unused@*/ /*@null@*/
56 rpmbag rpmbagUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmbag bag)
57  /*@modifies bag @*/;
58 #define rpmbagUnlink(_bag) \
59  ((rpmbag)rpmioUnlinkPoolItem((rpmioItem)(_bag), __FUNCTION__, __FILE__, __LINE__))
60 
66 /*@unused@*/ /*@newref@*/ /*@null@*/
67 rpmbag rpmbagLink (/*@null@*/ rpmbag bag)
68  /*@modifies bag @*/;
69 #define rpmbagLink(_bag) \
70  ((rpmbag)rpmioLinkPoolItem((rpmioItem)(_bag), __FUNCTION__, __FILE__, __LINE__))
71 
77 /*@null@*/
78 rpmbag rpmbagFree(/*@killref@*/ /*@null@*/rpmbag bag)
79  /*@globals fileSystem @*/
80  /*@modifies bag, fileSystem @*/;
81 #define rpmbagFree(_bag) \
82  ((rpmbag)rpmioFreePoolItem((rpmioItem)(_bag), __FUNCTION__, __FILE__, __LINE__))
83 
90 /*@newref@*/ /*@null@*/
91 rpmbag rpmbagNew(const char * fn, int flags)
92  /*@globals fileSystem, internalState @*/
93  /*@modifies fileSystem, internalState @*/;
94 
95 int rpmbagAdd(rpmbag bag, void *_db, int dbmode)
96  /*@*/;
97 
98 int rpmbagDel(rpmbag bag, int i)
99  /*@*/;
100 
101 #ifdef __cplusplus
102 }
103 #endif
104 
105 #endif /* H_RPMBAG */
#define rpmbagFree(_bag)
Definition: rpmbag.h:81
int rpmbagDel(rpmbag bag, int i)
Definition: rpmbag.c:83
int _rpmbag_debug
Definition: rpmbag.c:22
int rpmbagAdd(rpmbag bag, void *_db, int dbmode)
Definition: rpmbag.c:70
#define rpmbagUnlink(_bag)
Definition: rpmbag.h:58
struct rpmsdb_s * rpmsdb
Definition: rpmbag.h:16
#define rpmbagLink(_bag)
Definition: rpmbag.h:69
const char const bson int mongo_write_concern int flags
Definition: mongo.h:485
const char const int i
Definition: bson.h:778
rpmbag rpmbagNew(const char *fn, int flags)
Create and load a bag wrapper.
Definition: rpmbag.c:57
struct rpmbag_s * rpmbag
Definition: rpmbag.h:15