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