summaryrefslogtreecommitdiffstats
path: root/libc/kernel/common/linux/linkage.h
diff options
context:
space:
mode:
Diffstat (limited to 'libc/kernel/common/linux/linkage.h')
-rw-r--r--libc/kernel/common/linux/linkage.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/libc/kernel/common/linux/linkage.h b/libc/kernel/common/linux/linkage.h
new file mode 100644
index 0000000..e0194bc
--- /dev/null
+++ b/libc/kernel/common/linux/linkage.h
@@ -0,0 +1,66 @@
+/****************************************************************************
+ ****************************************************************************
+ ***
+ *** This header was automatically generated from a Linux kernel header
+ *** of the same name, to make information necessary for userspace to
+ *** call into the kernel available to libc. It contains only constants,
+ *** structures, and macros generated from the original header, and thus,
+ *** contains no copyrightable information.
+ ***
+ ****************************************************************************
+ ****************************************************************************/
+#ifndef _LINUX_LINKAGE_H
+#define _LINUX_LINKAGE_H
+
+#include <asm/linkage.h>
+
+#ifdef __cplusplus
+#define CPP_ASMLINKAGE extern "C"
+#else
+#define CPP_ASMLINKAGE
+#endif
+
+#ifndef asmlinkage
+#define asmlinkage CPP_ASMLINKAGE
+#endif
+
+#ifndef prevent_tail_call
+#define prevent_tail_call(ret) do { } while (0)
+#endif
+
+#ifndef __ALIGN
+#define __ALIGN .align 4,0x90
+#define __ALIGN_STR ".align 4,0x90"
+#endif
+
+#ifdef __ASSEMBLY__
+
+#define ALIGN __ALIGN
+#define ALIGN_STR __ALIGN_STR
+
+#ifndef ENTRY
+#define ENTRY(name) .globl name; ALIGN; name:
+#endif
+
+#define KPROBE_ENTRY(name) .section .kprobes.text, "ax"; ENTRY(name)
+
+#ifndef END
+#define END(name) .size name, .-name
+#endif
+
+#ifndef ENDPROC
+#define ENDPROC(name) .type name, @function; END(name)
+#endif
+
+#endif
+
+#define NORET_TYPE
+#define ATTRIB_NORET __attribute__((noreturn))
+#define NORET_AND noreturn,
+
+#ifndef FASTCALL
+#define FASTCALL(x) x
+#define fastcall
+#endif
+
+#endif