3923421224
CI / lint (pull_request) Failing after 9s
CI / build-and-test (pull_request) Has been skipped
CI / sanitizers (address) (pull_request) Has been skipped
CI / sanitizers (undefined) (pull_request) Has been skipped
CI / fuzz-build (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
CI / valgrind (pull_request) Has been skipped
39 lines
1.5 KiB
C
39 lines
1.5 KiB
C
#ifndef SCANNER_H
|
|
#define SCANNER_H
|
|
|
|
#include "chunk.h"
|
|
#include "queue.h"
|
|
#include <dirent.h>
|
|
#include <stdbool.h>
|
|
|
|
typedef struct {
|
|
Queue* directories;
|
|
DIR* current_dir;
|
|
char* current_path;
|
|
bool use_metadata;
|
|
unsigned long long chunk_size;
|
|
char** exclude_patterns;
|
|
int exclude_count;
|
|
char** include_patterns;
|
|
int include_count;
|
|
unsigned long long max_size;
|
|
unsigned long long min_size;
|
|
bool follow_symlinks;
|
|
} DirectoryScanner;
|
|
|
|
DirectoryScanner* directory_scanner_create(char* root_directory, bool use_metadata,
|
|
unsigned long long chunk_size, char** exclude_patterns,
|
|
int exclude_count, char** include_patterns,
|
|
int include_count, unsigned long long max_size,
|
|
unsigned long long min_size);
|
|
DirectoryScanner* directory_scanner_create_full(char* root_directory, bool use_metadata,
|
|
unsigned long long chunk_size,
|
|
char** exclude_patterns, int exclude_count,
|
|
char** include_patterns, int include_count,
|
|
unsigned long long max_size,
|
|
unsigned long long min_size, bool follow_symlinks);
|
|
Chunk* directory_scanner_next(DirectoryScanner* scanner);
|
|
void directory_scanner_destroy(DirectoryScanner* scanner);
|
|
|
|
#endif
|