Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 87b89b73c41f4440bb86afd421c7548f > files > 149

libnl-devel-1.1-14.fc14.x86_64.rpm

<!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/xhtml;charset=UTF-8"/>
<title>libnl: Network Emulator</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">libnl&#160;<span id="projectnumber">1.1</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="headertitle">
<h1>Network Emulator</h1>  </div>
<div class="ingroups"><a class="el" href="group__qdisc__api.html">Queueing Discipline Modules</a></div></div>
<div class="contents">

<p>For further documentation see <a href="http://linux-net.osdl.org/index.php/Netem.">http://linux-net.osdl.org/index.php/Netem.</a>  
</p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="member-group"></a>
Queue Limit</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga661a9707b888023513f07db6a0fd5bf7">rtnl_netem_set_limit</a> (struct rtnl_qdisc *qdisc, int limit)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set limit of netem qdisc.  <a href="#ga661a9707b888023513f07db6a0fd5bf7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#gaefded0a1f384695bc8b8ce70b08a505f">rtnl_netem_get_limit</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get limit of netem qdisc.  <a href="#gaefded0a1f384695bc8b8ce70b08a505f"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Packet Re-ordering</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga9e3ab40a6fca431e0d9915f82472bb66">rtnl_netem_set_gap</a> (struct rtnl_qdisc *qdisc, int gap)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set re-ordering gap of netem qdisc.  <a href="#ga9e3ab40a6fca431e0d9915f82472bb66"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga4d3c60b52ec13050cf0698d92a3d5ca4">rtnl_netem_get_gap</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get re-ordering gap of netem qdisc.  <a href="#ga4d3c60b52ec13050cf0698d92a3d5ca4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga5933843717b0486f59021fb82fffb27a">rtnl_netem_set_reorder_probability</a> (struct rtnl_qdisc *qdisc, int prob)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set re-ordering probability of netem qdisc.  <a href="#ga5933843717b0486f59021fb82fffb27a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga54b9940f1f887cb4cf517e1f0c7e3601">rtnl_netem_get_reorder_probability</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get re-ordering probability of netem qdisc.  <a href="#ga54b9940f1f887cb4cf517e1f0c7e3601"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#gad0a51881b905fbb11f3f90003e04035e">rtnl_netem_set_reorder_correlation</a> (struct rtnl_qdisc *qdisc, int prob)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set re-order correlation probability of netem qdisc.  <a href="#gad0a51881b905fbb11f3f90003e04035e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga26a960a5d53a88690706d352dcb68057">rtnl_netem_get_reorder_correlation</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get re-ordering correlation probability of netem qdisc.  <a href="#ga26a960a5d53a88690706d352dcb68057"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Packet Loss</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#gae397012613cf0d61703f0349c0f23ca9">rtnl_netem_set_loss</a> (struct rtnl_qdisc *qdisc, int prob)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set packet loss probability of netem qdisc.  <a href="#gae397012613cf0d61703f0349c0f23ca9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga31f2e9081c0f91ea5464db3ab389bd2e">rtnl_netem_get_loss</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get packet loss probability of netem qdisc.  <a href="#ga31f2e9081c0f91ea5464db3ab389bd2e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga9ebe5aab8daa744c18899078e614ff87">rtnl_netem_set_loss_correlation</a> (struct rtnl_qdisc *qdisc, int prob)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set packet loss correlation probability of netem qdisc.  <a href="#ga9ebe5aab8daa744c18899078e614ff87"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#gad726d79cd1e5b06c7c0bd7b0c5bd9a44">rtnl_netem_get_loss_correlation</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get packet loss correlation probability of netem qdisc.  <a href="#gad726d79cd1e5b06c7c0bd7b0c5bd9a44"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Packet Duplication</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga469d0a474df3163ae97fad39e1b5f52c">rtnl_netem_set_duplicate</a> (struct rtnl_qdisc *qdisc, int prob)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set packet duplication probability of netem qdisc.  <a href="#ga469d0a474df3163ae97fad39e1b5f52c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga0f3970c78197aa3984342aaf4b4fbf9b">rtnl_netem_get_duplicate</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get packet duplication probability of netem qdisc.  <a href="#ga0f3970c78197aa3984342aaf4b4fbf9b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga3a4a49f2b67e53dd0e73ac883e48ec55">rtnl_netem_set_duplicate_correlation</a> (struct rtnl_qdisc *qdisc, int prob)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set packet duplication correlation probability of netem qdisc.  <a href="#ga3a4a49f2b67e53dd0e73ac883e48ec55"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga554f2e5f78287c98e301becaf32d9ddc">rtnl_netem_get_duplicate_correlation</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get packet duplication correlation probability of netem qdisc.  <a href="#ga554f2e5f78287c98e301becaf32d9ddc"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="member-group"></a>
Packet Delay</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga45001d74ea8f2904abeb927c8910dc34">rtnl_netem_set_delay</a> (struct rtnl_qdisc *qdisc, int delay)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set packet delay of netem qdisc.  <a href="#ga45001d74ea8f2904abeb927c8910dc34"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga88539d1c7297f6fcc8de7819c4eb9741">rtnl_netem_get_delay</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get packet delay of netem qdisc.  <a href="#ga88539d1c7297f6fcc8de7819c4eb9741"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga3505b795cf9d9f0ac9a2aaccab6d25f9">rtnl_netem_set_jitter</a> (struct rtnl_qdisc *qdisc, int jitter)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set packet delay jitter of netem qdisc.  <a href="#ga3505b795cf9d9f0ac9a2aaccab6d25f9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga7fed1f919d6e6a0169197a0ba085d56a">rtnl_netem_get_jitter</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get packet delay jitter of netem qdisc.  <a href="#ga7fed1f919d6e6a0169197a0ba085d56a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga63860affc4dfdfad81c579df17da38bb">rtnl_netem_set_delay_correlation</a> (struct rtnl_qdisc *qdisc, int prob)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set packet delay correlation probability of netem qdisc.  <a href="#ga63860affc4dfdfad81c579df17da38bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__netem.html#ga315136c03e8a4d1bc64d80a885057734">rtnl_netem_get_delay_correlation</a> (struct rtnl_qdisc *qdisc)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get packet delay correlation probability of netem qdisc.  <a href="#ga315136c03e8a4d1bc64d80a885057734"></a><br/></td></tr>
</table>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="ga661a9707b888023513f07db6a0fd5bf7"></a><!-- doxytag: member="netem.c::rtnl_netem_set_limit" ref="ga661a9707b888023513f07db6a0fd5bf7" args="(struct rtnl_qdisc *qdisc, int limit)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_limit </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>limit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">limit</td><td>New limit in bytes. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00165">165</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);
        
        netem-&gt;qnm_limit = limit;
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_LIMIT;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="gaefded0a1f384695bc8b8ce70b08a505f"></a><!-- doxytag: member="netem.c::rtnl_netem_get_limit" ref="gaefded0a1f384695bc8b8ce70b08a505f" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_limit </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Limit in bytes or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00184">184</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_LIMIT))
                <span class="keywordflow">return</span> netem-&gt;qnm_limit;
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga9e3ab40a6fca431e0d9915f82472bb66"></a><!-- doxytag: member="netem.c::rtnl_netem_set_gap" ref="ga9e3ab40a6fca431e0d9915f82472bb66" args="(struct rtnl_qdisc *qdisc, int gap)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_gap </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>gap</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">gap</td><td>New gap in number of packets. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00208">208</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);

        netem-&gt;qnm_gap = gap;
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_GAP;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga4d3c60b52ec13050cf0698d92a3d5ca4"></a><!-- doxytag: member="netem.c::rtnl_netem_get_gap" ref="ga4d3c60b52ec13050cf0698d92a3d5ca4" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_gap </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Re-ordering gap in packets or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00227">227</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_GAP))
                <span class="keywordflow">return</span> netem-&gt;qnm_gap;
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga5933843717b0486f59021fb82fffb27a"></a><!-- doxytag: member="netem.c::rtnl_netem_set_reorder_probability" ref="ga5933843717b0486f59021fb82fffb27a" args="(struct rtnl_qdisc *qdisc, int prob)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_reorder_probability </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>prob</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">prob</td><td>New re-ordering probability. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00244">244</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);

        netem-&gt;qnm_ro.nmro_probability = prob;
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_RO_PROB;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga54b9940f1f887cb4cf517e1f0c7e3601"></a><!-- doxytag: member="netem.c::rtnl_netem_get_reorder_probability" ref="ga54b9940f1f887cb4cf517e1f0c7e3601" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_reorder_probability </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Re-ordering probability or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00263">263</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_RO_PROB))
                <span class="keywordflow">return</span> netem-&gt;qnm_ro.nmro_probability;
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
<a class="anchor" id="gad0a51881b905fbb11f3f90003e04035e"></a><!-- doxytag: member="netem.c::rtnl_netem_set_reorder_correlation" ref="gad0a51881b905fbb11f3f90003e04035e" args="(struct rtnl_qdisc *qdisc, int prob)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_reorder_correlation </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>prob</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">prob</td><td>New re-ordering correlation probability. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00280">280</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);

        netem-&gt;qnm_ro.nmro_correlation = prob;
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_RO_CORR;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga26a960a5d53a88690706d352dcb68057"></a><!-- doxytag: member="netem.c::rtnl_netem_get_reorder_correlation" ref="ga26a960a5d53a88690706d352dcb68057" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_reorder_correlation </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Re-ordering correlation probability or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00299">299</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_RO_CORR))
                <span class="keywordflow">return</span> netem-&gt;qnm_ro.nmro_correlation;
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
<a class="anchor" id="gae397012613cf0d61703f0349c0f23ca9"></a><!-- doxytag: member="netem.c::rtnl_netem_set_loss" ref="gae397012613cf0d61703f0349c0f23ca9" args="(struct rtnl_qdisc *qdisc, int prob)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_loss </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>prob</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">prob</td><td>New packet loss probability. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00323">323</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);

        netem-&gt;qnm_loss = prob;
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_LOSS;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga31f2e9081c0f91ea5464db3ab389bd2e"></a><!-- doxytag: member="netem.c::rtnl_netem_get_loss" ref="ga31f2e9081c0f91ea5464db3ab389bd2e" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_loss </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Packet loss probability or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00342">342</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_LOSS))
                <span class="keywordflow">return</span> netem-&gt;qnm_loss;
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga9ebe5aab8daa744c18899078e614ff87"></a><!-- doxytag: member="netem.c::rtnl_netem_set_loss_correlation" ref="ga9ebe5aab8daa744c18899078e614ff87" args="(struct rtnl_qdisc *qdisc, int prob)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_loss_correlation </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>prob</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">prob</td><td>New packet loss correlation. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00359">359</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);

        netem-&gt;qnm_corr.nmc_loss = prob;
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_LOSS_CORR;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="gad726d79cd1e5b06c7c0bd7b0c5bd9a44"></a><!-- doxytag: member="netem.c::rtnl_netem_get_loss_correlation" ref="gad726d79cd1e5b06c7c0bd7b0c5bd9a44" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_loss_correlation </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Packet loss correlation probability or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00378">378</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_LOSS_CORR))
                <span class="keywordflow">return</span> netem-&gt;qnm_corr.nmc_loss;
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga469d0a474df3163ae97fad39e1b5f52c"></a><!-- doxytag: member="netem.c::rtnl_netem_set_duplicate" ref="ga469d0a474df3163ae97fad39e1b5f52c" args="(struct rtnl_qdisc *qdisc, int prob)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_duplicate </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>prob</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">prob</td><td>New packet duplication probability. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00402">402</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);

        netem-&gt;qnm_duplicate = prob;
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_DUPLICATE;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga0f3970c78197aa3984342aaf4b4fbf9b"></a><!-- doxytag: member="netem.c::rtnl_netem_get_duplicate" ref="ga0f3970c78197aa3984342aaf4b4fbf9b" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_duplicate </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Packet duplication probability or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00421">421</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_DUPLICATE))
                <span class="keywordflow">return</span> netem-&gt;qnm_duplicate;
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga3a4a49f2b67e53dd0e73ac883e48ec55"></a><!-- doxytag: member="netem.c::rtnl_netem_set_duplicate_correlation" ref="ga3a4a49f2b67e53dd0e73ac883e48ec55" args="(struct rtnl_qdisc *qdisc, int prob)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_duplicate_correlation </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>prob</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">prob</td><td>New packet duplication correlation probability. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on sucess or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00438">438</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);

        netem-&gt;qnm_corr.nmc_duplicate = prob;
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_DUP_CORR;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga554f2e5f78287c98e301becaf32d9ddc"></a><!-- doxytag: member="netem.c::rtnl_netem_get_duplicate_correlation" ref="ga554f2e5f78287c98e301becaf32d9ddc" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_duplicate_correlation </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Packet duplication correlation probability or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00457">457</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_DUP_CORR))
                <span class="keywordflow">return</span> netem-&gt;qnm_corr.nmc_duplicate;
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga45001d74ea8f2904abeb927c8910dc34"></a><!-- doxytag: member="netem.c::rtnl_netem_set_delay" ref="ga45001d74ea8f2904abeb927c8910dc34" args="(struct rtnl_qdisc *qdisc, int delay)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_delay </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>delay</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">delay</td><td>New packet delay in micro seconds. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00481">481</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>

