diff options
Diffstat (limited to 'ace/OS_Dirent.inl')
-rw-r--r-- | ace/OS_Dirent.inl | 209 |
1 files changed, 0 insertions, 209 deletions
diff --git a/ace/OS_Dirent.inl b/ace/OS_Dirent.inl deleted file mode 100644 index a56b0ae58c6..00000000000 --- a/ace/OS_Dirent.inl +++ /dev/null @@ -1,209 +0,0 @@ -/* -*- C++ -*- */ -// $Id$ - -#if defined (ACE_HAS_PACE) -#include /**/ "pace/dirent.h" -#endif /* ACE_HAS_PACE */ -ACE_INLINE ACE_DIR * -ACE_OS_Dirent::opendir (const ACE_TCHAR *filename) -{ -#if defined (ACE_HAS_PACE) && !defined (ACE_WIN32) - return pace_opendir (filename); -#elif defined (ACE_HAS_DIRENT) -# if defined (ACE_PSOS) - - // The pointer to the <ACE_DIR> buffer must be passed to ACE_OS_Dirent::closedir - // in order to free it and avoid a memory leak. - ACE_DIR *dir; - u_long result; - ACE_NEW_RETURN (dir, ACE_DIR, 0); -# if defined (ACE_PSOS_DIAB_PPC) - result = ::open_dir (ACE_const_cast (char *, filename), &(dir->xdir)); -# else - result = ::open_dir (ACE_const_cast (char *, filename), dir); -# endif /* defined ACE_PSOS_DIAB_PPC */ - if (result == 0) - return dir; - else - { - errno = result; - return 0; - } -# else /* ! defined (ACE_PSOS) */ -# if defined (ACE_WIN32) - return ::ACE_OS_Dirent::opendir_emulation (filename); -# else /* ACE_WIN32 */ - // VxWorks' ::opendir () is declared with a non-const argument. - return ::opendir (ACE_const_cast (char *, filename)); -# endif /* ACE_WIN32 */ -# endif /* ! defined (ACE_PSOS) */ -#else - ACE_UNUSED_ARG (filename); - ACE_NOTSUP_RETURN (0); -#endif /* ACE_HAS_PACE */ -} - -ACE_INLINE void -ACE_OS_Dirent::closedir (ACE_DIR *d) -{ -#if defined (ACE_HAS_PACE) && !defined (ACE_WIN32) - pace_closedir (d); -#elif defined (ACE_HAS_DIRENT) -# if defined (ACE_PSOS) - - u_long result; - -# if defined (ACE_PSOS_DIAB_PPC) - result = ::close_dir (&(d->xdir)); -# else - result = ::close_dir (d); -# endif /* defined ACE_PSOS_DIAB_PPC */ - - delete d; - if (result != 0) - errno = result; - -# else /* ! defined (ACE_PSOS) */ - -# if defined (ACE_WIN32) - ACE_OS_Dirent::closedir_emulation (d); - delete d->directory_name_; - delete d; -# else /* ACE_WIN32 */ - ::closedir (d); -# endif /* ACE_WIN32 */ - -# endif /* !ACE_PSOS */ -#else /* ACE_HAS_DIRENT */ - ACE_UNUSED_ARG (d); -#endif /* ACE_HAS_PACE */ -} - -ACE_INLINE struct dirent * -ACE_OS_Dirent::readdir (ACE_DIR *d) -{ -#if defined (ACE_HAS_PACE) && !defined (ACE_WIN32) - return pace_readdir (d); -#elif defined (ACE_HAS_DIRENT) -# if defined (ACE_PSOS) - // The returned pointer to the dirent struct must be deleted by the - // caller to avoid a memory leak. - struct dirent *dir_ent; - u_long result; - - ACE_NEW_RETURN (dir_ent, - dirent, - 0); -#if defined (ACE_PSOS_DIAB_PPC) - result = ::read_dir (&(d->xdir), dir_ent); -#else - result = ::read_dir (d, dir_ent); -#endif /* defined ACE_PSOS_DIAB_PPC) */ - - if (0 == result) - return dir_ent; - else - { - errno = result; - return 0; - } - -# else /* ! defined (ACE_PSOS) */ -# if defined (ACE_WIN32) - return ACE_OS_Dirent::readdir_emulation (d); -# else /* defined (ACE_WIN32) */ - return ::readdir (d); -# endif /* defined (ACE_WIN32) */ -# endif /* ! defined (ACE_PSOS) */ -#else - ACE_UNUSED_ARG (d); - ACE_NOTSUP_RETURN (0); -#endif /* ACE_HAS_PACE */ -} - -ACE_INLINE int -ACE_OS_Dirent::readdir_r (ACE_DIR *dirp, - struct dirent *entry, - struct dirent **result) -{ -#if defined (ACE_HAS_PACE) && !defined (ACE_WIN32) - return pace_readdir_r (dirp, entry, result); -# elif !defined (ACE_HAS_REENTRANT_FUNCTIONS) - ACE_UNUSED_ARG (entry); - // <result> has better not be 0! - *result = ACE_OS_Dirent::readdir (dirp); - return 0; -# elif defined (ACE_HAS_DIRENT) && !defined (ACE_LACKS_READDIR_R) -# if (defined (sun) && (defined (_POSIX_PTHREAD_SEMANTICS) || \ - (_FILE_OFFSET_BITS == 64))) || \ - (!defined (sun) && (defined (ACE_HAS_PTHREADS_STD) || \ - defined (ACE_HAS_PTHREADS_DRAFT7) || \ - defined (__USE_POSIX) || \ - defined (HPUX_11))) -# if defined (__GNUG__) && defined (DIGITAL_UNIX) - return readdir_r (dirp, entry, result); -# else - return ::readdir_r (dirp, entry, result); -# endif /* defined (__GNUG__) && defined (DIGITAL_UNIX) */ -# else /* ! POSIX.1c - this is draft 4 or draft 6 */ -# if defined (HPUX_10) /* But HP 10.x doesn't follow the draft either */ - *result = entry; - return ::readdir_r (dirp, entry); -# else - // <result> had better not be 0! - *result = ::readdir_r (dirp, entry); - return 0; -# endif /* HPUX_10 */ -# endif /* ! POSIX.1c */ -#else /* ! ACE_HAS_DIRENT || ACE_LACKS_READDIR_R */ - ACE_UNUSED_ARG (dirp); - ACE_UNUSED_ARG (entry); - ACE_UNUSED_ARG (result); - ACE_NOTSUP_RETURN (0); - -#endif /* ACE_HAS_PACE */ -} - -ACE_INLINE long -ACE_OS_Dirent::telldir (ACE_DIR *d) -{ -#if defined (ACE_HAS_DIRENT) && !defined (ACE_LACKS_TELLDIR) - return ::telldir (d); -#else /* ! ACE_HAS_DIRENT || ACE_LACKS_TELLDIR */ - ACE_UNUSED_ARG (d); - ACE_NOTSUP_RETURN (-1); -#endif /* ! ACE_HAS_DIRENT || ACE_LACKS_TELLDIR */ -} - -ACE_INLINE void -ACE_OS_Dirent::seekdir (ACE_DIR *d, long loc) -{ -#if defined (ACE_HAS_DIRENT) && !defined (ACE_LACKS_SEEKDIR) - ::seekdir (d, loc); -#else /* ! ACE_HAS_DIRENT || ACE_LACKS_SEEKDIR */ - ACE_UNUSED_ARG (d); - ACE_UNUSED_ARG (loc); -#endif /* ! ACE_HAS_DIRENT || ACE_LACKS_SEEKDIR */ -} - -ACE_INLINE void -ACE_OS_Dirent::rewinddir (ACE_DIR *d) -{ -#if defined (ACE_HAS_PACE) && !defined (ACE_WIN32) - pace_rewinddir (d); -#elif defined (ACE_HAS_DIRENT) -# if defined (ACE_LACKS_SEEKDIR) -# if defined (ACE_LACKS_REWINDDIR) - ACE_UNUSED_ARG (d); -# else /* ! defined (ACE_LACKS_REWINDDIR) */ - ::rewinddir (d); -# endif /* ! defined (ACE_LACKS_REWINDDIR) */ -# else /* ! ACE_LACKS_SEEKDIR */ - // We need to implement <rewinddir> using <seekdir> since it's often - // defined as a macro... - ::seekdir (d, long (0)); -# endif /* ! ACE_LACKS_SEEKDIR */ -#else - ACE_UNUSED_ARG (d); -#endif /* ACE_HAS_DIRENT */ -} |