rpm  5.4.15
rpmsvn.h
Go to the documentation of this file.
1 #ifndef H_RPMSVN
2 #define H_RPMSVN
3 
10 /*@unchecked@*/
11 extern int _rpmsvn_debug;
12 
15 typedef /*@refcounted@*/ struct rpmsvn_s * rpmsvn;
16 
17 #if defined(_RPMSVN_INTERNAL)
18 
20 struct rpmsvn_s {
21  struct rpmioItem_s _item;
22  const char * fn;
23 
24 #if defined(HAVE_APR_1_APR_H) /* XXX FIXME: use void * instead */
25  apr_allocator_t * allocator;
26  apr_pool_t * pool;
27 #else
28  void * allocator;
29  void * pool;
30 #endif
31 #if defined(HAVE_SUBVERSION_1_SVN_CLIENT_H) /* XXX FIXME: use void * instead */
32  svn_repos_t * repos;
33  svn_fs_txn_t * txn;
34  svn_fs_root_t * txn_root;
35 #else
36  void * repos;
37  void * txn;
38  void * txn_root;
39 #endif
40 
41 #if defined(__LCLINT__)
42 /*@refs@*/
43  int nrefs;
44 #endif
45 };
46 #endif /* _RPMSVN_INTERNAL */
47 
48 #ifdef __cplusplus
49 extern "C" {
50 #endif
51 
57 /*@unused@*/ /*@null@*/
58 rpmsvn rpmsvnUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmsvn svn)
59  /*@modifies svn @*/;
60 #define rpmsvnUnlink(_svn) \
61  ((rpmsvn)rpmioUnlinkPoolItem((rpmioItem)(_svn), __FUNCTION__, __FILE__, __LINE__))
62 
68 /*@unused@*/ /*@newref@*/ /*@null@*/
69 rpmsvn rpmsvnLink (/*@null@*/ rpmsvn svn)
70  /*@modifies svn @*/;
71 #define rpmsvnLink(_svn) \
72  ((rpmsvn)rpmioLinkPoolItem((rpmioItem)(_svn), __FUNCTION__, __FILE__, __LINE__))
73 
79 /*@null@*/
80 rpmsvn rpmsvnFree(/*@killref@*/ /*@null@*/rpmsvn svn)
81  /*@globals fileSystem @*/
82  /*@modifies svn, fileSystem @*/;
83 #define rpmsvnFree(_svn) \
84  ((rpmsvn)rpmioFreePoolItem((rpmioItem)(_svn), __FUNCTION__, __FILE__, __LINE__))
85 
92 /*@newref@*/ /*@null@*/
93 rpmsvn rpmsvnNew(const char * fn, int flags)
94  /*@globals fileSystem, internalState @*/
95  /*@modifies fileSystem, internalState @*/;
96 
97 #ifdef __cplusplus
98 }
99 #endif
100 
101 #endif /* H_RPMSVN */
#define rpmsvnLink(_svn)
Definition: rpmsvn.h:71
struct rpmsvn_s * rpmsvn
Definition: rpmsvn.h:15
#define rpmsvnFree(_svn)
Definition: rpmsvn.h:83
void * pool
Definition: rpmiotypes.h:46
int _rpmsvn_debug
Definition: rpmsvn.c:25
const char const bson int mongo_write_concern int flags
Definition: mongo.h:485
#define rpmsvnUnlink(_svn)
Definition: rpmsvn.h:60
rpmsvn rpmsvnNew(const char *fn, int flags)
Create and load a svn wrapper.
Definition: rpmsvn.c:72