1 /***
2 *sys/types.h - types returned by system level calls for file and time info
3 *
4 *           Copyright (c) Microsoft Corporation. All rights reserved.
5 *
6 *Purpose:
7 *           This file defines types used in defining values returned by system
8 *           level calls for file status and time information.
9 *           [System V]
10 *
11 *           [Public]
12 *
13 ****/
14
15 #if        _MSC_VER > 1000
16 #pragma once
17 #endif
18
19 #ifndef _INC_TYPES
20 #define _INC_TYPES
21
22 #if        !defined(_WIN32)
23 #error ERROR: Only Win32 target supported!
Lines 24 ... 26 are skipped.
27 #if !defined(_W64)
28 #if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
29 #define _W64 __w64
30 #else
31 #define _W64
32 #endif
33 #endif
34
35 #ifdef  _USE_32BIT_TIME_T
36 #ifdef  _WIN64
37 #include <crtwrn.h>
38 #pragma _CRT_WARNING( _NO_32BIT_TIME_T )
39 #undef  _USE_32BIT_TIME_T
40 #endif
41 #endif
42
43 #ifndef _TIME32_T_DEFINED
44 typedef _W64 long __time32_t;     /* 32-bit time value */
45 #define _TIME32_T_DEFINED
46 #endif
47
48 #ifndef _TIME64_T_DEFINED
49 typedef __int64 __time64_t;        /* 64-bit time value */
50 #define _TIME64_T_DEFINED
51 #endif
52
53 #ifndef _TIME_T_DEFINED
54 #ifdef _USE_32BIT_TIME_T
55 typedef __time32_t time_t;          /* time value */
56 #else
57 typedef __time64_t time_t;          /* time value */
58 #endif
59 #define _TIME_T_DEFINED               /* avoid multiple def's of time_t */
60 #endif
61
62
63 #ifndef _INO_T_DEFINED
64
65 typedef unsigned short _ino_t;                /* i-node number (not used on DOS) */
66
67 #if        !__STDC__
68 /* Non-ANSI name for compatibility */
69 typedef unsigned short ino_t;
70 #endif
71
72 #define _INO_T_DEFINED
73 #endif
74
75
76 #ifndef _DEV_T_DEFINED
77
78 typedef unsigned int _dev_t;                    /* device code */
79
80 #if        !__STDC__
81 /* Non-ANSI name for compatibility */
82 typedef unsigned int dev_t;
83 #endif
84
85 #define _DEV_T_DEFINED
86 #endif
87
88
89 #ifndef _OFF_T_DEFINED
90
91 typedef long _off_t;                                 /* file offset value */
92
93 #if        !__STDC__
94 /* Non-ANSI name for compatibility */
95 typedef long off_t;
96 #endif
97
98 #define _OFF_T_DEFINED
99 #endif
100
101 #endif  /* _INC_TYPES */
102