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

\markboth{File html.c}{File html.c}
\section{File html.c}
\label{file_html.c}

{\bf RCS Header: /home/amb/cxref/RCS/html.c 1.27 1999/01/28 19:19:36 amb Exp }

\smallskip

  C Cross Referencing \& Documentation tool. Version 1.5.

  Writes the HTML output.


\subsection*{Included Files}

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

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

\medskip
\begin{cxreftabi}
{\stt \#include <string.h>} &\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include <sys/types.h>} &\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include <sys/stat.h>} &\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include <unistd.h>} &\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include "memory.h"} &\cxreffile{memory.h}\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include "datatype.h"} &\cxreffile{datatype.h}\\
\end{cxreftabi}

\medskip
\begin{cxreftabi}
{\stt \#include "cxref.h"} &\cxreffile{cxref.h}\\
\hspace*{0.2in}{\stt \#include "datatype.h"} &\cxreffile{datatype.h}\\
\end{cxreftabi}


\subsection*{Preprocessor definitions}

 The file extension to use for the output files. 

\smallskip
{\stt \#define HTML\_FILE ".html"}

\medskip
{\stt \#define HTML\_FILE\_BACKUP ".html$\sim$"}

\medskip
 The file extension to use for the output source files. 

\smallskip
{\stt \#define HTML\_SRC\_FILE ".src.html"}

\medskip
 The name of the output tex file that contains the appendix. 

\smallskip
{\stt \#define HTML\_APDX ".apdx"}

\medskip
 A macro to determine the HTML version we should produce. 

\smallskip
{\stt \#define HTML20}

\medskip
{\stt \#define HTML32}

\medskip
{\stt \#define HTMLSRC}


\subsection{Variables}


\subsubsection{External Variables}

{\bf option\_verbatim\_comments}
\label{var_option_verbatim_comments_html.c}

 The comments are to be inserted verbatim. 

\smallskip
{\stt extern int option\_verbatim\_comments}

\smallskip
\begin{cxreftabiii}
Defined in:& cxref.c & \ & \cxrefvar{option_verbatim_comments}{cxref.c}\\
\end{cxreftabiii}

\medskip
{\bf option\_html}
\label{var_option_html_html.c}

 The type of HTML output to produce. 

\smallskip
{\stt extern int option\_html}

\smallskip
\begin{cxreftabiii}
Defined in:& cxref.c & \ & \cxrefvar{option_html}{cxref.c}\\
\end{cxreftabiii}

\medskip
{\bf option\_odir}
\label{var_option_odir_html.c}

 The name of the directory for the output. 

\smallskip
{\stt extern char* option\_odir}

\smallskip
\begin{cxreftabiii}
Defined in:& cxref.c & \ & \cxrefvar{option_odir}{cxref.c}\\
\end{cxreftabiii}

\medskip
{\bf option\_name}
\label{var_option_name_html.c}

 The base name of the file for the output. 

\smallskip
{\stt extern char* option\_name}

\smallskip
\begin{cxreftabiii}
Defined in:& cxref.c & \ & \cxrefvar{option_name}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Variables}

{\bf goback}
\label{var_goback_html.c}

 The directories to go back to get to the base output directory. 

\smallskip
{\stt static char* goback}

\smallskip
\begin{cxreftabiii}
Used in:\ & WriteHTMLFile() & \ & \cxreffunc{WriteHTMLFile}{html.c}\\
\ & WriteHTMLFilePart() & \ & \cxreffunc{WriteHTMLFilePart}{html.c}\\
\ & WriteHTMLFunction() & \ & \cxreffunc{WriteHTMLFunction}{html.c}\\
\ & WriteHTMLInclude() & \ & \cxreffunc{WriteHTMLInclude}{html.c}\\
\ & WriteHTMLSubInclude() & \ & \cxreffunc{WriteHTMLSubInclude}{html.c}\\
\ & WriteHTMLVariable() & \ & \cxreffunc{WriteHTMLVariable}{html.c}\\
\end{cxreftabiii}

\medskip
{\bf of}
\label{var_of_html.c}

 The output file for the HTML. 

\smallskip
{\stt static FILE* of}

\smallskip
\begin{cxreftabiii}
Used in:\ & WriteHTMLAppendix() & \ & \cxreffunc{WriteHTMLAppendix}{html.c}\\
\ & WriteHTMLDefine() & \ & \cxreffunc{WriteHTMLDefine}{html.c}\\
\ & WriteHTMLFile() & \ & \cxreffunc{WriteHTMLFile}{html.c}\\
\ & WriteHTMLFilePart() & \ & \cxreffunc{WriteHTMLFilePart}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & WriteHTMLFunction() & \ & \cxreffunc{WriteHTMLFunction}{html.c}\\
\ & WriteHTMLInclude() & \ & \cxreffunc{WriteHTMLInclude}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & WriteHTMLStructUnion() & \ & \cxreffunc{WriteHTMLStructUnion}{html.c}\\
\ & WriteHTMLSubInclude() & \ & \cxreffunc{WriteHTMLSubInclude}{html.c}\\
\ & WriteHTMLTypedef() & \ & \cxreffunc{WriteHTMLTypedef}{html.c}\\
\ & WriteHTMLVariable() & \ & \cxreffunc{WriteHTMLVariable}{html.c}\\
\end{cxreftabiii}

\medskip
{\bf filename}
\label{var_filename_html.c}

 The name of the file. 

\smallskip
{\stt static char* filename}

\smallskip
\begin{cxreftabiii}
Used in:\ & WriteHTMLDefine() & \ & \cxreffunc{WriteHTMLDefine}{html.c}\\
\ & WriteHTMLFile() & \ & \cxreffunc{WriteHTMLFile}{html.c}\\
\ & WriteHTMLFunction() & \ & \cxreffunc{WriteHTMLFunction}{html.c}\\
\ & WriteHTMLTypedef() & \ & \cxreffunc{WriteHTMLTypedef}{html.c}\\
\ & WriteHTMLVariable() & \ & \cxreffunc{WriteHTMLVariable}{html.c}\\
\end{cxreftabiii}


\subsection{Functions}


\subsubsection{Global Function WriteHTMLAppendix()}
\label{func_WriteHTMLAppendix_html.c}

  Write out the appendix information.

\smallskip
{\stt void WriteHTMLAppendix ( StringList files, StringList2 funcs, StringList2 vars, StringList2 types )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{StringList files} The list of files to write.
\cxrefargitem{StringList2 funcs} The list of functions to write.
\cxrefargitem{StringList2 vars} The list of variables to write.
\cxrefargitem{StringList2 types} The list of types to write.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& cxref.h & \ & \cxreffile{cxref.h}\\
Calls:\ & ConcatStrings() & memory.c & \cxreffunc{ConcatStrings}{memory.c}\\
\ & WriteHTMLDocument() & html.c & \cxreffunc{WriteHTMLDocument}{html.c}\\
\ & WriteHTMLPostamble() & html.c & \cxreffunc{WriteHTMLPostamble}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & WriteHTMLPreamble() & html.c & \cxreffunc{WriteHTMLPreamble}{html.c}\\
\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ exit(), fclose(), fopen(), fprintf(), strncmp()} &\\
Called by:\ & main() & cxref.c & \cxreffunc{main}{cxref.c}\\
Refs Var:\ & of & html.c & \cxrefvar{of}{html.c}\\
\ & option\_name & cxref.c & \cxrefvar{option_name}{cxref.c}\\
\ & option\_odir & cxref.c & \cxrefvar{option_odir}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Global Function WriteHTMLFile()}
\label{func_WriteHTMLFile_html.c}

  Write an html file for a complete File structure and all components.

\smallskip
{\stt void WriteHTMLFile ( File file )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{File file} The File structure to output.
\end{cxrefarglist}

\smallskip
 The file structure is broken into its components and they are each written out. 

\smallskip
\begin{cxreftabiii}
Prototype:& cxref.h & \ & \cxreffile{cxref.h}\\
Calls:\ & ConcatStrings() & memory.c & \cxreffunc{ConcatStrings}{memory.c}\\
\ & WriteHTMLDefine() & html.c & \cxreffunc{WriteHTMLDefine}{html.c}\\
\ & WriteHTMLDocument() & html.c & \cxreffunc{WriteHTMLDocument}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & WriteHTMLFilePart() & html.c & \cxreffunc{WriteHTMLFilePart}{html.c}\\
\ & WriteHTMLFunction() & html.c & \cxreffunc{WriteHTMLFunction}{html.c}\\
\ & WriteHTMLInclude() & html.c & \cxreffunc{WriteHTMLInclude}{html.c}\\
\ & WriteHTMLPostamble() & html.c & \cxreffunc{WriteHTMLPostamble}{html.c}\\
\ & WriteHTMLPreamble() & html.c & \cxreffunc{WriteHTMLPreamble}{html.c}\\
\ & WriteHTMLSource() & html.c & \cxreffunc{WriteHTMLSource}{html.c}\\
\ & WriteHTMLTypedef() & html.c & \cxreffunc{WriteHTMLTypedef}{html.c}\\
\ & WriteHTMLVariable() & html.c & \cxreffunc{WriteHTMLVariable}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ exit(), fclose(), fopen(), fprintf(), mkdir(), stat(), strlen()} &\\
Called by:\ & main() & cxref.c & \cxreffunc{main}{cxref.c}\\
Refs Var:\ & filename & html.c & \cxrefvar{filename}{html.c}\\
\ & goback & html.c & \cxrefvar{goback}{html.c}\\
\ & of & html.c & \cxrefvar{of}{html.c}\\
\ & option\_html & cxref.c & \cxrefvar{option_html}{cxref.c}\\
\ & option\_name & cxref.c & \cxrefvar{option_name}{cxref.c}\\
\ & option\_odir & cxref.c & \cxrefvar{option_odir}{cxref.c}\\
\cxreftabbreak{cxreftabiii}
\end{cxreftabiii}


\subsubsection{Global Function WriteHTMLFileDelete()}
\label{func_WriteHTMLFileDelete_html.c}

  Delete the HTML file and main file reference that belong to the named file.

\smallskip
{\stt void WriteHTMLFileDelete ( char* name )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{char* name} The name of the file to delete.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& cxref.h & \ & \cxreffile{cxref.h}\\
Calls:\ & ConcatStrings() & memory.c & \cxreffunc{ConcatStrings}{memory.c}\\
\ & \cxreftabiiispan{ fclose(), fgets(), fopen(), fprintf(), fputs(), rename(), strcmp(), strlen(), strncmp(), unlink()} &\\
Called by:\ & main() & cxref.c & \cxreffunc{main}{cxref.c}\\
Refs Var:\ & option\_name & cxref.c & \cxrefvar{option_name}{cxref.c}\\
\cxreftabbreak{cxreftabiii}
\ & option\_odir & cxref.c & \cxrefvar{option_odir}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Global Function WriteHTMLSource()}
\label{func_WriteHTMLSource_html.c}

  Write out the source file.

\smallskip
{\stt void WriteHTMLSource ( char* name )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{char* name} The name of the source file.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & ConcatStrings() & memory.c & \cxreffunc{ConcatStrings}{memory.c}\\
\ & WriteHTMLPostamble() & html.c & \cxreffunc{WriteHTMLPostamble}{html.c}\\
\ & WriteHTMLPreamble() & html.c & \cxreffunc{WriteHTMLPreamble}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ exit(), fclose(), fgets(), fopen(), fprintf(), fputs(), strcpy()} &\\
Called by:\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
Refs Var:\ & option\_odir & cxref.c & \cxrefvar{option_odir}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLDefine()}
\label{func_WriteHTMLDefine_html.c}

  Write a Define structure out.

\smallskip
{\stt static void WriteHTMLDefine ( Define def )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{Define def} The Define structure to output.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ fprintf()} &\\
Called by:\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
Refs Var:\ & filename & html.c & \cxrefvar{filename}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & of & html.c & \cxrefvar{of}{html.c}\\
\ & option\_html & cxref.c & \cxrefvar{option_html}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLDocument()}
\label{func_WriteHTMLDocument_html.c}

  Write out a file that will include the current information.

\smallskip
{\stt static void WriteHTMLDocument ( char* name, int appendix )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{char* name} The name of the file.
\cxrefargitem{int appendix} set to non-zero if the appendix file is to be added, else a normal source file.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & ConcatStrings() & memory.c & \cxreffunc{ConcatStrings}{memory.c}\\
\ & WriteHTMLPostamble() & html.c & \cxreffunc{WriteHTMLPostamble}{html.c}\\
\ & WriteHTMLPreamble() & html.c & \cxreffunc{WriteHTMLPreamble}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & \cxreftabiiispan{ exit(), fclose(), fgets(), fopen(), fprintf(), fputs(), rename(), strcmp(), strlen(), strncmp(), unlink()} &\\
Called by:\ & WriteHTMLAppendix() & html.c & \cxreffunc{WriteHTMLAppendix}{html.c}\\
\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
Refs Var:\ & option\_name & cxref.c & \cxrefvar{option_name}{cxref.c}\\
\ & option\_odir & cxref.c & \cxrefvar{option_odir}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLFilePart()}
\label{func_WriteHTMLFilePart_html.c}

  Write a File structure out.

\smallskip
{\stt static void WriteHTMLFilePart ( File file )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{File file} The File to output.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ fprintf(), strstr()} &\\
Called by:\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
Refs Var:\ & goback & html.c & \cxrefvar{goback}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & of & html.c & \cxrefvar{of}{html.c}\\
\ & option\_html & cxref.c & \cxrefvar{option_html}{cxref.c}\\
\ & option\_verbatim\_comments & cxref.c & \cxrefvar{option_verbatim_comments}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLFunction()}
\label{func_WriteHTMLFunction_html.c}

  Write a Function structure out.

\smallskip
{\stt static void WriteHTMLFunction ( Function func )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{Function func} The Function structure to output.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ fprintf(), strcmp(), strncmp(), strstr()} &\\
Called by:\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
Refs Var:\ & filename & html.c & \cxrefvar{filename}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & goback & html.c & \cxrefvar{goback}{html.c}\\
\ & of & html.c & \cxrefvar{of}{html.c}\\
\ & option\_html & cxref.c & \cxrefvar{option_html}{cxref.c}\\
\ & option\_verbatim\_comments & cxref.c & \cxrefvar{option_verbatim_comments}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLInclude()}
\label{func_WriteHTMLInclude_html.c}

  Write an Include structure out.

\smallskip
{\stt static void WriteHTMLInclude ( Include inc )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{Include inc} The Include structure to output.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & WriteHTMLSubInclude() & html.c & \cxreffunc{WriteHTMLSubInclude}{html.c}\\
\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ fprintf()} &\\
Called by:\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
\cxreftabbreak{cxreftabiii}
Refs Var:\ & goback & html.c & \cxrefvar{goback}{html.c}\\
\ & of & html.c & \cxrefvar{of}{html.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLPostamble()}
\label{func_WriteHTMLPostamble_html.c}

  Write out a standard post-amble. This includes the end of document marker.

\smallskip
{\stt static void WriteHTMLPostamble ( FILE* f, int sourcefile )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{FILE* f} The file to write the post amble to.
\cxrefargitem{int sourcefile} True if the Source-Files line is to be included.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & \cxreftabiiispan{ fputs()} &\\
Called by:\ & WriteHTMLAppendix() & html.c & \cxreffunc{WriteHTMLAppendix}{html.c}\\
\ & WriteHTMLDocument() & html.c & \cxreffunc{WriteHTMLDocument}{html.c}\\
\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & WriteHTMLSource() & html.c & \cxreffunc{WriteHTMLSource}{html.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLPreamble()}
\label{func_WriteHTMLPreamble_html.c}

  Write out a standard pre-amble.

\smallskip
{\stt static void WriteHTMLPreamble ( FILE* f, char* title, int sourcefile )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{FILE* f} The file to write the pre amble to.
\cxrefargitem{char* title} The title of the file.
\cxrefargitem{int sourcefile} True if the Source-Files line is to be included.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & \cxreftabiiispan{ fputs()} &\\
Called by:\ & WriteHTMLAppendix() & html.c & \cxreffunc{WriteHTMLAppendix}{html.c}\\
\ & WriteHTMLDocument() & html.c & \cxreffunc{WriteHTMLDocument}{html.c}\\
\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & WriteHTMLSource() & html.c & \cxreffunc{WriteHTMLSource}{html.c}\\
Refs Var:\ & option\_html & cxref.c & \cxrefvar{option_html}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLStructUnion()}
\label{func_WriteHTMLStructUnion_html.c}

  Write a structure / union structure out.

\smallskip
{\stt static void WriteHTMLStructUnion ( StructUnion su, int depth )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{StructUnion su} The structure / union to write.
\cxrefargitem{int depth} The current depth within the structure.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & WriteHTMLStructUnion() & html.c & \cxreffunc{WriteHTMLStructUnion}{html.c}\\
\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ fprintf(), strstr()} &\\
Called by:\ & WriteHTMLStructUnion() & html.c & \cxreffunc{WriteHTMLStructUnion}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & WriteHTMLTypedef() & html.c & \cxreffunc{WriteHTMLTypedef}{html.c}\\
Refs Var:\ & of & html.c & \cxrefvar{of}{html.c}\\
\ & option\_html & cxref.c & \cxrefvar{option_html}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLSubInclude()}
\label{func_WriteHTMLSubInclude_html.c}

  Write an Sub Include structure out. (An include structure that is included from another file.)

\smallskip
{\stt static void WriteHTMLSubInclude ( Include inc, int depth )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{Include inc} The Include structure to output.
\cxrefargitem{int depth} The depth of the include hierarchy.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & WriteHTMLSubInclude() & html.c & \cxreffunc{WriteHTMLSubInclude}{html.c}\\
\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ fprintf()} &\\
Called by:\ & WriteHTMLInclude() & html.c & \cxreffunc{WriteHTMLInclude}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & WriteHTMLSubInclude() & html.c & \cxreffunc{WriteHTMLSubInclude}{html.c}\\
Refs Var:\ & goback & html.c & \cxrefvar{goback}{html.c}\\
\ & of & html.c & \cxrefvar{of}{html.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLTypedef()}
\label{func_WriteHTMLTypedef_html.c}

  Write a Typedef structure out.

\smallskip
{\stt static void WriteHTMLTypedef ( Typedef type )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{Typedef type} The Typedef structure to output.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & WriteHTMLStructUnion() & html.c & \cxreffunc{WriteHTMLStructUnion}{html.c}\\
\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ fprintf(), strncmp()} &\\
Called by:\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
\cxreftabbreak{cxreftabiii}
Refs Var:\ & filename & html.c & \cxrefvar{filename}{html.c}\\
\ & of & html.c & \cxrefvar{of}{html.c}\\
\ & option\_html & cxref.c & \cxrefvar{option_html}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Function WriteHTMLVariable()}
\label{func_WriteHTMLVariable_html.c}

  Write a Variable structure out.

\smallskip
{\stt static void WriteHTMLVariable ( Variable var )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{Variable var} The Variable structure to output.
\end{cxrefarglist}

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & html() & html.c & \cxreffunc{html}{html.c}\\
\ & \cxreftabiiispan{ fprintf()} &\\
Called by:\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
Refs Var:\ & filename & html.c & \cxrefvar{filename}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & goback & html.c & \cxrefvar{goback}{html.c}\\
\ & of & html.c & \cxrefvar{of}{html.c}\\
\ & option\_html & cxref.c & \cxrefvar{option_html}{cxref.c}\\
\end{cxreftabiii}


\subsubsection{Local Function html()}
\label{func_html_html.c}

  Make the input string safe to output as HTML ( not $<$, $>$, \& or " ).

\smallskip
{\stt static char* html ( char* c )}

\smallskip
\begin{cxrefarglist}
\cxrefargitem{char* html} Returns a safe HTML string.
\cxrefargitem{char* c} A non-safe HTML string.
\end{cxrefarglist}

\smallskip
  The function can only be called four times in each fprintf() since it returns one of only four static strings.

\smallskip
\begin{cxreftabiii}
Prototype:& html.c & \ & \cxreffile{html.c}\\
Calls:\ & CopyOrSkip() & warn-raw.c & \cxreffunc{CopyOrSkip}{warn-raw.c}\\
\ & SafeFree() & memory.c & \cxreffunc{SafeFree}{memory.c}\\
\ & SafeMalloc() & memory.c & \cxreffunc{SafeMalloc}{memory.c}\\
\cxreftabbreak{cxreftabiii}
\ & SafeRealloc() & memory.c & \cxreffunc{SafeRealloc}{memory.c}\\
\ & \cxreftabiiispan{ strcpy(), strncpy()} &\\
Called by:\ & WriteHTMLAppendix() & html.c & \cxreffunc{WriteHTMLAppendix}{html.c}\\
\ & WriteHTMLDefine() & html.c & \cxreffunc{WriteHTMLDefine}{html.c}\\
\ & WriteHTMLFile() & html.c & \cxreffunc{WriteHTMLFile}{html.c}\\
\ & WriteHTMLFilePart() & html.c & \cxreffunc{WriteHTMLFilePart}{html.c}\\
\ & WriteHTMLFunction() & html.c & \cxreffunc{WriteHTMLFunction}{html.c}\\
\ & WriteHTMLInclude() & html.c & \cxreffunc{WriteHTMLInclude}{html.c}\\
\ & WriteHTMLSource() & html.c & \cxreffunc{WriteHTMLSource}{html.c}\\
\cxreftabbreak{cxreftabiii}
\ & WriteHTMLStructUnion() & html.c & \cxreffunc{WriteHTMLStructUnion}{html.c}\\
\ & WriteHTMLSubInclude() & html.c & \cxreffunc{WriteHTMLSubInclude}{html.c}\\
\ & WriteHTMLTypedef() & html.c & \cxreffunc{WriteHTMLTypedef}{html.c}\\
\ & WriteHTMLVariable() & html.c & \cxreffunc{WriteHTMLVariable}{html.c}\\
\end{cxreftabiii}

