#include <errno.h> #include <unistd.h> long __syscall_ret(unsigned long r) { if (r > -4096UL) { errno = -r; return -1; } return r; }