\hypertarget{LI_8c}{
\section{LI.c File Reference}
\label{LI_8c}\index{LI.c@{LI.c}}
}
Implementation file for the interlocked singly linked list routines, LI. 

{\tt \#include \char`\"{}IPBS/L\_\-protos.h\char`\"{}}\par
{\tt \#include \char`\"{}IPBS/RW\_\-protos.h\char`\"{}}\par
{\tt \#include \char`\"{}IPBS/LI.h\char`\"{}}\par


Include dependency graph for LI.c:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=395pt]{LI_8c__incl}
\end{center}
\end{figure}
\subsection*{Functions}
\begin{CompactItemize}
\item 
int \hyperlink{LI_8c_a0}{LI\_\-init} (\hyperlink{struct__LI__head}{LI\_\-head} $\ast$list, \hyperlink{LI__type_8h_a0}{LI\_\-type} type)
\begin{CompactList}\small\item\em Initializes the list head of a singly linked list to an empty list. \item\end{CompactList}\item 
int \hyperlink{LI_8c_a1}{LI\_\-destroy} (\hyperlink{struct__LI__head}{LI\_\-head} $\ast$list)
\begin{CompactList}\small\item\em Destroys the data structures associate with a list. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Implementation file for the interlocked singly linked list routines, LI. 

\begin{Desc}
\item[Author:]JJRussell - \href{mailto:russell@slac.stanford.edu}{\tt russell@slac.stanford.edu}\end{Desc}


\footnotesize\begin{verbatim}    CVS $Id: LI.c,v 1.1.1.1 2006/02/10 21:45:33 saxton Exp $
    
\end{verbatim}
\normalsize


This file simple picks up the correct implementation for the various platforms, redefining the inline versions to be traditional callable routines.

\subsection{Function Documentation}
\hypertarget{LI_8c_a1}{
\index{LI.c@{LI.c}!LI_destroy@{LI\_\-destroy}}
\index{LI_destroy@{LI\_\-destroy}!LI.c@{LI.c}}
\subsubsection[LI\_\-destroy]{\setlength{\rightskip}{0pt plus 5cm}int LI\_\-destroy (\hyperlink{struct__LI__head}{LI\_\-head} $\ast$ {\em list})}}
\label{LI_8c_a1}


Destroys the data structures associate with a list. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em list}]Pointer to the list to destroy.\end{description}
\end{Desc}
This routine releases the resources acquired when the list was initialized by LI\_\-init.\hypertarget{LI_8c_a0}{
\index{LI.c@{LI.c}!LI_init@{LI\_\-init}}
\index{LI_init@{LI\_\-init}!LI.c@{LI.c}}
\subsubsection[LI\_\-init]{\setlength{\rightskip}{0pt plus 5cm}int LI\_\-init (\hyperlink{struct__LI__head}{LI\_\-head} $\ast$ {\em list}, \hyperlink{LI__type_8h_a0}{LI\_\-type} {\em type})}}
\label{LI_8c_a0}


Initializes the list head of a singly linked list to an empty list. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em list}]Pointer to the list to initialize. \item[{\em type}]The type of interlocking linked list\end{description}
\end{Desc}
The list is initialized to an empty list. This must be done before performing any other operations on the list. The {\em type\/} determines how the list behaves when one attempts to remove a node from an empty list.