|
|
1.1 root 1: /***
1.1.1.3 root 2: *sys/stat.h - defines structure used by stat() and fstat()
1.1 root 3: *
1.1.1.4 root 4: * Copyright (c) 1985-1993, Microsoft Corporation. All rights reserved.
1.1 root 5: *
6: *Purpose:
7: * This file defines the structure used by the _stat() and _fstat()
8: * routines.
9: * [System V]
10: *
11: ****/
12:
13: #ifndef _INC_STAT
14:
15: #ifdef __cplusplus
16: extern "C" {
17: #endif
18:
19:
1.1.1.3 root 20: #include <sys/types.h>
21:
22: /*
23: * Conditional macro definition for function calling type and variable type
24: * qualifiers.
25: */
26: #if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) )
27:
28: /*
29: * Definitions for MS C8-32 (386/486) compiler
30: */
31: #define _CRTAPI1 __cdecl
32: #define _CRTAPI2 __cdecl
33:
34: #else
35:
36: /*
37: * Other compilers (e.g., MIPS)
38: */
39: #define _CRTAPI1
40: #define _CRTAPI2
41:
1.1.1.2 root 42: #endif
1.1 root 43:
1.1.1.3 root 44:
1.1 root 45: #ifndef _TIME_T_DEFINED
46: typedef long time_t;
47: #define _TIME_T_DEFINED
48: #endif
49:
50: /* define structure for returning status information */
51:
52: #ifndef _STAT_DEFINED
53:
1.1.1.5 ! root 54: #if defined(_M_IX86) || defined(_ALPHA_)
1.1.1.4 root 55: #pragma pack(4)
56: #endif /* _M_IX86 */
1.1 root 57:
58: struct _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:
1.1.1.5 ! root 72: #if defined(_M_IX86) || defined (_ALPHA_) || defined(_M_MRX000) || defined(_MIPS_)
1.1.1.4 root 73: #pragma pack()
74: #endif /* _M_IX86 */
1.1 root 75:
76: #define _STAT_DEFINED
77: #endif
78:
79: #define _S_IFMT 0170000 /* file type mask */
80: #define _S_IFDIR 0040000 /* directory */
81: #define _S_IFCHR 0020000 /* character special */
1.1.1.4 root 82: #define _S_IFIFO 0010000 /* pipe */
1.1 root 83: #define _S_IFREG 0100000 /* regular */
84: #define _S_IREAD 0000400 /* read permission, owner */
85: #define _S_IWRITE 0000200 /* write permission, owner */
86: #define _S_IEXEC 0000100 /* execute/search permission, owner */
87:
88:
89: /* function prototypes */
90:
1.1.1.3 root 91: int _CRTAPI1 _fstat(int, struct _stat *);
1.1.1.4 root 92: int _CRTAPI1 _stat(const char *, struct _stat *);
1.1 root 93:
94: #if !__STDC__
95: /* Non-ANSI names for compatibility */
96:
97: #define S_IFMT _S_IFMT
98: #define S_IFDIR _S_IFDIR
99: #define S_IFCHR _S_IFCHR
100: #define S_IFREG _S_IFREG
101: #define S_IREAD _S_IREAD
102: #define S_IWRITE _S_IWRITE
103: #define S_IEXEC _S_IEXEC
104:
105: #define fstat _fstat
106: #define stat _stat
107:
108: #endif /* __STDC__ */
109:
110: #ifdef __cplusplus
111: }
112: #endif
113:
114: #define _INC_STAT
115: #endif /* _INC_STAT */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.