From 85d2072eccdfcb7e8045a60d8bb939de61d1c04b Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Thu, 1 Dec 2016 20:12:22 +0100 Subject: src: support for stateful object monitoring This patch extends the event monitoring infrastructure to catch events of addition and removal of stateful objects. Signed-off-by: Pablo Neira Ayuso --- src/rule.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/rule.c') diff --git a/src/rule.c b/src/rule.c index b97213e9..b6dc755e 100644 --- a/src/rule.c +++ b/src/rule.c @@ -1158,6 +1158,19 @@ void obj_add_hash(struct obj *obj, struct table *table) list_add_tail(&obj->list, &table->objs); } +struct obj *obj_lookup(const struct table *table, const char *name, + uint32_t type) +{ + struct obj *obj; + + list_for_each_entry(obj, &table->objs, list) { + if (!strcmp(obj->handle.obj, name) && + obj->type == type) + return obj; + } + return NULL; +} + static void obj_print_data(const struct obj *obj, struct print_fmt_options *opts) { @@ -1229,6 +1242,18 @@ void obj_print(const struct obj *obj) obj_print_declaration(obj, &opts); } +void obj_print_plain(const struct obj *obj) +{ + struct print_fmt_options opts = { + .tab = "", + .nl = " ", + .table = obj->handle.table, + .family = family2str(obj->handle.family), + }; + + obj_print_declaration(obj, &opts); +} + static int do_list_obj(struct netlink_ctx *ctx, struct cmd *cmd, uint32_t type) { struct print_fmt_options opts = { -- cgit v1.2.3