\hypertarget{INT_8ih}{
\section{INT.ih File Reference}
\label{INT_8ih}\index{INT.ih@{INT.ih}}
}
Defines the inline interrupt locking routines.  


{\tt \#include $<$PBI/Inline.h$>$}\par
{\tt \#include $<$IPBS/impl/INT.ih.xx-xxx-xxx$>$}\par
\subsection*{Defines}
\begin{CompactItemize}
\item 
\hypertarget{INT_8ih_fc3d2097b50bdc22a427d1f2daef5608}{
\#define \hyperlink{INT_8ih_fc3d2097b50bdc22a427d1f2daef5608}{INT\_\-\_\-EXP\_\-PROTO}~static inline}
\label{INT_8ih_fc3d2097b50bdc22a427d1f2daef5608}

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

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

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

\begin{CompactList}\small\item\em Internal Function declaration. \item\end{CompactList}\end{CompactItemize}
\subsection*{Functions}
\begin{CompactItemize}
\item 
INT\_\-\_\-EXP\_\-PROTO int \hyperlink{INT_8ih_6b998fc596eb106e608cc479be78a15b}{INT\_\-\_\-context} (void)
\begin{CompactList}\small\item\em Return non-zero if a interrupt level. \item\end{CompactList}\item 
INT\_\-\_\-EXP\_\-PROTO int \hyperlink{INT_8ih_6130dcf6fb4aa3ce5ee743e65a00d065}{INT\_\-\_\-lock} (void)
\begin{CompactList}\small\item\em Locks interrupts. \item\end{CompactList}\item 
INT\_\-\_\-EXP\_\-PROTO void \hyperlink{INT_8ih_3e063ed4bbbb7ceb9889d22dc94a2d87}{INT\_\-\_\-unlock} (int key)
\begin{CompactList}\small\item\em Unlocks the interrrupts. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Defines the inline interrupt locking routines. 

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


\footnotesize\begin{verbatim}

    CVS $Id: INT.ih,v 1.2 2011/03/25 21:15:00 saxton Exp $
\end{verbatim}
\normalsize


These routines are just the inline versions of the VxWorks intLock and intUnlock routines. These services can really only be provided on PPC. The implementation is dependent on the GNU compiler. 

\subsection{Function Documentation}
\hypertarget{INT_8ih_6b998fc596eb106e608cc479be78a15b}{
\index{INT.ih@{INT.ih}!INT\_\-\_\-context@{INT\_\-\_\-context}}
\index{INT\_\-\_\-context@{INT\_\-\_\-context}!INT.ih@{INT.ih}}
\subsubsection[{INT\_\-\_\-context}]{\setlength{\rightskip}{0pt plus 5cm}int INT\_\-\_\-context (void)}}
\label{INT_8ih_6b998fc596eb106e608cc479be78a15b}


Return non-zero if a interrupt level. 

\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em !=}]0, if at interrupt level \item[{\em ==}]0, if not at interrupt level ({\em i.e\/}. at task level) \end{description}
\end{Desc}
\hypertarget{INT_8ih_6130dcf6fb4aa3ce5ee743e65a00d065}{
\index{INT.ih@{INT.ih}!INT\_\-\_\-lock@{INT\_\-\_\-lock}}
\index{INT\_\-\_\-lock@{INT\_\-\_\-lock}!INT.ih@{INT.ih}}
\subsubsection[{INT\_\-\_\-lock}]{\setlength{\rightskip}{0pt plus 5cm}int INT\_\-\_\-lock (void)}}
\label{INT_8ih_6130dcf6fb4aa3ce5ee743e65a00d065}


Locks interrupts. 

\begin{Desc}
\item[Return values:]
\begin{description}
\item[{\em A}]key to be passed to the INT\_\-\_\-unlock routine \end{description}
\end{Desc}


Referenced by LSU\_\-atomicCalc(), LSU\_\-atomicScale(), RW\_\-\_\-lock(), RW\_\-\_\-lock2(), RW\_\-\_\-tmr\_\-lock(), RW\_\-\_\-tmr\_\-wait(), and RW\_\-\_\-wait().\hypertarget{INT_8ih_3e063ed4bbbb7ceb9889d22dc94a2d87}{
\index{INT.ih@{INT.ih}!INT\_\-\_\-unlock@{INT\_\-\_\-unlock}}
\index{INT\_\-\_\-unlock@{INT\_\-\_\-unlock}!INT.ih@{INT.ih}}
\subsubsection[{INT\_\-\_\-unlock}]{\setlength{\rightskip}{0pt plus 5cm}void INT\_\-\_\-unlock (int {\em key})}}
\label{INT_8ih_3e063ed4bbbb7ceb9889d22dc94a2d87}


Unlocks the interrrupts. 

\begin{Desc}
\item[Parameters:]
\begin{description}
\item[{\em key}]The key to unlock the interrupt. This is the return value of INT\_\-lock(). \end{description}
\end{Desc}


Referenced by LSU\_\-atomicCalc(), LSU\_\-atomicScale(), RW\_\-\_\-tmr\_\-unlock(), RW\_\-\_\-unlock(), RW\_\-\_\-unlock2(), and RW\_\-\_\-wait().