21#ifndef __G_FILEUTILS_H__
22#define __G_FILEUTILS_H__
24#if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION)
25#error "Only <glib.h> can be included directly."
33#define G_FILE_ERROR g_file_error_quark ()
126 const gchar *contents,
132 const gchar *contents,
168 const gchar *first_element,
193#define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR || (c) == '/')
197#define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR)
208#define g_dirname g_path_get_dirname GLIB_DEPRECATED_MACRO_IN_2_26_FOR(g_path_get_dirname)
GLIB_AVAILABLE_IN_ALL gchar * g_build_filenamev(gchar **args) G_GNUC_MALLOC
GLIB_AVAILABLE_IN_2_30 gchar * g_dir_make_tmp(const gchar *tmpl, GError **error)
@ G_FILE_ERROR_NAMETOOLONG
G_GNUC_END_IGNORE_DEPRECATIONS GLIB_AVAILABLE_IN_ALL gchar * g_file_read_link(const gchar *filename, GError **error)
GLIB_AVAILABLE_IN_ALL gboolean g_path_is_absolute(const gchar *file_name)
G_GNUC_BEGIN_IGNORE_DEPRECATIONS GLIB_AVAILABLE_IN_2_66 gboolean g_file_set_contents_full(const gchar *filename, const gchar *contents, gssize length, GFileSetContentsFlags flags, int mode, GError **error)
GLIB_AVAILABLE_IN_2_30 gchar * g_mkdtemp(gchar *tmpl)
GLIB_AVAILABLE_IN_ALL gint g_mkdir_with_parents(const gchar *pathname, gint mode)
GLIB_AVAILABLE_IN_ALL gint g_file_open_tmp(const gchar *tmpl, gchar **name_used, GError **error)
@ G_FILE_TEST_IS_EXECUTABLE
GLIB_AVAILABLE_IN_2_56 gchar * g_build_filename_valist(const gchar *first_element, va_list *args) G_GNUC_MALLOC
GLIB_AVAILABLE_IN_2_30 gchar * g_mkdtemp_full(gchar *tmpl, gint mode)
GLIB_AVAILABLE_IN_ALL gchar * g_build_path(const gchar *separator, const gchar *first_element,...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED
GLIB_AVAILABLE_IN_2_58 gchar * g_canonicalize_filename(const gchar *filename, const gchar *relative_to) G_GNUC_MALLOC
GLIB_AVAILABLE_IN_ALL gchar * g_build_filename(const gchar *first_element,...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED
GLIB_AVAILABLE_IN_ALL GFileError g_file_error_from_errno(gint err_no)
@ G_FILE_SET_CONTENTS_NONE
@ G_FILE_SET_CONTENTS_ONLY_EXISTING
@ G_FILE_SET_CONTENTS_CONSISTENT
@ G_FILE_SET_CONTENTS_DURABLE
const gchar * g_basename(const gchar *file_name)
GLIB_AVAILABLE_IN_ALL gboolean g_file_test(const gchar *filename, GFileTest test)
GLIB_AVAILABLE_IN_ALL gboolean g_file_get_contents(const gchar *filename, gchar **contents, gsize *length, GError **error)
GLIB_AVAILABLE_IN_ALL gchar * g_build_pathv(const gchar *separator, gchar **args) G_GNUC_MALLOC
GLIB_AVAILABLE_IN_ALL gchar * g_get_current_dir(void)
GLIB_AVAILABLE_IN_ALL gboolean g_file_set_contents(const gchar *filename, const gchar *contents, gssize length, GError **error)
GLIB_AVAILABLE_IN_ALL GQuark g_file_error_quark(void)
GLIB_AVAILABLE_IN_ALL gchar * g_path_get_dirname(const gchar *file_name) G_GNUC_MALLOC
GLIB_AVAILABLE_IN_ALL gchar * g_path_get_basename(const gchar *file_name) G_GNUC_MALLOC
GLIB_AVAILABLE_IN_ALL gint g_mkstemp_full(gchar *tmpl, gint flags, gint mode)
GLIB_AVAILABLE_IN_ALL gint g_mkstemp(gchar *tmpl)
GLIB_AVAILABLE_IN_ALL const gchar * g_path_skip_root(const gchar *file_name)
#define GLIB_DEPRECATED_FOR(f)
#define GLIB_AVAILABLE_IN_2_30
#define GLIB_AVAILABLE_IN_ALL
#define GLIB_AVAILABLE_IN_2_58
#define GLIB_AVAILABLE_ENUMERATOR_IN_2_66
#define GLIB_AVAILABLE_IN_2_56
#define GLIB_AVAILABLE_IN_2_66
#define G_GNUC_NULL_TERMINATED
#define G_GNUC_BEGIN_IGNORE_DEPRECATIONS
#define G_GNUC_END_IGNORE_DEPRECATIONS
G_BEGIN_DECLS typedef guint32 GQuark
G_BEGIN_DECLS typedef char gchar
static void error(LoadState *S, const char *why)