runtime/linux/task_finder_stubs.c - systemtap
Data types defined
Functions defined
Macros defined
Source code
#ifndef TASK_FINDER_STUBS_C
#define TASK_FINDER_STUBS_C
static void stap_task_finder_unavailable(void) {
_stp_error("process-tracking is not available in this kernel"
" [man error::process-tracking]");
}
struct stap_task_finder_target;
typedef int (*stap_task_finder_callback)(struct stap_task_finder_target *tgt,
struct task_struct *tsk,
int register_p,
int process_p);
typedef int
(*stap_task_finder_mmap_callback)(struct stap_task_finder_target *tgt,
struct task_struct *tsk,
char *path,
struct dentry *dentry,
unsigned long addr,
unsigned long length,
unsigned long offset,
unsigned long vm_flags);
typedef int
(*stap_task_finder_munmap_callback)(struct stap_task_finder_target *tgt,
struct task_struct *tsk,
unsigned long addr,
unsigned long length);
typedef int
(*stap_task_finder_mprotect_callback)(struct stap_task_finder_target *tgt,
struct task_struct *tsk,
unsigned long addr,
unsigned long length,
int prot);
struct stap_task_finder_target {
struct list_head list; struct list_head callback_list_head;
struct list_head callback_list;
size_t pathlen;
unsigned engine_attached:1;
unsigned mmap_events:1;
unsigned munmap_events:1;
unsigned mprotect_events:1;
pid_t pid;
const char *procname;
const char *purpose;
stap_task_finder_callback callback;
stap_task_finder_mmap_callback mmap_callback;
stap_task_finder_munmap_callback munmap_callback;
stap_task_finder_mprotect_callback mprotect_callback;
};
static int
stap_register_task_finder_target(struct stap_task_finder_target *new_tgt)
{
_stp_warn("cannot track target in process '%s'", new_tgt->procname);
return 0;
}
static int
stap_start_task_finder(void)
{
_stp_warn("process-tracking is not available in this kernel"
" [man error::process-tracking]");
return 0;
}
static void
stap_task_finder_post_init(void)
{
;
}
static void
stap_stop_task_finder(void)
{
;
}
#endif