rpm  5.4.15
Macros | Typedefs | Enumerations | Functions | Variables
rpmsm.h File Reference
#include <rpmiotypes.h>
#include <rpmio.h>
Include dependency graph for rpmsm.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define rpmsmUnlink(_sm)   ((rpmsm)rpmioUnlinkPoolItem((rpmioItem)(_sm), __FUNCTION__, __FILE__, __LINE__))
 
#define rpmsmLink(_sm)   ((rpmsm)rpmioLinkPoolItem((rpmioItem)(_sm), __FUNCTION__, __FILE__, __LINE__))
 
#define rpmsmFree(_sm)   ((rpmsm)rpmioFreePoolItem((rpmioItem)(_sm), __FUNCTION__, __FILE__, __LINE__))
 

Typedefs

typedef struct rpmsm_s * rpmsm
 

Enumerations

enum  rpmsmFlags_e {
  RPMSM_FLAGS_NONE = 0, RPMSM_FLAGS_BASE = (1 << 1), RPMSM_FLAGS_INSTALL = (1 << 2), RPMSM_FLAGS_LIST = (1 << 3),
  RPMSM_FLAGS_REMOVE = (1 << 4), RPMSM_FLAGS_UPGRADE = (1 << 5), RPMSM_FLAGS_RELOAD = (1 << 6), RPMSM_FLAGS_REBUILD = (1 << 7),
  RPMSM_FLAGS_NOAUDIT = (1 << 8), RPMSM_FLAGS_COMMIT = (1 << 9), RPMSM_FLAGS_CREATE = (1 << 10), RPMSM_FLAGS_CONNECT = (1 << 11),
  RPMSM_FLAGS_SELECT = (1 << 12), RPMSM_FLAGS_ACCESS = (1 << 13), RPMSM_FLAGS_BEGIN = (1 << 14)
}
 Bit field enum for semamange/semodule flags. More...
 

Functions

rpmsm rpmsmUnlink (rpmsm sm)
 Unreference a semanage wrapper instance. More...
 
rpmsm rpmsmLink (rpmsm sm)
 Reference a semanage wrapper instance. More...
 
rpmsm rpmsmFree (rpmsm sm)
 Destroy a semanage wrapper. More...
 
rpmsm rpmsmNew (const char *fn, unsigned int flags)
 Create and load a semanage wrapper. More...
 
rpmRC rpmsmRun (rpmsm sm, char **av, const char **resultp)
 Run semanage commands. More...
 

Variables

int _rpmsm_debug
 
rpmsm _rpmsmI
 

Macro Definition Documentation

#define rpmsmFree (   _sm)    ((rpmsm)rpmioFreePoolItem((rpmioItem)(_sm), __FUNCTION__, __FILE__, __LINE__))

Definition at line 94 of file rpmsm.h.

#define rpmsmLink (   _sm)    ((rpmsm)rpmioLinkPoolItem((rpmioItem)(_sm), __FUNCTION__, __FILE__, __LINE__))

Definition at line 82 of file rpmsm.h.

#define rpmsmUnlink (   _sm)    ((rpmsm)rpmioUnlinkPoolItem((rpmioItem)(_sm), __FUNCTION__, __FILE__, __LINE__))

Definition at line 71 of file rpmsm.h.

Typedef Documentation

typedef struct rpmsm_s* rpmsm

Definition at line 11 of file rpmsm.h.

Enumeration Type Documentation

Bit field enum for semamange/semodule flags.

Enumerator
RPMSM_FLAGS_NONE 
RPMSM_FLAGS_BASE 
RPMSM_FLAGS_INSTALL 
RPMSM_FLAGS_LIST 
RPMSM_FLAGS_REMOVE 
RPMSM_FLAGS_UPGRADE 
RPMSM_FLAGS_RELOAD 
RPMSM_FLAGS_REBUILD 
RPMSM_FLAGS_NOAUDIT 
RPMSM_FLAGS_COMMIT 
RPMSM_FLAGS_CREATE 
RPMSM_FLAGS_CONNECT 
RPMSM_FLAGS_SELECT 
RPMSM_FLAGS_ACCESS 
RPMSM_FLAGS_BEGIN 

Definition at line 22 of file rpmsm.h.

Function Documentation

rpmsm rpmsmFree ( rpmsm  sm)

Destroy a semanage wrapper.

Parameters
smsemanage wrapper
Returns
NULL on last dereference

Referenced by expandMacro(), rpmioClean(), and rpmsmNew().

rpmsm rpmsmLink ( rpmsm  sm)

Reference a semanage wrapper instance.

Parameters
smsemanage wrapper
Returns
new semanage wrapper reference

Referenced by rpmsmNew().

rpmsm rpmsmNew ( const char *  fn,
unsigned int  flags 
)

Create and load a semanage wrapper.

Parameters
fnsemanage policy store (i.e. "targeted")
flagssemanage flags
Returns
new semanage wrapper

Definition at line 343 of file rpmsm.c.

References rpmiobNew(), RPMSM_FLAGS_ACCESS, RPMSM_FLAGS_BEGIN, RPMSM_FLAGS_CONNECT, RPMSM_FLAGS_CREATE, RPMSM_FLAGS_SELECT, rpmsmBegin(), rpmsmFree(), rpmsmGetPool(), and rpmsmLink().

Referenced by expandMacro(), and rpmsmI().

rpmRC rpmsmRun ( rpmsm  sm,
char **  av,
const char **  resultp 
)

Run semanage commands.

Commands are keyword strings with appended optional argument.

Parameters
smsemanage wrapper
avsemanage commands
Return values
*resultpstring result (malloc'd)
Returns
RPMRC_OK on success, RPMRC_FAIL on error

Definition at line 400 of file rpmsm.c.

References _rpmsm_debug, argvCount(), cmd, F_ISSET, i, rpmiobAppend(), rpmiobEmpty(), rpmiobLen(), rpmiobRTrim(), rpmiobStr(), RPMRC_FAIL, RPMRC_OK, RPMSM_FLAGS_COMMIT, RPMSM_FLAGS_NOAUDIT, rpmsmBegin(), rpmsmCommit(), rpmsmDisconnect(), rpmsmI(), rpmsmInstall(), rpmsmInstallBase(), rpmsmList(), rpmsmReload(), rpmsmRemove(), rpmsmUpgrade(), and xisspace().

Referenced by expandMacro().

rpmsm rpmsmUnlink ( rpmsm  sm)

Unreference a semanage wrapper instance.

Parameters
smsemanage wrapper
Returns
NULL on last dereference

Variable Documentation

int _rpmsm_debug
rpmsm _rpmsmI

Definition at line 24 of file rpmsm.c.

Referenced by rpmioClean(), and rpmsmI().