diff options
Diffstat (limited to 'lib/affinitymap.h')
| -rw-r--r-- | lib/affinitymap.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/affinitymap.h b/lib/affinitymap.h index 323439c743..19edf5a269 100644 --- a/lib/affinitymap.h +++ b/lib/affinitymap.h @@ -50,6 +50,11 @@ DECLARE_QOBJ_TYPE(affinity_map); struct affinity_maps { struct list *maps; + bool (*check_use_hook)(const char *affmap_name); + bool (*check_update_hook)(const char *affmap_name, uint16_t new_pos); + void (*update_hook)(const char *affmap_name, uint16_t old_pos, + uint16_t new_pos); + QOBJ_FIELDS; }; DECLARE_QOBJ_TYPE(affinity_maps); @@ -61,6 +66,17 @@ void affinity_map_unset(const char *name); struct affinity_map *affinity_map_get(const char *name); char *affinity_map_name_get(const int pos); +bool affinity_map_check_use_hook(const char *affmap_name); +bool affinity_map_check_update_hook(const char *affmap_name, uint16_t new_pos); +void affinity_map_update_hook(const char *affmap_name, uint16_t new_pos); + +void affinity_map_set_check_use_hook(bool (*func)(const char *affmap_name)); +void affinity_map_set_check_update_hook(bool (*func)(const char *affmap_name, + uint16_t new_pos)); +void affinity_map_set_update_hook(void (*func)(const char *affmap_name, + uint16_t old_pos, + uint16_t new_pos)); + void cli_show_affinity_map(struct vty *vty, const struct lyd_node *dnode, bool show_defaults); |
