GNU Linux-libre 4.9.292-gnu1
[releases.git] / include / linux / kcore.h
1 /*
2  * /proc/kcore definitions
3  */
4 #ifndef _LINUX_KCORE_H
5 #define _LINUX_KCORE_H
6
7 enum kcore_type {
8         KCORE_TEXT,
9         KCORE_VMALLOC,
10         KCORE_RAM,
11         KCORE_VMEMMAP,
12         KCORE_USER,
13         KCORE_OTHER,
14 };
15
16 struct kcore_list {
17         struct list_head list;
18         unsigned long addr;
19         size_t size;
20         int type;
21 };
22
23 struct vmcore {
24         struct list_head list;
25         unsigned long long paddr;
26         unsigned long long size;
27         loff_t offset;
28 };
29
30 #ifdef CONFIG_PROC_KCORE
31 extern void kclist_add(struct kcore_list *, void *, size_t, int type);
32 #else
33 static inline
34 void kclist_add(struct kcore_list *new, void *addr, size_t size, int type)
35 {
36 }
37 #endif
38
39 #endif /* _LINUX_KCORE_H */