# rpmplugins.h File Reference

`#include <rpm/rpmtypes.h>`
Include dependency graph for rpmplugins.h:

Go to the source code of this file.

## Defines

#define | PLUGIN_HOOKS plugin_hooks
#define | PLUGINHOOK_INIT_FUNC pluginhook_init
#define | PLUGINHOOK_CLEANUP_FUNC pluginhook_cleanup
#define | PLUGINHOOK_OPENTE_FUNC pluginhook_opente
#define | PLUGINHOOK_COLL_POST_ADD_FUNC pluginhook_coll_post_add
#define | PLUGINHOOK_COLL_POST_ANY_FUNC pluginhook_coll_post_any
#define | PLUGINHOOK_COLL_PRE_REMOVE_FUNC pluginhook_coll_pre_remove

## Typedefs

typedef rpmFlags | rpmPluginHook

## Enumerations

enum | rpmPluginHook_e { PLUGINHOOK_NONE = 0, PLUGINHOOK_INIT = 1 << 0, PLUGINHOOK_CLEANUP = 1 << 1, PLUGINHOOK_OPENTE = 1 << 2, PLUGINHOOK_COLL_POST_ADD = 1 << 3, PLUGINHOOK_COLL_POST_ANY = 1 << 4, PLUGINHOOK_COLL_PRE_REMOVE = 1 << 5 }

## Functions

rpmPlugins | rpmpluginsNew (rpmts ts)
| Create a new plugins structure.
rpmPlugins | rpmpluginsFree (rpmPlugins plugins)
| Destroy a plugins structure.
rpmRC | rpmpluginsAdd (rpmPlugins plugins, const char *name, const char *path, const char *opts)
| Add and open a plugin.
rpmRC | rpmpluginsAddCollectionPlugin (rpmPlugins plugins, const char *name)
| Add and open a collection plugin.
int | rpmpluginsPluginAdded (rpmPlugins plugins, const char *name)
| Determine if a plugin has been added already.
rpmRC | rpmpluginsCallInit (rpmPlugins plugins, const char *name, const char *opts)
| Call the init plugin hook.
rpmRC | rpmpluginsCallCleanup (rpmPlugins plugins, const char *name)
| Call the cleanup plugin hook.
rpmRC | rpmpluginsCallOpenTE (rpmPlugins plugins, const char *name, rpmte te)
| Call the open te plugin hook.
rpmRC | rpmpluginsCallCollectionPostAdd (rpmPlugins plugins, const char *name)
| Call the collection post add plugin hook.
rpmRC | rpmpluginsCallCollectionPostAny (rpmPlugins plugins, const char *name)
| Call the collection post any plugin hook.
rpmRC | rpmpluginsCallCollectionPreRemove (rpmPlugins plugins, const char *name)
| Call the collection pre remove plugin hook.

## Define Documentation

#define PLUGIN_HOOKS plugin_hooks

Definition at line 10 of file rpmplugins.h.

#define PLUGINHOOK_CLEANUP_FUNC pluginhook_cleanup

Definition at line 13 of file rpmplugins.h.

#define PLUGINHOOK_COLL_POST_ADD_FUNC pluginhook_coll_post_add

Definition at line 15 of file rpmplugins.h.

#define PLUGINHOOK_COLL_POST_ANY_FUNC pluginhook_coll_post_any

Definition at line 16 of file rpmplugins.h.

#define PLUGINHOOK_COLL_PRE_REMOVE_FUNC pluginhook_coll_pre_remove

Definition at line 17 of file rpmplugins.h.

#define PLUGINHOOK_INIT_FUNC pluginhook_init

Definition at line 12 of file rpmplugins.h.

#define PLUGINHOOK_OPENTE_FUNC pluginhook_opente

Definition at line 14 of file rpmplugins.h.

## Typedef Documentation

typedef rpmFlags rpmPluginHook

Definition at line 29 of file rpmplugins.h.

## Enumeration Type Documentation

enum rpmPluginHook_e

