VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/msvcrt/sys/stat.h

最後變更 在這個檔案是 53201,由 vboxsync 提交於 10 年 前

Devices/Main: vmsvga updates

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 4.1 KB
 
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
11#include <crtdefs.h>
12#include <sys/types.h>
13
14#include <pshpack8.h>
15
16#ifndef _DEV_T_DEFINED
17typedef unsigned int _dev_t;
18#define _DEV_T_DEFINED
19#endif
20
21#ifndef _INO_T_DEFINED
22typedef unsigned short _ino_t;
23#define _INO_T_DEFINED
24#endif
25
26#ifndef _OFF_T_DEFINED
27typedef int _off_t;
28#define _OFF_T_DEFINED
29#endif
30
31#ifndef DECLSPEC_ALIGN
32# if defined(_MSC_VER) && (_MSC_VER >= 1300) && !defined(MIDL_PASS)
33# define DECLSPEC_ALIGN(x) __declspec(align(x))
34# elif defined(__GNUC__)
35# define DECLSPEC_ALIGN(x) __attribute__((aligned(x)))
36# else
37# define DECLSPEC_ALIGN(x)
38# endif
39#endif
40
41#define _S_IEXEC 0x0040
42#define _S_IWRITE 0x0080
43#define _S_IREAD 0x0100
44#define _S_IFIFO 0x1000
45#define _S_IFCHR 0x2000
46#define _S_IFDIR 0x4000
47#define _S_IFREG 0x8000
48#define _S_IFMT 0xF000
49
50/* for FreeBSD */
51#undef st_atime
52#undef st_ctime
53#undef st_mtime
54
55#ifndef _STAT_DEFINED
56#define _STAT_DEFINED
57
58struct _stat {
59 _dev_t st_dev;
60 _ino_t st_ino;
61 unsigned short st_mode;
62 short st_nlink;
63 short st_uid;
64 short st_gid;
65 _dev_t st_rdev;
66 _off_t st_size;
67 time_t st_atime;
68 time_t st_mtime;
69 time_t st_ctime;
70};
71
72struct stat {
73 _dev_t st_dev;
74 _ino_t st_ino;
75 unsigned short st_mode;
76 short st_nlink;
77 short st_uid;
78 short st_gid;
79 _dev_t st_rdev;
80 _off_t st_size;
81 time_t st_atime;
82 time_t st_mtime;
83 time_t st_ctime;
84};
85
86struct _stat32 {
87 _dev_t st_dev;
88 _ino_t st_ino;
89 unsigned short st_mode;
90 short st_nlink;
91 short st_uid;
92 short st_gid;
93 _dev_t st_rdev;
94 _off_t st_size;
95 __time32_t st_atime;
96 __time32_t st_mtime;
97 __time32_t st_ctime;
98};
99
100struct _stat32i64 {
101 _dev_t st_dev;
102 _ino_t st_ino;
103 unsigned short st_mode;
104 short st_nlink;
105 short st_uid;
106 short st_gid;
107 _dev_t st_rdev;
108 __int64 DECLSPEC_ALIGN(8) st_size;
109 time_t st_atime;
110 time_t st_mtime;
111 time_t st_ctime;
112};
113
114struct _stat64i32 {
115 _dev_t st_dev;
116 _ino_t st_ino;
117 unsigned short st_mode;
118 short st_nlink;
119 short st_uid;
120 short st_gid;
121 _dev_t st_rdev;
122 _off_t st_size;
123 __time64_t st_atime;
124 __time64_t st_mtime;
125 __time64_t st_ctime;
126};
127
128struct _stati64 {
129 _dev_t st_dev;
130 _ino_t st_ino;
131 unsigned short st_mode;
132 short st_nlink;
133 short st_uid;
134 short st_gid;
135 _dev_t st_rdev;
136 __int64 DECLSPEC_ALIGN(8) st_size;
137 time_t st_atime;
138 time_t st_mtime;
139 time_t st_ctime;
140};
141
142struct _stat64 {
143 _dev_t st_dev;
144 _ino_t st_ino;
145 unsigned short st_mode;
146 short st_nlink;
147 short st_uid;
148 short st_gid;
149 _dev_t st_rdev;
150 __int64 DECLSPEC_ALIGN(8) st_size;
151 __time64_t st_atime;
152 __time64_t st_mtime;
153 __time64_t st_ctime;
154};
155#endif /* _STAT_DEFINED */
156
157#ifdef __cplusplus
158extern "C" {
159#endif
160
161int __cdecl _fstat(int,struct _stat*);
162int __cdecl _stat(const char*,struct _stat*);
163int __cdecl _fstat32(int, struct _stat32*);
164int __cdecl _stat32(const char*, struct _stat32*);
165int __cdecl _fstati64(int,struct _stati64*);
166int __cdecl _stati64(const char*,struct _stati64*);
167int __cdecl _fstat64(int,struct _stat64*);
168int __cdecl _stat64(const char*,struct _stat64*);
169int __cdecl _umask(int);
170
171#ifndef _WSTAT_DEFINED
172#define _WSTAT_DEFINED
173int __cdecl _wstat(const wchar_t*,struct _stat*);
174int __cdecl _wstat32(const wchar_t*, struct _stat32*);
175int __cdecl _wstati64(const wchar_t*,struct _stati64*);
176int __cdecl _wstat64(const wchar_t*,struct _stat64*);
177#endif /* _WSTAT_DEFINED */
178
179#ifdef __cplusplus
180}
181#endif
182
183
184#define S_IFMT _S_IFMT
185#define S_IFDIR _S_IFDIR
186#define S_IFCHR _S_IFCHR
187#define S_IFREG _S_IFREG
188#define S_IREAD _S_IREAD
189#define S_IWRITE _S_IWRITE
190#define S_IEXEC _S_IEXEC
191
192static inline int fstat(int fd, struct stat* ptr) { return _fstat(fd, (struct _stat*)ptr); }
193static inline int stat(const char* path, struct stat* ptr) { return _stat(path, (struct _stat*)ptr); }
194#ifndef _UMASK_DEFINED
195static inline int umask(int fd) { return _umask(fd); }
196#define _UMASK_DEFINED
197#endif
198
199#include <poppack.h>
200
201#endif /* __WINE_SYS_STAT_H */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette