\hypertarget{cam__queue_8h}{}\doxysection{cam/cam\+\_\+queue.h File Reference}
\label{cam__queue_8h}\index{cam/cam\_queue.h@{cam/cam\_queue.h}}
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$cam/cam.\+h$>$}\newline
Include dependency graph for cam\+\_\+queue.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/d6c/cam__queue_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{da/d95/cam__queue_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structcamq}{camq}}
\item 
struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}}
\item 
struct \mbox{\hyperlink{structcam__devq}{cam\+\_\+devq}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{cam__queue_8h_a5cd5d725581af342b2f29d7d3905dc35}{CAMQ\+\_\+\+HEAD}}~1 /$\ast$ Head of queue index $\ast$/
\item 
\#define \mbox{\hyperlink{cam__queue_8h_a59ae14ab5dd1e273e7a07ce7324958fa}{CAMQ\+\_\+\+GET\+\_\+\+HEAD}}(\mbox{\hyperlink{structcamq}{camq}})~((\mbox{\hyperlink{structcamq}{camq}})-\/$>$queue\+\_\+array\mbox{[}\mbox{\hyperlink{cam__queue_8h_a5cd5d725581af342b2f29d7d3905dc35}{CAMQ\+\_\+\+HEAD}}\mbox{]})
\item 
\#define \mbox{\hyperlink{cam__queue_8h_a02e1ec00a166a694b769ccea8fea5b81}{CAMQ\+\_\+\+GET\+\_\+\+PRIO}}(\mbox{\hyperlink{structcamq}{camq}})
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{cam__queue_8h_a2c1b7587c89969d66bccfd5502f6c7c0}{TAILQ\+\_\+\+HEAD}} (ccb\+\_\+hdr\+\_\+tailq, \mbox{\hyperlink{structccb__hdr}{ccb\+\_\+hdr}})
\item 
\mbox{\hyperlink{cam__queue_8h_ad2c903b0c9101edfb41bab23a66f13b2}{LIST\+\_\+\+HEAD}} (ccb\+\_\+hdr\+\_\+list, \mbox{\hyperlink{structccb__hdr}{ccb\+\_\+hdr}})
\item 
\mbox{\hyperlink{cam__queue_8h_adce8343f0dc360908574d91ac70f4a7f}{SLIST\+\_\+\+HEAD}} (ccb\+\_\+hdr\+\_\+slist, \mbox{\hyperlink{structccb__hdr}{ccb\+\_\+hdr}})
\item 
struct \mbox{\hyperlink{structcam__devq}{cam\+\_\+devq}} $\ast$ \mbox{\hyperlink{cam__queue_8h_a1f8380a422948aad35ea6f4e62db024d}{cam\+\_\+devq\+\_\+alloc}} (int devices, int openings)
\item 
int \mbox{\hyperlink{cam__queue_8h_ad42b751273bb467f4dc2d1728e8676da}{cam\+\_\+devq\+\_\+init}} (struct \mbox{\hyperlink{structcam__devq}{cam\+\_\+devq}} $\ast$devq, int devices, int openings)
\item 
void \mbox{\hyperlink{cam__queue_8h_a68c69e569df0e305350f945b23d6be62}{cam\+\_\+devq\+\_\+free}} (struct \mbox{\hyperlink{structcam__devq}{cam\+\_\+devq}} $\ast$devq)
\item 
u\+\_\+int32\+\_\+t \mbox{\hyperlink{cam__queue_8h_ae3eb5833dfabe893a0817387358df9dd}{cam\+\_\+devq\+\_\+resize}} (struct \mbox{\hyperlink{structcam__devq}{cam\+\_\+devq}} $\ast$\mbox{\hyperlink{structcamq}{camq}}, int openings)
\item 
struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ \mbox{\hyperlink{cam__queue_8h_abb3be5821df7a83dd70b97300da9af24}{cam\+\_\+ccbq\+\_\+alloc}} (int openings)
\item 
u\+\_\+int32\+\_\+t \mbox{\hyperlink{cam__queue_8h_acb10128288f5dd64035dd506eaf4e6ed}{cam\+\_\+ccbq\+\_\+resize}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq, int devices)
\item 
int \mbox{\hyperlink{cam__queue_8h_af080e7b003aa14fe7afb73390f8616ad}{cam\+\_\+ccbq\+\_\+init}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq, int openings)
\item 
void \mbox{\hyperlink{cam__queue_8h_a061d789d2c50829590b7fcd6de28fe0a}{cam\+\_\+ccbq\+\_\+free}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq)
\item 
void \mbox{\hyperlink{cam__queue_8h_a30c0078f2814cdd41c6cd9dcee022119}{cam\+\_\+ccbq\+\_\+fini}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq)
\item 
u\+\_\+int32\+\_\+t \mbox{\hyperlink{cam__queue_8h_ab787582d57cd74697512851155f9e6be}{camq\+\_\+resize}} (struct \mbox{\hyperlink{structcamq}{camq}} $\ast$queue, int new\+\_\+size)
\item 
int \mbox{\hyperlink{cam__queue_8h_a6556967440b36636025f054fe858dde3}{camq\+\_\+init}} (struct \mbox{\hyperlink{structcamq}{camq}} $\ast$\mbox{\hyperlink{structcamq}{camq}}, int size)
\item 
void \mbox{\hyperlink{cam__queue_8h_a0745e84207d09f016a5b565d10cfee0a}{camq\+\_\+fini}} (struct \mbox{\hyperlink{structcamq}{camq}} $\ast$queue)
\item 
void \mbox{\hyperlink{cam__queue_8h_a8ca07f8eba8e6dfcb814bb756a58942b}{camq\+\_\+insert}} (struct \mbox{\hyperlink{structcamq}{camq}} $\ast$queue, \mbox{\hyperlink{structcam__pinfo}{cam\+\_\+pinfo}} $\ast$new\+\_\+entry)
\item 
\mbox{\hyperlink{structcam__pinfo}{cam\+\_\+pinfo}} $\ast$ \mbox{\hyperlink{cam__queue_8h_aceb69b00a057e05d894e44710436d9ba}{camq\+\_\+remove}} (struct \mbox{\hyperlink{structcamq}{camq}} $\ast$queue, int index)
\item 
void \mbox{\hyperlink{cam__queue_8h_a6b98d9c94a02db39efb2460dad15af8f}{camq\+\_\+change\+\_\+priority}} (struct \mbox{\hyperlink{structcamq}{camq}} $\ast$queue, int index, u\+\_\+int32\+\_\+t new\+\_\+priority)
\item 
static \+\_\+\+\_\+inline int \mbox{\hyperlink{cam__queue_8h_a0b82b99d54c4d5fb1a789d94335a65bf}{cam\+\_\+ccbq\+\_\+pending\+\_\+ccb\+\_\+count}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{cam__queue_8h_ae816fd17d8099e7a084f95a762fad0a6}{cam\+\_\+ccbq\+\_\+take\+\_\+opening}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{cam__queue_8h_ac9402e54e81d675ae8624ad22f454d7f}{cam\+\_\+ccbq\+\_\+insert\+\_\+ccb}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq, union \mbox{\hyperlink{unionccb}{ccb}} $\ast$new\+\_\+ccb)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{cam__queue_8h_ac81587eab84a0dbc03fed74ee9ab9598}{cam\+\_\+ccbq\+\_\+remove\+\_\+ccb}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq, union \mbox{\hyperlink{unionccb}{ccb}} $\ast$\mbox{\hyperlink{unionccb}{ccb}})
\item 
static \+\_\+\+\_\+inline union \mbox{\hyperlink{unionccb}{ccb}} $\ast$ \mbox{\hyperlink{cam__queue_8h_a88b04101c1b336d3159fe5f9dd2d9167}{cam\+\_\+ccbq\+\_\+peek\+\_\+ccb}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq, int index)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{cam__queue_8h_a8bad2c4c44090a886d9cc6f4a1ca99fc}{cam\+\_\+ccbq\+\_\+send\+\_\+ccb}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$queue, union \mbox{\hyperlink{unionccb}{ccb}} $\ast$send\+\_\+ccb)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{cam__queue_8h_ade394640c8b7360942ce215d7950a22d}{cam\+\_\+ccbq\+\_\+ccb\+\_\+done}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq, union \mbox{\hyperlink{unionccb}{ccb}} $\ast$done\+\_\+ccb)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{cam__queue_8h_aa5ba24545e74d7d96695981141068ef2}{cam\+\_\+ccbq\+\_\+release\+\_\+opening}} (struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ccbq)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{cam__queue_8h_a59ae14ab5dd1e273e7a07ce7324958fa}\label{cam__queue_8h_a59ae14ab5dd1e273e7a07ce7324958fa}} 
\index{cam\_queue.h@{cam\_queue.h}!CAMQ\_GET\_HEAD@{CAMQ\_GET\_HEAD}}
\index{CAMQ\_GET\_HEAD@{CAMQ\_GET\_HEAD}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{CAMQ\_GET\_HEAD}{CAMQ\_GET\_HEAD}}
{\footnotesize\ttfamily \#define CAMQ\+\_\+\+GET\+\_\+\+HEAD(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{structcamq}{camq}} }\end{DoxyParamCaption})~((\mbox{\hyperlink{structcamq}{camq}})-\/$>$queue\+\_\+array\mbox{[}\mbox{\hyperlink{cam__queue_8h_a5cd5d725581af342b2f29d7d3905dc35}{CAMQ\+\_\+\+HEAD}}\mbox{]})}



Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00132}{132}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.

