home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / linux / linkage.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  969 b   |  64 lines

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