36 lines
708 B
C
36 lines
708 B
C
#ifndef TREE_H
|
|
#define TREE_H
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
#include <errno.h>
|
|
#include <dirent.h>
|
|
#include <sys/stat.h>
|
|
#include <unistd.h>
|
|
#include <zlib.h>
|
|
|
|
#include "utilities.h"
|
|
#include "hash.h"
|
|
#include "file.h"
|
|
|
|
typedef List PathBuffer;
|
|
typedef List Tree;
|
|
typedef List FileInfoBuffer;
|
|
|
|
typedef struct {
|
|
char* dir;
|
|
FileInfoBuffer* files;
|
|
size_t len;
|
|
size_t capacity;
|
|
} TreeEntry;
|
|
|
|
PathBuffer* path_buffer_new();
|
|
void path_buffer_push(PathBuffer*, char*);
|
|
void path_buffer_sort(PathBuffer*);
|
|
void path_buffer_free(PathBuffer*);
|
|
char* find_root(char*);
|
|
void walk(char*, char*, char*, PathBuffer*, int, char*);
|
|
void save_tree(PathBuffer*);
|
|
|
|
#endif // TREE_H
|