\mbox{\Hypertarget{cam__queue_8h_a02e1ec00a166a694b769ccea8fea5b81}\label{cam__queue_8h_a02e1ec00a166a694b769ccea8fea5b81}} 
\index{cam\_queue.h@{cam\_queue.h}!CAMQ\_GET\_PRIO@{CAMQ\_GET\_PRIO}}
\index{CAMQ\_GET\_PRIO@{CAMQ\_GET\_PRIO}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{CAMQ\_GET\_PRIO}{CAMQ\_GET\_PRIO}}
{\footnotesize\ttfamily \#define CAMQ\+\_\+\+GET\+\_\+\+PRIO(\begin{DoxyParamCaption}\item[{}]{\mbox{\hyperlink{structcamq}{camq}} }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                            (((\mbox{\hyperlink{structcamq}{camq}})-\/>entries > 0) ?                        \(\backslash\)}
\DoxyCodeLine{                            ((\mbox{\hyperlink{structcamq}{camq}})-\/>queue\_array[\mbox{\hyperlink{cam__queue_8h_a5cd5d725581af342b2f29d7d3905dc35}{CAMQ\_HEAD}}]-\/>priority) : 0)}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00135}{135}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.

\mbox{\Hypertarget{cam__queue_8h_a5cd5d725581af342b2f29d7d3905dc35}\label{cam__queue_8h_a5cd5d725581af342b2f29d7d3905dc35}} 
\index{cam\_queue.h@{cam\_queue.h}!CAMQ\_HEAD@{CAMQ\_HEAD}}
\index{CAMQ\_HEAD@{CAMQ\_HEAD}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{CAMQ\_HEAD}{CAMQ\_HEAD}}
{\footnotesize\ttfamily \#define CAMQ\+\_\+\+HEAD~1 /$\ast$ Head of queue index $\ast$/}



Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00129}{129}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{cam__queue_8h_abb3be5821df7a83dd70b97300da9af24}\label{cam__queue_8h_abb3be5821df7a83dd70b97300da9af24}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_alloc@{cam\_ccbq\_alloc}}
\index{cam\_ccbq\_alloc@{cam\_ccbq\_alloc}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_alloc()}{cam\_ccbq\_alloc()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$ cam\+\_\+ccbq\+\_\+alloc (\begin{DoxyParamCaption}\item[{int}]{openings }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00234}{234}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8c_source_l00277}{cam\+\_\+ccbq\+\_\+init()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_abb3be5821df7a83dd70b97300da9af24_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_ade394640c8b7360942ce215d7950a22d}\label{cam__queue_8h_ade394640c8b7360942ce215d7950a22d}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_ccb\_done@{cam\_ccbq\_ccb\_done}}
\index{cam\_ccbq\_ccb\_done@{cam\_ccbq\_ccb\_done}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_ccb\_done()}{cam\_ccbq\_ccb\_done()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void cam\+\_\+ccbq\+\_\+ccb\+\_\+done (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq,  }\item[{union \mbox{\hyperlink{unionccb}{ccb}} $\ast$}]{done\+\_\+ccb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00265}{265}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00069}{cam\+\_\+ccbq\+::dev\+\_\+active}}, and \mbox{\hyperlink{cam__queue_8h_source_l00068}{cam\+\_\+ccbq\+::dev\+\_\+openings}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l05335}{xpt\+\_\+done\+\_\+process()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_ade394640c8b7360942ce215d7950a22d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a30c0078f2814cdd41c6cd9dcee022119}\label{cam__queue_8h_a30c0078f2814cdd41c6cd9dcee022119}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_fini@{cam\_ccbq\_fini}}
\index{cam\_ccbq\_fini@{cam\_ccbq\_fini}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_fini()}{cam\_ccbq\_fini()}}
{\footnotesize\ttfamily void cam\+\_\+ccbq\+\_\+fini (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00289}{289}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8c_source_l00084}{camq\+\_\+fini()}}, and \mbox{\hyperlink{cam__queue_8h_source_l00063}{cam\+\_\+ccbq\+::queue}}.



