blob: 569d20d459771978e2dd7003c79b479883ccbd9b [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GFile: GIO Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GIO Reference Manual">
<link rel="up" href="file_ops.html" title="File Operations">
<link rel="prev" href="file_ops.html" title="File Operations">
<link rel="next" href="gio-GFileAttribute.html" title="GFileAttribute">
<meta name="generator" content="GTK-Doc V1.25.1 (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="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
<a href="#GFile.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
<a href="#GFile.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_prerequisites">  <span class="dim">|</span> 
<a href="#GFile.prerequisites" class="shortcut">Prerequisites</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="file_ops.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="file_ops.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gio-GFileAttribute.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="GFile"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GFile.top_of_page"></a>GFile</span></h2>
<p>GFile — File and Directory Handling</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="GFile.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="GFile.html#GFileProgressCallback" title="GFileProgressCallback ()">*GFileProgressCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="GFile.html#GFileReadMoreCallback" title="GFileReadMoreCallback ()">*GFileReadMoreCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<span class="c_punctuation">(</span><a class="link" href="GFile.html#GFileMeasureProgressCallback" title="GFileMeasureProgressCallback ()">*GFileMeasureProgressCallback</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-new-for-path" title="g_file_new_for_path ()">g_file_new_for_path</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-new-for-uri" title="g_file_new_for_uri ()">g_file_new_for_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-new-for-commandline-arg" title="g_file_new_for_commandline_arg ()">g_file_new_for_commandline_arg</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-new-for-commandline-arg-and-cwd" title="g_file_new_for_commandline_arg_and_cwd ()">g_file_new_for_commandline_arg_and_cwd</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-new-tmp" title="g_file_new_tmp ()">g_file_new_tmp</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-parse-name" title="g_file_parse_name ()">g_file_parse_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-dup" title="g_file_dup ()">g_file_dup</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-hash" title="g_file_hash ()">g_file_hash</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-equal" title="g_file_equal ()">g_file_equal</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-get-basename" title="g_file_get_basename ()">g_file_get_basename</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-get-path" title="g_file_get_path ()">g_file_get_path</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-get-uri" title="g_file_get_uri ()">g_file_get_uri</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-get-parse-name" title="g_file_get_parse_name ()">g_file_get_parse_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-get-parent" title="g_file_get_parent ()">g_file_get_parent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-has-parent" title="g_file_has_parent ()">g_file_has_parent</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-get-child" title="g_file_get_child ()">g_file_get_child</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-get-child-for-display-name" title="g_file_get_child_for_display_name ()">g_file_get_child_for_display_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-has-prefix" title="g_file_has_prefix ()">g_file_has_prefix</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-get-relative-path" title="g_file_get_relative_path ()">g_file_get_relative_path</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-resolve-relative-path" title="g_file_resolve_relative_path ()">g_file_resolve_relative_path</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-is-native" title="g_file_is_native ()">g_file_is_native</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-has-uri-scheme" title="g_file_has_uri_scheme ()">g_file_has_uri_scheme</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">char</span> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-get-uri-scheme" title="g_file_get_uri_scheme ()">g_file_get_uri_scheme</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileInputStream.html" title="GFileInputStream"><span class="returnvalue">GFileInputStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-read" title="g_file_read ()">g_file_read</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-read-async" title="g_file_read_async ()">g_file_read_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileInputStream.html" title="GFileInputStream"><span class="returnvalue">GFileInputStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-read-finish" title="g_file_read_finish ()">g_file_read_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileOutputStream.html" title="GFileOutputStream"><span class="returnvalue">GFileOutputStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-append-to" title="g_file_append_to ()">g_file_append_to</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileOutputStream.html" title="GFileOutputStream"><span class="returnvalue">GFileOutputStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-create" title="g_file_create ()">g_file_create</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileOutputStream.html" title="GFileOutputStream"><span class="returnvalue">GFileOutputStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-replace" title="g_file_replace ()">g_file_replace</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-append-to-async" title="g_file_append_to_async ()">g_file_append_to_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileOutputStream.html" title="GFileOutputStream"><span class="returnvalue">GFileOutputStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-append-to-finish" title="g_file_append_to_finish ()">g_file_append_to_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-create-async" title="g_file_create_async ()">g_file_create_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileOutputStream.html" title="GFileOutputStream"><span class="returnvalue">GFileOutputStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-create-finish" title="g_file_create_finish ()">g_file_create_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-replace-async" title="g_file_replace_async ()">g_file_replace_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileOutputStream.html" title="GFileOutputStream"><span class="returnvalue">GFileOutputStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-replace-finish" title="g_file_replace_finish ()">g_file_replace_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileInfo.html" title="GFileInfo"><span class="returnvalue">GFileInfo</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-info" title="g_file_query_info ()">g_file_query_info</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-info-async" title="g_file_query_info_async ()">g_file_query_info_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileInfo.html" title="GFileInfo"><span class="returnvalue">GFileInfo</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-info-finish" title="g_file_query_info_finish ()">g_file_query_info_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-exists" title="g_file_query_exists ()">g_file_query_exists</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileInfo.html#GFileType" title="enum GFileType"><span class="returnvalue">GFileType</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-file-type" title="g_file_query_file_type ()">g_file_query_file_type</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileInfo.html" title="GFileInfo"><span class="returnvalue">GFileInfo</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-filesystem-info" title="g_file_query_filesystem_info ()">g_file_query_filesystem_info</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-filesystem-info-async" title="g_file_query_filesystem_info_async ()">g_file_query_filesystem_info_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileInfo.html" title="GFileInfo"><span class="returnvalue">GFileInfo</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-filesystem-info-finish" title="g_file_query_filesystem_info_finish ()">g_file_query_filesystem_info_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GAppInfo.html" title="GAppInfo"><span class="returnvalue">GAppInfo</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-default-handler" title="g_file_query_default_handler ()">g_file_query_default_handler</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-measure-disk-usage" title="g_file_measure_disk_usage ()">g_file_measure_disk_usage</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-measure-disk-usage-async" title="g_file_measure_disk_usage_async ()">g_file_measure_disk_usage_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-measure-disk-usage-finish" title="g_file_measure_disk_usage_finish ()">g_file_measure_disk_usage_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMount.html" title="GMount"><span class="returnvalue">GMount</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-find-enclosing-mount" title="g_file_find_enclosing_mount ()">g_file_find_enclosing_mount</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-find-enclosing-mount-async" title="g_file_find_enclosing_mount_async ()">g_file_find_enclosing_mount_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GMount.html" title="GMount"><span class="returnvalue">GMount</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-find-enclosing-mount-finish" title="g_file_find_enclosing_mount_finish ()">g_file_find_enclosing_mount_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileEnumerator.html" title="GFileEnumerator"><span class="returnvalue">GFileEnumerator</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-enumerate-children" title="g_file_enumerate_children ()">g_file_enumerate_children</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-enumerate-children-async" title="g_file_enumerate_children_async ()">g_file_enumerate_children_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileEnumerator.html" title="GFileEnumerator"><span class="returnvalue">GFileEnumerator</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-enumerate-children-finish" title="g_file_enumerate_children_finish ()">g_file_enumerate_children_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-display-name" title="g_file_set_display_name ()">g_file_set_display_name</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-display-name-async" title="g_file_set_display_name_async ()">g_file_set_display_name_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-display-name-finish" title="g_file_set_display_name_finish ()">g_file_set_display_name_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-delete" title="g_file_delete ()">g_file_delete</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-delete-async" title="g_file_delete_async ()">g_file_delete_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-delete-finish" title="g_file_delete_finish ()">g_file_delete_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-trash" title="g_file_trash ()">g_file_trash</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-trash-async" title="g_file_trash_async ()">g_file_trash_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-trash-finish" title="g_file_trash_finish ()">g_file_trash_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-copy" title="g_file_copy ()">g_file_copy</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-copy-async" title="g_file_copy_async ()">g_file_copy_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-copy-finish" title="g_file_copy_finish ()">g_file_copy_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-move" title="g_file_move ()">g_file_move</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-make-directory" title="g_file_make_directory ()">g_file_make_directory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-make-directory-async" title="g_file_make_directory_async ()">g_file_make_directory_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-make-directory-finish" title="g_file_make_directory_finish ()">g_file_make_directory_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-make-directory-with-parents" title="g_file_make_directory_with_parents ()">g_file_make_directory_with_parents</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-make-symbolic-link" title="g_file_make_symbolic_link ()">g_file_make_symbolic_link</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gio-GFileAttribute.html#GFileAttributeInfoList"><span class="returnvalue">GFileAttributeInfoList</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-settable-attributes" title="g_file_query_settable_attributes ()">g_file_query_settable_attributes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="gio-GFileAttribute.html#GFileAttributeInfoList"><span class="returnvalue">GFileAttributeInfoList</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-query-writable-namespaces" title="g_file_query_writable_namespaces ()">g_file_query_writable_namespaces</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-attribute" title="g_file_set_attribute ()">g_file_set_attribute</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-attributes-from-info" title="g_file_set_attributes_from_info ()">g_file_set_attributes_from_info</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-attributes-async" title="g_file_set_attributes_async ()">g_file_set_attributes_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-attributes-finish" title="g_file_set_attributes_finish ()">g_file_set_attributes_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-attribute-string" title="g_file_set_attribute_string ()">g_file_set_attribute_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-attribute-byte-string" title="g_file_set_attribute_byte_string ()">g_file_set_attribute_byte_string</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-attribute-uint32" title="g_file_set_attribute_uint32 ()">g_file_set_attribute_uint32</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-attribute-int32" title="g_file_set_attribute_int32 ()">g_file_set_attribute_int32</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-attribute-uint64" title="g_file_set_attribute_uint64 ()">g_file_set_attribute_uint64</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-set-attribute-int64" title="g_file_set_attribute_int64 ()">g_file_set_attribute_int64</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-mount-mountable" title="g_file_mount_mountable ()">g_file_mount_mountable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-mount-mountable-finish" title="g_file_mount_mountable_finish ()">g_file_mount_mountable_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-unmount-mountable" title="g_file_unmount_mountable ()">g_file_unmount_mountable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-unmount-mountable-finish" title="g_file_unmount_mountable_finish ()">g_file_unmount_mountable_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-unmount-mountable-with-operation" title="g_file_unmount_mountable_with_operation ()">g_file_unmount_mountable_with_operation</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-unmount-mountable-with-operation-finish" title="g_file_unmount_mountable_with_operation_finish ()">g_file_unmount_mountable_with_operation_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-eject-mountable" title="g_file_eject_mountable ()">g_file_eject_mountable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-eject-mountable-finish" title="g_file_eject_mountable_finish ()">g_file_eject_mountable_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-eject-mountable-with-operation" title="g_file_eject_mountable_with_operation ()">g_file_eject_mountable_with_operation</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-eject-mountable-with-operation-finish" title="g_file_eject_mountable_with_operation_finish ()">g_file_eject_mountable_with_operation_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-start-mountable" title="g_file_start_mountable ()">g_file_start_mountable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-start-mountable-finish" title="g_file_start_mountable_finish ()">g_file_start_mountable_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-stop-mountable" title="g_file_stop_mountable ()">g_file_stop_mountable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-stop-mountable-finish" title="g_file_stop_mountable_finish ()">g_file_stop_mountable_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-poll-mountable" title="g_file_poll_mountable ()">g_file_poll_mountable</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-poll-mountable-finish" title="g_file_poll_mountable_finish ()">g_file_poll_mountable_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-mount-enclosing-volume" title="g_file_mount_enclosing_volume ()">g_file_mount_enclosing_volume</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-mount-enclosing-volume-finish" title="g_file_mount_enclosing_volume_finish ()">g_file_mount_enclosing_volume_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileMonitor.html" title="GFileMonitor"><span class="returnvalue">GFileMonitor</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-monitor-directory" title="g_file_monitor_directory ()">g_file_monitor_directory</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileMonitor.html" title="GFileMonitor"><span class="returnvalue">GFileMonitor</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-monitor-file" title="g_file_monitor_file ()">g_file_monitor_file</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileMonitor.html" title="GFileMonitor"><span class="returnvalue">GFileMonitor</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-monitor" title="g_file_monitor ()">g_file_monitor</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-load-contents" title="g_file_load_contents ()">g_file_load_contents</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-load-contents-async" title="g_file_load_contents_async ()">g_file_load_contents_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-load-contents-finish" title="g_file_load_contents_finish ()">g_file_load_contents_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-load-partial-contents-async" title="g_file_load_partial_contents_async ()">g_file_load_partial_contents_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-load-partial-contents-finish" title="g_file_load_partial_contents_finish ()">g_file_load_partial_contents_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-replace-contents" title="g_file_replace_contents ()">g_file_replace_contents</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-replace-contents-async" title="g_file_replace_contents_async ()">g_file_replace_contents_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-replace-contents-bytes-async" title="g_file_replace_contents_bytes_async ()">g_file_replace_contents_bytes_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-replace-contents-finish" title="g_file_replace_contents_finish ()">g_file_replace_contents_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-copy-attributes" title="g_file_copy_attributes ()">g_file_copy_attributes</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="returnvalue">GFileIOStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-create-readwrite" title="g_file_create_readwrite ()">g_file_create_readwrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-create-readwrite-async" title="g_file_create_readwrite_async ()">g_file_create_readwrite_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="returnvalue">GFileIOStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-create-readwrite-finish" title="g_file_create_readwrite_finish ()">g_file_create_readwrite_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="returnvalue">GFileIOStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-open-readwrite" title="g_file_open_readwrite ()">g_file_open_readwrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-open-readwrite-async" title="g_file_open_readwrite_async ()">g_file_open_readwrite_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="returnvalue">GFileIOStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-open-readwrite-finish" title="g_file_open_readwrite_finish ()">g_file_open_readwrite_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="returnvalue">GFileIOStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-replace-readwrite" title="g_file_replace_readwrite ()">g_file_replace_readwrite</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<span class="returnvalue">void</span>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-replace-readwrite-async" title="g_file_replace_readwrite_async ()">g_file_replace_readwrite_async</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="returnvalue">GFileIOStream</span></a> *
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-replace-readwrite-finish" title="g_file_replace_readwrite_finish ()">g_file_replace_readwrite_finish</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="GFile.html#g-file-supports-thread-contexts" title="g_file_supports_thread_contexts ()">g_file_supports_thread_contexts</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GFile.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword"> </td>
<td class="function_name"><a class="link" href="GFile.html#GFile-struct" title="GFile">GFile</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="GFile.html#GFileIface" title="struct GFileIface">GFileIface</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GFile.html#GFileQueryInfoFlags" title="enum GFileQueryInfoFlags">GFileQueryInfoFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GFile.html#GFileCreateFlags" title="enum GFileCreateFlags">GFileCreateFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GFile.html#GFileCopyFlags" title="enum GFileCopyFlags">GFileCopyFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GFile.html#GFileMonitorFlags" title="enum GFileMonitorFlags">GFileMonitorFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GFile.html#GFileMeasureFlags" title="enum GFileMeasureFlags">GFileMeasureFlags</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="GFile.html#GFilesystemPreviewType" title="enum GFilesystemPreviewType">GFilesystemPreviewType</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="GFile.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen"> <a href="https://developer.gnome.org/gobject/unstable/GTypeModule.html">GInterface</a>
<span class="lineart">╰──</span> GFile
</pre>
</div>
<div class="refsect1">
<a name="GFile.prerequisites"></a><h2>Prerequisites</h2>
<p>
GFile requires
<a href="../gobject-The-Base-Object-Type.html#GObject-struct">GObject</a>.</p>
</div>
<div class="refsect1">
<a name="GFile.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gio/gio.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="GFile.description"></a><h2>Description</h2>
<p><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> is a high level abstraction for manipulating files on a
virtual file system. <a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a> are lightweight, immutable objects
that do no I/O upon creation. It is necessary to understand that
<a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> objects do not represent files, merely an identifier for a
file. All file content I/O is implemented as streaming operations
(see <a class="link" href="GInputStream.html" title="GInputStream"><span class="type">GInputStream</span></a> and <a class="link" href="GOutputStream.html" title="GOutputStream"><span class="type">GOutputStream</span></a>).</p>
<p>To construct a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>, you can use:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>g_file_new_for_path() if you have a path.</p></li>
<li class="listitem"><p>g_file_new_for_uri() if you have a URI.</p></li>
<li class="listitem"><p>g_file_new_for_commandline_arg() for a command line argument.</p></li>
<li class="listitem"><p>g_file_new_tmp() to create a temporary file from a template.</p></li>
<li class="listitem"><p>g_file_parse_name() from a UTF-8 string gotten from <a class="link" href="GFile.html#g-file-get-parse-name" title="g_file_get_parse_name ()"><code class="function">g_file_get_parse_name()</code></a>.</p></li>
</ul></div>
<p>One way to think of a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> is as an abstraction of a pathname. For
normal files the system pathname is what is stored internally, but as
<a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a> are extensible it could also be something else that corresponds
to a pathname in a userspace implementation of a filesystem.</p>
<p><a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a> make up hierarchies of directories and files that correspond to
the files on a filesystem. You can move through the file system with
<a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> using <a class="link" href="GFile.html#g-file-get-parent" title="g_file_get_parent ()"><code class="function">g_file_get_parent()</code></a> to get an identifier for the parent
directory, <a class="link" href="GFile.html#g-file-get-child" title="g_file_get_child ()"><code class="function">g_file_get_child()</code></a> to get a child within a directory,
<a class="link" href="GFile.html#g-file-resolve-relative-path" title="g_file_resolve_relative_path ()"><code class="function">g_file_resolve_relative_path()</code></a> to resolve a relative path between two
<a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a>. There can be multiple hierarchies, so you may not end up at
the same root if you repeatedly call <a class="link" href="GFile.html#g-file-get-parent" title="g_file_get_parent ()"><code class="function">g_file_get_parent()</code></a> on two different
files.</p>
<p>All <a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a> have a basename (get with <a class="link" href="GFile.html#g-file-get-basename" title="g_file_get_basename ()"><code class="function">g_file_get_basename()</code></a>). These names
are byte strings that are used to identify the file on the filesystem
(relative to its parent directory) and there is no guarantees that they
have any particular charset encoding or even make any sense at all. If
you want to use filenames in a user interface you should use the display
name that you can get by requesting the
<a class="link" href="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-DISPLAY-NAME:CAPS" title="G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME"><code class="literal">G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME</code></a> attribute with <a class="link" href="GFile.html#g-file-query-info" title="g_file_query_info ()"><code class="function">g_file_query_info()</code></a>.
This is guaranteed to be in UTF-8 and can be used in a user interface.
But always store the real basename or the <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> to use to actually
access the file, because there is no way to go from a display name to
the actual name.</p>
<p>Using <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> as an identifier has the same weaknesses as using a path
in that there may be multiple aliases for the same file. For instance,
hard or soft links may cause two different <a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a> to refer to the same
file. Other possible causes for aliases are: case insensitive filesystems,
short and long names on FAT/NTFS, or bind mounts in Linux. If you want to
check if two <a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a> point to the same file you can query for the
<a class="link" href="GFileInfo.html#G-FILE-ATTRIBUTE-ID-FILE:CAPS" title="G_FILE_ATTRIBUTE_ID_FILE"><code class="literal">G_FILE_ATTRIBUTE_ID_FILE</code></a> attribute. Note that <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> does some trivial
canonicalization of pathnames passed in, so that trivial differences in
the path string used at creation (duplicated slashes, slash at end of
path, "." or ".." path segments, etc) does not create different <a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a>.</p>
<p>Many <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> operations have both synchronous and asynchronous versions
to suit your application. Asynchronous versions of synchronous functions
simply have <a class="link" href="async.html" title="Asynchronous I/O"><code class="function">_async()</code></a> appended to their function names. The asynchronous
I/O functions call a <a class="link" href="GAsyncResult.html#GAsyncReadyCallback" title="GAsyncReadyCallback ()"><span class="type">GAsyncReadyCallback</span></a> which is then used to finalize
the operation, producing a GAsyncResult which is then passed to the
function's matching <code class="function">_finish()</code> operation.</p>
<p>It is highly recommended to use asynchronous calls when running within a
shared main loop, such as in the main thread of an application. This avoids
I/O operations blocking other sources on the main loop from being dispatched.
Synchronous I/O operations should be performed from worker threads. See the
introduction to asynchronous programming section for
more.</p>
<p>Some <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> operations almost always take a noticeable amount of time, and
so do not have synchronous analogs. Notable cases include:</p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>g_file_mount_mountable() to mount a mountable file.</p></li>
<li class="listitem"><p>g_file_unmount_mountable_with_operation() to unmount a mountable file.</p></li>
<li class="listitem"><p>g_file_eject_mountable_with_operation() to eject a mountable file.</p></li>
</ul></div>
<div class="refsect3">
<a name="gfile-etag"></a><h4>Entity Tags</h4>
<p>One notable feature of <a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a> are entity tags, or "etags" for
short. Entity tags are somewhat like a more abstract version of the
traditional mtime, and can be used to quickly determine if the file
has been modified from the version on the file system. See the
HTTP 1.1
<a class="ulink" href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html" target="_top">specification</a>
for HTTP Etag headers, which are a very similar concept.</p>
</div>
</div>
<div class="refsect1">
<a name="GFile.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="GFileProgressCallback"></a><h3>GFileProgressCallback ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
<span class="c_punctuation">(</span>*GFileProgressCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><a href="../glib-Basic-Types.html#goffset"><span class="type">goffset</span></a> current_num_bytes</code></em>,
<em class="parameter"><code><a href="../glib-Basic-Types.html#goffset"><span class="type">goffset</span></a> total_num_bytes</code></em>,
<em class="parameter"><code><a href="../glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>When doing file operations that may take a while, such as moving
a file or copying a file, a progress callback is used to pass how
far along that operation is to the application.</p>
<div class="refsect3">
<a name="GFileProgressCallback.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>current_num_bytes</p></td>
<td class="parameter_description"><p>the current number of bytes in the operation.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>total_num_bytes</p></td>
<td class="parameter_description"><p>the total number of bytes in the operation.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>user data passed to the callback.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GFileReadMoreCallback"></a><h3>GFileReadMoreCallback ()</h3>
<pre class="programlisting"><a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
<span class="c_punctuation">(</span>*GFileReadMoreCallback<span class="c_punctuation">)</span> (<em class="parameter"><code>const <span class="type">char</span> *file_contents</code></em>,
<em class="parameter"><code><a href="../glib-Basic-Types.html#goffset"><span class="type">goffset</span></a> file_size</code></em>,
<em class="parameter"><code><a href="../glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> callback_data</code></em>);</pre>
<p>When loading the partial contents of a file with <a class="link" href="GFile.html#g-file-load-partial-contents-async" title="g_file_load_partial_contents_async ()"><code class="function">g_file_load_partial_contents_async()</code></a>,
it may become necessary to determine if any more data from the file should be loaded.
A <a class="link" href="GFile.html#GFileReadMoreCallback" title="GFileReadMoreCallback ()"><span class="type">GFileReadMoreCallback</span></a> function facilitates this by returning <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if more data
should be read, or <a href="../glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
<div class="refsect3">
<a name="GFileReadMoreCallback.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>file_contents</p></td>
<td class="parameter_description"><p>the data as currently read.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file_size</p></td>
<td class="parameter_description"><p>the size of the data currently read.</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>callback_data</p></td>
<td class="parameter_description"><p>data passed to the callback.</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="GFileReadMoreCallback.returns"></a><h4>Returns</h4>
<p> <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if more data should be read back. <a href="../glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GFileMeasureProgressCallback"></a><h3>GFileMeasureProgressCallback ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>
<span class="c_punctuation">(</span>*GFileMeasureProgressCallback<span class="c_punctuation">)</span> (<em class="parameter"><code><a href="../glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> reporting</code></em>,
<em class="parameter"><code><a href="../glib-Basic-Types.html#guint64"><span class="type">guint64</span></a> current_size</code></em>,
<em class="parameter"><code><a href="../glib-Basic-Types.html#guint64"><span class="type">guint64</span></a> num_dirs</code></em>,
<em class="parameter"><code><a href="../glib-Basic-Types.html#guint64"><span class="type">guint64</span></a> num_files</code></em>,
<em class="parameter"><code><a href="../glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>This callback type is used by <a class="link" href="GFile.html#g-file-measure-disk-usage" title="g_file_measure_disk_usage ()"><code class="function">g_file_measure_disk_usage()</code></a> to make
periodic progress reports when measuring the amount of disk spaced
used by a directory.</p>
<p>These calls are made on a best-effort basis and not all types of
<a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> will support them. At the minimum, however, one call will
always be made immediately.</p>
<p>In the case that there is no support, <em class="parameter"><code>reporting</code></em>
will be set to
<a href="../glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> (and the other values undefined) and no further calls will be
made. Otherwise, the <em class="parameter"><code>reporting</code></em>
will be <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> and the other values
all-zeros during the first (immediate) call. In this way, you can
know which type of progress UI to show without a delay.</p>
<p>For <a class="link" href="GFile.html#g-file-measure-disk-usage" title="g_file_measure_disk_usage ()"><code class="function">g_file_measure_disk_usage()</code></a> the callback is made directly. For
<a class="link" href="GFile.html#g-file-measure-disk-usage-async" title="g_file_measure_disk_usage_async ()"><code class="function">g_file_measure_disk_usage_async()</code></a> the callback is made via the
default main context of the calling thread (ie: the same way that the
final async result would be reported).</p>
<p><em class="parameter"><code>current_size</code></em>
is in the same units as requested by the operation (see
<code class="literal">G_FILE_DISK_USAGE_APPARENT_SIZE</code>).</p>
<p>The frequency of the updates is implementation defined, but is
ideally about once every 200ms.</p>
<p>The last progress callback may or may not be equal to the final
result. Always check the async result to get the final value.</p>
<div class="refsect3">
<a name="GFileMeasureProgressCallback.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>reporting</p></td>
<td class="parameter_description"><p><a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if more reports will come</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>current_size</p></td>
<td class="parameter_description"><p>the current cumulative size measurement</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num_dirs</p></td>
<td class="parameter_description"><p>the number of directories visited so far</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>num_files</p></td>
<td class="parameter_description"><p>the number of non-directory files encountered</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>user_data</p></td>
<td class="parameter_description"><p>the data passed to the original request for this callback</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<p class="since">Since: <a class="link" href="api-index-2-38.html#api-index-2.38">2.38</a></p>
</div>
<hr>
<div class="refsect2">
<a name="g-file-new-for-path"></a><h3>g_file_new_for_path ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_new_for_path (<em class="parameter"><code>const <span class="type">char</span> *path</code></em>);</pre>
<p>Constructs a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> for a given path. This operation never
fails, but the returned object might not support any I/O
operation if <em class="parameter"><code>path</code></em>
is malformed.</p>
<div class="refsect3">
<a name="g-file-new-for-path.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>path</p></td>
<td class="parameter_description"><p> a string containing a relative or absolute path.
The string must be encoded in the glib filename encoding. </p></td>
<td class="parameter_annotations"><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>
</div>
<div class="refsect3">
<a name="g-file-new-for-path.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> for the given <em class="parameter"><code>path</code></em>
.
Free the returned object with <a href="../gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-new-for-uri"></a><h3>g_file_new_for_uri ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_new_for_uri (<em class="parameter"><code>const <span class="type">char</span> *uri</code></em>);</pre>
<p>Constructs a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> for a given URI. This operation never
fails, but the returned object might not support any I/O
operation if <em class="parameter"><code>uri</code></em>
is malformed or if the uri type is
not supported.</p>
<div class="refsect3">
<a name="g-file-new-for-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>uri</p></td>
<td class="parameter_description"><p>a UTF-8 string containing a URI</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-new-for-uri.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> for the given <em class="parameter"><code>uri</code></em>
.
Free the returned object with <a href="../gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-new-for-commandline-arg"></a><h3>g_file_new_for_commandline_arg ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_new_for_commandline_arg (<em class="parameter"><code>const <span class="type">char</span> *arg</code></em>);</pre>
<p>Creates a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> with the given argument from the command line.
The value of <em class="parameter"><code>arg</code></em>
can be either a URI, an absolute path or a
relative path resolved relative to the current working directory.
This operation never fails, but the returned object might not
support any I/O operation if <em class="parameter"><code>arg</code></em>
points to a malformed path.</p>
<p>Note that on Windows, this function expects its argument to be in
UTF-8 -- not the system code page. This means that you
should not use this function with string from argv as it is passed
to <code class="function">main()</code>. <a href="../glib-Windows-Compatibility-Functions.html#g-win32-get-command-line"><code class="function">g_win32_get_command_line()</code></a> will return a UTF-8 version of
the commandline. <a class="link" href="GApplication.html" title="GApplication"><span class="type">GApplication</span></a> also uses UTF-8 but
<a class="link" href="GApplicationCommandLine.html#g-application-command-line-create-file-for-arg" title="g_application_command_line_create_file_for_arg ()"><code class="function">g_application_command_line_create_file_for_arg()</code></a> may be more useful
for you there. It is also always possible to use this function with
<a href="../glib-Commandline-option-parser.html#GOptionContext"><span class="type">GOptionContext</span></a> arguments of type <a href="../glib-Commandline-option-parser.html#G-OPTION-ARG-FILENAME:CAPS"><code class="literal">G_OPTION_ARG_FILENAME</code></a>.</p>
<div class="refsect3">
<a name="g-file-new-for-commandline-arg.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>arg</p></td>
<td class="parameter_description"><p>a command line string</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-new-for-commandline-arg.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>.
Free the returned object with <a href="../gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-new-for-commandline-arg-and-cwd"></a><h3>g_file_new_for_commandline_arg_and_cwd ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_new_for_commandline_arg_and_cwd
(<em class="parameter"><code>const <a href="../glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *arg</code></em>,
<em class="parameter"><code>const <a href="../glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *cwd</code></em>);</pre>
<p>Creates a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> with the given argument from the command line.</p>
<p>This function is similar to <a class="link" href="GFile.html#g-file-new-for-commandline-arg" title="g_file_new_for_commandline_arg ()"><code class="function">g_file_new_for_commandline_arg()</code></a> except
that it allows for passing the current working directory as an
argument instead of using the current working directory of the
process.</p>
<p>This is useful if the commandline argument was given in a context
other than the invocation of the current process.</p>
<p>See also <a class="link" href="GApplicationCommandLine.html#g-application-command-line-create-file-for-arg" title="g_application_command_line_create_file_for_arg ()"><code class="function">g_application_command_line_create_file_for_arg()</code></a>.</p>
<div class="refsect3">
<a name="g-file-new-for-commandline-arg-and-cwd.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>arg</p></td>
<td class="parameter_description"><p>a command line string</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>cwd</p></td>
<td class="parameter_description"><p> the current working directory of the commandline. </p></td>
<td class="parameter_annotations"><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>
</div>
<div class="refsect3">
<a name="g-file-new-for-commandline-arg-and-cwd.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-36.html#api-index-2.36">2.36</a></p>
</div>
<hr>
<div class="refsect2">
<a name="g-file-new-tmp"></a><h3>g_file_new_tmp ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_new_tmp (<em class="parameter"><code>const <span class="type">char</span> *tmpl</code></em>,
<em class="parameter"><code><a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="type">GFileIOStream</span></a> **iostream</code></em>,
<em class="parameter"><code><a href="../glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Opens a file in the preferred directory for temporary files (as
returned by <a href="../glib-Miscellaneous-Utility-Functions.html#g-get-tmp-dir"><code class="function">g_get_tmp_dir()</code></a>) and returns a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> and
<a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="type">GFileIOStream</span></a> pointing to it.</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, and containing no
directory components. If it is <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a default template is used.</p>
<p>Unlike the other <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> constructors, this will return <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if
a temporary file could not be created.</p>
<div class="refsect3">
<a name="g-file-new-tmp.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>tmpl</p></td>
<td class="parameter_description"><p> Template for the file
name, as in <a href="../glib-File-Utilities.html#g-file-open-tmp"><code class="function">g_file_open_tmp()</code></a>, or <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for a default template. </p></td>
<td class="parameter_annotations"><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 class="parameter_name"><p>iostream</p></td>
<td class="parameter_description"><p> on return, a <a class="link" href="GFileIOStream.html" title="GFileIOStream"><span class="type">GFileIOStream</span></a> for the created file. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>a <a href="../glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-new-tmp.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>.
Free the returned object with <a href="../gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-32.html#api-index-2.32">2.32</a></p>
</div>
<hr>
<div class="refsect2">
<a name="g-file-parse-name"></a><h3>g_file_parse_name ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_parse_name (<em class="parameter"><code>const <span class="type">char</span> *parse_name</code></em>);</pre>
<p>Constructs a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> with the given <em class="parameter"><code>parse_name</code></em>
(i.e. something
given by <a class="link" href="GFile.html#g-file-get-parse-name" title="g_file_get_parse_name ()"><code class="function">g_file_get_parse_name()</code></a>). This operation never fails,
but the returned object might not support any I/O operation if
the <em class="parameter"><code>parse_name</code></em>
cannot be parsed.</p>
<div class="refsect3">
<a name="g-file-parse-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>parse_name</p></td>
<td class="parameter_description"><p>a file name or path to be parsed</p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-parse-name.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-dup"></a><h3>g_file_dup ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_dup (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>);</pre>
<p>Duplicates a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> handle. This operation does not duplicate
the actual file or directory represented by the <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>; see
<a class="link" href="GFile.html#g-file-copy" title="g_file_copy ()"><code class="function">g_file_copy()</code></a> if attempting to copy a file.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-dup.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-dup.returns"></a><h4>Returns</h4>
<p> a new <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> that is a duplicate
of the given <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-hash"></a><h3>g_file_hash ()</h3>
<pre class="programlisting"><a href="../glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
g_file_hash (<em class="parameter"><code><a href="../glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> file</code></em>);</pre>
<p>Creates a hash value for a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>.</p>
<p>This call does no blocking I/O.</p>
<p>Virtual: hash</p>
<div class="refsect3">
<a name="g-file-hash.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p> <a href="../glib-Basic-Types.html#gconstpointer"><span class="type">gconstpointer</span></a> to a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> GFile]</span></td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-hash.returns"></a><h4>Returns</h4>
<p> 0 if <em class="parameter"><code>file</code></em>
is not a valid <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>, otherwise an
integer that can be used as hash value for the <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>.
This function is intended for easily hashing a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> to
add to a <a href="../glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> or similar data structure.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-equal"></a><h3>g_file_equal ()</h3>
<pre class="programlisting"><a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_file_equal (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file1</code></em>,
<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file2</code></em>);</pre>
<p>Checks if the two given <a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a> refer to the same file.</p>
<p>Note that two <a href="GFile.html#GFile-struct"><span class="type">GFiles</span></a> that differ can still refer to the same
file on the filesystem due to various forms of filename
aliasing.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-equal.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>file1</p></td>
<td class="parameter_description"><p>the first <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>file2</p></td>
<td class="parameter_description"><p>the second <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-equal.returns"></a><h4>Returns</h4>
<p> <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>file1</code></em>
and <em class="parameter"><code>file2</code></em>
are equal.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-get-basename"></a><h3>g_file_get_basename ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
g_file_get_basename (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>);</pre>
<p>Gets the base name (the last component of the path) for a given <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>.</p>
<p>If called for the top level of a system (such as the filesystem root
or a uri like sftp://host/) it will return a single directory separator
(and on Windows, possibly a drive letter).</p>
<p>The base name is a byte string (not UTF-8). It has no defined encoding
or rules other than it may not contain zero bytes. If you want to use
filenames in a user interface you should use the display name that you
can get by requesting the <a class="link" href="GFileInfo.html#G-FILE-ATTRIBUTE-STANDARD-DISPLAY-NAME:CAPS" title="G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME"><code class="literal">G_FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME</code></a>
attribute with <a class="link" href="GFile.html#g-file-query-info" title="g_file_query_info ()"><code class="function">g_file_query_info()</code></a>.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-get-basename.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-get-basename.returns"></a><h4>Returns</h4>
<p> string containing the <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>'s
base name, or <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if given <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> is invalid. The returned string
should be freed with <a href="../glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed. </p>
<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-get-path"></a><h3>g_file_get_path ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
g_file_get_path (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>);</pre>
<p>Gets the local pathname for <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>, if one exists. If non-<a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, this is
guaranteed to be an absolute, canonical path. It might contain symlinks.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-get-path.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-get-path.returns"></a><h4>Returns</h4>
<p> string containing the <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>'s path,
or <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such path exists. The returned string should be freed
with <a href="../glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when no longer needed. </p>
<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-get-uri"></a><h3>g_file_get_uri ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
g_file_get_uri (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>);</pre>
<p>Gets the URI for the <em class="parameter"><code>file</code></em>
.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-get-uri.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-get-uri.returns"></a><h4>Returns</h4>
<p> a string containing the <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>'s URI.
The returned string should be freed with <a href="../glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
when no longer needed.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-get-parse-name"></a><h3>g_file_get_parse_name ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
g_file_get_parse_name (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>);</pre>
<p>Gets the parse name of the <em class="parameter"><code>file</code></em>
.
A parse name is a UTF-8 string that describes the
file such that one can get the <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> back using
<a class="link" href="GFile.html#g-file-parse-name" title="g_file_parse_name ()"><code class="function">g_file_parse_name()</code></a>.</p>
<p>This is generally used to show the <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> as a nice
full-pathname kind of string in a user interface,
like in a location entry.</p>
<p>For local files with names that can safely be converted
to UTF-8 the pathname is used, otherwise the IRI is used
(a form of URI that allows UTF-8 characters unescaped).</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-get-parse-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-get-parse-name.returns"></a><h4>Returns</h4>
<p> a string containing the <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>'s parse name.
The returned string should be freed with <a href="../glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>
when no longer needed.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-get-parent"></a><h3>g_file_get_parent ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_get_parent (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>);</pre>
<p>Gets the parent directory for the <em class="parameter"><code>file</code></em>
.
If the <em class="parameter"><code>file</code></em>
represents the root directory of the
file system, then <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-get-parent.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-get-parent.returns"></a><h4>Returns</h4>
<p> a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> structure to the
parent of the given <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> or <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is no parent. Free
the returned object with <a href="../gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-has-parent"></a><h3>g_file_has_parent ()</h3>
<pre class="programlisting"><a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_file_has_parent (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>,
<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *parent</code></em>);</pre>
<p>Checks if <em class="parameter"><code>file</code></em>
has a parent, and optionally, if it is <em class="parameter"><code>parent</code></em>
.</p>
<p>If <em class="parameter"><code>parent</code></em>
is <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then this function returns <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>file</code></em>
has any
parent at all. If <em class="parameter"><code>parent</code></em>
is non-<a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> is only returned
if <em class="parameter"><code>file</code></em>
is an immediate child of <em class="parameter"><code>parent</code></em>
.</p>
<div class="refsect3">
<a name="g-file-has-parent.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>parent</p></td>
<td class="parameter_description"><p> the parent to check for, or <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-has-parent.returns"></a><h4>Returns</h4>
<p> <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>file</code></em>
is an immediate child of <em class="parameter"><code>parent</code></em>
(or any parent in
the case that <em class="parameter"><code>parent</code></em>
is <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>).</p>
</div>
<p class="since">Since: <a class="link" href="api-index-2-24.html#api-index-2.24">2.24</a></p>
</div>
<hr>
<div class="refsect2">
<a name="g-file-get-child"></a><h3>g_file_get_child ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_get_child (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
<p>Gets a child of <em class="parameter"><code>file</code></em>
with basename equal to <em class="parameter"><code>name</code></em>
.</p>
<p>Note that the file with that specific name might not exist, but
you can still have a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> that points to it. You can use this
for instance to create that file.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-get-child.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p> string containing the child's basename. </p></td>
<td class="parameter_annotations"><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>
</div>
<div class="refsect3">
<a name="g-file-get-child.returns"></a><h4>Returns</h4>
<p> a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> to a child specified by <em class="parameter"><code>name</code></em>
.
Free the returned object with <a href="../gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-get-child-for-display-name"></a><h3>g_file_get_child_for_display_name ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_get_child_for_display_name (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *display_name</code></em>,
<em class="parameter"><code><a href="../glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>Gets the child of <em class="parameter"><code>file</code></em>
for a given <em class="parameter"><code>display_name</code></em>
(i.e. a UTF-8
version of the name). If this function fails, it returns <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
and <em class="parameter"><code>error</code></em>
will be set. This is very useful when constructing a
<a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> for a new file and the user entered the filename in the
user interface, for instance when you select a directory and
type a filename in the file selector.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-get-child-for-display-name.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>display_name</p></td>
<td class="parameter_description"><p>string to a possible child</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>error</p></td>
<td class="parameter_description"><p>return location for an error</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-get-child-for-display-name.returns"></a><h4>Returns</h4>
<p> a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> to the specified child, or
<a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the display name couldn't be converted.
Free the returned object with <a href="../gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-has-prefix"></a><h3>g_file_has_prefix ()</h3>
<pre class="programlisting"><a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_file_has_prefix (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>,
<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *prefix</code></em>);</pre>
<p>Checks whether <em class="parameter"><code>file</code></em>
has the prefix specified by <em class="parameter"><code>prefix</code></em>
.</p>
<p>In other words, if the names of initial elements of <em class="parameter"><code>file</code></em>
's
pathname match <em class="parameter"><code>prefix</code></em>
. Only full pathname elements are matched,
so a path like /foo is not considered a prefix of /foobar, only
of /foo/bar.</p>
<p>A <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> is not a prefix of itself. If you want to check for
equality, use <a class="link" href="GFile.html#g-file-equal" title="g_file_equal ()"><code class="function">g_file_equal()</code></a>.</p>
<p>This call does no I/O, as it works purely on names. As such it can
sometimes return <a href="../glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> even if <em class="parameter"><code>file</code></em>
is inside a <em class="parameter"><code>prefix</code></em>
(from a
filesystem point of view), because the prefix of <em class="parameter"><code>file</code></em>
is an alias
of <em class="parameter"><code>prefix</code></em>
.</p>
<p>Virtual: prefix_matches</p>
<div class="refsect3">
<a name="g-file-has-prefix.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>prefix</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-has-prefix.returns"></a><h4>Returns</h4>
<p> <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the <em class="parameter"><code>files</code></em>
's parent, grandparent, etc is <em class="parameter"><code>prefix</code></em>
,
<a href="../glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-get-relative-path"></a><h3>g_file_get_relative_path ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
g_file_get_relative_path (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *parent</code></em>,
<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *descendant</code></em>);</pre>
<p>Gets the path for <em class="parameter"><code>descendant</code></em>
relative to <em class="parameter"><code>parent</code></em>
.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-get-relative-path.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>parent</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>descendant</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-get-relative-path.returns"></a><h4>Returns</h4>
<p> string with the relative path from
<em class="parameter"><code>descendant</code></em>
to <em class="parameter"><code>parent</code></em>
, or <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>descendant</code></em>
doesn't have <em class="parameter"><code>parent</code></em>
as
prefix. The returned string should be freed with <a href="../glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> when
no longer needed. </p>
<p><span class="annotation">[<acronym title="Override the parsed C type with given type."><span class="acronym">type</span></acronym> filename][<acronym title="NULL may be passed as the value in, out, in-out; or as a return value."><span class="acronym">nullable</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-resolve-relative-path"></a><h3>g_file_resolve_relative_path ()</h3>
<pre class="programlisting"><a class="link" href="GFile.html" title="GFile"><span class="returnvalue">GFile</span></a> *
g_file_resolve_relative_path (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *relative_path</code></em>);</pre>
<p>Resolves a relative path for <em class="parameter"><code>file</code></em>
to an absolute path.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-resolve-relative-path.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>relative_path</p></td>
<td class="parameter_description"><p> a given relative path string. </p></td>
<td class="parameter_annotations"><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>
</div>
<div class="refsect3">
<a name="g-file-resolve-relative-path.returns"></a><h4>Returns</h4>
<p> <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> to the resolved path.
<a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>relative_path</code></em>
is <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> or if <em class="parameter"><code>file</code></em>
is invalid.
Free the returned object with <a href="../gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>. </p>
<p><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-is-native"></a><h3>g_file_is_native ()</h3>
<pre class="programlisting"><a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_file_is_native (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>);</pre>
<p>Checks to see if a file is native to the platform.</p>
<p>A native file s one expressed in the platform-native filename format,
e.g. "C:\Windows" or "/usr/bin/". This does not mean the file is local,
as it might be on a locally mounted remote filesystem.</p>
<p>On some systems non-native files may be available using the native
filesystem via a userspace filesystem (FUSE), in these cases this call
will return <a href="../glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, but <a class="link" href="GFile.html#g-file-get-path" title="g_file_get_path ()"><code class="function">g_file_get_path()</code></a> will still return a native path.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-is-native.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody><tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr></tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-is-native.returns"></a><h4>Returns</h4>
<p> <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>file</code></em>
is native</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-has-uri-scheme"></a><h3>g_file_has_uri_scheme ()</h3>
<pre class="programlisting"><a href="../glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
g_file_has_uri_scheme (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *uri_scheme</code></em>);</pre>
<p>Checks to see if a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> has a given URI scheme.</p>
<p>This call does no blocking I/O.</p>
<div class="refsect3">
<a name="g-file-has-uri-scheme.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>file</p></td>
<td class="parameter_description"><p>input <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>uri_scheme</p></td>
<td class="parameter_description"><p>a string containing a URI scheme</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="g-file-has-uri-scheme.returns"></a><h4>Returns</h4>
<p> <a href="../glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>'s backend supports the
given URI scheme, <a href="../glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> if URI scheme is <a href="../glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>,
not supported, or <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> is invalid.</p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="g-file-get-uri-scheme"></a><h3>g_file_get_uri_scheme ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> *
g_file_get_uri_scheme (<em class="parameter"><code><a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a> *file</code></em>);</pre>
<p>Gets the URI scheme for a <a class="link" href="GFile.html" title="GFile"><span class="type">GFile</span></a>.
RFC 3986 decodes the scheme as:</p>