#include <stdbool.h>
#include <sys/types.h>
-struct string_set;
-
char *fn_search_path (const char *base_name, char **path);
-char *fn_dir_name (const char *fn);
char *fn_extension (const char *fn);
bool fn_is_absolute (const char *fn);
-bool fn_is_special (const char *fn);
bool fn_exists (const char *fn);
-const char *fn_getenv (const char *variable);
-const char *fn_getenv_default (const char *variable, const char *def);
-
FILE *fn_open (const char *fn, const char *mode);
int fn_close (const char *fn, FILE *file);
-FILE *create_stream (const char *fn, const char *mode, mode_t permissions);
-
struct file_identity *fn_get_identity (const char *file_name);
void fn_free_identity (struct file_identity *);
int fn_compare_file_identities (const struct file_identity *,