Referenced by \mbox{\hyperlink{cam__queue_8c_source_l00252}{cam\+\_\+ccbq\+\_\+free()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l04907}{xpt\+\_\+release\+\_\+device()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=266pt]{d8/d3e/cam__queue_8h_a30c0078f2814cdd41c6cd9dcee022119_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a30c0078f2814cdd41c6cd9dcee022119_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a061d789d2c50829590b7fcd6de28fe0a}\label{cam__queue_8h_a061d789d2c50829590b7fcd6de28fe0a}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_free@{cam\_ccbq\_free}}
\index{cam\_ccbq\_free@{cam\_ccbq\_free}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_free()}{cam\_ccbq\_free()}}
{\footnotesize\ttfamily void cam\+\_\+ccbq\+\_\+free (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00252}{252}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8c_source_l00289}{cam\+\_\+ccbq\+\_\+fini()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a061d789d2c50829590b7fcd6de28fe0a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_af080e7b003aa14fe7afb73390f8616ad}\label{cam__queue_8h_af080e7b003aa14fe7afb73390f8616ad}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_init@{cam\_ccbq\_init}}
\index{cam\_ccbq\_init@{cam\_ccbq\_init}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_init()}{cam\_ccbq\_init()}}
{\footnotesize\ttfamily int cam\+\_\+ccbq\+\_\+init (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq,  }\item[{int}]{openings }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00277}{277}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8c_source_l00058}{camq\+\_\+init()}}, \mbox{\hyperlink{cam__queue_8h_source_l00068}{cam\+\_\+ccbq\+::dev\+\_\+openings}}, \mbox{\hyperlink{cam__queue_8h_source_l00063}{cam\+\_\+ccbq\+::queue}}, and \mbox{\hyperlink{cam__queue_8h_source_l00066}{cam\+\_\+ccbq\+::total\+\_\+openings}}.



