Home | History | Annotate | Download | only in cli
      1 /*
      2  * netlink/cli/tc.h     CLI Traffic Control Helpers
      3  *
      4  *	This library is free software; you can redistribute it and/or
      5  *	modify it under the terms of the GNU Lesser General Public
      6  *	License as published by the Free Software Foundation version 2.1
      7  *	of the License.
      8  *
      9  * Copyright (c) 2010-2011 Thomas Graf <tgraf (at) suug.ch>
     10  */
     11 
     12 #ifndef __NETLINK_CLI_TC_H_
     13 #define __NETLINK_CLI_TC_H_
     14 
     15 #include <netlink/route/tc.h>
     16 
     17 struct rtnl_tc_ops;
     18 
     19 extern void nl_cli_tc_parse_dev(struct rtnl_tc *, struct nl_cache *, char *);
     20 extern void nl_cli_tc_parse_parent(struct rtnl_tc *, char *);
     21 extern void nl_cli_tc_parse_handle(struct rtnl_tc *, char *, int);
     22 extern void nl_cli_tc_parse_mtu(struct rtnl_tc *, char *);
     23 extern void nl_cli_tc_parse_mpu(struct rtnl_tc *, char *);
     24 extern void nl_cli_tc_parse_overhead(struct rtnl_tc *, char *);
     25 extern void nl_cli_tc_parse_linktype(struct rtnl_tc *, char *);
     26 extern void nl_cli_tc_parse_kind(struct rtnl_tc *, char *);
     27 
     28 struct nl_cli_tc_module
     29 {
     30 	const char *		tm_name;
     31 	enum rtnl_tc_type	tm_type;
     32 	struct rtnl_tc_ops *	tm_ops;
     33 	void		      (*tm_parse_argv)(struct rtnl_tc *, int, char **);
     34 	struct nl_list_head	tm_list;
     35 };
     36 
     37 extern struct nl_cli_tc_module *nl_cli_tc_lookup(struct rtnl_tc_ops *);
     38 extern void nl_cli_tc_register(struct nl_cli_tc_module *);
     39 extern void nl_cli_tc_unregister(struct nl_cli_tc_module *);
     40 
     41 #endif
     42