\hypertarget{cam__xpt__internal_8h}{}\doxysection{cam/cam\+\_\+xpt\+\_\+internal.h File Reference}
\label{cam__xpt__internal_8h}\index{cam/cam\_xpt\_internal.h@{cam/cam\_xpt\_internal.h}}
{\ttfamily \#include $<$sys/taskqueue.\+h$>$}\newline
Include dependency graph for cam\+\_\+xpt\+\_\+internal.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=214pt]{d0/d62/cam__xpt__internal_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]{d8/d13/cam__xpt__internal_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structxpt__xport__ops}{xpt\+\_\+xport\+\_\+ops}}
\item 
struct \mbox{\hyperlink{structxpt__xport}{xpt\+\_\+xport}}
\item 
struct \mbox{\hyperlink{structxpt__proto__ops}{xpt\+\_\+proto\+\_\+ops}}
\item 
struct \mbox{\hyperlink{structxpt__proto}{xpt\+\_\+proto}}
\item 
struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}}
\item 
struct \mbox{\hyperlink{structcam__et}{cam\+\_\+et}}
\item 
struct \mbox{\hyperlink{structcam__eb}{cam\+\_\+eb}}
\item 
struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_aadf11b79d69eacd34e9c507d414a0f3d}{CAM\+\_\+\+XPT\+\_\+\+XPORT}}(data)~ DATA\+\_\+\+SET(cam\+\_\+xpt\+\_\+xport\+\_\+set, data)
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_a501742e0cb206559408cc7b65689641d}{CAM\+\_\+\+XPT\+\_\+\+PROTO}}(data)~ DATA\+\_\+\+SET(cam\+\_\+xpt\+\_\+proto\+\_\+set, data)
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_a378601270c3c4caaa8c30d76901299fe}{CAM\+\_\+\+DEV\+\_\+\+UNCONFIGURED}}~0x01
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_a84bdff7b362347724ebba49af78d10cd}{CAM\+\_\+\+DEV\+\_\+\+REL\+\_\+\+TIMEOUT\+\_\+\+PENDING}}~0x02
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_a41e7fd8717b30aed3ebc5679924348fd}{CAM\+\_\+\+DEV\+\_\+\+REL\+\_\+\+ON\+\_\+\+COMPLETE}}~0x04
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_ae9cb5253fe2727d24d21749447861e54}{CAM\+\_\+\+DEV\+\_\+\+REL\+\_\+\+ON\+\_\+\+QUEUE\+\_\+\+EMPTY}}~0x08
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_a9a3734688d136304232eafe4a96b6e7a}{CAM\+\_\+\+DEV\+\_\+\+TAG\+\_\+\+AFTER\+\_\+\+COUNT}}~0x20
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_a4dce23b634b861519db78fcbcdac1d9e}{CAM\+\_\+\+DEV\+\_\+\+INQUIRY\+\_\+\+DATA\+\_\+\+VALID}}~0x40
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_afb723c748ea07a808923969c065c627d}{CAM\+\_\+\+DEV\+\_\+\+IN\+\_\+\+DV}}~0x80
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_ade3e552b4f7adabd797395d450756950}{CAM\+\_\+\+DEV\+\_\+\+DV\+\_\+\+HIT\+\_\+\+BOTTOM}}~0x100
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_afa1765a04b4df5ebce9f5d4e3536f2da}{CAM\+\_\+\+DEV\+\_\+\+IDENTIFY\+\_\+\+DATA\+\_\+\+VALID}}~0x200
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_aeaa6d709249bab8e1885db52dd66a175}{CAM\+\_\+\+TAG\+\_\+\+DELAY\+\_\+\+COUNT}}~5
\item 
\#define \mbox{\hyperlink{cam__xpt__internal_8h_ad26dddc95b18919e2cac3526e827861f}{CAM\+\_\+\+EB\+\_\+\+RUNQ\+\_\+\+SCHEDULED}}~0x01
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$($\ast$ \mbox{\hyperlink{cam__xpt__internal_8h_a36bdfdc3f4e32f368502f697834bfbdd}{xpt\+\_\+alloc\+\_\+device\+\_\+func}}) (struct \mbox{\hyperlink{structcam__eb}{cam\+\_\+eb}} $\ast$bus, struct \mbox{\hyperlink{structcam__et}{cam\+\_\+et}} $\ast$target, \mbox{\hyperlink{cam_8h_afed71736dc694710016fe1e7c75b6a62}{lun\+\_\+id\+\_\+t}} lun\+\_\+id)
\item 
typedef void($\ast$ \mbox{\hyperlink{cam__xpt__internal_8h_a55fb6665c0843b60667aa0ee9b3a191a}{xpt\+\_\+release\+\_\+device\+\_\+func}}) (struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$device)
\item 
typedef void($\ast$ \mbox{\hyperlink{cam__xpt__internal_8h_afc2df2f7f3d78f4ccdf8eb81eb71812e}{xpt\+\_\+action\+\_\+func}}) (union \mbox{\hyperlink{unionccb}{ccb}} $\ast$start\+\_\+ccb)
\item 
typedef void($\ast$ \mbox{\hyperlink{cam__xpt__internal_8h_ac053dd17015cd6926bf1d1dcbf0bdc96}{xpt\+\_\+dev\+\_\+async\+\_\+func}}) (u\+\_\+int32\+\_\+t async\+\_\+code, struct \mbox{\hyperlink{structcam__eb}{cam\+\_\+eb}} $\ast$bus, struct \mbox{\hyperlink{structcam__et}{cam\+\_\+et}} $\ast$target, struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$device, void $\ast$async\+\_\+arg)
\item 
typedef void($\ast$ \mbox{\hyperlink{cam__xpt__internal_8h_ae263cd4a34b8bbbac72f20bdb8ed41b1}{xpt\+\_\+announce\+\_\+periph\+\_\+func}}) (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\item 
typedef void($\ast$ \mbox{\hyperlink{cam__xpt__internal_8h_a7ac9d0dbc1af3ad54e36a8c66f8bb604}{xpt\+\_\+announce\+\_\+periph\+\_\+sbuf\+\_\+func}}) (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, struct sbuf $\ast$sbuf)
\item 
typedef void($\ast$ \mbox{\hyperlink{cam__xpt__internal_8h_aa035ede83525d44d366a5f9f6c8bde41}{xpt\+\_\+proto\+\_\+announce\+\_\+func}}) (struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$)
\item 
typedef void($\ast$ \mbox{\hyperlink{cam__xpt__internal_8h_ad971dda6ce133e70bc0d0fd942e8e800}{xpt\+\_\+proto\+\_\+announce\+\_\+sbuf\+\_\+func}}) (struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$, struct sbuf $\ast$)
\item 
typedef void($\ast$ \mbox{\hyperlink{cam__xpt__internal_8h_ae8a665b5c6d8a91fb706118605636ea5}{xpt\+\_\+proto\+\_\+debug\+\_\+out\+\_\+func}}) (union \mbox{\hyperlink{unionccb}{ccb}} $\ast$)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{cam__xpt__internal_8h_a7c4828a9c6fb2b52d62f3be99dfb1722}{SET\+\_\+\+DECLARE}} (cam\+\_\+xpt\+\_\+xport\+\_\+set, struct \mbox{\hyperlink{structxpt__xport}{xpt\+\_\+xport}})
\item 
\mbox{\hyperlink{cam__xpt__internal_8h_a2bf58c2baebbf9d1ee4474bf2366adf3}{SET\+\_\+\+DECLARE}} (cam\+\_\+xpt\+\_\+proto\+\_\+set, struct \mbox{\hyperlink{structxpt__proto}{xpt\+\_\+proto}})
\item 
struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$ \mbox{\hyperlink{cam__xpt__internal_8h_ad60ccf109355adedbf688ff3480061f2}{xpt\+\_\+alloc\+\_\+device}} (struct \mbox{\hyperlink{structcam__eb}{cam\+\_\+eb}} $\ast$bus, struct \mbox{\hyperlink{structcam__et}{cam\+\_\+et}} $\ast$target, \mbox{\hyperlink{cam_8h_afed71736dc694710016fe1e7c75b6a62}{lun\+\_\+id\+\_\+t}} lun\+\_\+id)
\item 
void \mbox{\hyperlink{cam__xpt__internal_8h_a01bdf0561d2c7b64751461a89673df2e}{xpt\+\_\+acquire\+\_\+device}} (struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$device)
\item 
void \mbox{\hyperlink{cam__xpt__internal_8h_a33e988a8edce9afeed8fbf53f8114163}{xpt\+\_\+release\+\_\+device}} (struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$device)
\item 
u\+\_\+int32\+\_\+t \mbox{\hyperlink{cam__xpt__internal_8h_aed3014db44ac020729179ee619739084}{xpt\+\_\+dev\+\_\+ccbq\+\_\+resize}} (struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$path, int newopenings)
\item 
void \mbox{\hyperlink{cam__xpt__internal_8h_a2d32cd31929e656475e99dd720955e75}{xpt\+\_\+start\+\_\+tags}} (struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$path)
\item 
void \mbox{\hyperlink{cam__xpt__internal_8h_ab8a4bce48c1c51d3bc007b96d2c3bf61}{xpt\+\_\+stop\+\_\+tags}} (struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$path)
\item 
\mbox{\hyperlink{cam__xpt__internal_8h_a0f1f0fdeaf56b965dc94b353d55f5115}{MALLOC\+\_\+\+DECLARE}} (M\+\_\+\+CAMXPT)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{cam__xpt__internal_8h_ade3e552b4f7adabd797395d450756950}\label{cam__xpt__internal_8h_ade3e552b4f7adabd797395d450756950}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_DEV\_DV\_HIT\_BOTTOM@{CAM\_DEV\_DV\_HIT\_BOTTOM}}
\index{CAM\_DEV\_DV\_HIT\_BOTTOM@{CAM\_DEV\_DV\_HIT\_BOTTOM}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_DEV\_DV\_HIT\_BOTTOM}{CAM\_DEV\_DV\_HIT\_BOTTOM}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+DEV\+\_\+\+DV\+\_\+\+HIT\+\_\+\+BOTTOM~0x100}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00147}{147}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_afa1765a04b4df5ebce9f5d4e3536f2da}\label{cam__xpt__internal_8h_afa1765a04b4df5ebce9f5d4e3536f2da}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_DEV\_IDENTIFY\_DATA\_VALID@{CAM\_DEV\_IDENTIFY\_DATA\_VALID}}
\index{CAM\_DEV\_IDENTIFY\_DATA\_VALID@{CAM\_DEV\_IDENTIFY\_DATA\_VALID}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_DEV\_IDENTIFY\_DATA\_VALID}{CAM\_DEV\_IDENTIFY\_DATA\_VALID}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+DEV\+\_\+\+IDENTIFY\+\_\+\+DATA\+\_\+\+VALID~0x200}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00148}{148}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_afb723c748ea07a808923969c065c627d}\label{cam__xpt__internal_8h_afb723c748ea07a808923969c065c627d}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_DEV\_IN\_DV@{CAM\_DEV\_IN\_DV}}
\index{CAM\_DEV\_IN\_DV@{CAM\_DEV\_IN\_DV}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_DEV\_IN\_DV}{CAM\_DEV\_IN\_DV}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+DEV\+\_\+\+IN\+\_\+\+DV~0x80}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00146}{146}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_a4dce23b634b861519db78fcbcdac1d9e}\label{cam__xpt__internal_8h_a4dce23b634b861519db78fcbcdac1d9e}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_DEV\_INQUIRY\_DATA\_VALID@{CAM\_DEV\_INQUIRY\_DATA\_VALID}}
\index{CAM\_DEV\_INQUIRY\_DATA\_VALID@{CAM\_DEV\_INQUIRY\_DATA\_VALID}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_DEV\_INQUIRY\_DATA\_VALID}{CAM\_DEV\_INQUIRY\_DATA\_VALID}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+DEV\+\_\+\+INQUIRY\+\_\+\+DATA\+\_\+\+VALID~0x40}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00145}{145}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_a41e7fd8717b30aed3ebc5679924348fd}\label{cam__xpt__internal_8h_a41e7fd8717b30aed3ebc5679924348fd}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_DEV\_REL\_ON\_COMPLETE@{CAM\_DEV\_REL\_ON\_COMPLETE}}
\index{CAM\_DEV\_REL\_ON\_COMPLETE@{CAM\_DEV\_REL\_ON\_COMPLETE}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_DEV\_REL\_ON\_COMPLETE}{CAM\_DEV\_REL\_ON\_COMPLETE}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+DEV\+\_\+\+REL\+\_\+\+ON\+\_\+\+COMPLETE~0x04}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00142}{142}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_ae9cb5253fe2727d24d21749447861e54}\label{cam__xpt__internal_8h_ae9cb5253fe2727d24d21749447861e54}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_DEV\_REL\_ON\_QUEUE\_EMPTY@{CAM\_DEV\_REL\_ON\_QUEUE\_EMPTY}}
\index{CAM\_DEV\_REL\_ON\_QUEUE\_EMPTY@{CAM\_DEV\_REL\_ON\_QUEUE\_EMPTY}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_DEV\_REL\_ON\_QUEUE\_EMPTY}{CAM\_DEV\_REL\_ON\_QUEUE\_EMPTY}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+DEV\+\_\+\+REL\+\_\+\+ON\+\_\+\+QUEUE\+\_\+\+EMPTY~0x08}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00143}{143}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_a84bdff7b362347724ebba49af78d10cd}\label{cam__xpt__internal_8h_a84bdff7b362347724ebba49af78d10cd}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_DEV\_REL\_TIMEOUT\_PENDING@{CAM\_DEV\_REL\_TIMEOUT\_PENDING}}
\index{CAM\_DEV\_REL\_TIMEOUT\_PENDING@{CAM\_DEV\_REL\_TIMEOUT\_PENDING}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_DEV\_REL\_TIMEOUT\_PENDING}{CAM\_DEV\_REL\_TIMEOUT\_PENDING}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+DEV\+\_\+\+REL\+\_\+\+TIMEOUT\+\_\+\+PENDING~0x02}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00141}{141}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_a9a3734688d136304232eafe4a96b6e7a}\label{cam__xpt__internal_8h_a9a3734688d136304232eafe4a96b6e7a}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_DEV\_TAG\_AFTER\_COUNT@{CAM\_DEV\_TAG\_AFTER\_COUNT}}
\index{CAM\_DEV\_TAG\_AFTER\_COUNT@{CAM\_DEV\_TAG\_AFTER\_COUNT}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_DEV\_TAG\_AFTER\_COUNT}{CAM\_DEV\_TAG\_AFTER\_COUNT}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+DEV\+\_\+\+TAG\+\_\+\+AFTER\+\_\+\+COUNT~0x20}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00144}{144}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_a378601270c3c4caaa8c30d76901299fe}\label{cam__xpt__internal_8h_a378601270c3c4caaa8c30d76901299fe}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_DEV\_UNCONFIGURED@{CAM\_DEV\_UNCONFIGURED}}
\index{CAM\_DEV\_UNCONFIGURED@{CAM\_DEV\_UNCONFIGURED}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_DEV\_UNCONFIGURED}{CAM\_DEV\_UNCONFIGURED}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+DEV\+\_\+\+UNCONFIGURED~0x01}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00140}{140}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_ad26dddc95b18919e2cac3526e827861f}\label{cam__xpt__internal_8h_ad26dddc95b18919e2cac3526e827861f}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_EB\_RUNQ\_SCHEDULED@{CAM\_EB\_RUNQ\_SCHEDULED}}
\index{CAM\_EB\_RUNQ\_SCHEDULED@{CAM\_EB\_RUNQ\_SCHEDULED}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_EB\_RUNQ\_SCHEDULED}{CAM\_EB\_RUNQ\_SCHEDULED}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+EB\+\_\+\+RUNQ\+\_\+\+SCHEDULED~0x01}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00192}{192}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_aeaa6d709249bab8e1885db52dd66a175}\label{cam__xpt__internal_8h_aeaa6d709249bab8e1885db52dd66a175}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_TAG\_DELAY\_COUNT@{CAM\_TAG\_DELAY\_COUNT}}
\index{CAM\_TAG\_DELAY\_COUNT@{CAM\_TAG\_DELAY\_COUNT}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_TAG\_DELAY\_COUNT}{CAM\_TAG\_DELAY\_COUNT}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+TAG\+\_\+\+DELAY\+\_\+\+COUNT~5}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00150}{150}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_a501742e0cb206559408cc7b65689641d}\label{cam__xpt__internal_8h_a501742e0cb206559408cc7b65689641d}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_XPT\_PROTO@{CAM\_XPT\_PROTO}}
\index{CAM\_XPT\_PROTO@{CAM\_XPT\_PROTO}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_XPT\_PROTO}{CAM\_XPT\_PROTO}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+XPT\+\_\+\+PROTO(\begin{DoxyParamCaption}\item[{}]{data }\end{DoxyParamCaption})~ DATA\+\_\+\+SET(cam\+\_\+xpt\+\_\+proto\+\_\+set, data)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00092}{92}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_aadf11b79d69eacd34e9c507d414a0f3d}\label{cam__xpt__internal_8h_aadf11b79d69eacd34e9c507d414a0f3d}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!CAM\_XPT\_XPORT@{CAM\_XPT\_XPORT}}
\index{CAM\_XPT\_XPORT@{CAM\_XPT\_XPORT}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{CAM\_XPT\_XPORT}{CAM\_XPT\_XPORT}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+XPT\+\_\+\+XPORT(\begin{DoxyParamCaption}\item[{}]{data }\end{DoxyParamCaption})~ DATA\+\_\+\+SET(cam\+\_\+xpt\+\_\+xport\+\_\+set, data)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00070}{70}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{cam__xpt__internal_8h_afc2df2f7f3d78f4ccdf8eb81eb71812e}\label{cam__xpt__internal_8h_afc2df2f7f3d78f4ccdf8eb81eb71812e}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_action\_func@{xpt\_action\_func}}
\index{xpt\_action\_func@{xpt\_action\_func}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_action\_func}{xpt\_action\_func}}
{\footnotesize\ttfamily typedef void($\ast$ xpt\+\_\+action\+\_\+func) (union \mbox{\hyperlink{unionccb}{ccb}} $\ast$start\+\_\+ccb)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00045}{45}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_a36bdfdc3f4e32f368502f697834bfbdd}\label{cam__xpt__internal_8h_a36bdfdc3f4e32f368502f697834bfbdd}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_alloc\_device\_func@{xpt\_alloc\_device\_func}}
\index{xpt\_alloc\_device\_func@{xpt\_alloc\_device\_func}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_alloc\_device\_func}{xpt\_alloc\_device\_func}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$($\ast$ xpt\+\_\+alloc\+\_\+device\+\_\+func) (struct \mbox{\hyperlink{structcam__eb}{cam\+\_\+eb}} $\ast$bus, struct \mbox{\hyperlink{structcam__et}{cam\+\_\+et}} $\ast$target, \mbox{\hyperlink{cam_8h_afed71736dc694710016fe1e7c75b6a62}{lun\+\_\+id\+\_\+t}} lun\+\_\+id)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00001}{1}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_ae263cd4a34b8bbbac72f20bdb8ed41b1}\label{cam__xpt__internal_8h_ae263cd4a34b8bbbac72f20bdb8ed41b1}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_announce\_periph\_func@{xpt\_announce\_periph\_func}}
\index{xpt\_announce\_periph\_func@{xpt\_announce\_periph\_func}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_announce\_periph\_func}{xpt\_announce\_periph\_func}}
{\footnotesize\ttfamily typedef void($\ast$ xpt\+\_\+announce\+\_\+periph\+\_\+func) (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00051}{51}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_a7ac9d0dbc1af3ad54e36a8c66f8bb604}\label{cam__xpt__internal_8h_a7ac9d0dbc1af3ad54e36a8c66f8bb604}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_announce\_periph\_sbuf\_func@{xpt\_announce\_periph\_sbuf\_func}}
\index{xpt\_announce\_periph\_sbuf\_func@{xpt\_announce\_periph\_sbuf\_func}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_announce\_periph\_sbuf\_func}{xpt\_announce\_periph\_sbuf\_func}}
{\footnotesize\ttfamily typedef void($\ast$ xpt\+\_\+announce\+\_\+periph\+\_\+sbuf\+\_\+func) (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, struct sbuf $\ast$sbuf)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00052}{52}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_ac053dd17015cd6926bf1d1dcbf0bdc96}\label{cam__xpt__internal_8h_ac053dd17015cd6926bf1d1dcbf0bdc96}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_dev\_async\_func@{xpt\_dev\_async\_func}}
\index{xpt\_dev\_async\_func@{xpt\_dev\_async\_func}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_dev\_async\_func}{xpt\_dev\_async\_func}}
{\footnotesize\ttfamily typedef void($\ast$ xpt\+\_\+dev\+\_\+async\+\_\+func) (u\+\_\+int32\+\_\+t async\+\_\+code, struct \mbox{\hyperlink{structcam__eb}{cam\+\_\+eb}} $\ast$bus, struct \mbox{\hyperlink{structcam__et}{cam\+\_\+et}} $\ast$target, struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$device, void $\ast$async\+\_\+arg)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00046}{46}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_aa035ede83525d44d366a5f9f6c8bde41}\label{cam__xpt__internal_8h_aa035ede83525d44d366a5f9f6c8bde41}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_proto\_announce\_func@{xpt\_proto\_announce\_func}}
\index{xpt\_proto\_announce\_func@{xpt\_proto\_announce\_func}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_proto\_announce\_func}{xpt\_proto\_announce\_func}}
{\footnotesize\ttfamily typedef void($\ast$ xpt\+\_\+proto\+\_\+announce\+\_\+func) (struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00073}{73}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_ad971dda6ce133e70bc0d0fd942e8e800}\label{cam__xpt__internal_8h_ad971dda6ce133e70bc0d0fd942e8e800}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_proto\_announce\_sbuf\_func@{xpt\_proto\_announce\_sbuf\_func}}
\index{xpt\_proto\_announce\_sbuf\_func@{xpt\_proto\_announce\_sbuf\_func}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_proto\_announce\_sbuf\_func}{xpt\_proto\_announce\_sbuf\_func}}
{\footnotesize\ttfamily typedef void($\ast$ xpt\+\_\+proto\+\_\+announce\+\_\+sbuf\+\_\+func) (struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$, struct sbuf $\ast$)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00074}{74}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_ae8a665b5c6d8a91fb706118605636ea5}\label{cam__xpt__internal_8h_ae8a665b5c6d8a91fb706118605636ea5}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_proto\_debug\_out\_func@{xpt\_proto\_debug\_out\_func}}
\index{xpt\_proto\_debug\_out\_func@{xpt\_proto\_debug\_out\_func}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_proto\_debug\_out\_func}{xpt\_proto\_debug\_out\_func}}
{\footnotesize\ttfamily typedef void($\ast$ xpt\+\_\+proto\+\_\+debug\+\_\+out\+\_\+func) (union \mbox{\hyperlink{unionccb}{ccb}} $\ast$)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00075}{75}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.

