<refentry id="paramdef.element">
<?dbhtml filename="paramdef.html"?>
<refentryinfo>
<pubdate>$Date$</pubdate>
<releaseinfo>$Revision$</releaseinfo>
</refentryinfo>

<refmeta>
<indexterm><primary>elements</primary>
<secondary>paramdef</secondary></indexterm>
<refentrytitle>paramdef</refentrytitle>
<refmiscinfo>Element</refmiscinfo>
</refmeta>
<refnamediv>
<refname>paramdef</refname>
<refpurpose>&paramdef.purpose;</refpurpose>
</refnamediv>

&paramdef.synopsis.gen;
<refsect1 condition='ref.description'><title>Description</title>

<para>
In the syntax summary for a function in a programming language,
<sgmltag>ParamDef</sgmltag> provides the description of a parameter to the
function.  Typically, this includes the data type of the parameter
and its name.  For parameters that are pointers to functions, it also
includes a summary of the nested parameters.
</para>

<para>
Within the <sgmltag>ParamDef</sgmltag>, the parameter name is identified with 
<sgmltag>Parameter</sgmltag>, and the rest of the content is assumed to be the
data type.
</para>

<para>
In the following definition, <parameter>str</parameter> is the name of the 
parameter and <type>char *</type> is its type:
<screen>
<![CDATA[
<paramdef>char *<parameter>str</parameter></paramdef>
]]>
</screen>
</para>

<para>
Sometimes a data type requires punctuation on both sides of the
parameter.  For example, the <parameter>a</parameter> parameter in this
definition is an array of 
<type>char *</type>:
<screen>
<![CDATA[
<paramdef>char *<parameter>a</parameter>[]</paramdef>
]]>
</screen>
</para>

<refsect2><title>Processing expectations</title>
<para>
&format.inline; For a complete description of the processing expectations,
see <sgmltag>FuncSynopsis</sgmltag>.
</para>
</refsect2>



&paramdef.parents.gen;
&paramdef.children.gen;
</refsect1>
<refsect1 condition='ref.elem.seealso'><title>See Also</title>
&paramdef.seealso.gen;
</refsect1>
<refsect1><title>Examples</title>

<informalexample role="example-source">
<programlisting>&paramdef.example.1.txt;</programlisting>
</informalexample>

<anchor id="ex.os.paramdef.1" role="HACK-ex.out.start"/>
&paramdef.example.1.gen;
<anchor id="ex.oe.paramdef.1" role="HACK-ex.out.end"/>

&paramdef.example.seealso.gen;
</refsect1>
</refentry>

