da0ffee23b81bab6d525088924c28ca8c7d67a68
[kernel/swap-modules.git] / driver / module.h
1 ////////////////////////////////////////////////////////////////////////////////////
2 //
3 //      FILE:           module.h
4 //
5 //      DESCRIPTION:
6 //
7 //      SEE ALSO:       module.c
8 //      AUTHOR:         L.Komkov, A.Gerenkov
9 //      COMPANY NAME:   Samsung Research Center in Moscow
10 //      DEPT NAME:      Advanced Software Group 
11 //      CREATED:        2008.02.15
12 //      VERSION:        1.0
13 //      REVISION DATE:  2008.12.03
14 //
15 ////////////////////////////////////////////////////////////////////////////////////
16
17 #if !defined(__MODULE_H__)
18 #define __MODULE_H__
19
20 #define UNUSED __attribute__((unused))
21
22 #include <linux/types.h>
23 #include <asm/current.h>
24 #include <asm/page.h>
25 #include <asm/uaccess.h>
26 #include <asm/local.h>
27 #include <asm/string.h>
28 #include <asm/mman.h>
29
30 #include <net/sock.h>
31 #include <net/tcp.h>
32 #include <net/inet_common.h>
33
34 #include <linux/gfp.h>
35 #include <linux/mm.h>
36 #include <linux/page-flags.h>
37 #include <linux/vmalloc.h>
38 #include <linux/errno.h>
39 #include <linux/spinlock.h>
40 #include <linux/version.h>
41 #include <linux/module.h>
42 #include <linux/sched.h>
43 #include <linux/genhd.h>
44 #include <linux/fs.h>
45 #include <linux/bio.h>
46 #include <linux/file.h>
47 #include <linux/tcp.h>
48 #include <linux/skbuff.h>
49 #include <linux/ipsec.h>
50 #include <linux/sysctl.h>
51 #include <linux/dcache.h>
52 #include <linux/kernel.h>
53 #include <linux/stddef.h>
54 #include <linux/audit.h>
55 #include <linux/namei.h>
56 #include <linux/signal.h>
57 #include <linux/highmem.h>
58 #include <linux/pagemap.h>
59 #include <linux/types.h>
60 #include <linux/cdev.h>
61 #include <linux/jiffies.h>
62 #include <linux/time.h>
63
64 #include "events.h"
65
66 #include "debug.h"
67 #include "ec.h"
68 #include "legacy.h"
69 #include "storage.h"
70 #include "us_proc_inst.h"
71 #include "device_driver.h"
72 #include "probes_manager.h"
73 #include "probes.h"
74
75 extern char *device_name;
76 extern unsigned int device_major;
77
78 typedef unsigned long (*fp_kallsyms_lookup_name_t) (const char *name);
79
80 //export by swap_kprobes.ko
81 extern fp_kallsyms_lookup_name_t lookup_name;
82
83 struct handler_map {
84         unsigned long func_addr;
85         unsigned long jp_handler_addr;
86         unsigned long rp_handler_addr;
87         char * func_name;
88 };
89
90 #endif /* !defined(module_h) */