summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/include
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2003-05-11 00:10:11 +0000
committerChristopher Faylor <me@cgf.cx>2003-05-11 00:10:11 +0000
commit066ca06fd0cf299c158c3a1fb45a66c738543551 (patch)
tree925031cbe47608452e3e50d440d42c59c6a7a282 /winsup/cygwin/include
parentbf759a5ae676e51f0ffb3e1bb2b3cbda24a284ea (diff)
downloadcygnal-066ca06fd0cf299c158c3a1fb45a66c738543551.tar.gz
cygnal-066ca06fd0cf299c158c3a1fb45a66c738543551.tar.bz2
cygnal-066ca06fd0cf299c158c3a1fb45a66c738543551.zip
* dir.cc (readdir): Fill out new old_d_ino field.
* fhandler.h (fhandler_base::namehash): Define as ino_t. (fhandler_base::get_namehash): Ditto. * fhandler_disk_file.cc (fhandler_disk_file::fstat_helper): Accommodate new 64 bit st_ino. * fhandler_socket.cc (fhandler_socket::fstat): Ditto. * path.cc (hash_path_name): Return ino_t. * syscalls.cc (stat64_to_stat32): Convert 64 bit inode to 32 bit. * winsup.h (hash_path_name): Declare as returning ino_t. * include/cygwin/stat.h (__stat32): Use 32 bit st_ino. (__stat64): Use 64 bit st_ino. * include/cygwin/types.h (__ino64_t): Define. (__ino32_t): Ditto. (ino_t): Define appropriately.
Diffstat (limited to 'winsup/cygwin/include')
-rw-r--r--winsup/cygwin/include/cygwin/stat.h8
-rw-r--r--winsup/cygwin/include/cygwin/types.h8
2 files changed, 11 insertions, 5 deletions
diff --git a/winsup/cygwin/include/cygwin/stat.h b/winsup/cygwin/include/cygwin/stat.h
index a21e731b8..d35e1ed74 100644
--- a/winsup/cygwin/include/cygwin/stat.h
+++ b/winsup/cygwin/include/cygwin/stat.h
@@ -19,9 +19,9 @@ extern "C" {
#ifdef __INSIDE_CYGWIN__
struct __stat32
{
- __dev16_t st_dev;
- ino_t st_ino;
- mode_t st_mode;
+ __dev16_t st_dev;
+ __ino32_t st_ino;
+ mode_t st_mode;
nlink_t st_nlink;
__uid16_t st_uid;
__gid16_t st_gid;
@@ -38,7 +38,7 @@ struct __stat32
struct __stat64
{
__dev32_t st_dev;
- ino_t st_ino;
+ __ino64_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
__uid32_t st_uid;
diff --git a/winsup/cygwin/include/cygwin/types.h b/winsup/cygwin/include/cygwin/types.h
index 8a26ef0a4..da2fc44e2 100644
--- a/winsup/cygwin/include/cygwin/types.h
+++ b/winsup/cygwin/include/cygwin/types.h
@@ -90,7 +90,13 @@ typedef __gid16_t gid_t;
#ifndef __ino_t_defined
#define __ino_t_defined
-typedef unsigned long ino_t;
+typedef unsigned long __ino32_t;
+typedef unsigned long long __ino64_t;
+#ifdef __CYGWIN_USE_BIG_TYPES__
+typedef __ino64_t ino_t;
+#else
+typedef __ino32_t ino_t;
+#endif
#endif /*__ino_t_defined*/
#ifndef __BIT_TYPES_DEFINED