summaryrefslogtreecommitdiffstats
path: root/runtime/docs/html/io_8c-source.html
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/docs/html/io_8c-source.html')
-rw-r--r--runtime/docs/html/io_8c-source.html58
1 files changed, 32 insertions, 26 deletions
diff --git a/runtime/docs/html/io_8c-source.html b/runtime/docs/html/io_8c-source.html
index a152c946..246f36d8 100644
--- a/runtime/docs/html/io_8c-source.html
+++ b/runtime/docs/html/io_8c-source.html
@@ -1,13 +1,21 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
-<title>SystemTap: SystemTap Runtime Library</title>
+<title>SystemTap: io.c Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
-<div class="qindex"><a class="qindex" href="index.html">Intro</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_defs.html">Defines</a> | <a class="qindex" href="globals_enum.html">Enumerations</a> | <a class="qindex" href="globals_eval.html">Enumeration Values</a></div>
-
<!-- Generated by Doxygen 1.4.1 -->
-<h1>io.c</h1><a href="io_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001
-<a name="l00011"></a><a class="code" href="io_8c.html#a4">00011</a> <span class="keywordtype">void</span> <a class="code" href="io_8c.html#a4">dlog</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, ...)
+<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
+<h1>io.c</h1><div class="fragment"><pre class="fragment">00001 <span class="comment">/** Logs data.</span>
+00002 <span class="comment"> * This function is compatible with printk. In fact it currently</span>
+00003 <span class="comment"> * sends all output to vprintk, after sending "STP: ". This allows</span>
+00004 <span class="comment"> * us to easily detect SystemTap output in the log file.</span>
+00005 <span class="comment"> *</span>
+00006 <span class="comment"> * @param fmt A variable number of args.</span>
+00007 <span class="comment"> * @bug Lines are limited in length by printk buffer.</span>
+00008 <span class="comment"> * @todo Needs replaced with something much faster that does not</span>
+00009 <span class="comment"> * use the system log.</span>
+00010 <span class="comment"> */</span>
+00011 <span class="keywordtype">void</span> dlog (<span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, ...)
00012 {
00013 va_list args;
00014 printk(<span class="stringliteral">"STP: "</span>);
@@ -23,17 +31,17 @@
00024 <span class="keywordtype">char</span> **modname, <span class="keywordtype">char</span> *namebuf)=(<span class="keywordtype">void</span> *)KALLSYMS_LOOKUP;
00025
00026
-<a name="l00027"></a><a class="code" href="io_8c.html#a0">00027</a> <span class="preprocessor">#define STP_BUF_LEN 8191</span>
+00027 <span class="preprocessor">#define STP_BUF_LEN 8191</span>
00028 <span class="preprocessor"></span>
00029 <span class="comment">/* FIXME. These need to be per-cpu */</span>
-00030 <span class="keyword">static</span> <span class="keywordtype">char</span> _stp_pbuf[<a class="code" href="io_8c.html#a0">STP_BUF_LEN</a>+1];
-00031 <span class="keyword">static</span> <span class="keywordtype">int</span> _stp_pbuf_len = <a class="code" href="io_8c.html#a0">STP_BUF_LEN</a>;
+00030 <span class="keyword">static</span> <span class="keywordtype">char</span> _stp_pbuf[STP_BUF_LEN+1];
+00031 <span class="keyword">static</span> <span class="keywordtype">int</span> _stp_pbuf_len = STP_BUF_LEN;
00032
-<a name="l00033"></a><a class="code" href="io_8c.html#a5">00033</a> <span class="keywordtype">void</span> <a class="code" href="io_8c.html#a5">_stp_print_buf</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, ...)
+00033 <span class="keywordtype">void</span> _stp_print_buf (<span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, ...)
00034 {
00035 <span class="keywordtype">int</span> num;
00036 va_list args;
-00037 <span class="keywordtype">char</span> *buf = _stp_pbuf + <a class="code" href="io_8c.html#a0">STP_BUF_LEN</a> - _stp_pbuf_len;
+00037 <span class="keywordtype">char</span> *buf = _stp_pbuf + STP_BUF_LEN - _stp_pbuf_len;
00038 va_start(args, fmt);
00039 num = vscnprintf(buf, _stp_pbuf_len, fmt, args);
00040 va_end(args);
@@ -41,13 +49,13 @@
00042 _stp_pbuf_len -= num;
00043 }
00044
-<a name="l00045"></a><a class="code" href="io_8c.html#a6">00045</a> <span class="keywordtype">void</span> <a class="code" href="io_8c.html#a6">_stp_print_buf_init</a> (<span class="keywordtype">void</span>)
+00045 <span class="keywordtype">void</span> _stp_print_buf_init (<span class="keywordtype">void</span>)
00046 {
-00047 _stp_pbuf_len = <a class="code" href="io_8c.html#a0">STP_BUF_LEN</a>;
+00047 _stp_pbuf_len = STP_BUF_LEN;
00048 _stp_pbuf[0] = 0;
00049 }
00050
-<a name="l00051"></a><a class="code" href="io_8c.html#a7">00051</a> <span class="keywordtype">void</span> <a class="code" href="io_8c.html#a7">_stp_print_symbol</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> address)
+00051 <span class="keywordtype">void</span> _stp_print_symbol(<span class="keyword">const</span> <span class="keywordtype">char</span> *fmt, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> address)
00052 {
00053 <span class="keywordtype">char</span> *modname;
00054 <span class="keyword">const</span> <span class="keywordtype">char</span> *name;
@@ -57,18 +65,18 @@
00058 name = _stp_kallsyms_lookup(address, &amp;size, &amp;offset, &amp;modname, namebuf);
00059
00060 <span class="keywordflow">if</span> (!name)
-00061 <a class="code" href="io_8c.html#a5">_stp_print_buf</a>(<span class="stringliteral">"0x%lx"</span>, address);
-00062 <span class="keywordflow">else</span> {
+00061 _stp_print_buf("0x%lx", address);
+00062 else {
00063 <span class="keywordflow">if</span> (modname)
-00064 <a class="code" href="io_8c.html#a5">_stp_print_buf</a>(<span class="stringliteral">"%s+%#lx/%#lx [%s]"</span>, name, offset,
+00064 _stp_print_buf("%s+%#lx/%#lx [%s]", name, offset,
00065 size, modname);
-00066 <span class="keywordflow">else</span>
-00067 <a class="code" href="io_8c.html#a5">_stp_print_buf</a>(<span class="stringliteral">"%s+%#lx/%#lx"</span>, name, offset, size);
+00066 else
+00067 _stp_print_buf("%s+%#lx/%#lx", name, offset, size);
00068 }
00069 }
00070
00071
-<a name="l00072"></a><a class="code" href="io_8c.html#a8">00072</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="io_8c.html#a8">cur_ret_addr</a> (<span class="keyword">struct</span> pt_regs *regs)
+00072 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> cur_ret_addr (struct pt_regs *regs)
00073 {
00074 <span class="preprocessor">#ifdef __x86_64__</span>
00075 <span class="preprocessor"></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *ra = (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *)regs-&gt;rsp;
@@ -76,12 +84,10 @@
00077 <span class="preprocessor"></span> <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *ra = (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> *)regs-&gt;esp;
00078 <span class="preprocessor">#endif</span>
00079 <span class="preprocessor"></span> <span class="keywordflow">if</span> (ra)
-00080 <span class="keywordflow">return</span> *ra;
-00081 <span class="keywordflow">else</span>
-00082 <span class="keywordflow">return</span> 0;
+00080 return *ra;
+00081 else
+00082 return 0;
00083 }
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 21 13:29:45 2005 for SystemTap by&nbsp;
-<a href="http://www.doxygen.org/index.html">
-<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.1 </small></address>
-</body>
+</pre></div><hr size="1"><address style="align: right;"><small>
+Generated on Tue Mar 22 00:32:02 2005 for SystemTap.</small></body>
</html>