<p>References <a class="el" href="utils_8c_source.html#l00429">nl_us2ticks()</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);

        netem-&gt;qnm_latency = <a class="code" href="group__utils.html#gaf630014f3b23909759921b8ef9f85d3e" title="Convert micro seconds to ticks.">nl_us2ticks</a>(delay);
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_LATENCY;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga88539d1c7297f6fcc8de7819c4eb9741"></a><!-- doxytag: member="netem.c::rtnl_netem_get_delay" ref="ga88539d1c7297f6fcc8de7819c4eb9741" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_delay </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Packet delay in micro seconds or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00500">500</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>

<p>References <a class="el" href="utils_8c_source.html#l00440">nl_ticks2us()</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_LATENCY))
                <span class="keywordflow">return</span> <a class="code" href="group__utils.html#gade35baf670a48177d9469905159089e7" title="Convert ticks to micro seconds.">nl_ticks2us</a>(netem-&gt;qnm_latency);
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga3505b795cf9d9f0ac9a2aaccab6d25f9"></a><!-- doxytag: member="netem.c::rtnl_netem_set_jitter" ref="ga3505b795cf9d9f0ac9a2aaccab6d25f9" args="(struct rtnl_qdisc *qdisc, int jitter)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_jitter </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>jitter</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">jitter</td><td>New packet delay jitter in micro seconds. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00517">517</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>

