rpm 5.3.12
rpmio/rpmsx.h
Go to the documentation of this file.
00001 #ifndef H_RPMSX
00002 #define H_RPMSX
00003 
00008 #include <rpmiotypes.h>
00009 #include <rpmio.h>
00010 
00011 typedef /*@abstract@*/ /*@refcounted@*/ struct rpmsx_s * rpmsx;
00012 
00013 /*@unchecked@*/
00014 extern int _rpmsx_debug;
00015 
00016 /*@unchecked@*/
00017 extern rpmsx _rpmsxI;
00018 
00019 #if defined(_RPMSX_INTERNAL)
00020 
00022 struct rpmsx_s {
00023     struct rpmioItem_s _item;   
00024     const char * fn;            
00025     unsigned int flags;
00026 #if defined(__LCLINT__)
00027 /*@refs@*/
00028     int nrefs;                  
00029 #endif
00030 };
00031 #endif  /* _RPMSX_INTERNAL */
00032 
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036 
00042 /*@unused@*/ /*@null@*/
00043 rpmsx rpmsxUnlink (/*@killref@*/ /*@only@*/ /*@null@*/ rpmsx sx)
00044         /*@modifies sx @*/;
00045 #define rpmsxUnlink(_sx)        \
00046     ((rpmsx)rpmioUnlinkPoolItem((rpmioItem)(_sx), __FUNCTION__, __FILE__, __LINE__))
00047 
00053 /*@unused@*/ /*@newref@*/ /*@null@*/
00054 rpmsx rpmsxLink (/*@null@*/ rpmsx sx)
00055         /*@modifies sx @*/;
00056 #define rpmsxLink(_sx)  \
00057     ((rpmsx)rpmioLinkPoolItem((rpmioItem)(_sx), __FUNCTION__, __FILE__, __LINE__))
00058 
00064 /*@null@*/
00065 rpmsx rpmsxFree(/*@killref@*/ /*@null@*/rpmsx sx)
00066         /*@globals fileSystem @*/
00067         /*@modifies sx, fileSystem @*/;
00068 #define rpmsxFree(_sx)  \
00069     ((rpmsx)rpmioFreePoolItem((rpmioItem)(_sx), __FUNCTION__, __FILE__, __LINE__))
00070 
00077 /*@newref@*/ /*@null@*/
00078 rpmsx rpmsxNew(/*@null@*/ const char * fn, unsigned int flags)
00079         /*@globals fileSystem, internalState @*/
00080         /*@modifies fileSystem, internalState @*/;
00081 
00087 int rpmsxEnabled(/*@null@*/ rpmsx sx)
00088         /*@globals fileSystem, internalState @*/
00089         /*@modifies fileSystem, internalState @*/;
00090 
00098 /*@only@*/
00099 const char * rpmsxMatch(/*@null@*/ rpmsx sx, const char * fn, mode_t mode)
00100         /*@globals fileSystem, internalState @*/
00101         /*@modifies sx, fileSystem, internalState @*/;
00102 
00109 /*@null@*/
00110 const char * rpmsxGetfilecon(/*@null@*/ rpmsx sx, const char *fn)
00111         /*@globals fileSystem, internalState @*/
00112         /*@modifies fileSystem, internalState @*/;
00113 /*@null@*/
00114 const char * rpmsxLgetfilecon(/*@null@*/ rpmsx sx, const char *fn)
00115         /*@globals fileSystem, internalState @*/
00116         /*@modifies fileSystem, internalState @*/;
00117 
00126 int rpmsxSetfilecon(/*@null@*/ rpmsx sx, const char *fn, mode_t mode,
00127                 /*@null@*/ const char * scon) 
00128         /*@globals fileSystem, internalState @*/
00129         /*@modifies sx, fileSystem, internalState @*/;
00130 int rpmsxLsetfilecon(/*@null@*/ rpmsx sx, const char *fn, mode_t mode,
00131                 /*@null@*/ const char * scon) 
00132         /*@globals fileSystem, internalState @*/
00133         /*@modifies sx, fileSystem, internalState @*/;
00134 
00142 int rpmsxExec(rpmsx sx, int verified, const char ** argv)
00143         /*@globals fileSystem, internalState @*/
00144         /*@modifies fileSystem, internalState @*/;
00145 
00146 #ifdef __cplusplus
00147 }
00148 #endif
00149 
00150 #endif  /* H_RPMSX */