summaryrefslogtreecommitdiffstats
path: root/runtime/docs/html/copy_8c.html
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/docs/html/copy_8c.html')
-rw-r--r--runtime/docs/html/copy_8c.html204
1 files changed, 204 insertions, 0 deletions
diff --git a/runtime/docs/html/copy_8c.html b/runtime/docs/html/copy_8c.html
new file mode 100644
index 00000000..0febb9ab
--- /dev/null
+++ b/runtime/docs/html/copy_8c.html
@@ -0,0 +1,204 @@
+<!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>
+<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.3.9.1 -->
+<h1>copy.c File Reference</h1>
+<p>
+<a href="copy_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="copy_8c.html#a0">_stp_strncpy_from_user</a> (char *dst, const char __user *src, long count)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy a NULL-terminated string from userspace. <a href="#a0"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="copy_8c.html#a1">_stp_copy_from_user</a> (char *dst, const char __user *src, unsigned long count)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy a block of data from user space. <a href="#a1"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="copy_8c.html#a2">_stp_copy_argv_from_user</a> (<a class="el" href="structmap__root.html">MAP</a> list, char __user *__user *argv)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy an argv from user space to a List. <a href="#a2"></a><br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a2" doxytag="copy.c::_stp_copy_argv_from_user"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">int _stp_copy_argv_from_user </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="structmap__root.html">MAP</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>list</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>char __user *__user *&nbsp;</td>
+ <td class="mdname" nowrap> <em>argv</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Copy an argv from user space to a List.
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>A list. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>argv</em>&nbsp;</td><td>Source argv, in user space. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>number of elements in <em>list</em></dd></dl>
+<b>Example:</b> <div class="fragment"><pre class="fragment"><a class="code" href="structmap__root.html">MAP</a> arglist ;
+
+<span class="keywordtype">int</span> inst_do_execve (<span class="keywordtype">char</span> * filename, <span class="keywordtype">char</span> __user *__user *argv, <span class="keywordtype">char</span> __user *__user *envp, <span class="keyword">struct</span> pt_regs * regs)
+{
+ <span class="keyword">struct </span><a class="code" href="structmap__node__str.html">map_node_str</a> *ptr;
+
+ <a class="code" href="copy_8c.html#a2">_stp_copy_argv_from_user</a> (arglist, argv);
+
+ <a class="code" href="map_8h.html#a8">foreach</a> (arglist, ptr)
+ printk ("%s ", ptr-&gt;str);
+ printk ("\n");
+}
+</pre></div>
+<p>
+Definition at line <a class="el" href="copy_8c-source.html#l00115">115</a> of file <a class="el" href="copy_8c-source.html">copy.c</a>.
+<p>
+References <a class="el" href="map_8c-source.html#l00805">_stp_list_add_str()</a>, <a class="el" href="copy_8c-source.html#l00079">_stp_strncpy_from_user()</a>, <a class="el" href="map_8h-source.html#l00084">MAP</a>, and <a class="el" href="map_8h-source.html#l00053">map_root::num</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a1" doxytag="copy.c::_stp_copy_from_user"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">unsigned long _stp_copy_from_user </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>dst</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>const char __user *&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>unsigned long&nbsp;</td>
+ <td class="mdname" nowrap> <em>count</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Copy a block of data from user space.
+<p>
+If some data could not be copied, this function will pad the copied data to the requested size using zero bytes.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>Destination address, in kernel space. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Source address, in user space. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Number of bytes to copy. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>number of bytes that could not be copied. On success, this will be zero. </dd></dl>
+
+<p>
+Definition at line <a class="el" href="copy_8c-source.html#l00100">100</a> of file <a class="el" href="copy_8c-source.html">copy.c</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a0" doxytag="copy.c::_stp_strncpy_from_user"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top">long _stp_strncpy_from_user </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>dst</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>const char __user *&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td class="md"></td>
+ <td class="md" nowrap>long&nbsp;</td>
+ <td class="mdname" nowrap> <em>count</em></td>
+ </tr>
+ <tr>
+ <td class="md"></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing="5" cellpadding="0" border="0">
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Copy a NULL-terminated string from userspace.
+<p>
+On success, returns the length of the string (not including the trailing NULL).<p>
+If access to userspace fails, returns -EFAULT (some data may have been copied). <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign="top"></td><td valign="top"><em>dst</em>&nbsp;</td><td>Destination address, in kernel space. This buffer must be at least <em>count</em> bytes long. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Source address, in user space. </td></tr>
+ <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>Maximum number of bytes to copy, including the trailing NULL.</td></tr>
+ </table>
+</dl>
+If <em>count</em> is smaller than the length of the string, copies <em>count</em> bytes and returns <em>count</em>.
+<p>
+Definition at line <a class="el" href="copy_8c-source.html#l00079">79</a> of file <a class="el" href="copy_8c-source.html">copy.c</a>.
+<p>
+Referenced by <a class="el" href="copy_8c-source.html#l00115">_stp_copy_argv_from_user()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Wed Mar 9 13:21:28 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.3.9.1 </small></address>
+</body>
+</html>