<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>fuse: fuse_module Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">fuse
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</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>Data&#160;Structures</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">fuse_module Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;fuse.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:abc7b2bc3480bbb94a4eb9c1d910a0385"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfuse__module.html#abc7b2bc3480bbb94a4eb9c1d910a0385">name</a></td></tr>
<tr class="separator:abc7b2bc3480bbb94a4eb9c1d910a0385"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a433d1857217f025aaf561fb95ffadae5"><td class="memItemLeft" align="right" valign="top">struct fuse_fs *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfuse__module.html#a433d1857217f025aaf561fb95ffadae5">factory</a> )(struct <a class="el" href="structfuse__args.html">fuse_args</a> *args, struct fuse_fs *fs[])</td></tr>
<tr class="separator:a433d1857217f025aaf561fb95ffadae5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Filesystem module</p>
<p>Filesystem modules are registered with the <a class="el" href="fuse_8h.html#af335784cf29289c7583f3312d98d2bcd">FUSE_REGISTER_MODULE()</a> macro.</p>
<p>If the "-omodules=modname:..." option is present, filesystem objects are created and pushed onto the stack with the 'factory' function. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a class="anchor" id="a433d1857217f025aaf561fb95ffadae5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct fuse_fs*(* fuse_module::factory)(struct <a class="el" href="structfuse__args.html">fuse_args</a> *args, struct fuse_fs *fs[])</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Factory for creating filesystem objects</p>
<p>The function may use and remove options from 'args' that belong to this module.</p>
<p>For now the 'fs' vector always contains exactly one filesystem. This is the filesystem which will be below the newly created filesystem in the stack.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">args</td><td>the command line arguments </td></tr>
    <tr><td class="paramname">fs</td><td>NULL terminated filesystem object vector </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new filesystem object </dd></dl>

</div>
</div>
<a class="anchor" id="abc7b2bc3480bbb94a4eb9c1d910a0385"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* fuse_module::name</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Name of filesystem </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>include/<a class="el" href="fuse_8h.html">fuse.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sat Apr 23 2016 09:43:20 for fuse by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>
