1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>clamp_val</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux Device Drivers"><link rel="up" href="ch01s09.html" title="Kernel utility functions"><link rel="prev" href="API-clamp-t.html" title="clamp_t"><link rel="next" href="API-container-of.html" title="container_of"></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"><span class="phrase">clamp_val</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-clamp-t.html">Prev</a>&#160;</td><th width="60%" align="center">Kernel utility functions</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-container-of.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-clamp-val"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>clamp_val &#8212; 
2     return a value clamped to a given range using val's type
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef"> <b class="fsfunc">clamp_val </b>(</code></td><td> <var class="pdparam">val</var>, </td></tr><tr><td>&#160;</td><td> <var class="pdparam">lo</var>, </td></tr><tr><td>&#160;</td><td> <var class="pdparam">hi</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer">&#160;</div></div></div><div class="refsect1"><a name="idp1108404268"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>val</code></em></span></dt><dd><p>
4     current value
5    </p></dd><dt><span class="term"><em class="parameter"><code>lo</code></em></span></dt><dd><p>
6     minimum allowable value
7    </p></dd><dt><span class="term"><em class="parameter"><code>hi</code></em></span></dt><dd><p>
8     maximum allowable value
9    </p></dd></dl></div></div><div class="refsect1"><a name="idp1108407876"></a><h2>Description</h2><p>
10   This macro does no typechecking and uses temporary variables of whatever
11   type the input argument 'val' is.  This is useful when val is an unsigned
12   type and min and max are literals that will otherwise be assigned a signed
13   integer type.
14</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-clamp-t.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="ch01s09.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-container-of.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">clamp_t</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 class="phrase">container_of</span></td></tr></table></div></body></html>
15