00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef ACE_OS_INCLUDE_SYS_OS_STAT_H
00017 #define ACE_OS_INCLUDE_SYS_OS_STAT_H
00018
00019 #include "ace/pre.h"
00020
00021 #include "ace/config-lite.h"
00022
00023 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00024 # pragma once
00025 #endif
00026
00027 #include "ace/os_include/sys/os_types.h"
00028
00029 #if defined (ACE_WIN32) && !defined (ACE_HAS_WINCE)
00030 # include <direct.h>
00031 #endif
00032
00033 #if !defined (ACE_LACKS_SYS_STAT_H)
00034 # include <sys/stat.h>
00035 #endif
00036
00037
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042
00043 #if defined (ACE_LACKS_MODE_MASKS)
00044
00045
00046
00047
00048 # if !defined (ACE_HAS_USER_MODE_MASKS)
00049 # define S_IRWXU 00700
00050 # define S_IRUSR 00400
00051 # define S_IWUSR 00200
00052 # define S_IXUSR 00100
00053 # endif
00054 # define S_IRWXG 00070
00055 # define S_IRGRP 00040
00056 # define S_IWGRP 00020
00057 # define S_IXGRP 00010
00058 # define S_IRWXO 00007
00059 # define S_IROTH 00004
00060 # define S_IWOTH 00002
00061 # define S_IXOTH 00001
00062
00063
00064 #if !defined (S_IFLNK) && !defined (ACE_HAS_WINCE)
00065 #define S_IFLNK 0200000
00066 #endif
00067
00068 #endif
00069
00070
00071 #if !defined (S_ISLNK)
00072 # if defined (S_IFLNK)
00073 # define S_ISLNK(mode) (((mode)&S_IFLNK) == S_IFLNK)
00074 # else
00075 # define S_ISLNK(mode) 0
00076 # endif
00077 #endif
00078
00079 #if defined (ACE_HAS_WINCE)
00080 # include "ace/Time_Value.h"
00081
00082
00083
00084
00085 # define S_IFMT 0xFFFF
00086 # define S_IFDIR FILE_ATTRIBUTE_DIRECTORY
00087 # define S_IFREG FILE_ATTRIBUTE_NORMAL
00088 # define S_IFLNK 0
00089
00090 struct stat
00091 {
00092
00093 dev_t st_dev;
00094
00095
00096 dev_t st_rdev;
00097
00098
00099 unsigned short st_mode;
00100
00101
00102 short st_nlink;
00103
00104
00105 ACE_Time_Value st_atime;
00106
00107
00108 ACE_Time_Value st_mtime;
00109
00110
00111 ACE_Time_Value st_ctime;
00112
00113
00114 off_t st_size;
00115
00116
00117
00118
00119 };
00120 #endif
00121
00122 #ifdef __cplusplus
00123 }
00124 #endif
00125
00126 #include "ace/post.h"
00127 #endif