#ifndef ISO_EXCLUDE_H
#define ISO_EXCLUDE_H

#include "hash.h"

struct iso_hash_table {
	struct iso_hash_node *table[HASH_NODES];
	int num;
};

/**
 * Add a path to ignore when adding a directory recursively.
 *
 * \param path The path, on the local filesystem, of the file.
 */
int iso_exclude_lookup(struct iso_hash_table *table, const char *path);

/**
 * Add the path of a file or directory to ignore when adding a directory recursively.
 *
 * \param path The path, on the local filesystem, of the file.
 */
void iso_exclude_add_path(struct iso_hash_table *table, const char *path);

/**
 * Remove all paths that were set to be ignored when adding a directory recusively.
 */
void iso_exclude_empty(struct iso_hash_table *table);

#endif /* ISO_EXCLUDE */