summaryrefslogtreecommitdiffhomepage
path: root/auto/files
diff options
context:
space:
mode:
Diffstat (limited to 'auto/files')
-rw-r--r--auto/files32
1 files changed, 32 insertions, 0 deletions
diff --git a/auto/files b/auto/files
index d99e93d7..591c5ee1 100644
--- a/auto/files
+++ b/auto/files
@@ -49,3 +49,35 @@ nxt_feature_test="#include <fcntl.h>
return 0;
}"
. auto/feature
+
+
+nxt_feature="openat2()"
+nxt_feature_name=NXT_HAVE_OPENAT2
+nxt_feature_run=
+nxt_feature_incs=
+nxt_feature_libs=
+nxt_feature_test="#include <fcntl.h>
+ #include <unistd.h>
+ #include <sys/syscall.h>
+ #include <linux/openat2.h>
+ #include <string.h>
+
+ int main() {
+ struct open_how how;
+
+ memset(&how, 0, sizeof(how));
+
+ how.flags = O_RDONLY;
+ how.mode = O_NONBLOCK;
+ how.resolve = RESOLVE_IN_ROOT
+ | RESOLVE_NO_SYMLINKS
+ | RESOLVE_NO_XDEV;
+
+ int fd = syscall(SYS_openat2, AT_FDCWD, \".\",
+ &how, sizeof(how));
+ if (fd == -1)
+ return 1;
+
+ return 0;
+ }"
+. auto/feature