diff options
Diffstat (limited to 'gtk+-mingw/share/gtk-doc/html/glib/glib-File-Utilities.html')
-rw-r--r-- | gtk+-mingw/share/gtk-doc/html/glib/glib-File-Utilities.html | 1945 |
1 files changed, 0 insertions, 1945 deletions
diff --git a/gtk+-mingw/share/gtk-doc/html/glib/glib-File-Utilities.html b/gtk+-mingw/share/gtk-doc/html/glib/glib-File-Utilities.html deleted file mode 100644 index a2203dd..0000000 --- a/gtk+-mingw/share/gtk-doc/html/glib/glib-File-Utilities.html +++ /dev/null @@ -1,1945 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>File Utilities</title> -<meta name="generator" content="DocBook XSL Stylesheets V1.76.1"> -<link rel="home" href="index.html" title="GLib Reference Manual"> -<link rel="up" href="glib-utilities.html" title="GLib Utilities"> -<link rel="prev" href="glib-Spawning-Processes.html" title="Spawning Processes"> -<link rel="next" href="glib-URI-Functions.html" title="URI Functions"> -<meta name="generator" content="GTK-Doc V1.18 (XML mode)"> -<link rel="stylesheet" href="style.css" type="text/css"> -</head> -<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> -<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> -<tr valign="middle"> -<td><a accesskey="p" href="glib-Spawning-Processes.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> -<td><a accesskey="u" href="glib-utilities.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> -<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> -<th width="100%" align="center">GLib Reference Manual</th> -<td><a accesskey="n" href="glib-URI-Functions.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> -</tr> -<tr><td colspan="5" class="shortcuts"> -<a href="#glib-File-Utilities.synopsis" class="shortcut">Top</a> - | - <a href="#glib-File-Utilities.description" class="shortcut">Description</a> -</td></tr> -</table> -<div class="refentry"> -<a name="glib-File-Utilities"></a><div class="titlepage"></div> -<div class="refnamediv"><table width="100%"><tr> -<td valign="top"> -<h2><span class="refentrytitle"><a name="glib-File-Utilities.top_of_page"></a>File Utilities</span></h2> -<p>File Utilities — various file-related functions</p> -</td> -<td valign="top" align="right"></td> -</tr></table></div> -<div class="refsynopsisdiv"> -<a name="glib-File-Utilities.synopsis"></a><h2>Synopsis</h2> -<pre class="synopsis"> -#include <glib.h> -#include <glib/gstdio.h> - -enum <a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError">GFileError</a>; -#define <a class="link" href="glib-File-Utilities.html#G-FILE-ERROR:CAPS" title="G_FILE_ERROR">G_FILE_ERROR</a> -enum <a class="link" href="glib-File-Utilities.html#GFileTest" title="enum GFileTest">GFileTest</a>; -<a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError"><span class="returnvalue">GFileError</span></a> <a class="link" href="glib-File-Utilities.html#g-file-error-from-errno" title="g_file_error_from_errno ()">g_file_error_from_errno</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> err_no</code></em>); -<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-File-Utilities.html#g-file-get-contents" title="g_file_get_contents ()">g_file_get_contents</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **contents</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *length</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>); -<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-File-Utilities.html#g-file-set-contents" title="g_file_set_contents ()">g_file_set_contents</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *contents</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> length</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>); -<a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="glib-File-Utilities.html#g-file-test" title="g_file_test ()">g_file_test</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GFileTest" title="enum GFileTest"><span class="type">GFileTest</span></a> test</code></em>); -<a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-File-Utilities.html#g-mkstemp" title="g_mkstemp ()">g_mkstemp</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>); -<a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-File-Utilities.html#g-mkstemp-full" title="g_mkstemp_full ()">g_mkstemp_full</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> flags</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> mode</code></em>); -<a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-File-Utilities.html#g-file-open-tmp" title="g_file_open_tmp ()">g_file_open_tmp</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **name_used</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>); -<a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-File-Utilities.html#g-file-read-link" title="g_file_read_link ()">g_file_read_link</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>); -<a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> <a class="link" href="glib-File-Utilities.html#g-mkdir-with-parents" title="g_mkdir_with_parents ()">g_mkdir_with_parents</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *pathname</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> mode</code></em>); -<a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-File-Utilities.html#g-mkdtemp" title="g_mkdtemp ()">g_mkdtemp</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>); -<a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-File-Utilities.html#g-mkdtemp-full" title="g_mkdtemp_full ()">g_mkdtemp_full</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> mode</code></em>); -<a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-File-Utilities.html#g-dir-make-tmp" title="g_dir_make_tmp ()">g_dir_make_tmp</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>); - - <a class="link" href="glib-File-Utilities.html#GDir" title="GDir">GDir</a>; -<a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="returnvalue">GDir</span></a> * <a class="link" href="glib-File-Utilities.html#g-dir-open" title="g_dir_open ()">g_dir_open</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *path</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> flags</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>); -const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-File-Utilities.html#g-dir-read-name" title="g_dir_read_name ()">g_dir_read_name</a> (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="type">GDir</span></a> *dir</code></em>); -<span class="returnvalue">void</span> <a class="link" href="glib-File-Utilities.html#g-dir-rewind" title="g_dir_rewind ()">g_dir_rewind</a> (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="type">GDir</span></a> *dir</code></em>); -<span class="returnvalue">void</span> <a class="link" href="glib-File-Utilities.html#g-dir-close" title="g_dir_close ()">g_dir_close</a> (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="type">GDir</span></a> *dir</code></em>); - - <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile">GMappedFile</a>; -<a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="returnvalue">GMappedFile</span></a> * <a class="link" href="glib-File-Utilities.html#g-mapped-file-new" title="g_mapped_file_new ()">g_mapped_file_new</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> writable</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>); -<a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="returnvalue">GMappedFile</span></a> * <a class="link" href="glib-File-Utilities.html#g-mapped-file-new-from-fd" title="g_mapped_file_new_from_fd ()">g_mapped_file_new_from_fd</a> (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> fd</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> writable</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>); -<a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="returnvalue">GMappedFile</span></a> * <a class="link" href="glib-File-Utilities.html#g-mapped-file-ref" title="g_mapped_file_ref ()">g_mapped_file_ref</a> (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> *file</code></em>); -<span class="returnvalue">void</span> <a class="link" href="glib-File-Utilities.html#g-mapped-file-unref" title="g_mapped_file_unref ()">g_mapped_file_unref</a> (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> *file</code></em>); -<span class="returnvalue">void</span> <a class="link" href="glib-File-Utilities.html#g-mapped-file-free" title="g_mapped_file_free ()">g_mapped_file_free</a> (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> *file</code></em>); -<a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> <a class="link" href="glib-File-Utilities.html#g-mapped-file-get-length" title="g_mapped_file_get_length ()">g_mapped_file_get_length</a> (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> *file</code></em>); -<a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * <a class="link" href="glib-File-Utilities.html#g-mapped-file-get-contents" title="g_mapped_file_get_contents ()">g_mapped_file_get_contents</a> (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> *file</code></em>); - -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-open" title="g_open ()">g_open</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">int</span> flags</code></em>, - <em class="parameter"><code><span class="type">int</span> mode</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-rename" title="g_rename ()">g_rename</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *oldfilename</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *newfilename</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-mkdir" title="g_mkdir ()">g_mkdir</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">int</span> mode</code></em>); -typedef <a class="link" href="glib-File-Utilities.html#GStatBuf" title="GStatBuf">GStatBuf</a>; -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-stat" title="g_stat ()">g_stat</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GStatBuf" title="GStatBuf"><span class="type">GStatBuf</span></a> *buf</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-lstat" title="g_lstat ()">g_lstat</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GStatBuf" title="GStatBuf"><span class="type">GStatBuf</span></a> *buf</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-unlink" title="g_unlink ()">g_unlink</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-remove" title="g_remove ()">g_remove</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-rmdir" title="g_rmdir ()">g_rmdir</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>); -<span class="returnvalue">FILE</span> * <a class="link" href="glib-File-Utilities.html#g-fopen" title="g_fopen ()">g_fopen</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *mode</code></em>); -<span class="returnvalue">FILE</span> * <a class="link" href="glib-File-Utilities.html#g-freopen" title="g_freopen ()">g_freopen</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *mode</code></em>, - <em class="parameter"><code><span class="type">FILE</span> *stream</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-chmod" title="g_chmod ()">g_chmod</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">int</span> mode</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-access" title="g_access ()">g_access</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">int</span> mode</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-creat" title="g_creat ()">g_creat</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">int</span> mode</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-chdir" title="g_chdir ()">g_chdir</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *path</code></em>); -<span class="returnvalue">int</span> <a class="link" href="glib-File-Utilities.html#g-utime" title="g_utime ()">g_utime</a> (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">struct utimbuf</span> *utb</code></em>); -</pre> -</div> -<div class="refsect1"> -<a name="glib-File-Utilities.description"></a><h2>Description</h2> -<p> -There is a group of functions which wrap the common POSIX functions -dealing with filenames (<a class="link" href="glib-File-Utilities.html#g-open" title="g_open ()"><code class="function">g_open()</code></a>, <a class="link" href="glib-File-Utilities.html#g-rename" title="g_rename ()"><code class="function">g_rename()</code></a>, <a class="link" href="glib-File-Utilities.html#g-mkdir" title="g_mkdir ()"><code class="function">g_mkdir()</code></a>, <a class="link" href="glib-File-Utilities.html#g-stat" title="g_stat ()"><code class="function">g_stat()</code></a>, -<a class="link" href="glib-File-Utilities.html#g-unlink" title="g_unlink ()"><code class="function">g_unlink()</code></a>, <a class="link" href="glib-File-Utilities.html#g-remove" title="g_remove ()"><code class="function">g_remove()</code></a>, <a class="link" href="glib-File-Utilities.html#g-fopen" title="g_fopen ()"><code class="function">g_fopen()</code></a>, <a class="link" href="glib-File-Utilities.html#g-freopen" title="g_freopen ()"><code class="function">g_freopen()</code></a>). The point of these -wrappers is to make it possible to handle file names with any Unicode -characters in them on Windows without having to use ifdefs and the -wide character API in the application code. -</p> -<p> -The pathname argument should be in the GLib file name encoding. -On POSIX this is the actual on-disk encoding which might correspond -to the locale settings of the process (or the -<code class="envar">G_FILENAME_ENCODING</code> environment variable), or not. -</p> -<p> -On Windows the GLib file name encoding is UTF-8. Note that the -Microsoft C library does not use UTF-8, but has separate APIs for -current system code page and wide characters (UTF-16). The GLib -wrappers call the wide character API if present (on modern Windows -systems), otherwise convert to/from the system code page. -</p> -<p> -Another group of functions allows to open and read directories -in the GLib file name encoding. These are <a class="link" href="glib-File-Utilities.html#g-dir-open" title="g_dir_open ()"><code class="function">g_dir_open()</code></a>, -<a class="link" href="glib-File-Utilities.html#g-dir-read-name" title="g_dir_read_name ()"><code class="function">g_dir_read_name()</code></a>, <a class="link" href="glib-File-Utilities.html#g-dir-rewind" title="g_dir_rewind ()"><code class="function">g_dir_rewind()</code></a>, <a class="link" href="glib-File-Utilities.html#g-dir-close" title="g_dir_close ()"><code class="function">g_dir_close()</code></a>. -</p> -</div> -<div class="refsect1"> -<a name="glib-File-Utilities.details"></a><h2>Details</h2> -<div class="refsect2"> -<a name="GFileError"></a><h3>enum GFileError</h3> -<pre class="programlisting">typedef enum { - G_FILE_ERROR_EXIST, - G_FILE_ERROR_ISDIR, - G_FILE_ERROR_ACCES, - G_FILE_ERROR_NAMETOOLONG, - G_FILE_ERROR_NOENT, - G_FILE_ERROR_NOTDIR, - G_FILE_ERROR_NXIO, - G_FILE_ERROR_NODEV, - G_FILE_ERROR_ROFS, - G_FILE_ERROR_TXTBSY, - G_FILE_ERROR_FAULT, - G_FILE_ERROR_LOOP, - G_FILE_ERROR_NOSPC, - G_FILE_ERROR_NOMEM, - G_FILE_ERROR_MFILE, - G_FILE_ERROR_NFILE, - G_FILE_ERROR_BADF, - G_FILE_ERROR_INVAL, - G_FILE_ERROR_PIPE, - G_FILE_ERROR_AGAIN, - G_FILE_ERROR_INTR, - G_FILE_ERROR_IO, - G_FILE_ERROR_PERM, - G_FILE_ERROR_NOSYS, - G_FILE_ERROR_FAILED -} GFileError; -</pre> -<p> -Values corresponding to <em class="parameter"><code>errno</code></em> codes returned from file operations -on UNIX. Unlike <em class="parameter"><code>errno</code></em> codes, GFileError values are available on -all systems, even Windows. The exact meaning of each code depends -on what sort of file operation you were performing; the UNIX -documentation gives more details. The following error code descriptions -come from the GNU C Library manual, and are under the copyright -of that manual. -</p> -<p> -It's not very portable to make detailed assumptions about exactly -which errors will be returned from a given operation. Some errors -don't occur on some systems, etc., sometimes there are subtle -differences in when a system will report a given error, etc. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><a name="G-FILE-ERROR-EXIST:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_EXIST</code></span></p></td> -<td>Operation not permitted; only the owner of - the file (or other resource) or processes with special privileges - can perform the operation. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-ISDIR:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_ISDIR</code></span></p></td> -<td>File is a directory; you cannot open a directory - for writing, or create or remove hard links to it. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-ACCES:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_ACCES</code></span></p></td> -<td>Permission denied; the file permissions do not - allow the attempted operation. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-NAMETOOLONG:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_NAMETOOLONG</code></span></p></td> -<td>Filename too long. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-NOENT:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_NOENT</code></span></p></td> -<td>No such file or directory. This is a "file - doesn't exist" error for ordinary files that are referenced in - contexts where they are expected to already exist. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-NOTDIR:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_NOTDIR</code></span></p></td> -<td>A file that isn't a directory was specified when - a directory is required. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-NXIO:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_NXIO</code></span></p></td> -<td>No such device or address. The system tried to - use the device represented by a file you specified, and it - couldn't find the device. This can mean that the device file was - installed incorrectly, or that the physical device is missing or - not correctly attached to the computer. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-NODEV:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_NODEV</code></span></p></td> -<td>The underlying file system of the specified file - does not support memory mapping. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-ROFS:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_ROFS</code></span></p></td> -<td>The directory containing the new link can't be - modified because it's on a read-only file system. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-TXTBSY:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_TXTBSY</code></span></p></td> -<td>Text file busy. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-FAULT:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_FAULT</code></span></p></td> -<td>You passed in a pointer to bad memory. - (GLib won't reliably return this, don't pass in pointers to bad - memory.) -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-LOOP:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_LOOP</code></span></p></td> -<td>Too many levels of symbolic links were encountered - in looking up a file name. This often indicates a cycle of symbolic - links. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-NOSPC:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_NOSPC</code></span></p></td> -<td>No space left on device; write operation on a - file failed because the disk is full. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-NOMEM:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_NOMEM</code></span></p></td> -<td>No memory available. The system cannot allocate - more virtual memory because its capacity is full. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-MFILE:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_MFILE</code></span></p></td> -<td>The current process has too many files open and - can't open any more. Duplicate descriptors do count toward this - limit. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-NFILE:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_NFILE</code></span></p></td> -<td>There are too many distinct file openings in the - entire system. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-BADF:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_BADF</code></span></p></td> -<td>Bad file descriptor; for example, I/O on a - descriptor that has been closed or reading from a descriptor open - only for writing (or vice versa). -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-INVAL:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_INVAL</code></span></p></td> -<td>Invalid argument. This is used to indicate - various kinds of problems with passing the wrong argument to a - library function. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-PIPE:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_PIPE</code></span></p></td> -<td>Broken pipe; there is no process reading from the - other end of a pipe. Every library function that returns this - error code also generates a `SIGPIPE' signal; this signal - terminates the program if not handled or blocked. Thus, your - program will never actually see this code unless it has handled - or blocked `SIGPIPE'. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-AGAIN:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_AGAIN</code></span></p></td> -<td>Resource temporarily unavailable; the call might - work if you try again later. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-INTR:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_INTR</code></span></p></td> -<td>Interrupted function call; an asynchronous signal - occurred and prevented completion of the call. When this - happens, you should try the call again. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-IO:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_IO</code></span></p></td> -<td>Input/output error; usually used for physical read - or write errors. i.e. the disk or other physical device hardware - is returning errors. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-PERM:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_PERM</code></span></p></td> -<td>Operation not permitted; only the owner of the - file (or other resource) or processes with special privileges can - perform the operation. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-NOSYS:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_NOSYS</code></span></p></td> -<td>Function not implemented; this indicates that - the system is missing some functionality. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-ERROR-FAILED:CAPS"></a><span class="term"><code class="literal">G_FILE_ERROR_FAILED</code></span></p></td> -<td>Does not correspond to a UNIX error code; this - is the standard "failed for unspecified reason" error code present - in all <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> error code enumerations. Returned if no specific - code applies. -</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="G-FILE-ERROR:CAPS"></a><h3>G_FILE_ERROR</h3> -<pre class="programlisting">#define G_FILE_ERROR g_file_error_quark () -</pre> -<p> -Error domain for file operations. Errors in this domain will -be from the <a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError"><span class="type">GFileError</span></a> enumeration. See <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> for information -on error domains. -</p> -</div> -<hr> -<div class="refsect2"> -<a name="GFileTest"></a><h3>enum GFileTest</h3> -<pre class="programlisting">typedef enum { - G_FILE_TEST_IS_REGULAR = 1 << 0, - G_FILE_TEST_IS_SYMLINK = 1 << 1, - G_FILE_TEST_IS_DIR = 1 << 2, - G_FILE_TEST_IS_EXECUTABLE = 1 << 3, - G_FILE_TEST_EXISTS = 1 << 4 -} GFileTest; -</pre> -<p> -A test to perform on a file using <a class="link" href="glib-File-Utilities.html#g-file-test" title="g_file_test ()"><code class="function">g_file_test()</code></a>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><a name="G-FILE-TEST-IS-REGULAR:CAPS"></a><span class="term"><code class="literal">G_FILE_TEST_IS_REGULAR</code></span></p></td> -<td> -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the file is a regular file - (not a directory). Note that this test will also return <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> - if the tested file is a symlink to a regular file. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-TEST-IS-SYMLINK:CAPS"></a><span class="term"><code class="literal">G_FILE_TEST_IS_SYMLINK</code></span></p></td> -<td> -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the file is a symlink. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-TEST-IS-DIR:CAPS"></a><span class="term"><code class="literal">G_FILE_TEST_IS_DIR</code></span></p></td> -<td> -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the file is a directory. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-TEST-IS-EXECUTABLE:CAPS"></a><span class="term"><code class="literal">G_FILE_TEST_IS_EXECUTABLE</code></span></p></td> -<td> -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the file is executable. -</td> -</tr> -<tr> -<td><p><a name="G-FILE-TEST-EXISTS:CAPS"></a><span class="term"><code class="literal">G_FILE_TEST_EXISTS</code></span></p></td> -<td> -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the file exists. It may or may not - be a regular file. -</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-file-error-from-errno"></a><h3>g_file_error_from_errno ()</h3> -<pre class="programlisting"><a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError"><span class="returnvalue">GFileError</span></a> g_file_error_from_errno (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> err_no</code></em>);</pre> -<p> -Gets a <a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError"><span class="type">GFileError</span></a> constant based on the passed-in <em class="parameter"><code>err_no</code></em>. -For example, if you pass in <code class="literal">EEXIST</code> this function returns -<a class="link" href="glib-File-Utilities.html#G-FILE-ERROR-EXIST:CAPS"><span class="type">G_FILE_ERROR_EXIST</span></a>. Unlike <code class="literal">errno</code> values, you can portably -assume that all <a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError"><span class="type">GFileError</span></a> values will exist. -</p> -<p> -Normally a <a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError"><span class="type">GFileError</span></a> value goes into a <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> returned -from a function that manipulates files. So you would use -<a class="link" href="glib-File-Utilities.html#g-file-error-from-errno" title="g_file_error_from_errno ()"><code class="function">g_file_error_from_errno()</code></a> when constructing a <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>err_no</code></em> :</span></p></td> -<td>an "errno" value</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td> -<a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError"><span class="type">GFileError</span></a> corresponding to the given <em class="parameter"><code>errno</code></em> -</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-file-get-contents"></a><h3>g_file_get_contents ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_file_get_contents (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **contents</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="type">gsize</span></a> *length</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);</pre> -<p> -Reads an entire file into allocated memory, with good error -checking. -</p> -<p> -If the call was successful, it returns <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> and sets <em class="parameter"><code>contents</code></em> to the file -contents and <em class="parameter"><code>length</code></em> to the length of the file contents in bytes. The string -stored in <em class="parameter"><code>contents</code></em> will be nul-terminated, so for text files you can pass -<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> for the <em class="parameter"><code>length</code></em> argument. If the call was not successful, it returns -<a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> and sets <em class="parameter"><code>error</code></em>. The error domain is <a class="link" href="glib-File-Utilities.html#G-FILE-ERROR:CAPS" title="G_FILE_ERROR"><span class="type">G_FILE_ERROR</span></a>. Possible error -codes are those in the <a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError"><span class="type">GFileError</span></a> enumeration. In the error case, -<em class="parameter"><code>contents</code></em> is set to <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> and <em class="parameter"><code>length</code></em> is set to zero. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>name of a file to read contents from, in the GLib file name encoding. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>contents</code></em> :</span></p></td> -<td>location to store an allocated string, use <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a> to free -the returned string. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td> -<td>location to store length in bytes of the contents, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> -<td>return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td> -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> on success, <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> if an error occurred</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-file-set-contents"></a><h3>g_file_set_contents ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_file_set_contents (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *contents</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gssize" title="gssize"><span class="type">gssize</span></a> length</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);</pre> -<p> -Writes all of <em class="parameter"><code>contents</code></em> to a file named <em class="parameter"><code>filename</code></em>, with good error checking. -If a file called <em class="parameter"><code>filename</code></em> already exists it will be overwritten. -</p> -<p> -This write is atomic in the sense that it is first written to a temporary -file which is then renamed to the final name. Notes: -</p> -<div class="itemizedlist"><ul class="itemizedlist" type="disc"> -<li class="listitem"> - On Unix, if <em class="parameter"><code>filename</code></em> already exists hard links to <em class="parameter"><code>filename</code></em> will break. - Also since the file is recreated, existing permissions, access control - lists, metadata etc. may be lost. If <em class="parameter"><code>filename</code></em> is a symbolic link, - the link itself will be replaced, not the linked file. -</li> -<li class="listitem"> - On Windows renaming a file will not remove an existing file with the - new name, so on Windows there is a race condition between the existing - file being removed and the temporary file being renamed. -</li> -<li class="listitem"> - On Windows there is no way to remove a file that is open to some - process, or mapped into memory. Thus, this function will fail if - <em class="parameter"><code>filename</code></em> already exists and is open. -</li> -</ul></div> -<p> -</p> -<p> -If the call was successful, it returns <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>. If the call was not successful, -it returns <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> and sets <em class="parameter"><code>error</code></em>. The error domain is <a class="link" href="glib-File-Utilities.html#G-FILE-ERROR:CAPS" title="G_FILE_ERROR"><span class="type">G_FILE_ERROR</span></a>. -Possible error codes are those in the <a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError"><span class="type">GFileError</span></a> enumeration. -</p> -<p> -Note that the name for the temporary file is constructed by appending up -to 7 characters to <em class="parameter"><code>filename</code></em>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>name of a file to write <em class="parameter"><code>contents</code></em> to, in the GLib file name -encoding. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>contents</code></em> :</span></p></td> -<td>string to write to the file. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint8]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td> -<td>length of <em class="parameter"><code>contents</code></em>, or -1 if <em class="parameter"><code>contents</code></em> is a nul-terminated string</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> -<td>return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td> -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> on success, <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> if an error occurred</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.8</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-file-test"></a><h3>g_file_test ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="returnvalue">gboolean</span></a> g_file_test (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GFileTest" title="enum GFileTest"><span class="type">GFileTest</span></a> test</code></em>);</pre> -<p> -Returns <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if any of the tests in the bitfield <em class="parameter"><code>test</code></em> are -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>. For example, <code class="literal">(G_FILE_TEST_EXISTS | -G_FILE_TEST_IS_DIR)</code> will return <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> if the file exists; -the check whether it's a directory doesn't matter since the existence -test is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>. With the current set of available tests, there's no point -passing in more than one test at a time. -</p> -<p> -Apart from <a class="link" href="glib-File-Utilities.html#G-FILE-TEST-IS-SYMLINK:CAPS"><code class="literal">G_FILE_TEST_IS_SYMLINK</code></a> all tests follow symbolic links, -so for a symbolic link to a regular file <a class="link" href="glib-File-Utilities.html#g-file-test" title="g_file_test ()"><code class="function">g_file_test()</code></a> will return -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> for both <a class="link" href="glib-File-Utilities.html#G-FILE-TEST-IS-SYMLINK:CAPS"><code class="literal">G_FILE_TEST_IS_SYMLINK</code></a> and <a class="link" href="glib-File-Utilities.html#G-FILE-TEST-IS-REGULAR:CAPS"><code class="literal">G_FILE_TEST_IS_REGULAR</code></a>. -</p> -<p> -Note, that for a dangling symbolic link <a class="link" href="glib-File-Utilities.html#g-file-test" title="g_file_test ()"><code class="function">g_file_test()</code></a> will return -<a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> for <a class="link" href="glib-File-Utilities.html#G-FILE-TEST-IS-SYMLINK:CAPS"><code class="literal">G_FILE_TEST_IS_SYMLINK</code></a> and <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a> for all other flags. -</p> -<p> -You should never use <a class="link" href="glib-File-Utilities.html#g-file-test" title="g_file_test ()"><code class="function">g_file_test()</code></a> to test whether it is safe -to perform an operation, because there is always the possibility -of the condition changing before you actually perform the operation. -For example, you might think you could use <a class="link" href="glib-File-Utilities.html#G-FILE-TEST-IS-SYMLINK:CAPS"><code class="literal">G_FILE_TEST_IS_SYMLINK</code></a> -to know whether it is safe to write to a file without being -tricked into writing into a different location. It doesn't work! -</p> -<div class="informalexample"><pre class="programlisting"> -/* DON'T DO THIS */ - if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK)) - { - fd = g_open (filename, O_WRONLY); - /* write to fd */ - } -</pre></div> -<p> -</p> -<p> -Another thing to note is that <a class="link" href="glib-File-Utilities.html#G-FILE-TEST-EXISTS:CAPS"><code class="literal">G_FILE_TEST_EXISTS</code></a> and -<a class="link" href="glib-File-Utilities.html#G-FILE-TEST-IS-EXECUTABLE:CAPS"><code class="literal">G_FILE_TEST_IS_EXECUTABLE</code></a> are implemented using the <code class="function">access()</code> -system call. This usually doesn't matter, but if your program -is setuid or setgid it means that these tests will give you -the answer for the real user ID and group ID, rather than the -effective user ID and group ID. -</p> -<p> -On Windows, there are no symlinks, so testing for -<a class="link" href="glib-File-Utilities.html#G-FILE-TEST-IS-SYMLINK:CAPS"><code class="literal">G_FILE_TEST_IS_SYMLINK</code></a> will always return <a class="link" href="glib-Standard-Macros.html#FALSE:CAPS" title="FALSE"><code class="literal">FALSE</code></a>. Testing for -<a class="link" href="glib-File-Utilities.html#G-FILE-TEST-IS-EXECUTABLE:CAPS"><code class="literal">G_FILE_TEST_IS_EXECUTABLE</code></a> will just check that the file exists and -its name indicates that it is executable, checking for well-known -extensions and those listed in the <code class="envar">PATHEXT</code> environment variable. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a filename to test in the GLib file name encoding</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>test</code></em> :</span></p></td> -<td>bitfield of <a class="link" href="glib-File-Utilities.html#GFileTest" title="enum GFileTest"><span class="type">GFileTest</span></a> flags</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>whether a test was <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a> -</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-mkstemp"></a><h3>g_mkstemp ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_mkstemp (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>);</pre> -<p> -Opens a temporary file. See the <code class="function">mkstemp()</code> documentation -on most UNIX-like systems. -</p> -<p> -The parameter is a string that should follow the rules for -<code class="function">mkstemp()</code> templates, i.e. contain the string "XXXXXX". -<a class="link" href="glib-File-Utilities.html#g-mkstemp" title="g_mkstemp ()"><code class="function">g_mkstemp()</code></a> is slightly more flexible than <code class="function">mkstemp()</code> in that the -sequence does not have to occur at the very end of the template. -The X string will be modified to form the name of a file that -didn't exist. The string should be in the GLib file name encoding. -Most importantly, on Windows it should be in UTF-8. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>tmpl</code></em> :</span></p></td> -<td>template filename. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>A file handle (as from <code class="function">open()</code>) to the file -opened for reading and writing. The file is opened in binary -mode on platforms where there is a difference. The file handle -should be closed with <code class="function">close()</code>. In case of errors, -1 is -returned and <code class="literal">errno</code> will be set.</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-mkstemp-full"></a><h3>g_mkstemp_full ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_mkstemp_full (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> flags</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> mode</code></em>);</pre> -<p> -Opens a temporary file. See the <code class="function">mkstemp()</code> documentation -on most UNIX-like systems. -</p> -<p> -The parameter is a string that should follow the rules for -<code class="function">mkstemp()</code> templates, i.e. contain the string "XXXXXX". -<a class="link" href="glib-File-Utilities.html#g-mkstemp-full" title="g_mkstemp_full ()"><code class="function">g_mkstemp_full()</code></a> is slightly more flexible than <code class="function">mkstemp()</code> -in that the sequence does not have to occur at the very end of the -template and you can pass a <em class="parameter"><code>mode</code></em> and additional <em class="parameter"><code>flags</code></em>. The X -string will be modified to form the name of a file that didn't exist. -The string should be in the GLib file name encoding. Most importantly, -on Windows it should be in UTF-8. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>tmpl</code></em> :</span></p></td> -<td>template filename. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td> -<td>flags to pass to an <code class="function">open()</code> call in addition to O_EXCL -and O_CREAT, which are passed automatically</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> -<td>permissions to create the temporary file with</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>A file handle (as from <code class="function">open()</code>) to the file -opened for reading and writing. The file handle should be -closed with <code class="function">close()</code>. In case of errors, -1 is returned -and <code class="literal">errno</code> will be set.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.22</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-file-open-tmp"></a><h3>g_file_open_tmp ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_file_open_tmp (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> **name_used</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);</pre> -<p> -Opens a file for writing in the preferred directory for temporary -files (as returned by <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-tmp-dir" title="g_get_tmp_dir ()"><code class="function">g_get_tmp_dir()</code></a>). -</p> -<p> -<em class="parameter"><code>tmpl</code></em> should be a string in the GLib file name encoding containing -a sequence of six 'X' characters, as the parameter to <a class="link" href="glib-File-Utilities.html#g-mkstemp" title="g_mkstemp ()"><code class="function">g_mkstemp()</code></a>. -However, unlike these functions, the template should only be a -basename, no directory components are allowed. If template is -<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, a default template is used. -</p> -<p> -Note that in contrast to <a class="link" href="glib-File-Utilities.html#g-mkstemp" title="g_mkstemp ()"><code class="function">g_mkstemp()</code></a> (and <code class="function">mkstemp()</code>) <em class="parameter"><code>tmpl</code></em> is not -modified, and might thus be a read-only literal string. -</p> -<p> -Upon success, and if <em class="parameter"><code>name_used</code></em> is non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, the actual name used -is returned in <em class="parameter"><code>name_used</code></em>. This string should be freed with <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a> -when not needed any longer. The returned name is in the GLib file -name encoding. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>tmpl</code></em> :</span></p></td> -<td>Template for file name, as in -<a class="link" href="glib-File-Utilities.html#g-mkstemp" title="g_mkstemp ()"><code class="function">g_mkstemp()</code></a>, basename only, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> for a default template. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>name_used</code></em> :</span></p></td> -<td>location to store actual name used, -or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> -<td>return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>A file handle (as from <code class="function">open()</code>) to the file opened for -reading and writing. The file is opened in binary mode on platforms -where there is a difference. The file handle should be closed with -<code class="function">close()</code>. In case of errors, -1 is returned and <em class="parameter"><code>error</code></em> will be set.</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-file-read-link"></a><h3>g_file_read_link ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_file_read_link (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);</pre> -<p> -Reads the contents of the symbolic link <em class="parameter"><code>filename</code></em> like the POSIX -<code class="function">readlink()</code> function. The returned string is in the encoding used -for filenames. Use <a class="link" href="glib-Character-Set-Conversion.html#g-filename-to-utf8" title="g_filename_to_utf8 ()"><code class="function">g_filename_to_utf8()</code></a> to convert it to UTF-8. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>the symbolic link</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> -<td>return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>A newly-allocated string with the contents of the symbolic link, -or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if an error occurred.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.4</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-mkdir-with-parents"></a><h3>g_mkdir_with_parents ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="returnvalue">gint</span></a> g_mkdir_with_parents (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *pathname</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> mode</code></em>);</pre> -<p> -Create a directory if it doesn't already exist. Create intermediate -parent directories as needed, too. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>pathname</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> -<td>permissions to use for newly created directories</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>0 if the directory already exists, or was successfully -created. Returns -1 if an error occurred, with errno set.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.8</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-mkdtemp"></a><h3>g_mkdtemp ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_mkdtemp (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>);</pre> -<p> -Creates a temporary directory. See the <code class="function">mkdtemp()</code> documentation -on most UNIX-like systems. -</p> -<p> -The parameter is a string that should follow the rules for -<code class="function">mkdtemp()</code> templates, i.e. contain the string "XXXXXX". -<a class="link" href="glib-File-Utilities.html#g-mkdtemp" title="g_mkdtemp ()"><code class="function">g_mkdtemp()</code></a> is slightly more flexible than <code class="function">mkdtemp()</code> in that the -sequence does not have to occur at the very end of the template -and you can pass a <em class="parameter"><code>mode</code></em> and additional <em class="parameter"><code>flags</code></em>. The X string will -be modified to form the name of a directory that didn't exist. -The string should be in the GLib file name encoding. Most importantly, -on Windows it should be in UTF-8. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>tmpl</code></em> :</span></p></td> -<td>template directory name. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>A pointer to <em class="parameter"><code>tmpl</code></em>, which has been modified -to hold the directory name. In case of errors, <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is -returned and <code class="literal">errno</code> will be set.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.30</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-mkdtemp-full"></a><h3>g_mkdtemp_full ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_mkdtemp_full (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> mode</code></em>);</pre> -<p> -Creates a temporary directory. See the <code class="function">mkdtemp()</code> documentation -on most UNIX-like systems. -</p> -<p> -The parameter is a string that should follow the rules for -<code class="function">mkdtemp()</code> templates, i.e. contain the string "XXXXXX". -<a class="link" href="glib-File-Utilities.html#g-mkdtemp" title="g_mkdtemp ()"><code class="function">g_mkdtemp()</code></a> is slightly more flexible than <code class="function">mkdtemp()</code> in that the -sequence does not have to occur at the very end of the template -and you can pass a <em class="parameter"><code>mode</code></em>. The X string will be modified to form -the name of a directory that didn't exist. The string should be -in the GLib file name encoding. Most importantly, on Windows it -should be in UTF-8. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>tmpl</code></em> :</span></p></td> -<td>template directory name. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> -<td>permissions to create the temporary directory with</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>A pointer to <em class="parameter"><code>tmpl</code></em>, which has been modified -to hold the directory name. In case of errors, <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is -returned, and <code class="literal">errno</code> will be set.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.30</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-dir-make-tmp"></a><h3>g_dir_make_tmp ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_dir_make_tmp (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *tmpl</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);</pre> -<p> -Creates a subdirectory in the preferred directory for temporary -files (as returned by <a class="link" href="glib-Miscellaneous-Utility-Functions.html#g-get-tmp-dir" title="g_get_tmp_dir ()"><code class="function">g_get_tmp_dir()</code></a>). -</p> -<p> -<em class="parameter"><code>tmpl</code></em> should be a string in the GLib file name encoding containing -a sequence of six 'X' characters, as the parameter to <a class="link" href="glib-File-Utilities.html#g-mkstemp" title="g_mkstemp ()"><code class="function">g_mkstemp()</code></a>. -However, unlike these functions, the template should only be a -basename, no directory components are allowed. If template is -<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, a default template is used. -</p> -<p> -Note that in contrast to <a class="link" href="glib-File-Utilities.html#g-mkdtemp" title="g_mkdtemp ()"><code class="function">g_mkdtemp()</code></a> (and <code class="function">mkdtemp()</code>) <em class="parameter"><code>tmpl</code></em> is not -modified, and might thus be a read-only literal string. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>tmpl</code></em> :</span></p></td> -<td>Template for directory name, -as in <a class="link" href="glib-File-Utilities.html#g-mkdtemp" title="g_mkdtemp ()"><code class="function">g_mkdtemp()</code></a>, basename only, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> for a default template. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> -<td>return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>The actual name used. This string -should be freed with <a class="link" href="glib-Memory-Allocation.html#g-free" title="g_free ()"><code class="function">g_free()</code></a> when not needed any longer and is -is in the GLib file name encoding. In case of errors, <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is -returned and <em class="parameter"><code>error</code></em> will be set. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> filename]</span> -</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.30</p> -</div> -<hr> -<div class="refsect2"> -<a name="GDir"></a><h3>GDir</h3> -<pre class="programlisting">typedef struct _GDir GDir;</pre> -<p> -An opaque structure representing an opened directory. -</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-dir-open"></a><h3>g_dir_open ()</h3> -<pre class="programlisting"><a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="returnvalue">GDir</span></a> * g_dir_open (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *path</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#guint" title="guint"><span class="type">guint</span></a> flags</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);</pre> -<p> -Opens a directory for reading. The names of the files in the -directory can then be retrieved using <a class="link" href="glib-File-Utilities.html#g-dir-read-name" title="g_dir_read_name ()"><code class="function">g_dir_read_name()</code></a>. Note -that the ordering is not defined. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td> -<td>the path to the directory you are interested in. On Unix -in the on-disk encoding. On Windows in UTF-8</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td> -<td>Currently must be set to 0. Reserved for future use.</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> -<td>return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. -If non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, an error will be set if and only if -<a class="link" href="glib-File-Utilities.html#g-dir-open" title="g_dir_open ()"><code class="function">g_dir_open()</code></a> fails.</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>a newly allocated <a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="type">GDir</span></a> on success, <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> on failure. -If non-<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>, you must free the result with <a class="link" href="glib-File-Utilities.html#g-dir-close" title="g_dir_close ()"><code class="function">g_dir_close()</code></a> -when you are finished with it.</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-dir-read-name"></a><h3>g_dir_read_name ()</h3> -<pre class="programlisting">const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_dir_read_name (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="type">GDir</span></a> *dir</code></em>);</pre> -<p> -Retrieves the name of another entry in the directory, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. -The order of entries returned from this function is not defined, -and may vary by file system or other operating-system dependent -factors. -</p> -<p> -<a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> may also be returned in case of errors. On Unix, you can -check <code class="literal">errno</code> to find out if <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> was returned -because of an error. -</p> -<p> -On Unix, the '.' and '..' entries are omitted, and the returned -name is in the on-disk encoding. -</p> -<p> -On Windows, as is true of all GLib functions which operate on -filenames, the returned name is in UTF-8. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>dir</code></em> :</span></p></td> -<td>a <a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="type">GDir</span></a>* created by <a class="link" href="glib-File-Utilities.html#g-dir-open" title="g_dir_open ()"><code class="function">g_dir_open()</code></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>The entry's name or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if there are no -more entries. The return value is owned by GLib and -must not be modified or freed.</td> -</tr> -</tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-dir-rewind"></a><h3>g_dir_rewind ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_dir_rewind (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="type">GDir</span></a> *dir</code></em>);</pre> -<p> -Resets the given directory. The next call to <a class="link" href="glib-File-Utilities.html#g-dir-read-name" title="g_dir_read_name ()"><code class="function">g_dir_read_name()</code></a> -will return the first entry again. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody><tr> -<td><p><span class="term"><em class="parameter"><code>dir</code></em> :</span></p></td> -<td>a <a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="type">GDir</span></a>* created by <a class="link" href="glib-File-Utilities.html#g-dir-open" title="g_dir_open ()"><code class="function">g_dir_open()</code></a> -</td> -</tr></tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-dir-close"></a><h3>g_dir_close ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_dir_close (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="type">GDir</span></a> *dir</code></em>);</pre> -<p> -Closes the directory and deallocates all related resources. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody><tr> -<td><p><span class="term"><em class="parameter"><code>dir</code></em> :</span></p></td> -<td>a <a class="link" href="glib-File-Utilities.html#GDir" title="GDir"><span class="type">GDir</span></a>* created by <a class="link" href="glib-File-Utilities.html#g-dir-open" title="g_dir_open ()"><code class="function">g_dir_open()</code></a> -</td> -</tr></tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="GMappedFile"></a><h3>GMappedFile</h3> -<pre class="programlisting">typedef struct _GMappedFile GMappedFile;</pre> -<p> -The <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> represents a file mapping created with -<a class="link" href="glib-File-Utilities.html#g-mapped-file-new" title="g_mapped_file_new ()"><code class="function">g_mapped_file_new()</code></a>. It has only private members and should -not be accessed directly. -</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-mapped-file-new"></a><h3>g_mapped_file_new ()</h3> -<pre class="programlisting"><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="returnvalue">GMappedFile</span></a> * g_mapped_file_new (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> writable</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);</pre> -<p> -Maps a file into memory. On UNIX, this is using the <code class="function">mmap()</code> function. -</p> -<p> -If <em class="parameter"><code>writable</code></em> is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, the mapped buffer may be modified, otherwise -it is an error to modify the mapped buffer. Modifications to the buffer -are not visible to other processes mapping the same file, and are not -written back to the file. -</p> -<p> -Note that modifications of the underlying file might affect the contents -of the <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a>. Therefore, mapping should only be used if the file -will not be modified, or if all modifications of the file are done -atomically (e.g. using <a class="link" href="glib-File-Utilities.html#g-file-set-contents" title="g_file_set_contents ()"><code class="function">g_file_set_contents()</code></a>). -</p> -<p> -If <em class="parameter"><code>filename</code></em> is the name of an empty, regular file, the function -will successfully return an empty <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a>. In other cases of -size 0 (e.g. device files such as /dev/null), <em class="parameter"><code>error</code></em> will be set -to the <a class="link" href="glib-File-Utilities.html#GFileError" title="enum GFileError"><span class="type">GFileError</span></a> value <a class="link" href="glib-File-Utilities.html#G-FILE-ERROR-INVAL:CAPS"><span class="type">G_FILE_ERROR_INVAL</span></a>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>The path of the file to load, in the GLib filename encoding</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>writable</code></em> :</span></p></td> -<td>whether the mapping should be writable</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> -<td>return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>a newly allocated <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> which must be unref'd -with <a class="link" href="glib-File-Utilities.html#g-mapped-file-unref" title="g_mapped_file_unref ()"><code class="function">g_mapped_file_unref()</code></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if the mapping failed.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.8</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-mapped-file-new-from-fd"></a><h3>g_mapped_file_new_from_fd ()</h3> -<pre class="programlisting"><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="returnvalue">GMappedFile</span></a> * g_mapped_file_new_from_fd (<em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gint" title="gint"><span class="type">gint</span></a> fd</code></em>, - <em class="parameter"><code><a class="link" href="glib-Basic-Types.html#gboolean" title="gboolean"><span class="type">gboolean</span></a> writable</code></em>, - <em class="parameter"><code><a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a> **error</code></em>);</pre> -<p> -Maps a file into memory. On UNIX, this is using the <code class="function">mmap()</code> function. -</p> -<p> -If <em class="parameter"><code>writable</code></em> is <a class="link" href="glib-Standard-Macros.html#TRUE:CAPS" title="TRUE"><code class="literal">TRUE</code></a>, the mapped buffer may be modified, otherwise -it is an error to modify the mapped buffer. Modifications to the buffer -are not visible to other processes mapping the same file, and are not -written back to the file. -</p> -<p> -Note that modifications of the underlying file might affect the contents -of the <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a>. Therefore, mapping should only be used if the file -will not be modified, or if all modifications of the file are done -atomically (e.g. using <a class="link" href="glib-File-Utilities.html#g-file-set-contents" title="g_file_set_contents ()"><code class="function">g_file_set_contents()</code></a>). -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>fd</code></em> :</span></p></td> -<td>The file descriptor of the file to load</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>writable</code></em> :</span></p></td> -<td>whether the mapping should be writable</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td> -<td>return location for a <a class="link" href="glib-Error-Reporting.html#GError" title="struct GError"><span class="type">GError</span></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>a newly allocated <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> which must be unref'd -with <a class="link" href="glib-File-Utilities.html#g-mapped-file-unref" title="g_mapped_file_unref ()"><code class="function">g_mapped_file_unref()</code></a>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if the mapping failed.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.32</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-mapped-file-ref"></a><h3>g_mapped_file_ref ()</h3> -<pre class="programlisting"><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="returnvalue">GMappedFile</span></a> * g_mapped_file_ref (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> *file</code></em>);</pre> -<p> -Increments the reference count of <em class="parameter"><code>file</code></em> by one. It is safe to call -this function from any thread. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td> -<td>a <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the passed in <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a>.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.22</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-mapped-file-unref"></a><h3>g_mapped_file_unref ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_mapped_file_unref (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> *file</code></em>);</pre> -<p> -Decrements the reference count of <em class="parameter"><code>file</code></em> by one. If the reference count -drops to 0, unmaps the buffer of <em class="parameter"><code>file</code></em> and frees it. -</p> -<p> -It is safe to call this function from any thread. -</p> -<p> -Since 2.22 -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody><tr> -<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td> -<td>a <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> -</td> -</tr></tbody> -</table></div> -</div> -<hr> -<div class="refsect2"> -<a name="g-mapped-file-free"></a><h3>g_mapped_file_free ()</h3> -<pre class="programlisting"><span class="returnvalue">void</span> g_mapped_file_free (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> *file</code></em>);</pre> -<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"> -<h3 class="title">Warning</h3> -<p><code class="literal">g_mapped_file_free</code> has been deprecated since version 2.22 and should not be used in newly-written code. Use <a class="link" href="glib-File-Utilities.html#g-mapped-file-unref" title="g_mapped_file_unref ()"><code class="function">g_mapped_file_unref()</code></a> instead.</p> -</div> -<p> -This call existed before <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> had refcounting and is currently -exactly the same as <a class="link" href="glib-File-Utilities.html#g-mapped-file-unref" title="g_mapped_file_unref ()"><code class="function">g_mapped_file_unref()</code></a>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody><tr> -<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td> -<td>a <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> -</td> -</tr></tbody> -</table></div> -<p class="since">Since 2.8</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-mapped-file-get-length"></a><h3>g_mapped_file_get_length ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gsize" title="gsize"><span class="returnvalue">gsize</span></a> g_mapped_file_get_length (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> *file</code></em>);</pre> -<p> -Returns the length of the contents of a <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td> -<td>a <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the length of the contents of <em class="parameter"><code>file</code></em>.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.8</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-mapped-file-get-contents"></a><h3>g_mapped_file_get_contents ()</h3> -<pre class="programlisting"><a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="returnvalue">gchar</span></a> * g_mapped_file_get_contents (<em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> *file</code></em>);</pre> -<p> -Returns the contents of a <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a>. -</p> -<p> -Note that the contents may not be zero-terminated, -even if the <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> is backed by a text file. -</p> -<p> -If the file is empty then <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> is returned. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>file</code></em> :</span></p></td> -<td>a <a class="link" href="glib-File-Utilities.html#GMappedFile" title="GMappedFile"><span class="type">GMappedFile</span></a> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>the contents of <em class="parameter"><code>file</code></em>, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.8</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-open"></a><h3>g_open ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_open (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">int</span> flags</code></em>, - <em class="parameter"><code><span class="type">int</span> mode</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">open()</code> function. The <code class="function">open()</code> function is -used to convert a pathname into a file descriptor. -</p> -<p> -On POSIX systems file descriptors are implemented by the operating -system. On Windows, it's the C library that implements <code class="function">open()</code> and -file descriptors. The actual Win32 API for opening files is quite -different, see MSDN documentation for <code class="function">CreateFile()</code>. The Win32 API -uses file handles, which are more randomish integers, not small -integers like file descriptors. -</p> -<p> -Because file descriptors are specific to the C library on Windows, -the file descriptor returned by this function makes sense only to -functions in the same C library. Thus if the GLib-using code uses a -different C library than GLib does, the file descriptor returned by -this function cannot be passed to C library functions like <code class="function">write()</code> -or <code class="function">read()</code>. -</p> -<p> -See your C library manual for more details about <code class="function">open()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>flags</code></em> :</span></p></td> -<td>as in <code class="function">open()</code> -</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> -<td>as in <code class="function">open()</code> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>a new file descriptor, or -1 if an error occurred. The -return value can be used exactly like the return value from <code class="function">open()</code>.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.6</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-rename"></a><h3>g_rename ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_rename (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *oldfilename</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *newfilename</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">rename()</code> function. The <code class="function">rename()</code> function -renames a file, moving it between directories if required. -</p> -<p> -See your C library manual for more details about how <code class="function">rename()</code> works -on your system. It is not possible in general on Windows to rename -a file that is open to some process. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>oldfilename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>newfilename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>0 if the renaming succeeded, -1 if an error occurred</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.6</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-mkdir"></a><h3>g_mkdir ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_mkdir (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">int</span> mode</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">mkdir()</code> function. The <code class="function">mkdir()</code> function -attempts to create a directory with the given name and permissions. -The mode argument is ignored on Windows. -</p> -<p> -See your C library manual for more details about <code class="function">mkdir()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> -<td>permissions to use for the newly created directory</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>0 if the directory was successfully created, -1 if an error -occurred</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.6</p> -</div> -<hr> -<div class="refsect2"> -<a name="GStatBuf"></a><h3>GStatBuf</h3> -<pre class="programlisting">typedef struct _stat32 GStatBuf; -</pre> -<p> -A type corresponding to the appropriate struct type for the stat -system call, depending on the platform and/or compiler being used. -</p> -<p> -See <a class="link" href="glib-File-Utilities.html#g-stat" title="g_stat ()"><code class="function">g_stat()</code></a> for more information. -</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-stat"></a><h3>g_stat ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_stat (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GStatBuf" title="GStatBuf"><span class="type">GStatBuf</span></a> *buf</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">stat()</code> function. The <code class="function">stat()</code> function -returns information about a file. On Windows the <code class="function">stat()</code> function in -the C library checks only the FAT-style READONLY attribute and does -not look at the ACL at all. Thus on Windows the protection bits in -the st_mode field are a fabrication of little use. -</p> -<p> -On Windows the Microsoft C libraries have several variants of the -<span class="structname">stat</span> struct and <code class="function">stat()</code> function with names -like "_stat", "_stat32", "_stat32i64" and "_stat64i32". The one -used here is for 32-bit code the one with 32-bit size and time -fields, specifically called "_stat32". -</p> -<p> -In Microsoft's compiler, by default "struct stat" means one with -64-bit time fields while in MinGW "struct stat" is the legacy one -with 32-bit fields. To hopefully clear up this messs, the gstdio.h -header defines a type GStatBuf which is the appropriate struct type -depending on the platform and/or compiler being used. On POSIX it -is just "struct stat", but note that even on POSIX platforms, -"stat" might be a macro. -</p> -<p> -See your C library manual for more details about <code class="function">stat()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td> -<td>a pointer to a <span class="structname">stat</span> struct, which -will be filled with the file information</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>0 if the information was successfully retrieved, -1 if an error -occurred</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.6</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-lstat"></a><h3>g_lstat ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_lstat (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><a class="link" href="glib-File-Utilities.html#GStatBuf" title="GStatBuf"><span class="type">GStatBuf</span></a> *buf</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">lstat()</code> function. The <code class="function">lstat()</code> function is -like <code class="function">stat()</code> except that in the case of symbolic links, it returns -information about the symbolic link itself and not the file that it -refers to. If the system does not support symbolic links <a class="link" href="glib-File-Utilities.html#g-lstat" title="g_lstat ()"><code class="function">g_lstat()</code></a> -is identical to <a class="link" href="glib-File-Utilities.html#g-stat" title="g_stat ()"><code class="function">g_stat()</code></a>. -</p> -<p> -See your C library manual for more details about <code class="function">lstat()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>buf</code></em> :</span></p></td> -<td>a pointer to a <span class="structname">stat</span> struct, which -will be filled with the file information</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>0 if the information was successfully retrieved, -1 if an error -occurred</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.6</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-unlink"></a><h3>g_unlink ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_unlink (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">unlink()</code> function. The <code class="function">unlink()</code> function -deletes a name from the filesystem. If this was the last link to the -file and no processes have it opened, the diskspace occupied by the -file is freed. -</p> -<p> -See your C library manual for more details about <code class="function">unlink()</code>. Note -that on Windows, it is in general not possible to delete files that -are open to some process, or mapped into memory. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>0 if the name was successfully deleted, -1 if an error -occurred</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.6</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-remove"></a><h3>g_remove ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_remove (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">remove()</code> function. The <code class="function">remove()</code> function -deletes a name from the filesystem. -</p> -<p> -See your C library manual for more details about how <code class="function">remove()</code> works -on your system. On Unix, <code class="function">remove()</code> removes also directories, as it -calls <code class="function">unlink()</code> for files and <code class="function">rmdir()</code> for directories. On Windows, -although <code class="function">remove()</code> in the C library only works for files, this -function tries first <code class="function">remove()</code> and then if that fails <code class="function">rmdir()</code>, and -thus works for both files and directories. Note however, that on -Windows, it is in general not possible to remove a file that is -open to some process, or mapped into memory. -</p> -<p> -If this function fails on Windows you can't infer too much from the -errno value. <code class="function">rmdir()</code> is tried regardless of what caused <code class="function">remove()</code> to -fail. Any errno value set by <code class="function">remove()</code> will be overwritten by that -set by <code class="function">rmdir()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>0 if the file was successfully removed, -1 if an error -occurred</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.6</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-rmdir"></a><h3>g_rmdir ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_rmdir (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">rmdir()</code> function. The <code class="function">rmdir()</code> function -deletes a directory from the filesystem. -</p> -<p> -See your C library manual for more details about how <code class="function">rmdir()</code> works -on your system. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>0 if the directory was successfully removed, -1 if an error -occurred</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.6</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-fopen"></a><h3>g_fopen ()</h3> -<pre class="programlisting"><span class="returnvalue">FILE</span> * g_fopen (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *mode</code></em>);</pre> -<p> -A wrapper for the stdio <code class="function">fopen()</code> function. The <code class="function">fopen()</code> function -opens a file and associates a new stream with it. -</p> -<p> -Because file descriptors are specific to the C library on Windows, -and a file descriptor is partof the <span class="type">FILE</span> struct, the -<span class="type">FILE</span> pointer returned by this function makes sense -only to functions in the same C library. Thus if the GLib-using -code uses a different C library than GLib does, the -<span class="type">FILE</span> pointer returned by this function cannot be -passed to C library functions like <code class="function">fprintf()</code> or <code class="function">fread()</code>. -</p> -<p> -See your C library manual for more details about <code class="function">fopen()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> -<td>a string describing the mode in which the file should be -opened</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>A <span class="type">FILE</span> pointer if the file was successfully -opened, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if an error occurred</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.6</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-freopen"></a><h3>g_freopen ()</h3> -<pre class="programlisting"><span class="returnvalue">FILE</span> * g_freopen (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *mode</code></em>, - <em class="parameter"><code><span class="type">FILE</span> *stream</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">freopen()</code> function. The <code class="function">freopen()</code> function -opens a file and associates it with an existing stream. -</p> -<p> -See your C library manual for more details about <code class="function">freopen()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> -<td>a string describing the mode in which the file should be -opened</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>stream</code></em> :</span></p></td> -<td>an existing stream which will be reused, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>A <code class="literal">FILE</code> pointer if the file was successfully -opened, or <a class="link" href="glib-Standard-Macros.html#NULL:CAPS" title="NULL"><code class="literal">NULL</code></a> if an error occurred.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.6</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-chmod"></a><h3>g_chmod ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_chmod (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">int</span> mode</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">chmod()</code> function. The <code class="function">chmod()</code> function is -used to set the permissions of a file system object. -</p> -<p> -On Windows the file protection mechanism is not at all POSIX-like, -and the underlying <code class="function">chmod()</code> function in the C library just sets or -clears the FAT-style READONLY attribute. It does not touch any -ACL. Software that needs to manage file permissions on Windows -exactly should use the Win32 API. -</p> -<p> -See your C library manual for more details about <code class="function">chmod()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> -<td>as in <code class="function">chmod()</code> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>zero if the operation succeeded, -1 on error.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.8</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-access"></a><h3>g_access ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_access (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">int</span> mode</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">access()</code> function. This function is used to -test a pathname for one or several of read, write or execute -permissions, or just existence. -</p> -<p> -On Windows, the file protection mechanism is not at all POSIX-like, -and the underlying function in the C library only checks the -FAT-style READONLY attribute, and does not look at the ACL of a -file at all. This function is this in practise almost useless on -Windows. Software that needs to handle file permissions on Windows -more exactly should use the Win32 API. -</p> -<p> -See your C library manual for more details about <code class="function">access()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> -<td>as in <code class="function">access()</code> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>zero if the pathname refers to an existing file system -object that has all the tested permissions, or -1 otherwise or on -error.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.8</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-creat"></a><h3>g_creat ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_creat (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">int</span> mode</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">creat()</code> function. The <code class="function">creat()</code> function is -used to convert a pathname into a file descriptor, creating a file -if necessary. -</p> -<p> -On POSIX systems file descriptors are implemented by the operating -system. On Windows, it's the C library that implements <code class="function">creat()</code> and -file descriptors. The actual Windows API for opening files is -different, see MSDN documentation for <code class="function">CreateFile()</code>. The Win32 API -uses file handles, which are more randomish integers, not small -integers like file descriptors. -</p> -<p> -Because file descriptors are specific to the C library on Windows, -the file descriptor returned by this function makes sense only to -functions in the same C library. Thus if the GLib-using code uses a -different C library than GLib does, the file descriptor returned by -this function cannot be passed to C library functions like <code class="function">write()</code> -or <code class="function">read()</code>. -</p> -<p> -See your C library manual for more details about <code class="function">creat()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>mode</code></em> :</span></p></td> -<td>as in <code class="function">creat()</code> -</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>a new file descriptor, or -1 if an error occurred. The -return value can be used exactly like the return value from <code class="function">creat()</code>.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.8</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-chdir"></a><h3>g_chdir ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_chdir (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *path</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">chdir()</code> function. The function changes the -current directory of the process to <em class="parameter"><code>path</code></em>. -</p> -<p> -See your C library manual for more details about <code class="function">chdir()</code>. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>path</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>0 on success, -1 if an error occurred.</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.8</p> -</div> -<hr> -<div class="refsect2"> -<a name="g-utime"></a><h3>g_utime ()</h3> -<pre class="programlisting"><span class="returnvalue">int</span> g_utime (<em class="parameter"><code>const <a class="link" href="glib-Basic-Types.html#gchar" title="gchar"><span class="type">gchar</span></a> *filename</code></em>, - <em class="parameter"><code><span class="type">struct utimbuf</span> *utb</code></em>);</pre> -<p> -A wrapper for the POSIX <code class="function">utime()</code> function. The <code class="function">utime()</code> function -sets the access and modification timestamps of a file. -</p> -<p> -See your C library manual for more details about how <code class="function">utime()</code> works -on your system. -</p> -<div class="variablelist"><table border="0"> -<col align="left" valign="top"> -<tbody> -<tr> -<td><p><span class="term"><em class="parameter"><code>filename</code></em> :</span></p></td> -<td>a pathname in the GLib file name encoding (UTF-8 on Windows)</td> -</tr> -<tr> -<td><p><span class="term"><em class="parameter"><code>utb</code></em> :</span></p></td> -<td>a pointer to a struct utimbuf.</td> -</tr> -<tr> -<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td> -<td>0 if the operation was successful, -1 if an error -occurred</td> -</tr> -</tbody> -</table></div> -<p class="since">Since 2.18</p> -</div> -</div> -</div> -<div class="footer"> -<hr> - Generated by GTK-Doc V1.18</div> -</body> -</html>
\ No newline at end of file |