/build/buildd/libnl-1.0~pre6/include/netlink/route/qdisc-modules.h

00001 /*
00002  * netlink/route/qdisc-modules.h       Qdisc Module API
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) 2003-2006 Thomas Graf <tgraf@suug.ch>
00010  */
00011 
00012 #ifndef NETLINK_QDISC_MODULES_H_
00013 #define NETLINK_QDISC_MODULES_H_
00014 
00015 #include <netlink/netlink.h>
00016 
00017 /**
00018  * Qdisc Operations
00019  * @ingroup qdisc
00020  */
00021 struct rtnl_qdisc_ops
00022 {
00023         /**
00024          * Kind/Name of Qdisc
00025          */
00026         char qo_kind[32];
00027 
00028         /**
00029          * Dump callbacks
00030          */
00031         int  (*qo_dump[NL_DUMP_MAX+1])(struct rtnl_qdisc *,
00032                                        struct nl_dump_params *, int);
00033 
00034         /**
00035          * Must return the contents supposed to be in TCA_OPTIONS
00036          */
00037         struct nl_msg *(*qo_get_opts)(struct rtnl_qdisc *);
00038 
00039         /**
00040          * TCA_OPTIONS message parser
00041          */
00042         int  (*qo_msg_parser)(struct rtnl_qdisc *);
00043 
00044         /**
00045          * Called before a Qdisc object gets destroyed
00046          */
00047         void (*qo_free_data)(struct rtnl_qdisc *);
00048 
00049         /**
00050          * INTERNAL (Do not use)
00051          */
00052         struct rtnl_qdisc_ops *qo_next;
00053 };
00054 
00055 extern int rtnl_qdisc_register(struct rtnl_qdisc_ops *);
00056 extern int rtnl_qdisc_unregister(struct rtnl_qdisc_ops *);
00057 
00058 #endif

Generated on Fri Apr 27 14:14:07 2007 for libnl by  doxygen 1.5.1