Referenced by \mbox{\hyperlink{cam__queue_8c_source_l00234}{cam\+\_\+ccbq\+\_\+alloc()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l04840}{xpt\+\_\+alloc\+\_\+device()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=267pt]{d8/d3e/cam__queue_8h_af080e7b003aa14fe7afb73390f8616ad_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_af080e7b003aa14fe7afb73390f8616ad_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_ac9402e54e81d675ae8624ad22f454d7f}\label{cam__queue_8h_ac9402e54e81d675ae8624ad22f454d7f}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_insert\_ccb@{cam\_ccbq\_insert\_ccb}}
\index{cam\_ccbq\_insert\_ccb@{cam\_ccbq\_insert\_ccb}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_insert\_ccb()}{cam\_ccbq\_insert\_ccb()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void cam\+\_\+ccbq\+\_\+insert\+\_\+ccb (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq,  }\item[{union \mbox{\hyperlink{unionccb}{ccb}} $\ast$}]{new\+\_\+ccb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00183}{183}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00052}{camq\+::array\+\_\+size}}, \mbox{\hyperlink{cam_8h_source_l00100}{CAM\+\_\+\+EXTRAQ\+\_\+\+INDEX}}, \mbox{\hyperlink{cam_8h_source_l00137}{CAM\+\_\+\+REQ\+\_\+\+CMP}}, \mbox{\hyperlink{cam__queue_8c_source_l00126}{camq\+\_\+insert()}}, \mbox{\hyperlink{cam__queue_8c_source_l00146}{camq\+\_\+remove()}}, \mbox{\hyperlink{cam__queue_8c_source_l00092}{camq\+\_\+resize()}}, \mbox{\hyperlink{cam__ccb_8h_source_l01346}{ccb\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__queue_8h_source_l00053}{camq\+::entries}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \mbox{\hyperlink{cam_8h_source_l00095}{cam\+\_\+pinfo\+::index}}, \mbox{\hyperlink{cam__ccb_8h_source_l00349}{ccb\+\_\+hdr\+::pinfo}}, \mbox{\hyperlink{cam__queue_8h_source_l00063}{cam\+\_\+ccbq\+::queue}}, \mbox{\hyperlink{cam__queue_8h_source_l00065}{cam\+\_\+ccbq\+::queue\+\_\+extra\+\_\+entries}}, \mbox{\hyperlink{cam__queue_8h_source_l00064}{cam\+\_\+ccbq\+::queue\+\_\+extra\+\_\+head}}, \mbox{\hyperlink{cam__ccb_8h_source_l00131}{XPT\+\_\+\+FC\+\_\+\+QUEUED}}, \mbox{\hyperlink{cam__ccb_8h_source_l00133}{XPT\+\_\+\+FC\+\_\+\+USER\+\_\+\+CCB}}, and \mbox{\hyperlink{cam__ccb_8h_source_l00350}{ccb\+\_\+hdr\+::xpt\+\_\+links}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l02613}{xpt\+\_\+action\+\_\+default()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_ac9402e54e81d675ae8624ad22f454d7f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_ac9402e54e81d675ae8624ad22f454d7f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a88b04101c1b336d3159fe5f9dd2d9167}\label{cam__queue_8h_a88b04101c1b336d3159fe5f9dd2d9167}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_peek\_ccb@{cam\_ccbq\_peek\_ccb}}
\index{cam\_ccbq\_peek\_ccb@{cam\_ccbq\_peek\_ccb}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_peek\_ccb()}{cam\_ccbq\_peek\_ccb()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline union \mbox{\hyperlink{unionccb}{ccb}} $\ast$ cam\+\_\+ccbq\+\_\+peek\+\_\+ccb (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq,  }\item[{int}]{index }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00250}{250}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00063}{cam\+\_\+ccbq\+::queue}}, and \mbox{\hyperlink{cam__queue_8h_source_l00051}{camq\+::queue\+\_\+array}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l03370}{xpt\+\_\+run\+\_\+devq()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a88b04101c1b336d3159fe5f9dd2d9167_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a0b82b99d54c4d5fb1a789d94335a65bf}\label{cam__queue_8h_a0b82b99d54c4d5fb1a789d94335a65bf}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_pending\_ccb\_count@{cam\_ccbq\_pending\_ccb\_count}}
\index{cam\_ccbq\_pending\_ccb\_count@{cam\_ccbq\_pending\_ccb\_count}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_pending\_ccb\_count()}{cam\_ccbq\_pending\_ccb\_count()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline int cam\+\_\+ccbq\+\_\+pending\+\_\+ccb\+\_\+count (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00170}{170}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00053}{camq\+::entries}}, \mbox{\hyperlink{cam__queue_8h_source_l00063}{cam\+\_\+ccbq\+::queue}}, and \mbox{\hyperlink{cam__queue_8h_source_l00065}{cam\+\_\+ccbq\+::queue\+\_\+extra\+\_\+entries}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l02613}{xpt\+\_\+action\+\_\+default()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a0b82b99d54c4d5fb1a789d94335a65bf_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_aa5ba24545e74d7d96695981141068ef2}\label{cam__queue_8h_aa5ba24545e74d7d96695981141068ef2}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_release\_opening@{cam\_ccbq\_release\_opening}}
\index{cam\_ccbq\_release\_opening@{cam\_ccbq\_release\_opening}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_release\_opening()}{cam\_ccbq\_release\_opening()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void cam\+\_\+ccbq\+\_\+release\+\_\+opening (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00273}{273}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00067}{cam\+\_\+ccbq\+::allocated}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l03924}{xpt\+\_\+release\+\_\+ccb()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d8/d3e/cam__queue_8h_aa5ba24545e74d7d96695981141068ef2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_ac81587eab84a0dbc03fed74ee9ab9598}\label{cam__queue_8h_ac81587eab84a0dbc03fed74ee9ab9598}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_remove\_ccb@{cam\_ccbq\_remove\_ccb}}
\index{cam\_ccbq\_remove\_ccb@{cam\_ccbq\_remove\_ccb}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_remove\_ccb()}{cam\_ccbq\_remove\_ccb()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void cam\+\_\+ccbq\+\_\+remove\+\_\+ccb (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq,  }\item[{union \mbox{\hyperlink{unionccb}{ccb}} $\ast$}]{ccb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00210}{210}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.



References \mbox{\hyperlink{cam_8h_source_l00100}{CAM\+\_\+\+EXTRAQ\+\_\+\+INDEX}}, \mbox{\hyperlink{cam_8h_source_l00096}{CAM\+\_\+\+UNQUEUED\+\_\+\+INDEX}}, \mbox{\hyperlink{cam__queue_8c_source_l00126}{camq\+\_\+insert()}}, \mbox{\hyperlink{cam__queue_8c_source_l00146}{camq\+\_\+remove()}}, \mbox{\hyperlink{cam__ccb_8h_source_l01346}{ccb\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam_8h_source_l00094}{cam\+\_\+pinfo\+::generation}}, \mbox{\hyperlink{cam_8h_source_l00112}{GENERATIONCMP}}, \mbox{\hyperlink{cam_8h_source_l00095}{cam\+\_\+pinfo\+::index}}, \mbox{\hyperlink{cam__ccb_8h_source_l00349}{ccb\+\_\+hdr\+::pinfo}}, \mbox{\hyperlink{cam_8h_source_l00086}{cam\+\_\+pinfo\+::priority}}, \mbox{\hyperlink{cam__queue_8h_source_l00063}{cam\+\_\+ccbq\+::queue}}, \mbox{\hyperlink{cam__queue_8h_source_l00065}{cam\+\_\+ccbq\+::queue\+\_\+extra\+\_\+entries}}, and \mbox{\hyperlink{cam__queue_8h_source_l00064}{cam\+\_\+ccbq\+::queue\+\_\+extra\+\_\+head}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l02613}{xpt\+\_\+action\+\_\+default()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l03370}{xpt\+\_\+run\+\_\+devq()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_ac81587eab84a0dbc03fed74ee9ab9598_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_ac81587eab84a0dbc03fed74ee9ab9598_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_acb10128288f5dd64035dd506eaf4e6ed}\label{cam__queue_8h_acb10128288f5dd64035dd506eaf4e6ed}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_resize@{cam\_ccbq\_resize}}
\index{cam\_ccbq\_resize@{cam\_ccbq\_resize}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_resize()}{cam\_ccbq\_resize()}}
{\footnotesize\ttfamily u\+\_\+int32\+\_\+t cam\+\_\+ccbq\+\_\+resize (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq,  }\item[{int}]{devices }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00261}{261}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00052}{camq\+::array\+\_\+size}}, \mbox{\hyperlink{cam_8h_source_l00137}{CAM\+\_\+\+REQ\+\_\+\+CMP}}, \mbox{\hyperlink{cam__queue_8c_source_l00092}{camq\+\_\+resize()}}, \mbox{\hyperlink{cam__queue_8h_source_l00069}{cam\+\_\+ccbq\+::dev\+\_\+active}}, \mbox{\hyperlink{cam__queue_8h_source_l00068}{cam\+\_\+ccbq\+::dev\+\_\+openings}}, \mbox{\hyperlink{cam__queue_8h_source_l00063}{cam\+\_\+ccbq\+::queue}}, and \mbox{\hyperlink{cam__queue_8h_source_l00066}{cam\+\_\+ccbq\+::total\+\_\+openings}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l04958}{xpt\+\_\+dev\+\_\+ccbq\+\_\+resize()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=294pt]{d8/d3e/cam__queue_8h_acb10128288f5dd64035dd506eaf4e6ed_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_acb10128288f5dd64035dd506eaf4e6ed_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a8bad2c4c44090a886d9cc6f4a1ca99fc}\label{cam__queue_8h_a8bad2c4c44090a886d9cc6f4a1ca99fc}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_send\_ccb@{cam\_ccbq\_send\_ccb}}
\index{cam\_ccbq\_send\_ccb@{cam\_ccbq\_send\_ccb}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_send\_ccb()}{cam\_ccbq\_send\_ccb()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void cam\+\_\+ccbq\+\_\+send\+\_\+ccb (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{queue,  }\item[{union \mbox{\hyperlink{unionccb}{ccb}} $\ast$}]{send\+\_\+ccb }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00256}{256}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.



References \mbox{\hyperlink{cam_8h_source_l00097}{CAM\+\_\+\+ACTIVE\+\_\+\+INDEX}}, \mbox{\hyperlink{cam__ccb_8h_source_l01346}{ccb\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__queue_8h_source_l00069}{cam\+\_\+ccbq\+::dev\+\_\+active}}, \mbox{\hyperlink{cam__queue_8h_source_l00068}{cam\+\_\+ccbq\+::dev\+\_\+openings}}, \mbox{\hyperlink{cam_8h_source_l00095}{cam\+\_\+pinfo\+::index}}, and \mbox{\hyperlink{cam__ccb_8h_source_l00349}{ccb\+\_\+hdr\+::pinfo}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l03370}{xpt\+\_\+run\+\_\+devq()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a8bad2c4c44090a886d9cc6f4a1ca99fc_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_ae816fd17d8099e7a084f95a762fad0a6}\label{cam__queue_8h_ae816fd17d8099e7a084f95a762fad0a6}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_ccbq\_take\_opening@{cam\_ccbq\_take\_opening}}
\index{cam\_ccbq\_take\_opening@{cam\_ccbq\_take\_opening}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_ccbq\_take\_opening()}{cam\_ccbq\_take\_opening()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void cam\+\_\+ccbq\+\_\+take\+\_\+opening (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ccbq}{cam\+\_\+ccbq}} $\ast$}]{ccbq }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__queue_8h_source_l00176}{176}} of file \mbox{\hyperlink{cam__queue_8h_source}{cam\+\_\+queue.\+h}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00067}{cam\+\_\+ccbq\+::allocated}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l04674}{xpt\+\_\+get\+\_\+ccb()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l04653}{xpt\+\_\+get\+\_\+ccb\+\_\+nowait()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d8/d3e/cam__queue_8h_ae816fd17d8099e7a084f95a762fad0a6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a1f8380a422948aad35ea6f4e62db024d}\label{cam__queue_8h_a1f8380a422948aad35ea6f4e62db024d}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_devq\_alloc@{cam\_devq\_alloc}}
\index{cam\_devq\_alloc@{cam\_devq\_alloc}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_devq\_alloc()}{cam\_devq\_alloc()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structcam__devq}{cam\+\_\+devq}} $\ast$ cam\+\_\+devq\+\_\+alloc (\begin{DoxyParamCaption}\item[{int}]{devices,  }\item[{int}]{openings }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00186}{186}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8c_source_l00203}{cam\+\_\+devq\+\_\+init()}}.



