OS_NS_dirent.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  *  @file   OS_NS_dirent.h
00006  *
00007  *  OS_NS_dirent.h,v 1.7 2006/06/08 11:59:23 jtc Exp
00008  *
00009  *  @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
00010  *  @author Jesper S. M|ller<stophph@diku.dk>
00011  *  @author and a cast of thousands...
00012  *
00013  *  Originally in OS.h.
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 /* ACE_LACKS_PRAGMA_ONCE */
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   // Win32 emulation functions
00072 #if defined (ACE_LACKS_OPENDIR)
00073   extern ACE_Export
00074   ACE_DIR *opendir_emulation (const ACE_TCHAR *filename);
00075 #endif /* ACE_LACKS_OPENDIR */
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 /* !ACE_HAS_SCANDIR */
00085 
00086 #if defined (ACE_LACKS_CLOSEDIR)
00087   extern ACE_Export
00088   void closedir_emulation (ACE_DIR *);
00089 #endif /* ACE_LACKS_CLOSEDIR */
00090 
00091 #if defined (ACE_LACKS_READDIR)
00092   extern ACE_Export
00093   struct ACE_DIRENT *readdir_emulation (ACE_DIR *);
00094 #endif /* ACE_LACKS_READDIR */
00095 
00096 } /* namespace ACE_OS */
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 /* ACE_INLINE */
00104 #   define ACE_INLINE inline
00105 #   include "ace/OS_NS_dirent.inl"
00106 # endif /* ACE_HAS_INLINED_OSCALLS */
00107 
00108 # include /**/ "ace/post.h"
00109 #endif /* ACE_OS_NS_DIRENT_H */

Generated on Thu Nov 9 09:41:57 2006 for ACE by doxygen 1.3.6