summaryrefslogtreecommitdiff
path: root/src/nonstd/SYSCALL.c
blob: 4c04ab1b8c4e91c9afa10692222a26b832fbeab1 (plain)
1
2
3
4
5
6
7
8
9
10
11
#include <nonstd/syscall.h>

#define SYSCALL(_name, _type, ...)
	static int _scno = -2; \
	if (_scno == -2) { _scno = ((syscall_lookup_t)__libc(SYSCALL_LOOKUP))(_name); } \
	_type _ret = __syscall(_scno, __VA_ARGS__); \
	if (_ret < 0) { \
		errno = -_ret; \
		return -1; \
	} \
	return _ret