forked from 0ad/0ad
janwas
4aa740bff5
- wposix.cpp: initial support for MEM_RESERVE and MEM_COMMIT semantics in mmap - cstr: removed no longer necessary serialization header - xmlutils: wrap new() calls in nommgr/mmgr; allows tracking other allocs in this file. - add u64_from_u32 - various minor comments/improvements. This was SVN commit r2604.
36 lines
1.1 KiB
C++
Executable File
36 lines
1.1 KiB
C++
Executable File
#include "ps/CStr.h"
|
|
#include "lib/res/file/vfs.h"
|
|
|
|
namespace VFSUtil
|
|
{
|
|
|
|
typedef std::vector<CStr> FileList;
|
|
|
|
// Puts the list of files inside 'dirname' matching 'filter' into 'files'.
|
|
// 'dirname' shouldn't end with a slash.
|
|
// 'filter': see vfs_next_dirent
|
|
// 'files' is initially cleared, and undefined on failure.
|
|
// On failure, logs an error and returns false.
|
|
extern bool FindFiles(const CStr& dirname, const char* filter, FileList& files);
|
|
|
|
|
|
// called by EnumDirEnts for each entry in a directory (optionally those in
|
|
// its subdirectories as well), passing their complete path+name, the info
|
|
// that would be returned by vfs_next_dirent, and user-specified context.
|
|
// note: path and ent parameters are only valid during the callback.
|
|
typedef void (*EnumDirEntsCB)(const char* path, const DirEnt* ent,
|
|
void* context);
|
|
|
|
enum EnumDirEntsFlags
|
|
{
|
|
RECURSIVE = 1
|
|
};
|
|
|
|
// call <cb> for each entry matching <user_filter> (see vfs_next_dirent) in
|
|
// directory <path>; if flags & RECURSIVE, entries in subdirectories are
|
|
// also returned.
|
|
extern int EnumDirEnts(const CStr path, int flags, const char* filter,
|
|
EnumDirEntsCB cb, void* context);
|
|
|
|
}; // namespace VFSUtil
|