<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!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/html; charset=ANSI_X3.4-1968" /><title>Linux Filesystems API</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="Linux Filesystems API" /><link rel="next" href="ch01.html" title="Chapter 1. The Linux VFS" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Linux Filesystems API</th></tr><tr><td width="20%" align="left"> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr></table><hr /></div><div class="book" title="Linux Filesystems API"><div class="titlepage"><div><div><h1 class="title"><a id="Linux-filesystems-API"></a>Linux Filesystems API</h1></div><div><div class="legalnotice" title="Legal Notice"><a id="id3084318"></a><p> This documentation is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. </p><p> This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. </p><p> You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA </p><p> For more details see the file COPYING in the source distribution of Linux. </p></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="ch01.html">1. The Linux VFS</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch01.html#the_filesystem_types">The Filesystem types</a></span></dt><dt><span class="sect1"><a href="ch01s02.html">The Directory Cache</a></span></dt><dt><span class="sect1"><a href="ch01s03.html">Inode Handling</a></span></dt><dt><span class="sect1"><a href="ch01s04.html">Registration and Superblocks</a></span></dt><dt><span class="sect1"><a href="ch01s05.html">File Locks</a></span></dt><dt><span class="sect1"><a href="ch01s06.html">Other Functions</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch02.html">2. The proc filesystem</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch02.html#sysctl_interface">sysctl interface</a></span></dt><dt><span class="sect1"><a href="ch02s02.html">proc filesystem interface</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch03.html">3. The Filesystem for Exporting Kernel Objects</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="re145.html"><span>sysfs_create_file</span></a></span><span class="refpurpose"> — create an attribute file for an object. </span></dt><dt><span class="refentrytitle"><a href="re146.html"><span>sysfs_add_file_to_group</span></a></span><span class="refpurpose"> — add an attribute file to a pre-existing group. </span></dt><dt><span class="refentrytitle"><a href="re147.html"><span>sysfs_chmod_file</span></a></span><span class="refpurpose"> — update the modified mode value on an object attribute. </span></dt><dt><span class="refentrytitle"><a href="re148.html"><span>sysfs_remove_file</span></a></span><span class="refpurpose"> — remove an object attribute. </span></dt><dt><span class="refentrytitle"><a href="re149.html"><span>sysfs_remove_file_from_group</span></a></span><span class="refpurpose"> — remove an attribute file from a group. </span></dt><dt><span class="refentrytitle"><a href="re150.html"><span>sysfs_schedule_callback</span></a></span><span class="refpurpose"> — helper to schedule a callback for a kobject </span></dt><dt><span class="refentrytitle"><a href="re151.html"><span>sysfs_create_link</span></a></span><span class="refpurpose"> — create symlink between two objects. </span></dt><dt><span class="refentrytitle"><a href="re152.html"><span>sysfs_remove_link</span></a></span><span class="refpurpose"> — remove symlink in object's directory. </span></dt><dt><span class="refentrytitle"><a href="re153.html"><span>sysfs_create_bin_file</span></a></span><span class="refpurpose"> — create binary file for object. </span></dt><dt><span class="refentrytitle"><a href="re154.html"><span>sysfs_remove_bin_file</span></a></span><span class="refpurpose"> — remove binary file for object. </span></dt></dl></dd><dt><span class="chapter"><a href="ch04.html">4. The debugfs filesystem</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch04.html#debugfs_interface">debugfs interface</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch05.html">5. The Linux Journalling API</a></span></dt><dd><dl><dt><span class="sect1"><a href="ch05.html#journaling_overview">Overview</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05.html#journaling_details">Details</a></span></dt><dt><span class="sect2"><a href="ch05.html#jbd_summary">Summary</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s02.html">Data Types</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s02.html#structures">Structures</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s03.html">Functions</a></span></dt><dd><dl><dt><span class="sect2"><a href="ch05s03.html#journal_level">Journal Level</a></span></dt><dt><span class="sect2"><a href="ch05s03.html#transaction_level">Transasction Level</a></span></dt></dl></dd><dt><span class="sect1"><a href="ch05s04.html">See also</a></span></dt></dl></dd><dt><span class="chapter"><a href="ch06.html">6. splice API</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="re208.html"><span>splice_to_pipe</span></a></span><span class="refpurpose"> — fill passed data into a pipe </span></dt><dt><span class="refentrytitle"><a href="re209.html"><span>generic_file_splice_read</span></a></span><span class="refpurpose"> — splice data from file to a pipe </span></dt><dt><span class="refentrytitle"><a href="re210.html"><span>splice_from_pipe_feed</span></a></span><span class="refpurpose"> — feed available data from a pipe to a file </span></dt><dt><span class="refentrytitle"><a href="re211.html"><span>splice_from_pipe_next</span></a></span><span class="refpurpose"> — wait for some data to splice from </span></dt><dt><span class="refentrytitle"><a href="re212.html"><span>splice_from_pipe_begin</span></a></span><span class="refpurpose"> — start splicing from pipe </span></dt><dt><span class="refentrytitle"><a href="re213.html"><span>splice_from_pipe_end</span></a></span><span class="refpurpose"> — finish splicing from pipe </span></dt><dt><span class="refentrytitle"><a href="re214.html"><span>__splice_from_pipe</span></a></span><span class="refpurpose"> — splice data from a pipe to given actor </span></dt><dt><span class="refentrytitle"><a href="re215.html"><span>splice_from_pipe</span></a></span><span class="refpurpose"> — splice data from a pipe to a file </span></dt><dt><span class="refentrytitle"><a href="re216.html"><span>generic_file_splice_write</span></a></span><span class="refpurpose"> — splice data from a pipe to a file </span></dt><dt><span class="refentrytitle"><a href="re217.html"><span>generic_splice_sendpage</span></a></span><span class="refpurpose"> — splice data from a pipe to a socket </span></dt><dt><span class="refentrytitle"><a href="re218.html"><span>splice_direct_to_actor</span></a></span><span class="refpurpose"> — splices data directly between two non-pipes </span></dt><dt><span class="refentrytitle"><a href="re219.html"><span>do_splice_direct</span></a></span><span class="refpurpose"> — splices data directly between two files </span></dt></dl></dd><dt><span class="chapter"><a href="ch07.html">7. pipes API</a></span></dt><dd><dl><dt><span class="refentrytitle"><a href="re220.html"><span>struct pipe_buffer</span></a></span><span class="refpurpose"> — a linux kernel pipe buffer </span></dt><dt><span class="refentrytitle"><a href="re221.html"><span>struct pipe_inode_info</span></a></span><span class="refpurpose"> — a linux kernel pipe </span></dt><dt><span class="refentrytitle"><a href="re222.html"><span>generic_pipe_buf_map</span></a></span><span class="refpurpose"> — virtually map a pipe buffer </span></dt><dt><span class="refentrytitle"><a href="re223.html"><span>generic_pipe_buf_unmap</span></a></span><span class="refpurpose"> — unmap a previously mapped pipe buffer </span></dt><dt><span class="refentrytitle"><a href="re224.html"><span>generic_pipe_buf_steal</span></a></span><span class="refpurpose"> — attempt to take ownership of a <span class="structname">pipe_buffer</span> </span></dt><dt><span class="refentrytitle"><a href="re225.html"><span>generic_pipe_buf_get</span></a></span><span class="refpurpose"> — get a reference to a <span class="structname">struct pipe_buffer</span> </span></dt><dt><span class="refentrytitle"><a href="re226.html"><span>generic_pipe_buf_confirm</span></a></span><span class="refpurpose"> — verify contents of the pipe buffer </span></dt><dt><span class="refentrytitle"><a href="re227.html"><span>generic_pipe_buf_release</span></a></span><span class="refpurpose"> — put a reference to a <span class="structname">struct pipe_buffer</span> </span></dt></dl></dd></dl></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"> </td><td width="40%" align="right" valign="top"> Chapter 1. The Linux VFS</td></tr></table></div></body></html>