handle case for sched
[ana-net.git] / src / xt_sched.h
blob77c2a51ae88030fa26c52975c428aed744776e3c
1 /*
2 * Lightweight Autonomic Network Architecture
4 * Copyright 2011 Daniel Borkmann <dborkma@tik.ee.ethz.ch>,
5 * Swiss federal institute of technology (ETH Zurich)
6 * Subject to the GPL.
7 */
9 #ifndef XT_SCHED_H
10 #define XT_SCHED_H
12 #include <linux/spinlock.h>
13 #include <linux/skbuff.h>
14 #include <linux/module.h>
15 #include <linux/proc_fs.h>
17 #include "xt_conf.h"
18 #include "xt_fblock.h"
20 extern struct proc_dir_entry *sched_proc_dir;
22 struct ppesched_discipline_ops {
23 int (*discipline_init)(void);
24 int (*discipline_sched)(struct sk_buff *skb, enum path_type dir);
25 void (*discipline_cleanup)(void);
28 struct ppesched_discipline {
29 char *name;
30 struct ppesched_discipline_ops *ops;
31 struct module *owner;
34 extern int ppesched_init(void);
35 extern int ppesched_sched(struct sk_buff *skb, enum path_type dir);
36 extern void ppesched_cleanup(void);
38 extern int ppesched_discipline_register(struct ppesched_discipline *pd);
39 extern void ppesched_discipline_unregister(struct ppesched_discipline *pd);
41 extern int init_ppesched_system(void);
42 extern void cleanup_ppesched_system(void);
44 #endif /* XT_SCHED_H */