text: /**
   * This file has no copyright assigned and is placed in the Public Domain.
   * This file is part of the w64 mingw-runtime package.
   * No warranty is given; refer to the file DISCLAIMER within this package.
   */
  /* All the headers include this file. */
  #include <_mingw.h>
  
  #ifndef __STRICT_ANSI__
  
  #ifndef _DIRENT_H_
  #define _DIRENT_H_
  
  #pragma pack(push, _CRT_PACKING)
  
  #include <io.h>
  
  #ifndef RC_INVOKED
  
  #ifdef __cplusplus
  extern "C" {
  #endif
  
  struct dirent {
      long d_ino;              /* Always zero. */
      unsigned short d_reclen; /* Always zero. */
      unsigned short d_namlen; /* Length of name in d_name. */
      char *d_name;            /* File name. */
      /* NOTE: The name in the dirent structure points to the name in the
       *       finddata_t structure in the DIR. */
  };
  
  /*
   * This is an internal data structure. Good programmers will not use it
   * except as an argument to one of the functions below.
   * dd_stat field is now int (was short in older versions).
   */
  typedef struct {
      /* disk transfer area for this dir */
      struct _finddata_t dd_dta;
  
      /* dirent struct to return from dir (NOTE: this makes this thread
       * safe as long as only one thread uses a particular DIR struct at
       * a time) */
      struct dirent dd_dir;
  
      /* _findnext handle */
      long dd_handle;
  
      /*
       * Status of search:
       *   0 = not started yet (next entry to read is first entry)
       *  -1 = off the end
       *   positive = 0 based index of next entry
       */
      int dd_stat;
  
      /* given path for dir with search pattern (struct is extended) */
      char dd_name[1];
  } DIR;
  
  DIR *__cdecl opendir(const char *);
  struct dirent *__cdecl readdir(DIR *);
  int __cdecl closedir(DIR *);
  void __cdecl rewinddir(DIR *);
  long __cdecl telldir(DIR *);
  void __cdecl seekdir(DIR *, long);
  
  /* wide char versions */
  
  struct _wdirent {
      long d_ino;              /* Always zero. */
      unsigned short d_reclen; /* Always zero. */
      unsigned short d_namlen; /* Length of name in d_name. */
      wchar_t *d_name;         /* File name. */
      /* NOTE: The name in the dirent structure points to the name in the	 *
       * wfinddata_t structure in the _WDIR. */
  };
  
  /*
   * This is an internal data structure. Good programmers will not use it
   * except as an argument to one of the functions below.
   */
  typedef struct {
      /* disk transfer area for this dir */
      struct _wfinddata_t dd_dta;
  
      /* dirent struct to return from dir (NOTE: this makes this thread
       * safe as long as only one thread uses a particular DIR struct at
       * a time) */
      struct _wdirent dd_dir;
  
      /* _findnext handle */
      long dd_handle;
  
      /*
       * Status of search:
       *   0 = not started yet (next entry to read is first entry)
       *  -1 = off the end
       *   positive = 0 based index of next entry
       */
      int dd_stat;
  
      /* given path for dir with search pattern (struct is extended) */
      wchar_t dd_name[1];
  } _WDIR;
  
  _WDIR *__cdecl _wopendir(const wchar_t *);
  struct _wdirent *__cdecl _wreaddir(_WDIR *);
  int __cdecl _wclosedir(_WDIR *);
  void __cdecl _wrewinddir(_WDIR *);
  long __cdecl _wtelldir(_WDIR *);
  void __cdecl _wseekdir(_WDIR *, long);
  
  #ifdef __cplusplus
  }
  #endif
  
  #endif /* Not RC_INVOKED */
  
  #pragma pack(pop)
  
  #endif /* Not _DIRENT_H_ */
  
  #endif /* Not __STRICT_ANSI__ */
  