Blame io/bits/statx.h

Packit Service 1c5418
/* statx-related definitions and declarations.
Packit Service 1c5418
   Copyright (C) 2018 Free Software Foundation, Inc.
Packit Service 82fcde
   This file is part of the GNU C Library.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is free software; you can redistribute it and/or
Packit Service 82fcde
   modify it under the terms of the GNU Lesser General Public
Packit Service 82fcde
   License as published by the Free Software Foundation; either
Packit Service 82fcde
   version 2.1 of the License, or (at your option) any later version.
Packit Service 82fcde
Packit Service 82fcde
   The GNU C Library is distributed in the hope that it will be useful,
Packit Service 82fcde
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 82fcde
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service 82fcde
   Lesser General Public License for more details.
Packit Service 82fcde
Packit Service 82fcde
   You should have received a copy of the GNU Lesser General Public
Packit Service 82fcde
   License along with the GNU C Library; if not, see
Packit Service 82fcde
   <http://www.gnu.org/licenses/>.  */
Packit Service 82fcde
Packit Service 82fcde
/* This interface is based on <linux/stat.h> in Linux.  */
Packit Service 82fcde
Packit Service 82fcde
#ifndef _SYS_STAT_H
Packit Service 1c5418
# error Never include <bits/stat.x.h> directly, include <sys/stat.h> instead.
Packit Service 82fcde
#endif
Packit Service 82fcde
Packit Service 1c5418
struct statx_timestamp
Packit Service 1c5418
{
Packit Service 1c5418
  __int64_t tv_sec;
Packit Service 1c5418
  __uint32_t tv_nsec;
Packit Service 1c5418
  __int32_t __statx_timestamp_pad1[1];
Packit Service 1c5418
};
Packit Service 1c5418
Packit Service 1c5418
/* Warning: The kernel may add additional fields to this struct in the
Packit Service 1c5418
   future.  Only use this struct for calling the statx function, not
Packit Service 1c5418
   for storing data.  (Expansion will be controlled by the mask
Packit Service 1c5418
   argument of the statx function.)  */
Packit Service 1c5418
struct statx
Packit Service 1c5418
{
Packit Service 1c5418
  __uint32_t stx_mask;
Packit Service 1c5418
  __uint32_t stx_blksize;
Packit Service 1c5418
  __uint64_t stx_attributes;
Packit Service 1c5418
  __uint32_t stx_nlink;
Packit Service 1c5418
  __uint32_t stx_uid;
Packit Service 1c5418
  __uint32_t stx_gid;
Packit Service 1c5418
  __uint16_t stx_mode;
Packit Service 1c5418
  __uint16_t __statx_pad1[1];
Packit Service 1c5418
  __uint64_t stx_ino;
Packit Service 1c5418
  __uint64_t stx_size;
Packit Service 1c5418
  __uint64_t stx_blocks;
Packit Service 1c5418
  __uint64_t stx_attributes_mask;
Packit Service 1c5418
  struct statx_timestamp stx_atime;
Packit Service 1c5418
  struct statx_timestamp stx_btime;
Packit Service 1c5418
  struct statx_timestamp stx_ctime;
Packit Service 1c5418
  struct statx_timestamp stx_mtime;
Packit Service 1c5418
  __uint32_t stx_rdev_major;
Packit Service 1c5418
  __uint32_t stx_rdev_minor;
Packit Service 1c5418
  __uint32_t stx_dev_major;
Packit Service 1c5418
  __uint32_t stx_dev_minor;
Packit Service 1c5418
  __uint64_t __statx_pad2[14];
Packit Service 1c5418
};
Packit Service 1c5418
Packit Service 1c5418
#define STATX_TYPE 0x0001U
Packit Service 1c5418
#define STATX_MODE 0x0002U
Packit Service 1c5418
#define STATX_NLINK 0x0004U
Packit Service 1c5418
#define STATX_UID 0x0008U
Packit Service 1c5418
#define STATX_GID 0x0010U
Packit Service 1c5418
#define STATX_ATIME 0x0020U
Packit Service 1c5418
#define STATX_MTIME 0x0040U
Packit Service 1c5418
#define STATX_CTIME 0x0080U
Packit Service 1c5418
#define STATX_INO 0x0100U
Packit Service 1c5418
#define STATX_SIZE 0x0200U
Packit Service 1c5418
#define STATX_BLOCKS 0x0400U
Packit Service 1c5418
#define STATX_BASIC_STATS 0x07ffU
Packit Service 1c5418
#define STATX_ALL 0x0fffU
Packit Service 1c5418
#define STATX_BTIME 0x0800U
Packit Service 1c5418
#define STATX__RESERVED 0x80000000U
Packit Service 1c5418
Packit Service 1c5418
#define STATX_ATTR_COMPRESSED 0x0004
Packit Service 1c5418
#define STATX_ATTR_IMMUTABLE 0x0010
Packit Service 1c5418
#define STATX_ATTR_APPEND 0x0020
Packit Service 1c5418
#define STATX_ATTR_NODUMP 0x0040
Packit Service 1c5418
#define STATX_ATTR_ENCRYPTED 0x0800
Packit Service 1c5418
#define STATX_ATTR_AUTOMOUNT 0x1000
Packit Service 1c5418
Packit Service 1c5418
__BEGIN_DECLS
Packit Service 1c5418
Packit Service 1c5418
/* Fill *BUF with information about PATH in DIRFD.  */
Packit Service 1c5418
int statx (int __dirfd, const char *__restrict __path, int __flags,
Packit Service 1c5418
           unsigned int __mask, struct statx *__restrict __buf)
Packit Service 1c5418
  __THROW __nonnull ((2, 5));
Packit Service 1c5418
Packit Service 1c5418
__END_DECLS