1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef PERF_LINUX_KERNEL_H_
20#define PERF_LINUX_KERNEL_H_
21/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
22#define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d))
23#define PERF_ALIGN(x,a) __PERF_ALIGN_MASK(x, (typeof(x)) (a) - 1)
24/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
25#define __PERF_ALIGN_MASK(x,mask) (((x) + (mask)) & ~(mask))
26#ifndef offsetof
27#define offsetof(TYPE,MEMBER) ((size_t) & ((TYPE *) 0)->MEMBER)
28#endif
29/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
30#ifndef container_of
31#define container_of(ptr,type,member) ({ const typeof(((type *) 0)->member) * __mptr = (ptr); (type *) ((char *) __mptr - offsetof(type, member)); })
32#endif
33#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int : - ! ! (e); }))
34/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
35#ifndef max
36#define max(x,y) ({ typeof(x) _max1 = (x); typeof(y) _max2 = (y); (void) (& _max1 == & _max2); _max1 > _max2 ? _max1 : _max2; })
37#endif
38#ifndef min
39/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
40#define min(x,y) ({ typeof(x) _min1 = (x); typeof(y) _min2 = (y); (void) (& _min1 == & _min2); _min1 < _min2 ? _min1 : _min2; })
41#endif
42#ifndef roundup
43#define roundup(x,y) (\
44{ const typeof(y) __y = y; (((x) + (__y - 1)) / __y) * __y; \
45} \
46)
47/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
48#endif
49#ifndef BUG_ON
50#ifdef NDEBUG
51#define BUG_ON(cond) do { if(cond) { } } while(0)
52/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
53#else
54#define BUG_ON(cond) assert(! (cond))
55#endif
56#endif
57/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
58#define cpu_to_le64(x) (x)
59#define cpu_to_le32(x) (x)
60#ifndef pr_fmt
61#define pr_fmt(fmt) fmt
62/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
63#endif
64#define pr_err(fmt,...) eprintf(0, pr_fmt(fmt), ##__VA_ARGS__)
65#define pr_warning(fmt,...) eprintf(0, pr_fmt(fmt), ##__VA_ARGS__)
66#define pr_info(fmt,...) eprintf(0, pr_fmt(fmt), ##__VA_ARGS__)
67/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
68#define pr_debug(fmt,...) eprintf(1, pr_fmt(fmt), ##__VA_ARGS__)
69#define pr_debugN(n,fmt,...) eprintf(n, pr_fmt(fmt), ##__VA_ARGS__)
70#define pr_debug2(fmt,...) pr_debugN(2, pr_fmt(fmt), ##__VA_ARGS__)
71#define pr_debug3(fmt,...) pr_debugN(3, pr_fmt(fmt), ##__VA_ARGS__)
72/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
73#define pr_debug4(fmt,...) pr_debugN(4, pr_fmt(fmt), ##__VA_ARGS__)
74#define __round_mask(x,y) ((__typeof__(x)) ((y) - 1))
75#define round_up(x,y) ((((x) - 1) | __round_mask(x, y)) + 1)
76#define round_down(x,y) ((x) & ~__round_mask(x, y))
77/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
78#endif
79
80