\mbox{\Hypertarget{cam__xpt__internal_8h_a55fb6665c0843b60667aa0ee9b3a191a}\label{cam__xpt__internal_8h_a55fb6665c0843b60667aa0ee9b3a191a}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_release\_device\_func@{xpt\_release\_device\_func}}
\index{xpt\_release\_device\_func@{xpt\_release\_device\_func}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_release\_device\_func}{xpt\_release\_device\_func}}
{\footnotesize\ttfamily typedef void($\ast$ xpt\+\_\+release\+\_\+device\+\_\+func) (struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$device)}



Definition at line \mbox{\hyperlink{cam__xpt__internal_8h_source_l00044}{44}} of file \mbox{\hyperlink{cam__xpt__internal_8h_source}{cam\+\_\+xpt\+\_\+internal.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{cam__xpt__internal_8h_a0f1f0fdeaf56b965dc94b353d55f5115}\label{cam__xpt__internal_8h_a0f1f0fdeaf56b965dc94b353d55f5115}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!MALLOC\_DECLARE@{MALLOC\_DECLARE}}
\index{MALLOC\_DECLARE@{MALLOC\_DECLARE}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{MALLOC\_DECLARE()}{MALLOC\_DECLARE()}}
{\footnotesize\ttfamily MALLOC\+\_\+\+DECLARE (\begin{DoxyParamCaption}\item[{M\+\_\+\+CAMXPT}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{cam__xpt__internal_8h_a2bf58c2baebbf9d1ee4474bf2366adf3}\label{cam__xpt__internal_8h_a2bf58c2baebbf9d1ee4474bf2366adf3}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!SET\_DECLARE@{SET\_DECLARE}}
\index{SET\_DECLARE@{SET\_DECLARE}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{SET\_DECLARE()}{SET\_DECLARE()}\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily SET\+\_\+\+DECLARE (\begin{DoxyParamCaption}\item[{cam\+\_\+xpt\+\_\+proto\+\_\+set}]{,  }\item[{struct \mbox{\hyperlink{structxpt__proto}{xpt\+\_\+proto}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{cam__xpt__internal_8h_a7c4828a9c6fb2b52d62f3be99dfb1722}\label{cam__xpt__internal_8h_a7c4828a9c6fb2b52d62f3be99dfb1722}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!SET\_DECLARE@{SET\_DECLARE}}
\index{SET\_DECLARE@{SET\_DECLARE}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{SET\_DECLARE()}{SET\_DECLARE()}\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily SET\+\_\+\+DECLARE (\begin{DoxyParamCaption}\item[{cam\+\_\+xpt\+\_\+xport\+\_\+set}]{,  }\item[{struct \mbox{\hyperlink{structxpt__xport}{xpt\+\_\+xport}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{cam__xpt__internal_8h_a01bdf0561d2c7b64751461a89673df2e}\label{cam__xpt__internal_8h_a01bdf0561d2c7b64751461a89673df2e}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_acquire\_device@{xpt\_acquire\_device}}
\index{xpt\_acquire\_device@{xpt\_acquire\_device}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_acquire\_device()}{xpt\_acquire\_device()}}
{\footnotesize\ttfamily void xpt\+\_\+acquire\+\_\+device (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$}]{device }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__xpt_8c_source_l04897}{4897}} of file \mbox{\hyperlink{cam__xpt_8c_source}{cam\+\_\+xpt.\+c}}.



References \mbox{\hyperlink{cam__xpt__internal_8h_source_l00170}{cam\+\_\+et\+::bus}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00197}{cam\+\_\+eb\+::eb\+\_\+mtx}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00152}{cam\+\_\+ed\+::refcount}}, and \mbox{\hyperlink{cam__xpt__internal_8h_source_l00103}{cam\+\_\+ed\+::target}}.



Referenced by \mbox{\hyperlink{ata__xpt_8c_source_l00743}{aprobedone()}}, \mbox{\hyperlink{mmc__xpt_8c_source_l00818}{mmcprobe\+\_\+done()}}, \mbox{\hyperlink{nvme__xpt_8c_source_l00305}{nvme\+\_\+probe\+\_\+done()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00178}{pmpfreeze()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l01170}{probedone()}}, \mbox{\hyperlink{cam__xpt_8c_source_l02613}{xpt\+\_\+action\+\_\+default()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04207}{xpt\+\_\+async\+\_\+process\+\_\+dev()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03635}{xpt\+\_\+clone\+\_\+path()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l00801}{xpt\+\_\+scanner\+\_\+thread()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_a01bdf0561d2c7b64751461a89673df2e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__xpt__internal_8h_ad60ccf109355adedbf688ff3480061f2}\label{cam__xpt__internal_8h_ad60ccf109355adedbf688ff3480061f2}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_alloc\_device@{xpt\_alloc\_device}}
\index{xpt\_alloc\_device@{xpt\_alloc\_device}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_alloc\_device()}{xpt\_alloc\_device()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$ xpt\+\_\+alloc\+\_\+device (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__eb}{cam\+\_\+eb}} $\ast$}]{bus,  }\item[{struct \mbox{\hyperlink{structcam__et}{cam\+\_\+et}} $\ast$}]{target,  }\item[{\mbox{\hyperlink{cam_8h_afed71736dc694710016fe1e7c75b6a62}{lun\+\_\+id\+\_\+t}}}]{lun\+\_\+id }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__xpt_8c_source_l04840}{4840}} of file \mbox{\hyperlink{cam__xpt_8c_source}{cam\+\_\+xpt.\+c}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00052}{camq\+::array\+\_\+size}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00107}{cam\+\_\+ed\+::asyncs}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00153}{cam\+\_\+ed\+::callout}}, \mbox{\hyperlink{cam__queue_8c_source_l00277}{cam\+\_\+ccbq\+\_\+init()}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00140}{CAM\+\_\+\+DEV\+\_\+\+UNCONFIGURED}}, \mbox{\hyperlink{cam__queue_8c_source_l00225}{cam\+\_\+devq\+\_\+resize()}}, \mbox{\hyperlink{cam_8h_source_l00408}{cam\+\_\+init\+\_\+pinfo()}}, \mbox{\hyperlink{cam_8h_source_l00137}{CAM\+\_\+\+REQ\+\_\+\+CMP}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00106}{cam\+\_\+ed\+::ccbq}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00156}{cam\+\_\+ed\+::device\+\_\+destroy\+\_\+task}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00155}{cam\+\_\+ed\+::device\+\_\+mtx}}, \mbox{\hyperlink{cam__sim_8h_source_l00104}{cam\+\_\+sim\+::devq}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00101}{cam\+\_\+ed\+::devq\+\_\+entry}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00197}{cam\+\_\+eb\+::eb\+\_\+mtx}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00139}{cam\+\_\+ed\+::flags}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00109}{cam\+\_\+ed\+::generation}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00173}{cam\+\_\+et\+::generation}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00105}{cam\+\_\+ed\+::lun\+\_\+id}}, \mbox{\hyperlink{cam__sim_8h_source_l00102}{cam\+\_\+sim\+::max\+\_\+dev\+\_\+openings}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00108}{cam\+\_\+ed\+::periphs}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00152}{cam\+\_\+ed\+::refcount}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00172}{cam\+\_\+et\+::refcount}}, \mbox{\hyperlink{cam__queue_8h_source_l00075}{cam\+\_\+devq\+::send\+\_\+mtx}}, \mbox{\hyperlink{cam__queue_8h_source_l00076}{cam\+\_\+devq\+::send\+\_\+queue}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00104}{cam\+\_\+ed\+::sim}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00189}{cam\+\_\+eb\+::sim}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00149}{cam\+\_\+ed\+::tag\+\_\+delay\+\_\+count}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00151}{cam\+\_\+ed\+::tag\+\_\+saved\+\_\+openings}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00103}{cam\+\_\+ed\+::target}}, and \mbox{\hyperlink{cam__xpt_8c_source_l04830}{xpt\+\_\+destroy\+\_\+device()}}.



