\hypertarget{TOC_8ih}{
\section{TOC.ih File Reference}
\label{TOC_8ih}\index{TOC.ih@{TOC.ih}}
}
TimeOut Control, inline routines.  


{\tt \#include $<$PBI/Inline.h$>$}\par
{\tt \#include $<$PBI/Attribute.h$>$}\par
{\tt \#include $<$PBS/TOC.h$>$}\par
\subsection*{Defines}
\begin{CompactItemize}
\item 
\hypertarget{TOC_8ih_ecd5ed839578f3b619911043db36ede4}{
\#define \hyperlink{TOC_8ih_ecd5ed839578f3b619911043db36ede4}{TOC\_\-\_\-EXP\_\-PROTO}~INLINE\_\-USR\_\-EXP\_\-PROTO}
\label{TOC_8ih_ecd5ed839578f3b619911043db36ede4}

\begin{CompactList}\small\item\em Export Prototype spec. \item\end{CompactList}\item 
\hypertarget{TOC_8ih_6af81704f34cde5d52bb4534c15cc619}{
\#define \hyperlink{TOC_8ih_6af81704f34cde5d52bb4534c15cc619}{TOC\_\-\_\-LCL\_\-PROTO}~INLINE\_\-USR\_\-LCL\_\-PROTO}
\label{TOC_8ih_6af81704f34cde5d52bb4534c15cc619}

\begin{CompactList}\small\item\em Internal Prototype spec. \item\end{CompactList}\item 
\hypertarget{TOC_8ih_b8aac61653e7b30ba432628172b9c712}{
\#define \hyperlink{TOC_8ih_b8aac61653e7b30ba432628172b9c712}{TOC\_\-\_\-EXP\_\-FNC}~INLINE\_\-USR\_\-EXP\_\-FNC}
\label{TOC_8ih_b8aac61653e7b30ba432628172b9c712}

\begin{CompactList}\small\item\em Export Function declaration. \item\end{CompactList}\item 
\hypertarget{TOC_8ih_137d65d9402f2be2f105497ce5fc0a14}{
\#define \hyperlink{TOC_8ih_137d65d9402f2be2f105497ce5fc0a14}{TOC\_\-\_\-LCL\_\-FNC}~INLINE\_\-USR\_\-LCL\_\-FNC}
\label{TOC_8ih_137d65d9402f2be2f105497ce5fc0a14}

\begin{CompactList}\small\item\em Internal Function declaration. \item\end{CompactList}\item 
\hypertarget{TOC_8ih_3a463217f8b1a57787d7cdb4ff9ce896}{
\#define \hyperlink{TOC_8ih_3a463217f8b1a57787d7cdb4ff9ce896}{\_\-OK}~ATTR\_\-UNUSED\_\-OK}
\label{TOC_8ih_3a463217f8b1a57787d7cdb4ff9ce896}

\begin{CompactList}\small\item\em Abbrev for ATTR\_\-UNUSED\_\-OK, undef'd in this file. \item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
TOC\_\-\_\-EXP\_\-PROTO void \hyperlink{TOC_8ih_62525c3e4f14238886b4dc2eb99a9f5f}{TOC\_\-\_\-set\_\-s} (\hyperlink{struct__TOC}{TOC} $\ast$toc, \hyperlink{TOV_8h_e2333f8380ee66c994cd27844296cc76}{TOV\_\-cvt\_\-s} fnc, \hyperlink{TOC__comdefs_8h_f11a28b6d71a01ed512f1252b1f14daf}{TOS} tmo) \_\-OK
\begin{CompactList}\small\item\em Sets the TOV converter and value for small range timeouts. \item\end{CompactList}\item 
TOC\_\-\_\-EXP\_\-PROTO void \hyperlink{TOC_8ih_4253ec1889ee3212aac2550c06c314e8}{TOC\_\-\_\-set\_\-v} (\hyperlink{struct__TOC}{TOC} $\ast$toc, \hyperlink{TOV_8h_8vx-xxx-xxx_3892d8eb40cbdd76345c0e4177fbf430}{TOV} tmo) \_\-OK
\begin{CompactList}\small\item\em Sets the TOV converter and value for an immediate TOV. \item\end{CompactList}\item 
TOC\_\-\_\-EXP\_\-PROTO void \hyperlink{TOC_8ih_9197df8486fe678656a03a628fe453de}{TOC\_\-\_\-set\_\-x} (\hyperlink{struct__TOC}{TOC} $\ast$toc, \hyperlink{TOV_8h_cb6f86a9d57b32a9a1848d950d21571f}{TOV\_\-cvt\_\-x} fnc, \hyperlink{TOC__comdefs_8h_4fc8eab7a9466e043602161f554a2f65}{TOX} tmo) \_\-OK
\begin{CompactList}\small\item\em Sets the TOV converter and value for extended range timeouts. \item\end{CompactList}\item 
TOC\_\-\_\-EXP\_\-PROTO void \hyperlink{TOC_8ih_f28574cdaddf5eb7f30763de0e07a36f}{TOC\_\-\_\-reset\_\-tos} (\hyperlink{struct__TOC}{TOC} $\ast$tos, \hyperlink{TOC__comdefs_8h_f11a28b6d71a01ed512f1252b1f14daf}{TOS} tmo) \_\-OK
\begin{CompactList}\small\item\em Resets the small range timeout value. The timeout conversion routine is assumed to be have previously set using TOC\_\-set\_\-s. \item\end{CompactList}\item 
TOC\_\-\_\-EXP\_\-PROTO void \hyperlink{TOC_8ih_8090f4b5fe4ced3970ad0a09e911e8c6}{TOC\_\-\_\-reset\_\-tov} (\hyperlink{struct__TOC}{TOC} $\ast$toc, \hyperlink{TOV_8h_8vx-xxx-xxx_3892d8eb40cbdd76345c0e4177fbf430}{TOV} tmo) \_\-OK
\begin{CompactList}\small\item\em Resets the immediate timeout value. The timeout conversion routine is assumed to be have previously set using TOC\_\-set\_\-v. \item\end{CompactList}\item 
TOC\_\-\_\-EXP\_\-PROTO void \hyperlink{TOC_8ih_d784cc1932a3ef783047f90f0e00d3a9}{TOC\_\-\_\-reset\_\-tox} (\hyperlink{struct__TOC}{TOC} $\ast$toc, \hyperlink{TOC__comdefs_8h_4fc8eab7a9466e043602161f554a2f65}{TOX} tmo) \_\-OK
\begin{CompactList}\small\item\em Resets the extended range timeout value. The timeout conversion routine is assumed to be have previously set using TOC\_\-set\_\-x. \item\end{CompactList}\item 
TOC\_\-\_\-EXP\_\-PROTO \hyperlink{TOV_8h_8vx-xxx-xxx_3892d8eb40cbdd76345c0e4177fbf430}{TOV} \hyperlink{TOC_8ih_dd5cd0365753d86d65c58f657d733e9f}{TOC\_\-\_\-compute} (const \hyperlink{struct__TOC}{TOC} $\ast$toc) \_\-OK
\begin{CompactList}\small\item\em Computes the timeout value (TOV) specified by the timeout control structure. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
TimeOut Control, inline routines. 

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


\footnotesize\begin{verbatim}

    CVS $Id: TOC.ih,v 1.6 2011/03/24 23:05:44 apw Exp $
\end{verbatim}
\normalsize


Provides a set of inline utility functions to define a timeout control structure. This structure is passed to most all routines that requirement implement a timeout. It serves as a universal method to convert a variety of time representations to a TimeOut Value, TOV. 

\subsection{Function Documentation}
\hypertarget{TOC_8ih_dd5cd0365753d86d65c58f657d733e9f}{
\index{TOC.ih@{TOC.ih}!TOC\_\-\_\-compute@{TOC\_\-\_\-compute}}
\index{TOC\_\-\_\-compute@{TOC\_\-\_\-compute}!TOC.ih@{TOC.ih}}
\subsubsection[{TOC\_\-\_\-compute}]{\setlength{\rightskip}{0pt plus 5cm}TOC\_\-\_\-EXP\_\-FNC {\bf TOV} TOC\_\-\_\-compute (const {\bf TOC} $\ast$ {\em toc})}}
\label{TOC_8ih_dd5cd0365753d86d65c58f657d733e9f}


Computes the timeout value (TOV) specified by the timeout control structure. 

\begin{Desc}
\item[Returns:]The timeout value specified by the timeout control structure\end{Desc}
\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em toc}]The timeout control structure \end{description}
\end{Desc}


References \_\-TOC::cvt, \_\-TOC\_\-cvt\_\-x::fnc, \_\-TOC\_\-cvt\_\-s::fnc, \_\-TOC\_\-cvt::s, \_\-TOC::style, \_\-TOC\_\-cvt\_\-v::tmo, \_\-TOC\_\-cvt\_\-x::tmo, \_\-TOC\_\-cvt\_\-s::tmo, \_\-TOC\_\-cvt::v, and \_\-TOC\_\-cvt::x.

Referenced by RW\_\-\_\-tmr\_\-wait().\hypertarget{TOC_8ih_f28574cdaddf5eb7f30763de0e07a36f}{
\index{TOC.ih@{TOC.ih}!TOC\_\-\_\-reset\_\-tos@{TOC\_\-\_\-reset\_\-tos}}
\index{TOC\_\-\_\-reset\_\-tos@{TOC\_\-\_\-reset\_\-tos}!TOC.ih@{TOC.ih}}
\subsubsection[{TOC\_\-\_\-reset\_\-tos}]{\setlength{\rightskip}{0pt plus 5cm}TOC\_\-\_\-EXP\_\-FNC void TOC\_\-\_\-reset\_\-tos ({\bf TOC} $\ast$ {\em toc}, \/  {\bf TOS} {\em tmo})}}
\label{TOC_8ih_f28574cdaddf5eb7f30763de0e07a36f}


Resets the small range timeout value. The timeout conversion routine is assumed to be have previously set using TOC\_\-set\_\-s. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em toc}]The target TOC structure \item[{\em tmo}]The new small range timeout value to convert.\end{description}
\end{Desc}
\begin{Desc}
\item[Warning:]No check is made to assure that the conversion style is TOC\_\-K\_\-STYLE\_\-S. It is the user's responsibility to ensure this. \end{Desc}


References \_\-TOC::cvt, \_\-TOC\_\-cvt::s, and \_\-TOC\_\-cvt\_\-s::tmo.\hypertarget{TOC_8ih_8090f4b5fe4ced3970ad0a09e911e8c6}{
\index{TOC.ih@{TOC.ih}!TOC\_\-\_\-reset\_\-tov@{TOC\_\-\_\-reset\_\-tov}}
\index{TOC\_\-\_\-reset\_\-tov@{TOC\_\-\_\-reset\_\-tov}!TOC.ih@{TOC.ih}}
\subsubsection[{TOC\_\-\_\-reset\_\-tov}]{\setlength{\rightskip}{0pt plus 5cm}TOC\_\-\_\-EXP\_\-FNC void TOC\_\-\_\-reset\_\-tov ({\bf TOC} $\ast$ {\em toc}, \/  {\bf TOV} {\em tmo})}}
\label{TOC_8ih_8090f4b5fe4ced3970ad0a09e911e8c6}


Resets the immediate timeout value. The timeout conversion routine is assumed to be have previously set using TOC\_\-set\_\-v. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em toc}]The target TOC structure \item[{\em tmo}]The new extended range timeout value to convert.\end{description}
\end{Desc}
\begin{Desc}
\item[Warning:]No check is made to assure that the conversion style is TOC\_\-K\_\-STYLE\_\-V. It is the user's responsibility to ensure this. \end{Desc}


References \_\-TOC::cvt, \_\-TOC\_\-cvt\_\-x::tmo, and \_\-TOC\_\-cvt::x.\hypertarget{TOC_8ih_d784cc1932a3ef783047f90f0e00d3a9}{
\index{TOC.ih@{TOC.ih}!TOC\_\-\_\-reset\_\-tox@{TOC\_\-\_\-reset\_\-tox}}
\index{TOC\_\-\_\-reset\_\-tox@{TOC\_\-\_\-reset\_\-tox}!TOC.ih@{TOC.ih}}
\subsubsection[{TOC\_\-\_\-reset\_\-tox}]{\setlength{\rightskip}{0pt plus 5cm}TOC\_\-\_\-EXP\_\-FNC void TOC\_\-\_\-reset\_\-tox ({\bf TOC} $\ast$ {\em toc}, \/  {\bf TOX} {\em tmo})}}
\label{TOC_8ih_d784cc1932a3ef783047f90f0e00d3a9}


Resets the extended range timeout value. The timeout conversion routine is assumed to be have previously set using TOC\_\-set\_\-x. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em toc}]The target TOC structure \item[{\em tmo}]The new extended range timeout value to convert.\end{description}
\end{Desc}
\begin{Desc}
\item[Warning:]No check is made to assure that the conversion style is TOC\_\-K\_\-STYLE\_\-X. It is the user's responsibility to ensure this. \end{Desc}


