return -1 if syscall not available