Referenced by \mbox{\hyperlink{ata__xpt_8c_source_l01645}{ata\+\_\+alloc\+\_\+device()}}, \mbox{\hyperlink{mmc__xpt_8c_source_l00190}{mmc\+\_\+alloc\+\_\+device()}}, \mbox{\hyperlink{nvme__xpt_8c_source_l00593}{nvme\+\_\+alloc\+\_\+device()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l02398}{scsi\+\_\+alloc\+\_\+device()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l04815}{xpt\+\_\+alloc\+\_\+device\+\_\+default()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_ad60ccf109355adedbf688ff3480061f2_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_ad60ccf109355adedbf688ff3480061f2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__xpt__internal_8h_aed3014db44ac020729179ee619739084}\label{cam__xpt__internal_8h_aed3014db44ac020729179ee619739084}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_dev\_ccbq\_resize@{xpt\_dev\_ccbq\_resize}}
\index{xpt\_dev\_ccbq\_resize@{xpt\_dev\_ccbq\_resize}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_dev\_ccbq\_resize()}{xpt\_dev\_ccbq\_resize()}}
{\footnotesize\ttfamily u\+\_\+int32\+\_\+t xpt\+\_\+dev\+\_\+ccbq\+\_\+resize (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$}]{path,  }\item[{int}]{newopenings }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__xpt_8c_source_l04958}{4958}} of file \mbox{\hyperlink{cam__xpt_8c_source}{cam\+\_\+xpt.\+c}}.



