summaryrefslogtreecommitdiff
path: root/src/nonstd/SYSCALL0.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nonstd/SYSCALL0.c')
-rw-r--r--src/nonstd/SYSCALL0.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/nonstd/SYSCALL0.c b/src/nonstd/SYSCALL0.c
new file mode 100644
index 00000000..c52a944d
--- /dev/null
+++ b/src/nonstd/SYSCALL0.c
@@ -0,0 +1,11 @@
+#include <nonstd/syscall.h>
+
+#define SYSCALL0(_name, _type)
+ static int _scno = -2; \
+ if (_scno == -2) { _scno = ((sycall_lookup_t)__libc(LOOKUP))(_name); } \
+ _type _ret = __syscall(_scno); \
+ if (_ret < 0) { \
+ errno = -_ret; \
+ return -1; \
+ } \
+ return _ret