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) | |
download | glibc-1cab5444231a4a1fab9c3abb107d22af4eb09327.tar.gz glibc-1cab5444231a4a1fab9c3abb107d22af4eb09327.tar.xz glibc-1cab5444231a4a1fab9c3abb107d22af4eb09327.zip |
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 */ |