diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-07-17 09:18:39 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2020-10-09 17:02:06 -0300 |
commit | d8927238307b9df32319a34755ac36f6e92a0b7d (patch) | |
tree | 8b204b5b869bd345d29e8c7abcfe6922a4247213 /sysdeps/unix/sysv/linux/generic | |
parent | 589260cef8c2090d67d3deaa0a9ffa61c96de951 (diff) | |
download | glibc-d8927238307b9df32319a34755ac36f6e92a0b7d.tar.gz glibc-d8927238307b9df32319a34755ac36f6e92a0b7d.tar.xz glibc-d8927238307b9df32319a34755ac36f6e92a0b7d.zip |
linux: Move the struct stat{64} to struct_stat.h
The common definitions are moved to a Linux generic stat.h while the struct stat{64} definition are moved to a arch-specific struct_stat.h header. Checked with a build for all affected ABIs. I also checked on x86_64, i686, powerpc, powerpc64le, sparcv9, sparc64, s390, and s390x. Reviewed-by: Lukasz Majewski <lukma@denx.de>
Diffstat (limited to 'sysdeps/unix/sysv/linux/generic')
-rw-r--r-- | sysdeps/unix/sysv/linux/generic/bits/struct_stat.h (renamed from sysdeps/unix/sysv/linux/generic/bits/stat.h) | 45 |
1 files changed, 6 insertions, 39 deletions
diff --git a/sysdeps/unix/sysv/linux/generic/bits/stat.h b/sysdeps/unix/sysv/linux/generic/bits/struct_stat.h index 1b586d72fa..5049956030 100644 --- a/sysdeps/unix/sysv/linux/generic/bits/stat.h +++ b/sysdeps/unix/sysv/linux/generic/bits/struct_stat.h @@ -1,6 +1,6 @@ -/* Copyright (C) 2011-2020 Free Software Foundation, Inc. +/* Definition for struct stat. + Copyright (C) 2020 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Chris Metcalf <cmetcalf@tilera.com>, 2011. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -17,11 +17,11 @@ <https://www.gnu.org/licenses/>. */ #if !defined _SYS_STAT_H && !defined _FCNTL_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." +# error "Never include <bits/struct_stat.h> directly; use <sys/stat.h> instead." #endif -#ifndef _BITS_STAT_H -#define _BITS_STAT_H 1 +#ifndef _BITS_STRUCT_STAT_H +#define _BITS_STRUCT_STAT_H 1 #include <bits/endian.h> #include <bits/wordsize.h> @@ -124,37 +124,4 @@ struct stat64 /* Nanosecond resolution time values are supported. */ #define _STATBUF_ST_NSEC -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. Note that these macros always evaluate to zero. But - they do it by enforcing the correct use of the macros. */ -#define __S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode) -#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode) -#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ - -#ifdef __USE_ATFILE -# define UTIME_NOW ((1l << 30) - 1l) -# define UTIME_OMIT ((1l << 30) - 2l) -#endif - -#endif /* bits/stat.h */ +#endif /* _BITS_STRUCT_STAT_H */ |