00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef ACE_OS_NS_DIRENT_H
00018 # define ACE_OS_NS_DIRENT_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/os_dirent.h"
00029 #include "ace/ACE_export.h"
00030
00031 #if defined (ACE_EXPORT_MACRO)
00032 # undef ACE_EXPORT_MACRO
00033 #endif
00034 #define ACE_EXPORT_MACRO ACE_Export
00035
00036 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00037
00038 namespace ACE_OS {
00039
00040 ACE_NAMESPACE_INLINE_FUNCTION
00041 void closedir (ACE_DIR *);
00042
00043 ACE_NAMESPACE_INLINE_FUNCTION
00044 ACE_DIR *opendir (const ACE_TCHAR *filename);
00045
00046 ACE_NAMESPACE_INLINE_FUNCTION
00047 struct ACE_DIRENT *readdir (ACE_DIR *);
00048
00049 ACE_NAMESPACE_INLINE_FUNCTION
00050 int readdir_r (ACE_DIR *dirp,
00051 struct ACE_DIRENT *entry,
00052 struct ACE_DIRENT **result);
00053
00054 ACE_NAMESPACE_INLINE_FUNCTION
00055 void rewinddir (ACE_DIR *);
00056
00057 ACE_NAMESPACE_INLINE_FUNCTION
00058 int scandir (const ACE_TCHAR *dirname,
00059 struct ACE_DIRENT **namelist[],
00060 int (*selector) (const struct ACE_DIRENT *filename),
00061 int (*comparator) (const struct ACE_DIRENT **f1,
00062 const struct ACE_DIRENT **f2));
00063
00064 ACE_NAMESPACE_INLINE_FUNCTION
00065 void seekdir (ACE_DIR *,
00066 long loc);
00067
00068 ACE_NAMESPACE_INLINE_FUNCTION
00069 long telldir (ACE_DIR *);
00070
00071
00072 #if defined (ACE_LACKS_OPENDIR)
00073 extern ACE_Export
00074 ACE_DIR *opendir_emulation (const ACE_TCHAR *filename);
00075 #endif
00076
00077 #if !defined (ACE_HAS_SCANDIR)
00078 extern ACE_Export
00079 int scandir_emulation (const ACE_TCHAR *dirname,
00080 ACE_DIRENT **namelist[],
00081 int (*selector)(const ACE_DIRENT *entry),
00082 int (*comparator)(const ACE_DIRENT **f1,
00083 const ACE_DIRENT**f2));
00084 #endif
00085
00086 #if defined (ACE_LACKS_CLOSEDIR)
00087 extern ACE_Export
00088 void closedir_emulation (ACE_DIR *);
00089 #endif
00090
00091 #if defined (ACE_LACKS_READDIR)
00092 extern ACE_Export
00093 struct ACE_DIRENT *readdir_emulation (ACE_DIR *);
00094 #endif
00095
00096 }
00097
00098 ACE_END_VERSIONED_NAMESPACE_DECL
00099
00100 # if defined (ACE_HAS_INLINED_OSCALLS)
00101 # if defined (ACE_INLINE)
00102 # undef ACE_INLINE
00103 # endif
00104 # define ACE_INLINE inline
00105 # include "ace/OS_NS_dirent.inl"
00106 # endif
00107
00108 # include "ace/post.h"
00109 #endif