1e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#ifndef __PERF_VDSO__ 2e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#define __PERF_VDSO__ 3e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 4e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#include <linux/types.h> 5e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#include <string.h> 6e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#include <stdbool.h> 7e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 8e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#define VDSO__MAP_NAME "[vdso]" 9e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 10e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengstatic inline bool is_vdso_map(const char *filename) 11e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng{ 12e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng return !strcmp(filename, VDSO__MAP_NAME); 13e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng} 14e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 15e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengstruct dso *vdso__dso_findnew(struct list_head *head); 16e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Chengvoid vdso__exit(void); 17e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng 18e6e8a0bd7cffcc9ae2e0e75546fb12a19213d4aeBen Cheng#endif /* __PERF_VDSO__ */ 19