diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-10-31 22:55:02 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-10-31 22:55:02 +0000 |
commit | 1cab5444231a4a1fab9c3abb107d22af4eb09327 (patch) | |
tree | c58e953fe78f8094b3774b65eb2acf024cc10ded /sysdeps/unix/sysv/linux/alpha/bits | |
parent | fe4635fcae7a29fe688b048a2b1235bb89e05ec0 (diff) |
Update.cvs/libc-ud-971031
1997-10-31 23:16 Ulrich Drepper <drepper@cygnus.com>
* posix/glob.c (glob): If calling glob_in_dir for a list which was
generated by a glob call disable GLOB_ERR since there might be
non-directories in the list (PR203).
* posix/glob.h (GLOB_ONLYDIR): New flag.
(__GLOB_FLAGS): Add GLOB_ONLYDIR.
* posix/glob.c: Define HAVE_D_TYPE if _DIRENT_HAVE_D_TYPE is defined.
(glob): Add GLOB_ONLYDIR to recursive call to match dirname.
(glob_in_dir) [HAVE_D_TYPE]: While reading directory entries test
whether they are directories if GLOB_ONLYDIR flag is given.
* manual/pattern.texi: Document GLOB_ONLYDIR.
* misc/Makefile (tests): Add tst-fdset.
* sysdeps/i386/bits/select.h: Rewrite asm macros to be cleaner.
* sysdeps/unix/sysv/linux/Dist: Add xstatconv.c.
* sysdeps/unix/sysv/linux/alpha/Dist: Likewise.
* time/strptime.c (strptime_internal): In %y format, regard years
>= 69 as of twentieth century, all other as of twenty-first.
* time/tzset.c: Correct typo and little optimization.
1997-10-31 16:01 Ulrich Drepper <drepper@cygnus.com>
* inet/getnetgrent.c: Allocate buffer dynamically if needed.
Suggested by Joe Keane <jgk@jgk.org>.
1997-10-31 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* io/ftw.h: Declare __ftw64_func_t and __nftw64_func_t only when
__USE_FILE_OFFSET64 || __USE_LARGEFILE64 is true.
1997-10-30 05:47 Ulrich Drepper <drepper@cygnus.com>
* misc/mntent.c: Don't use statically allocated buffer. Allocate
it dynamically if necessary.
* misc/efgcvt.c: Likewise.
Patch by Joe Keane <jgk@jgk.org>.
* misc/mntent.c: Allow freeing of allocated buffer in
__libc_subfreeres.
* misc/efgcvt.c: Likewise.
* misc/efgcvt.c: Call correct reentrant functions.
Use better values for MAXDIG.
* misc/qefgcvt.c: Use better values for MAXDIG.
1997-10-29 18:48 Richard Henderson <rth@cygnus.com>
* sysdeps/unix/sysv/linux/Makefile [io]: Add xstatconv.
* sysdeps/unix/sysv/linux/alpha/xstatconv.c: New file. Convert
between kernel_stat and the userland version indicated.
* sysdeps/unix/sysv/linux/xstatconv.c: Likewise.
* sysdeps/unix/sysv/linux/bits/stat.h: Define _STAT_VER_KERNEL.
* sysdeps/unix/sysv/linux/fxstat.c: Defer to __xstat_conv. Alias
to __*xstat64 if requested.
* sysdeps/unix/sysv/linux/lxstat.c: Likewise.
* sysdeps/unix/sysv/linux/xstat.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/stat.h: Add struct stat64.
Increment _STAT_VER, and make struct stat the same.
* sysdeps/unix/sysv/linux/alpha/bits/types.h: Add __ino64_t, and
__off64_t. Reorganize.
* sysdeps/unix/sysv/linux/alpha/kernel_stat.h: Add struct glibc2_stat
for backward compatibility. Define XSTAT_IS_XSTAT64.
* sysdeps/unix/sysv/linux/alpha/fxstat64.c: Empty file.
* sysdeps/unix/sysv/linux/alpha/lxstat64.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/xstat64.c: Likewise.
* sysdeps/unix/sysv/linux/alpha/bits/dirent.h (struct dirent): For
consistency, force d_ino to use ino_t and supply padding.
1997-10-29 18:47 Richard Henderson <rth@cygnus.com>
* libio/iofopen.c: Correct weak_alias.
Diffstat (limited to 'sysdeps/unix/sysv/linux/alpha/bits')
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/bits/dirent.h | 9 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/bits/stat.h | 48 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/alpha/bits/types.h | 56 |
3 files changed, 73 insertions, 40 deletions
diff --git a/sysdeps/unix/sysv/linux/alpha/bits/dirent.h b/sysdeps/unix/sysv/linux/alpha/bits/dirent.h index 4d717e4194..a371a552ff 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/dirent.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/dirent.h @@ -19,10 +19,14 @@ #ifndef _BITS_DIRENT_H #define _BITS_DIRENT_H 1 -/* We don't have to make a difference for __USE_FILE_OFFSET64. */ struct dirent { - long int d_ino; +#ifdef __USE_FILE_OFFSET64 + __ino64_t d_ino; +#else + __ino_t d_ino; + int __pad; +#endif __off_t d_off; unsigned short int d_reclen; unsigned char d_type; @@ -30,6 +34,7 @@ struct dirent }; #ifdef __USE_LARGEFILE64 +/* Note dirent64 is the same as dirent. */ struct dirent64 { __ino64_t d_ino; diff --git a/sysdeps/unix/sysv/linux/alpha/bits/stat.h b/sysdeps/unix/sysv/linux/alpha/bits/stat.h index cc2a2eac90..de8752ea8b 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/stat.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/stat.h @@ -24,9 +24,10 @@ #define _BITS_STAT_H 1 /* Versions of the `struct stat' data structure. */ -#define _STAT_VER_LINUX_OLD 0 -#define _STAT_VER_LINUX 1 -#define _STAT_VER _STAT_VER_LINUX +#define _STAT_VER_KERNEL 0 +#define _STAT_VER_GLIBC2 1 +#define _STAT_VER_GLIBC2_1 2 +#define _STAT_VER _STAT_VER_GLIBC2_1 /* Versions of the `xmknod' interface. */ #define _MKNOD_VER_LINUX 0 @@ -34,7 +35,12 @@ struct stat { __dev_t st_dev; /* Device. */ +#ifdef __USE_FILE_OFFSET64 + __ino64_t st_ino; /* File serial number. */ +#else __ino_t st_ino; /* File serial number. */ + int __pad1; +#endif __mode_t st_mode; /* File mode. */ __nlink_t st_nlink; /* Link count. */ __uid_t st_uid; /* User ID of the file's owner. */ @@ -44,13 +50,45 @@ struct stat __time_t st_atime; /* Time of last access. */ __time_t st_mtime; /* Time of last modification. */ __time_t st_ctime; /* Time of last status change. */ +#ifdef __USE_FILE_OFFSET64 + __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ +#else + __blkcnt_t st_blocks; /* Nr. 512-byte blocks allocated. */ + int __pad2; +#endif unsigned int st_blksize; /* Optimal block size for I/O. */ -#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ - __blkcnt_t st_blocks; /* Nr. of 512-byte blocks allocated. */ unsigned int st_flags; unsigned int st_gen; + int __pad3; + long __unused[4]; }; +#ifdef __USE_LARGEFILE64 +/* Note stat64 is the same shape as stat. */ +struct stat64 + { + __dev_t st_dev; /* Device. */ + __ino64_t st_ino; /* File serial number. */ + __mode_t st_mode; /* File mode. */ + __nlink_t st_nlink; /* Link count. */ + __uid_t st_uid; /* User ID of the file's owner. */ + __gid_t st_gid; /* Group ID of the file's group.*/ + __dev_t st_rdev; /* Device number, if device. */ + __off_t st_size; /* Size of file, in bytes. */ + __time_t st_atime; /* Time of last access. */ + __time_t st_mtime; /* Time of last modification. */ + __time_t st_ctime; /* Time of last status change. */ + __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */ + unsigned int st_blksize; /* Optimal block size for I/O. */ + unsigned int st_flags; + unsigned int st_gen; + int __pad3; + long __unused[4]; + }; +#endif + +#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ + /* Encoding of the file mode. */ #define __S_IFMT 0170000 /* These bits determine file type. */ diff --git a/sysdeps/unix/sysv/linux/alpha/bits/types.h b/sysdeps/unix/sysv/linux/alpha/bits/types.h index cf2668a0e6..b9e6dd779a 100644 --- a/sysdeps/unix/sysv/linux/alpha/bits/types.h +++ b/sysdeps/unix/sysv/linux/alpha/bits/types.h @@ -42,18 +42,26 @@ typedef signed long int __int64_t; typedef unsigned long int __uint64_t; typedef __quad_t *__qaddr_t; -typedef __u_long __dev_t; /* Type of device numbers. */ -typedef __u_int __uid_t; /* Type of user identifications. */ -typedef __u_int __gid_t; /* Type of group identifications. */ -typedef __u_int __ino_t; /* Type of file serial numbers. */ -typedef __u_int __mode_t; /* Type of file attribute bitmasks. */ -typedef __u_int __nlink_t; /* Type of file link counts. */ -typedef long int __off_t; /* Type of file sizes and offsets. */ -typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ -typedef int __pid_t; /* Type of process identifications. */ -typedef long int __ssize_t; /* Type of a byte count, or error. */ -typedef long int __rlim_t; /* Type of resource counts. */ -typedef long int __rlim64_t; /* Type of resource counts (LFS). */ +typedef __uint64_t __dev_t; /* Type of device numbers. */ +typedef __uint32_t __uid_t; /* Type of user identifications. */ +typedef __uint32_t __gid_t; /* Type of group identifications. */ +typedef __uint32_t __ino_t; /* Type of file serial numbers. */ +typedef __uint64_t __ino64_t; /* "" (LFS) */ +typedef __uint32_t __mode_t; /* Type of file attribute bitmasks. */ +typedef __uint32_t __nlink_t; /* Type of file link counts. */ +typedef __int64_t __off_t; /* Type of file sizes and offsets. */ +typedef __int64_t __off64_t; /* "" (LFS) */ +typedef __int64_t __loff_t; /* Type of file sizes and offsets. */ +typedef __int32_t __pid_t; /* Type of process identifications. */ +typedef __int64_t __ssize_t; /* Type of a byte count, or error. */ +typedef __int64_t __rlim_t; /* Type of resource counts. */ +typedef __int64_t __rlim64_t; /* "" (LFS) */ +typedef __int32_t __blkcnt_t; /* Type to count nr disk blocks. */ +typedef __int64_t __blkcnt64_t; /* "" (LFS) */ +typedef __uint32_t __fsblkcnt_t; /* Type to count file system blocks. */ +typedef __uint64_t __fsblkcnt64_t; /* "" (LFS) */ +typedef __uint64_t __fsfilcnt_t; /* Type to count file system inodes. */ +typedef __uint64_t __fsfilcnt64_t; /* "" (LFS) */ typedef struct { @@ -61,12 +69,12 @@ typedef struct } __fsid_t; /* Type of file system IDs. */ /* Everythin' else. */ -typedef int __daddr_t; /* The type of a disk address. */ -typedef char *__caddr_t; +typedef int __daddr_t; /* Type of a disk address. */ +typedef char *__caddr_t; /* Type of a core address. */ typedef long int __time_t; typedef long int __swblk_t; /* Type of a swap block maybe? */ - typedef long int __clock_t; +typedef int __key_t; /* Type of a SYSV IPC key. */ /* One element in the file descriptor mask array. */ typedef unsigned long int __fd_mask; @@ -91,22 +99,4 @@ typedef struct __fd_mask fds_bits[__FD_SETSIZE / __NFDBITS]; } __fd_set; - -typedef int __key_t; - - -/* Types from the Large File Support interface. */ - -/* Type to count number os disk blocks. */ -typedef int __blkcnt_t; -typedef __quad_t __blkcnt64_t; - -/* Type to count file system blocks. */ -typedef unsigned int __fsblkcnt_t; -typedef __u_quad_t __fsblkcnt64_t; - -/* Type to count file system inodes. */ -typedef unsigned long int __fsfilcnt_t; -typedef __u_quad_t __fsfilcnt64_t; - #endif /* bits/types.h */ |