References \_\-TOC::cvt, \_\-TOC\_\-cvt\_\-x::tmo, and \_\-TOC\_\-cvt::x.\hypertarget{TOC_8ih_62525c3e4f14238886b4dc2eb99a9f5f}{
\index{TOC.ih@{TOC.ih}!TOC\_\-\_\-set\_\-s@{TOC\_\-\_\-set\_\-s}}
\index{TOC\_\-\_\-set\_\-s@{TOC\_\-\_\-set\_\-s}!TOC.ih@{TOC.ih}}
\subsubsection[{TOC\_\-\_\-set\_\-s}]{\setlength{\rightskip}{0pt plus 5cm}TOC\_\-\_\-EXP\_\-FNC void TOC\_\-\_\-set\_\-s ({\bf TOC} $\ast$ {\em toc}, \/  {\bf TOV\_\-cvt\_\-s} {\em fnc}, \/  {\bf TOS} {\em tmo})}}
\label{TOC_8ih_62525c3e4f14238886b4dc2eb99a9f5f}


Sets the TOV converter and value for small range timeouts. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em toc}]The target TOC structure \item[{\em fnc}]The extended range to TOV converter function. \item[{\em tmo}]The value to convert \end{description}
\end{Desc}


References \_\-TOC::cvt, \_\-TOC\_\-cvt\_\-s::fnc, \_\-TOC\_\-cvt::s, \_\-TOC::style, \_\-TOC\_\-cvt\_\-s::tmo, and TOC\_\-K\_\-STYLE\_\-S.\hypertarget{TOC_8ih_4253ec1889ee3212aac2550c06c314e8}{
\index{TOC.ih@{TOC.ih}!TOC\_\-\_\-set\_\-v@{TOC\_\-\_\-set\_\-v}}
\index{TOC\_\-\_\-set\_\-v@{TOC\_\-\_\-set\_\-v}!TOC.ih@{TOC.ih}}
\subsubsection[{TOC\_\-\_\-set\_\-v}]{\setlength{\rightskip}{0pt plus 5cm}TOC\_\-\_\-EXP\_\-FNC void TOC\_\-\_\-set\_\-v ({\bf TOC} $\ast$ {\em toc}, \/  {\bf TOV} {\em tmo})}}
\label{TOC_8ih_4253ec1889ee3212aac2550c06c314e8}


