#ifndef DIR_CONTENT_H #define DIR_CONTENT_H //------------------------------------------------------------------------------ #include #include #include #include #include "Path.h" //------------------------------------------------------------------------------ typedef struct DirSize { size_t entryCount; size_t charCount; } DirSize; //------------------------------------------------------------------------------ void Dir_printEntries (DIR * dir, char const dirName[], PathPredicate * filter, FILE * file); DirSize Dir_findSize (DIR * dir, char const dirName[], PathPredicate * filter); //------------------------------------------------------------------------------ typedef struct DirContent { bool error; DirSize size; char * chars; char ** entries; } DirContent; //------------------------------------------------------------------------------ void DirContent_clean (DirContent content); void DirContent_cleanMany (DirContent contents[], size_t contentCount); //------------------------------------------------------------------------------ DirContent DirContent_read (char const dirName[], PathPredicate * filter); size_t DirContent_readMany (char const baseDirName[], char * const subDirNames[], size_t subDirCount, PathPredicate filter, DirContent contents[]); //------------------------------------------------------------------------------ int DirContent_compareEntry (void const * data1, void const * data2); void DirContent_sort (DirContent content); void DirContent_sortMany (DirContent contents[], size_t contentCount); //------------------------------------------------------------------------------ #endif