References \mbox{\hyperlink{cam__queue_8c_source_l00261}{cam\+\_\+ccbq\+\_\+resize()}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00144}{CAM\+\_\+\+DEV\+\_\+\+TAG\+\_\+\+AFTER\+\_\+\+COUNT}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00106}{cam\+\_\+ed\+::ccbq}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00204}{cam\+\_\+path\+::device}}, \mbox{\hyperlink{cam__sim_8h_source_l00104}{cam\+\_\+sim\+::devq}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00139}{cam\+\_\+ed\+::flags}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00130}{cam\+\_\+ed\+::inq\+\_\+flags}}, \mbox{\hyperlink{cam__queue_8h_source_l00075}{cam\+\_\+devq\+::send\+\_\+mtx}}, \mbox{\hyperlink{scsi__all_8h_source_l02262}{SID\+\_\+\+Cmd\+Que}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00104}{cam\+\_\+ed\+::sim}}, and \mbox{\hyperlink{cam__xpt__internal_8h_source_l00151}{cam\+\_\+ed\+::tag\+\_\+saved\+\_\+openings}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l02613}{xpt\+\_\+action\+\_\+default()}}, \mbox{\hyperlink{cam__xpt_8c_source_l05026}{xpt\+\_\+start\+\_\+tags()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05057}{xpt\+\_\+stop\+\_\+tags()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_aed3014db44ac020729179ee619739084_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_aed3014db44ac020729179ee619739084_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__xpt__internal_8h_a33e988a8edce9afeed8fbf53f8114163}\label{cam__xpt__internal_8h_a33e988a8edce9afeed8fbf53f8114163}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_release\_device@{xpt\_release\_device}}
\index{xpt\_release\_device@{xpt\_release\_device}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_release\_device()}{xpt\_release\_device()}}
{\footnotesize\ttfamily void xpt\+\_\+release\+\_\+device (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__ed}{cam\+\_\+ed}} $\ast$}]{device }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__xpt_8c_source_l04907}{4907}} of file \mbox{\hyperlink{cam__xpt_8c_source}{cam\+\_\+xpt.\+c}}.



