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 ****************************************************************************
11 ****************************************************************************/
12#ifndef _LINUX_LINKAGE_H
13#define _LINUX_LINKAGE_H
14
15#include <asm/linkage.h>
16
17#ifdef __cplusplus
18#define CPP_ASMLINKAGE extern "C"
19#else
20#define CPP_ASMLINKAGE
21#endif
22
23#ifndef asmlinkage
24#define asmlinkage CPP_ASMLINKAGE
25#endif
26
27#ifndef prevent_tail_call
28#define prevent_tail_call(ret) do { } while (0)
29#endif
30
31#ifndef __ALIGN
32#define __ALIGN .align 4,0x90
33#define __ALIGN_STR ".align 4,0x90"
34#endif
35
36#ifdef __ASSEMBLY__
37
38#define ALIGN __ALIGN
39#define ALIGN_STR __ALIGN_STR
40
41#ifndef ENTRY
42#define ENTRY(name)   .globl name;   ALIGN;   name:
43#endif
44
45#define KPROBE_ENTRY(name)   .section .kprobes.text, "ax";   ENTRY(name)
46
47#ifndef END
48#define END(name)   .size name, .-name
49#endif
50
51#ifndef ENDPROC
52#define ENDPROC(name)   .type name, @function;   END(name)
53#endif
54
55#endif
56
57#define NORET_TYPE
58#define ATTRIB_NORET __attribute__((noreturn))
59#define NORET_AND noreturn,
60
61#ifndef FASTCALL
62#define FASTCALL(x) x
63#define fastcall
64#endif
65
66#endif
67