#ifndef __KERNEL_API
#define __KERNEL_API
+#include <errno.h>
+#include <syscall.h>
+#include <string.h>
+#include <stdint.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
#define DECLARE_IMV(type, name) extern __typeof__(type) name##__imv
#define DEFINE_IMV(type, name) __typeof__(type) name##__imv
*/
#define _imv_read(name) (name##__imv)
+#ifdef __i386__
+#define __NR_marker 327
+#define __NR_trace 328
+#elif defined(__x86_64__)
+#define __NR_marker 288
+#define __NR_trace 289
+#else
+#error "Unsupported architecture for userspace markers"
+#endif
+
+#define sys_marker(...) syscall(__NR_marker, __VA_ARGS__)
+#define sys_trace(...) syscall(__NR_trace, __VA_ARGS__)
+
+#ifdef __cplusplus
+} /* end of extern "C" */
+#endif
+
#endif