Sophie

Sophie

distrib > CentOS > 6 > i386 > by-pkgid > 2c51d8eb79f8810ada971ee8c30ce1e5 > files > 332

kernel-doc-2.6.32-71.14.1.el6.noarch.rpm

<?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>printk</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="Linux Device Drivers" /><link rel="up" href="ch01s08.html" title="Kernel utility functions" /><link rel="prev" href="re136.html" title="container_of" /><link rel="next" href="re138.html" title="acquire_console_sem" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span>printk</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="re136.html">Prev</a>&#160;</td><th width="60%" align="center">Kernel utility functions</th><td width="20%" align="right">&#160;<a accesskey="n" href="re138.html">Next</a></td></tr></table><hr /></div><div class="refentry" title="printk"><a id="API-printk"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>printk &#8212; 
  print a kernel message
 </p></div><div class="refsynopsisdiv" title="Synopsis"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" summary="Function synopsis" cellspacing="0" cellpadding="0" class="funcprototype-table"><tr><td><code class="funcdef">int <b class="fsfunc">printk </b>(</code></td><td>const char * <var class="pdparam">fmt</var>, </td></tr><tr><td>&#160;</td><td> <var class="pdparam">...</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1" title="Arguments"><a id="id2613007"></a><h2>Arguments</h2><div class="variablelist"><dl><dt><span class="term"><em class="parameter"><code>fmt</code></em></span></dt><dd><p>
     format string
    </p></dd><dt><span class="term"><em class="parameter"><code>...</code></em></span></dt><dd><p>
     variable arguments
    </p></dd></dl></div></div><div class="refsect1" title="Description"><a id="id2613050"></a><h2>Description</h2><p>
   This is <code class="function">printk</code>.  It can be called from any context.  We want it to work.
   </p><p>

   We try to grab the console_sem.  If we succeed, it's easy - we log the output and
   call the console drivers.  If we fail to get the semaphore we place the output
   into the log buffer and return.  The current holder of the console_sem will
   notice the new output in <code class="function">release_console_sem</code> and will send it to the
   consoles before releasing the semaphore.
   </p><p>

   One effect of this deferred printing is that code which calls <code class="function">printk</code> and
   then changes console_loglevel may break. This is because console_loglevel
   is inspected when the actual printing occurs.
</p></div><div class="refsect1" title="See also"><a id="id2613093"></a><h2>See also</h2><p>
   printf(3)
   </p><p>

   See the <code class="function">vsnprintf</code> documentation for format string extensions over C99.
</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="re136.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch01s08.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="re138.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>container_of</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>acquire_console_sem</span></td></tr></table></div></body></html>