<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Audacious: VFSConstructor Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Audacious <span id="projectnumber">$Id:Doxyfile42802007-03-2104:39:00Znenolod$</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#pub-attribs">Public Attributes</a> </div> <div class="headertitle"> <h1>VFSConstructor Struct Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="_VFSConstructor" --> <p><a class="el" href="structVFSConstructor.html">VFSConstructor</a> objects contain the base vtables used for extrapolating a VFS stream. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="vfs_8h_source.html">vfs.h</a>></code></p> <p><a href="struct__VFSConstructor-members.html">List of all members.</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-attribs"></a> Public Attributes</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gchar * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#a07944682c0d91f85d8c25d8ceb994349">uri_id</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The URI identifier, e.g. <a href="#a07944682c0d91f85d8c25d8ceb994349"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structVFSFile.html">VFSFile</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#a9876b36aa0a67693c9d6d941bc0e4d77">vfs_fopen_impl</a> )(const gchar *<a class="el" href="misc-api_8h.html#a820d8643bcfa9e2641dd6377f804de20">filename</a>, const gchar *mode)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a fopen implementation. <a href="#a9876b36aa0a67693c9d6d941bc0e4d77"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#ad7426654837acd78ec182b0c4e91a885">vfs_fclose_impl</a> )(<a class="el" href="structVFSFile.html">VFSFile</a> *file)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a fclose implementation. <a href="#ad7426654837acd78ec182b0c4e91a885"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gint64(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#a13ebb8f75cd6178d938fa79d3fea0b73">vfs_fread_impl</a> )(void *ptr, gint64 size, gint64 nmemb, <a class="el" href="structVFSFile.html">VFSFile</a> *file)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a fread implementation. <a href="#a13ebb8f75cd6178d938fa79d3fea0b73"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gint64(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#a0c877f2ccf6137357a3da01bf9ce7cf1">vfs_fwrite_impl</a> )(const void *ptr, gint64 size, gint64 nmemb, <a class="el" href="structVFSFile.html">VFSFile</a> *file)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a fwrite implementation. <a href="#a0c877f2ccf6137357a3da01bf9ce7cf1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#a17117626e4a36b96d3534fa8d577c2a9">vfs_getc_impl</a> )(<a class="el" href="structVFSFile.html">VFSFile</a> *stream)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a getc implementation. <a href="#a17117626e4a36b96d3534fa8d577c2a9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#a8a2afb7014b719911a1094a4f9b4e479">vfs_ungetc_impl</a> )(<a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> c, <a class="el" href="structVFSFile.html">VFSFile</a> *stream)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to an ungetc implementation. <a href="#a8a2afb7014b719911a1094a4f9b4e479"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#abb81cc3037379b66163eabec251567fa">vfs_fseek_impl</a> )(<a class="el" href="structVFSFile.html">VFSFile</a> *file, gint64 offset, <a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> whence)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a fseek implementation. <a href="#abb81cc3037379b66163eabec251567fa"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#a637007407f026e7dc22864e2530e6343">vfs_rewind_impl</a> )(<a class="el" href="structVFSFile.html">VFSFile</a> *file)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">function pointer which points to a rewind implementation. <a href="#a637007407f026e7dc22864e2530e6343"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gint64(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#ac8631014414b4dc4b632c5738b4cd80c">vfs_ftell_impl</a> )(<a class="el" href="structVFSFile.html">VFSFile</a> *file)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a ftell implementation. <a href="#ac8631014414b4dc4b632c5738b4cd80c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#ad7e86fde433e39c5346416f969b3f799">vfs_feof_impl</a> )(<a class="el" href="structVFSFile.html">VFSFile</a> *file)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a feof implementation. <a href="#ad7e86fde433e39c5346416f969b3f799"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#a215929c93913c2015e059d83490759a7">vfs_ftruncate_impl</a> )(<a class="el" href="structVFSFile.html">VFSFile</a> *file, gint64 length)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a ftruncate implementation. <a href="#a215929c93913c2015e059d83490759a7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gint64(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#a815643a8147c202e7b4bc94de80a7124">vfs_fsize_impl</a> )(<a class="el" href="structVFSFile.html">VFSFile</a> *file)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a fsize implementation. <a href="#a815643a8147c202e7b4bc94de80a7124"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">gchar *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__VFSConstructor.html#a9cab5bd744e4ef6947d0e994b14f9315">vfs_get_metadata_impl</a> )(<a class="el" href="structVFSFile.html">VFSFile</a> *file, const gchar *field)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A function pointer which points to a (stream) metadata fetching implementation. <a href="#a9cab5bd744e4ef6947d0e994b14f9315"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p><a class="el" href="structVFSConstructor.html">VFSConstructor</a> objects contain the base vtables used for extrapolating a VFS stream. </p> <p><a class="el" href="structVFSConstructor.html">VFSConstructor</a> objects should be considered virtual in nature. VFS base vtables are registered via <a class="el" href="vfs_8c.html#a05e7326a3657774acf1f42b6ce903c28" title="Registers a VFSConstructor vtable with the VFS system.">vfs_register_transport()</a>. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00059">59</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div><hr/><h2>Member Data Documentation</h2> <a class="anchor" id="a07944682c0d91f85d8c25d8ceb994349"></a><!-- doxytag: member="_VFSConstructor::uri_id" ref="a07944682c0d91f85d8c25d8ceb994349" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gchar* VFSConstructor::uri_id</td> </tr> </table> </div> <div class="memdoc"> <p>The URI identifier, e.g. </p> <p>"file" would handle "file://" streams. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00061">61</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="ad7426654837acd78ec182b0c4e91a885"></a><!-- doxytag: member="_VFSConstructor::vfs_fclose_impl" ref="ad7426654837acd78ec182b0c4e91a885" args=")(VFSFile *file)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>(* VFSConstructor::vfs_fclose_impl)(<a class="el" href="structVFSFile.html">VFSFile</a> *file)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a fclose implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00066">66</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="ad7e86fde433e39c5346416f969b3f799"></a><!-- doxytag: member="_VFSConstructor::vfs_feof_impl" ref="ad7e86fde433e39c5346416f969b3f799" args=")(VFSFile *file)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="playlist-api_8h.html#a3ac4dad7ee7fd2890139bff9a134ee9a">gboolean</a>(* VFSConstructor::vfs_feof_impl)(<a class="el" href="structVFSFile.html">VFSFile</a> *file)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a feof implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00087">87</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="a9876b36aa0a67693c9d6d941bc0e4d77"></a><!-- doxytag: member="_VFSConstructor::vfs_fopen_impl" ref="a9876b36aa0a67693c9d6d941bc0e4d77" args=")(const gchar *filename, const gchar *mode)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structVFSFile.html">VFSFile</a>*(* VFSConstructor::vfs_fopen_impl)(const gchar *<a class="el" href="misc-api_8h.html#a820d8643bcfa9e2641dd6377f804de20">filename</a>, const gchar *mode)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a fopen implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00064">64</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="a13ebb8f75cd6178d938fa79d3fea0b73"></a><!-- doxytag: member="_VFSConstructor::vfs_fread_impl" ref="a13ebb8f75cd6178d938fa79d3fea0b73" args=")(void *ptr, gint64 size, gint64 nmemb, VFSFile *file)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gint64(* VFSConstructor::vfs_fread_impl)(void *ptr, gint64 size, gint64 nmemb, <a class="el" href="structVFSFile.html">VFSFile</a> *file)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a fread implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00069">69</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="abb81cc3037379b66163eabec251567fa"></a><!-- doxytag: member="_VFSConstructor::vfs_fseek_impl" ref="abb81cc3037379b66163eabec251567fa" args=")(VFSFile *file, gint64 offset, gint whence)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>(* VFSConstructor::vfs_fseek_impl)(<a class="el" href="structVFSFile.html">VFSFile</a> *file, gint64 offset, <a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> whence)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a fseek implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00081">81</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="a815643a8147c202e7b4bc94de80a7124"></a><!-- doxytag: member="_VFSConstructor::vfs_fsize_impl" ref="a815643a8147c202e7b4bc94de80a7124" args=")(VFSFile *file)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gint64(* VFSConstructor::vfs_fsize_impl)(<a class="el" href="structVFSFile.html">VFSFile</a> *file)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a fsize implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00091">91</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="ac8631014414b4dc4b632c5738b4cd80c"></a><!-- doxytag: member="_VFSConstructor::vfs_ftell_impl" ref="ac8631014414b4dc4b632c5738b4cd80c" args=")(VFSFile *file)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gint64(* VFSConstructor::vfs_ftell_impl)(<a class="el" href="structVFSFile.html">VFSFile</a> *file)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a ftell implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00085">85</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="a215929c93913c2015e059d83490759a7"></a><!-- doxytag: member="_VFSConstructor::vfs_ftruncate_impl" ref="a215929c93913c2015e059d83490759a7" args=")(VFSFile *file, gint64 length)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>(* VFSConstructor::vfs_ftruncate_impl)(<a class="el" href="structVFSFile.html">VFSFile</a> *file, gint64 length)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a ftruncate implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00089">89</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="a0c877f2ccf6137357a3da01bf9ce7cf1"></a><!-- doxytag: member="_VFSConstructor::vfs_fwrite_impl" ref="a0c877f2ccf6137357a3da01bf9ce7cf1" args=")(const void *ptr, gint64 size, gint64 nmemb, VFSFile *file)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gint64(* VFSConstructor::vfs_fwrite_impl)(const void *ptr, gint64 size, gint64 nmemb, <a class="el" href="structVFSFile.html">VFSFile</a> *file)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a fwrite implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00072">72</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="a9cab5bd744e4ef6947d0e994b14f9315"></a><!-- doxytag: member="_VFSConstructor::vfs_get_metadata_impl" ref="a9cab5bd744e4ef6947d0e994b14f9315" args=")(VFSFile *file, const gchar *field)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">gchar*(* VFSConstructor::vfs_get_metadata_impl)(<a class="el" href="structVFSFile.html">VFSFile</a> *file, const gchar *field)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a (stream) metadata fetching implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00094">94</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="a17117626e4a36b96d3534fa8d577c2a9"></a><!-- doxytag: member="_VFSConstructor::vfs_getc_impl" ref="a17117626e4a36b96d3534fa8d577c2a9" args=")(VFSFile *stream)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>(* VFSConstructor::vfs_getc_impl)(<a class="el" href="structVFSFile.html">VFSFile</a> *stream)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to a getc implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00076">76</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="a637007407f026e7dc22864e2530e6343"></a><!-- doxytag: member="_VFSConstructor::vfs_rewind_impl" ref="a637007407f026e7dc22864e2530e6343" args=")(VFSFile *file)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* VFSConstructor::vfs_rewind_impl)(<a class="el" href="structVFSFile.html">VFSFile</a> *file)</td> </tr> </table> </div> <div class="memdoc"> <p>function pointer which points to a rewind implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00083">83</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <a class="anchor" id="a8a2afb7014b719911a1094a4f9b4e479"></a><!-- doxytag: member="_VFSConstructor::vfs_ungetc_impl" ref="a8a2afb7014b719911a1094a4f9b4e479" args=")(gint c, VFSFile *stream)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a>(* VFSConstructor::vfs_ungetc_impl)(<a class="el" href="plugins-api_8h.html#acf599c059f43e0cca83145eb6b0c93cd">gint</a> c, <a class="el" href="structVFSFile.html">VFSFile</a> *stream)</td> </tr> </table> </div> <div class="memdoc"> <p>A function pointer which points to an ungetc implementation. </p> <p>Definition at line <a class="el" href="vfs_8h_source.html#l00078">78</a> of file <a class="el" href="vfs_8h_source.html">vfs.h</a>.</p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="vfs_8h_source.html">vfs.h</a></li> </ul> </div> <hr class="footer"/><address class="footer"><small>Generated on Sun Apr 17 2011 for Audacious by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> </body> </html>