git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1676 6f19259b-4bc3-4df7-8a09-765794883524
		
			
				
	
	
		
			109 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*++
 | |
| 
 | |
| 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
 |