00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00036 #ifndef _file_h_
00037 #define _file_h_
00038 
00039 #include "common.h"
00040 
00044 typedef struct {
00045     const gchar *dir;               
00046     const gchar *name;              
00047 } file_path_t;
00048 
00049 
00050 
00051 
00052 
00053 void file_register_fd_reclaimer(reclaim_fd_t callback);
00054 
00055 FILE *file_config_open_read(
00056     const gchar *what, const file_path_t *fv, gint fvcnt);
00057 FILE *file_config_open_read_norename(
00058     const gchar *what, const file_path_t *fv, gint fvcnt);
00059 FILE *file_config_open_read_norename_chosen(
00060     const gchar *what, const file_path_t *fv, gint fvcnt, gint *chosen);
00061 FILE *file_config_open_write(const gchar *what, const file_path_t *fv);
00062 gboolean file_config_close(FILE *out, const file_path_t *fv);
00063 
00064 void file_config_preamble(FILE *out, const gchar *what);
00065 void file_path_set(file_path_t *fp, const char *dir, const char *name);
00066 
00067 gint file_open(const gchar *path, gint flags);
00068 gint file_open_missing(const gchar *path, gint flags);
00069 gint file_create(const gchar *path, gint flags, gint mode);
00070 FILE *file_fopen(const gchar *path, const gchar *mode);
00071 FILE *file_fopen_missing(const gchar *path, const gchar *mode);
00072 
00073 #endif 
00074