Annotation of parser3/src/lib/ltdl/libltdl/lt__dirent.h, revision 1.1
1.1 ! moko 1: /* lt__dirent.h -- internal directory entry scanning interface
! 2:
! 3: Copyright (C) 2001, 2004, 2006 Free Software Foundation, Inc.
! 4: Written by Bob Friesenhahn, 2001
! 5:
! 6: NOTE: The canonical source of this file is maintained with the
! 7: GNU Libtool package. Report bugs to bug-libtool@gnu.org.
! 8:
! 9: GNU Libltdl is free software; you can redistribute it and/or
! 10: modify it under the terms of the GNU Lesser General Public
! 11: License as published by the Free Software Foundation; either
! 12: version 2 of the License, or (at your option) any later version.
! 13:
! 14: As a special exception to the GNU Lesser General Public License,
! 15: if you distribute this file as part of a program or library that
! 16: is built using GNU Libtool, you may include this file under the
! 17: same distribution terms that you use for the rest of that program.
! 18:
! 19: GNU Libltdl is distributed in the hope that it will be useful,
! 20: but WITHOUT ANY WARRANTY; without even the implied warranty of
! 21: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
! 22: GNU Lesser General Public License for more details.
! 23:
! 24: You should have received a copy of the GNU Lesser General Public
! 25: License along with GNU Libltdl; see the file COPYING.LIB. If not, a
! 26: copy can be downloaded from http://www.gnu.org/licenses/lgpl.html,
! 27: or obtained by writing to the Free Software Foundation, Inc.,
! 28: 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
! 29: */
! 30:
! 31: #if !defined(LT__DIRENT_H)
! 32: #define LT__DIRENT_H 1
! 33:
! 34: #if defined(LT_CONFIG_H)
! 35: # include LT_CONFIG_H
! 36: #else
! 37: # include <config.h>
! 38: #endif
! 39:
! 40: #include "lt_system.h"
! 41:
! 42: #ifdef HAVE_DIRENT_H
! 43: /* We have a fully operational dirent subsystem. */
! 44: # include <dirent.h>
! 45: # define D_NAMLEN(dirent) (strlen((dirent)->d_name))
! 46:
! 47: #elif defined __WINDOWS__
! 48: /* Use some wrapper code to emulate dirent on windows.. */
! 49: # define WINDOWS_DIRENT_EMULATION 1
! 50:
! 51: # include <windows.h>
! 52:
! 53: # define D_NAMLEN(dirent) (strlen((dirent)->d_name))
! 54: # define dirent lt__dirent
! 55: # define DIR lt__DIR
! 56: # define opendir lt__opendir
! 57: # define readdir lt__readdir
! 58: # define closedir lt__closedir
! 59:
! 60: LT_BEGIN_C_DECLS
! 61:
! 62: struct dirent
! 63: {
! 64: char d_name[LT_FILENAME_MAX];
! 65: int d_namlen;
! 66: };
! 67:
! 68: typedef struct
! 69: {
! 70: HANDLE hSearch;
! 71: WIN32_FIND_DATA Win32FindData;
! 72: BOOL firsttime;
! 73: struct dirent file_info;
! 74: } DIR;
! 75:
! 76:
! 77: LT_SCOPE DIR * opendir (const char *path);
! 78: LT_SCOPE struct dirent *readdir (DIR *entry);
! 79: LT_SCOPE void closedir (DIR *entry);
! 80:
! 81: LT_END_C_DECLS
! 82:
! 83: #else /* !defined(__WINDOWS__)*/
! 84: ERROR - cannot find dirent
! 85: #endif /*!defined(__WINDOWS__)*/
! 86:
! 87: #endif /*!defined(LT__DIRENT_H)*/
E-mail: