tracecontext.c: remove extraneous white lines
[lttv.git] / markers-userspace / kernel-api.h
1 /*
2 * Kernel API extracted from Linux kernel headers.
3 */
4
5 #ifndef __KERNEL_API
6 #define __KERNEL_API
7
8 #include <errno.h>
9 #include <syscall.h>
10 #include <string.h>
11 #include <stdint.h>
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16
17 #define DECLARE_IMV(type, name) extern __typeof__(type) name##__imv
18 #define DEFINE_IMV(type, name) __typeof__(type) name##__imv
19
20 #define likely(x) __builtin_expect(!!(x), 1)
21 #define unlikely(x) __builtin_expect(!!(x), 0)
22
23 /**
24 * imv_read - read immediate variable
25 * @name: immediate value name
26 *
27 * Reads the value of @name.
28 */
29 #define imv_read(name) _imv_read(name)
30
31 /**
32 * _imv_read - Read immediate value with standard memory load.
33 * @name: immediate value name
34 *
35 * Force a data read of the immediate value instead of the immediate value
36 * based mechanism. Useful for __init and __exit section data read.
37 */
38 #define _imv_read(name) (name##__imv)
39
40 #define __NR_marker 328
41 #define __NR_trace 329
42
43 #define sys_marker(...) syscall(__NR_marker, __VA_ARGS__)
44
45 #ifdef __cplusplus
46 } /* end of extern "C" */
47 #endif
48
49 #endif
This page took 0.029211 seconds and 4 git commands to generate.