merk/include/tree.h

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