Fix compilation errors on FreeBSD.
[wine] / include / msvcrt / sys / stat.h
1 /*
2  * _stat() definitions
3  *
4  * Derived from the mingw header written by Colin Peters.
5  * Modified for Wine use by Jon Griffiths and Francois Gouget.
6  * This file is in the public domain.
7  */
8 #ifndef __WINE_SYS_STAT_H
9 #define __WINE_SYS_STAT_H
10 #define __WINE_USE_MSVCRT
11
12 #include "msvcrt/sys/types.h"
13
14
15 #define _S_IEXEC  0x0040
16 #define _S_IWRITE 0x0080
17 #define _S_IREAD  0x0100
18 #define _S_IFIFO  0x1000
19 #define _S_IFCHR  0x2000
20 #define _S_IFDIR  0x4000
21 #define _S_IFREG  0x8000
22 #define _S_IFMT   0xF000
23
24
25 struct _stat {
26   _dev_t         st_dev;
27   _ino_t         st_ino;
28   unsigned short st_mode;
29   short          st_nlink;
30   short          st_uid;
31   short          st_gid;
32   _dev_t         st_rdev;
33   _off_t         st_size;
34   MSVCRT(time_t) st_atime;
35   MSVCRT(time_t) st_mtime;
36   MSVCRT(time_t) st_ctime;
37 };
38
39 struct _stati64 {
40   _dev_t         st_dev;
41   _ino_t         st_ino;
42   unsigned short st_mode;
43   short          st_nlink;
44   short          st_uid;
45   short          st_gid;
46   _dev_t         st_rdev;
47   __int64        st_size;
48   MSVCRT(time_t) st_atime;
49   MSVCRT(time_t) st_mtime;
50   MSVCRT(time_t) st_ctime;
51 };
52
53
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57
58 int _fstat(int,struct _stat*);
59 int _fstati64(int,struct _stati64*);
60 int _stat(const char*,struct _stat*);
61 int _stati64(const char*,struct _stati64*);
62
63 int _wstat(const WCHAR*,struct _stat*);
64 int _wstati64(const WCHAR*,struct _stati64*);
65
66 #ifdef __cplusplus
67 }
68 #endif
69
70
71 #ifndef USE_MSVCRT_PREFIX
72 #define S_IFMT   _S_IFMT
73 #define S_IFDIR  _S_IFDIR
74 #define S_IFCHR  _S_IFCHR
75 #define S_IFREG  _S_IFREG
76 #define S_IREAD  _S_IREAD
77 #define S_IWRITE _S_IWRITE
78 #define S_IEXEC  _S_IEXEC
79
80 #define fstat _fstat
81 #define stat _stat
82 #endif /* USE_MSVCRT_PREFIX */
83
84 #endif /* __WINE_SYS_STAT_H */