tc.h

00001 /*
00002  * netlink/cli/tc.h     CLI Traffic Control Helpers
00003  *
00004  *      This library is free software; you can redistribute it and/or
00005  *      modify it under the terms of the GNU Lesser General Public
00006  *      License as published by the Free Software Foundation version 2.1
00007  *      of the License.
00008  *
00009  * Copyright (c) 2010-2011 Thomas Graf <tgraf@suug.ch>
00010  */
00011 
00012 #ifndef __NETLINK_CLI_TC_H_
00013 #define __NETLINK_CLI_TC_H_
00014 
00015 #include <netlink/route/tc-api.h>
00016 
00017 extern void nl_cli_tc_parse_dev(struct rtnl_tc *, struct nl_cache *, char *);
00018 extern void nl_cli_tc_parse_parent(struct rtnl_tc *, char *);
00019 extern void nl_cli_tc_parse_handle(struct rtnl_tc *, char *, int);
00020 extern void nl_cli_tc_parse_mtu(struct rtnl_tc *, char *);
00021 extern void nl_cli_tc_parse_mpu(struct rtnl_tc *, char *);
00022 extern void nl_cli_tc_parse_overhead(struct rtnl_tc *, char *);
00023 extern void nl_cli_tc_parse_linktype(struct rtnl_tc *, char *);
00024 extern void nl_cli_tc_parse_kind(struct rtnl_tc *, char *);
00025 
00026 struct nl_cli_tc_module
00027 {
00028         const char *            tm_name;
00029         enum rtnl_tc_type       tm_type;
00030         struct rtnl_tc_ops *    tm_ops;
00031         void                  (*tm_parse_argv)(struct rtnl_tc *, int, char **);
00032         struct nl_list_head     tm_list;
00033 };
00034 
00035 extern struct nl_cli_tc_module *nl_cli_tc_lookup(struct rtnl_tc_ops *);
00036 extern void nl_cli_tc_register(struct nl_cli_tc_module *);
00037 extern void nl_cli_tc_unregister(struct nl_cli_tc_module *);
00038 
00039 #endif