cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

stat.h (2966B)


      1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2/*
      3 *  S390 version
      4 *
      5 *  Derived from "include/asm-i386/stat.h"
      6 */
      7
      8#ifndef _S390_STAT_H
      9#define _S390_STAT_H
     10
     11#ifndef __s390x__
     12struct __old_kernel_stat {
     13        unsigned short st_dev;
     14        unsigned short st_ino;
     15        unsigned short st_mode;
     16        unsigned short st_nlink;
     17        unsigned short st_uid;
     18        unsigned short st_gid;
     19        unsigned short st_rdev;
     20        unsigned long  st_size;
     21        unsigned long  st_atime;
     22        unsigned long  st_mtime;
     23        unsigned long  st_ctime;
     24};
     25
     26struct stat {
     27        unsigned short st_dev;
     28        unsigned short __pad1;
     29        unsigned long  st_ino;
     30        unsigned short st_mode;
     31        unsigned short st_nlink;
     32        unsigned short st_uid;
     33        unsigned short st_gid;
     34        unsigned short st_rdev;
     35        unsigned short __pad2;
     36        unsigned long  st_size;
     37        unsigned long  st_blksize;
     38        unsigned long  st_blocks;
     39        unsigned long  st_atime;
     40        unsigned long  st_atime_nsec;
     41        unsigned long  st_mtime;
     42        unsigned long  st_mtime_nsec;
     43        unsigned long  st_ctime;
     44        unsigned long  st_ctime_nsec;
     45        unsigned long  __unused4;
     46        unsigned long  __unused5;
     47};
     48
     49/* This matches struct stat64 in glibc2.1, hence the absolutely
     50 * insane amounts of padding around dev_t's.
     51 */
     52struct stat64 {
     53        unsigned long long	st_dev;
     54        unsigned int    __pad1;
     55#define STAT64_HAS_BROKEN_ST_INO        1
     56        unsigned long   __st_ino;
     57        unsigned int    st_mode;
     58        unsigned int    st_nlink;
     59        unsigned long   st_uid;
     60        unsigned long   st_gid;
     61        unsigned long long	st_rdev;
     62        unsigned int    __pad3;
     63        long long	st_size;
     64        unsigned long   st_blksize;
     65        unsigned char   __pad4[4];
     66        unsigned long   __pad5;     /* future possible st_blocks high bits */
     67        unsigned long   st_blocks;  /* Number 512-byte blocks allocated. */
     68        unsigned long   st_atime;
     69        unsigned long   st_atime_nsec;
     70        unsigned long   st_mtime;
     71        unsigned long   st_mtime_nsec;
     72        unsigned long   st_ctime;
     73        unsigned long   st_ctime_nsec;  /* will be high 32 bits of ctime someday */
     74        unsigned long long	st_ino;
     75};
     76
     77#else /* __s390x__ */
     78
     79struct stat {
     80        unsigned long  st_dev;
     81        unsigned long  st_ino;
     82        unsigned long  st_nlink;
     83        unsigned int   st_mode;
     84        unsigned int   st_uid;
     85        unsigned int   st_gid;
     86        unsigned int   __pad1;
     87        unsigned long  st_rdev;
     88        unsigned long  st_size;
     89        unsigned long  st_atime;
     90	unsigned long  st_atime_nsec;
     91        unsigned long  st_mtime;
     92	unsigned long  st_mtime_nsec;
     93        unsigned long  st_ctime;
     94	unsigned long  st_ctime_nsec;
     95        unsigned long  st_blksize;
     96        long           st_blocks;
     97        unsigned long  __unused[3];
     98};
     99
    100#endif /* __s390x__ */
    101
    102#define STAT_HAVE_NSEC 1
    103
    104#endif