1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Chapter 7. 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 7. relay interface support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-kfifo-out-peek.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <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 7. 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <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> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">relay_buf_full</span></td></tr></table></div></body></html> 59