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

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

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