mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
Hurd: struct timespec members in struct stat
This commit is contained in:
parent
10589b4adb
commit
8e41b99fe1
10
ChangeLog
10
ChangeLog
@ -1,5 +1,15 @@
|
||||
2012-05-10 Thomas Schwinge <thomas@schwinge.name>
|
||||
|
||||
* sysdeps/mach/hurd/bits/stat.h (struct stat): Align to what is done
|
||||
for Linux: use nsec instead of usec, as well as:
|
||||
[__USE_MISC || __USE_XOPEN2K8] (st_atim, st_mtim, st_ctim): New
|
||||
members of type struct timespec.
|
||||
[__USE_MISC || __USE_XOPEN2K8] (st_atime, st_mtime, st_ctime):
|
||||
New macros.
|
||||
(struct stat64): Likewise.
|
||||
(_STATBUF_ST_NSEC): New macro.
|
||||
* sysdeps/mach/hurd/xstatconv.c (xstat64_conv): Adapt to that.
|
||||
|
||||
* hurd/lookup-retry.c (__hurd_file_name_lookup_retry): Use
|
||||
__strtoul_internal rather than strtoul.
|
||||
|
||||
|
@ -1,5 +1,4 @@
|
||||
/* Copyright (C) 1992-1994,1996,1997,1999,2000,2005,2010
|
||||
Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1992-2012 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
|
||||
@ -58,12 +57,27 @@ struct stat
|
||||
__off64_t st_size; /* Size in bytes. */
|
||||
#endif
|
||||
|
||||
__time_t st_atime; /* Access time, seconds */
|
||||
unsigned long int st_atime_usec; /* and microseconds. */
|
||||
__time_t st_mtime; /* Modification time, seconds */
|
||||
unsigned long int st_mtime_usec; /* and microseconds. */
|
||||
__time_t st_ctime; /* Status change time, seconds */
|
||||
unsigned long int st_ctime_usec; /* and microseconds. */
|
||||
#if defined __USE_MISC || defined __USE_XOPEN2K8
|
||||
/* Nanosecond resolution timestamps are stored in a format
|
||||
equivalent to 'struct timespec'. This is the type used
|
||||
whenever possible but the Unix namespace rules do not allow the
|
||||
identifier 'timespec' to appear in the <sys/stat.h> header.
|
||||
Therefore we have to handle the use of this header in strictly
|
||||
standard-compliant sources special. */
|
||||
struct timespec st_atim; /* Time of last access. */
|
||||
struct timespec st_mtim; /* Time of last modification. */
|
||||
struct timespec st_ctim; /* Time of last status change. */
|
||||
# define st_atime st_atim.tv_sec /* Backward compatibility. */
|
||||
# define st_mtime st_mtim.tv_sec
|
||||
# define st_ctime st_ctim.tv_sec
|
||||
#else
|
||||
__time_t st_atime; /* Time of last access. */
|
||||
unsigned long int st_atimensec; /* Nscecs of last access. */
|
||||
__time_t st_mtime; /* Time of last modification. */
|
||||
unsigned long int st_mtimensec; /* Nsecs of last modification. */
|
||||
__time_t st_ctime; /* Time of last status change. */
|
||||
unsigned long int st_ctimensec; /* Nsecs of last status change. */
|
||||
#endif
|
||||
|
||||
__blksize_t st_blksize; /* Optimal size for I/O. */
|
||||
|
||||
@ -107,12 +121,24 @@ struct stat64
|
||||
|
||||
__off64_t st_size; /* Size in bytes. */
|
||||
|
||||
__time_t st_atime; /* Access time, seconds */
|
||||
unsigned long int st_atime_usec; /* and microseconds. */
|
||||
__time_t st_mtime; /* Modification time, seconds */
|
||||
unsigned long int st_mtime_usec; /* and microseconds. */
|
||||
__time_t st_ctime; /* Status change time, seconds */
|
||||
unsigned long int st_ctime_usec; /* and microseconds. */
|
||||
#if defined __USE_MISC || defined __USE_XOPEN2K8
|
||||
/* Nanosecond resolution timestamps are stored in a format
|
||||
equivalent to 'struct timespec'. This is the type used
|
||||
whenever possible but the Unix namespace rules do not allow the
|
||||
identifier 'timespec' to appear in the <sys/stat.h> header.
|
||||
Therefore we have to handle the use of this header in strictly
|
||||
standard-compliant sources special. */
|
||||
struct timespec st_atim; /* Time of last access. */
|
||||
struct timespec st_mtim; /* Time of last modification. */
|
||||
struct timespec st_ctim; /* Time of last status change. */
|
||||
#else
|
||||
__time_t st_atime; /* Time of last access. */
|
||||
unsigned long int st_atimensec; /* Nscecs of last access. */
|
||||
__time_t st_mtime; /* Time of last modification. */
|
||||
unsigned long int st_mtimensec; /* Nsecs of last modification. */
|
||||
__time_t st_ctime; /* Time of last status change. */
|
||||
unsigned long int st_ctimensec; /* Nsecs of last status change. */
|
||||
#endif
|
||||
|
||||
__blksize_t st_blksize; /* Optimal size for I/O. */
|
||||
|
||||
@ -130,7 +156,10 @@ struct stat64
|
||||
};
|
||||
#endif
|
||||
|
||||
#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */
|
||||
/* Tell code we have these members. */
|
||||
#define _STATBUF_ST_BLKSIZE
|
||||
/* Nanosecond resolution time values are supported. */
|
||||
#define _STATBUF_ST_NSEC
|
||||
|
||||
/* Encoding of the file mode. */
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* Convert between `struct stat' format, and `struct stat64' format.
|
||||
Copyright (C) 2000,01,02 Free Software Foundation, Inc.
|
||||
Copyright (C) 2000-2012 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
|
||||
@ -41,12 +41,9 @@ xstat64_conv (struct stat *buf, const struct stat64 *buf64)
|
||||
buf->st_uid = buf64->st_uid;
|
||||
buf->st_gid = buf64->st_gid;
|
||||
buf->st_size = buf64->st_size;
|
||||
buf->st_atime = buf64->st_atime;
|
||||
buf->st_atime_usec = buf64->st_atime_usec;
|
||||
buf->st_mtime = buf64->st_mtime;
|
||||
buf->st_mtime_usec = buf64->st_mtime_usec;
|
||||
buf->st_ctime = buf64->st_ctime;
|
||||
buf->st_ctime_usec = buf64->st_ctime_usec;
|
||||
buf->st_atim = buf64->st_atim;
|
||||
buf->st_mtim = buf64->st_mtim;
|
||||
buf->st_ctim = buf64->st_ctim;
|
||||
buf->st_blksize = buf64->st_blksize;
|
||||
buf->st_blocks = buf64->st_blocks;
|
||||
buf->st_author = buf64->st_author;
|
||||
|
Loading…
Reference in New Issue
Block a user