* Improvements
* Enhanced decoding of clone syscall.
- * Updated lists of AUDIT_*, CLONE_*, ETH_*, KEY_*, KVM_*, TIPC_*,
+ * Updated lists of AT_*, AUDIT_*, CLONE_*, ETH_*, KEY_*, KVM_*, TIPC_*,
and V4L2_* constants.
Noteworthy changes in release 5.1 (2019-05-22)
printf("linkat(%s, \"%s\", %s, \"%s\", %s) = %ld %s (%m)\n",
"AT_FDCWD", sample_1, "AT_FDCWD", sample_2,
"AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
- "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|0xffffe0ff",
+ "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
rc, errno2name());
puts("+++ exited with 0 +++");
printf("unlinkat(%s, \"%s\", %s) = %ld %s (%m)\n",
"AT_FDCWD", sample,
"AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
- "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|0xffffe0ff",
+ "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff",
rc, errno2name());
puts("+++ exited with 0 +++");
"0x600 /* AT_REMOVEDIR|AT_SYMLINK_FOLLOW */"
# define str_flags2 \
"0xffffffff /* AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW" \
- "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|0xffffe0ff */"
+ "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff */"
# define str_utime_now_omit \
"[{tv_sec=" big_tv_sec ", tv_nsec=1073741823} /* UTIME_NOW */, " \
"{tv_sec=" huge_tv_sec ", tv_nsec=1073741822} /* UTIME_OMIT */]"
# define str_flags1 "AT_REMOVEDIR|AT_SYMLINK_FOLLOW"
# define str_flags2 \
"AT_SYMLINK_NOFOLLOW|AT_REMOVEDIR|AT_SYMLINK_FOLLOW" \
- "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|0xffffe0ff"
+ "|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|AT_RECURSIVE|0xffff60ff"
# define str_utime_now_omit "[UTIME_NOW, UTIME_OMIT]"
# endif
SET_FLAGS_INVOKE(0xffffff,
"AT_STATX_FORCE_SYNC|AT_STATX_DONT_SYNC|AT_SYMLINK_NOFOLLOW|"
"AT_REMOVEDIR|AT_SYMLINK_FOLLOW|AT_NO_AUTOMOUNT|AT_EMPTY_PATH|"
- "0xff80ff");
+ "AT_RECURSIVE|0xff00ff");
/* We're done playing with flags. */
TEST_SYSCALL_STATX_FLAGS = old_flags;
AT_SYMLINK_FOLLOW 0x400
AT_NO_AUTOMOUNT 0x800
AT_EMPTY_PATH 0x1000
+AT_RECURSIVE 0x8000