Referenced by \mbox{\hyperlink{cam__sim_8c_source_l00055}{cam\+\_\+simq\+\_\+alloc()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a1f8380a422948aad35ea6f4e62db024d_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a1f8380a422948aad35ea6f4e62db024d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a68c69e569df0e305350f945b23d6be62}\label{cam__queue_8h_a68c69e569df0e305350f945b23d6be62}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_devq\_free@{cam\_devq\_free}}
\index{cam\_devq\_free@{cam\_devq\_free}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_devq\_free()}{cam\_devq\_free()}}
{\footnotesize\ttfamily void cam\+\_\+devq\+\_\+free (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__devq}{cam\+\_\+devq}} $\ast$}]{devq }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00216}{216}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8c_source_l00084}{camq\+\_\+fini()}}, \mbox{\hyperlink{cam__queue_8h_source_l00075}{cam\+\_\+devq\+::send\+\_\+mtx}}, and \mbox{\hyperlink{cam__queue_8h_source_l00076}{cam\+\_\+devq\+::send\+\_\+queue}}.



Referenced by \mbox{\hyperlink{cam__sim_8c_source_l00061}{cam\+\_\+simq\+\_\+free()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=272pt]{d8/d3e/cam__queue_8h_a68c69e569df0e305350f945b23d6be62_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a68c69e569df0e305350f945b23d6be62_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_ad42b751273bb467f4dc2d1728e8676da}\label{cam__queue_8h_ad42b751273bb467f4dc2d1728e8676da}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_devq\_init@{cam\_devq\_init}}
\index{cam\_devq\_init@{cam\_devq\_init}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_devq\_init()}{cam\_devq\_init()}}
{\footnotesize\ttfamily int cam\+\_\+devq\+\_\+init (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__devq}{cam\+\_\+devq}} $\ast$}]{devq,  }\item[{int}]{devices,  }\item[{int}]{openings }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00203}{203}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8c_source_l00058}{camq\+\_\+init()}}, \mbox{\hyperlink{cam__queue_8h_source_l00078}{cam\+\_\+devq\+::send\+\_\+active}}, \mbox{\hyperlink{cam__queue_8h_source_l00075}{cam\+\_\+devq\+::send\+\_\+mtx}}, \mbox{\hyperlink{cam__queue_8h_source_l00077}{cam\+\_\+devq\+::send\+\_\+openings}}, and \mbox{\hyperlink{cam__queue_8h_source_l00076}{cam\+\_\+devq\+::send\+\_\+queue}}.



