<!DOCTYPE LINUXDOC SYSTEM>

<!-- This SGML file generated by cxref (version 1.6e+svn). -->
<!-- cxref program (c) Andrew M. Bishop 1995-2016. -->

<!--
Cxref: ../src/cxref -O. -NREADME-TMP -xref -latex -html-src -rtf -sgml README.c
CPP  : /usr/src/cxref/cxref-1.6e+667-1.x86_64/build/cpp/cxref-cpp -cxref-cpp-defines /usr/src/cxref/cxref-1.6e+667-1.x86_64/build/cpp/cxref-cpp.defines -lang-c -C -dD -dI
-->

<article>

<title>Cross reference for README.c of README-TMP.
<author>cxref

<sect>File README.c
<bf>RCS Header: /home/amb/CVS/cxref/doc/README.c,v 1.4 1997-05-26 11:23:40 amb Exp </bf>
<p>

  A comment for the file, RCS header comments are treated specially when first.
<p>

<sect1>Included Files

<p>
 A &num;include comment 
<p>
<itemize>
<item><tt>#include &lt;stdio.h&gt;</tt>
</itemize>
 An alternative &num;include comment. 
<p>
<itemize>
<item><tt>#include &lt;math.h&gt;</tt>
</itemize>

<sect1>Preprocessor definitions

<p>
 A &num;define comment. 
<p>
<tt>#define def1 1</tt><newline>
<p>
 An alternative &num;define comment. 
<p>
<tt>#define def2 2</tt><newline>
<p>
  A &num;define with args
<p>
<tt>#define def3( arg1, arg2 )</tt><newline>
<descrip>
<tag><tt>arg1</tt></tag>
The first arg
<tag><tt>arg2</tt></tag>
The second arg
</descrip>
<p>
 An alternative &num;define with args. 
<p>
<tt>#define def4( arg1, arg2 )</tt><newline>
<descrip>
<tag><tt>arg1</tt></tag>
 The first arg  
<tag><tt>arg2</tt></tag>
 The second arg 
</descrip>

<sect1>Typedef type1

<p>
 An example typedef comment 
<p>
<tt>typedef enum {...} type1</tt><newline>
<itemize>
<item><tt>enum</tt><newline>
<itemize>
<item><tt>{</tt><newline>
<item><tt>one;      </tt> one value <newline>
<item><tt>two;      </tt> another value <newline>
<item><tt>}</tt><newline>
</itemize>
</itemize>

<sect1>Type union bar

<p>
 Nested structs and unions also work. 
<p>
<itemize>
<item><tt>union bar</tt><newline>
<itemize>
<item><tt>{</tt><newline>
<item><tt>char a;      </tt> Each element <newline>
<item><tt>int b;      </tt> of a struct <newline>
<item><tt>int c;      </tt> or a union <newline>
<item><tt>long d;      </tt> can have a comment <newline>
<item><tt>}</tt><newline>
</itemize>
</itemize>

<sect1>Typedef type2

<p>
 Another example typedef comment,   a type that is a struct. 
<p>
<tt>typedef struct {...} type2</tt><newline>
<itemize>
<item><tt>struct</tt><newline>
<itemize>
<item><tt>{</tt><newline>
<item><tt>int a;      </tt> A variable in a struct. <newline>
<item><tt>union bar</tt><newline>
<itemize>
<item><tt>{</tt><newline>
<item><tt>char a;      </tt> Each element <newline>
<item><tt>int b;      </tt> of a struct <newline>
<item><tt>int c;      </tt> or a union <newline>
<item><tt>long d;      </tt> can have a comment <newline>
<item><tt>}</tt><newline>
</itemize>
<item><tt>e;      </tt> Nested structs and unions also work. <newline>
<item><tt>}</tt><newline>
</itemize>
</itemize>

<sect1>Typedef ptype2

<p>
 Another example typedef comment,   a pointer to a struct type. 
<p>
<tt>typedef struct {...}* ptype2</tt><newline>
<descrip>
<tag>See:</tag>
<itemize>
<item>Typedef type2
</itemize>
</descrip>

<sect1>Global Variable var1

<p>
 A leading comment only. 
<p>
<tt>int var1</tt><newline>
<descrip>
<tag>Visible in:</tag>
<itemize>
<item>README.c
</itemize>
<tag>Used in:</tag>
<itemize>
<item>function1()  :  README.c
</itemize>
</descrip>

<sect1>Global Variable var2

<p>
 A leading comment only. 
<p>
<tt>int var2</tt><newline>
<descrip>
<tag>Visible in:</tag>
<itemize>
<item>README.c
</itemize>
</descrip>

<sect1>Global Variable var4

<p>
 A variable for   one thing. 
<p>
<tt>int var4</tt><newline>
<descrip>
<tag>Visible in:</tag>
<itemize>
<item>README.c
</itemize>
<tag>Used in:</tag>
<itemize>
<item>function1()  :  README.c
</itemize>
</descrip>

<sect1>Global Variable var5

<p>
 A variable for   a second thing. 
<p>
<tt>int var5</tt><newline>
<descrip>
<tag>Visible in:</tag>
<itemize>
<item>README.c
</itemize>
</descrip>

<sect1>Global Variable var6

<p>
 A variable for   a third thing. 
<p>
<tt>int var6</tt><newline>
<descrip>
<tag>Visible in:</tag>
<itemize>
<item>README.c
</itemize>
</descrip>

<sect1>Local Variables

<p>
<bf>var3</bf><newline>
 A trailing comment only. 
<p>
<tt>static int var3</tt><newline>
<descrip>
<tag>Used in:</tag>
<itemize>
<item>function1()
</itemize>
</descrip>

<sect1>Global Function function1()

<p>  A function comment (the comments for the args need to be separated by a blank line).
<p>
<tt>int function1 ( int arg1, int arg2 )</tt><newline>
<descrip>
<tag><tt>int function1</tt></tag>
The return value.
<tag><tt>int arg1</tt></tag>
The first argument.
<tag><tt>int arg2</tt></tag>
The second argument.
</descrip>
  Some more comments
<newline>
<newline>
 An internal comment in a function that appears as a
   new paragraph at the end of the comment. 
<p>
<descrip>
<tag>Calls:</tag>
<itemize>
<item>function2()  :  README.c
</itemize>
<tag>Used in:</tag>
<itemize>
<item>function2()  :  README.c
</itemize>
<tag>References Variables:</tag>
<itemize>
<item>var1  :  README.c
<item>var3  :  README.c
<item>var4  :  README.c
</itemize>
</descrip>

<sect1>Global Function function2()

<p> An alternative function comment 
<p>
<tt>int function2 ( int arg1, int arg2, void )</tt><newline>
<descrip>
<tag><tt>int function2</tt></tag>
 Returns a value 
<tag><tt>int arg1</tt></tag>
 The first argument.  
<tag><tt>int arg2</tt></tag>
 The second argument. 
<tag><tt>void</tt></tag>
&nbsp;
</descrip>
<descrip>
<tag>Called by:</tag>
<itemize>
<item>function1()  :  README.c
</itemize>
<tag>References Functions:</tag>
<itemize>
<item>function1()  :  README.c
</itemize>
</descrip>

</article>