References \mbox{\hyperlink{cam__queue_8h_source_l00052}{camq\+::array\+\_\+size}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00170}{cam\+\_\+et\+::bus}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00153}{cam\+\_\+ed\+::callout}}, \mbox{\hyperlink{cam__queue_8c_source_l00289}{cam\+\_\+ccbq\+\_\+fini()}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00141}{CAM\+\_\+\+DEV\+\_\+\+REL\+\_\+\+TIMEOUT\+\_\+\+PENDING}}, \mbox{\hyperlink{cam__queue_8c_source_l00225}{cam\+\_\+devq\+\_\+resize()}}, \mbox{\hyperlink{cam_8h_source_l00096}{CAM\+\_\+\+UNQUEUED\+\_\+\+INDEX}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00106}{cam\+\_\+ed\+::ccbq}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00156}{cam\+\_\+ed\+::device\+\_\+destroy\+\_\+task}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00121}{cam\+\_\+ed\+::device\+\_\+id}}, \mbox{\hyperlink{cam__sim_8h_source_l00104}{cam\+\_\+sim\+::devq}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00101}{cam\+\_\+ed\+::devq\+\_\+entry}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00197}{cam\+\_\+eb\+::eb\+\_\+mtx}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00123}{cam\+\_\+ed\+::ext\+\_\+inq}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00139}{cam\+\_\+ed\+::flags}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00173}{cam\+\_\+et\+::generation}}, \mbox{\hyperlink{cam_8h_source_l00095}{cam\+\_\+pinfo\+::index}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00157}{cam\+\_\+ed\+::nvme\+\_\+cdata}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00158}{cam\+\_\+ed\+::nvme\+\_\+data}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00108}{cam\+\_\+ed\+::periphs}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00125}{cam\+\_\+ed\+::physpath}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00127}{cam\+\_\+ed\+::rcap\+\_\+buf}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00152}{cam\+\_\+ed\+::refcount}}, \mbox{\hyperlink{cam__queue_8h_source_l00075}{cam\+\_\+devq\+::send\+\_\+mtx}}, \mbox{\hyperlink{cam__queue_8h_source_l00076}{cam\+\_\+devq\+::send\+\_\+queue}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00138}{cam\+\_\+ed\+::serial\+\_\+num}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00189}{cam\+\_\+eb\+::sim}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00118}{cam\+\_\+ed\+::supported\+\_\+vpds}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00103}{cam\+\_\+ed\+::target}}, \mbox{\hyperlink{cam__xpt_8c_source_l04793}{xpt\+\_\+release\+\_\+target()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l00163}{xsoftc}}.