Referenced by \mbox{\hyperlink{cam__queue_8c_source_l00186}{cam\+\_\+devq\+\_\+alloc()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=269pt]{d8/d3e/cam__queue_8h_ad42b751273bb467f4dc2d1728e8676da_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_ad42b751273bb467f4dc2d1728e8676da_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_ae3eb5833dfabe893a0817387358df9dd}\label{cam__queue_8h_ae3eb5833dfabe893a0817387358df9dd}} 
\index{cam\_queue.h@{cam\_queue.h}!cam\_devq\_resize@{cam\_devq\_resize}}
\index{cam\_devq\_resize@{cam\_devq\_resize}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{cam\_devq\_resize()}{cam\_devq\_resize()}}
{\footnotesize\ttfamily u\+\_\+int32\+\_\+t cam\+\_\+devq\+\_\+resize (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__devq}{cam\+\_\+devq}} $\ast$}]{camq,  }\item[{int}]{openings }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00225}{225}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8c_source_l00092}{camq\+\_\+resize()}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l04840}{xpt\+\_\+alloc\+\_\+device()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l04907}{xpt\+\_\+release\+\_\+device()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=295pt]{d8/d3e/cam__queue_8h_ae3eb5833dfabe893a0817387358df9dd_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_ae3eb5833dfabe893a0817387358df9dd_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a6b98d9c94a02db39efb2460dad15af8f}\label{cam__queue_8h_a6b98d9c94a02db39efb2460dad15af8f}} 
\index{cam\_queue.h@{cam\_queue.h}!camq\_change\_priority@{camq\_change\_priority}}
\index{camq\_change\_priority@{camq\_change\_priority}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{camq\_change\_priority()}{camq\_change\_priority()}}
{\footnotesize\ttfamily void camq\+\_\+change\+\_\+priority (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcamq}{camq}} $\ast$}]{queue,  }\item[{int}]{index,  }\item[{u\+\_\+int32\+\_\+t}]{new\+\_\+priority }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00173}{173}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00053}{camq\+::entries}}, \mbox{\hyperlink{cam__queue_8c_source_l00358}{heap\+\_\+down()}}, \mbox{\hyperlink{cam__queue_8c_source_l00336}{heap\+\_\+up()}}, \mbox{\hyperlink{cam_8h_source_l00086}{cam\+\_\+pinfo\+::priority}}, and \mbox{\hyperlink{cam__queue_8h_source_l00051}{camq\+::queue\+\_\+array}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l03263}{xpt\+\_\+schedule\+\_\+dev()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a6b98d9c94a02db39efb2460dad15af8f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a6b98d9c94a02db39efb2460dad15af8f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a0745e84207d09f016a5b565d10cfee0a}\label{cam__queue_8h_a0745e84207d09f016a5b565d10cfee0a}} 
\index{cam\_queue.h@{cam\_queue.h}!camq\_fini@{camq\_fini}}
\index{camq\_fini@{camq\_fini}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{camq\_fini()}{camq\_fini()}}
{\footnotesize\ttfamily void camq\+\_\+fini (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcamq}{camq}} $\ast$}]{queue }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00084}{84}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00051}{camq\+::queue\+\_\+array}}.



