00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef ACE_OS_NS_SYS_STAT_H
00018 # define ACE_OS_NS_SYS_STAT_H
00019
00020 # include "ace/pre.h"
00021
00022 # include "ace/config-all.h"
00023
00024 # if !defined (ACE_LACKS_PRAGMA_ONCE)
00025 # pragma once
00026 # endif
00027
00028 #include "ace/os_include/sys/os_stat.h"
00029 #include "ace/Default_Constants.h"
00030 #include "ace/ACE_export.h"
00031
00032 #if defined (ACE_EXPORT_MACRO)
00033 # undef ACE_EXPORT_MACRO
00034 #endif
00035 #define ACE_EXPORT_MACRO ACE_Export
00036
00037 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00038
00039 # if defined (_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS == 64 \
00040 && defined (ACE_WIN32)
00041 # if defined (__BORLANDC__)
00042 typedef struct stati64 ACE_stat;
00043 # define ACE_STAT_FUNC_NAME ::_stati64
00044 # define ACE_WSTAT_FUNC_NAME ::_wstati64
00045 # elif !defined (ACE_HAS_WINCE) && defined (_MSC_VER)
00046 # if _MSC_VER >= 1400
00047
00048
00049 # if defined (ACE_MSVC_USES_DOUBLE_UNDERSCORE_STAT64)
00050 typedef struct __stat64 ACE_stat;
00051 # else
00052 typedef struct _stat64 ACE_stat;
00053 # endif
00054 # define ACE_STAT_FUNC_NAME ::_stat64
00055 # define ACE_WSTAT_FUNC_NAME ::_wstat64
00056 # else
00057
00058 typedef struct _stati64 ACE_stat;
00059 # define ACE_STAT_FUNC_NAME ::_stati64
00060 # define ACE_WSTAT_FUNC_NAME ::_wstati64
00061 # endif
00062 # else
00063 typedef struct stat ACE_stat;
00064 # define ACE_STAT_FUNC_NAME ::stat
00065 # define ACE_WSTAT_FUNC_NAME ACE_STAT_FUNC_NAME
00066 # endif
00067 # else
00068
00069 # if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
00070 typedef struct _stat ACE_stat;
00071 # define ACE_STAT_FUNC_NAME ::_stat
00072 # define ACE_WSTAT_FUNC_NAME ::_wstat
00073 # else
00074 typedef struct stat ACE_stat;
00075 # define ACE_STAT_FUNC_NAME ::stat
00076 # define ACE_WSTAT_FUNC_NAME ACE_STAT_FUNC_NAME
00077 # endif
00078 # endif
00079
00080 namespace ACE_OS
00081 {
00082
00083 ACE_NAMESPACE_INLINE_FUNCTION
00084 ACE_HANDLE creat (const ACE_TCHAR *filename,
00085 mode_t mode);
00086
00087
00088
00089
00090 ACE_NAMESPACE_INLINE_FUNCTION
00091 ACE_OFF_T filesize (ACE_HANDLE handle);
00092
00093 ACE_NAMESPACE_INLINE_FUNCTION
00094 ACE_OFF_T filesize (const ACE_TCHAR *handle);
00095
00096
00097 ACE_NAMESPACE_INLINE_FUNCTION
00098 int fstat (ACE_HANDLE,
00099 ACE_stat *);
00100
00101 ACE_NAMESPACE_INLINE_FUNCTION
00102 int lstat (const char *,
00103 ACE_stat *);
00104
00105 #if defined (ACE_HAS_WCHAR)
00106 ACE_NAMESPACE_INLINE_FUNCTION
00107 int lstat (const wchar_t *,
00108 ACE_stat *);
00109 #endif
00110
00111 ACE_NAMESPACE_INLINE_FUNCTION
00112 int mkdir (const char *path,
00113 mode_t mode = ACE_DEFAULT_DIR_PERMS);
00114
00115 #if defined (ACE_HAS_WCHAR)
00116 ACE_NAMESPACE_INLINE_FUNCTION
00117 int mkdir (const wchar_t *path,
00118 mode_t mode = ACE_DEFAULT_DIR_PERMS);
00119 #endif
00120
00121 ACE_NAMESPACE_INLINE_FUNCTION
00122 int mkfifo (const ACE_TCHAR *file,
00123 mode_t mode = ACE_DEFAULT_FILE_PERMS);
00124
00125 ACE_NAMESPACE_INLINE_FUNCTION
00126 int stat (const char *file, ACE_stat *);
00127
00128 #if defined (ACE_HAS_WCHAR)
00129 ACE_NAMESPACE_INLINE_FUNCTION
00130 int stat (const wchar_t *file, ACE_stat *);
00131 #endif
00132
00133 ACE_NAMESPACE_INLINE_FUNCTION
00134 mode_t umask (mode_t cmask);
00135
00136 }
00137
00138 ACE_END_VERSIONED_NAMESPACE_DECL
00139
00140 # if defined (ACE_HAS_INLINED_OSCALLS)
00141 # if defined (ACE_INLINE)
00142 # undef ACE_INLINE
00143 # endif
00144 # define ACE_INLINE inline
00145 # include "ace/OS_NS_sys_stat.inl"
00146 # endif
00147
00148 # include "ace/post.h"
00149 #endif