% This LaTeX file generated by cxref
% cxref program (c) Andrew M. Bishop 1995,96,97.

\markboth{File README.c}{File README.c}
\section{File README.c}
\label{file_README.c}

{\bf RCS Header: /home/amb/cxref/RCS/README.c 1.4 1997/05/26 11:23:40 amb Exp }

\smallskip

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

\subsection*{Included Files}

 A \#include comment

\smallskip
\begin{cxreftabi}
{\stt \#include <stdio.h>} &\\
\end{cxreftabi}

\medskip
 An alternative \#include comment.

\smallskip
\begin{cxreftabi}
{\stt \#include <math.h>} &\\
\end{cxreftabi}

\subsection*{Preprocessor definitions}

 A \#define comment.

\smallskip
{\stt \#define def1 1}

\medskip
 An alternative \#define comment.

\smallskip
{\stt \#define def2 2}

\medskip
  A \#define with args

\smallskip
{\stt \#define def3( arg1, arg2 )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{arg1} The first arg
\cxrefargitem{arg2} The second arg
\end{cxrefarglist}

\medskip
 An alternative \#define with args.

\smallskip
{\stt \#define def4( arg1, arg2 )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{arg1}  The first arg
\cxrefargitem{arg2}  The second arg
\end{cxrefarglist}

\subsection{Type definitions}

\subsubsection{Typedef type1}
\label{type_type1_README.c}

 An example typedef comment

\smallskip
{\stt typedef enum \{...\} type1}

\smallskip
\begin{cxreftabiia}
\hspace*{0.0in}{\stt enum} &\\
\hspace*{0.1in}{\stt \{} &\\
\hspace*{0.2in}{\stt one;} &  one value \\
\hspace*{0.2in}{\stt two;} &  another value \\
\hspace*{0.1in}{\stt \}} &\\
\end{cxreftabiia}

\subsubsection{Type union bar}
\label{type_union_bar_README.c}

 Nested structs and unions also work.

\smallskip
\smallskip
\begin{cxreftabiia}
\hspace*{0.0in}{\stt union bar} &\\
\hspace*{0.1in}{\stt \{} &\\
\hspace*{0.2in}{\stt char a;} &  Each element \\
\hspace*{0.2in}{\stt int b;} &  of a struct \\
\hspace*{0.2in}{\stt int c;} &  or a union \\
\cxreftabbreak{cxreftabiia}
\hspace*{0.2in}{\stt long d;} &  can have a comment \\
\hspace*{0.1in}{\stt \}} &\\
\end{cxreftabiia}

\subsubsection{Typedef type2}
\label{type_type2_README.c}

 Another example typedef comment,  a type that is a struct.

\smallskip
{\stt typedef struct \{...\} type2}

\smallskip
\begin{cxreftabiia}
\hspace*{0.0in}{\stt struct} &\\
\hspace*{0.1in}{\stt \{} &\\
\hspace*{0.2in}{\stt int a;} &  A variable in a struct. \\
\hspace*{0.2in}{\stt union bar} &\\
\hspace*{0.3in}{\stt \{} &\\
\hspace*{0.4in}{\stt char a;} &  Each element \\
\cxreftabbreak{cxreftabiia}
\hspace*{0.4in}{\stt int b;} &  of a struct \\
\hspace*{0.4in}{\stt int c;} &  or a union \\
\hspace*{0.4in}{\stt long d;} &  can have a comment \\
\hspace*{0.3in}{\stt \}} &\\
\hspace*{0.3in}{\stt e;} &  Nested structs and unions also work. \\
\hspace*{0.1in}{\stt \}} &\\
\end{cxreftabiia}

\subsubsection{Typedef ptype2}
\label{type_ptype2_README.c}

 Another example typedef comment,  a pointer to a struct type.

\smallskip
{\stt typedef struct \{...\}* ptype2}

\smallskip
\begin{cxreftabii}
See:& Typedef type2 & \cxreftype{type2}{README.c}\\
\end{cxreftabii}

\subsection{Variables}

\subsubsection{Variable var1}
\label{var_var1_README.c}

 A leading comment only.

\smallskip
{\stt int var1}

\smallskip
\begin{cxreftabiii}
Visible in:\ & README.c & \ & \cxreffile{README.c}\\
Used in:\ & function1() & README.c & \cxreffunc{function1}{README.c}\\
\end{cxreftabiii}

\subsubsection{Variable var2}
\label{var_var2_README.c}

 A leading comment only.

\smallskip
{\stt int var2}

\smallskip
\begin{cxreftabiii}
Visible in:\ & README.c & \ & \cxreffile{README.c}\\
\end{cxreftabiii}

\subsubsection{Variable var4}
\label{var_var4_README.c}

 A variable for  one thing.

\smallskip
{\stt int var4}

\smallskip
\begin{cxreftabiii}
Visible in:\ & README.c & \ & \cxreffile{README.c}\\
Used in:\ & function1() & README.c & \cxreffunc{function1}{README.c}\\
\end{cxreftabiii}

\subsubsection{Variable var5}
\label{var_var5_README.c}

 A variable for  a second thing.

\smallskip
{\stt int var5}

\smallskip
\begin{cxreftabiii}
Visible in:\ & README.c & \ & \cxreffile{README.c}\\
\end{cxreftabiii}

\subsubsection{Variable var6}
\label{var_var6_README.c}

 A variable for  a third thing.

\smallskip
{\stt int var6}

\smallskip
\begin{cxreftabiii}
Visible in:\ & README.c & \ & \cxreffile{README.c}\\
\end{cxreftabiii}

\subsubsection{Local Variables}

{\bf var3}
\label{var_var3_README.c}

 A trailing comment only.

\smallskip
{\stt static int var3}

\smallskip
\begin{cxreftabiii}
Used in:\ & function1() & \ & \cxreffunc{function1}{README.c}\\
\end{cxreftabiii}

\subsection{Functions}

\subsubsection{Global Function function1()}
\label{func_function1_README.c}

  A function comment (the comments for the args need to be separated by a blank line).

\smallskip
{\stt int function1 ( int arg1, int arg2 )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{int function1} The return value.
\cxrefargitem{int arg1} The first argument.
\cxrefargitem{int arg2} The second argument.
\end{cxrefarglist}

\smallskip
  Some more comments

      This comment is only visible in the \LaTeX output, and can contain \LaTeX markup.

 An internal comment in a function that appears as a
   new paragraph at the end of the comment.

\smallskip
\begin{cxreftabiii}
Calls:\ & function2() & README.c & \cxreffunc{function2}{README.c}\\
Used in:\ & function2() & README.c & \cxreffunc{function2}{README.c}\\
Refs Var:\ & var1 & README.c & \cxrefvar{var1}{README.c}\\
\cxreftabbreak{cxreftabiii}
\ & var3 & README.c & \cxrefvar{var3}{README.c}\\
\ & var4 & README.c & \cxrefvar{var4}{README.c}\\
\end{cxreftabiii}

\subsubsection{Global Function function2()}
\label{func_function2_README.c}

 An alternative function comment

\smallskip
{\stt int function2 ( int arg1, int arg2, void )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{int function2}  Returns a value
\cxrefargitem{int arg1}  The first argument.
\cxrefargitem{int arg2}  The second argument.
\cxrefargitem{void} \ 
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Called by:\ & function1() & README.c & \cxreffunc{function1}{README.c}\\
Refs Func:\ & function1() & README.c & \cxreffunc{function1}{README.c}\\
\end{cxreftabiii}

