Mercurial > emacs
annotate nt/inc/sys/stat.h @ 95948:d55ec23f052d
*** empty log message ***
| author | Glenn Morris <rgm@gnu.org> |
|---|---|
| date | Sun, 15 Jun 2008 02:53:17 +0000 |
| parents | dadc38b34319 |
| children | aeceb2460b39 |
| rev | line source |
|---|---|
|
94010
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
1 /* sys/stat.h supplied with MSVCRT uses too narrow data types for |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
2 inode and user/group id, so we replace them with our own. |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
3 |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
4 Copyright (C) 2008 Free Software Foundation, Inc. |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
5 |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
6 This file is part of GNU Emacs. |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
7 |
|
94793
a9cdaa557fee
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94010
diff
changeset
|
8 GNU Emacs is free software: you can redistribute it and/or modify |
|
94010
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
9 it under the terms of the GNU General Public License as published by |
|
94793
a9cdaa557fee
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94010
diff
changeset
|
10 the Free Software Foundation, either version 3 of the License, or |
|
a9cdaa557fee
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94010
diff
changeset
|
11 (at your option) any later version. |
|
94010
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
12 |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
13 GNU Emacs is distributed in the hope that it will be useful, |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
14 but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
16 GNU General Public License for more details. |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
17 |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
18 You should have received a copy of the GNU General Public License |
|
94793
a9cdaa557fee
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
94010
diff
changeset
|
19 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
| 93691 | 20 |
| 21 #ifndef INC_SYS_STAT_H_ | |
| 22 #define INC_SYS_STAT_H_ | |
| 23 | |
| 24 #ifdef __MINGW32__ | |
| 25 # include <_mingw.h> | |
|
94010
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
26 #endif |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
27 |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
28 /* Only MinGW 3.13 and later has __MINGW_NOTHROW. */ |
|
eb51ce38e226
(__MINGW_NOTHROW): If not defined, define to nothing.
Eli Zaretskii <eliz@gnu.org>
parents:
93729
diff
changeset
|
29 #ifndef __MINGW_NOTHROW |
| 93691 | 30 # define __MINGW_NOTHROW |
| 31 #endif | |
| 32 | |
| 33 #include <sys/types.h> | |
| 34 #include <time.h> | |
| 35 | |
| 36 #define S_IFMT 0xF000 | |
| 37 | |
| 38 #define S_IFREG 0x8000 | |
| 39 #define S_IFDIR 0x4000 | |
| 40 #define S_IFBLK 0x3000 | |
| 41 #define S_IFCHR 0x2000 | |
| 42 #define S_IFIFO 0x1000 | |
| 43 | |
| 44 #define S_IREAD 0x0100 | |
| 45 #define S_IWRITE 0x0080 | |
| 46 #define S_IEXEC 0x0040 | |
| 47 | |
| 48 #define S_IRUSR S_IREAD | |
| 49 #define S_IWUSR S_IWRITE | |
| 50 #define S_IXUSR S_IEXEC | |
| 51 #define S_IRWXU (S_IREAD | S_IWRITE | S_IEXEC) | |
| 52 | |
| 53 #define S_ISREG(m) (((m) & S_IFMT) == S_IFREG) | |
| 54 #define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR) | |
| 55 #define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK) | |
| 56 #define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR) | |
| 57 #define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO) | |
| 58 | |
| 59 struct stat { | |
|
94812
dadc38b34319
(struct stat): Move st_dev after st_ino, for better alignment.
Eli Zaretskii <eliz@gnu.org>
parents:
94793
diff
changeset
|
60 unsigned __int64 st_ino; /* ino_t in sys/types.h is too narrow */ |
| 93691 | 61 dev_t st_dev; |
| 62 unsigned short st_mode; | |
| 63 short st_nlink; | |
| 64 int st_uid; | |
| 65 int st_gid; | |
|
94812
dadc38b34319
(struct stat): Move st_dev after st_ino, for better alignment.
Eli Zaretskii <eliz@gnu.org>
parents:
94793
diff
changeset
|
66 unsigned __int64 st_size; |
| 93691 | 67 dev_t st_rdev; |
| 68 time_t st_atime; | |
| 69 time_t st_mtime; | |
| 70 time_t st_ctime; | |
|
94812
dadc38b34319
(struct stat): Move st_dev after st_ino, for better alignment.
Eli Zaretskii <eliz@gnu.org>
parents:
94793
diff
changeset
|
71 char st_uname[260]; |
|
dadc38b34319
(struct stat): Move st_dev after st_ino, for better alignment.
Eli Zaretskii <eliz@gnu.org>
parents:
94793
diff
changeset
|
72 char st_gname[260]; |
| 93691 | 73 }; |
| 74 | |
| 75 _CRTIMP int __cdecl __MINGW_NOTHROW fstat (int, struct stat*); | |
| 76 _CRTIMP int __cdecl __MINGW_NOTHROW chmod (const char*, int); | |
| 77 _CRTIMP int __cdecl __MINGW_NOTHROW stat (const char*, struct stat*); | |
| 78 | |
| 79 #endif /* INC_SYS_STAT_H_ */ | |
| 93729 | 80 |
| 81 /* arch-tag: 17d8fc06-f2e5-4d10-a01e-af819918fe42 | |
| 82 (do not change this comment) */ |
