CHECK_RESULT
CHECK_RESULT(read, CAP_READ, ssize >= 0);
CHECK_RESULT(write, CAP_WRITE, ssize >= 0);
CHECK_RESULT(lseek, CAP_SEEK, off >= 0);
CHECK_RESULT(pread, CAP_PREAD, ssize >= 0);
CHECK_RESULT(pwrite, CAP_PWRITE, ssize >= 0);
CHECK_RESULT(openat(O_CREATE | O_RDONLY),
CHECK_RESULT(openat(O_CREATE | O_WRONLY | O_APPEND),
CHECK_RESULT(openat(O_CREATE | O_RDWR | O_APPEND),
CHECK_RESULT(fsync, CAP_FSYNC, ret == 0);
CHECK_RESULT(openat(O_FSYNC | O_RDONLY),
CHECK_RESULT(openat(O_FSYNC | O_WRONLY | O_APPEND),
CHECK_RESULT(openat(O_FSYNC | O_RDWR | O_APPEND),
CHECK_RESULT(openat(O_SYNC | O_RDONLY),
CHECK_RESULT(openat(O_SYNC | O_WRONLY | O_APPEND),
CHECK_RESULT(openat(O_SYNC | O_RDWR | O_APPEND),
CHECK_RESULT(ftruncate, CAP_FTRUNCATE, ret == 0);
CHECK_RESULT(openat(O_TRUNC | O_RDONLY),
CHECK_RESULT(openat(O_TRUNC | O_WRONLY),
CHECK_RESULT(openat(O_TRUNC | O_RDWR),
CHECK_RESULT(openat(O_CREATE | O_WRONLY),
CHECK_RESULT(openat(O_CREATE | O_RDWR),
CHECK_RESULT(openat(O_FSYNC | O_WRONLY),
CHECK_RESULT(openat(O_FSYNC | O_RDWR),
CHECK_RESULT(openat(O_SYNC | O_WRONLY),
CHECK_RESULT(openat(O_SYNC | O_RDWR),
CHECK_RESULT(fchflags, CAP_FCHFLAGS,
CHECK_RESULT(chflagsat, CAP_CHFLAGSAT | CAP_LOOKUP, ret == 0);
CHECK_RESULT(fchown, CAP_FCHOWN, ret == 0);
CHECK_RESULT(fchownat, CAP_FCHOWN | CAP_LOOKUP, ret == 0);
CHECK_RESULT(fchmod, CAP_FCHMOD, ret == 0);
CHECK_RESULT(fchmodat, CAP_FCHMOD | CAP_LOOKUP, ret == 0);
CHECK_RESULT(fcntl(F_GETFL), CAP_FCNTL, ret >= 0);
CHECK_RESULT(fcntl(F_SETFL), CAP_FCNTL, ret == 0);
CHECK_RESULT(fstat, CAP_FSTAT, ret == 0);
CHECK_RESULT(fstatat, CAP_FSTAT | CAP_LOOKUP, ret == 0);
CHECK_RESULT(fstatfs, CAP_FSTATFS, ret == 0);
CHECK_RESULT(fpathconf, CAP_FPATHCONF, ret >= 0);
CHECK_RESULT(futimes, CAP_FUTIMES, ret == 0);
CHECK_RESULT(futimesat, CAP_FUTIMES | CAP_LOOKUP, ret == 0);
CHECK_RESULT(linkat, CAP_LINKAT | CAP_LOOKUP, ret == 0);
CHECK_RESULT(mkdirat, CAP_MKDIRAT | CAP_LOOKUP, ret == 0);
CHECK_RESULT(mkfifoat, CAP_MKFIFOAT | CAP_LOOKUP, ret == 0);
CHECK_RESULT(mknodat, CAP_MKNODAT | CAP_LOOKUP, ret == 0);
CHECK_RESULT(symlinkat, CAP_SYMLINKAT | CAP_LOOKUP, ret == 0);
CHECK_RESULT(unlinkat, CAP_UNLINKAT | CAP_LOOKUP, ret == 0);
CHECK_RESULT(unlinkat, CAP_UNLINKAT | CAP_LOOKUP, ret == 0);