You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

548 lines
28 KiB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.8"/>
  7. <title>fuse: include/fuse_common.h File Reference</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  12. </head>
  13. <body>
  14. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  15. <div id="titlearea">
  16. <table cellspacing="0" cellpadding="0">
  17. <tbody>
  18. <tr style="height: 56px;">
  19. <td style="padding-left: 0.5em;">
  20. <div id="projectname">fuse
  21. </div>
  22. </td>
  23. </tr>
  24. </tbody>
  25. </table>
  26. </div>
  27. <!-- end header part -->
  28. <!-- Generated by Doxygen 1.8.8 -->
  29. <div id="navrow1" class="tabs">
  30. <ul class="tablist">
  31. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  32. <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
  33. <li class="current"><a href="files.html"><span>Files</span></a></li>
  34. </ul>
  35. </div>
  36. <div id="navrow2" class="tabs2">
  37. <ul class="tablist">
  38. <li><a href="files.html"><span>File&#160;List</span></a></li>
  39. <li><a href="globals.html"><span>Globals</span></a></li>
  40. </ul>
  41. </div>
  42. <div id="nav-path" class="navpath">
  43. <ul>
  44. <li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
  45. </div>
  46. </div><!-- top -->
  47. <div class="header">
  48. <div class="summary">
  49. <a href="#nested-classes">Data Structures</a> &#124;
  50. <a href="#define-members">Macros</a> &#124;
  51. <a href="#enum-members">Enumerations</a> &#124;
  52. <a href="#func-members">Functions</a> </div>
  53. <div class="headertitle">
  54. <div class="title">fuse_common.h File Reference</div> </div>
  55. </div><!--header-->
  56. <div class="contents">
  57. <div class="textblock"><code>#include &quot;<a class="el" href="fuse__opt_8h.html">fuse_opt.h</a>&quot;</code><br />
  58. <code>#include &lt;stdint.h&gt;</code><br />
  59. <code>#include &lt;sys/types.h&gt;</code><br />
  60. <code>#include &quot;fuse_common_compat.h&quot;</code><br />
  61. </div><table class="memberdecls">
  62. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
  63. Data Structures</h2></td></tr>
  64. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfuse__file__info.html">fuse_file_info</a></td></tr>
  65. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  66. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfuse__conn__info.html">fuse_conn_info</a></td></tr>
  67. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  68. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfuse__buf.html">fuse_buf</a></td></tr>
  69. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  70. <tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structfuse__bufvec.html">fuse_bufvec</a></td></tr>
  71. <tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
  72. </table><table class="memberdecls">
  73. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
  74. Macros</h2></td></tr>
  75. <tr class="memitem:a2779d57c512b7b948992858653e95f0e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#a2779d57c512b7b948992858653e95f0e">FUSE_MAJOR_VERSION</a>&#160;&#160;&#160;2</td></tr>
  76. <tr class="separator:a2779d57c512b7b948992858653e95f0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
  77. <tr class="memitem:a8571aa4ec96e1685d31eeff07cb2f163"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#a8571aa4ec96e1685d31eeff07cb2f163">FUSE_MINOR_VERSION</a>&#160;&#160;&#160;9</td></tr>
  78. <tr class="separator:a8571aa4ec96e1685d31eeff07cb2f163"><td class="memSeparator" colspan="2">&#160;</td></tr>
  79. <tr class="memitem:a4e1bacbb44d6dca9a82255c8069c3d69"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#a4e1bacbb44d6dca9a82255c8069c3d69">FUSE_CAP_ASYNC_READ</a>&#160;&#160;&#160;(1 &lt;&lt; 0)</td></tr>
  80. <tr class="separator:a4e1bacbb44d6dca9a82255c8069c3d69"><td class="memSeparator" colspan="2">&#160;</td></tr>
  81. <tr class="memitem:ade38f8e8c463cd40af5bfeeebfa99486"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#ade38f8e8c463cd40af5bfeeebfa99486">FUSE_IOCTL_COMPAT</a>&#160;&#160;&#160;(1 &lt;&lt; 0)</td></tr>
  82. <tr class="separator:ade38f8e8c463cd40af5bfeeebfa99486"><td class="memSeparator" colspan="2">&#160;</td></tr>
  83. </table><table class="memberdecls">
  84. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
  85. Enumerations</h2></td></tr>
  86. <tr class="memitem:a5e36b839c4dbf0439bd85b61c7213a58"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#a5e36b839c4dbf0439bd85b61c7213a58">fuse_buf_flags</a> { <a class="el" href="fuse__common_8h.html#a5e36b839c4dbf0439bd85b61c7213a58affd5b3b7e9cdd5f89b3126eea96e033b">FUSE_BUF_IS_FD</a> = (1 &lt;&lt; 1),
  87. <a class="el" href="fuse__common_8h.html#a5e36b839c4dbf0439bd85b61c7213a58ad67d5c6075febad0594f06d46d02bfa9">FUSE_BUF_FD_SEEK</a> = (1 &lt;&lt; 2),
  88. <a class="el" href="fuse__common_8h.html#a5e36b839c4dbf0439bd85b61c7213a58af89b4b00a2d4a06d8458b320c2cb28cf">FUSE_BUF_FD_RETRY</a> = (1 &lt;&lt; 3)
  89. }</td></tr>
  90. <tr class="separator:a5e36b839c4dbf0439bd85b61c7213a58"><td class="memSeparator" colspan="2">&#160;</td></tr>
  91. <tr class="memitem:aec0ad71a3e8c357ebe7e87cdecbdbe18"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#aec0ad71a3e8c357ebe7e87cdecbdbe18">fuse_buf_copy_flags</a> { <a class="el" href="fuse__common_8h.html#aec0ad71a3e8c357ebe7e87cdecbdbe18adcef8052c48f314d4d9f9f05a5b4f838">FUSE_BUF_NO_SPLICE</a> = (1 &lt;&lt; 1),
  92. <a class="el" href="fuse__common_8h.html#aec0ad71a3e8c357ebe7e87cdecbdbe18a375767de945f5178e8949d284abf1f5b">FUSE_BUF_FORCE_SPLICE</a> = (1 &lt;&lt; 2),
  93. <a class="el" href="fuse__common_8h.html#aec0ad71a3e8c357ebe7e87cdecbdbe18af239e556066a5d73b3ff542216b157b9">FUSE_BUF_SPLICE_MOVE</a> = (1 &lt;&lt; 3),
  94. <a class="el" href="fuse__common_8h.html#aec0ad71a3e8c357ebe7e87cdecbdbe18a32ec833f1eb4b5cd9283cf9d93021037">FUSE_BUF_SPLICE_NONBLOCK</a> = (1 &lt;&lt; 4)
  95. }</td></tr>
  96. <tr class="separator:aec0ad71a3e8c357ebe7e87cdecbdbe18"><td class="memSeparator" colspan="2">&#160;</td></tr>
  97. </table><table class="memberdecls">
  98. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
  99. Functions</h2></td></tr>
  100. <tr class="memitem:a30d394a6127b20455bf5a4899e56e759"><td class="memItemLeft" align="right" valign="top">struct fuse_chan *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#a30d394a6127b20455bf5a4899e56e759">fuse_mount</a> (const char *mountpoint, struct <a class="el" href="structfuse__args.html">fuse_args</a> *args)</td></tr>
  101. <tr class="separator:a30d394a6127b20455bf5a4899e56e759"><td class="memSeparator" colspan="2">&#160;</td></tr>
  102. <tr class="memitem:a1b6448c8529f9fac068a35ef7a279d4d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#a1b6448c8529f9fac068a35ef7a279d4d">fuse_unmount</a> (const char *mountpoint, struct fuse_chan *ch)</td></tr>
  103. <tr class="separator:a1b6448c8529f9fac068a35ef7a279d4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:a971bb6dbde8b6d47dfd5c1fab8b30a1d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#a971bb6dbde8b6d47dfd5c1fab8b30a1d">fuse_parse_cmdline</a> (struct <a class="el" href="structfuse__args.html">fuse_args</a> *args, char **mountpoint, int *multithreaded, int *foreground)</td></tr>
  105. <tr class="separator:a971bb6dbde8b6d47dfd5c1fab8b30a1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
  106. <tr class="memitem:af1857d2209952f49a762aff39f3cd8bd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#af1857d2209952f49a762aff39f3cd8bd">fuse_daemonize</a> (int foreground)</td></tr>
  107. <tr class="separator:af1857d2209952f49a762aff39f3cd8bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
  108. <tr class="memitem:ae04b2f721003f5540c71be65396c53c8"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#ae04b2f721003f5540c71be65396c53c8">fuse_version</a> (void)</td></tr>
  109. <tr class="separator:ae04b2f721003f5540c71be65396c53c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
  110. <tr class="memitem:adf5027f8a38b2efc03858efd7fdc756a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#adf5027f8a38b2efc03858efd7fdc756a">fuse_pollhandle_destroy</a> (struct fuse_pollhandle *ph)</td></tr>
  111. <tr class="separator:adf5027f8a38b2efc03858efd7fdc756a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:a4327f41b2fe1ca84151b407169bd86c0"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#a4327f41b2fe1ca84151b407169bd86c0">fuse_buf_size</a> (const struct <a class="el" href="structfuse__bufvec.html">fuse_bufvec</a> *bufv)</td></tr>
  113. <tr class="separator:a4327f41b2fe1ca84151b407169bd86c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
  114. <tr class="memitem:a9ca301390fb5e85b85153abb1891a3f7"><td class="memItemLeft" align="right" valign="top">ssize_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#a9ca301390fb5e85b85153abb1891a3f7">fuse_buf_copy</a> (struct <a class="el" href="structfuse__bufvec.html">fuse_bufvec</a> *dst, struct <a class="el" href="structfuse__bufvec.html">fuse_bufvec</a> *src, enum <a class="el" href="fuse__common_8h.html#aec0ad71a3e8c357ebe7e87cdecbdbe18">fuse_buf_copy_flags</a> flags)</td></tr>
  115. <tr class="separator:a9ca301390fb5e85b85153abb1891a3f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
  116. <tr class="memitem:a292dccc3c7b1799cb054efa2ba0c774b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#a292dccc3c7b1799cb054efa2ba0c774b">fuse_set_signal_handlers</a> (struct fuse_session *se)</td></tr>
  117. <tr class="separator:a292dccc3c7b1799cb054efa2ba0c774b"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <tr class="memitem:aeb674bbc11074c4fe520b952d6bfdd30"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fuse__common_8h.html#aeb674bbc11074c4fe520b952d6bfdd30">fuse_remove_signal_handlers</a> (struct fuse_session *se)</td></tr>
  119. <tr class="separator:aeb674bbc11074c4fe520b952d6bfdd30"><td class="memSeparator" colspan="2">&#160;</td></tr>
  120. </table>
  121. <h2 class="groupheader">Macro Definition Documentation</h2>
  122. <a class="anchor" id="a4e1bacbb44d6dca9a82255c8069c3d69"></a>
  123. <div class="memitem">
  124. <div class="memproto">
  125. <table class="memname">
  126. <tr>
  127. <td class="memname">#define FUSE_CAP_ASYNC_READ&#160;&#160;&#160;(1 &lt;&lt; 0)</td>
  128. </tr>
  129. </table>
  130. </div><div class="memdoc">
  131. <p>Capability bits for '<a class="el" href="structfuse__conn__info.html#a8a1c61f5d7cc14249fb6971165bb958e">fuse_conn_info.capable</a>' and '<a class="el" href="structfuse__conn__info.html#af45de81548b591f3004353a324e4e04d">fuse_conn_info.want</a>'</p>
  132. <p>FUSE_CAP_ASYNC_READ: filesystem supports asynchronous read requests FUSE_CAP_POSIX_LOCKS: filesystem supports "remote" locking FUSE_CAP_ATOMIC_O_TRUNC: filesystem handles the O_TRUNC open flag FUSE_CAP_EXPORT_SUPPORT: filesystem handles lookups of "." and ".." FUSE_CAP_BIG_WRITES: filesystem can handle write size larger than 4kB FUSE_CAP_DONT_MASK: don't apply umask to file mode on create operations FUSE_CAP_SPLICE_WRITE: ability to use splice() to write to the fuse device FUSE_CAP_SPLICE_MOVE: ability to move data to the fuse device with splice() FUSE_CAP_SPLICE_READ: ability to use splice() to read from the fuse device FUSE_CAP_IOCTL_DIR: ioctl support on directories </p>
  133. </div>
  134. </div>
  135. <a class="anchor" id="ade38f8e8c463cd40af5bfeeebfa99486"></a>
  136. <div class="memitem">
  137. <div class="memproto">
  138. <table class="memname">
  139. <tr>
  140. <td class="memname">#define FUSE_IOCTL_COMPAT&#160;&#160;&#160;(1 &lt;&lt; 0)</td>
  141. </tr>
  142. </table>
  143. </div><div class="memdoc">
  144. <p>Ioctl flags</p>
  145. <p>FUSE_IOCTL_COMPAT: 32bit compat ioctl on 64bit machine FUSE_IOCTL_UNRESTRICTED: not restricted to well-formed ioctls, retry allowed FUSE_IOCTL_RETRY: retry with new iovecs FUSE_IOCTL_DIR: is a directory</p>
  146. <p>FUSE_IOCTL_MAX_IOV: maximum of in_iovecs + out_iovecs </p>
  147. </div>
  148. </div>
  149. <a class="anchor" id="a2779d57c512b7b948992858653e95f0e"></a>
  150. <div class="memitem">
  151. <div class="memproto">
  152. <table class="memname">
  153. <tr>
  154. <td class="memname">#define FUSE_MAJOR_VERSION&#160;&#160;&#160;2</td>
  155. </tr>
  156. </table>
  157. </div><div class="memdoc">
  158. <p>Major version of FUSE library interface </p>
  159. </div>
  160. </div>
  161. <a class="anchor" id="a8571aa4ec96e1685d31eeff07cb2f163"></a>
  162. <div class="memitem">
  163. <div class="memproto">
  164. <table class="memname">
  165. <tr>
  166. <td class="memname">#define FUSE_MINOR_VERSION&#160;&#160;&#160;9</td>
  167. </tr>
  168. </table>
  169. </div><div class="memdoc">
  170. <p>Minor version of FUSE library interface </p>
  171. </div>
  172. </div>
  173. <h2 class="groupheader">Enumeration Type Documentation</h2>
  174. <a class="anchor" id="aec0ad71a3e8c357ebe7e87cdecbdbe18"></a>
  175. <div class="memitem">
  176. <div class="memproto">
  177. <table class="memname">
  178. <tr>
  179. <td class="memname">enum <a class="el" href="fuse__common_8h.html#aec0ad71a3e8c357ebe7e87cdecbdbe18">fuse_buf_copy_flags</a></td>
  180. </tr>
  181. </table>
  182. </div><div class="memdoc">
  183. <p>Buffer copy flags </p>
  184. <table class="fieldtable">
  185. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="aec0ad71a3e8c357ebe7e87cdecbdbe18adcef8052c48f314d4d9f9f05a5b4f838"></a>FUSE_BUF_NO_SPLICE&#160;</td><td class="fielddoc">
  186. <p>Don't use splice(2)</p>
  187. <p>Always fall back to using read and write instead of splice(2) to copy data from one file descriptor to another.</p>
  188. <p>If this flag is not set, then only fall back if splice is unavailable. </p>
  189. </td></tr>
  190. <tr><td class="fieldname"><a class="anchor" id="aec0ad71a3e8c357ebe7e87cdecbdbe18a375767de945f5178e8949d284abf1f5b"></a>FUSE_BUF_FORCE_SPLICE&#160;</td><td class="fielddoc">
  191. <p>Force splice</p>
  192. <p>Always use splice(2) to copy data from one file descriptor to another. If splice is not available, return -EINVAL. </p>
  193. </td></tr>
  194. <tr><td class="fieldname"><a class="anchor" id="aec0ad71a3e8c357ebe7e87cdecbdbe18af239e556066a5d73b3ff542216b157b9"></a>FUSE_BUF_SPLICE_MOVE&#160;</td><td class="fielddoc">
  195. <p>Try to move data with splice.</p>
  196. <p>If splice is used, try to move pages from the source to the destination instead of copying. See documentation of SPLICE_F_MOVE in splice(2) man page. </p>
  197. </td></tr>
  198. <tr><td class="fieldname"><a class="anchor" id="aec0ad71a3e8c357ebe7e87cdecbdbe18a32ec833f1eb4b5cd9283cf9d93021037"></a>FUSE_BUF_SPLICE_NONBLOCK&#160;</td><td class="fielddoc">
  199. <p>Don't block on the pipe when copying data with splice</p>
  200. <p>Makes the operations on the pipe non-blocking (if the pipe is full or empty). See SPLICE_F_NONBLOCK in the splice(2) man page. </p>
  201. </td></tr>
  202. </table>
  203. </div>
  204. </div>
  205. <a class="anchor" id="a5e36b839c4dbf0439bd85b61c7213a58"></a>
  206. <div class="memitem">
  207. <div class="memproto">
  208. <table class="memname">
  209. <tr>
  210. <td class="memname">enum <a class="el" href="fuse__common_8h.html#a5e36b839c4dbf0439bd85b61c7213a58">fuse_buf_flags</a></td>
  211. </tr>
  212. </table>
  213. </div><div class="memdoc">
  214. <p>Buffer flags </p>
  215. <table class="fieldtable">
  216. <tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a5e36b839c4dbf0439bd85b61c7213a58affd5b3b7e9cdd5f89b3126eea96e033b"></a>FUSE_BUF_IS_FD&#160;</td><td class="fielddoc">
  217. <p>Buffer contains a file descriptor</p>
  218. <p>If this flag is set, the .fd field is valid, otherwise the .mem fields is valid. </p>
  219. </td></tr>
  220. <tr><td class="fieldname"><a class="anchor" id="a5e36b839c4dbf0439bd85b61c7213a58ad67d5c6075febad0594f06d46d02bfa9"></a>FUSE_BUF_FD_SEEK&#160;</td><td class="fielddoc">
  221. <p>Seek on the file descriptor</p>
  222. <p>If this flag is set then the .pos field is valid and is used to seek to the given offset before performing operation on file descriptor. </p>
  223. </td></tr>
  224. <tr><td class="fieldname"><a class="anchor" id="a5e36b839c4dbf0439bd85b61c7213a58af89b4b00a2d4a06d8458b320c2cb28cf"></a>FUSE_BUF_FD_RETRY&#160;</td><td class="fielddoc">
  225. <p>Retry operation on file descriptor</p>
  226. <p>If this flag is set then retry operation on file descriptor until .size bytes have been copied or an error or EOF is detected. </p>
  227. </td></tr>
  228. </table>
  229. </div>
  230. </div>
  231. <h2 class="groupheader">Function Documentation</h2>
  232. <a class="anchor" id="a9ca301390fb5e85b85153abb1891a3f7"></a>
  233. <div class="memitem">
  234. <div class="memproto">
  235. <table class="memname">
  236. <tr>
  237. <td class="memname">ssize_t fuse_buf_copy </td>
  238. <td>(</td>
  239. <td class="paramtype">struct <a class="el" href="structfuse__bufvec.html">fuse_bufvec</a> *&#160;</td>
  240. <td class="paramname"><em>dst</em>, </td>
  241. </tr>
  242. <tr>
  243. <td class="paramkey"></td>
  244. <td></td>
  245. <td class="paramtype">struct <a class="el" href="structfuse__bufvec.html">fuse_bufvec</a> *&#160;</td>
  246. <td class="paramname"><em>src</em>, </td>
  247. </tr>
  248. <tr>
  249. <td class="paramkey"></td>
  250. <td></td>
  251. <td class="paramtype">enum <a class="el" href="fuse__common_8h.html#aec0ad71a3e8c357ebe7e87cdecbdbe18">fuse_buf_copy_flags</a>&#160;</td>
  252. <td class="paramname"><em>flags</em>&#160;</td>
  253. </tr>
  254. <tr>
  255. <td></td>
  256. <td>)</td>
  257. <td></td><td></td>
  258. </tr>
  259. </table>
  260. </div><div class="memdoc">
  261. <p>Copy data from one buffer vector to another</p>
  262. <dl class="params"><dt>Parameters</dt><dd>
  263. <table class="params">
  264. <tr><td class="paramname">dst</td><td>destination buffer vector </td></tr>
  265. <tr><td class="paramname">src</td><td>source buffer vector </td></tr>
  266. <tr><td class="paramname">flags</td><td>flags controlling the copy </td></tr>
  267. </table>
  268. </dd>
  269. </dl>
  270. <dl class="section return"><dt>Returns</dt><dd>actual number of bytes copied or -errno on error </dd></dl>
  271. </div>
  272. </div>
  273. <a class="anchor" id="a4327f41b2fe1ca84151b407169bd86c0"></a>
  274. <div class="memitem">
  275. <div class="memproto">
  276. <table class="memname">
  277. <tr>
  278. <td class="memname">size_t fuse_buf_size </td>
  279. <td>(</td>
  280. <td class="paramtype">const struct <a class="el" href="structfuse__bufvec.html">fuse_bufvec</a> *&#160;</td>
  281. <td class="paramname"><em>bufv</em></td><td>)</td>
  282. <td></td>
  283. </tr>
  284. </table>
  285. </div><div class="memdoc">
  286. <p>Get total size of data in a fuse buffer vector</p>
  287. <dl class="params"><dt>Parameters</dt><dd>
  288. <table class="params">
  289. <tr><td class="paramname">bufv</td><td>buffer vector </td></tr>
  290. </table>
  291. </dd>
  292. </dl>
  293. <dl class="section return"><dt>Returns</dt><dd>size of data </dd></dl>
  294. </div>
  295. </div>
  296. <a class="anchor" id="af1857d2209952f49a762aff39f3cd8bd"></a>
  297. <div class="memitem">
  298. <div class="memproto">
  299. <table class="memname">
  300. <tr>
  301. <td class="memname">int fuse_daemonize </td>
  302. <td>(</td>
  303. <td class="paramtype">int&#160;</td>
  304. <td class="paramname"><em>foreground</em></td><td>)</td>
  305. <td></td>
  306. </tr>
  307. </table>
  308. </div><div class="memdoc">
  309. <p>Go into the background</p>
  310. <dl class="params"><dt>Parameters</dt><dd>
  311. <table class="params">
  312. <tr><td class="paramname">foreground</td><td>if true, stay in the foreground </td></tr>
  313. </table>
  314. </dd>
  315. </dl>
  316. <dl class="section return"><dt>Returns</dt><dd>0 on success, -1 on failure </dd></dl>
  317. </div>
  318. </div>
  319. <a class="anchor" id="a30d394a6127b20455bf5a4899e56e759"></a>
  320. <div class="memitem">
  321. <div class="memproto">
  322. <table class="memname">
  323. <tr>
  324. <td class="memname">struct fuse_chan* fuse_mount </td>
  325. <td>(</td>
  326. <td class="paramtype">const char *&#160;</td>
  327. <td class="paramname"><em>mountpoint</em>, </td>
  328. </tr>
  329. <tr>
  330. <td class="paramkey"></td>
  331. <td></td>
  332. <td class="paramtype">struct <a class="el" href="structfuse__args.html">fuse_args</a> *&#160;</td>
  333. <td class="paramname"><em>args</em>&#160;</td>
  334. </tr>
  335. <tr>
  336. <td></td>
  337. <td>)</td>
  338. <td></td><td></td>
  339. </tr>
  340. </table>
  341. </div><div class="memdoc">
  342. <p>Create a FUSE mountpoint</p>
  343. <p>Returns a control file descriptor suitable for passing to <a class="el" href="fuse_8h.html#a5326844946defe4a50b3f4320786a0f4">fuse_new()</a></p>
  344. <dl class="params"><dt>Parameters</dt><dd>
  345. <table class="params">
  346. <tr><td class="paramname">mountpoint</td><td>the mount point path </td></tr>
  347. <tr><td class="paramname">args</td><td>argument vector </td></tr>
  348. </table>
  349. </dd>
  350. </dl>
  351. <dl class="section return"><dt>Returns</dt><dd>the communication channel on success, NULL on failure </dd></dl>
  352. </div>
  353. </div>
  354. <a class="anchor" id="a971bb6dbde8b6d47dfd5c1fab8b30a1d"></a>
  355. <div class="memitem">
  356. <div class="memproto">
  357. <table class="memname">
  358. <tr>
  359. <td class="memname">int fuse_parse_cmdline </td>
  360. <td>(</td>
  361. <td class="paramtype">struct <a class="el" href="structfuse__args.html">fuse_args</a> *&#160;</td>
  362. <td class="paramname"><em>args</em>, </td>
  363. </tr>
  364. <tr>
  365. <td class="paramkey"></td>
  366. <td></td>
  367. <td class="paramtype">char **&#160;</td>
  368. <td class="paramname"><em>mountpoint</em>, </td>
  369. </tr>
  370. <tr>
  371. <td class="paramkey"></td>
  372. <td></td>
  373. <td class="paramtype">int *&#160;</td>
  374. <td class="paramname"><em>multithreaded</em>, </td>
  375. </tr>
  376. <tr>
  377. <td class="paramkey"></td>
  378. <td></td>
  379. <td class="paramtype">int *&#160;</td>
  380. <td class="paramname"><em>foreground</em>&#160;</td>
  381. </tr>
  382. <tr>
  383. <td></td>
  384. <td>)</td>
  385. <td></td><td></td>
  386. </tr>
  387. </table>
  388. </div><div class="memdoc">
  389. <p>Parse common options</p>
  390. <p>The following options are parsed:</p>
  391. <p>'-f' foreground '-d' '-odebug' foreground, but keep the debug option '-s' single threaded '-h' '&ndash;help' help '-ho' help without header '-ofsname=..' file system name, if not present, then set to the program name</p>
  392. <p>All parameters may be NULL</p>
  393. <dl class="params"><dt>Parameters</dt><dd>
  394. <table class="params">
  395. <tr><td class="paramname">args</td><td>argument vector </td></tr>
  396. <tr><td class="paramname">mountpoint</td><td>the returned mountpoint, should be freed after use </td></tr>
  397. <tr><td class="paramname">multithreaded</td><td>set to 1 unless the '-s' option is present </td></tr>
  398. <tr><td class="paramname">foreground</td><td>set to 1 if one of the relevant options is present </td></tr>
  399. </table>
  400. </dd>
  401. </dl>
  402. <dl class="section return"><dt>Returns</dt><dd>0 on success, -1 on failure </dd></dl>
  403. </div>
  404. </div>
  405. <a class="anchor" id="adf5027f8a38b2efc03858efd7fdc756a"></a>
  406. <div class="memitem">
  407. <div class="memproto">
  408. <table class="memname">
  409. <tr>
  410. <td class="memname">void fuse_pollhandle_destroy </td>
  411. <td>(</td>
  412. <td class="paramtype">struct fuse_pollhandle *&#160;</td>
  413. <td class="paramname"><em>ph</em></td><td>)</td>
  414. <td></td>
  415. </tr>
  416. </table>
  417. </div><div class="memdoc">
  418. <p>Destroy poll handle</p>
  419. <dl class="params"><dt>Parameters</dt><dd>
  420. <table class="params">
  421. <tr><td class="paramname">ph</td><td>the poll handle </td></tr>
  422. </table>
  423. </dd>
  424. </dl>
  425. </div>
  426. </div>
  427. <a class="anchor" id="aeb674bbc11074c4fe520b952d6bfdd30"></a>
  428. <div class="memitem">
  429. <div class="memproto">
  430. <table class="memname">
  431. <tr>
  432. <td class="memname">void fuse_remove_signal_handlers </td>
  433. <td>(</td>
  434. <td class="paramtype">struct fuse_session *&#160;</td>
  435. <td class="paramname"><em>se</em></td><td>)</td>
  436. <td></td>
  437. </tr>
  438. </table>
  439. </div><div class="memdoc">
  440. <p>Restore default signal handlers</p>
  441. <p>Resets global session. After this <a class="el" href="fuse__common_8h.html#a292dccc3c7b1799cb054efa2ba0c774b">fuse_set_signal_handlers()</a> may be called again.</p>
  442. <dl class="params"><dt>Parameters</dt><dd>
  443. <table class="params">
  444. <tr><td class="paramname">se</td><td>the same session as given in <a class="el" href="fuse__common_8h.html#a292dccc3c7b1799cb054efa2ba0c774b">fuse_set_signal_handlers()</a> </td></tr>
  445. </table>
  446. </dd>
  447. </dl>
  448. </div>
  449. </div>
  450. <a class="anchor" id="a292dccc3c7b1799cb054efa2ba0c774b"></a>
  451. <div class="memitem">
  452. <div class="memproto">
  453. <table class="memname">
  454. <tr>
  455. <td class="memname">int fuse_set_signal_handlers </td>
  456. <td>(</td>
  457. <td class="paramtype">struct fuse_session *&#160;</td>
  458. <td class="paramname"><em>se</em></td><td>)</td>
  459. <td></td>
  460. </tr>
  461. </table>
  462. </div><div class="memdoc">
  463. <p>Exit session on HUP, TERM and INT signals and ignore PIPE signal</p>
  464. <p>Stores session in a global variable. May only be called once per process until <a class="el" href="fuse__common_8h.html#aeb674bbc11074c4fe520b952d6bfdd30">fuse_remove_signal_handlers()</a> is called.</p>
  465. <dl class="params"><dt>Parameters</dt><dd>
  466. <table class="params">
  467. <tr><td class="paramname">se</td><td>the session to exit </td></tr>
  468. </table>
  469. </dd>
  470. </dl>
  471. <dl class="section return"><dt>Returns</dt><dd>0 on success, -1 on failure </dd></dl>
  472. </div>
  473. </div>
  474. <a class="anchor" id="a1b6448c8529f9fac068a35ef7a279d4d"></a>
  475. <div class="memitem">
  476. <div class="memproto">
  477. <table class="memname">
  478. <tr>
  479. <td class="memname">void fuse_unmount </td>
  480. <td>(</td>
  481. <td class="paramtype">const char *&#160;</td>
  482. <td class="paramname"><em>mountpoint</em>, </td>
  483. </tr>
  484. <tr>
  485. <td class="paramkey"></td>
  486. <td></td>
  487. <td class="paramtype">struct fuse_chan *&#160;</td>
  488. <td class="paramname"><em>ch</em>&#160;</td>
  489. </tr>
  490. <tr>
  491. <td></td>
  492. <td>)</td>
  493. <td></td><td></td>
  494. </tr>
  495. </table>
  496. </div><div class="memdoc">
  497. <p>Umount a FUSE mountpoint</p>
  498. <dl class="params"><dt>Parameters</dt><dd>
  499. <table class="params">
  500. <tr><td class="paramname">mountpoint</td><td>the mount point path </td></tr>
  501. <tr><td class="paramname">ch</td><td>the communication channel </td></tr>
  502. </table>
  503. </dd>
  504. </dl>
  505. </div>
  506. </div>
  507. <a class="anchor" id="ae04b2f721003f5540c71be65396c53c8"></a>
  508. <div class="memitem">
  509. <div class="memproto">
  510. <table class="memname">
  511. <tr>
  512. <td class="memname">int fuse_version </td>
  513. <td>(</td>
  514. <td class="paramtype">void&#160;</td>
  515. <td class="paramname"></td><td>)</td>
  516. <td></td>
  517. </tr>
  518. </table>
  519. </div><div class="memdoc">
  520. <p>Get the version of the library</p>
  521. <dl class="section return"><dt>Returns</dt><dd>the version </dd></dl>
  522. </div>
  523. </div>
  524. </div><!-- contents -->
  525. <!-- start footer part -->
  526. <hr class="footer"/><address class="footer"><small>
  527. Generated on Sat Apr 23 2016 09:43:20 for fuse by &#160;<a href="http://www.doxygen.org/index.html">
  528. <img class="footer" src="doxygen.png" alt="doxygen"/>
  529. </a> 1.8.8
  530. </small></address>
  531. </body>
  532. </html>