mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-12 12:10:16 +00:00
0b1c222cd0
It indicates that the glibc export stat64 is similar in size and layout of the kernel stat64 used on the syscall. It is not currently used on stat implementation, but the idea is to indicate whether to use the kernel_stat to issue on the syscall on the *stat*64 variant (more specifically on mips which its exported ABI does not match the kernel). Reviewed-by: Lukasz Majewski <lukma@denx.de>
55 lines
2.2 KiB
C
55 lines
2.2 KiB
C
/* Definition of `struct stat' used in the kernel
|
|
Copyright (C) 2013-2020 Free Software Foundation, Inc.
|
|
|
|
This file is part of the GNU C Library.
|
|
|
|
The GNU C Library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Lesser General Public License as
|
|
published by the Free Software Foundation; either version 2.1 of the
|
|
License, or (at your option) any later version.
|
|
|
|
The GNU C Library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Lesser General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Lesser General Public
|
|
License along with the GNU C Library; if not, see
|
|
<https://www.gnu.org/licenses/>. */
|
|
|
|
struct kernel_stat
|
|
{
|
|
unsigned long st_dev; /* Device. */
|
|
unsigned long st_ino; /* File serial number. */
|
|
unsigned int st_mode; /* File mode. */
|
|
unsigned int st_nlink; /* Link count. */
|
|
unsigned int st_uid; /* User ID of the file's owner. */
|
|
unsigned int st_gid; /* Group ID of the file's group. */
|
|
unsigned long st_rdev; /* Device number, if device. */
|
|
unsigned long __pad2;
|
|
#define _HAVE_STAT___PAD2
|
|
#define _HAVE_STAT64___PAD2
|
|
long st_size; /* Size of file, in bytes. */
|
|
int st_blksize; /* Optimal block size for I/O. */
|
|
int __pad3;
|
|
#define _HAVE_STAT___PAD3
|
|
#define _HAVE_STAT64___PAD3
|
|
long st_blocks; /* Number 512-byte blocks allocated. */
|
|
struct timespec st_atim;
|
|
struct timespec st_mtim;
|
|
struct timespec st_ctim;
|
|
#define _HAVE_STAT_NSEC
|
|
#define _HAVE_STAT64_NSEC
|
|
unsigned int __glibc_reserved4;
|
|
#define _HAVE_STAT___UNUSED4
|
|
#define _HAVE_STAT64___UNUSED4
|
|
unsigned int __glibc_reserved5;
|
|
#define _HAVE_STAT___UNUSED5
|
|
#define _HAVE_STAT64___UNUSED5
|
|
};
|
|
|
|
#define STAT_IS_KERNEL_STAT 0
|
|
#define STAT64_IS_KERNEL_STAT64 1
|
|
#define XSTAT_IS_XSTAT64 0
|
|
#define STATFS_IS_STATFS64 0
|