summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/netlink/cli/qdisc.h13
-rw-r--r--include/netlink/cli/utils.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/include/netlink/cli/qdisc.h b/include/netlink/cli/qdisc.h
index 9fc4506..78b08dc 100644
--- a/include/netlink/cli/qdisc.h
+++ b/include/netlink/cli/qdisc.h
@@ -13,11 +13,24 @@
#define __NETLINK_CLI_QDISC_H_
#include <netlink/route/qdisc.h>
+#include <netlink/route/qdisc-modules.h>
#define nl_cli_qdisc_alloc_cache(sk) \
nl_cli_alloc_cache((sk), "queueing disciplines", \
rtnl_qdisc_alloc_cache)
+struct nl_cli_qdisc_module
+{
+ const char * qm_name;
+ struct rtnl_qdisc_ops * qm_ops;
+ void (*qm_parse_argv)(struct rtnl_qdisc *, int, char **);
+ struct nl_list_head qm_list;
+};
+
+extern struct nl_cli_qdisc_module *nl_cli_qdisc_lookup(struct rtnl_qdisc_ops *);
+extern void nl_cli_qdisc_register(struct nl_cli_qdisc_module *);
+extern void nl_cli_qdisc_unregister(struct nl_cli_qdisc_module *);
+
extern struct rtnl_qdisc *nl_cli_qdisc_alloc(void);
extern void nl_cli_qdisc_parse_dev(struct rtnl_qdisc *, struct nl_cache *, char *);
diff --git a/include/netlink/cli/utils.h b/include/netlink/cli/utils.h
index 2a23208..da41c10 100644
--- a/include/netlink/cli/utils.h
+++ b/include/netlink/cli/utils.h
@@ -73,6 +73,8 @@ extern int nl_cli_confirm(struct nl_object *,
extern struct nl_cache *nl_cli_alloc_cache(struct nl_sock *, const char *,
int (*ac)(struct nl_sock *, struct nl_cache **));
+extern void nl_cli_load_module(const char *, const char *);
+
#ifdef __cplusplus
}
#endif