slong_t[3] __unused;
}
}
+ else version (HPPA)
+ {
+ private
+ {
+ alias __dev_t = ulong;
+ alias __ino_t = c_ulong;
+ alias __ino64_t = ulong;
+ alias __mode_t = uint;
+ alias __nlink_t = size_t;
+ alias __uid_t = uint;
+ alias __gid_t = uint;
+ alias __off_t = c_long;
+ alias __off64_t = long;
+ alias __blksize_t = c_long;
+ alias __blkcnt_t = c_long;
+ alias __blkcnt64_t = long;
+ alias __timespec = timespec;
+ alias __time_t = time_t;
+ }
+ struct stat_t
+ {
+ __dev_t st_dev;
+ ushort __pad1;
+
+ static if (!__USE_FILE_OFFSET64)
+ {
+ __ino_t st_ino;
+ }
+ else
+ {
+ __ino_t __st_ino;
+ }
+ __mode_t st_mode;
+ __nlink_t st_nlink;
+ __uid_t st_uid;
+ __gid_t st_gid;
+ __dev_t st_rdev;
+ ushort __pad2;
+
+ static if (!__USE_FILE_OFFSET64)
+ {
+ __off_t st_size;
+ }
+ else
+ {
+ __off64_t st_size;
+ }
+ __blksize_t st_blksize;
+
+ static if (!__USE_FILE_OFFSET64)
+ {
+ __blkcnt_t st_blocks;
+ }
+ else
+ {
+ __blkcnt64_t st_blocks;
+ }
+
+ static if ( __USE_MISC || __USE_XOPEN2K8)
+ {
+ __timespec st_atim;
+ __timespec st_mtim;
+ __timespec st_ctim;
+ extern(D)
+ {
+ @property ref time_t st_atime() { return st_atim.tv_sec; }
+ @property ref time_t st_mtime() { return st_mtim.tv_sec; }
+ @property ref time_t st_ctime() { return st_ctim.tv_sec; }
+ }
+ }
+ else
+ {
+ __time_t st_atime;
+ c_ulong st_atimensec;
+ __time_t st_mtime;
+ c_ulong st_mtimensec;
+ __time_t st_ctime;
+ c_ulong st_ctimensec;
+ }
+
+ static if (!__USE_FILE_OFFSET64)
+ {
+ c_ulong __unused4;
+ c_ulong __unused5;
+ }
+ else
+ {
+ __ino64_t st_ino;
+ }
+ }
+ static if (__USE_FILE_OFFSET64)
+ static assert(stat_t.sizeof == 104);
+ else
+ static assert(stat_t.sizeof == 88);
+ }
else version (MIPS_O32)
{
struct stat_t
}
else version (RISCV_Any)
{
+ private
+ {
+ alias __dev_t = ulong;
+ alias __ino_t = c_ulong;
+ alias __ino64_t = ulong;
+ alias __mode_t = uint;
+ alias __nlink_t = uint;
+ alias __uid_t = uint;
+ alias __gid_t = uint;
+ alias __off_t = c_long;
+ alias __off64_t = long;
+ alias __blksize_t = int;
+ alias __blkcnt_t = c_long;
+ alias __blkcnt64_t = long;
+ alias __timespec = timespec;
+ alias __time_t = time_t;
+ }
struct stat_t
{
- dev_t st_dev;
- ino_t st_ino;
- mode_t st_mode;
- nlink_t st_nlink;
- uid_t st_uid;
- gid_t st_gid;
- dev_t st_rdev;
- dev_t __pad1;
- off_t st_size;
- blksize_t st_blksize;
- int __pad2;
- time_t st_atime;
- c_ulong st_atime_nsec;
- time_t st_mtime;
- c_ulong st_mtime_nsec;
- time_t st_ctime;
- c_ulong st_ctime_nsec;
- int[2] __reserved;
+ __dev_t st_dev;
+
+ static if (__USE_FILE_OFFSET64)
+ {
+ __ino64_t st_ino;
+ }
+ else
+ {
+ __ino_t st_ino;
+ }
+ __mode_t st_mode;
+ __nlink_t st_nlink;
+ __uid_t st_uid;
+ __gid_t st_gid;
+ __dev_t st_rdev;
+ __dev_t __pad1;
+
+ static if (__USE_FILE_OFFSET64)
+ {
+ __off64_t st_size;
+ }
+ else
+ {
+ __off_t st_size;
+ }
+ __blksize_t st_blksize;
+ int __pad2;
+
+ static if (__USE_FILE_OFFSET64)
+ {
+ __blkcnt64_t st_blocks;
+ }
+ else
+ {
+ __blkcnt_t st_blocks;
+ }
+
+ static if (__USE_MISC)
+ {
+ __timespec st_atim;
+ __timespec st_mtim;
+ __timespec st_ctim;
+ extern(D)
+ {
+ @property ref time_t st_atime() { return st_atim.tv_sec; }
+ @property ref time_t st_mtime() { return st_mtim.tv_sec; }
+ @property ref time_t st_ctime() { return st_ctim.tv_sec; }
+ }
+ }
+ else
+ {
+ __time_t st_atime;
+ c_ulong st_atimensec;
+ __time_t st_mtime;
+ c_ulong st_mtimensec;
+ __time_t st_ctime;
+ c_ulong st_ctimensec;
+ }
+ int[2] __unused;
}
}
else version (ARM)
}
int[2] __unused;
}
- static if (__USE_FILE_OFFSET64)
+ version (D_LP64)
static assert(stat_t.sizeof == 128);
else
- static assert(stat_t.sizeof == 128);
+ static assert(stat_t.sizeof == 104);
}
else version (SPARC64)
{
}
static assert(stat_t.sizeof == 144);
}
- else version (SystemZ)
+ else version (S390)
{
private
{
alias __gid_t = uint;
alias __off_t = c_long;
alias __off64_t = long;
- alias __blksize_t = int;
+ alias __blksize_t = c_long;
+ alias __blkcnt_t = c_long;
+ alias __blkcnt64_t = long;
+ alias __timespec = timespec;
+ alias __time_t = time_t;
+ }
+ struct stat_t
+ {
+ __dev_t st_dev;
+ uint __pad1;
+ static if (!__USE_FILE_OFFSET64)
+ __ino_t st_ino;
+ else
+ __ino_t __st_ino;
+ __mode_t st_mode;
+ __nlink_t st_nlink;
+ __uid_t st_uid;
+ __gid_t st_gid;
+ __dev_t st_rdev;
+ uint __pad2;
+ static if (!__USE_FILE_OFFSET64)
+ __off_t st_size;
+ else
+ __off64_t st_size;
+ __blksize_t st_blksize;
+ static if (!__USE_FILE_OFFSET64)
+ __blkcnt_t st_blocks;
+ else
+ __blkcnt64_t st_blocks;
+ static if (__USE_XOPEN2K8)
+ {
+ __timespec st_atim;
+ __timespec st_mtim;
+ __timespec st_ctim;
+ extern(D)
+ {
+ @property ref time_t st_atime() { return st_atim.tv_sec; }
+ @property ref time_t st_mtime() { return st_mtim.tv_sec; }
+ @property ref time_t st_ctime() { return st_ctim.tv_sec; }
+ }
+ }
+ else
+ {
+ __time_t st_atime;
+ c_ulong st_atimensec;
+ __time_t st_mtime;
+ c_ulong st_mtimensec;
+ __time_t st_ctime;
+ c_ulong st_ctimensec;
+ }
+ static if (!__USE_FILE_OFFSET64)
+ {
+ c_ulong __glibc_reserved4;
+ c_ulong __glibc_reserved5;
+ }
+ else
+ __ino64_t st_ino;
+ }
+ static if (__USE_FILE_OFFSET64)
+ static assert(stat_t.sizeof == 104);
+ else
+ static assert(stat_t.sizeof == 88);
+ }
+ else version (SystemZ)
+ {
+ private
+ {
+ alias __dev_t = ulong;
+ alias __ino_t = c_ulong;
+ alias __ino64_t = ulong;
+ alias __mode_t = uint;
+ alias __nlink_t = ulong;
+ alias __uid_t = uint;
+ alias __gid_t = uint;
+ alias __off_t = c_long;
+ alias __off64_t = long;
+ alias __blksize_t = c_long;
alias __blkcnt_t = c_long;
alias __blkcnt64_t = long;
alias __timespec = timespec;
}
blksize_t st_blksize;
blkcnt_t st_blocks;
- char[_ST_FSTYPSZ] st_fstype;
+ char[_ST_FSTYPSZ] st_fstype = 0;
}
static if (__USE_LARGEFILE64) alias stat_t stat64_t;
}
blksize_t st_blksize;
blkcnt_t st_blocks;
- char[_ST_FSTYPSZ] st_fstype;
+ char[_ST_FSTYPSZ] st_fstype = 0;
c_long[8] st_pad4;
}
}
blksize_t st_blksize;
blkcnt64_t st_blocks;
- char[_ST_FSTYPSZ] st_fstype;
+ char[_ST_FSTYPSZ] st_fstype = 0;
c_long[8] st_pad4;
}
uint __unused5;
}
}
+ else version (X86_64)
+ {
+ struct stat_t
+ {
+ ulong st_dev;
+ ulong st_ino;
+ ulong st_nlink;
+ uint st_mode;
+ uid_t st_uid;
+ gid_t st_gid;
+ uint __pad0;
+
+ ulong st_rdev;
+ long st_size;
+ long st_blksize;
+ long st_blocks;
+ long st_atime;
+ ulong st_atime_nsec;
+ long st_mtime;
+ ulong st_mtime_nsec;
+ long st_ctime;
+ ulong st_ctime_nsec;
+ long[3] __pad3;
+ }
+ }
else
{
static assert(false, "Architecture not supported.");
timespec st_atim;
timespec st_mtim;
timespec st_ctim;
- extern(D) @safe @property
+ extern(D) @safe @property inout pure nothrow
{
- ref time_t st_atime() return { return st_atim.tv_sec; }
- ref time_t st_mtime() return { return st_mtim.tv_sec; }
- ref time_t st_ctime() return { return st_ctim.tv_sec; }
+ ref inout(time_t) st_atime() return { return st_atim.tv_sec; }
+ ref inout(time_t) st_mtime() return { return st_mtim.tv_sec; }
+ ref inout(time_t) st_ctime() return { return st_ctim.tv_sec; }
}
long[3] __unused;
}