summaryrefslogtreecommitdiff
path: root/ace/os_include/sys
diff options
context:
space:
mode:
authorSteve Huston <shuston@riverace.com>2004-10-22 21:03:58 +0000
committerSteve Huston <shuston@riverace.com>2004-10-22 21:03:58 +0000
commit7ccabf1a0ee6e8191217c4a4e7d46c2ee939c456 (patch)
tree064dd300c9aa473fa3490cb211747759a4b6c2ca /ace/os_include/sys
parente9d0bebb6d7d1b878045d92749e0f7fea3cb47fe (diff)
downloadATCD-7ccabf1a0ee6e8191217c4a4e7d46c2ee939c456.tar.gz
ChangeLogTag:Fri Oct 22 17:00:27 2004 Steve Huston <shuston@riverace.com>
Diffstat (limited to 'ace/os_include/sys')
-rw-r--r--ace/os_include/sys/os_stat.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/ace/os_include/sys/os_stat.h b/ace/os_include/sys/os_stat.h
index e7dded1e964..536d1ce8ff0 100644
--- a/ace/os_include/sys/os_stat.h
+++ b/ace/os_include/sys/os_stat.h
@@ -67,16 +67,10 @@ extern "C"
# define S_IWOTH 00002 /* write permission: other. */
# define S_IXOTH 00001 /* execute permission: other. */
-// eVC doesn't define these bits, but MSVC does. The bit settings are copied
-// from the MSVC defs.
-# if defined (ACE_HAS_WINCE)
-# define S_IFDIR 0040000
-# define S_IFREG 0100000
-# endif /* ACE_HAS_WINCE */
-
-#if !defined (S_IFLNK)
+// WinCE's S_IFLNK is defined with the other bits, below.
+#if !defined (S_IFLNK) && !defined (ACE_HAS_WINCE)
#define S_IFLNK 0200000
-#endif /* S_IFLNK */
+#endif /* S_IFLNK && !ACE_HAS_WINCE */
#endif /* ACE_LACKS_MODE_MASKS */
@@ -92,6 +86,14 @@ extern "C"
#if defined (ACE_HAS_WINCE)
# include "ace/Time_Value.h"
+// Translate the WinCE bits into names expected by our callers.
+// The dwFileAttributes parameter doesn't have protection info, so
+// S_IFMT is the whole thing. Since there are no symbolic links, S_IFLNK is 0.
+# define S_IFMT 0xFFFF
+# define S_IFDIR FILE_ATTRIBUTE_DIRECTORY
+# define S_IFREG FILE_ATTRIBUTE_NORMAL
+# define S_IFLNK 0
+
struct stat
{
/// always 0 on Windows platforms