00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef NETLINK_QDISC_MODULES_H_
00013 #define NETLINK_QDISC_MODULES_H_
00014
00015 #include <netlink/netlink.h>
00016
00017 #ifdef __cplusplus
00018 extern "C" {
00019 #endif
00020
00021
00022
00023
00024
00025 struct rtnl_qdisc_ops
00026 {
00027
00028
00029
00030 char qo_kind[32];
00031
00032
00033
00034
00035 int (*qo_dump[NL_DUMP_MAX+1])(struct rtnl_qdisc *,
00036 struct nl_dump_params *, int);
00037
00038
00039
00040
00041 struct nl_msg *(*qo_get_opts)(struct rtnl_qdisc *);
00042
00043
00044
00045
00046 int (*qo_msg_parser)(struct rtnl_qdisc *);
00047
00048
00049
00050
00051 void (*qo_free_data)(struct rtnl_qdisc *);
00052
00053
00054
00055
00056 int (*qo_clone)(struct rtnl_qdisc *, struct rtnl_qdisc *);
00057
00058
00059
00060
00061 struct rtnl_qdisc_ops *qo_next;
00062 };
00063
00064 extern int rtnl_qdisc_register(struct rtnl_qdisc_ops *);
00065 extern int rtnl_qdisc_unregister(struct rtnl_qdisc_ops *);
00066 extern struct rtnl_qdisc_ops * rtnl_qdisc_lookup_ops(struct rtnl_qdisc *);
00067 extern struct rtnl_qdisc_ops * __rtnl_qdisc_lookup_ops(const char *);
00068
00069 #ifdef __cplusplus
00070 }
00071 #endif
00072
00073 #endif