blob: 4afae8c1be780eda0e0c9245e8c6b651ed2e00e8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
// -*- C++ -*-
//=============================================================================
/**
* @file OS_NS_sys_stat.h
*
* $Id$
*
* @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
* @author Jesper S. M|ller<stophph@diku.dk>
* @author and a cast of thousands...
*
* Originally in OS.h.
*/
//=============================================================================
#ifndef ACE_OS_NS_SYS_STAT_H
# define ACE_OS_NS_SYS_STAT_H
# include /**/ "ace/pre.h"
# include "ace/config-all.h"
# if !defined (ACE_LACKS_PRAGMA_ONCE)
# pragma once
# endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ace/os_include/sys/os_stat.h"
#include "ace/Default_Constants.h" // for ACE_DEFAULT_DIR_PERMS
#include /**/ "ace/ACE_export.h"
#if defined (ACE_EXPORT_MACRO)
# undef ACE_EXPORT_MACRO
#endif
#define ACE_EXPORT_MACRO ACE_Export
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
# if defined (_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 \
&& defined (ACE_WIN32)
# if defined (__BORLANDC__)
typedef struct stati64 ACE_stat;
# define ACE_STAT_FUNC_NAME ::_stati64
# define ACE_WSTAT_FUNC_NAME ::_wstati64
# elif !defined (ACE_HAS_WINCE) && defined (_MSC_VER)
# if _MSC_VER >= 1400
// For vc8 which has time_t as 64bit
// 64-bit file offsets, 64-bit time_t
# if defined (ACE_MSVC_USES_DOUBLE_UNDERSCORE_STAT64)
typedef struct __stat64 ACE_stat;
# else
typedef struct _stat64 ACE_stat;
# endif
# define ACE_STAT_FUNC_NAME ::_stat64
# define ACE_WSTAT_FUNC_NAME ::_wstat64
# else
// For vc71 which has time_t as 32bit
typedef struct _stati64 ACE_stat;
# define ACE_STAT_FUNC_NAME ::_stati64
# define ACE_WSTAT_FUNC_NAME ::_wstati64
# endif /* _MSC_VER >= 1400 */
# else
typedef struct stat ACE_stat;
# define ACE_STAT_FUNC_NAME ::stat
# define ACE_WSTAT_FUNC_NAME ACE_STAT_FUNC_NAME
# endif /**/
# else
// Default file offset case.
# if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
typedef struct _stat ACE_stat;
# define ACE_STAT_FUNC_NAME ::_stat
# define ACE_WSTAT_FUNC_NAME ::_wstat
# else
typedef struct stat ACE_stat;
# define ACE_STAT_FUNC_NAME ::stat
# define ACE_WSTAT_FUNC_NAME ACE_STAT_FUNC_NAME
# endif /* ACE_WIN32 */
# endif /* _FILE_OFFSET_BITS == 64 && ACE_WIN32 */
namespace ACE_OS
{
ACE_NAMESPACE_INLINE_FUNCTION
ACE_HANDLE creat (const ACE_TCHAR *filename,
mode_t mode);
//@{ @name A set of wrappers for low-level file operations.
// non-standard
ACE_NAMESPACE_INLINE_FUNCTION
ACE_OFF_T filesize (ACE_HANDLE handle);
ACE_NAMESPACE_INLINE_FUNCTION
ACE_OFF_T filesize (const ACE_TCHAR *handle);
//@}
ACE_NAMESPACE_INLINE_FUNCTION
int fstat (ACE_HANDLE,
ACE_stat *);
ACE_NAMESPACE_INLINE_FUNCTION
int lstat (const char *,
ACE_stat *);
#if defined (ACE_HAS_WCHAR)
ACE_NAMESPACE_INLINE_FUNCTION
int lstat (const wchar_t *,
ACE_stat *);
#endif /* ACE_HAS_WCHAR */
ACE_NAMESPACE_INLINE_FUNCTION
int mkdir (const char *path,
mode_t mode = ACE_DEFAULT_DIR_PERMS);
#if defined (ACE_HAS_WCHAR)
ACE_NAMESPACE_INLINE_FUNCTION
int mkdir (const wchar_t *path,
mode_t mode = ACE_DEFAULT_DIR_PERMS);
#endif /* ACE_HAS_WCHAR */
ACE_NAMESPACE_INLINE_FUNCTION
int mkfifo (const ACE_TCHAR *file,
mode_t mode = ACE_DEFAULT_FILE_PERMS);
ACE_NAMESPACE_INLINE_FUNCTION
int stat (const char *file, ACE_stat *);
#if defined (ACE_HAS_WCHAR)
ACE_NAMESPACE_INLINE_FUNCTION
int stat (const wchar_t *file, ACE_stat *);
#endif /* ACE_HAS_WCHAR */
ACE_NAMESPACE_INLINE_FUNCTION
mode_t umask (mode_t cmask);
} /* namespace ACE_OS */
ACE_END_VERSIONED_NAMESPACE_DECL
# if defined (ACE_HAS_INLINED_OSCALLS)
# if defined (ACE_INLINE)
# undef ACE_INLINE
# endif /* ACE_INLINE */
# define ACE_INLINE inline
# include "ace/OS_NS_sys_stat.inl"
# endif /* ACE_HAS_INLINED_OSCALLS */
# include /**/ "ace/post.h"
#endif /* ACE_OS_NS_SYS_STAT_H */
|