/** * @file opd_anon.h * Anonymous region handling. * * @remark Copyright 2005 OProfile authors * @remark Read the file COPYING * * @author John Levon */ #ifndef OPD_ANON_H #define OPD_ANON_H #include "op_types.h" #include "op_list.h" #include "opd_cookie.h" #include <sys/types.h> struct transient; /** * Shift useful bits into play for VMA hashing. */ #define VMA_SHIFT 13 /* Maximum size of the image name considered */ #define MAX_IMAGE_NAME_SIZE 20 struct anon_mapping { /** start of the mapping */ vma_t start; /** end of the mapping */ vma_t end; /** tgid of the app */ pid_t tgid; /** cookie of the app */ cookie_t app_cookie; /** hash list */ struct list_head list; /** lru list */ struct list_head lru_list; char name[MAX_IMAGE_NAME_SIZE+1]; }; /** * Try to find an anonymous mapping for the given pc/tgid pair. */ struct anon_mapping * find_anon_mapping(struct transient *); void anon_init(void); #endif /* OPD_ANON_H */