Referenced by \mbox{\hyperlink{ata__xpt_8c_source_l02039}{ata\+\_\+dev\+\_\+async()}}, \mbox{\hyperlink{mmc__xpt_8c_source_l00210}{mmc\+\_\+dev\+\_\+async()}}, \mbox{\hyperlink{nvme__xpt_8c_source_l00767}{nvme\+\_\+dev\+\_\+async()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00200}{pmprelease()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l02971}{scsi\+\_\+dev\+\_\+async()}}, \mbox{\hyperlink{cam__xpt_8c_source_l02613}{xpt\+\_\+action\+\_\+default()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04207}{xpt\+\_\+async\+\_\+process\+\_\+dev()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03559}{xpt\+\_\+compile\+\_\+path()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03654}{xpt\+\_\+release\+\_\+path()}}, \mbox{\hyperlink{cam__xpt_8c_source_l00801}{xpt\+\_\+scanner\+\_\+thread()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l02285}{xptdevicetraverse()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_a33e988a8edce9afeed8fbf53f8114163_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_a33e988a8edce9afeed8fbf53f8114163_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__xpt__internal_8h_a2d32cd31929e656475e99dd720955e75}\label{cam__xpt__internal_8h_a2d32cd31929e656475e99dd720955e75}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_start\_tags@{xpt\_start\_tags}}
\index{xpt\_start\_tags@{xpt\_start\_tags}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_start\_tags()}{xpt\_start\_tags()}}
{\footnotesize\ttfamily void xpt\+\_\+start\+\_\+tags (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$}]{path }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__xpt_8c_source_l05026}{5026}} of file \mbox{\hyperlink{cam__xpt_8c_source}{cam\+\_\+xpt.\+c}}.



