nexmon – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | /* gfileutils.h - File utility functions |
2 | * |
||
3 | * Copyright 2000 Red Hat, Inc. |
||
4 | * |
||
5 | * GLib is free software; you can redistribute it and/or modify it |
||
6 | * under the terms of the GNU Lesser General Public License as |
||
7 | * published by the Free Software Foundation; either version 2 of the |
||
8 | * License, or (at your option) any later version. |
||
9 | * |
||
10 | * GLib is distributed in the hope that it will be useful, |
||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
||
13 | * Lesser General Public License for more details. |
||
14 | * |
||
15 | * You should have received a copy of the GNU Lesser General Public |
||
16 | * License along with GLib; see the file COPYING.LIB. If not, |
||
17 | * see <http://www.gnu.org/licenses/>. |
||
18 | */ |
||
19 | |||
20 | #ifndef __G_FILEUTILS_H__ |
||
21 | #define __G_FILEUTILS_H__ |
||
22 | |||
23 | #if !defined (__GLIB_H_INSIDE__) && !defined (GLIB_COMPILATION) |
||
24 | #error "Only <glib.h> can be included directly." |
||
25 | #endif |
||
26 | |||
27 | #include <glib/gerror.h> |
||
28 | |||
29 | G_BEGIN_DECLS |
||
30 | |||
31 | #define G_FILE_ERROR g_file_error_quark () |
||
32 | |||
33 | typedef enum |
||
34 | { |
||
35 | G_FILE_ERROR_EXIST, |
||
36 | G_FILE_ERROR_ISDIR, |
||
37 | G_FILE_ERROR_ACCES, |
||
38 | G_FILE_ERROR_NAMETOOLONG, |
||
39 | G_FILE_ERROR_NOENT, |
||
40 | G_FILE_ERROR_NOTDIR, |
||
41 | G_FILE_ERROR_NXIO, |
||
42 | G_FILE_ERROR_NODEV, |
||
43 | G_FILE_ERROR_ROFS, |
||
44 | G_FILE_ERROR_TXTBSY, |
||
45 | G_FILE_ERROR_FAULT, |
||
46 | G_FILE_ERROR_LOOP, |
||
47 | G_FILE_ERROR_NOSPC, |
||
48 | G_FILE_ERROR_NOMEM, |
||
49 | G_FILE_ERROR_MFILE, |
||
50 | G_FILE_ERROR_NFILE, |
||
51 | G_FILE_ERROR_BADF, |
||
52 | G_FILE_ERROR_INVAL, |
||
53 | G_FILE_ERROR_PIPE, |
||
54 | G_FILE_ERROR_AGAIN, |
||
55 | G_FILE_ERROR_INTR, |
||
56 | G_FILE_ERROR_IO, |
||
57 | G_FILE_ERROR_PERM, |
||
58 | G_FILE_ERROR_NOSYS, |
||
59 | G_FILE_ERROR_FAILED |
||
60 | } GFileError; |
||
61 | |||
62 | /* For backward-compat reasons, these are synced to an old |
||
63 | * anonymous enum in libgnome. But don't use that enum |
||
64 | * in new code. |
||
65 | */ |
||
66 | typedef enum |
||
67 | { |
||
68 | G_FILE_TEST_IS_REGULAR = 1 << 0, |
||
69 | G_FILE_TEST_IS_SYMLINK = 1 << 1, |
||
70 | G_FILE_TEST_IS_DIR = 1 << 2, |
||
71 | G_FILE_TEST_IS_EXECUTABLE = 1 << 3, |
||
72 | G_FILE_TEST_EXISTS = 1 << 4 |
||
73 | } GFileTest; |
||
74 | |||
75 | GLIB_AVAILABLE_IN_ALL |
||
76 | GQuark g_file_error_quark (void); |
||
77 | /* So other code can generate a GFileError */ |
||
78 | GLIB_AVAILABLE_IN_ALL |
||
79 | GFileError g_file_error_from_errno (gint err_no); |
||
80 | |||
81 | GLIB_AVAILABLE_IN_ALL |
||
82 | gboolean g_file_test (const gchar *filename, |
||
83 | GFileTest test); |
||
84 | GLIB_AVAILABLE_IN_ALL |
||
85 | gboolean g_file_get_contents (const gchar *filename, |
||
86 | gchar **contents, |
||
87 | gsize *length, |
||
88 | GError **error); |
||
89 | GLIB_AVAILABLE_IN_ALL |
||
90 | gboolean g_file_set_contents (const gchar *filename, |
||
91 | const gchar *contents, |
||
92 | gssize length, |
||
93 | GError **error); |
||
94 | GLIB_AVAILABLE_IN_ALL |
||
95 | gchar *g_file_read_link (const gchar *filename, |
||
96 | GError **error); |
||
97 | |||
98 | /* Wrapper / workalike for mkdtemp() */ |
||
99 | GLIB_AVAILABLE_IN_2_30 |
||
100 | gchar *g_mkdtemp (gchar *tmpl); |
||
101 | GLIB_AVAILABLE_IN_2_30 |
||
102 | gchar *g_mkdtemp_full (gchar *tmpl, |
||
103 | gint mode); |
||
104 | |||
105 | /* Wrapper / workalike for mkstemp() */ |
||
106 | GLIB_AVAILABLE_IN_ALL |
||
107 | gint g_mkstemp (gchar *tmpl); |
||
108 | GLIB_AVAILABLE_IN_ALL |
||
109 | gint g_mkstemp_full (gchar *tmpl, |
||
110 | gint flags, |
||
111 | gint mode); |
||
112 | |||
113 | /* Wrappers for g_mkstemp and g_mkdtemp() */ |
||
114 | GLIB_AVAILABLE_IN_ALL |
||
115 | gint g_file_open_tmp (const gchar *tmpl, |
||
116 | gchar **name_used, |
||
117 | GError **error); |
||
118 | GLIB_AVAILABLE_IN_2_30 |
||
119 | gchar *g_dir_make_tmp (const gchar *tmpl, |
||
120 | GError **error); |
||
121 | |||
122 | GLIB_AVAILABLE_IN_ALL |
||
123 | gchar *g_build_path (const gchar *separator, |
||
124 | const gchar *first_element, |
||
125 | ...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED; |
||
126 | GLIB_AVAILABLE_IN_ALL |
||
127 | gchar *g_build_pathv (const gchar *separator, |
||
128 | gchar **args) G_GNUC_MALLOC; |
||
129 | |||
130 | GLIB_AVAILABLE_IN_ALL |
||
131 | gchar *g_build_filename (const gchar *first_element, |
||
132 | ...) G_GNUC_MALLOC G_GNUC_NULL_TERMINATED; |
||
133 | GLIB_AVAILABLE_IN_ALL |
||
134 | gchar *g_build_filenamev (gchar **args) G_GNUC_MALLOC; |
||
135 | |||
136 | GLIB_AVAILABLE_IN_ALL |
||
137 | gint g_mkdir_with_parents (const gchar *pathname, |
||
138 | gint mode); |
||
139 | |||
140 | #ifdef G_OS_WIN32 |
||
141 | |||
142 | /* On Win32, the canonical directory separator is the backslash, and |
||
143 | * the search path separator is the semicolon. Note that also the |
||
144 | * (forward) slash works as directory separator. |
||
145 | */ |
||
146 | #define G_DIR_SEPARATOR '\\' |
||
147 | #define G_DIR_SEPARATOR_S "\\" |
||
148 | #define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR || (c) == '/') |
||
149 | #define G_SEARCHPATH_SEPARATOR ';' |
||
150 | #define G_SEARCHPATH_SEPARATOR_S ";" |
||
151 | |||
152 | #else /* !G_OS_WIN32 */ |
||
153 | |||
154 | #define G_DIR_SEPARATOR '/' |
||
155 | #define G_DIR_SEPARATOR_S "/" |
||
156 | #define G_IS_DIR_SEPARATOR(c) ((c) == G_DIR_SEPARATOR) |
||
157 | #define G_SEARCHPATH_SEPARATOR ':' |
||
158 | #define G_SEARCHPATH_SEPARATOR_S ":" |
||
159 | |||
160 | #endif /* !G_OS_WIN32 */ |
||
161 | |||
162 | GLIB_AVAILABLE_IN_ALL |
||
163 | gboolean g_path_is_absolute (const gchar *file_name); |
||
164 | GLIB_AVAILABLE_IN_ALL |
||
165 | const gchar *g_path_skip_root (const gchar *file_name); |
||
166 | |||
167 | GLIB_DEPRECATED_FOR(g_path_get_basename) |
||
168 | const gchar *g_basename (const gchar *file_name); |
||
169 | #ifndef G_DISABLE_DEPRECATED |
||
170 | #define g_dirname g_path_get_dirname |
||
171 | #endif |
||
172 | |||
173 | GLIB_AVAILABLE_IN_ALL |
||
174 | gchar *g_get_current_dir (void); |
||
175 | GLIB_AVAILABLE_IN_ALL |
||
176 | gchar *g_path_get_basename (const gchar *file_name) G_GNUC_MALLOC; |
||
177 | GLIB_AVAILABLE_IN_ALL |
||
178 | gchar *g_path_get_dirname (const gchar *file_name) G_GNUC_MALLOC; |
||
179 | |||
180 | #ifndef __GTK_DOC_IGNORE__ |
||
181 | #ifdef G_OS_WIN32 |
||
182 | #define g_file_test g_file_test_utf8 |
||
183 | #define g_file_get_contents g_file_get_contents_utf8 |
||
184 | #define g_mkstemp g_mkstemp_utf8 |
||
185 | #define g_file_open_tmp g_file_open_tmp_utf8 |
||
186 | #define g_get_current_dir g_get_current_dir_utf8 |
||
187 | |||
188 | GLIB_AVAILABLE_IN_ALL |
||
189 | gboolean g_file_test_utf8 (const gchar *filename, |
||
190 | GFileTest test); |
||
191 | GLIB_AVAILABLE_IN_ALL |
||
192 | gboolean g_file_get_contents_utf8 (const gchar *filename, |
||
193 | gchar **contents, |
||
194 | gsize *length, |
||
195 | GError **error); |
||
196 | GLIB_AVAILABLE_IN_ALL |
||
197 | gint g_mkstemp_utf8 (gchar *tmpl); |
||
198 | GLIB_AVAILABLE_IN_ALL |
||
199 | gint g_file_open_tmp_utf8 (const gchar *tmpl, |
||
200 | gchar **name_used, |
||
201 | GError **error); |
||
202 | GLIB_AVAILABLE_IN_ALL |
||
203 | gchar *g_get_current_dir_utf8 (void); |
||
204 | #endif /* G_OS_WIN32 */ |
||
205 | #endif /* __GTK_DOC_IGNORE__ */ |
||
206 | |||
207 | G_END_DECLS |
||
208 | |||
209 | #endif /* __G_FILEUTILS_H__ */ |