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