Sets the TOV converter and value for an immediate TOV. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em toc}]The target TOC structure \item[{\em tmo}]The timeout value to set. \end{description}
\end{Desc}


References \_\-TOC::cvt, \_\-TOC::style, \_\-TOC\_\-cvt\_\-v::tmo, TOC\_\-K\_\-STYLE\_\-V, and \_\-TOC\_\-cvt::v.\hypertarget{TOC_8ih_9197df8486fe678656a03a628fe453de}{
\index{TOC.ih@{TOC.ih}!TOC\_\-\_\-set\_\-x@{TOC\_\-\_\-set\_\-x}}
\index{TOC\_\-\_\-set\_\-x@{TOC\_\-\_\-set\_\-x}!TOC.ih@{TOC.ih}}
\subsubsection[{TOC\_\-\_\-set\_\-x}]{\setlength{\rightskip}{0pt plus 5cm}TOC\_\-\_\-EXP\_\-FNC void TOC\_\-\_\-set\_\-x ({\bf TOC} $\ast$ {\em toc}, \/  {\bf TOV\_\-cvt\_\-x} {\em fnc}, \/  {\bf TOX} {\em tmo})}}
\label{TOC_8ih_9197df8486fe678656a03a628fe453de}


Sets the TOV converter and value for extended range timeouts. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em toc}]The target TOC structure \item[{\em fnc}]The extended range to TOV converter. \item[{\em tmo}]The extended range timeout value to convert \end{description}
\end{Desc}


References \_\-TOC::cvt, \_\-TOC\_\-cvt\_\-x::fnc, \_\-TOC::style, \_\-TOC\_\-cvt\_\-x::tmo, TOC\_\-K\_\-STYLE\_\-X, and \_\-TOC\_\-cvt::x.