ntdll: Fix compilation on systems that don't support nameless unions.
[wine] / include / msvcrt / sys / types.h
1 /*
2  * _stat() definitions
3  *
4  * Copyright 2000 Francois Gouget.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20 #ifndef __WINE_SYS_TYPES_H
21 #define __WINE_SYS_TYPES_H
22 #ifndef __WINE_USE_MSVCRT
23 #define __WINE_USE_MSVCRT
24 #endif
25
26 #if !defined(_MSC_VER) && !defined(__int64)
27 #define __int64 long long
28 #endif
29
30 #if defined(__x86_64__) && !defined(_WIN64)
31 #define _WIN64
32 #endif
33
34 #ifndef _DEV_T_DEFINED
35 typedef unsigned int   _dev_t;
36 #define _DEV_T_DEFINED
37 #endif
38
39 #ifndef _INO_T_DEFINED
40 typedef unsigned short _ino_t;
41 #define _INO_T_DEFINED
42 #endif
43
44 #ifndef _MODE_T_DEFINED
45 typedef unsigned short _mode_t;
46 #define _MODE_T_DEFINED
47 #endif
48
49 #ifndef _OFF_T_DEFINED
50 typedef int _off_t;
51 #define _OFF_T_DEFINED
52 #endif
53
54 #ifndef _TIME_T_DEFINED
55 typedef long time_t;
56 #define _TIME_T_DEFINED
57 #endif
58
59 #ifndef _TIME64_T_DEFINED
60 #define _TIME64_T_DEFINED
61 typedef __int64 __time64_t;
62 #endif
63
64 #ifndef _BSDTYPES_DEFINED
65 typedef unsigned char u_char;
66 typedef unsigned short u_short;
67 typedef unsigned int  u_int;
68 typedef unsigned long u_long;
69 #define _BSDTYPES_DEFINED
70 #endif
71
72 #define dev_t _dev_t
73 #define ino_t _ino_t
74 #define mode_t _mode_t
75 #define off_t _off_t
76
77 #ifndef _PID_T_DEFINED
78 typedef int pid_t;
79 #define _PID_T_DEFINED
80 #endif
81
82 #ifndef _SSIZE_T_DEFINED
83 #ifdef _WIN64
84 typedef __int64 ssize_t;
85 #else
86 typedef int ssize_t;
87 #endif
88 #define _SSIZE_T_DEFINED
89 #endif
90
91 #endif /* __WINE_SYS_TYPES_H */