References \mbox{\hyperlink{cam__ccb_8h_source_l00870}{AC\+\_\+\+GETDEV\+\_\+\+CHANGED}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00202}{cam\+\_\+path\+::bus}}, \mbox{\hyperlink{cam_8h_source_l00092}{CAM\+\_\+\+PRIORITY\+\_\+\+NORMAL}}, \mbox{\hyperlink{cam__ccb_8h_source_l00838}{ccb\+\_\+relsim\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00204}{cam\+\_\+path\+::device}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00139}{cam\+\_\+ed\+::flags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00130}{cam\+\_\+ed\+::inq\+\_\+flags}}, \mbox{\hyperlink{cam__sim_8h_source_l00101}{cam\+\_\+sim\+::max\+\_\+tagged\+\_\+dev\+\_\+openings}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00111}{cam\+\_\+ed\+::maxtags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00844}{ccb\+\_\+relsim\+::openings}}, \mbox{\hyperlink{cam__ccb_8h_source_l00846}{ccb\+\_\+relsim\+::qfrozen\+\_\+cnt}}, \mbox{\hyperlink{cam__ccb_8h_source_l00839}{ccb\+\_\+relsim\+::release\+\_\+flags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00845}{ccb\+\_\+relsim\+::release\+\_\+timeout}}, \mbox{\hyperlink{cam__ccb_8h_source_l00843}{RELSIM\+\_\+\+RELEASE\+\_\+\+AFTER\+\_\+\+QEMPTY}}, \mbox{\hyperlink{scsi__all_8h_source_l02262}{SID\+\_\+\+Cmd\+Que}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00189}{cam\+\_\+eb\+::sim}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00151}{cam\+\_\+ed\+::tag\+\_\+saved\+\_\+openings}}, \mbox{\hyperlink{cam__xpt_8c_source_l02601}{xpt\+\_\+action()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04350}{xpt\+\_\+async()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04958}{xpt\+\_\+dev\+\_\+ccbq\+\_\+resize()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04438}{xpt\+\_\+freeze\+\_\+devq()}}, \mbox{\hyperlink{cam__ccb_8h_source_l00149}{XPT\+\_\+\+REL\+\_\+\+SIMQ}}, and \mbox{\hyperlink{cam__xpt_8c_source_l03520}{xpt\+\_\+setup\+\_\+ccb()}}.



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

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_a2d32cd31929e656475e99dd720955e75_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_a2d32cd31929e656475e99dd720955e75_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__xpt__internal_8h_ab8a4bce48c1c51d3bc007b96d2c3bf61}\label{cam__xpt__internal_8h_ab8a4bce48c1c51d3bc007b96d2c3bf61}} 
\index{cam\_xpt\_internal.h@{cam\_xpt\_internal.h}!xpt\_stop\_tags@{xpt\_stop\_tags}}
\index{xpt\_stop\_tags@{xpt\_stop\_tags}!cam\_xpt\_internal.h@{cam\_xpt\_internal.h}}
\doxysubsubsection{\texorpdfstring{xpt\_stop\_tags()}{xpt\_stop\_tags()}}
{\footnotesize\ttfamily void xpt\+\_\+stop\+\_\+tags (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$}]{path }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__xpt_8c_source_l05057}{5057}} of file \mbox{\hyperlink{cam__xpt_8c_source}{cam\+\_\+xpt.\+c}}.



