sys/{stat,types}.h: mode_t, umask (take 2)
Dimitrie O. Paun
dpaun at rogers.com
Thu Jan 9 23:45:55 CST 2003
I've dropped the definition of u_{char,short,int,long}
from sys/types.h, it clashes with similar definitions
from winsock.h.
Francois, since you are hacking winsock.h, can you
please look into moving the definition of
u_{char,short,int,long} from winsock.h into sys/types.h?
In Unix apps expect it in sys/types.h... If we don't
provide it, we have problems again because libc does,
and there's no easy way to test for it. Same problem
as with the unistd.h.
ChangeLog
Unix compatibility fixes:
- Define umask in sys/stat.h and sys/types.h
- Define mode_t, in sys/types.h
Index: include/msvcrt/sys/stat.h
===================================================================
RCS file: /var/cvs/wine/include/msvcrt/sys/stat.h,v
retrieving revision 1.6
diff -u -r1.6 stat.h
--- include/msvcrt/sys/stat.h 18 Dec 2002 20:17:20 -0000 1.6
+++ include/msvcrt/sys/stat.h 9 Jan 2003 22:22:37 -0000
@@ -106,6 +106,7 @@
int MSVCRT(_stat)(const char*,struct _stat*);
int _fstati64(int,struct _stati64*);
int _stati64(const char*,struct _stati64*);
+int _umask(int);
#ifndef MSVCRT_WSTAT_DEFINED
#define MSVCRT_WSTAT_DEFINED
@@ -129,6 +130,7 @@
#define fstat _fstat
#define stat _stat
+#define umask _umask
#endif /* USE_MSVCRT_PREFIX */
#endif /* __WINE_SYS_STAT_H */
Index: include/msvcrt/sys/types.h
===================================================================
RCS file: /var/cvs/wine/include/msvcrt/sys/types.h,v
retrieving revision 1.6
diff -u -r1.6 types.h
--- include/msvcrt/sys/types.h 18 Dec 2002 20:17:20 -0000 1.6
+++ include/msvcrt/sys/types.h 10 Jan 2003 05:37:43 -0000
@@ -39,6 +39,11 @@
#define MSVCRT_INO_T_DEFINED
#endif
+#ifndef MSVCRT_MODE_T_DEFINED
+typedef unsigned short _mode_t;
+#define MSVCRT_MODE_T_DEFINED
+#endif
+
#ifndef MSVCRT_OFF_T_DEFINED
typedef int MSVCRT(_off_t);
#define MSVCRT_OFF_T_DEFINED
@@ -49,11 +54,22 @@
#define MSVCRT_TIME_T_DEFINED
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+int _umask(int);
+
+#ifdef __cplusplus
+}
+#endif
#ifndef USE_MSVCRT_PREFIX
#define dev_t _dev_t
#define ino_t _ino_t
+#define mode_t _mode_t
#define off_t _off_t
+#define umask _umask
#endif /* USE_MSVCRT_PREFIX */
#endif /* __WINE_SYS_TYPES_H */
--
Dimi.
More information about the wine-patches
mailing list