ftp://ftp.redhat.com/pub/redhat/linux/rawhide/SRPMS/SRPMS/gnome-vfs2-2.3.8-1.src.rpm
[gnome-vfs-httpcaptive.git] / doc / xml / gnome-vfs-mime.xml
1 <refentry id="gnome-vfs-20-gnome-vfs-mime">
2 <refmeta>
3 <refentrytitle>MIME typing</refentrytitle>
4 <manvolnum>3</manvolnum>
5 <refmiscinfo>GNOME-VFS-2.0 Library</refmiscinfo>
6 </refmeta>
7
8 <refnamediv>
9 <refname>MIME typing</refname><refpurpose>functions to get a mime-type for a file using its name or its content</refpurpose>
10 </refnamediv>
11
12 <refsynopsisdiv><title>Synopsis</title>
13
14 <synopsis>
15
16
17
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);
35 </synopsis>
36 </refsynopsisdiv>
37
38
39
40
41
42
43
44
45
46 <refsect1>
47 <title>Description</title>
48 <para>
49
50 </para>
51 </refsect1>
52
53 <refsect1>
54 <title>Details</title>
55 <refsect2>
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>
58 <para>
59 Unload the MIME database from memory.</para>
60 <para>
61
62 </para></refsect2>
63 <refsect2>
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>
66 <para>
67 Determined the mime type for <parameter>filename</parameter>.</para>
68 <para>
69
70 </para><variablelist role="params">
71 <varlistentry><term><parameter>filename</parameter>&nbsp;:</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>
77 <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>
82 <para>
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>
85 <para>
86
87 </para><variablelist role="params">
88 <varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
89 <listitem><simpara> A filename (the file does not necesarily exist).
90 </simpara></listitem></varlistentry>
91 <varlistentry><term><parameter>defaultv</parameter>&nbsp;:</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>
98 <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>
101 <para>
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.
106 </para>
107 <para>
108 FIXME: This function will not necessarily return the same mime type as doing a
109 get file info on the text uri.</para>
110 <para>
111
112 </para><variablelist role="params">
113 <varlistentry><term><parameter>uri</parameter>&nbsp;:</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.
117
118 </simpara></listitem></varlistentry>
119 </variablelist></refsect2>
120 <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>
124 <para>
125 Tries to guess the mime type of the file <parameter>uri</parameter> by
126 checking the file name extension. Works on non-existent
127 files.</para>
128 <para>
129
130 </para><variablelist role="params">
131 <varlistentry><term><parameter>uri</parameter>&nbsp;:</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>
137 <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>
141 <para>
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>
144 <para>
145
146 </para><variablelist role="params">
147 <varlistentry><term><parameter>uri</parameter>&nbsp;:</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>
153 <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>
158 <para>
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>
163 <para>
164
165 </para><variablelist role="params">
166 <varlistentry><term><parameter>path</parameter>&nbsp;:</term>
167 <listitem><simpara> a path of a file.
168 </simpara></listitem></varlistentry>
169 <varlistentry><term><parameter>optional_stat_info</parameter>&nbsp;:</term>
170 <listitem><simpara> optional stat buffer.
171 </simpara></listitem></varlistentry>
172 <varlistentry><term><parameter>suffix_only</parameter>&nbsp;:</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>
178 <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>
182 <para>
183
184 </para><variablelist role="params">
185 <varlistentry><term><parameter>mime_type</parameter>&nbsp;:</term>
186 <listitem><simpara>
187 </simpara></listitem></varlistentry>
188 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
189
190
191 </simpara></listitem></varlistentry>
192 </variablelist></refsect2>
193 <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>
197 <para>
198
199 </para><variablelist role="params">
200 <varlistentry><term><parameter>mime_type</parameter>&nbsp;:</term>
201 <listitem><simpara>
202 </simpara></listitem></varlistentry>
203 <varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
204
205
206 </simpara></listitem></varlistentry>
207 </variablelist></refsect2>
208
209 </refsect1>
210
211
212
213
214 </refentry>