References \mbox{\hyperlink{cam__ccb_8h_source_l00870}{AC\+\_\+\+GETDEV\+\_\+\+CHANGED}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00202}{cam\+\_\+path\+::bus}}, \mbox{\hyperlink{cam_8h_source_l00092}{CAM\+\_\+\+PRIORITY\+\_\+\+NORMAL}}, \mbox{\hyperlink{cam__ccb_8h_source_l00838}{ccb\+\_\+relsim\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00204}{cam\+\_\+path\+::device}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00139}{cam\+\_\+ed\+::flags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00130}{cam\+\_\+ed\+::inq\+\_\+flags}}, \mbox{\hyperlink{cam__sim_8h_source_l00102}{cam\+\_\+sim\+::max\+\_\+dev\+\_\+openings}}, \mbox{\hyperlink{cam__ccb_8h_source_l00844}{ccb\+\_\+relsim\+::openings}}, \mbox{\hyperlink{cam__ccb_8h_source_l00846}{ccb\+\_\+relsim\+::qfrozen\+\_\+cnt}}, \mbox{\hyperlink{cam__ccb_8h_source_l00839}{ccb\+\_\+relsim\+::release\+\_\+flags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00845}{ccb\+\_\+relsim\+::release\+\_\+timeout}}, \mbox{\hyperlink{cam__ccb_8h_source_l00843}{RELSIM\+\_\+\+RELEASE\+\_\+\+AFTER\+\_\+\+QEMPTY}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00189}{cam\+\_\+eb\+::sim}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00149}{cam\+\_\+ed\+::tag\+\_\+delay\+\_\+count}}, \mbox{\hyperlink{cam__xpt_8c_source_l02601}{xpt\+\_\+action()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04350}{xpt\+\_\+async()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04958}{xpt\+\_\+dev\+\_\+ccbq\+\_\+resize()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04438}{xpt\+\_\+freeze\+\_\+devq()}}, \mbox{\hyperlink{cam__ccb_8h_source_l00149}{XPT\+\_\+\+REL\+\_\+\+SIMQ}}, and \mbox{\hyperlink{cam__xpt_8c_source_l03520}{xpt\+\_\+setup\+\_\+ccb()}}.



Referenced by \mbox{\hyperlink{ata__xpt_8c_source_l01910}{ata\+\_\+set\+\_\+transfer\+\_\+settings()}}, and \mbox{\hyperlink{scsi__xpt_8c_source_l02666}{scsi\+\_\+set\+\_\+transfer\+\_\+settings()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_ab8a4bce48c1c51d3bc007b96d2c3bf61_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d65/cam__xpt__internal_8h_ab8a4bce48c1c51d3bc007b96d2c3bf61_icgraph}
\end{center}
\end{figure}
