diff options
Diffstat (limited to 'src/libcharon/sa/trap_manager.h')
-rw-r--r-- | src/libcharon/sa/trap_manager.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/libcharon/sa/trap_manager.h b/src/libcharon/sa/trap_manager.h index 928b2a49f..0491107fd 100644 --- a/src/libcharon/sa/trap_manager.h +++ b/src/libcharon/sa/trap_manager.h @@ -22,7 +22,7 @@ #define TRAP_MANAGER_H_ #include <library.h> -#include <utils/enumerator.h> +#include <collections/enumerator.h> #include <config/peer_cfg.h> typedef struct trap_manager_t trap_manager_t; @@ -37,10 +37,11 @@ struct trap_manager_t { * * @param peer peer configuration to initiate on trap * @param child child configuration to install as a trap + * @param reqid optional reqid to use * @return reqid of installed CHILD_SA, 0 if failed */ u_int32_t (*install)(trap_manager_t *this, peer_cfg_t *peer, - child_cfg_t *child); + child_cfg_t *child, u_int32_t reqid); /** * Uninstall a trap policy. @@ -58,6 +59,14 @@ struct trap_manager_t { enumerator_t* (*create_enumerator)(trap_manager_t *this); /** + * Find the reqid of a child config installed as a trap. + * + * @param child CHILD_SA config to get the reqid for + * @return reqid of trap, 0 if not found + */ + u_int32_t (*find_reqid)(trap_manager_t *this, child_cfg_t *child); + + /** * Acquire an SA triggered by an installed trap. * * @param reqid requid of the triggering CHILD_SA |