Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
unistd.h File Reference

Go to the source code of this file.

Macros

#define _syscall0(type, name)
 
#define _syscall1(type, name, type1, arg1)
 
#define _syscall2(type, name, type1, arg1, type2, arg2)
 
#define _syscall3(type, name, type1, arg1, type2, arg2, type3, arg3)
 
#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3, type4, arg4)
 
#define _syscall5(type, name, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5)
 
#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6)
 

Macro Definition Documentation

#define _syscall0 (   type,
  name 
)
Value:
type name(void) \
{ \
register long __a __asm__ ("r10"); \
register long __n_ __asm__ ("r9") = (__NR_##name); \
__asm__ __volatile__ (".ifnc %0%1,$r10$r9\n\t" \
".err\n\t" \
".endif\n\t" \
"break 13" \
: "=r" (__a) \
: "r" (__n_)); \
if (__a >= 0) \
return (type) __a; \
errno = -__a; \
return (type) -1; \
}

Definition at line 9 of file unistd.h.

#define _syscall1 (   type,
  name,
  type1,
  arg1 
)
Value:
type name(type1 arg1) \
{ \
register long __a __asm__ ("r10") = (long) arg1; \
register long __n_ __asm__ ("r9") = (__NR_##name); \
__asm__ __volatile__ (".ifnc %0%1,$r10$r9\n\t" \
".err\n\t" \
".endif\n\t" \
"break 13" \
: "=r" (__a) \
: "r" (__n_), "0" (__a)); \
if (__a >= 0) \
return (type) __a; \
errno = -__a; \
return (type) -1; \
}

Definition at line 26 of file unistd.h.

#define _syscall2 (   type,
  name,
  type1,
  arg1,
  type2,
  arg2 
)
Value:
type name(type1 arg1,type2 arg2) \
{ \
register long __a __asm__ ("r10") = (long) arg1; \
register long __b __asm__ ("r11") = (long) arg2; \
register long __n_ __asm__ ("r9") = (__NR_##name); \
__asm__ __volatile__ (".ifnc %0%1%3,$r10$r9$r11\n\t" \
".err\n\t" \
".endif\n\t" \
"break 13" \
: "=r" (__a) \
: "r" (__n_), "0" (__a), "r" (__b)); \
if (__a >= 0) \
return (type) __a; \
errno = -__a; \
return (type) -1; \
}

Definition at line 43 of file unistd.h.

#define _syscall3 (   type,
  name,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3 
)
Value:
type name(type1 arg1,type2 arg2,type3 arg3) \
{ \
register long __a __asm__ ("r10") = (long) arg1; \
register long __b __asm__ ("r11") = (long) arg2; \
register long __c __asm__ ("r12") = (long) arg3; \
register long __n_ __asm__ ("r9") = (__NR_##name); \
__asm__ __volatile__ (".ifnc %0%1%3%4,$r10$r9$r11$r12\n\t" \
".err\n\t" \
".endif\n\t" \
"break 13" \
: "=r" (__a) \
: "r" (__n_), "0" (__a), "r" (__b), "r" (__c)); \
if (__a >= 0) \
return (type) __a; \
errno = -__a; \
return (type) -1; \
}

Definition at line 61 of file unistd.h.

#define _syscall4 (   type,
  name,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4 
)
Value:
type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
{ \
register long __a __asm__ ("r10") = (long) arg1; \
register long __b __asm__ ("r11") = (long) arg2; \
register long __c __asm__ ("r12") = (long) arg3; \
register long __d __asm__ ("r13") = (long) arg4; \
register long __n_ __asm__ ("r9") = (__NR_##name); \
__asm__ __volatile__ (".ifnc %0%1%3%4%5,$r10$r9$r11$r12$r13\n\t" \
".err\n\t" \
".endif\n\t" \
"break 13" \
: "=r" (__a) \
: "r" (__n_), "0" (__a), "r" (__b), \
"r" (__c), "r" (__d)); \
if (__a >= 0) \
return (type) __a; \
errno = -__a; \
return (type) -1; \
}

Definition at line 80 of file unistd.h.

#define _syscall5 (   type,
  name,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5 
)
Value:
type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \
{ \
register long __a __asm__ ("r10") = (long) arg1; \
register long __b __asm__ ("r11") = (long) arg2; \
register long __c __asm__ ("r12") = (long) arg3; \
register long __d __asm__ ("r13") = (long) arg4; \
register long __n_ __asm__ ("r9") = (__NR_##name); \
__asm__ __volatile__ (".ifnc %0%1%3%4%5,$r10$r9$r11$r12$r13\n\t" \
".err\n\t" \
".endif\n\t" \
"move %6,$mof\n\t" \
"break 13" \
: "=r" (__a) \
: "r" (__n_), "0" (__a), "r" (__b), \
"r" (__c), "r" (__d), "g" (arg5)); \
if (__a >= 0) \
return (type) __a; \
errno = -__a; \
return (type) -1; \
}

Definition at line 101 of file unistd.h.

#define _syscall6 (   type,
  name,
  type1,
  arg1,
  type2,
  arg2,
  type3,
  arg3,
  type4,
  arg4,
  type5,
  arg5,
  type6,
  arg6 
)
Value:
type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \
{ \
register long __a __asm__ ("r10") = (long) arg1; \
register long __b __asm__ ("r11") = (long) arg2; \
register long __c __asm__ ("r12") = (long) arg3; \
register long __d __asm__ ("r13") = (long) arg4; \
register long __n_ __asm__ ("r9") = (__NR_##name); \
__asm__ __volatile__ (".ifnc %0%1%3%4%5,$r10$r9$r11$r12$r13\n\t" \
".err\n\t" \
".endif\n\t" \
"move %6,$mof\n\tmove %7,$srp\n\t" \
"break 13" \
: "=r" (__a) \
: "r" (__n_), "0" (__a), "r" (__b), \
"r" (__c), "r" (__d), "g" (arg5), "g" (arg6)\
: "srp"); \
if (__a >= 0) \
return (type) __a; \
errno = -__a; \
return (type) -1; \
}

Definition at line 124 of file unistd.h.