Go to the source code of this file.
|
#define | __sfsyscall_return(type, res) |
|
#define | _sfsyscall0(type, name) |
|
#define | _sfsyscall1(type, name, type1, arg1) |
|
#define | _sfsyscall2(type, name, type1, arg1, type2, arg2) |
|
#define | _sfsyscall3(type, name, type1, arg1, type2, arg2, type3, arg3) |
|
#define | _sfsyscall4(type, name, type1, arg1, type2, arg2, type3, arg3, type4, arg4) |
|
#define | _sfsyscall5(type, name, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5) |
|
#define | _sfsyscall6(type, name, type1, arg1, type2, arg2, type3, arg3, type4, arg4, type5, arg5, type6, arg6) |
|
◆ __sfsyscall_return
#define __sfsyscall_return |
( |
|
type, |
|
|
|
res |
|
) |
| |
◆ _sfsyscall0
Value:
long __res; \
__asm__
volatile(
"###> " #
name " <###\n\t" \
"syscall" \
: "=a" (__res) \
: "memory", "rcx", "r11", "cc" \
); \
__sfsyscall_return(
type,__res); \
}
Definition at line 54 of file sfsyscall.h.
◆ _sfsyscall1
#define _sfsyscall1 |
( |
|
type, |
|
|
|
name, |
|
|
|
type1, |
|
|
|
arg1 |
|
) |
| |
Value:
long __res; \
register type1
rdi asm(
"rdi"); \
rdi = arg1; \
asm
volatile(
"###> " #
name "(%2) <###\n\t" \
"syscall" \
: "=a" (__res) \
: "memory", "rcx", "r11", "cc" \
); \
__sfsyscall_return(
type,__res); \
}
Definition at line 66 of file sfsyscall.h.
◆ _sfsyscall2
#define _sfsyscall2 |
( |
|
type, |
|
|
|
name, |
|
|
|
type1, |
|
|
|
arg1, |
|
|
|
type2, |
|
|
|
arg2 |
|
) |
| |
Value:
long __res; \
register type1
rdi asm(
"rdi"); \
register type2
rsi asm(
"rsi"); \
rdi = arg1; \
rsi = arg2; \
__asm__
volatile(
"###> " #
name "(%2, %3) <###\n\t" \
"syscall" \
: "=a" (__res) \
: "memory", "rcx", "r11", "cc" \
); \
__sfsyscall_return(
type, __res); \
}
Definition at line 81 of file sfsyscall.h.
◆ _sfsyscall3
#define _sfsyscall3 |
( |
|
type, |
|
|
|
name, |
|
|
|
type1, |
|
|
|
arg1, |
|
|
|
type2, |
|
|
|
arg2, |
|
|
|
type3, |
|
|
|
arg3 |
|
) |
| |
Value: type name(type1 arg1, type2 arg2, type3 arg3) { \
long __res; \
register type1
rdi asm(
"rdi"); \
register type2
rsi asm(
"rsi"); \
register type3
rdx asm(
"rdx"); \
rdi = arg1; \
rsi = arg2; \
rdx = arg3; \
asm
volatile(
"###> " #
name "(%2, %3, %4) <###\n\t" \
"syscall" \
: "=a" (__res) \
: "memory", "rcx", "r11", "cc" \
); \
__sfsyscall_return(
type, __res); \
}
Definition at line 99 of file sfsyscall.h.
◆ _sfsyscall4
#define _sfsyscall4 |
( |
|
type, |
|
|
|
name, |
|
|
|
type1, |
|
|
|
arg1, |
|
|
|
type2, |
|
|
|
arg2, |
|
|
|
type3, |
|
|
|
arg3, |
|
|
|
type4, |
|
|
|
arg4 |
|
) |
| |
Value: type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) { \
long __res; \
register type1
rdi asm(
"rdi"); \
register type2
rsi asm(
"rsi"); \
register type3
rdx asm(
"rdx"); \
register type4
r10 asm(
"r10"); \
rdi = arg1; \
rsi = arg2; \
rdx = arg3; \
r10 = arg4; \
asm
volatile(
"###> " #
name "(%2, %3, %4, %5) <###\n\t" \
"syscall" \
: "=a" (__res) \
: "memory", "rcx", "r11", "cc" \
); \
__sfsyscall_return(
type, __res); \
}
Definition at line 120 of file sfsyscall.h.
◆ _sfsyscall5
#define _sfsyscall5 |
( |
|
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) { \
long __res; \
register type1
rdi asm(
"rdi"); \
register type2
rsi asm(
"rsi"); \
register type3
rdx asm(
"rdx"); \
register type4
r10 asm(
"r10"); \
register type5
r8 asm(
"r8"); \
rdi = arg1; \
rsi = arg2; \
rdx = arg3; \
r10 = arg4; \
r8 = arg5; \
asm
volatile(
"###> " #
name "(%2, %3, %4, %5, %6) <###\n\t" \
"syscall" \
: "=a" (__res) \
: "memory", "rcx", "r11", "cc" \
); \
__sfsyscall_return(
type, __res); \
}
Definition at line 144 of file sfsyscall.h.
◆ _sfsyscall6
#define _sfsyscall6 |
( |
|
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) { \
long __res; \
register type1
rdi asm(
"rdi"); \
register type2
rsi asm(
"rsi"); \
register type3
rdx asm(
"rdx"); \
register type4
r10 asm(
"r10"); \
register type5
r8 asm(
"r8"); \
register type6
r9 asm(
"r9"); \
rdi = arg1; \
rsi = arg2; \
rdx = arg3; \
r10 = arg4; \
r8 = arg5; \
r9 = arg6; \
asm
volatile(
"###> " #
name "(%2, %3, %4, %5, %6, %7) <###\n\t" \
"syscall" \
: "=a" (__res) \
: "memory", "rcx", "r11", "cc" \
); \
__sfsyscall_return(
type, __res); \
}
Definition at line 172 of file sfsyscall.h.