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