30 #ifndef XROOTD_XRDSYSSTATX_HH
31 #define XROOTD_XRDSYSSTATX_HH
38 #if defined(__linux__) || defined(__GNU__)
39 #include <sys/sysmacros.h>
48 #define STATX_BASIC_STATS 0x0000003f
49 #define STATX_ALL 0x0000013f
50 #define STATX_BTIME 0x00000100
94 return buf.
statx.st_size;
100 sta_T.tv_sec = stx_T.tv_sec;
101 sta_T.tv_nsec = stx_T.tv_nsec;
105 stx_T.tv_sec = sta_T.tv_sec;
106 stx_T.tv_nsec = sta_T.tv_nsec;
111 memset(&stx, 0,
sizeof(stx));
113 stx.stx_blksize = st.st_blksize;
114 stx.stx_nlink = st.st_nlink;
115 stx.stx_uid = st.st_uid;
116 stx.stx_gid = st.st_gid;
117 stx.stx_mode = st.st_mode;
118 stx.stx_ino = st.st_ino;
119 stx.stx_size = st.st_size;
120 stx.stx_blocks = st.st_blocks;
124 stx.stx_dev_major = major(st.st_dev);
125 stx.stx_dev_minor = minor(st.st_dev);
126 stx.stx_rdev_major = major(st.st_rdev);
127 stx.stx_rdev_minor = minor(st.st_rdev);
137 memset(&st, 0,
sizeof(st));
146 st.st_nlink = stx.stx_nlink;
148 st.st_uid = stx.stx_uid;
150 st.st_gid = stx.stx_gid;
152 st.st_mode = stx.stx_mode;
154 st.st_ino = stx.stx_ino;
156 st.st_size = stx.stx_size;
158 st.st_blocks = stx.stx_blocks;
167 st.st_dev = makedev(stx.stx_dev_major, stx.stx_dev_minor);
168 st.st_rdev = makedev(stx.stx_rdev_major, stx.stx_rdev_minor);
169 st.st_blksize = stx.stx_blksize;
#define statx(d, p, f, m, b)
struct timespec statx_timestamp
#define STATX_BASIC_STATS
static void Statx2Stat(const XrdSysStatx &statx, struct stat &stat)
static void Stat2Statx(const struct stat &stat, XrdSysStatx &statx)
static size_t GetSize(const XrdSysStatx &buf)
static void StatxT2StatT(const statx_timestamp &stx_T, struct timespec &sta_T)
static void StatT2StatxT(const struct timespec &sta_T, statx_timestamp &stx_T)