2007-06-28 09:00:39 +02:00
|
|
|
/*++
|
|
|
|
|
|
|
|
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
|
2008-09-04 11:44:58 +02:00
|
|
|
);
|
2007-06-28 09:00:39 +02:00
|
|
|
|
|
|
|
STATUS
|
|
|
|
FileSearchDestroy (
|
|
|
|
FILE_SEARCH_DATA *FSData
|
2008-09-04 11:44:58 +02:00
|
|
|
);
|
2007-06-28 09:00:39 +02:00
|
|
|
|
|
|
|
STATUS
|
|
|
|
FileSearchStart (
|
|
|
|
FILE_SEARCH_DATA *FSData,
|
|
|
|
char *FileMask,
|
|
|
|
UINT32 SearchFlags
|
2008-09-04 11:44:58 +02:00
|
|
|
);
|
2007-06-28 09:00:39 +02:00
|
|
|
|
|
|
|
STATUS
|
|
|
|
FileSearchFindNext (
|
|
|
|
FILE_SEARCH_DATA *FSData
|
2008-09-04 11:44:58 +02:00
|
|
|
);
|
2007-06-28 09:00:39 +02:00
|
|
|
|
|
|
|
STATUS
|
|
|
|
FileSearchExcludeDirs (
|
|
|
|
FILE_SEARCH_DATA *FSData,
|
|
|
|
STRING_LIST *StrList
|
2008-09-04 11:44:58 +02:00
|
|
|
);
|
2007-06-28 09:00:39 +02:00
|
|
|
STATUS
|
|
|
|
FileSearchExcludeExtensions (
|
|
|
|
FILE_SEARCH_DATA *FSData,
|
|
|
|
STRING_LIST *StrList
|
2008-09-04 11:44:58 +02:00
|
|
|
);
|
2007-06-28 09:00:39 +02:00
|
|
|
STATUS
|
|
|
|
FileSearchExcludeFiles (
|
|
|
|
FILE_SEARCH_DATA *FSData,
|
|
|
|
STRING_LIST *StrList
|
2008-09-04 11:44:58 +02:00
|
|
|
);
|
2007-06-28 09:00:39 +02:00
|
|
|
#endif
|