cap_fcntls_limit
if (cap_fcntls_limit(fd, fcntlrights) < 0 && errno != ENOSYS)
if (cap_fcntls_limit(fd, caph_stream_fcntls) < 0 && errno != ENOSYS)
int cap_fcntls_limit(int fd, uint32_t fcntlrights);
EXPECT_OK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL));
EXPECT_NOTCAPABLE(cap_fcntls_limit(fd, CAP_FCNTL_GETFL|CAP_FCNTL_SETFL));
EXPECT_OK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL));
EXPECT_EQ(-1, cap_fcntls_limit(fd, CAP_FCNTL_GETFL));
EXPECT_OK(cap_fcntls_limit(fd, CAP_FCNTL_ALL));
EXPECT_OK(cap_fcntls_limit(fd_get, CAP_FCNTL_GETFL));
EXPECT_OK(cap_fcntls_limit(fd_set, CAP_FCNTL_SETFL));
EXPECT_OK(cap_fcntls_limit(fd, 0));
EXPECT_OK(cap_fcntls_limit(sock, CAP_FCNTL_ALL));
EXPECT_OK(cap_fcntls_limit(sock_get, CAP_FCNTL_GETOWN));
EXPECT_OK(cap_fcntls_limit(sock_set, CAP_FCNTL_SETOWN));
EXPECT_NOTCAPABLE(cap_fcntls_limit(sock_get, CAP_FCNTL_GETOWN|CAP_FCNTL_SETOWN));
EXPECT_NOTCAPABLE(cap_fcntls_limit(sock_set, CAP_FCNTL_GETOWN|CAP_FCNTL_SETOWN));
EXPECT_OK(cap_fcntls_limit(sock, 0));
EXPECT_OK(cap_fcntls_limit(etc_cap_base, CAP_FCNTL_GETFL));
CHECK(cap_fcntls_limit(fd, 0) == 0);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL | CAP_FCNTL_SETFL) == -1);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL) == -1);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL) == 0);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL | CAP_FCNTL_SETFL) == -1);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL) == -1);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL | CAP_FCNTL_SETFL) == -1);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL) == -1);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL | CAP_FCNTL_SETFL) == 0);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL) == 0);
CHECK(cap_fcntls_limit(fd, 0) == 0);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL | CAP_FCNTL_SETFL) == 0);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL | CAP_FCNTL_SETFL) == -1);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL) == 0);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL | CAP_FCNTL_SETFL) == -1);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL) == -1);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_SETFL) == -1);
CHECK(cap_fcntls_limit(fd, ~CAP_FCNTL_ALL) == -1);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL | CAP_FCNTL_SETFL) == 0);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL | CAP_FCNTL_SETFL) == 0);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL) == 0);
CHECK(cap_fcntls_limit(fd, CAP_FCNTL_GETFL | CAP_FCNTL_SETFL) == -1);