[PATCH v4 09/13] LoongArch: Linux ABI
Arnd Bergmann
arnd@arndb.de
Wed May 11 07:08:34 GMT 2022
On Mon, May 9, 2022 at 4:26 AM caiyinyu <caiyinyu@loongson.cn> wrote:
> +
> +#include <bits/wordsize.h>
> +
> +/* In 64-bit ISA files are always with 64bit off_t and F_*LK64 are the same as
> + non-64-bit versions. It will need to be revised for 128-bit. */
> +#if __WORDSIZE == 64
> +#define __O_LARGEFILE 0
> +
> +#define F_GETLK64 5 /* Get record locking info. */
> +#define F_SETLK64 6 /* Set record locking info (non-blocking). */
> +#define F_SETLKW64 7 /* Set record locking info (blocking). */
> +#endif
> +
> +struct flock
> +{
> + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
> + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
> +#ifndef __USE_FILE_OFFSET64
> + __off_t l_start; /* Offset where the lock begins. */
> + __off_t l_len; /* Size of the locked area; zero means until EOF. */
> +#else
> + __off64_t l_start; /* Offset where the lock begins. */
> + __off64_t l_len; /* Size of the locked area; zero means until EOF. */
> +#endif
> + __pid_t l_pid; /* Process holding the lock. */
> +};
> +
> +#ifdef __USE_LARGEFILE64
> +struct flock64
> +{
> + short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
> + short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
> + __off64_t l_start; /* Offset where the lock begins. */
> + __off64_t l_len; /* Size of the locked area; zero means until EOF. */
> + __pid_t l_pid; /* Process holding the lock. */
> +};
> +#endif
Not sure why these are provided here, the kernel has no loongarch64 specific
interface for flock in the current version, so either this refers to
an older version
of the kernel port, or it is something that could be generalized into an
architecture-independent file in glibc.
Arnd
More information about the Libc-alpha
mailing list