summaryrefslogtreecommitdiffstats
path: root/tests/helpers/test_cap.c
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 19:33:30 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 19:33:30 +0000
commitc61e14d3a8412cd50d98aab604e607692c844c8a (patch)
tree4925aca0e6b64c8664ea2f3fdfa99a52dc93d5da /tests/helpers/test_cap.c
parentAdding upstream version 2.39.3. (diff)
downloadutil-linux-c61e14d3a8412cd50d98aab604e607692c844c8a.tar.xz
util-linux-c61e14d3a8412cd50d98aab604e607692c844c8a.zip
Adding upstream version 2.40.upstream/2.40
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/helpers/test_cap.c')
-rw-r--r--tests/helpers/test_cap.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/helpers/test_cap.c b/tests/helpers/test_cap.c
new file mode 100644
index 0000000..658e86a
--- /dev/null
+++ b/tests/helpers/test_cap.c
@@ -0,0 +1,33 @@
+/*
+ * SPDX-License-Identifier: MIT
+ *
+ * Copyright (C) 2023 Thomas Weißschuh <thomas@t-8ch.de>
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+
+#include <cap-ng.h>
+
+int main(int argc, char **argv)
+{
+ int cap, r;
+
+ if (argc != 2)
+ return EXIT_FAILURE;
+
+ cap = capng_name_to_capability(argv[1]);
+ if (cap < 0) {
+ fprintf(stderr, "capng_name_to_capability(%s) failed\n", argv[1]);
+ return EXIT_FAILURE;
+ }
+
+ r = capng_get_caps_process();
+ if (r) {
+ fprintf(stderr, "capng_get_caps_process() failed\n");
+ return EXIT_FAILURE;
+ }
+
+ r = capng_have_capability(CAPNG_EFFECTIVE, cap);
+ return r ? EXIT_SUCCESS : EXIT_FAILURE;
+}