
//
// wild.h: new 07-24-23.  Helper functions for directory listings, w/ wild card specifiers.
//
//
//
//
//


#ifndef WILD_H
#define WILD_H

#ifdef _WIN32
#include <io.h>



typedef struct {
   struct _finddata_t dev_dir; /* silly MSDEV structure in <dos.h> */
   intptr_t       handl;       // 01-23-17
   int         now_valid;   /* opendir() actually finds the first... */
} DIR;


typedef struct {
   char  d_name[256];   /* this is all we need... */
} DIR_GUY;

#endif // _WIN32




#ifdef MOVED_TO_GLOBS
int matchInner(const unsigned char *pattern_u, const unsigned char *candidate_u, const unsigned char *pcEquiv);
int match(const unsigned char *pattern_u, const unsigned char *candidate_u, const unsigned char *pcEquiv);
#endif // MOVED_TO_GLOBS

#ifdef _WIN32
DIR     *opendir(const char *dirname);
DIR_GUY *readdir(DIR *dfd);
void    closedir(DIR *dfd);
#endif // _WIN32

int fillSrcFiles(const char *dir_name, vetSet<std::string> &vtSrcFiles, int iDepth, bool bInclBotFoldrs);
// int fillSpecdFiles(const char *dir_name, const std::vector<std::string> &vcSpecs, vetSet<std::string> &vtSrcFiles, int iDepth, bool bInclBotFoldrs);  // out; use version w/ vcExclude (make it blank).
int fillSpecdFiles(const char *dir_name, const std::vector<std::string> &vcSpecs, const std::vector<std::string> &vcExclude, vetSet<std::string> &vtSrcFiles, int iDepth, bool bInclBotFoldrs);
int has_wilds(const unsigned char *name);




#endif // !WILD_H


