Tizen 2.4.0 rev3 SDK Public Release
[kernel/swap-modules.git] / nsp / nsp_tdata.h
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 2 of the License, or
5  * (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software
14  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
15  *
16  * Copyright (C) Samsung Electronics, 2015
17  *
18  * 2015         Vyacheslav Cherkashin <v.cherkashin@samsung.com>
19  *
20  */
21
22 #ifndef _NSP_TDATA_H
23 #define _NSP_TDATA_H
24
25
26 #include <linux/types.h>
27 #include <us_manager/probes/probe_info_new.h>
28
29
30 enum nsp_proc_stat {
31         NPS_OPEN_E,             /* mapping begin */
32         NPS_OPEN_R,
33         NPS_SYM_E,
34         NPS_SYM_R,              /* mapping end   */
35         NPS_MAIN_E,             /* main begin    */
36         NPS_AC_EFL_MAIN_E,      /* main end      */
37         NPS_AC_INIT_R,          /* create begin  */
38         NPS_ELM_RUN_E,          /* create end    */
39         NPS_DO_APP_E,           /* reset begin   */
40         NPS_DO_APP_R            /* reset end     */
41 };
42
43
44 struct nsp_data;
45 struct task_struct;
46
47
48 struct tdata {
49         enum nsp_proc_stat stat;
50         struct nsp_data *nsp_data;
51         u64 time;
52         void *handle;
53         struct probe_new p_main;
54 };
55
56
57 struct tdata *tdata_create(struct task_struct *task);
58 void tdata_destroy(struct tdata *tdata);
59
60 struct tdata *tdata_get(struct task_struct *task);
61 void tdata_put(struct tdata *tdata);
62
63 int tdata_enable(void);
64 void tdata_disable(void);
65
66 int tdata_once(void);
67
68
69 #endif /* _NSP_TDATA_H */