Referenced by \mbox{\hyperlink{cam__queue_8c_source_l00289}{cam\+\_\+ccbq\+\_\+fini()}}, and \mbox{\hyperlink{cam__queue_8c_source_l00216}{cam\+\_\+devq\+\_\+free()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a0745e84207d09f016a5b565d10cfee0a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a6556967440b36636025f054fe858dde3}\label{cam__queue_8h_a6556967440b36636025f054fe858dde3}} 
\index{cam\_queue.h@{cam\_queue.h}!camq\_init@{camq\_init}}
\index{camq\_init@{camq\_init}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{camq\_init()}{camq\_init()}}
{\footnotesize\ttfamily int camq\+\_\+init (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcamq}{camq}} $\ast$}]{camq,  }\item[{int}]{size }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00058}{58}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00052}{camq\+::array\+\_\+size}}, and \mbox{\hyperlink{cam__queue_8h_source_l00051}{camq\+::queue\+\_\+array}}.



Referenced by \mbox{\hyperlink{cam__queue_8c_source_l00277}{cam\+\_\+ccbq\+\_\+init()}}, and \mbox{\hyperlink{cam__queue_8c_source_l00203}{cam\+\_\+devq\+\_\+init()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a6556967440b36636025f054fe858dde3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_a8ca07f8eba8e6dfcb814bb756a58942b}\label{cam__queue_8h_a8ca07f8eba8e6dfcb814bb756a58942b}} 
\index{cam\_queue.h@{cam\_queue.h}!camq\_insert@{camq\_insert}}
\index{camq\_insert@{camq\_insert}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{camq\_insert()}{camq\_insert()}}
{\footnotesize\ttfamily void camq\+\_\+insert (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcamq}{camq}} $\ast$}]{queue,  }\item[{\mbox{\hyperlink{structcam__pinfo}{cam\+\_\+pinfo}} $\ast$}]{new\+\_\+entry }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00126}{126}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00052}{camq\+::array\+\_\+size}}, \mbox{\hyperlink{cam__queue_8h_source_l00053}{camq\+::entries}}, \mbox{\hyperlink{cam__queue_8c_source_l00336}{heap\+\_\+up()}}, \mbox{\hyperlink{cam_8h_source_l00095}{cam\+\_\+pinfo\+::index}}, and \mbox{\hyperlink{cam__queue_8h_source_l00051}{camq\+::queue\+\_\+array}}.



Referenced by \mbox{\hyperlink{cam__queue_8h_source_l00183}{cam\+\_\+ccbq\+\_\+insert\+\_\+ccb()}}, \mbox{\hyperlink{cam__queue_8h_source_l00210}{cam\+\_\+ccbq\+\_\+remove\+\_\+ccb()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l03263}{xpt\+\_\+schedule\+\_\+dev()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a8ca07f8eba8e6dfcb814bb756a58942b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a8ca07f8eba8e6dfcb814bb756a58942b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_aceb69b00a057e05d894e44710436d9ba}\label{cam__queue_8h_aceb69b00a057e05d894e44710436d9ba}} 
\index{cam\_queue.h@{cam\_queue.h}!camq\_remove@{camq\_remove}}
\index{camq\_remove@{camq\_remove}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{camq\_remove()}{camq\_remove()}}
{\footnotesize\ttfamily \mbox{\hyperlink{structcam__pinfo}{cam\+\_\+pinfo}} $\ast$ camq\+\_\+remove (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcamq}{camq}} $\ast$}]{queue,  }\item[{int}]{index }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00146}{146}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam_8h_source_l00096}{CAM\+\_\+\+UNQUEUED\+\_\+\+INDEX}}, \mbox{\hyperlink{cam__queue_8h_source_l00053}{camq\+::entries}}, \mbox{\hyperlink{cam__queue_8c_source_l00358}{heap\+\_\+down()}}, \mbox{\hyperlink{cam_8h_source_l00095}{cam\+\_\+pinfo\+::index}}, and \mbox{\hyperlink{cam__queue_8h_source_l00051}{camq\+::queue\+\_\+array}}.