<p>References <a class="el" href="utils_8c_source.html#l00429">nl_us2ticks()</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);

        netem-&gt;qnm_jitter = <a class="code" href="group__utils.html#gaf630014f3b23909759921b8ef9f85d3e" title="Convert micro seconds to ticks.">nl_us2ticks</a>(jitter);
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_JITTER;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga7fed1f919d6e6a0169197a0ba085d56a"></a><!-- doxytag: member="netem.c::rtnl_netem_get_jitter" ref="ga7fed1f919d6e6a0169197a0ba085d56a" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_jitter </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Packet delay jitter in micro seconds or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00536">536</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>

<p>References <a class="el" href="utils_8c_source.html#l00440">nl_ticks2us()</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_JITTER))
                <span class="keywordflow">return</span> <a class="code" href="group__utils.html#gade35baf670a48177d9469905159089e7" title="Convert ticks to micro seconds.">nl_ticks2us</a>(netem-&gt;qnm_jitter);
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga63860affc4dfdfad81c579df17da38bb"></a><!-- doxytag: member="netem.c::rtnl_netem_set_delay_correlation" ref="ga63860affc4dfdfad81c579df17da38bb" args="(struct rtnl_qdisc *qdisc, int prob)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_set_delay_correlation </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>prob</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc to be modified. </td></tr>
    <tr><td class="paramname">prob</td><td>New packet delay correlation probability. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00552">552</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_alloc(qdisc);
        <span class="keywordflow">if</span> (!netem)
                <span class="keywordflow">return</span> nl_errno(ENOMEM);

        netem-&gt;qnm_corr.nmc_delay = prob;
        netem-&gt;qnm_mask |= SCH_NETEM_ATTR_DELAY_CORR;

        <span class="keywordflow">return</span> 0;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ga315136c03e8a4d1bc64d80a885057734"></a><!-- doxytag: member="netem.c::rtnl_netem_get_delay_correlation" ref="ga315136c03e8a4d1bc64d80a885057734" args="(struct rtnl_qdisc *qdisc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int rtnl_netem_get_delay_correlation </td>
          <td>(</td>
          <td class="paramtype">struct rtnl_qdisc *&#160;</td>
          <td class="paramname"><em>qdisc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">qdisc</td><td>Netem qdisc. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Packet delay correlation probability or a negative error code. </dd></dl>

<p>Definition at line <a class="el" href="netem_8c_source.html#l00571">571</a> of file <a class="el" href="netem_8c_source.html">netem.c</a>.</p>
<div class="fragment"><pre class="fragment">{
        <span class="keyword">struct </span>rtnl_netem *netem;

        netem = netem_qdisc(qdisc);
        <span class="keywordflow">if</span> (netem &amp;&amp; (netem-&gt;qnm_mask &amp; SCH_NETEM_ATTR_DELAY_CORR))
                <span class="keywordflow">return</span> netem-&gt;qnm_corr.nmc_delay;
        <span class="keywordflow">else</span>
                <span class="keywordflow">return</span> nl_errno(ENOENT);
}
</pre></div>
</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Mon Mar 21 2011 for libnl by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address>
</body>
</html>