Enumerator:

  PLUGINHOOK_NONE |
  PLUGINHOOK_INIT |
  PLUGINHOOK_CLEANUP |
  PLUGINHOOK_OPENTE |
  PLUGINHOOK_COLL_POST_ADD |
  PLUGINHOOK_COLL_POST_ANY |
  PLUGINHOOK_COLL_PRE_REMOVE |

Definition at line 19 of file rpmplugins.h.

## Function Documentation

rpmRC rpmpluginsAdd | ( | rpmPlugins | plugins,
|  | const char * | name,
|  | const char * | path,
|  | const char * | opts |
| ) |  |  |

Add and open a plugin.

Parameters:

  | plugins | plugins structure to add a plugin to
  | name | name to access plugin
  | path | path of plugin to open
  | opts | options to pass to the plugin

Returns:
  RPMRC_OK on success, RPMRC_FAIL otherwise

rpmRC rpmpluginsAddCollectionPlugin | ( | rpmPlugins | plugins,
|  | const char * | name |
| ) |  |  |

Add and open a collection plugin.

Parameters:

  | plugins | plugins structure to add a collection plugin to
  | name | name of collection to open

Returns:
  RPMRC_OK on success, RPMRC_FAIL otherwise

rpmRC rpmpluginsCallCleanup | ( | rpmPlugins | plugins,
|  | const char * | name |
| ) |  |  |

Call the cleanup plugin hook.

Parameters:

  | plugins | plugins structure
  | name | name of plugin

Returns:
  RPMRC_OK on success, RPMRC_FAIL otherwise

rpmRC rpmpluginsCallCollectionPostAdd | ( | rpmPlugins | plugins,
|  | const char * | name |
| ) |  |  |

Call the collection post add plugin hook.

Parameters:

  | plugins | plugins structure
  | name | name of plugin

Returns:
  RPMRC_OK on success, RPMRC_FAIL otherwise

rpmRC rpmpluginsCallCollectionPostAny | ( | rpmPlugins | plugins,
|  | const char * | name |
| ) |  |  |

Call the collection post any plugin hook.

Parameters:

  | plugins | plugins structure
  | name | name of plugin

Returns:
  RPMRC_OK on success, RPMRC_FAIL otherwise

rpmRC rpmpluginsCallCollectionPreRemove | ( | rpmPlugins | plugins,
|  | const char * | name |
| ) |  |  |

Call the collection pre remove plugin hook.

Parameters:

  | plugins | plugins structure
  | name | name of plugin

Returns:
  RPMRC_OK on success, RPMRC_FAIL otherwise

rpmRC rpmpluginsCallInit | ( | rpmPlugins | plugins,
|  | const char * | name,
|  | const char * | opts |
| ) |  |  |

Call the init plugin hook.

Parameters:

  | plugins | plugins structure
  | name | name of plugin
  | opts | plugin options

Returns:
  RPMRC_OK on success, RPMRC_FAIL otherwise

rpmRC rpmpluginsCallOpenTE | ( | rpmPlugins | plugins,
|  | const char * | name,
|  | rpmte | te |
| ) |  |  |

Call the open te plugin hook.

Parameters:

  | plugins | plugins structure
  | name | name of plugin
  | te | transaction element opened

Returns:
  RPMRC_OK on success, RPMRC_FAIL otherwise

rpmPlugins rpmpluginsFree | ( | rpmPlugins | plugins | ) |

Destroy a plugins structure.

Parameters:

  | plugins | plugins structure to destroy

Returns:
  NULL always

rpmPlugins rpmpluginsNew | ( | rpmts | ts | ) |

Create a new plugins structure.

Parameters:

  | ts | transaction set

Returns:
  new plugin structure

int rpmpluginsPluginAdded | ( | rpmPlugins | plugins,
|  | const char * | name |
| ) |  |  |

Determine if a plugin has been added already.

Parameters:

  | plugins | plugins structure
  | name | name of plugin to check

Returns:
  1 if plugin name has already been added, 0 otherwise