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

00001 /*
00002  * netlink/route/class-modules.h       Class 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_CLASS_MODULES_H_
00013 #define NETLINK_CLASS_MODULES_H_
00014 
00015 #include <netlink/netlink.h>
00016 
00017 /**
00018  * Class operations
00019  * @ingroup class
00020  */
00021 struct rtnl_class_ops
00022 {
00023         /**
00024          * Kind/Name of class
00025          */
00026         char co_kind[32];
00027 
00028         /**
00029          * Dump callbacks
00030          */
00031         int (*co_dump[NL_DUMP_MAX+1])(struct rtnl_class *,
00032                                       struct nl_dump_params *, int);
00033 
00034         /**
00035          * Must return the contents supposed to be in TCA_OPTIONS
00036          */
00037         struct nl_msg *(*co_get_opts)(struct rtnl_class *);
00038 
00039         /**
00040          * TCA_OPTIONS message parser
00041          */
00042         int  (*co_msg_parser)(struct rtnl_class *);
00043 
00044         /**
00045          * Called before a class object gets destroyed
00046          */
00047         void (*co_free_data)(struct rtnl_class *);
00048 
00049         /**
00050          * INTERNAL (Do not use)
00051          */
00052         struct rtnl_class_ops *co_next;
00053 };
00054 
00055 extern int      rtnl_class_register(struct rtnl_class_ops *);
00056 extern int      rtnl_class_unregister(struct rtnl_class_ops *);
00057 
00058 #endif

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