1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Chapter&#160;7.&#160;relay interface support</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel API"><link rel="up" href="index.html" title="The Linux Kernel API"><link rel="prev" href="API-kfifo-out-peek.html" title="kfifo_out_peek"><link rel="next" href="API-relay-buf-full.html" title="relay_buf_full"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter&#160;7.&#160;relay interface support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-kfifo-out-peek.html">Prev</a>&#160;</td><th width="60%" align="center">&#160;</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-relay-buf-full.html">Next</a></td></tr></table><hr></div><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="relayfs"></a>Chapter&#160;7.&#160;relay interface support</h1></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl class="toc"><dt><span class="sect1"><a href="relayfs.html#idp1125442764">relay interface</a></span></dt></dl></div><p>
2	Relay interface support
3	is designed to provide an efficient mechanism for tools and
4	facilities to relay large amounts of data from kernel space to
5	user space.
6     </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp1125442764"></a>relay interface</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="refentrytitle"><a href="API-relay-buf-full.html"><span class="phrase">relay_buf_full</span></a></span><span class="refpurpose"> &#8212; 
7  boolean, is the channel buffer full?
8 </span></dt><dt><span class="refentrytitle"><a href="API-relay-reset.html"><span class="phrase">relay_reset</span></a></span><span class="refpurpose"> &#8212; 
9     reset the channel
10 </span></dt><dt><span class="refentrytitle"><a href="API-relay-open.html"><span class="phrase">relay_open</span></a></span><span class="refpurpose"> &#8212; 
11     create a new relay channel
12 </span></dt><dt><span class="refentrytitle"><a href="API-relay-switch-subbuf.html"><span class="phrase">relay_switch_subbuf</span></a></span><span class="refpurpose"> &#8212; 
13     switch to a new sub-buffer
14 </span></dt><dt><span class="refentrytitle"><a href="API-relay-subbufs-consumed.html"><span class="phrase">relay_subbufs_consumed</span></a></span><span class="refpurpose"> &#8212; 
15     update the buffer's sub-buffers-consumed count
16 </span></dt><dt><span class="refentrytitle"><a href="API-relay-close.html"><span class="phrase">relay_close</span></a></span><span class="refpurpose"> &#8212; 
17     close the channel
18 </span></dt><dt><span class="refentrytitle"><a href="API-relay-flush.html"><span class="phrase">relay_flush</span></a></span><span class="refpurpose"> &#8212; 
19     close the channel
20 </span></dt><dt><span class="refentrytitle"><a href="API-relay-mmap-buf.html"><span class="phrase">relay_mmap_buf</span></a></span><span class="refpurpose"> &#8212; 
21  mmap channel buffer to process address space
22 </span></dt><dt><span class="refentrytitle"><a href="API-relay-alloc-buf.html"><span class="phrase">relay_alloc_buf</span></a></span><span class="refpurpose"> &#8212; 
23     allocate a channel buffer
24 </span></dt><dt><span class="refentrytitle"><a href="API-relay-create-buf.html"><span class="phrase">relay_create_buf</span></a></span><span class="refpurpose"> &#8212; 
25     allocate and initialize a channel buffer
26 </span></dt><dt><span class="refentrytitle"><a href="API-relay-destroy-channel.html"><span class="phrase">relay_destroy_channel</span></a></span><span class="refpurpose"> &#8212; 
27     free the channel struct
28 </span></dt><dt><span class="refentrytitle"><a href="API-relay-destroy-buf.html"><span class="phrase">relay_destroy_buf</span></a></span><span class="refpurpose"> &#8212; 
29     destroy an rchan_buf struct and associated buffer
30 </span></dt><dt><span class="refentrytitle"><a href="API-relay-remove-buf.html"><span class="phrase">relay_remove_buf</span></a></span><span class="refpurpose"> &#8212; 
31     remove a channel buffer
32 </span></dt><dt><span class="refentrytitle"><a href="API-relay-buf-empty.html"><span class="phrase">relay_buf_empty</span></a></span><span class="refpurpose"> &#8212; 
33     boolean, is the channel buffer empty?
34 </span></dt><dt><span class="refentrytitle"><a href="API-wakeup-readers.html"><span class="phrase">wakeup_readers</span></a></span><span class="refpurpose"> &#8212; 
35     wake up readers waiting on a channel
36 </span></dt><dt><span class="refentrytitle"><a href="API---relay-reset.html"><span class="phrase">__relay_reset</span></a></span><span class="refpurpose"> &#8212; 
37     reset a channel buffer
38 </span></dt><dt><span class="refentrytitle"><a href="API-relay-close-buf.html"><span class="phrase">relay_close_buf</span></a></span><span class="refpurpose"> &#8212; 
39     close a channel buffer
40 </span></dt><dt><span class="refentrytitle"><a href="API-relay-hotcpu-callback.html"><span class="phrase">relay_hotcpu_callback</span></a></span><span class="refpurpose"> &#8212; 
41     CPU hotplug callback
42 </span></dt><dt><span class="refentrytitle"><a href="API-relay-late-setup-files.html"><span class="phrase">relay_late_setup_files</span></a></span><span class="refpurpose"> &#8212; 
43     triggers file creation
44 </span></dt><dt><span class="refentrytitle"><a href="API-relay-file-open.html"><span class="phrase">relay_file_open</span></a></span><span class="refpurpose"> &#8212; 
45     open file op for relay files
46 </span></dt><dt><span class="refentrytitle"><a href="API-relay-file-mmap.html"><span class="phrase">relay_file_mmap</span></a></span><span class="refpurpose"> &#8212; 
47     mmap file op for relay files
48 </span></dt><dt><span class="refentrytitle"><a href="API-relay-file-poll.html"><span class="phrase">relay_file_poll</span></a></span><span class="refpurpose"> &#8212; 
49     poll file op for relay files
50 </span></dt><dt><span class="refentrytitle"><a href="API-relay-file-release.html"><span class="phrase">relay_file_release</span></a></span><span class="refpurpose"> &#8212; 
51     release file op for relay files
52 </span></dt><dt><span class="refentrytitle"><a href="API-relay-file-read-subbuf-avail.html"><span class="phrase">relay_file_read_subbuf_avail</span></a></span><span class="refpurpose"> &#8212; 
53     return bytes available in sub-buffer
54 </span></dt><dt><span class="refentrytitle"><a href="API-relay-file-read-start-pos.html"><span class="phrase">relay_file_read_start_pos</span></a></span><span class="refpurpose"> &#8212; 
55     find the first available byte to read
56 </span></dt><dt><span class="refentrytitle"><a href="API-relay-file-read-end-pos.html"><span class="phrase">relay_file_read_end_pos</span></a></span><span class="refpurpose"> &#8212; 
57     return the new read position
58 </span></dt></dl></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-kfifo-out-peek.html">Prev</a>&#160;</td><td width="20%" align="center">&#160;</td><td width="40%" align="right">&#160;<a accesskey="n" href="API-relay-buf-full.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">kfifo_out_peek</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">relay_buf_full</span></td></tr></table></div></body></html>
59