Add AT_* constants from Linux 6.12

enh enh@google.com
Wed Apr 9 21:25:34 GMT 2025


(i'm never sure whether glibc cares, but note that those definitions
wouldn't be compatible with the <linux/fcntl.h> ones, were someone to
try to #include both...)

On Wed, Apr 9, 2025 at 3:52 PM Joseph Myers <josmyers@redhat.com> wrote:
>
> Linux 6.12 adds AT_RENAME_* aliases for RENAME_* flags for renameat2,
> and also AT_HANDLE_MNT_ID_UNIQUE.  Add the first set of aliases to
> stdio.h alongside the RENAME_* names, and AT_HANDLE_MNT_ID_UNIQUE to
> bits/fcntl-linux.h.
>
> Tested for x86_64.
>
> diff --git a/libio/stdio.h b/libio/stdio.h
> index 4436525731..d042b36618 100644
> --- a/libio/stdio.h
> +++ b/libio/stdio.h
> @@ -168,8 +168,11 @@ extern int renameat (int __oldfd, const char *__old, int __newfd,
>  #ifdef __USE_GNU
>  /* Flags for renameat2.  */
>  # define RENAME_NOREPLACE (1 << 0)
> +# define AT_RENAME_NOREPLACE RENAME_NOREPLACE
>  # define RENAME_EXCHANGE (1 << 1)
> +# define AT_RENAME_EXCHANGE RENAME_EXCHANGE
>  # define RENAME_WHITEOUT (1 << 2)
> +# define AT_RENAME_WHITEOUT RENAME_WHITEOUT
>
>  /* Rename file OLD relative to OLDFD to NEW relative to NEWFD, with
>     additional flags.  */
> diff --git a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
> index dfc554aafc..f425a4bf22 100644
> --- a/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
> +++ b/sysdeps/unix/sysv/linux/bits/fcntl-linux.h
> @@ -379,6 +379,8 @@ struct file_handle
>                                                 identity and may not
>                                                 be usable to
>                                                 open_by_handle_at.  */
> +# define AT_HANDLE_MNT_ID_UNIQUE 1 /* Return the 64-bit unique mount
> +                                     ID.  */
>  #endif
>
>  __BEGIN_DECLS
>
> --
> Joseph S. Myers
> josmyers@redhat.com
>


More information about the Libc-alpha mailing list