1 <refentry id="gnome-vfs-20-gnome-vfs-mime">
3 <refentrytitle>MIME typing</refentrytitle>
4 <manvolnum>3</manvolnum>
5 <refmiscinfo>GNOME-VFS-2.0 Library</refmiscinfo>
9 <refname>MIME typing</refname><refpurpose>functions to get a mime-type for a file using its name or its content</refpurpose>
12 <refsynopsisdiv><title>Synopsis</title>
18 <link linkend="void">void</link> <link linkend="gnome-vfs-mime-shutdown">gnome_vfs_mime_shutdown</link> (void);
19 const <link linkend="char">char</link>* <link linkend="gnome-vfs-mime-type-from-name">gnome_vfs_mime_type_from_name</link> (const <link linkend="char">char</link> *filename);
20 const <link linkend="char">char</link>* <link linkend="gnome-vfs-mime-type-from-name-or-default">gnome_vfs_mime_type_from_name_or_default</link>
21 (const <link linkend="char">char</link> *filename,
22 const <link linkend="char">char</link> *defaultv);
23 const <link linkend="char">char</link>* <link linkend="gnome-vfs-get-mime-type-common">gnome_vfs_get_mime_type_common</link> (<link linkend="GnomeVFSURI">GnomeVFSURI</link> *uri);
24 const <link linkend="char">char</link>* <link linkend="gnome-vfs-get-mime-type-from-uri">gnome_vfs_get_mime_type_from_uri</link>
25 (<link linkend="GnomeVFSURI">GnomeVFSURI</link> *uri);
26 const <link linkend="char">char</link>* <link linkend="gnome-vfs-get-mime-type-from-file-data">gnome_vfs_get_mime_type_from_file_data</link>
27 (<link linkend="GnomeVFSURI">GnomeVFSURI</link> *uri);
28 const <link linkend="char">char</link>* <link linkend="gnome-vfs-get-file-mime-type">gnome_vfs_get_file_mime_type</link> (const <link linkend="char">char</link> *path,
29 const struct <link linkend="stat">stat</link> *optional_stat_info,
30 <link linkend="gboolean">gboolean</link> suffix_only);
31 <link linkend="gboolean">gboolean</link> <link linkend="gnome-vfs-mime-type-is-supertype">gnome_vfs_mime_type_is_supertype</link>
32 (const <link linkend="char">char</link> *mime_type);
33 <link linkend="char">char</link>* <link linkend="gnome-vfs-get-supertype-from-mime-type">gnome_vfs_get_supertype_from_mime_type</link>
34 (const <link linkend="char">char</link> *mime_type);
47 <title>Description</title>
54 <title>Details</title>
56 <title><anchor id="gnome-vfs-mime-shutdown"/>gnome_vfs_mime_shutdown ()</title>
57 <indexterm><primary>gnome_vfs_mime_shutdown</primary></indexterm><programlisting><link linkend="void">void</link> gnome_vfs_mime_shutdown (void);</programlisting>
59 Unload the MIME database from memory.</para>
64 <title><anchor id="gnome-vfs-mime-type-from-name"/>gnome_vfs_mime_type_from_name ()</title>
65 <indexterm><primary>gnome_vfs_mime_type_from_name</primary></indexterm><programlisting>const <link linkend="char">char</link>* gnome_vfs_mime_type_from_name (const <link linkend="char">char</link> *filename);</programlisting>
67 Determined the mime type for <parameter>filename</parameter>.</para>
70 </para><variablelist role="params">
71 <varlistentry><term><parameter>filename</parameter> :</term>
72 <listitem><simpara> A filename (the file does not necessarily exist).
73 </simpara></listitem></varlistentry>
74 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>the mime-type for this filename.
75 </simpara></listitem></varlistentry>
76 </variablelist></refsect2>
78 <title><anchor id="gnome-vfs-mime-type-from-name-or-default"/>gnome_vfs_mime_type_from_name_or_default ()</title>
79 <indexterm><primary>gnome_vfs_mime_type_from_name_or_default</primary></indexterm><programlisting>const <link linkend="char">char</link>* gnome_vfs_mime_type_from_name_or_default
80 (const <link linkend="char">char</link> *filename,
81 const <link linkend="char">char</link> *defaultv);</programlisting>
83 This routine tries to determine the mime-type of the filename
84 only by looking at the filename from the GNOME database of mime-types.</para>
87 </para><variablelist role="params">
88 <varlistentry><term><parameter>filename</parameter> :</term>
89 <listitem><simpara> A filename (the file does not necesarily exist).
90 </simpara></listitem></varlistentry>
91 <varlistentry><term><parameter>defaultv</parameter> :</term>
92 <listitem><simpara> A default value to be returned if no match is found
93 </simpara></listitem></varlistentry>
94 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>the mime-type of the <parameter>filename</parameter>. If no value could be
95 determined, it will return <parameter>defaultv</parameter>.
96 </simpara></listitem></varlistentry>
97 </variablelist></refsect2>
99 <title><anchor id="gnome-vfs-get-mime-type-common"/>gnome_vfs_get_mime_type_common ()</title>
100 <indexterm><primary>gnome_vfs_get_mime_type_common</primary></indexterm><programlisting>const <link linkend="char">char</link>* gnome_vfs_get_mime_type_common (<link linkend="GnomeVFSURI">GnomeVFSURI</link> *uri);</programlisting>
102 Tries to guess the mime type of the file represented by <parameter>uir</parameter>.
103 Favors using the file data to the <parameter>uri</parameter> extension.
104 Handles passing <parameter>uri</parameter> of a non-existent file by falling back
105 on returning a type based on the extension.
108 FIXME: This function will not necessarily return the same mime type as doing a
109 get file info on the text uri.</para>
112 </para><variablelist role="params">
113 <varlistentry><term><parameter>uri</parameter> :</term>
114 <listitem><simpara> a real file or a non-existent uri.
115 </simpara></listitem></varlistentry>
116 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the mime-type for this uri.
118 </simpara></listitem></varlistentry>
119 </variablelist></refsect2>
121 <title><anchor id="gnome-vfs-get-mime-type-from-uri"/>gnome_vfs_get_mime_type_from_uri ()</title>
122 <indexterm><primary>gnome_vfs_get_mime_type_from_uri</primary></indexterm><programlisting>const <link linkend="char">char</link>* gnome_vfs_get_mime_type_from_uri
123 (<link linkend="GnomeVFSURI">GnomeVFSURI</link> *uri);</programlisting>
125 Tries to guess the mime type of the file <parameter>uri</parameter> by
126 checking the file name extension. Works on non-existent
130 </para><variablelist role="params">
131 <varlistentry><term><parameter>uri</parameter> :</term>
132 <listitem><simpara> A file uri.
133 </simpara></listitem></varlistentry>
134 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>the mime-type for this filename.
135 </simpara></listitem></varlistentry>
136 </variablelist></refsect2>
138 <title><anchor id="gnome-vfs-get-mime-type-from-file-data"/>gnome_vfs_get_mime_type_from_file_data ()</title>
139 <indexterm><primary>gnome_vfs_get_mime_type_from_file_data</primary></indexterm><programlisting>const <link linkend="char">char</link>* gnome_vfs_get_mime_type_from_file_data
140 (<link linkend="GnomeVFSURI">GnomeVFSURI</link> *uri);</programlisting>
142 Tries to guess the mime type of the file <parameter>uri</parameter> by
143 checking the file data using the magic patterns. Does not handle text files properly</para>
146 </para><variablelist role="params">
147 <varlistentry><term><parameter>uri</parameter> :</term>
148 <listitem><simpara> A file uri.
149 </simpara></listitem></varlistentry>
150 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>the mime-type for this filename.
151 </simpara></listitem></varlistentry>
152 </variablelist></refsect2>
154 <title><anchor id="gnome-vfs-get-file-mime-type"/>gnome_vfs_get_file_mime_type ()</title>
155 <indexterm><primary>gnome_vfs_get_file_mime_type</primary></indexterm><programlisting>const <link linkend="char">char</link>* gnome_vfs_get_file_mime_type (const <link linkend="char">char</link> *path,
156 const struct <link linkend="stat">stat</link> *optional_stat_info,
157 <link linkend="gboolean">gboolean</link> suffix_only);</programlisting>
159 Tries to guess the mime type of the file represented by <parameter>path</parameter>.
160 If <parameter>suffix_only</parameter> is false, uses the mime-magic based lookup first.
161 Handles passing <parameter>path</parameter> of a non-existent file by falling back
162 on returning a type based on the extension.</para>
165 </para><variablelist role="params">
166 <varlistentry><term><parameter>path</parameter> :</term>
167 <listitem><simpara> a path of a file.
168 </simpara></listitem></varlistentry>
169 <varlistentry><term><parameter>optional_stat_info</parameter> :</term>
170 <listitem><simpara> optional stat buffer.
171 </simpara></listitem></varlistentry>
172 <varlistentry><term><parameter>suffix_only</parameter> :</term>
173 <listitem><simpara> whether or not to do a magic-based lookup.
174 </simpara></listitem></varlistentry>
175 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the mime-type for this path
176 </simpara></listitem></varlistentry>
177 </variablelist></refsect2>
179 <title><anchor id="gnome-vfs-mime-type-is-supertype"/>gnome_vfs_mime_type_is_supertype ()</title>
180 <indexterm><primary>gnome_vfs_mime_type_is_supertype</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link> gnome_vfs_mime_type_is_supertype
181 (const <link linkend="char">char</link> *mime_type);</programlisting>
184 </para><variablelist role="params">
185 <varlistentry><term><parameter>mime_type</parameter> :</term>
187 </simpara></listitem></varlistentry>
188 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
191 </simpara></listitem></varlistentry>
192 </variablelist></refsect2>
194 <title><anchor id="gnome-vfs-get-supertype-from-mime-type"/>gnome_vfs_get_supertype_from_mime_type ()</title>
195 <indexterm><primary>gnome_vfs_get_supertype_from_mime_type</primary></indexterm><programlisting><link linkend="char">char</link>* gnome_vfs_get_supertype_from_mime_type
196 (const <link linkend="char">char</link> *mime_type);</programlisting>
199 </para><variablelist role="params">
200 <varlistentry><term><parameter>mime_type</parameter> :</term>
202 </simpara></listitem></varlistentry>
203 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
206 </simpara></listitem></varlistentry>
207 </variablelist></refsect2>