1 ////////////////////////////////////////////////////////////////////////////////////
3 // FILE: us_proc_inst.h
7 // SEE ALSO: us_proc_inst.c
9 // COMPANY NAME: Samsung Research Center in Moscow
10 // DEPT NAME: Advanced Software Group
11 // CREATED: 2008.06.02
13 // REVISION DATE: 2008.12.03
15 ////////////////////////////////////////////////////////////////////////////////////
18 Functions in "us_proc_inst.h" file .
21 #if !defined(__US_PROC_INST_H__)
22 #define __US_PROC_INST_H__
24 #include <linux/signal.h> // struct sigpending
27 /* Instruments or schedules pending instrumentation of user space process. */
28 extern int inst_usr_space_proc (void);
29 extern int deinst_usr_space_proc (void);
31 extern pid_t gl_nNotifyTgid;
33 /* forward declarations */
40 struct vm_area_struct;
44 int is_us_instrumentation(void);
46 int register_usprobe(struct task_struct *task, struct us_ip *ip);
47 int unregister_usprobe(struct task_struct *task, struct us_ip *ip);
49 struct dentry *dentry_by_path(const char *path);
50 int install_otg_ip(unsigned long addr,
51 kprobe_pre_entry_handler_t pre_handler,
52 unsigned long jp_handler,
53 uretprobe_handler_t rp_handler);
56 int check_install_pages_in_file(struct task_struct *task, struct sspt_file *file);
57 void install_proc_probes(struct task_struct *task, struct sspt_procs *procs);
58 pid_t find_proc_by_task(const struct task_struct *task, struct dentry *dentry);
59 void install_page_probes(unsigned long page_addr, struct task_struct *task, struct sspt_procs *procs);
60 int uninstall_us_proc_probes(struct task_struct *task, struct sspt_procs *procs, enum US_FLAGS flag);
61 int check_vma(struct vm_area_struct *vma);
62 int unregister_us_file_probes(struct task_struct *task, struct sspt_file *file, enum US_FLAGS flag);
64 #endif /* !defined(__US_PROC_INST_H__) */