pdir.h
上传用户:tany51
上传日期:2013-06-12
资源大小:1397k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /*
  2.  * Copyright (C) 2001  Dizzy (dizzy@roedu.net)
  3.  *
  4.  * This program is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU General Public License
  6.  * as published by the Free Software Foundation; either version 2
  7.  * of the License, or (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  * GNU General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public License
  15.  * along with this program; if not, write to the Free Software
  16.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  17.  */
  18. #ifndef INCLUDED_PDIR_TYPES
  19. #define INCLUDED_PDIR_TYPES
  20. #ifdef PDIR_INTERNAL_ACCESS
  21. #ifdef JUST_NEED_TYPES
  22. # ifdef HAVE_DIRENT_H
  23. #  include <dirent.h>
  24. # else
  25. #  ifdef HAVE_SYS_NDIR_H
  26. #   include <sys/ndir.h>
  27. #  endif
  28. #  if HAVE_SYS_DIR_H
  29. #   include <sys/dir.h>
  30. #  endif
  31. #  if HAVE_NDIR_H
  32. #   include <ndir.h>
  33. #  endif
  34. #  define dirent direct
  35. # endif
  36. # ifdef WIN32
  37. #  include <io.h> /* for _findfirst(), _findnext(), etc */
  38. # endif
  39. #else
  40. # define JUST_NEED_TYPES
  41. # ifdef HAVE_DIRENT_H
  42. #  include <dirent.h>
  43. # else
  44. #  ifdef HAVE_SYS_NDIR_H
  45. #   include <sys/ndir.h>
  46. #  endif
  47. #  if HAVE_SYS_DIR_H
  48. #   include <sys/dir.h>
  49. #  endif
  50. #  if HAVE_NDIR_H
  51. #   include <ndir.h>
  52. #  endif
  53. #  define dirent direct
  54. # endif
  55. # ifdef WIN32
  56. #  include <io.h> /* for _findfirst(), _findnext(), etc */
  57. # endif
  58. # undef JUST_NEED_TYPES
  59. #endif
  60. #endif
  61. typedef struct pdir_struct
  62. #ifdef PDIR_INTERNAL_ACCESS
  63. {
  64.    char const *       path;
  65.    char const *       lastret;
  66. #ifdef WIN32
  67.    long               lFindHandle;
  68.    struct _finddata_t fileinfo;
  69.    int                status; /* -1 == failure, 0 == freshly opened, 1 == opened and read, 2 == eof */
  70. #else /* POSIX */
  71.    DIR *              dir;
  72. #endif
  73. }
  74. #endif
  75. t_pdir;
  76. #endif
  77. #ifndef JUST_NEED_TYPES
  78. #ifndef INCLUDED_PDIR_PROTOS
  79. #define INCLUDED_PDIR_PROTOS
  80. extern t_pdir * p_opendir(const char * dirname);
  81. extern int p_rewinddir(t_pdir * pdir);
  82. extern char const * p_readdir(t_pdir * pdir);
  83. extern int p_closedir(t_pdir * pdir);
  84. #endif
  85. #endif