| /*++ | |
| Copyright (c) 2004, Intel Corporation | |
| All rights reserved. This program and the accompanying materials | |
| are licensed and made available under the terms and conditions of the BSD License | |
| which accompanies this distribution. The full text of the license may be found at | |
| http://opensource.org/licenses/bsd-license.php | |
| THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| Module Name: | |
| FileSearch.h | |
| Abstract: | |
| Header file to support file searching. | |
| --*/ | |
| #ifndef _FILE_SEARCH_H_ | |
| #define _FILE_SEARCH_H_ | |
| // | |
| // Since the file searching routines are OS dependent, put the | |
| // necessary include paths in this header file so that the non-OS-dependent | |
| // files don't need to include these windows-specific header files. | |
| // | |
| #include <stdio.h> | |
| #include <string.h> | |
| #include <ctype.h> | |
| #include <direct.h> | |
| #include <windows.h> | |
| // | |
| // Return codes of some of the file search routines | |
| // | |
| #define STATUS_NOT_FOUND 0x1000 | |
| // | |
| // Flags for what to search for. Also used in the FileFlags return field. | |
| // | |
| #define FILE_SEARCH_DIR 0x0001 | |
| #define FILE_SEARCH_FILE 0x0002 | |
| // | |
| // Here's our class definition | |
| // | |
| typedef struct { | |
| HANDLE Handle; | |
| WIN32_FIND_DATA FindData; | |
| UINT32 FileSearchFlags; // DIRS, FILES, etc | |
| UINT32 FileFlags; | |
| INT8 FileName[MAX_PATH]; // for portability | |
| STRING_LIST *ExcludeDirs; | |
| STRING_LIST *ExcludeFiles; | |
| STRING_LIST *ExcludeExtensions; | |
| } FILE_SEARCH_DATA; | |
| // | |
| // Here's our member functions | |
| // | |
| STATUS | |
| FileSearchInit ( | |
| FILE_SEARCH_DATA *FSData | |
| ) | |
| ; | |
| STATUS | |
| FileSearchDestroy ( | |
| FILE_SEARCH_DATA *FSData | |
| ) | |
| ; | |
| STATUS | |
| FileSearchStart ( | |
| FILE_SEARCH_DATA *FSData, | |
| char *FileMask, | |
| UINT32 SearchFlags | |
| ) | |
| ; | |
| STATUS | |
| FileSearchFindNext ( | |
| FILE_SEARCH_DATA *FSData | |
| ) | |
| ; | |
| STATUS | |
| FileSearchExcludeDirs ( | |
| FILE_SEARCH_DATA *FSData, | |
| STRING_LIST *StrList | |
| ) | |
| ; | |
| STATUS | |
| FileSearchExcludeExtensions ( | |
| FILE_SEARCH_DATA *FSData, | |
| STRING_LIST *StrList | |
| ) | |
| ; | |
| STATUS | |
| FileSearchExcludeFiles ( | |
| FILE_SEARCH_DATA *FSData, | |
| STRING_LIST *StrList | |
| ) | |
| ; | |
| #endif |