Referenced by \mbox{\hyperlink{cam__queue_8h_source_l00183}{cam\+\_\+ccbq\+\_\+insert\+\_\+ccb()}}, \mbox{\hyperlink{cam__queue_8h_source_l00210}{cam\+\_\+ccbq\+\_\+remove\+\_\+ccb()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04420}{xpt\+\_\+freeze\+\_\+devq\+\_\+device()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l03370}{xpt\+\_\+run\+\_\+devq()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_aceb69b00a057e05d894e44710436d9ba_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_aceb69b00a057e05d894e44710436d9ba_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_ab787582d57cd74697512851155f9e6be}\label{cam__queue_8h_ab787582d57cd74697512851155f9e6be}} 
\index{cam\_queue.h@{cam\_queue.h}!camq\_resize@{camq\_resize}}
\index{camq\_resize@{camq\_resize}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{camq\_resize()}{camq\_resize()}}
{\footnotesize\ttfamily u\+\_\+int32\+\_\+t camq\+\_\+resize (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcamq}{camq}} $\ast$}]{queue,  }\item[{int}]{new\+\_\+size }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__queue_8c_source_l00092}{92}} of file \mbox{\hyperlink{cam__queue_8c_source}{cam\+\_\+queue.\+c}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00052}{camq\+::array\+\_\+size}}, \mbox{\hyperlink{cam_8h_source_l00137}{CAM\+\_\+\+REQ\+\_\+\+CMP}}, \mbox{\hyperlink{cam_8h_source_l00247}{CAM\+\_\+\+RESRC\+\_\+\+UNAVAIL}}, \mbox{\hyperlink{cam__queue_8h_source_l00053}{camq\+::entries}}, and \mbox{\hyperlink{cam__queue_8h_source_l00051}{camq\+::queue\+\_\+array}}.



Referenced by \mbox{\hyperlink{cam__queue_8h_source_l00183}{cam\+\_\+ccbq\+\_\+insert\+\_\+ccb()}}, \mbox{\hyperlink{cam__queue_8c_source_l00261}{cam\+\_\+ccbq\+\_\+resize()}}, and \mbox{\hyperlink{cam__queue_8c_source_l00225}{cam\+\_\+devq\+\_\+resize()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_ab787582d57cd74697512851155f9e6be_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__queue_8h_ad2c903b0c9101edfb41bab23a66f13b2}\label{cam__queue_8h_ad2c903b0c9101edfb41bab23a66f13b2}} 
\index{cam\_queue.h@{cam\_queue.h}!LIST\_HEAD@{LIST\_HEAD}}
\index{LIST\_HEAD@{LIST\_HEAD}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{LIST\_HEAD()}{LIST\_HEAD()}}
{\footnotesize\ttfamily LIST\+\_\+\+HEAD (\begin{DoxyParamCaption}\item[{ccb\+\_\+hdr\+\_\+list}]{,  }\item[{\mbox{\hyperlink{structccb__hdr}{ccb\+\_\+hdr}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{cam__queue_8h_adce8343f0dc360908574d91ac70f4a7f}\label{cam__queue_8h_adce8343f0dc360908574d91ac70f4a7f}} 
\index{cam\_queue.h@{cam\_queue.h}!SLIST\_HEAD@{SLIST\_HEAD}}
\index{SLIST\_HEAD@{SLIST\_HEAD}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{SLIST\_HEAD()}{SLIST\_HEAD()}}
{\footnotesize\ttfamily SLIST\+\_\+\+HEAD (\begin{DoxyParamCaption}\item[{ccb\+\_\+hdr\+\_\+slist}]{,  }\item[{\mbox{\hyperlink{structccb__hdr}{ccb\+\_\+hdr}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{cam__queue_8h_a2c1b7587c89969d66bccfd5502f6c7c0}\label{cam__queue_8h_a2c1b7587c89969d66bccfd5502f6c7c0}} 
\index{cam\_queue.h@{cam\_queue.h}!TAILQ\_HEAD@{TAILQ\_HEAD}}
\index{TAILQ\_HEAD@{TAILQ\_HEAD}!cam\_queue.h@{cam\_queue.h}}
\doxysubsubsection{\texorpdfstring{TAILQ\_HEAD()}{TAILQ\_HEAD()}}
{\footnotesize\ttfamily TAILQ\+\_\+\+HEAD (\begin{DoxyParamCaption}\item[{ccb\+\_\+hdr\+\_\+tailq}]{,  }\item[{\mbox{\hyperlink{structccb__hdr}{ccb\+\_\+hdr}}}]{ }\end{DoxyParamCaption})}



Referenced by \mbox{\hyperlink{ata__da_8c_source_l02850}{adadone()}}, \mbox{\hyperlink{ctl__backend__block_8c_source_l01213}{ctl\+\_\+be\+\_\+block\+\_\+dispatch\+\_\+dev()}}, \mbox{\hyperlink{scsi__da_8c_source_l04532}{dadone()}}, and \mbox{\hyperlink{nvme__da_8c_source_l01153}{ndadone()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d3e/cam__queue_8h_a2c1b7587c89969d66bccfd5502f6c7c0_icgraph}
\end{center}
\end{figure}
