\hypertarget{cam__periph_8h}{}\doxysection{cam/cam\+\_\+periph.h File Reference}
\label{cam__periph_8h}\index{cam/cam\_periph.h@{cam/cam\_periph.h}}
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$cam/cam\+\_\+sim.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysctl.\+h$>$}\newline
{\ttfamily \#include $<$sys/taskqueue.\+h$>$}\newline
{\ttfamily \#include $<$vm/uma.\+h$>$}\newline
{\ttfamily \#include $<$cam/cam\+\_\+xpt.\+h$>$}\newline
{\ttfamily \#include $<$sys/module.\+h$>$}\newline
Include dependency graph for cam\+\_\+periph.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d6/dd5/cam__periph_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]{de/d30/cam__periph_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structperiph__driver}{periph\+\_\+driver}}
\item 
struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}}
\item 
struct \mbox{\hyperlink{structcam__periph__map__info}{cam\+\_\+periph\+\_\+map\+\_\+info}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a21ed9f2c335b3576f33b0bc19a933919}{PERIPHDRIVER\+\_\+\+DECLARE}}(name,  driver)
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a33b94a2f646c305ba7ca727acb938254}{CAM\+\_\+\+PERIPH\+\_\+\+DRV\+\_\+\+EARLY}}~0x01
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a753887a5ac0f7778ecc0d4b96c42ee38}{ppriv\+\_\+ptr0}}~periph\+\_\+priv.\+entries\mbox{[}0\mbox{]}.ptr
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a11a83ff2d87797b3618f396be22ccf9b}{ppriv\+\_\+ptr1}}~periph\+\_\+priv.\+entries\mbox{[}1\mbox{]}.ptr
\item 
\#define \mbox{\hyperlink{cam__periph_8h_ad127bb2b91fcf23bfe8a13b01aa531f8}{ppriv\+\_\+field0}}~periph\+\_\+priv.\+entries\mbox{[}0\mbox{]}.field
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a7e72a9ed470eedaf840f8cf38dda2502}{ppriv\+\_\+field1}}~periph\+\_\+priv.\+entries\mbox{[}1\mbox{]}.field
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a1ca94c5f76570982be0dc9d4c07c5dc7}{CAM\+\_\+\+PERIPH\+\_\+\+RUNNING}}~0x01
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a8c36ad94432b80e31eb8dae3663dd80f}{CAM\+\_\+\+PERIPH\+\_\+\+LOCKED}}~0x02
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a1efa8bd0d2dd7a774210a38f3867a9cc}{CAM\+\_\+\+PERIPH\+\_\+\+LOCK\+\_\+\+WANTED}}~0x04
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a102702353fe3915d10c6d66bf5b643a7}{CAM\+\_\+\+PERIPH\+\_\+\+INVALID}}~0x08
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a4a862186124d6ebbb6ff41af4d9572b5}{CAM\+\_\+\+PERIPH\+\_\+\+NEW\+\_\+\+DEV\+\_\+\+FOUND}}~0x10
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a18dae027f637cf32cbcbd147ad0e3b35}{CAM\+\_\+\+PERIPH\+\_\+\+RECOVERY\+\_\+\+INPROG}}~0x20
\item 
\#define \mbox{\hyperlink{cam__periph_8h_ab3c9b8345d409c297ed58a731d47abbb}{CAM\+\_\+\+PERIPH\+\_\+\+RUN\+\_\+\+TASK}}~0x40
\item 
\#define \mbox{\hyperlink{cam__periph_8h_ac2ed97964d587d6d98417aad48b33c34}{CAM\+\_\+\+PERIPH\+\_\+\+FREE}}~0x80
\item 
\#define \mbox{\hyperlink{cam__periph_8h_ab4fc12681b18ce5183363944d47f1d19}{CAM\+\_\+\+PERIPH\+\_\+\+ANNOUNCED}}~0x100
\item 
\#define \mbox{\hyperlink{cam__periph_8h_af3cf621efafacb61f30eeac55d059ea7}{CAM\+\_\+\+PERIPH\+\_\+\+RECOVERY\+\_\+\+WAIT}}~0x200
\item 
\#define \mbox{\hyperlink{cam__periph_8h_aae9933fe5f773ff6bd266707a3f55032}{CAM\+\_\+\+PERIPH\+\_\+\+RECOVERY\+\_\+\+WAIT\+\_\+\+FAILED}}~0x400
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a3300749b3ddecae3536e2e5dfac03490}{CAM\+\_\+\+PERIPH\+\_\+\+MAXMAPS}}~2
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a3e76a99182359fb82848b628ccf5b95c}{cam\+\_\+periph\+\_\+owned}}(periph)~ mtx\+\_\+owned(\mbox{\hyperlink{cam__xpt_8h_a1fc98e6b0f369df2a0f686e9f66ddfe5}{xpt\+\_\+path\+\_\+mtx}}((periph)-\/$>$path))
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a1f320a7fdaff6524ad067970fbab4b27}{cam\+\_\+periph\+\_\+lock}}(periph)~ mtx\+\_\+lock(\mbox{\hyperlink{cam__xpt_8h_a1fc98e6b0f369df2a0f686e9f66ddfe5}{xpt\+\_\+path\+\_\+mtx}}((periph)-\/$>$path))
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a66d8b47f5a566db5a6be4697c17886c7}{cam\+\_\+periph\+\_\+unlock}}(periph)~ mtx\+\_\+unlock(\mbox{\hyperlink{cam__xpt_8h_a1fc98e6b0f369df2a0f686e9f66ddfe5}{xpt\+\_\+path\+\_\+mtx}}((periph)-\/$>$path))
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a14a9062a3b53e1d1a2570a39695c2cd3}{cam\+\_\+periph\+\_\+assert}}(periph,  what)~ mtx\+\_\+assert(\mbox{\hyperlink{cam__xpt_8h_a1fc98e6b0f369df2a0f686e9f66ddfe5}{xpt\+\_\+path\+\_\+mtx}}((periph)-\/$>$path), (what))
\item 
\#define \mbox{\hyperlink{cam__periph_8h_aca65f2f8c7cf5847b27c39ec84e232d7}{cam\+\_\+periph\+\_\+sleep}}(periph,  chan,  priority,  wmesg,  timo)~ \mbox{\hyperlink{cam__xpt_8h_aeff85fb05d79cc72b41e5fe2c4273aca}{xpt\+\_\+path\+\_\+sleep}}((periph)-\/$>$path, (chan), (priority), (wmesg), (timo))
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a19cf37e001f53992d48895c6e72b2ee4}{CAM\+\_\+\+PERIPH\+\_\+\+FOREACH}}(periph,  driver)
\item 
\#define \mbox{\hyperlink{cam__periph_8h_a7fbed4ba1bd4e00c3ee43430017f6cf9}{CAM\+\_\+\+PERIPH\+\_\+\+PRINT}}(p,  msg,  args...)~    printf(\char`\"{}\%s\%d\+:\char`\"{} msg, (periph)-\/$>$periph\+\_\+name, (periph)-\/$>$unit\+\_\+number, \#\#args)
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef void() \mbox{\hyperlink{cam__periph_8h_ae8635482322b2513ab2f662535250ac0}{periph\+\_\+init\+\_\+t}}(void)
\item 
typedef int() \mbox{\hyperlink{cam__periph_8h_a68865eb729a9124751ca0791b3159219}{periph\+\_\+deinit\+\_\+t}}(void)
\item 
typedef void \mbox{\hyperlink{cam__periph_8h_ab04cb4cf3fd8f8a44ce312952af7cb7f}{periph\+\_\+start\+\_\+t}}(struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, union \mbox{\hyperlink{unionccb}{ccb}} $\ast$start\+\_\+ccb)
\item 
typedef \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3}{cam\+\_\+status}} \mbox{\hyperlink{cam__periph_8h_a0134746116b0c19d248d1342a16aab04}{periph\+\_\+ctor\+\_\+t}}(struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, void $\ast$arg)
\item 
typedef void \mbox{\hyperlink{cam__periph_8h_a14602bb3ac9272ea2209d63f1e618fca}{periph\+\_\+oninv\+\_\+t}}(struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\item 
typedef void \mbox{\hyperlink{cam__periph_8h_a8d863e438ef46ba796fbf3e77340b3e3}{periph\+\_\+dtor\+\_\+t}}(struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{cam__periph_8h_ae648b142a75d7546562342a7b7961e6c}{cam\+\_\+periph\+\_\+type}} \{ \mbox{\hyperlink{cam__periph_8h_ae648b142a75d7546562342a7b7961e6cada5282ff3d485d68259bc309db51476b}{CAM\+\_\+\+PERIPH\+\_\+\+BIO}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \mbox{\hyperlink{cam__periph_8h_a946976952127da4eb691a136edcaa967}{periphdriver\+\_\+register}} (void $\ast$)
\item 
int \mbox{\hyperlink{cam__periph_8h_ae3cd16c9ba4d62ea79e030a148f02f3a}{periphdriver\+\_\+unregister}} (void $\ast$)
\item 
void \mbox{\hyperlink{cam__periph_8h_a082e5a0e304354a31963e9265919b055}{periphdriver\+\_\+init}} (int level)
\item 
\mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3}{cam\+\_\+status}} \mbox{\hyperlink{cam__periph_8h_a4f1f3d094a98f5d252093050b3d18de6}{cam\+\_\+periph\+\_\+alloc}} (\mbox{\hyperlink{cam__periph_8h_a0134746116b0c19d248d1342a16aab04}{periph\+\_\+ctor\+\_\+t}} $\ast$periph\+\_\+ctor, \mbox{\hyperlink{cam__periph_8h_a14602bb3ac9272ea2209d63f1e618fca}{periph\+\_\+oninv\+\_\+t}} $\ast$periph\+\_\+oninvalidate, \mbox{\hyperlink{cam__periph_8h_a8d863e438ef46ba796fbf3e77340b3e3}{periph\+\_\+dtor\+\_\+t}} $\ast$periph\+\_\+dtor, \mbox{\hyperlink{cam__periph_8h_ab04cb4cf3fd8f8a44ce312952af7cb7f}{periph\+\_\+start\+\_\+t}} $\ast$periph\+\_\+start, char $\ast$name, \mbox{\hyperlink{cam__periph_8h_ae648b142a75d7546562342a7b7961e6c}{cam\+\_\+periph\+\_\+type}} type, struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$, \mbox{\hyperlink{cam__ccb_8h_a146226ffe8ddbefd259cd315198f3fec}{ac\+\_\+callback\+\_\+t}} $\ast$, \mbox{\hyperlink{cam__ccb_8h_a01187b765c0d47bdbc0776db5c5851f0}{ac\+\_\+code}}, void $\ast$arg)
\item 
struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$ \mbox{\hyperlink{cam__periph_8h_a226ad3f9f98f7569d1ca8ab5d725c6bf}{cam\+\_\+periph\+\_\+find}} (struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$path, char $\ast$name)
\item 
int \mbox{\hyperlink{cam__periph_8h_a7a3bd4dc31a021d4b2616d40b3726450}{cam\+\_\+periph\+\_\+list}} (struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$, struct sbuf $\ast$)
\item 
int \mbox{\hyperlink{cam__periph_8h_a5b3dbda06d83cc62f5ba1be9622efa4b}{cam\+\_\+periph\+\_\+acquire}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\item 
void \mbox{\hyperlink{cam__periph_8h_a65b22efc50fe81b25c61979986a32d50}{cam\+\_\+periph\+\_\+doacquire}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\item 
void \mbox{\hyperlink{cam__periph_8h_a7b495eee22da0818e6aec8aa176843b7}{cam\+\_\+periph\+\_\+release}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\item 
void \mbox{\hyperlink{cam__periph_8h_a06741cfe8f484a9dad6f9607a233908c}{cam\+\_\+periph\+\_\+release\+\_\+locked}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\item 
void \mbox{\hyperlink{cam__periph_8h_ac5523a6d5ac9023c1df4ee326d811563}{cam\+\_\+periph\+\_\+release\+\_\+locked\+\_\+buses}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\item 
int \mbox{\hyperlink{cam__periph_8h_a9590854e2c9bfe6a5ba541b1a211d494}{cam\+\_\+periph\+\_\+hold}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, int priority)
\item 
void \mbox{\hyperlink{cam__periph_8h_a87d933ebed78bbf0c6fce590bb487a8d}{cam\+\_\+periph\+\_\+unhold}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\item 
void \mbox{\hyperlink{cam__periph_8h_ac018c88658c51ec769298af70819c000}{cam\+\_\+periph\+\_\+invalidate}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\item 
int \mbox{\hyperlink{cam__periph_8h_ac2f4c1959a7ea858a031736a09693bbe}{cam\+\_\+periph\+\_\+mapmem}} (union \mbox{\hyperlink{unionccb}{ccb}} $\ast$\mbox{\hyperlink{unionccb}{ccb}}, struct \mbox{\hyperlink{structcam__periph__map__info}{cam\+\_\+periph\+\_\+map\+\_\+info}} $\ast$mapinfo, u\+\_\+int maxmap)
\item 
void \mbox{\hyperlink{cam__periph_8h_a54a00fbe30ea8eab256bf8d05c0a28b0}{cam\+\_\+periph\+\_\+unmapmem}} (union \mbox{\hyperlink{unionccb}{ccb}} $\ast$\mbox{\hyperlink{unionccb}{ccb}}, struct \mbox{\hyperlink{structcam__periph__map__info}{cam\+\_\+periph\+\_\+map\+\_\+info}} $\ast$mapinfo)
\item 
union \mbox{\hyperlink{unionccb}{ccb}} $\ast$ \mbox{\hyperlink{cam__periph_8h_a3e0b448f630edd6d782fb33e4a12e3f1}{cam\+\_\+periph\+\_\+getccb}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, u\+\_\+int32\+\_\+t priority)
\item 
int \mbox{\hyperlink{cam__periph_8h_a9eb7c5c2381f6769e4ecf63233bfff6f}{cam\+\_\+periph\+\_\+runccb}} (union \mbox{\hyperlink{unionccb}{ccb}} $\ast$\mbox{\hyperlink{unionccb}{ccb}}, int($\ast$error\+\_\+routine)(union \mbox{\hyperlink{unionccb}{ccb}} $\ast$\mbox{\hyperlink{unionccb}{ccb}}, \mbox{\hyperlink{cam_8h_a14bf0cceb256c2063f776e6cc4aba316}{cam\+\_\+flags}} camflags, u\+\_\+int32\+\_\+t sense\+\_\+flags), \mbox{\hyperlink{cam_8h_a14bf0cceb256c2063f776e6cc4aba316}{cam\+\_\+flags}} camflags, u\+\_\+int32\+\_\+t sense\+\_\+flags, struct devstat $\ast$ds)
\item 
int \mbox{\hyperlink{cam__periph_8h_ac87854e887a6602529ea8cafa66dbdac}{cam\+\_\+periph\+\_\+ioctl}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, u\+\_\+long cmd, caddr\+\_\+t addr, int($\ast$error\+\_\+routine)(union \mbox{\hyperlink{unionccb}{ccb}} $\ast$\mbox{\hyperlink{unionccb}{ccb}}, \mbox{\hyperlink{cam_8h_a14bf0cceb256c2063f776e6cc4aba316}{cam\+\_\+flags}} camflags, u\+\_\+int32\+\_\+t sense\+\_\+flags))
\item 
void \mbox{\hyperlink{cam__periph_8h_a1b9947ddc46711370d79e0add1818c77}{cam\+\_\+freeze\+\_\+devq}} (struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$path)
\item 
u\+\_\+int32\+\_\+t \mbox{\hyperlink{cam__periph_8h_acdbd10013f9849fe6c19d368d6fa435a}{cam\+\_\+release\+\_\+devq}} (struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$path, u\+\_\+int32\+\_\+t relsim\+\_\+flags, u\+\_\+int32\+\_\+t opening\+\_\+reduction, u\+\_\+int32\+\_\+t arg, int getcount\+\_\+only)
\item 
void \mbox{\hyperlink{cam__periph_8h_a75ca97e267b2b0a98d4c146ec1967bdc}{cam\+\_\+periph\+\_\+async}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, u\+\_\+int32\+\_\+t code, struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$path, void $\ast$arg)
\item 
void \mbox{\hyperlink{cam__periph_8h_a6bda1773e83d8f0168108d82d8635ff1}{cam\+\_\+periph\+\_\+bus\+\_\+settle}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, u\+\_\+int bus\+\_\+settle\+\_\+ms)
\item 
void \mbox{\hyperlink{cam__periph_8h_a75876f3c52118d3987e0b571f5fa23de}{cam\+\_\+periph\+\_\+freeze\+\_\+after\+\_\+event}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, struct timeval $\ast$event\+\_\+time, u\+\_\+int duration\+\_\+ms)
\item 
int \mbox{\hyperlink{cam__periph_8h_ac2010c1d05ec8dff4d1c03f3ec0be8c4}{cam\+\_\+periph\+\_\+error}} (union \mbox{\hyperlink{unionccb}{ccb}} $\ast$\mbox{\hyperlink{unionccb}{ccb}}, \mbox{\hyperlink{cam_8h_a14bf0cceb256c2063f776e6cc4aba316}{cam\+\_\+flags}} camflags, u\+\_\+int32\+\_\+t sense\+\_\+flags)
\item 
int \mbox{\hyperlink{cam__periph_8h_abdccd5417ed5d96202c3a2a2772eac6b}{cam\+\_\+periph\+\_\+invalidate\+\_\+sysctl}} (SYSCTL\+\_\+\+HANDLER\+\_\+\+ARGS)
\item 
static \+\_\+\+\_\+inline struct mtx $\ast$ \mbox{\hyperlink{cam__periph_8h_a8b9ecf78613a0fdde3d227cf5a109101}{cam\+\_\+periph\+\_\+mtx}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)
\item 
static struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$ \mbox{\hyperlink{cam__periph_8h_aa10d35eb283932c26f8b20371115c4c1}{cam\+\_\+periph\+\_\+acquire\+\_\+first}} (struct \mbox{\hyperlink{structperiph__driver}{periph\+\_\+driver}} $\ast$driver)
\item 
static struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$ \mbox{\hyperlink{cam__periph_8h_a14a7067e2c12535deb159a52480de6c7}{cam\+\_\+periph\+\_\+acquire\+\_\+next}} (struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$pperiph)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$ \mbox{\hyperlink{cam__periph_8h_a88a107b9711f7cf295bb241e5bff985b}{xpt\+\_\+periph}}
\item 
struct \mbox{\hyperlink{structperiph__driver}{periph\+\_\+driver}} $\ast$$\ast$ \mbox{\hyperlink{cam__periph_8h_ac080b20aad20a373275084903704bccd}{periph\+\_\+drivers}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{cam__periph_8h_ab4fc12681b18ce5183363944d47f1d19}\label{cam__periph_8h_ab4fc12681b18ce5183363944d47f1d19}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_ANNOUNCED@{CAM\_PERIPH\_ANNOUNCED}}
\index{CAM\_PERIPH\_ANNOUNCED@{CAM\_PERIPH\_ANNOUNCED}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_ANNOUNCED}{CAM\_PERIPH\_ANNOUNCED}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+ANNOUNCED~0x100}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00138}{138}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a14a9062a3b53e1d1a2570a39695c2cd3}\label{cam__periph_8h_a14a9062a3b53e1d1a2570a39695c2cd3}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_assert@{cam\_periph\_assert}}
\index{cam\_periph\_assert@{cam\_periph\_assert}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_assert}{cam\_periph\_assert}}
{\footnotesize\ttfamily \#define cam\+\_\+periph\+\_\+assert(\begin{DoxyParamCaption}\item[{}]{periph,  }\item[{}]{what }\end{DoxyParamCaption})~ mtx\+\_\+assert(\mbox{\hyperlink{cam__xpt_8h_a1fc98e6b0f369df2a0f686e9f66ddfe5}{xpt\+\_\+path\+\_\+mtx}}((periph)-\/$>$path), (what))}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00230}{230}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a33b94a2f646c305ba7ca727acb938254}\label{cam__periph_8h_a33b94a2f646c305ba7ca727acb938254}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_DRV\_EARLY@{CAM\_PERIPH\_DRV\_EARLY}}
\index{CAM\_PERIPH\_DRV\_EARLY@{CAM\_PERIPH\_DRV\_EARLY}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_DRV\_EARLY}{CAM\_PERIPH\_DRV\_EARLY}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+DRV\+\_\+\+EARLY~0x01}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00099}{99}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a19cf37e001f53992d48895c6e72b2ee4}\label{cam__periph_8h_a19cf37e001f53992d48895c6e72b2ee4}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_FOREACH@{CAM\_PERIPH\_FOREACH}}
\index{CAM\_PERIPH\_FOREACH@{CAM\_PERIPH\_FOREACH}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_FOREACH}{CAM\_PERIPH\_FOREACH}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+FOREACH(\begin{DoxyParamCaption}\item[{}]{periph,  }\item[{}]{driver }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        \textcolor{keywordflow}{for} ((periph) = \mbox{\hyperlink{cam__periph_8h_aa10d35eb283932c26f8b20371115c4c1}{cam\_periph\_acquire\_first}}(driver);               \(\backslash\)}
\DoxyCodeLine{            (periph) != NULL;                                           \(\backslash\)}
\DoxyCodeLine{            (periph) = \mbox{\hyperlink{cam__periph_8h_a14a7067e2c12535deb159a52480de6c7}{cam\_periph\_acquire\_next}}(periph))}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00268}{268}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_ac2ed97964d587d6d98417aad48b33c34}\label{cam__periph_8h_ac2ed97964d587d6d98417aad48b33c34}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_FREE@{CAM\_PERIPH\_FREE}}
\index{CAM\_PERIPH\_FREE@{CAM\_PERIPH\_FREE}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_FREE}{CAM\_PERIPH\_FREE}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+FREE~0x80}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00137}{137}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a102702353fe3915d10c6d66bf5b643a7}\label{cam__periph_8h_a102702353fe3915d10c6d66bf5b643a7}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_INVALID@{CAM\_PERIPH\_INVALID}}
\index{CAM\_PERIPH\_INVALID@{CAM\_PERIPH\_INVALID}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_INVALID}{CAM\_PERIPH\_INVALID}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+INVALID~0x08}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00133}{133}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a1f320a7fdaff6524ad067970fbab4b27}\label{cam__periph_8h_a1f320a7fdaff6524ad067970fbab4b27}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_lock@{cam\_periph\_lock}}
\index{cam\_periph\_lock@{cam\_periph\_lock}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_lock}{cam\_periph\_lock}}
{\footnotesize\ttfamily \#define cam\+\_\+periph\+\_\+lock(\begin{DoxyParamCaption}\item[{}]{periph }\end{DoxyParamCaption})~ mtx\+\_\+lock(\mbox{\hyperlink{cam__xpt_8h_a1fc98e6b0f369df2a0f686e9f66ddfe5}{xpt\+\_\+path\+\_\+mtx}}((periph)-\/$>$path))}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00224}{224}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a1efa8bd0d2dd7a774210a38f3867a9cc}\label{cam__periph_8h_a1efa8bd0d2dd7a774210a38f3867a9cc}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_LOCK\_WANTED@{CAM\_PERIPH\_LOCK\_WANTED}}
\index{CAM\_PERIPH\_LOCK\_WANTED@{CAM\_PERIPH\_LOCK\_WANTED}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_LOCK\_WANTED}{CAM\_PERIPH\_LOCK\_WANTED}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+LOCK\+\_\+\+WANTED~0x04}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00132}{132}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a8c36ad94432b80e31eb8dae3663dd80f}\label{cam__periph_8h_a8c36ad94432b80e31eb8dae3663dd80f}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_LOCKED@{CAM\_PERIPH\_LOCKED}}
\index{CAM\_PERIPH\_LOCKED@{CAM\_PERIPH\_LOCKED}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_LOCKED}{CAM\_PERIPH\_LOCKED}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+LOCKED~0x02}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00131}{131}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a3300749b3ddecae3536e2e5dfac03490}\label{cam__periph_8h_a3300749b3ddecae3536e2e5dfac03490}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_MAXMAPS@{CAM\_PERIPH\_MAXMAPS}}
\index{CAM\_PERIPH\_MAXMAPS@{CAM\_PERIPH\_MAXMAPS}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_MAXMAPS}{CAM\_PERIPH\_MAXMAPS}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+MAXMAPS~2}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00155}{155}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a4a862186124d6ebbb6ff41af4d9572b5}\label{cam__periph_8h_a4a862186124d6ebbb6ff41af4d9572b5}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_NEW\_DEV\_FOUND@{CAM\_PERIPH\_NEW\_DEV\_FOUND}}
\index{CAM\_PERIPH\_NEW\_DEV\_FOUND@{CAM\_PERIPH\_NEW\_DEV\_FOUND}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_NEW\_DEV\_FOUND}{CAM\_PERIPH\_NEW\_DEV\_FOUND}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+NEW\+\_\+\+DEV\+\_\+\+FOUND~0x10}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00134}{134}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a3e76a99182359fb82848b628ccf5b95c}\label{cam__periph_8h_a3e76a99182359fb82848b628ccf5b95c}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_owned@{cam\_periph\_owned}}
\index{cam\_periph\_owned@{cam\_periph\_owned}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_owned}{cam\_periph\_owned}}
{\footnotesize\ttfamily \#define cam\+\_\+periph\+\_\+owned(\begin{DoxyParamCaption}\item[{}]{periph }\end{DoxyParamCaption})~ mtx\+\_\+owned(\mbox{\hyperlink{cam__xpt_8h_a1fc98e6b0f369df2a0f686e9f66ddfe5}{xpt\+\_\+path\+\_\+mtx}}((periph)-\/$>$path))}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00221}{221}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a7fbed4ba1bd4e00c3ee43430017f6cf9}\label{cam__periph_8h_a7fbed4ba1bd4e00c3ee43430017f6cf9}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_PRINT@{CAM\_PERIPH\_PRINT}}
\index{CAM\_PERIPH\_PRINT@{CAM\_PERIPH\_PRINT}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_PRINT}{CAM\_PERIPH\_PRINT}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+PRINT(\begin{DoxyParamCaption}\item[{}]{p,  }\item[{}]{msg,  }\item[{}]{args... }\end{DoxyParamCaption})~    printf(\char`\"{}\%s\%d\+:\char`\"{} msg, (periph)-\/$>$periph\+\_\+name, (periph)-\/$>$unit\+\_\+number, \#\#args)}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00273}{273}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a18dae027f637cf32cbcbd147ad0e3b35}\label{cam__periph_8h_a18dae027f637cf32cbcbd147ad0e3b35}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_RECOVERY\_INPROG@{CAM\_PERIPH\_RECOVERY\_INPROG}}
\index{CAM\_PERIPH\_RECOVERY\_INPROG@{CAM\_PERIPH\_RECOVERY\_INPROG}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_RECOVERY\_INPROG}{CAM\_PERIPH\_RECOVERY\_INPROG}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+RECOVERY\+\_\+\+INPROG~0x20}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00135}{135}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_af3cf621efafacb61f30eeac55d059ea7}\label{cam__periph_8h_af3cf621efafacb61f30eeac55d059ea7}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_RECOVERY\_WAIT@{CAM\_PERIPH\_RECOVERY\_WAIT}}
\index{CAM\_PERIPH\_RECOVERY\_WAIT@{CAM\_PERIPH\_RECOVERY\_WAIT}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_RECOVERY\_WAIT}{CAM\_PERIPH\_RECOVERY\_WAIT}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+RECOVERY\+\_\+\+WAIT~0x200}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00139}{139}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_aae9933fe5f773ff6bd266707a3f55032}\label{cam__periph_8h_aae9933fe5f773ff6bd266707a3f55032}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_RECOVERY\_WAIT\_FAILED@{CAM\_PERIPH\_RECOVERY\_WAIT\_FAILED}}
\index{CAM\_PERIPH\_RECOVERY\_WAIT\_FAILED@{CAM\_PERIPH\_RECOVERY\_WAIT\_FAILED}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_RECOVERY\_WAIT\_FAILED}{CAM\_PERIPH\_RECOVERY\_WAIT\_FAILED}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+RECOVERY\+\_\+\+WAIT\+\_\+\+FAILED~0x400}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00140}{140}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_ab3c9b8345d409c297ed58a731d47abbb}\label{cam__periph_8h_ab3c9b8345d409c297ed58a731d47abbb}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_RUN\_TASK@{CAM\_PERIPH\_RUN\_TASK}}
\index{CAM\_PERIPH\_RUN\_TASK@{CAM\_PERIPH\_RUN\_TASK}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_RUN\_TASK}{CAM\_PERIPH\_RUN\_TASK}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+RUN\+\_\+\+TASK~0x40}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00136}{136}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a1ca94c5f76570982be0dc9d4c07c5dc7}\label{cam__periph_8h_a1ca94c5f76570982be0dc9d4c07c5dc7}} 
\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_RUNNING@{CAM\_PERIPH\_RUNNING}}
\index{CAM\_PERIPH\_RUNNING@{CAM\_PERIPH\_RUNNING}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{CAM\_PERIPH\_RUNNING}{CAM\_PERIPH\_RUNNING}}
{\footnotesize\ttfamily \#define CAM\+\_\+\+PERIPH\+\_\+\+RUNNING~0x01}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00130}{130}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_aca65f2f8c7cf5847b27c39ec84e232d7}\label{cam__periph_8h_aca65f2f8c7cf5847b27c39ec84e232d7}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_sleep@{cam\_periph\_sleep}}
\index{cam\_periph\_sleep@{cam\_periph\_sleep}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_sleep}{cam\_periph\_sleep}}
{\footnotesize\ttfamily \#define cam\+\_\+periph\+\_\+sleep(\begin{DoxyParamCaption}\item[{}]{periph,  }\item[{}]{chan,  }\item[{}]{priority,  }\item[{}]{wmesg,  }\item[{}]{timo }\end{DoxyParamCaption})~ \mbox{\hyperlink{cam__xpt_8h_aeff85fb05d79cc72b41e5fe2c4273aca}{xpt\+\_\+path\+\_\+sleep}}((periph)-\/$>$path, (chan), (priority), (wmesg), (timo))}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00233}{233}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a66d8b47f5a566db5a6be4697c17886c7}\label{cam__periph_8h_a66d8b47f5a566db5a6be4697c17886c7}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_unlock@{cam\_periph\_unlock}}
\index{cam\_periph\_unlock@{cam\_periph\_unlock}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_unlock}{cam\_periph\_unlock}}
{\footnotesize\ttfamily \#define cam\+\_\+periph\+\_\+unlock(\begin{DoxyParamCaption}\item[{}]{periph }\end{DoxyParamCaption})~ mtx\+\_\+unlock(\mbox{\hyperlink{cam__xpt_8h_a1fc98e6b0f369df2a0f686e9f66ddfe5}{xpt\+\_\+path\+\_\+mtx}}((periph)-\/$>$path))}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00227}{227}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a21ed9f2c335b3576f33b0bc19a933919}\label{cam__periph_8h_a21ed9f2c335b3576f33b0bc19a933919}} 
\index{cam\_periph.h@{cam\_periph.h}!PERIPHDRIVER\_DECLARE@{PERIPHDRIVER\_DECLARE}}
\index{PERIPHDRIVER\_DECLARE@{PERIPHDRIVER\_DECLARE}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{PERIPHDRIVER\_DECLARE}{PERIPHDRIVER\_DECLARE}}
{\footnotesize\ttfamily \#define PERIPHDRIVER\+\_\+\+DECLARE(\begin{DoxyParamCaption}\item[{}]{name,  }\item[{}]{driver }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        \textcolor{keyword}{static} \textcolor{keywordtype}{int} name \#\# \_modevent(module\_t mod, \textcolor{keywordtype}{int} type, \textcolor{keywordtype}{void} *data) \(\backslash\)}
\DoxyCodeLine{        \{ \(\backslash\)}
\DoxyCodeLine{                switch (type) \{ \(\backslash\)}
\DoxyCodeLine{                case MOD\_LOAD: \(\backslash\)}
\DoxyCodeLine{                        periphdriver\_register(data); \(\backslash\)}
\DoxyCodeLine{                        break; \(\backslash\)}
\DoxyCodeLine{                case MOD\_UNLOAD: \(\backslash\)}
\DoxyCodeLine{                        return (\mbox{\hyperlink{cam__periph_8h_ae3cd16c9ba4d62ea79e030a148f02f3a}{periphdriver\_unregister}}(data)); \(\backslash\)}
\DoxyCodeLine{                default: \(\backslash\)}
\DoxyCodeLine{                        return EOPNOTSUPP; \(\backslash\)}
\DoxyCodeLine{                \} \(\backslash\)}
\DoxyCodeLine{                return 0; \(\backslash\)}
\DoxyCodeLine{        \} \(\backslash\)}
\DoxyCodeLine{        static moduledata\_t name \#\# \_mod = \{ \(\backslash\)}
\DoxyCodeLine{\textcolor{preprocessor}{                \#name, \(\backslash\)}}
\DoxyCodeLine{\textcolor{preprocessor}{                name \#\# \_modevent, \(\backslash\)}}
\DoxyCodeLine{\textcolor{preprocessor}{                (void *)\&driver \(\backslash\)}}
\DoxyCodeLine{\textcolor{preprocessor}{        \}; \(\backslash\)}}
\DoxyCodeLine{\textcolor{preprocessor}{        DECLARE\_MODULE(name, name \#\# \_mod, SI\_SUB\_DRIVERS, SI\_ORDER\_ANY); \(\backslash\)}}
\DoxyCodeLine{\textcolor{preprocessor}{        MODULE\_DEPEND(name, cam, 1, 1, 1)}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00059}{59}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_ad127bb2b91fcf23bfe8a13b01aa531f8}\label{cam__periph_8h_ad127bb2b91fcf23bfe8a13b01aa531f8}} 
\index{cam\_periph.h@{cam\_periph.h}!ppriv\_field0@{ppriv\_field0}}
\index{ppriv\_field0@{ppriv\_field0}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{ppriv\_field0}{ppriv\_field0}}
{\footnotesize\ttfamily \#define ppriv\+\_\+field0~periph\+\_\+priv.\+entries\mbox{[}0\mbox{]}.field}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00110}{110}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a7e72a9ed470eedaf840f8cf38dda2502}\label{cam__periph_8h_a7e72a9ed470eedaf840f8cf38dda2502}} 
\index{cam\_periph.h@{cam\_periph.h}!ppriv\_field1@{ppriv\_field1}}
\index{ppriv\_field1@{ppriv\_field1}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{ppriv\_field1}{ppriv\_field1}}
{\footnotesize\ttfamily \#define ppriv\+\_\+field1~periph\+\_\+priv.\+entries\mbox{[}1\mbox{]}.field}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00111}{111}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a753887a5ac0f7778ecc0d4b96c42ee38}\label{cam__periph_8h_a753887a5ac0f7778ecc0d4b96c42ee38}} 
\index{cam\_periph.h@{cam\_periph.h}!ppriv\_ptr0@{ppriv\_ptr0}}
\index{ppriv\_ptr0@{ppriv\_ptr0}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{ppriv\_ptr0}{ppriv\_ptr0}}
{\footnotesize\ttfamily \#define ppriv\+\_\+ptr0~periph\+\_\+priv.\+entries\mbox{[}0\mbox{]}.ptr}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00108}{108}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a11a83ff2d87797b3618f396be22ccf9b}\label{cam__periph_8h_a11a83ff2d87797b3618f396be22ccf9b}} 
\index{cam\_periph.h@{cam\_periph.h}!ppriv\_ptr1@{ppriv\_ptr1}}
\index{ppriv\_ptr1@{ppriv\_ptr1}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{ppriv\_ptr1}{ppriv\_ptr1}}
{\footnotesize\ttfamily \#define ppriv\+\_\+ptr1~periph\+\_\+priv.\+entries\mbox{[}1\mbox{]}.ptr}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00109}{109}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{cam__periph_8h_a0134746116b0c19d248d1342a16aab04}\label{cam__periph_8h_a0134746116b0c19d248d1342a16aab04}} 
\index{cam\_periph.h@{cam\_periph.h}!periph\_ctor\_t@{periph\_ctor\_t}}
\index{periph\_ctor\_t@{periph\_ctor\_t}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{periph\_ctor\_t}{periph\_ctor\_t}}
{\footnotesize\ttfamily typedef \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3}{cam\+\_\+status}} periph\+\_\+ctor\+\_\+t(struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, void $\ast$arg)}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00115}{115}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a68865eb729a9124751ca0791b3159219}\label{cam__periph_8h_a68865eb729a9124751ca0791b3159219}} 
\index{cam\_periph.h@{cam\_periph.h}!periph\_deinit\_t@{periph\_deinit\_t}}
\index{periph\_deinit\_t@{periph\_deinit\_t}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{periph\_deinit\_t}{periph\_deinit\_t}}
{\footnotesize\ttfamily typedef int() periph\+\_\+deinit\+\_\+t(void)}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00091}{91}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a8d863e438ef46ba796fbf3e77340b3e3}\label{cam__periph_8h_a8d863e438ef46ba796fbf3e77340b3e3}} 
\index{cam\_periph.h@{cam\_periph.h}!periph\_dtor\_t@{periph\_dtor\_t}}
\index{periph\_dtor\_t@{periph\_dtor\_t}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{periph\_dtor\_t}{periph\_dtor\_t}}
{\footnotesize\ttfamily typedef void periph\+\_\+dtor\+\_\+t(struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00118}{118}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_ae8635482322b2513ab2f662535250ac0}\label{cam__periph_8h_ae8635482322b2513ab2f662535250ac0}} 
\index{cam\_periph.h@{cam\_periph.h}!periph\_init\_t@{periph\_init\_t}}
\index{periph\_init\_t@{periph\_init\_t}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{periph\_init\_t}{periph\_init\_t}}
{\footnotesize\ttfamily typedef void() periph\+\_\+init\+\_\+t(void)}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00085}{85}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_a14602bb3ac9272ea2209d63f1e618fca}\label{cam__periph_8h_a14602bb3ac9272ea2209d63f1e618fca}} 
\index{cam\_periph.h@{cam\_periph.h}!periph\_oninv\_t@{periph\_oninv\_t}}
\index{periph\_oninv\_t@{periph\_oninv\_t}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{periph\_oninv\_t}{periph\_oninv\_t}}
{\footnotesize\ttfamily typedef void periph\+\_\+oninv\+\_\+t(struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph)}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00117}{117}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.

\mbox{\Hypertarget{cam__periph_8h_ab04cb4cf3fd8f8a44ce312952af7cb7f}\label{cam__periph_8h_ab04cb4cf3fd8f8a44ce312952af7cb7f}} 
\index{cam\_periph.h@{cam\_periph.h}!periph\_start\_t@{periph\_start\_t}}
\index{periph\_start\_t@{periph\_start\_t}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{periph\_start\_t}{periph\_start\_t}}
{\footnotesize\ttfamily typedef void periph\+\_\+start\+\_\+t(struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$periph, union \mbox{\hyperlink{unionccb}{ccb}} $\ast$start\+\_\+ccb)}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00113}{113}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{cam__periph_8h_ae648b142a75d7546562342a7b7961e6c}\label{cam__periph_8h_ae648b142a75d7546562342a7b7961e6c}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_type@{cam\_periph\_type}}
\index{cam\_periph\_type@{cam\_periph\_type}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_type}{cam\_periph\_type}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{cam__periph_8h_ae648b142a75d7546562342a7b7961e6c}{cam\+\_\+periph\+\_\+type}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{CAM\_PERIPH\_BIO@{CAM\_PERIPH\_BIO}!cam\_periph.h@{cam\_periph.h}}\index{cam\_periph.h@{cam\_periph.h}!CAM\_PERIPH\_BIO@{CAM\_PERIPH\_BIO}}}\mbox{\Hypertarget{cam__periph_8h_ae648b142a75d7546562342a7b7961e6cada5282ff3d485d68259bc309db51476b}\label{cam__periph_8h_ae648b142a75d7546562342a7b7961e6cada5282ff3d485d68259bc309db51476b}} 
CAM\+\_\+\+PERIPH\+\_\+\+BIO&\\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00103}{103}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{cam__periph_8h_a1b9947ddc46711370d79e0add1818c77}\label{cam__periph_8h_a1b9947ddc46711370d79e0add1818c77}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_freeze\_devq@{cam\_freeze\_devq}}
\index{cam\_freeze\_devq@{cam\_freeze\_devq}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_freeze\_devq()}{cam\_freeze\_devq()}}
{\footnotesize\ttfamily void cam\+\_\+freeze\+\_\+devq (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$}]{path }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l01329}{1329}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__debug_8h_source_l00093}{CAM\+\_\+\+DEBUG}}, \mbox{\hyperlink{cam__debug_8h_source_l00041}{CAM\+\_\+\+DEBUG\+\_\+\+TRACE}}, \mbox{\hyperlink{cam__ccb_8h_source_l00092}{CAM\+\_\+\+DEV\+\_\+\+QFREEZE}}, \mbox{\hyperlink{cam__ccb_8h_source_l00368}{ccb\+\_\+hdr\+::flags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \mbox{\hyperlink{cam__ccb_8h_source_l00364}{ccb\+\_\+hdr\+::path}}, \mbox{\hyperlink{cam__xpt_8c_source_l02601}{xpt\+\_\+action()}}, \mbox{\hyperlink{cam__ccb_8h_source_l00139}{XPT\+\_\+\+NOOP}}, and \mbox{\hyperlink{cam__xpt_8c_source_l03520}{xpt\+\_\+setup\+\_\+ccb()}}.



Referenced by \mbox{\hyperlink{cam__periph_8c_source_l01496}{cam\+\_\+periph\+\_\+freeze\+\_\+after\+\_\+event()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00583}{pmpdone()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00178}{pmpfreeze()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l00750}{probestart()}}, and \mbox{\hyperlink{scsi__xpt_8c_source_l02971}{scsi\+\_\+dev\+\_\+async()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a1b9947ddc46711370d79e0add1818c77_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a1b9947ddc46711370d79e0add1818c77_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a5b3dbda06d83cc62f5ba1be9622efa4b}\label{cam__periph_8h_a5b3dbda06d83cc62f5ba1be9622efa4b}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_acquire@{cam\_periph\_acquire}}
\index{cam\_periph\_acquire@{cam\_periph\_acquire}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_acquire()}{cam\_periph\_acquire()}}
{\footnotesize\ttfamily int cam\+\_\+periph\+\_\+acquire (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00413}{413}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00133}{CAM\+\_\+\+PERIPH\+\_\+\+INVALID}}, \mbox{\hyperlink{cam__periph_8h_source_l00129}{cam\+\_\+periph\+::flags}}, \mbox{\hyperlink{cam__periph_8h_source_l00145}{cam\+\_\+periph\+::refcount}}, \mbox{\hyperlink{cam__xpt_8c_source_l05316}{xpt\+\_\+lock\+\_\+buses()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05322}{xpt\+\_\+unlock\+\_\+buses()}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l01298}{adaasync()}}, \mbox{\hyperlink{ata__da_8c_source_l00959}{adaopen()}}, \mbox{\hyperlink{ata__da_8c_source_l01796}{adaregister()}}, \mbox{\hyperlink{ata__xpt_8c_source_l00278}{aproberegister()}}, \mbox{\hyperlink{cam__periph_8c_source_l00486}{cam\+\_\+periph\+\_\+hold()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00418}{cdasync()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03126}{cdmediapoll()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00757}{cdopen()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00595}{cdregister()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00515}{cdsysctlinit()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00460}{chopen()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00366}{chregister()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01802}{ctlfe\+\_\+lun\+\_\+disable()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l00455}{ctlferegister()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00886}{enc\+\_\+ctor()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00863}{enc\+\_\+kproc\+\_\+init()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00279}{enc\+\_\+open()}}, \mbox{\hyperlink{mmc__xpt_8c_source_l00523}{mmcprobe\+\_\+register()}}, \mbox{\hyperlink{nvme__da_8c_source_l00291}{ndaopen()}}, \mbox{\hyperlink{nvme__da_8c_source_l00838}{ndaregister()}}, \mbox{\hyperlink{nvme__xpt_8c_source_l00200}{nvme\+\_\+probe\+\_\+register()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00485}{passasync()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00711}{passopen()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00555}{passregister()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00265}{pmpasync()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00368}{pmpregister()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00339}{pmpsysctlinit()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l00652}{proberegister()}}, \mbox{\hyperlink{scsi__pt_8c_source_l00136}{ptopen()}}, \mbox{\hyperlink{scsi__sa_8c_source_l00714}{saopen()}}, \mbox{\hyperlink{scsi__sa_8c_source_l02461}{saregister()}}, \mbox{\hyperlink{mmc__da_8c_source_l01507}{sdda\+\_\+add\+\_\+part()}}, \mbox{\hyperlink{mmc__da_8c_source_l00442}{sddaopen()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00429}{sgopen()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00296}{sgregister()}}, and \mbox{\hyperlink{scsi__target_8c_source_l00169}{targcdevdtor()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=335pt]{dc/d47/cam__periph_8h_a5b3dbda06d83cc62f5ba1be9622efa4b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_a5b3dbda06d83cc62f5ba1be9622efa4b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_aa10d35eb283932c26f8b20371115c4c1}\label{cam__periph_8h_aa10d35eb283932c26f8b20371115c4c1}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_acquire\_first@{cam\_periph\_acquire\_first}}
\index{cam\_periph\_acquire\_first@{cam\_periph\_acquire\_first}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_acquire\_first()}{cam\_periph\_acquire\_first()}}
{\footnotesize\ttfamily static struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$ cam\+\_\+periph\+\_\+acquire\+\_\+first (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structperiph__driver}{periph\+\_\+driver}} $\ast$}]{driver }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00237}{237}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00133}{CAM\+\_\+\+PERIPH\+\_\+\+INVALID}}, \mbox{\hyperlink{cam__periph_8h_source_l00129}{cam\+\_\+periph\+::flags}}, \mbox{\hyperlink{cam__periph_8h_source_l00145}{cam\+\_\+periph\+::refcount}}, \mbox{\hyperlink{cam__xpt_8c_source_l05316}{xpt\+\_\+lock\+\_\+buses()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05322}{xpt\+\_\+unlock\+\_\+buses()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=335pt]{dc/d47/cam__periph_8h_aa10d35eb283932c26f8b20371115c4c1_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a14a7067e2c12535deb159a52480de6c7}\label{cam__periph_8h_a14a7067e2c12535deb159a52480de6c7}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_acquire\_next@{cam\_periph\_acquire\_next}}
\index{cam\_periph\_acquire\_next@{cam\_periph\_acquire\_next}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_acquire\_next()}{cam\_periph\_acquire\_next()}}
{\footnotesize\ttfamily static struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$ cam\+\_\+periph\+\_\+acquire\+\_\+next (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{pperiph }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00252}{252}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00230}{cam\+\_\+periph\+\_\+assert}}, \mbox{\hyperlink{cam__periph_8h_source_l00133}{CAM\+\_\+\+PERIPH\+\_\+\+INVALID}}, \mbox{\hyperlink{cam__periph_8c_source_l00465}{cam\+\_\+periph\+\_\+release()}}, \mbox{\hyperlink{cam__periph_8h_source_l00129}{cam\+\_\+periph\+::flags}}, \mbox{\hyperlink{cam__periph_8h_source_l00145}{cam\+\_\+periph\+::refcount}}, \mbox{\hyperlink{cam__xpt_8c_source_l05316}{xpt\+\_\+lock\+\_\+buses()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05322}{xpt\+\_\+unlock\+\_\+buses()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a14a7067e2c12535deb159a52480de6c7_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a4f1f3d094a98f5d252093050b3d18de6}\label{cam__periph_8h_a4f1f3d094a98f5d252093050b3d18de6}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_alloc@{cam\_periph\_alloc}}
\index{cam\_periph\_alloc@{cam\_periph\_alloc}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_alloc()}{cam\_periph\_alloc()}}
{\footnotesize\ttfamily \mbox{\hyperlink{cam_8h_a9ff49352334e6ad8ce937cf2fdf4cfb3}{cam\+\_\+status}} cam\+\_\+periph\+\_\+alloc (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{cam__periph_8h_a0134746116b0c19d248d1342a16aab04}{periph\+\_\+ctor\+\_\+t}} $\ast$}]{periph\+\_\+ctor,  }\item[{\mbox{\hyperlink{cam__periph_8h_a14602bb3ac9272ea2209d63f1e618fca}{periph\+\_\+oninv\+\_\+t}} $\ast$}]{periph\+\_\+oninvalidate,  }\item[{\mbox{\hyperlink{cam__periph_8h_a8d863e438ef46ba796fbf3e77340b3e3}{periph\+\_\+dtor\+\_\+t}} $\ast$}]{periph\+\_\+dtor,  }\item[{\mbox{\hyperlink{cam__periph_8h_ab04cb4cf3fd8f8a44ce312952af7cb7f}{periph\+\_\+start\+\_\+t}} $\ast$}]{periph\+\_\+start,  }\item[{char $\ast$}]{name,  }\item[{\mbox{\hyperlink{cam__periph_8h_ae648b142a75d7546562342a7b7961e6c}{cam\+\_\+periph\+\_\+type}}}]{type,  }\item[{struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$}]{path,  }\item[{\mbox{\hyperlink{cam__ccb_8h_a146226ffe8ddbefd259cd315198f3fec}{ac\+\_\+callback\+\_\+t}} $\ast$}]{ac\+\_\+callback,  }\item[{\mbox{\hyperlink{cam__ccb_8h_a01187b765c0d47bdbc0776db5c5851f0}{ac\+\_\+code}}}]{code,  }\item[{void $\ast$}]{arg }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00197}{197}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__debug_8h_source_l00093}{CAM\+\_\+\+DEBUG}}, \mbox{\hyperlink{cam__debug_8h_source_l00040}{CAM\+\_\+\+DEBUG\+\_\+\+INFO}}, \mbox{\hyperlink{cam__periph_8c_source_l00340}{cam\+\_\+periph\+\_\+find()}}, \mbox{\hyperlink{cam__periph_8h_source_l00133}{CAM\+\_\+\+PERIPH\+\_\+\+INVALID}}, \mbox{\hyperlink{cam__periph_8h_source_l00134}{CAM\+\_\+\+PERIPH\+\_\+\+NEW\+\_\+\+DEV\+\_\+\+FOUND}}, \mbox{\hyperlink{cam_8h_source_l00093}{CAM\+\_\+\+PRIORITY\+\_\+\+NONE}}, \mbox{\hyperlink{cam_8h_source_l00137}{CAM\+\_\+\+REQ\+\_\+\+CMP}}, \mbox{\hyperlink{cam_8h_source_l00134}{CAM\+\_\+\+REQ\+\_\+\+INPROG}}, \mbox{\hyperlink{cam_8h_source_l00152}{CAM\+\_\+\+REQ\+\_\+\+INVALID}}, \mbox{\hyperlink{cam_8h_source_l00247}{CAM\+\_\+\+RESRC\+\_\+\+UNAVAIL}}, \mbox{\hyperlink{cam__periph_8c_source_l00600}{camperiphunit()}}, \mbox{\hyperlink{cam__periph_8h_source_l00150}{cam\+\_\+periph\+::deferred\+\_\+ac}}, \mbox{\hyperlink{cam__periph_8h_source_l00149}{cam\+\_\+periph\+::deferred\+\_\+callback}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00204}{cam\+\_\+path\+::device}}, \mbox{\hyperlink{cam__periph_8h_source_l00129}{cam\+\_\+periph\+::flags}}, \mbox{\hyperlink{cam__periph_8h_source_l00142}{cam\+\_\+periph\+::immediate\+\_\+priority}}, \mbox{\hyperlink{cam__periph_8h_source_l00124}{cam\+\_\+periph\+::path}}, \mbox{\hyperlink{cam__periph_8c_source_l00099}{periph\+\_\+drivers}}, \mbox{\hyperlink{cam__periph_8h_source_l00122}{cam\+\_\+periph\+::periph\+\_\+dtor}}, \mbox{\hyperlink{cam__periph_8h_source_l00123}{cam\+\_\+periph\+::periph\+\_\+name}}, \mbox{\hyperlink{cam__periph_8h_source_l00121}{cam\+\_\+periph\+::periph\+\_\+oninval}}, \mbox{\hyperlink{cam__periph_8h_source_l00120}{cam\+\_\+periph\+::periph\+\_\+start}}, \mbox{\hyperlink{cam__periph_8h_source_l00145}{cam\+\_\+periph\+::refcount}}, \mbox{\hyperlink{cam__periph_8h_source_l00141}{cam\+\_\+periph\+::scheduled\+\_\+priority}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00138}{cam\+\_\+ed\+::serial\+\_\+num}}, \mbox{\hyperlink{cam__periph_8h_source_l00126}{cam\+\_\+periph\+::sim}}, \mbox{\hyperlink{cam__periph_8h_source_l00128}{cam\+\_\+periph\+::type}}, \mbox{\hyperlink{cam__periph_8h_source_l00127}{cam\+\_\+periph\+::unit\+\_\+number}}, \mbox{\hyperlink{cam__xpt_8c_source_l01014}{xpt\+\_\+add\+\_\+periph()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03527}{xpt\+\_\+create\+\_\+path()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03672}{xpt\+\_\+free\+\_\+path()}}, \mbox{\hyperlink{cam__xpt_8c_source_l05316}{xpt\+\_\+lock\+\_\+buses()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03895}{xpt\+\_\+path\+\_\+lun\+\_\+id()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03880}{xpt\+\_\+path\+\_\+path\+\_\+id()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03904}{xpt\+\_\+path\+\_\+sim()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03886}{xpt\+\_\+path\+\_\+target\+\_\+id()}}, \mbox{\hyperlink{cam__xpt_8c_source_l01034}{xpt\+\_\+remove\+\_\+periph()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05322}{xpt\+\_\+unlock\+\_\+buses()}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l01298}{adaasync()}}, \mbox{\hyperlink{ata__xpt_8c_source_l01559}{ata\+\_\+scan\+\_\+lun()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00418}{cdasync()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00319}{chasync()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01738}{ctlfe\+\_\+lun\+\_\+enable()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01640}{ctlfe\+\_\+online()}}, \mbox{\hyperlink{scsi__da_8c_source_l02104}{daasync()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00214}{enc\+\_\+async()}}, \mbox{\hyperlink{mmc__xpt_8c_source_l00230}{mmc\+\_\+scan\+\_\+lun()}}, \mbox{\hyperlink{nvme__da_8c_source_l00644}{ndaasync()}}, \mbox{\hyperlink{nvme__xpt_8c_source_l00526}{nvme\+\_\+scan\+\_\+lun()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00485}{passasync()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00265}{pmpasync()}}, \mbox{\hyperlink{scsi__pt_8c_source_l00359}{ptasync()}}, \mbox{\hyperlink{scsi__sa_8c_source_l02292}{saasync()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l02297}{scsi\+\_\+scan\+\_\+lun()}}, \mbox{\hyperlink{mmc__da_8c_source_l00649}{sddaasync()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00252}{sgasync()}}, \mbox{\hyperlink{scsi__targ__bh_8c_source_l00175}{targbhasync()}}, \mbox{\hyperlink{scsi__target_8c_source_l00383}{targenable()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l00889}{xpt\+\_\+init()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a4f1f3d094a98f5d252093050b3d18de6_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_a4f1f3d094a98f5d252093050b3d18de6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a75ca97e267b2b0a98d4c146ec1967bdc}\label{cam__periph_8h_a75ca97e267b2b0a98d4c146ec1967bdc}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_async@{cam\_periph\_async}}
\index{cam\_periph\_async@{cam\_periph\_async}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_async()}{cam\_periph\_async()}}
{\footnotesize\ttfamily void cam\+\_\+periph\+\_\+async (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph,  }\item[{u\+\_\+int32\+\_\+t}]{code,  }\item[{struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$}]{path,  }\item[{void $\ast$}]{arg }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l01471}{1471}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__ccb_8h_source_l00873}{AC\+\_\+\+LOST\+\_\+\+DEVICE}}, and \mbox{\hyperlink{cam__periph_8c_source_l00655}{cam\+\_\+periph\+\_\+invalidate()}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l01298}{adaasync()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00418}{cdasync()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00319}{chasync()}}, \mbox{\hyperlink{scsi__da_8c_source_l02104}{daasync()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00214}{enc\+\_\+async()}}, \mbox{\hyperlink{nvme__da_8c_source_l00644}{ndaasync()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00485}{passasync()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00265}{pmpasync()}}, \mbox{\hyperlink{scsi__pt_8c_source_l00359}{ptasync()}}, \mbox{\hyperlink{scsi__sa_8c_source_l02292}{saasync()}}, \mbox{\hyperlink{mmc__da_8c_source_l00649}{sddaasync()}}, and \mbox{\hyperlink{scsi__sg_8c_source_l00252}{sgasync()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a75ca97e267b2b0a98d4c146ec1967bdc_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a75ca97e267b2b0a98d4c146ec1967bdc_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a6bda1773e83d8f0168108d82d8635ff1}\label{cam__periph_8h_a6bda1773e83d8f0168108d82d8635ff1}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_bus\_settle@{cam\_periph\_bus\_settle}}
\index{cam\_periph\_bus\_settle@{cam\_periph\_bus\_settle}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_bus\_settle()}{cam\_periph\_bus\_settle()}}
{\footnotesize\ttfamily void cam\+\_\+periph\+\_\+bus\+\_\+settle (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph,  }\item[{u\+\_\+int}]{bus\+\_\+settle\+\_\+ms }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l01484}{1484}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8c_source_l01496}{cam\+\_\+periph\+\_\+freeze\+\_\+after\+\_\+event()}}, \mbox{\hyperlink{cam_8h_source_l00092}{CAM\+\_\+\+PRIORITY\+\_\+\+NORMAL}}, \mbox{\hyperlink{cam__ccb_8h_source_l00391}{ccb\+\_\+getdevstats\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \mbox{\hyperlink{cam__ccb_8h_source_l00405}{ccb\+\_\+getdevstats\+::last\+\_\+reset}}, \mbox{\hyperlink{cam__periph_8h_source_l00124}{cam\+\_\+periph\+::path}}, \mbox{\hyperlink{cam__xpt_8c_source_l02601}{xpt\+\_\+action()}}, \mbox{\hyperlink{cam__ccb_8h_source_l00164}{XPT\+\_\+\+GDEV\+\_\+\+STATS}}, and \mbox{\hyperlink{cam__xpt_8c_source_l03520}{xpt\+\_\+setup\+\_\+ccb()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a6bda1773e83d8f0168108d82d8635ff1_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a65b22efc50fe81b25c61979986a32d50}\label{cam__periph_8h_a65b22efc50fe81b25c61979986a32d50}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_doacquire@{cam\_periph\_doacquire}}
\index{cam\_periph\_doacquire@{cam\_periph\_doacquire}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_doacquire()}{cam\_periph\_doacquire()}}
{\footnotesize\ttfamily void cam\+\_\+periph\+\_\+doacquire (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00432}{432}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00145}{cam\+\_\+periph\+::refcount}}, \mbox{\hyperlink{cam__xpt_8c_source_l05316}{xpt\+\_\+lock\+\_\+buses()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05322}{xpt\+\_\+unlock\+\_\+buses()}}.



Referenced by \mbox{\hyperlink{scsi__pass_8c_source_l00768}{passclose()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00233}{passrejectios()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l00750}{probestart()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l03314}{xpt\+\_\+run\+\_\+allocq()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=347pt]{dc/d47/cam__periph_8h_a65b22efc50fe81b25c61979986a32d50_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_a65b22efc50fe81b25c61979986a32d50_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_ac2010c1d05ec8dff4d1c03f3ec0be8c4}\label{cam__periph_8h_ac2010c1d05ec8dff4d1c03f3ec0be8c4}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_error@{cam\_periph\_error}}
\index{cam\_periph\_error@{cam\_periph\_error}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_error()}{cam\_periph\_error()}}
{\footnotesize\ttfamily int cam\+\_\+periph\+\_\+error (\begin{DoxyParamCaption}\item[{union \mbox{\hyperlink{unionccb}{ccb}} $\ast$}]{ccb,  }\item[{\mbox{\hyperlink{cam_8h_a14bf0cceb256c2063f776e6cc4aba316}{cam\+\_\+flags}}}]{camflags,  }\item[{u\+\_\+int32\+\_\+t}]{sense\+\_\+flags }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l01864}{1864}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__ccb_8h_source_l00873}{AC\+\_\+\+LOST\+\_\+\+DEVICE}}, \mbox{\hyperlink{cam__ccb_8h_source_l00867}{AC\+\_\+\+UNIT\+\_\+\+ATTENTION}}, \mbox{\hyperlink{cam_8h_source_l00225}{CAM\+\_\+\+ATA\+\_\+\+STATUS\+\_\+\+ERROR}}, \mbox{\hyperlink{cam_8h_source_l00182}{CAM\+\_\+\+AUTOSENSE\+\_\+\+FAIL}}, \mbox{\hyperlink{cam_8h_source_l00203}{CAM\+\_\+\+BDR\+\_\+\+SENT}}, \mbox{\hyperlink{cam_8h_source_l00149}{CAM\+\_\+\+BUSY}}, \mbox{\hyperlink{cam_8h_source_l00167}{CAM\+\_\+\+CMD\+\_\+\+TIMEOUT}}, \mbox{\hyperlink{cam_8h_source_l00188}{CAM\+\_\+\+DATA\+\_\+\+RUN\+\_\+\+ERR}}, \mbox{\hyperlink{cam__debug_8h_source_l00040}{CAM\+\_\+\+DEBUG\+\_\+\+INFO}}, \mbox{\hyperlink{cam__debug_8h_source_l00087}{CAM\+\_\+\+DEBUGGED}}, \mbox{\hyperlink{cam_8h_source_l00158}{CAM\+\_\+\+DEV\+\_\+\+NOT\+\_\+\+THERE}}, \mbox{\hyperlink{cam_8h_source_l00287}{CAM\+\_\+\+DEV\+\_\+\+QFRZN}}, \mbox{\hyperlink{cam_8h_source_l00324}{CAM\+\_\+\+EPF\+\_\+\+ALL}}, \mbox{\hyperlink{cam_8c_source_l00510}{cam\+\_\+error\+\_\+print()}}, \mbox{\hyperlink{cam_8h_source_l00317}{CAM\+\_\+\+ESF\+\_\+\+ALL}}, \mbox{\hyperlink{cam_8h_source_l00265}{CAM\+\_\+\+FUNC\+\_\+\+NOTAVAIL}}, \mbox{\hyperlink{cam_8h_source_l00259}{CAM\+\_\+\+LUN\+\_\+\+INVALID}}, \mbox{\hyperlink{cam_8h_source_l00049}{CAM\+\_\+\+LUN\+\_\+\+WILDCARD}}, \mbox{\hyperlink{cam_8h_source_l00173}{CAM\+\_\+\+MSG\+\_\+\+REJECT\+\_\+\+REC}}, \mbox{\hyperlink{cam_8h_source_l00185}{CAM\+\_\+\+NO\+\_\+\+HBA}}, \mbox{\hyperlink{cam_8h_source_l00155}{CAM\+\_\+\+PATH\+\_\+\+INVALID}}, \mbox{\hyperlink{cam__periph_8c_source_l02106}{cam\+\_\+periph\+\_\+devctl\+\_\+notify()}}, \mbox{\hyperlink{cam__periph_8h_source_l00133}{CAM\+\_\+\+PERIPH\+\_\+\+INVALID}}, \mbox{\hyperlink{cam_8h_source_l00200}{CAM\+\_\+\+PROVIDE\+\_\+\+FAIL}}, \mbox{\hyperlink{cam__periph_8c_source_l01342}{cam\+\_\+release\+\_\+devq()}}, \mbox{\hyperlink{cam_8h_source_l00140}{CAM\+\_\+\+REQ\+\_\+\+ABORTED}}, \mbox{\hyperlink{cam_8h_source_l00137}{CAM\+\_\+\+REQ\+\_\+\+CMP}}, \mbox{\hyperlink{cam_8h_source_l00146}{CAM\+\_\+\+REQ\+\_\+\+CMP\+\_\+\+ERR}}, \mbox{\hyperlink{cam_8h_source_l00152}{CAM\+\_\+\+REQ\+\_\+\+INVALID}}, \mbox{\hyperlink{cam_8h_source_l00206}{CAM\+\_\+\+REQ\+\_\+\+TERMIO}}, \mbox{\hyperlink{cam_8h_source_l00212}{CAM\+\_\+\+REQ\+\_\+\+TOO\+\_\+\+BIG}}, \mbox{\hyperlink{cam_8h_source_l00222}{CAM\+\_\+\+REQUEUE\+\_\+\+REQ}}, \mbox{\hyperlink{cam_8h_source_l00247}{CAM\+\_\+\+RESRC\+\_\+\+UNAVAIL}}, \mbox{\hyperlink{cam_8h_source_l00118}{CAM\+\_\+\+RETRY\+\_\+\+SELTO}}, \mbox{\hyperlink{cam_8h_source_l00176}{CAM\+\_\+\+SCSI\+\_\+\+BUS\+\_\+\+RESET}}, \mbox{\hyperlink{cam_8h_source_l00170}{CAM\+\_\+\+SCSI\+\_\+\+STATUS\+\_\+\+ERROR}}, \mbox{\hyperlink{cam_8h_source_l00164}{CAM\+\_\+\+SEL\+\_\+\+TIMEOUT}}, \mbox{\hyperlink{cam_8h_source_l00231}{CAM\+\_\+\+SMP\+\_\+\+STATUS\+\_\+\+ERROR}}, \mbox{\hyperlink{cam_8h_source_l00302}{CAM\+\_\+\+STATUS\+\_\+\+MASK}}, \mbox{\hyperlink{cam_8h_source_l00262}{CAM\+\_\+\+TID\+\_\+\+INVALID}}, \mbox{\hyperlink{cam_8h_source_l00143}{CAM\+\_\+\+UA\+\_\+\+ABORT}}, \mbox{\hyperlink{cam_8h_source_l00161}{CAM\+\_\+\+UA\+\_\+\+TERMIO}}, \mbox{\hyperlink{cam_8h_source_l00179}{CAM\+\_\+\+UNCOR\+\_\+\+PARITY}}, \mbox{\hyperlink{cam_8h_source_l00191}{CAM\+\_\+\+UNEXP\+\_\+\+BUSFREE}}, \mbox{\hyperlink{cam_8h_source_l00209}{CAM\+\_\+\+UNREC\+\_\+\+HBA\+\_\+\+ERROR}}, \mbox{\hyperlink{cam__periph_8c_source_l01525}{camperiphscsistatuserror()}}, \mbox{\hyperlink{mmc__sim__if_8m_source_l00053}{ccb}}, \mbox{\hyperlink{cam__ccb_8h_source_l01346}{ccb\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__ccb_8h_source_l01374}{ccb\+::crcn}}, \mbox{\hyperlink{cam__ccb_8h_source_l01191}{ccb\+\_\+rescan\+::flags}}, \mbox{\hyperlink{cam__periph_8h_source_l00129}{cam\+\_\+periph\+::flags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \mbox{\hyperlink{cam__ccb_8h_source_l00364}{ccb\+\_\+hdr\+::path}}, \mbox{\hyperlink{cam__periph_8c_source_l00107}{periph\+\_\+busy\+\_\+delay}}, \mbox{\hyperlink{cam__periph_8c_source_l00105}{periph\+\_\+noresrc\+\_\+delay}}, \mbox{\hyperlink{cam__periph_8c_source_l00103}{periph\+\_\+selto\+\_\+delay}}, \mbox{\hyperlink{cam__ccb_8h_source_l00841}{RELSIM\+\_\+\+RELEASE\+\_\+\+AFTER\+\_\+\+TIMEOUT}}, \mbox{\hyperlink{cam__ccb_8h_source_l00354}{ccb\+\_\+hdr\+::retry\+\_\+count}}, \mbox{\hyperlink{cam_8h_source_l00123}{SF\+\_\+\+NO\+\_\+\+PRINT}}, \mbox{\hyperlink{cam_8h_source_l00127}{SF\+\_\+\+NO\+\_\+\+RETRY}}, \mbox{\hyperlink{cam_8h_source_l00125}{SF\+\_\+\+PRINT\+\_\+\+ALWAYS}}, \mbox{\hyperlink{scsi__all_8h_source_l00094}{SSQ\+\_\+\+LOST}}, \mbox{\hyperlink{scsi__all_8h_source_l00091}{SSQ\+\_\+\+PRINT\+\_\+\+SENSE}}, \mbox{\hyperlink{scsi__all_8h_source_l00093}{SSQ\+\_\+\+RESCAN}}, \mbox{\hyperlink{scsi__all_8h_source_l00092}{SSQ\+\_\+\+UA}}, \mbox{\hyperlink{cam__ccb_8h_source_l00363}{ccb\+\_\+hdr\+::status}}, \mbox{\hyperlink{cam__xpt_8c_source_l02601}{xpt\+\_\+action()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04621}{xpt\+\_\+alloc\+\_\+ccb\+\_\+nowait()}}, \mbox{\hyperlink{cam__xpt_8c_source_l04350}{xpt\+\_\+async()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03527}{xpt\+\_\+create\+\_\+path()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03672}{xpt\+\_\+free\+\_\+path()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03895}{xpt\+\_\+path\+\_\+lun\+\_\+id()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03880}{xpt\+\_\+path\+\_\+path\+\_\+id()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03911}{xpt\+\_\+path\+\_\+periph()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03886}{xpt\+\_\+path\+\_\+target\+\_\+id()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03814}{xpt\+\_\+print()}}, \mbox{\hyperlink{cam__xpt_8c_source_l00840}{xpt\+\_\+rescan()}}, and \mbox{\hyperlink{cam__ccb_8h_source_l00223}{XPT\+\_\+\+SCAN\+\_\+\+TGT}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l03391}{adaerror()}}, \mbox{\hyperlink{ata__xpt_8c_source_l00743}{aprobedone()}}, \mbox{\hyperlink{cam__periph_8c_source_l01363}{camperiphdone()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03077}{cderror()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00735}{cherror()}}, \mbox{\hyperlink{scsi__da_8c_source_l01918}{dadump()}}, \mbox{\hyperlink{scsi__da_8c_source_l05956}{daerror()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00346}{enc\+\_\+error()}}, \mbox{\hyperlink{nvme__da_8c_source_l00502}{ndadump()}}, \mbox{\hyperlink{nvme__da_8c_source_l01270}{ndaerror()}}, \mbox{\hyperlink{nvme__xpt_8c_source_l00305}{nvme\+\_\+probe\+\_\+done()}}, \mbox{\hyperlink{scsi__pass_8c_source_l02249}{passerror()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00583}{pmpdone()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l01170}{probedone()}}, \mbox{\hyperlink{scsi__pt_8c_source_l00561}{pterror()}}, \mbox{\hyperlink{scsi__sa_8c_source_l03017}{sadone()}}, \mbox{\hyperlink{scsi__sa_8c_source_l03666}{saerror()}}, \mbox{\hyperlink{mmc__da_8c_source_l02009}{sddadump()}}, \mbox{\hyperlink{mmc__da_8c_source_l02003}{sddaerror()}}, and \mbox{\hyperlink{scsi__sg_8c_source_l00931}{sgerror()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_ac2010c1d05ec8dff4d1c03f3ec0be8c4_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_ac2010c1d05ec8dff4d1c03f3ec0be8c4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a226ad3f9f98f7569d1ca8ab5d725c6bf}\label{cam__periph_8h_a226ad3f9f98f7569d1ca8ab5d725c6bf}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_find@{cam\_periph\_find}}
\index{cam\_periph\_find@{cam\_periph\_find}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_find()}{cam\_periph\_find()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$ cam\+\_\+periph\+\_\+find (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$}]{path,  }\item[{char $\ast$}]{name }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00340}{340}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00230}{cam\+\_\+periph\+\_\+assert}}, \mbox{\hyperlink{cam__periph_8h_source_l00124}{cam\+\_\+periph\+::path}}, \mbox{\hyperlink{cam__periph_8c_source_l00099}{periph\+\_\+drivers}}, \mbox{\hyperlink{cam__xpt_8c_source_l05316}{xpt\+\_\+lock\+\_\+buses()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03718}{xpt\+\_\+path\+\_\+comp()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05322}{xpt\+\_\+unlock\+\_\+buses()}}.



Referenced by \mbox{\hyperlink{ata__xpt_8c_source_l01559}{ata\+\_\+scan\+\_\+lun()}}, \mbox{\hyperlink{cam__periph_8c_source_l00197}{cam\+\_\+periph\+\_\+alloc()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01738}{ctlfe\+\_\+lun\+\_\+enable()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01703}{ctlfe\+\_\+offline()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01640}{ctlfe\+\_\+online()}}, \mbox{\hyperlink{mmc__xpt_8c_source_l00230}{mmc\+\_\+scan\+\_\+lun()}}, \mbox{\hyperlink{nvme__xpt_8c_source_l00526}{nvme\+\_\+scan\+\_\+lun()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l02297}{scsi\+\_\+scan\+\_\+lun()}}, \mbox{\hyperlink{scsi__targ__bh_8c_source_l00175}{targbhasync()}}, and \mbox{\hyperlink{scsi__target_8c_source_l00383}{targenable()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=317pt]{dc/d47/cam__periph_8h_a226ad3f9f98f7569d1ca8ab5d725c6bf_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_a226ad3f9f98f7569d1ca8ab5d725c6bf_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a75876f3c52118d3987e0b571f5fa23de}\label{cam__periph_8h_a75876f3c52118d3987e0b571f5fa23de}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_freeze\_after\_event@{cam\_periph\_freeze\_after\_event}}
\index{cam\_periph\_freeze\_after\_event@{cam\_periph\_freeze\_after\_event}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_freeze\_after\_event()}{cam\_periph\_freeze\_after\_event()}}
{\footnotesize\ttfamily void cam\+\_\+periph\+\_\+freeze\+\_\+after\+\_\+event (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph,  }\item[{struct timeval $\ast$}]{event\+\_\+time,  }\item[{u\+\_\+int}]{duration\+\_\+ms }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l01496}{1496}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8c_source_l01329}{cam\+\_\+freeze\+\_\+devq()}}, \mbox{\hyperlink{cam__periph_8c_source_l01342}{cam\+\_\+release\+\_\+devq()}}, \mbox{\hyperlink{cam__periph_8h_source_l00124}{cam\+\_\+periph\+::path}}, and \mbox{\hyperlink{cam__ccb_8h_source_l00841}{RELSIM\+\_\+\+RELEASE\+\_\+\+AFTER\+\_\+\+TIMEOUT}}.



Referenced by \mbox{\hyperlink{cam__periph_8c_source_l01484}{cam\+\_\+periph\+\_\+bus\+\_\+settle()}}, and \mbox{\hyperlink{scsi__xpt_8c_source_l00652}{proberegister()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a75876f3c52118d3987e0b571f5fa23de_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a75876f3c52118d3987e0b571f5fa23de_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a3e0b448f630edd6d782fb33e4a12e3f1}\label{cam__periph_8h_a3e0b448f630edd6d782fb33e4a12e3f1}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_getccb@{cam\_periph\_getccb}}
\index{cam\_periph\_getccb@{cam\_periph\_getccb}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_getccb()}{cam\_periph\_getccb()}}
{\footnotesize\ttfamily union \mbox{\hyperlink{unionccb}{ccb}} $\ast$ cam\+\_\+periph\+\_\+getccb (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph,  }\item[{u\+\_\+int32\+\_\+t}]{priority }\end{DoxyParamCaption})}



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



References \mbox{\hyperlink{cam__debug_8h_source_l00093}{CAM\+\_\+\+DEBUG}}, \mbox{\hyperlink{cam__debug_8h_source_l00041}{CAM\+\_\+\+DEBUG\+\_\+\+TRACE}}, \mbox{\hyperlink{cam__periph_8h_source_l00230}{cam\+\_\+periph\+\_\+assert}}, \mbox{\hyperlink{cam__periph_8h_source_l00233}{cam\+\_\+periph\+\_\+sleep}}, \mbox{\hyperlink{cam__periph_8h_source_l00142}{cam\+\_\+periph\+::immediate\+\_\+priority}}, \mbox{\hyperlink{cam__periph_8h_source_l00124}{cam\+\_\+periph\+::path}}, \mbox{\hyperlink{cam__ccb_8h_source_l00352}{ccb\+\_\+hdr\+::periph\+\_\+links}}, \mbox{\hyperlink{cam__ccb_8h_source_l00349}{ccb\+\_\+hdr\+::pinfo}}, \mbox{\hyperlink{cam_8h_source_l00086}{cam\+\_\+pinfo\+::priority}}, and \mbox{\hyperlink{cam__xpt_8c_source_l03314}{xpt\+\_\+run\+\_\+allocq()}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l00989}{adaclose()}}, \mbox{\hyperlink{ata__da_8c_source_l03556}{adaflush()}}, \mbox{\hyperlink{cam__periph_8c_source_l01109}{cam\+\_\+periph\+\_\+ioctl()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03235}{cdgetmode()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03571}{cdpause()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03428}{cdplay()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03483}{cdplaymsf()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03528}{cdplaytracks()}}, \mbox{\hyperlink{scsi__cd_8c_source_l02628}{cdprevent()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03960}{cdreaddvdstructure()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03184}{cdreadsubchannel()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03150}{cdreadtoc()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03710}{cdreportkey()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03869}{cdsendkey()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03335}{cdsetmode()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03666}{cdsetspeed()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03610}{cdstartunit()}}, \mbox{\hyperlink{scsi__cd_8c_source_l03638}{cdstopunit()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00915}{chexchange()}}, \mbox{\hyperlink{scsi__ch_8c_source_l01182}{chgetelemstatus()}}, \mbox{\hyperlink{scsi__ch_8c_source_l01528}{chgetparams()}}, \mbox{\hyperlink{scsi__ch_8c_source_l01405}{chielem()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00861}{chmove()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00978}{chposition()}}, \mbox{\hyperlink{scsi__ch_8c_source_l01440}{chsetvoltag()}}, \mbox{\hyperlink{scsi__da_8c_source_l01804}{daclose()}}, \mbox{\hyperlink{scsi__da_8c_source_l06067}{daprevent()}}, \mbox{\hyperlink{scsi__da_8c_source_l06260}{dashutdown()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00756}{enc\+\_\+fsm\+\_\+step()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00579}{enc\+\_\+runcmd()}}, \mbox{\hyperlink{nvme__da_8c_source_l00321}{ndaclose()}}, \mbox{\hyperlink{nvme__da_8c_source_l01308}{ndaflush()}}, \mbox{\hyperlink{scsi__pass_8c_source_l01749}{passdoioctl()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05462}{saerase()}}, \mbox{\hyperlink{scsi__sa_8c_source_l03875}{sagetparams()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05115}{sagetpos()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05431}{saloadunload()}}, \mbox{\hyperlink{scsi__sa_8c_source_l03169}{samount()}}, \mbox{\hyperlink{scsi__sa_8c_source_l04908}{saprevent()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05212}{sardpos()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05400}{sareservereleaseunit()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05371}{saretension()}}, \mbox{\hyperlink{scsi__sa_8c_source_l04947}{sarewind()}}, \mbox{\hyperlink{scsi__sa_8c_source_l04390}{sasetparams()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05256}{sasetpos()}}, \mbox{\hyperlink{scsi__sa_8c_source_l04206}{sasetprot()}}, \mbox{\hyperlink{scsi__sa_8c_source_l04978}{saspace()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05053}{sawritefilemarks()}}, \mbox{\hyperlink{scsi__enc__ses_8c_source_l01204}{ses\+\_\+set\+\_\+timed\+\_\+completion()}}, and \mbox{\hyperlink{scsi__sg_8c_source_l00498}{sgioctl()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a3e0b448f630edd6d782fb33e4a12e3f1_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a9590854e2c9bfe6a5ba541b1a211d494}\label{cam__periph_8h_a9590854e2c9bfe6a5ba541b1a211d494}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_hold@{cam\_periph\_hold}}
\index{cam\_periph\_hold@{cam\_periph\_hold}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_hold()}{cam\_periph\_hold()}}
{\footnotesize\ttfamily int cam\+\_\+periph\+\_\+hold (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph,  }\item[{int}]{priority }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00486}{486}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8c_source_l00413}{cam\+\_\+periph\+\_\+acquire()}}, \mbox{\hyperlink{cam__periph_8h_source_l00230}{cam\+\_\+periph\+\_\+assert}}, \mbox{\hyperlink{cam__periph_8h_source_l00133}{CAM\+\_\+\+PERIPH\+\_\+\+INVALID}}, \mbox{\hyperlink{cam__periph_8h_source_l00132}{CAM\+\_\+\+PERIPH\+\_\+\+LOCK\+\_\+\+WANTED}}, \mbox{\hyperlink{cam__periph_8h_source_l00131}{CAM\+\_\+\+PERIPH\+\_\+\+LOCKED}}, \mbox{\hyperlink{cam__periph_8c_source_l00453}{cam\+\_\+periph\+\_\+release\+\_\+locked()}}, \mbox{\hyperlink{cam__periph_8h_source_l00233}{cam\+\_\+periph\+\_\+sleep}}, and \mbox{\hyperlink{cam__periph_8h_source_l00129}{cam\+\_\+periph\+::flags}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l00989}{adaclose()}}, \mbox{\hyperlink{ata__da_8c_source_l00959}{adaopen()}}, \mbox{\hyperlink{ata__da_8c_source_l01796}{adaregister()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00802}{cdclose()}}, \mbox{\hyperlink{scsi__cd_8c_source_l01756}{cdioctl()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00757}{cdopen()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00595}{cdregister()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00460}{chopen()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00366}{chregister()}}, \mbox{\hyperlink{nvme__da_8c_source_l00321}{ndaclose()}}, \mbox{\hyperlink{nvme__da_8c_source_l00291}{ndaopen()}}, \mbox{\hyperlink{nvme__da_8c_source_l00838}{ndaregister()}}, \mbox{\hyperlink{scsi__sa_8c_source_l00790}{saclose()}}, \mbox{\hyperlink{scsi__sa_8c_source_l01560}{saioctl()}}, \mbox{\hyperlink{scsi__sa_8c_source_l00714}{saopen()}}, \mbox{\hyperlink{mmc__da_8c_source_l01507}{sdda\+\_\+add\+\_\+part()}}, \mbox{\hyperlink{mmc__da_8c_source_l01224}{sdda\+\_\+start\+\_\+init()}}, \mbox{\hyperlink{mmc__da_8c_source_l01073}{sdda\+\_\+start\+\_\+init\+\_\+task()}}, and \mbox{\hyperlink{mmc__da_8c_source_l00442}{sddaopen()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a9590854e2c9bfe6a5ba541b1a211d494_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a9590854e2c9bfe6a5ba541b1a211d494_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_ac018c88658c51ec769298af70819c000}\label{cam__periph_8h_ac018c88658c51ec769298af70819c000}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_invalidate@{cam\_periph\_invalidate}}
\index{cam\_periph\_invalidate@{cam\_periph\_invalidate}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_invalidate()}{cam\_periph\_invalidate()}}
{\footnotesize\ttfamily void cam\+\_\+periph\+\_\+invalidate (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00655}{655}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__debug_8h_source_l00093}{CAM\+\_\+\+DEBUG}}, \mbox{\hyperlink{cam__debug_8h_source_l00040}{CAM\+\_\+\+DEBUG\+\_\+\+INFO}}, \mbox{\hyperlink{cam__periph_8h_source_l00138}{CAM\+\_\+\+PERIPH\+\_\+\+ANNOUNCED}}, \mbox{\hyperlink{cam__periph_8h_source_l00230}{cam\+\_\+periph\+\_\+assert}}, \mbox{\hyperlink{cam__periph_8h_source_l00133}{CAM\+\_\+\+PERIPH\+\_\+\+INVALID}}, \mbox{\hyperlink{cam__periph_8c_source_l00453}{cam\+\_\+periph\+\_\+release\+\_\+locked()}}, \mbox{\hyperlink{cam__periph_8h_source_l00129}{cam\+\_\+periph\+::flags}}, \mbox{\hyperlink{cam__periph_8h_source_l00124}{cam\+\_\+periph\+::path}}, \mbox{\hyperlink{cam__periph_8h_source_l00121}{cam\+\_\+periph\+::periph\+\_\+oninval}}, and \mbox{\hyperlink{cam__xpt_8c_source_l01203}{xpt\+\_\+denounce\+\_\+periph\+\_\+sbuf()}}.



Referenced by \mbox{\hyperlink{ata__xpt_8c_source_l00743}{aprobedone()}}, \mbox{\hyperlink{cam__periph_8c_source_l01471}{cam\+\_\+periph\+\_\+async()}}, \mbox{\hyperlink{cam__periph_8c_source_l02182}{cam\+\_\+periph\+\_\+invalidate\+\_\+sysctl()}}, \mbox{\hyperlink{scsi__cd_8c_source_l01150}{cddone()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00906}{cdstart()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00597}{chdone()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01802}{ctlfe\+\_\+lun\+\_\+disable()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01703}{ctlfe\+\_\+offline()}}, \mbox{\hyperlink{scsi__da_8c_source_l04770}{dadone\+\_\+proberc()}}, \mbox{\hyperlink{mmc__xpt_8c_source_l00818}{mmcprobe\+\_\+done()}}, \mbox{\hyperlink{nvme__xpt_8c_source_l00305}{nvme\+\_\+probe\+\_\+done()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l01170}{probedone()}}, \mbox{\hyperlink{scsi__targ__bh_8c_source_l00175}{targbhasync()}}, \mbox{\hyperlink{scsi__targ__bh_8c_source_l00394}{targbhctor()}}, \mbox{\hyperlink{scsi__target_8c_source_l00169}{targcdevdtor()}}, and \mbox{\hyperlink{scsi__target_8c_source_l00383}{targenable()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_ac018c88658c51ec769298af70819c000_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_ac018c88658c51ec769298af70819c000_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_abdccd5417ed5d96202c3a2a2772eac6b}\label{cam__periph_8h_abdccd5417ed5d96202c3a2a2772eac6b}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_invalidate\_sysctl@{cam\_periph\_invalidate\_sysctl}}
\index{cam\_periph\_invalidate\_sysctl@{cam\_periph\_invalidate\_sysctl}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_invalidate\_sysctl()}{cam\_periph\_invalidate\_sysctl()}}
{\footnotesize\ttfamily int cam\+\_\+periph\+\_\+invalidate\+\_\+sysctl (\begin{DoxyParamCaption}\item[{SYSCTL\+\_\+\+HANDLER\+\_\+\+ARGS}]{ }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l02182}{2182}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8c_source_l00655}{cam\+\_\+periph\+\_\+invalidate()}}, \mbox{\hyperlink{cam__periph_8h_source_l00224}{cam\+\_\+periph\+\_\+lock}}, and \mbox{\hyperlink{cam__periph_8h_source_l00227}{cam\+\_\+periph\+\_\+unlock}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l01466}{adasysctlinit()}}, \mbox{\hyperlink{scsi__da_8c_source_l02241}{dasysctlinit()}}, and \mbox{\hyperlink{nvme__da_8c_source_l00702}{ndasysctlinit()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_abdccd5417ed5d96202c3a2a2772eac6b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_abdccd5417ed5d96202c3a2a2772eac6b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_ac87854e887a6602529ea8cafa66dbdac}\label{cam__periph_8h_ac87854e887a6602529ea8cafa66dbdac}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_ioctl@{cam\_periph\_ioctl}}
\index{cam\_periph\_ioctl@{cam\_periph\_ioctl}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_ioctl()}{cam\_periph\_ioctl()}}
{\footnotesize\ttfamily int cam\+\_\+periph\+\_\+ioctl (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph,  }\item[{u\+\_\+long}]{cmd,  }\item[{caddr\+\_\+t}]{addr,  }\item[{int($\ast$)(union \mbox{\hyperlink{unionccb}{ccb}} $\ast$\mbox{\hyperlink{unionccb}{ccb}}, \mbox{\hyperlink{cam_8h_a14bf0cceb256c2063f776e6cc4aba316}{cam\+\_\+flags}} camflags, u\+\_\+int32\+\_\+t sense\+\_\+flags)}]{error\+\_\+routine }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l01109}{1109}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__ccb_8h_source_l00409}{CAM\+\_\+\+GDEVLIST\+\_\+\+LAST\+\_\+\+DEVICE}}, \mbox{\hyperlink{cam__ccb_8h_source_l00411}{CAM\+\_\+\+GDEVLIST\+\_\+\+MORE\+\_\+\+DEVS}}, \mbox{\hyperlink{cam__xpt_8c_source_l04695}{cam\+\_\+periph\+\_\+getccb()}}, \mbox{\hyperlink{cam_8h_source_l00092}{CAM\+\_\+\+PRIORITY\+\_\+\+NORMAL}}, \mbox{\hyperlink{scsi__pass_8h_source_l00042}{CAMGETPASSTHRU}}, \mbox{\hyperlink{mmc__sim__if_8m_source_l00053}{ccb}}, \mbox{\hyperlink{cam__ccb_8h_source_l01346}{ccb\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__ccb_8h_source_l01349}{ccb\+::cgdl}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \mbox{\hyperlink{cam__ccb_8h_source_l00420}{ccb\+\_\+getdevlist\+::index}}, \mbox{\hyperlink{cam__ccb_8h_source_l00364}{ccb\+\_\+hdr\+::path}}, \mbox{\hyperlink{cam__ccb_8h_source_l00417}{ccb\+\_\+getdevlist\+::periph\+\_\+name}}, \mbox{\hyperlink{cam__ccb_8h_source_l00421}{ccb\+\_\+getdevlist\+::status}}, \mbox{\hyperlink{cam__ccb_8h_source_l00418}{ccb\+\_\+getdevlist\+::unit\+\_\+number}}, \mbox{\hyperlink{cam__xpt_8c_source_l02601}{xpt\+\_\+action()}}, \mbox{\hyperlink{cam__ccb_8h_source_l00145}{XPT\+\_\+\+GDEVLIST}}, \mbox{\hyperlink{cam__xpt_8c_source_l03924}{xpt\+\_\+release\+\_\+ccb()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l03520}{xpt\+\_\+setup\+\_\+ccb()}}.



Referenced by \mbox{\hyperlink{scsi__cd_8c_source_l01756}{cdioctl()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00742}{chioctl()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00353}{enc\+\_\+ioctl()}}, \mbox{\hyperlink{scsi__pass_8c_source_l01749}{passdoioctl()}}, \mbox{\hyperlink{scsi__pt_8c_source_l00568}{ptioctl()}}, and \mbox{\hyperlink{scsi__sa_8c_source_l01560}{saioctl()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_ac87854e887a6602529ea8cafa66dbdac_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=288pt]{dc/d47/cam__periph_8h_ac87854e887a6602529ea8cafa66dbdac_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a7a3bd4dc31a021d4b2616d40b3726450}\label{cam__periph_8h_a7a3bd4dc31a021d4b2616d40b3726450}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_list@{cam\_periph\_list}}
\index{cam\_periph\_list@{cam\_periph\_list}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_list()}{cam\_periph\_list()}}
{\footnotesize\ttfamily int cam\+\_\+periph\+\_\+list (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$}]{path,  }\item[{struct sbuf $\ast$}]{sb }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00370}{370}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00124}{cam\+\_\+periph\+::path}}, \mbox{\hyperlink{cam__periph_8c_source_l00099}{periph\+\_\+drivers}}, \mbox{\hyperlink{cam__periph_8h_source_l00123}{cam\+\_\+periph\+::periph\+\_\+name}}, \mbox{\hyperlink{cam__periph_8h_source_l00127}{cam\+\_\+periph\+::unit\+\_\+number}}, \mbox{\hyperlink{cam__xpt_8c_source_l05316}{xpt\+\_\+lock\+\_\+buses()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03718}{xpt\+\_\+path\+\_\+comp()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05322}{xpt\+\_\+unlock\+\_\+buses()}}.



Referenced by \mbox{\hyperlink{scsi__enc__ses_8c_source_l01009}{ses\+\_\+elmdevname\+\_\+callback()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=314pt]{dc/d47/cam__periph_8h_a7a3bd4dc31a021d4b2616d40b3726450_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a7a3bd4dc31a021d4b2616d40b3726450_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_ac2f4c1959a7ea858a031736a09693bbe}\label{cam__periph_8h_ac2f4c1959a7ea858a031736a09693bbe}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_mapmem@{cam\_periph\_mapmem}}
\index{cam\_periph\_mapmem@{cam\_periph\_mapmem}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_mapmem()}{cam\_periph\_mapmem()}}
{\footnotesize\ttfamily int cam\+\_\+periph\+\_\+mapmem (\begin{DoxyParamCaption}\item[{union \mbox{\hyperlink{unionccb}{ccb}} $\ast$}]{ccb,  }\item[{struct \mbox{\hyperlink{structcam__periph__map__info}{cam\+\_\+periph\+\_\+map\+\_\+info}} $\ast$}]{mapinfo,  }\item[{u\+\_\+int}]{maxmap }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00793}{793}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__ccb_8h_source_l01376}{ccb\+::ataio}}, \mbox{\hyperlink{cam__periph_8h_source_l00160}{cam\+\_\+periph\+\_\+map\+\_\+info\+::bp}}, \mbox{\hyperlink{cam__ccb_8h_source_l01326}{ccb\+\_\+dev\+\_\+advinfo\+::buf}}, \mbox{\hyperlink{cam__ccb_8h_source_l01323}{ccb\+\_\+dev\+\_\+advinfo\+::bufsiz}}, \mbox{\hyperlink{cam__ccb_8h_source_l00088}{CAM\+\_\+\+DATA\+\_\+\+MASK}}, \mbox{\hyperlink{cam__ccb_8h_source_l00083}{CAM\+\_\+\+DATA\+\_\+\+VADDR}}, \mbox{\hyperlink{cam__ccb_8h_source_l00079}{CAM\+\_\+\+DIR\+\_\+\+IN}}, \mbox{\hyperlink{cam__ccb_8h_source_l00082}{CAM\+\_\+\+DIR\+\_\+\+MASK}}, \mbox{\hyperlink{cam__ccb_8h_source_l00081}{CAM\+\_\+\+DIR\+\_\+\+NONE}}, \mbox{\hyperlink{cam__ccb_8h_source_l00080}{CAM\+\_\+\+DIR\+\_\+\+OUT}}, \mbox{\hyperlink{cam__periph_8h_source_l00155}{CAM\+\_\+\+PERIPH\+\_\+\+MAXMAPS}}, \mbox{\hyperlink{cam__ccb_8h_source_l01346}{ccb\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__ccb_8h_source_l01377}{ccb\+::cdai}}, \mbox{\hyperlink{cam__ccb_8h_source_l01356}{ccb\+::cdm}}, \mbox{\hyperlink{cam__ccb_8h_source_l00813}{ccb\+\_\+mmcio\+::cmd}}, \mbox{\hyperlink{cam__ccb_8h_source_l01347}{ccb\+::csio}}, \mbox{\hyperlink{cam__ccb_8h_source_l00753}{ccb\+\_\+scsiio\+::data\+\_\+ptr}}, \mbox{\hyperlink{cam__ccb_8h_source_l00796}{ccb\+\_\+ataio\+::data\+\_\+ptr}}, \mbox{\hyperlink{cam__ccb_8h_source_l00857}{ccb\+\_\+nvmeio\+::data\+\_\+ptr}}, \mbox{\hyperlink{cam__ccb_8h_source_l00754}{ccb\+\_\+scsiio\+::dxfer\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00797}{ccb\+\_\+ataio\+::dxfer\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00858}{ccb\+\_\+nvmeio\+::dxfer\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00368}{ccb\+\_\+hdr\+::flags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \mbox{\hyperlink{cam__ccb_8h_source_l00586}{ccb\+\_\+dev\+\_\+match\+::match\+\_\+buf\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00587}{ccb\+\_\+dev\+\_\+match\+::matches}}, \mbox{\hyperlink{cam__ccb_8h_source_l01380}{ccb\+::mmcio}}, \mbox{\hyperlink{cam__periph_8h_source_l00158}{cam\+\_\+periph\+\_\+map\+\_\+info\+::num\+\_\+bufs\+\_\+used}}, \mbox{\hyperlink{cam__ccb_8h_source_l01379}{ccb\+::nvmeio}}, \mbox{\hyperlink{cam__periph_8h_source_l00159}{cam\+\_\+periph\+\_\+map\+\_\+info\+::orig}}, \mbox{\hyperlink{cam__ccb_8h_source_l00583}{ccb\+\_\+dev\+\_\+match\+::pattern\+\_\+buf\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00584}{ccb\+\_\+dev\+\_\+match\+::patterns}}, \mbox{\hyperlink{cam__periph_8c_source_l00110}{periph\+\_\+mapmem\+\_\+thresh}}, \mbox{\hyperlink{cam__ccb_8h_source_l00721}{ccb\+\_\+smpio\+::smp\+\_\+request}}, \mbox{\hyperlink{cam__ccb_8h_source_l00722}{ccb\+\_\+smpio\+::smp\+\_\+request\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00724}{ccb\+\_\+smpio\+::smp\+\_\+response}}, \mbox{\hyperlink{cam__ccb_8h_source_l00725}{ccb\+\_\+smpio\+::smp\+\_\+response\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l01373}{ccb\+::smpio}}, \mbox{\hyperlink{cam__ccb_8h_source_l00199}{XPT\+\_\+\+ATA\+\_\+\+IO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00243}{XPT\+\_\+\+CONT\+\_\+\+TARGET\+\_\+\+IO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00166}{XPT\+\_\+\+DEV\+\_\+\+ADVINFO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00158}{XPT\+\_\+\+DEV\+\_\+\+MATCH}}, \mbox{\hyperlink{cam__ccb_8h_source_l00220}{XPT\+\_\+\+MMC\+\_\+\+IO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00227}{XPT\+\_\+\+NVME\+\_\+\+ADMIN}}, \mbox{\hyperlink{cam__ccb_8h_source_l00217}{XPT\+\_\+\+NVME\+\_\+\+IO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00141}{XPT\+\_\+\+SCSI\+\_\+\+IO}}, and \mbox{\hyperlink{cam__ccb_8h_source_l00214}{XPT\+\_\+\+SMP\+\_\+\+IO}}.



Referenced by \mbox{\hyperlink{cam__compat_8c_source_l00443}{cam\+\_\+compat\+\_\+handle\+\_\+0x19()}}, \mbox{\hyperlink{cam__compat_8c_source_l00380}{cam\+\_\+compat\+\_\+translate\+\_\+dev\+\_\+match\+\_\+0x18()}}, \mbox{\hyperlink{nvme__da_8c_source_l00374}{ndaioctl()}}, \mbox{\hyperlink{scsi__pass_8c_source_l02173}{passsendccb()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00884}{sgsendccb()}}, \mbox{\hyperlink{scsi__target_8c_source_l00710}{targsendccb()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l00409}{xptdoioctl()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_ac2f4c1959a7ea858a031736a09693bbe_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a8b9ecf78613a0fdde3d227cf5a109101}\label{cam__periph_8h_a8b9ecf78613a0fdde3d227cf5a109101}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_mtx@{cam\_periph\_mtx}}
\index{cam\_periph\_mtx@{cam\_periph\_mtx}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_mtx()}{cam\_periph\_mtx()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline struct mtx $\ast$ cam\+\_\+periph\+\_\+mtx (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{cam__periph_8h_source_l00213}{213}} of file \mbox{\hyperlink{cam__periph_8h_source}{cam\+\_\+periph.\+h}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00124}{cam\+\_\+periph\+::path}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05328}{xpt\+\_\+path\+\_\+mtx()}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l01796}{adaregister()}}, \mbox{\hyperlink{cam__iosched_8c_source_l01136}{cam\+\_\+iosched\+\_\+init()}}, \mbox{\hyperlink{cam__periph_8c_source_l00465}{cam\+\_\+periph\+\_\+release()}}, \mbox{\hyperlink{scsi__cd_8c_source_l02691}{cdcheckmedia()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00595}{cdregister()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00506}{chclose()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00245}{chdevgonecb()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l00984}{ctlfe\+\_\+requeue\+\_\+ccb()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01083}{ctlfedone()}}, \mbox{\hyperlink{scsi__da_8c_source_l02766}{daregister()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00313}{enc\+\_\+close()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00129}{enc\+\_\+devgonecb()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00863}{enc\+\_\+kproc\+\_\+init()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00436}{pass\+\_\+add\+\_\+physpath()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00768}{passclose()}}, \mbox{\hyperlink{scsi__pass_8c_source_l01036}{passcreatezone()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00287}{passdevgonecb()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00555}{passregister()}}, \mbox{\hyperlink{scsi__sa_8c_source_l02193}{sadevgonecb()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00465}{sgclose()}}, and \mbox{\hyperlink{scsi__sg_8c_source_l00171}{sgdevgonecb()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=298pt]{dc/d47/cam__periph_8h_a8b9ecf78613a0fdde3d227cf5a109101_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_a8b9ecf78613a0fdde3d227cf5a109101_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a7b495eee22da0818e6aec8aa176843b7}\label{cam__periph_8h_a7b495eee22da0818e6aec8aa176843b7}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_release@{cam\_periph\_release}}
\index{cam\_periph\_release@{cam\_periph\_release}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_release()}{cam\_periph\_release()}}
{\footnotesize\ttfamily void cam\+\_\+periph\+\_\+release (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00465}{465}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00230}{cam\+\_\+periph\+\_\+assert}}, \mbox{\hyperlink{cam__periph_8h_source_l00213}{cam\+\_\+periph\+\_\+mtx()}}, and \mbox{\hyperlink{cam__periph_8c_source_l00453}{cam\+\_\+periph\+\_\+release\+\_\+locked()}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l00989}{adaclose()}}, \mbox{\hyperlink{ata__da_8c_source_l01218}{adadiskgonecb()}}, \mbox{\hyperlink{ata__da_8c_source_l00959}{adaopen()}}, \mbox{\hyperlink{ata__da_8c_source_l01466}{adasysctlinit()}}, \mbox{\hyperlink{cam__periph_8h_source_l00252}{cam\+\_\+periph\+\_\+acquire\+\_\+next()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00802}{cdclose()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00365}{cddiskgonecb()}}, \mbox{\hyperlink{scsi__cd_8c_source_l01756}{cdioctl()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00515}{cdsysctlinit()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00460}{chopen()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l00918}{ctlfe\+\_\+drain()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01802}{ctlfe\+\_\+lun\+\_\+disable()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00825}{enc\+\_\+daemon()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00863}{enc\+\_\+kproc\+\_\+init()}}, \mbox{\hyperlink{nvme__da_8c_source_l00321}{ndaclose()}}, \mbox{\hyperlink{nvme__da_8c_source_l00579}{ndadiskgonecb()}}, \mbox{\hyperlink{nvme__da_8c_source_l00291}{ndaopen()}}, \mbox{\hyperlink{nvme__da_8c_source_l00702}{ndasysctlinit()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00418}{pass\+\_\+shutdown\+\_\+kqueue()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00339}{pmpsysctlinit()}}, \mbox{\hyperlink{scsi__pt_8c_source_l00136}{ptopen()}}, \mbox{\hyperlink{scsi__sa_8c_source_l00790}{saclose()}}, \mbox{\hyperlink{scsi__sa_8c_source_l00714}{saopen()}}, \mbox{\hyperlink{scsi__sa_8c_source_l02387}{sasysctlinit()}}, \mbox{\hyperlink{mmc__da_8c_source_l01224}{sdda\+\_\+start\+\_\+init()}}, \mbox{\hyperlink{mmc__da_8c_source_l00473}{sddaclose()}}, \mbox{\hyperlink{mmc__da_8c_source_l00583}{sddadiskgonecb()}}, \mbox{\hyperlink{mmc__da_8c_source_l00442}{sddaopen()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00429}{sgopen()}}, \mbox{\hyperlink{scsi__target_8c_source_l00169}{targcdevdtor()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03302}{xpt\+\_\+run\+\_\+allocq\+\_\+task()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l02402}{xptpdperiphtraverse()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a7b495eee22da0818e6aec8aa176843b7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_a7b495eee22da0818e6aec8aa176843b7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a06741cfe8f484a9dad6f9607a233908c}\label{cam__periph_8h_a06741cfe8f484a9dad6f9607a233908c}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_release\_locked@{cam\_periph\_release\_locked}}
\index{cam\_periph\_release\_locked@{cam\_periph\_release\_locked}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_release\_locked()}{cam\_periph\_release\_locked()}}
{\footnotesize\ttfamily void cam\+\_\+periph\+\_\+release\+\_\+locked (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00453}{453}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8c_source_l00443}{cam\+\_\+periph\+\_\+release\+\_\+locked\+\_\+buses()}}, \mbox{\hyperlink{cam__xpt_8c_source_l05316}{xpt\+\_\+lock\+\_\+buses()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05322}{xpt\+\_\+unlock\+\_\+buses()}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l02689}{adaprobedone()}}, \mbox{\hyperlink{ata__xpt_8c_source_l00743}{aprobedone()}}, \mbox{\hyperlink{cam__periph_8c_source_l00486}{cam\+\_\+periph\+\_\+hold()}}, \mbox{\hyperlink{cam__periph_8c_source_l00655}{cam\+\_\+periph\+\_\+invalidate()}}, \mbox{\hyperlink{cam__periph_8c_source_l00465}{cam\+\_\+periph\+\_\+release()}}, \mbox{\hyperlink{cam__periph_8c_source_l00519}{cam\+\_\+periph\+\_\+unhold()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00802}{cdclose()}}, \mbox{\hyperlink{scsi__cd_8c_source_l01150}{cddone()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00757}{cdopen()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00906}{cdstart()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00506}{chclose()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00245}{chdevgonecb()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00460}{chopen()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00366}{chregister()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l00933}{ctlfe\+\_\+free\+\_\+ccb()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00313}{enc\+\_\+close()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00886}{enc\+\_\+ctor()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00129}{enc\+\_\+devgonecb()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00279}{enc\+\_\+open()}}, \mbox{\hyperlink{mmc__xpt_8c_source_l00818}{mmcprobe\+\_\+done()}}, \mbox{\hyperlink{nvme__xpt_8c_source_l00305}{nvme\+\_\+probe\+\_\+done()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00436}{pass\+\_\+add\+\_\+physpath()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00768}{passclose()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00287}{passdevgonecb()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00895}{passdone()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00711}{passopen()}}, \mbox{\hyperlink{scsi__pass_8c_source_l00555}{passregister()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00583}{pmpdone()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l01170}{probedone()}}, \mbox{\hyperlink{scsi__pt_8c_source_l00170}{ptclose()}}, \mbox{\hyperlink{scsi__pt_8c_source_l00136}{ptopen()}}, \mbox{\hyperlink{scsi__sa_8c_source_l02193}{sadevgonecb()}}, \mbox{\hyperlink{scsi__sa_8c_source_l03017}{sadone()}}, \mbox{\hyperlink{scsi__sa_8c_source_l02752}{sastart()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00465}{sgclose()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00171}{sgdevgonecb()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00429}{sgopen()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00296}{sgregister()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03314}{xpt\+\_\+run\+\_\+allocq()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l02325}{xptperiphtraverse()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a06741cfe8f484a9dad6f9607a233908c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_a06741cfe8f484a9dad6f9607a233908c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_ac5523a6d5ac9023c1df4ee326d811563}\label{cam__periph_8h_ac5523a6d5ac9023c1df4ee326d811563}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_release\_locked\_buses@{cam\_periph\_release\_locked\_buses}}
\index{cam\_periph\_release\_locked\_buses@{cam\_periph\_release\_locked\_buses}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_release\_locked\_buses()}{cam\_periph\_release\_locked\_buses()}}
{\footnotesize\ttfamily void cam\+\_\+periph\+\_\+release\+\_\+locked\+\_\+buses (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00443}{443}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00230}{cam\+\_\+periph\+\_\+assert}}, \mbox{\hyperlink{cam__periph_8c_source_l00684}{camperiphfree()}}, and \mbox{\hyperlink{cam__periph_8h_source_l00145}{cam\+\_\+periph\+::refcount}}.



Referenced by \mbox{\hyperlink{cam__periph_8c_source_l00453}{cam\+\_\+periph\+\_\+release\+\_\+locked()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_ac5523a6d5ac9023c1df4ee326d811563_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_ac5523a6d5ac9023c1df4ee326d811563_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a9eb7c5c2381f6769e4ecf63233bfff6f}\label{cam__periph_8h_a9eb7c5c2381f6769e4ecf63233bfff6f}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_runccb@{cam\_periph\_runccb}}
\index{cam\_periph\_runccb@{cam\_periph\_runccb}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_runccb()}{cam\_periph\_runccb()}}
{\footnotesize\ttfamily int cam\+\_\+periph\+\_\+runccb (\begin{DoxyParamCaption}\item[{union \mbox{\hyperlink{unionccb}{ccb}} $\ast$}]{ccb,  }\item[{int($\ast$)(union \mbox{\hyperlink{unionccb}{ccb}} $\ast$\mbox{\hyperlink{unionccb}{ccb}}, \mbox{\hyperlink{cam_8h_a14bf0cceb256c2063f776e6cc4aba316}{cam\+\_\+flags}} camflags, u\+\_\+int32\+\_\+t sense\+\_\+flags)}]{error\+\_\+routine,  }\item[{\mbox{\hyperlink{cam_8h_a14bf0cceb256c2063f776e6cc4aba316}{cam\+\_\+flags}}}]{camflags,  }\item[{u\+\_\+int32\+\_\+t}]{sense\+\_\+flags,  }\item[{struct devstat $\ast$}]{ds }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l01207}{1207}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__ccb_8h_source_l01376}{ccb\+::ataio}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00202}{cam\+\_\+path\+::bus}}, \mbox{\hyperlink{cam_8h_source_l00287}{CAM\+\_\+\+DEV\+\_\+\+QFRZN}}, \mbox{\hyperlink{cam__ccb_8h_source_l00082}{CAM\+\_\+\+DIR\+\_\+\+MASK}}, \mbox{\hyperlink{cam__ccb_8h_source_l00081}{CAM\+\_\+\+DIR\+\_\+\+NONE}}, \mbox{\hyperlink{cam__ccb_8h_source_l00080}{CAM\+\_\+\+DIR\+\_\+\+OUT}}, \mbox{\hyperlink{cam__periph_8c_source_l01187}{cam\+\_\+periph\+\_\+ccbwait()}}, \mbox{\hyperlink{cam__periph_8c_source_l01177}{cam\+\_\+periph\+\_\+done()}}, \mbox{\hyperlink{cam__periph_8c_source_l01342}{cam\+\_\+release\+\_\+devq()}}, \mbox{\hyperlink{cam_8h_source_l00137}{CAM\+\_\+\+REQ\+\_\+\+CMP}}, \mbox{\hyperlink{cam_8h_source_l00247}{CAM\+\_\+\+RESRC\+\_\+\+UNAVAIL}}, \mbox{\hyperlink{cam__sim_8h_source_l00139}{cam\+\_\+sim\+\_\+pollable()}}, \mbox{\hyperlink{cam_8h_source_l00302}{CAM\+\_\+\+STATUS\+\_\+\+MASK}}, \mbox{\hyperlink{cam__ccb_8h_source_l00119}{CAM\+\_\+\+UNLOCKED}}, \mbox{\hyperlink{cam__ccb_8h_source_l00360}{ccb\+\_\+hdr\+::cbfcnp}}, \mbox{\hyperlink{mmc__sim__if_8m_source_l00053}{ccb}}, \mbox{\hyperlink{cam__ccb_8h_source_l01346}{ccb\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__ccb_8h_source_l01347}{ccb\+::csio}}, \mbox{\hyperlink{cam__ccb_8h_source_l00754}{ccb\+\_\+scsiio\+::dxfer\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00797}{ccb\+\_\+ataio\+::dxfer\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00858}{ccb\+\_\+nvmeio\+::dxfer\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00368}{ccb\+\_\+hdr\+::flags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \mbox{\hyperlink{cam__ccb_8h_source_l01379}{ccb\+::nvmeio}}, \mbox{\hyperlink{cam__ccb_8h_source_l00364}{ccb\+\_\+hdr\+::path}}, \mbox{\hyperlink{cam__ccb_8h_source_l00762}{ccb\+\_\+scsiio\+::resid}}, \mbox{\hyperlink{cam__ccb_8h_source_l00798}{ccb\+\_\+ataio\+::resid}}, \mbox{\hyperlink{cam__xpt__internal_8h_source_l00189}{cam\+\_\+eb\+::sim}}, \mbox{\hyperlink{cam__ccb_8h_source_l00363}{ccb\+\_\+hdr\+::status}}, \mbox{\hyperlink{cam__ccb_8h_source_l00766}{ccb\+\_\+scsiio\+::tag\+\_\+action}}, \mbox{\hyperlink{cam__ccb_8h_source_l00373}{ccb\+\_\+hdr\+::timeout}}, \mbox{\hyperlink{cam__xpt_8c_source_l02601}{xpt\+\_\+action()}}, \mbox{\hyperlink{cam__ccb_8h_source_l00199}{XPT\+\_\+\+ATA\+\_\+\+IO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00217}{XPT\+\_\+\+NVME\+\_\+\+IO}}, \mbox{\hyperlink{cam__xpt_8h_source_l00130}{xpt\+\_\+path\+\_\+assert}}, \mbox{\hyperlink{cam__xpt_8c_source_l03180}{xpt\+\_\+poll\+\_\+setup()}}, \mbox{\hyperlink{cam__xpt_8c_source_l03214}{xpt\+\_\+pollwait()}}, and \mbox{\hyperlink{cam__ccb_8h_source_l00141}{XPT\+\_\+\+SCSI\+\_\+\+IO}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l00989}{adaclose()}}, \mbox{\hyperlink{ata__da_8c_source_l01102}{adadump()}}, \mbox{\hyperlink{ata__da_8c_source_l03556}{adaflush()}}, \mbox{\hyperlink{ata__da_8c_source_l03609}{adaspindown()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00842}{cdrunccb()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00915}{chexchange()}}, \mbox{\hyperlink{scsi__ch_8c_source_l01182}{chgetelemstatus()}}, \mbox{\hyperlink{scsi__ch_8c_source_l01528}{chgetparams()}}, \mbox{\hyperlink{scsi__ch_8c_source_l01405}{chielem()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00861}{chmove()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00978}{chposition()}}, \mbox{\hyperlink{scsi__ch_8c_source_l01440}{chsetvoltag()}}, \mbox{\hyperlink{scsi__da_8c_source_l01804}{daclose()}}, \mbox{\hyperlink{scsi__da_8c_source_l01918}{dadump()}}, \mbox{\hyperlink{scsi__da_8c_source_l06067}{daprevent()}}, \mbox{\hyperlink{scsi__da_8c_source_l06260}{dashutdown()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00756}{enc\+\_\+fsm\+\_\+step()}}, \mbox{\hyperlink{scsi__enc_8c_source_l00579}{enc\+\_\+runcmd()}}, \mbox{\hyperlink{mmc__da_8c_source_l00792}{mmc\+\_\+exec\+\_\+app\+\_\+cmd()}}, \mbox{\hyperlink{mmc__da_8c_source_l00994}{mmc\+\_\+sd\+\_\+switch()}}, \mbox{\hyperlink{mmc__da_8c_source_l00937}{mmc\+\_\+select\+\_\+card()}}, \mbox{\hyperlink{mmc__da_8c_source_l00872}{mmc\+\_\+send\+\_\+ext\+\_\+csd()}}, \mbox{\hyperlink{mmc__da_8c_source_l00958}{mmc\+\_\+switch()}}, \mbox{\hyperlink{nvme__da_8c_source_l00321}{ndaclose()}}, \mbox{\hyperlink{nvme__da_8c_source_l00502}{ndadump()}}, \mbox{\hyperlink{nvme__da_8c_source_l01308}{ndaflush()}}, \mbox{\hyperlink{nvme__da_8c_source_l00374}{ndaioctl()}}, \mbox{\hyperlink{scsi__pass_8c_source_l02173}{passsendccb()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05462}{saerase()}}, \mbox{\hyperlink{scsi__sa_8c_source_l03875}{sagetparams()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05115}{sagetpos()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05431}{saloadunload()}}, \mbox{\hyperlink{scsi__sa_8c_source_l03169}{samount()}}, \mbox{\hyperlink{scsi__sa_8c_source_l04908}{saprevent()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05212}{sardpos()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05400}{sareservereleaseunit()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05371}{saretension()}}, \mbox{\hyperlink{scsi__sa_8c_source_l04947}{sarewind()}}, \mbox{\hyperlink{scsi__sa_8c_source_l04390}{sasetparams()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05256}{sasetpos()}}, \mbox{\hyperlink{scsi__sa_8c_source_l04206}{sasetprot()}}, \mbox{\hyperlink{scsi__sa_8c_source_l04978}{saspace()}}, \mbox{\hyperlink{scsi__sa_8c_source_l05053}{sawritefilemarks()}}, \mbox{\hyperlink{mmc__da_8c_source_l02009}{sddadump()}}, \mbox{\hyperlink{scsi__enc__ses_8c_source_l01204}{ses\+\_\+set\+\_\+timed\+\_\+completion()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00884}{sgsendccb()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l00409}{xptdoioctl()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a9eb7c5c2381f6769e4ecf63233bfff6f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_a9eb7c5c2381f6769e4ecf63233bfff6f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a87d933ebed78bbf0c6fce590bb487a8d}\label{cam__periph_8h_a87d933ebed78bbf0c6fce590bb487a8d}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_unhold@{cam\_periph\_unhold}}
\index{cam\_periph\_unhold@{cam\_periph\_unhold}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_unhold()}{cam\_periph\_unhold()}}
{\footnotesize\ttfamily void cam\+\_\+periph\+\_\+unhold (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}} $\ast$}]{periph }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00519}{519}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00230}{cam\+\_\+periph\+\_\+assert}}, \mbox{\hyperlink{cam__periph_8h_source_l00132}{CAM\+\_\+\+PERIPH\+\_\+\+LOCK\+\_\+\+WANTED}}, \mbox{\hyperlink{cam__periph_8c_source_l00453}{cam\+\_\+periph\+\_\+release\+\_\+locked()}}, and \mbox{\hyperlink{cam__periph_8h_source_l00129}{cam\+\_\+periph\+::flags}}.



Referenced by \mbox{\hyperlink{ata__da_8c_source_l00989}{adaclose()}}, \mbox{\hyperlink{ata__da_8c_source_l00959}{adaopen()}}, \mbox{\hyperlink{ata__da_8c_source_l02689}{adaprobedone()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00802}{cdclose()}}, \mbox{\hyperlink{scsi__cd_8c_source_l01150}{cddone()}}, \mbox{\hyperlink{scsi__cd_8c_source_l01756}{cdioctl()}}, \mbox{\hyperlink{scsi__cd_8c_source_l00757}{cdopen()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00597}{chdone()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00460}{chopen()}}, \mbox{\hyperlink{nvme__da_8c_source_l00321}{ndaclose()}}, \mbox{\hyperlink{nvme__da_8c_source_l00291}{ndaopen()}}, \mbox{\hyperlink{nvme__da_8c_source_l00838}{ndaregister()}}, \mbox{\hyperlink{scsi__sa_8c_source_l00790}{saclose()}}, \mbox{\hyperlink{scsi__sa_8c_source_l01560}{saioctl()}}, \mbox{\hyperlink{scsi__sa_8c_source_l00714}{saopen()}}, \mbox{\hyperlink{mmc__da_8c_source_l01507}{sdda\+\_\+add\+\_\+part()}}, \mbox{\hyperlink{mmc__da_8c_source_l01224}{sdda\+\_\+start\+\_\+init()}}, \mbox{\hyperlink{mmc__da_8c_source_l01073}{sdda\+\_\+start\+\_\+init\+\_\+task()}}, and \mbox{\hyperlink{mmc__da_8c_source_l00442}{sddaopen()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a87d933ebed78bbf0c6fce590bb487a8d_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a87d933ebed78bbf0c6fce590bb487a8d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a54a00fbe30ea8eab256bf8d05c0a28b0}\label{cam__periph_8h_a54a00fbe30ea8eab256bf8d05c0a28b0}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_periph\_unmapmem@{cam\_periph\_unmapmem}}
\index{cam\_periph\_unmapmem@{cam\_periph\_unmapmem}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_periph\_unmapmem()}{cam\_periph\_unmapmem()}}
{\footnotesize\ttfamily void cam\+\_\+periph\+\_\+unmapmem (\begin{DoxyParamCaption}\item[{union \mbox{\hyperlink{unionccb}{ccb}} $\ast$}]{ccb,  }\item[{struct \mbox{\hyperlink{structcam__periph__map__info}{cam\+\_\+periph\+\_\+map\+\_\+info}} $\ast$}]{mapinfo }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l01005}{1005}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__ccb_8h_source_l01376}{ccb\+::ataio}}, \mbox{\hyperlink{cam__periph_8h_source_l00160}{cam\+\_\+periph\+\_\+map\+\_\+info\+::bp}}, \mbox{\hyperlink{cam__ccb_8h_source_l01326}{ccb\+\_\+dev\+\_\+advinfo\+::buf}}, \mbox{\hyperlink{cam__ccb_8h_source_l01323}{ccb\+\_\+dev\+\_\+advinfo\+::bufsiz}}, \mbox{\hyperlink{cam__ccb_8h_source_l00079}{CAM\+\_\+\+DIR\+\_\+\+IN}}, \mbox{\hyperlink{cam__ccb_8h_source_l00082}{CAM\+\_\+\+DIR\+\_\+\+MASK}}, \mbox{\hyperlink{cam__ccb_8h_source_l00080}{CAM\+\_\+\+DIR\+\_\+\+OUT}}, \mbox{\hyperlink{cam__periph_8h_source_l00155}{CAM\+\_\+\+PERIPH\+\_\+\+MAXMAPS}}, \mbox{\hyperlink{cam__ccb_8h_source_l01346}{ccb\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__ccb_8h_source_l01377}{ccb\+::cdai}}, \mbox{\hyperlink{cam__ccb_8h_source_l01356}{ccb\+::cdm}}, \mbox{\hyperlink{cam__ccb_8h_source_l00813}{ccb\+\_\+mmcio\+::cmd}}, \mbox{\hyperlink{cam__ccb_8h_source_l01347}{ccb\+::csio}}, \mbox{\hyperlink{cam__ccb_8h_source_l00753}{ccb\+\_\+scsiio\+::data\+\_\+ptr}}, \mbox{\hyperlink{cam__ccb_8h_source_l00796}{ccb\+\_\+ataio\+::data\+\_\+ptr}}, \mbox{\hyperlink{cam__ccb_8h_source_l00857}{ccb\+\_\+nvmeio\+::data\+\_\+ptr}}, \mbox{\hyperlink{cam__ccb_8h_source_l00754}{ccb\+\_\+scsiio\+::dxfer\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00797}{ccb\+\_\+ataio\+::dxfer\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00858}{ccb\+\_\+nvmeio\+::dxfer\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00368}{ccb\+\_\+hdr\+::flags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \mbox{\hyperlink{cam__ccb_8h_source_l00586}{ccb\+\_\+dev\+\_\+match\+::match\+\_\+buf\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00587}{ccb\+\_\+dev\+\_\+match\+::matches}}, \mbox{\hyperlink{cam__ccb_8h_source_l01380}{ccb\+::mmcio}}, \mbox{\hyperlink{cam__periph_8h_source_l00158}{cam\+\_\+periph\+\_\+map\+\_\+info\+::num\+\_\+bufs\+\_\+used}}, \mbox{\hyperlink{cam__ccb_8h_source_l01379}{ccb\+::nvmeio}}, \mbox{\hyperlink{cam__periph_8h_source_l00159}{cam\+\_\+periph\+\_\+map\+\_\+info\+::orig}}, \mbox{\hyperlink{cam__ccb_8h_source_l00583}{ccb\+\_\+dev\+\_\+match\+::pattern\+\_\+buf\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00584}{ccb\+\_\+dev\+\_\+match\+::patterns}}, \mbox{\hyperlink{cam__ccb_8h_source_l00721}{ccb\+\_\+smpio\+::smp\+\_\+request}}, \mbox{\hyperlink{cam__ccb_8h_source_l00722}{ccb\+\_\+smpio\+::smp\+\_\+request\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l00724}{ccb\+\_\+smpio\+::smp\+\_\+response}}, \mbox{\hyperlink{cam__ccb_8h_source_l00725}{ccb\+\_\+smpio\+::smp\+\_\+response\+\_\+len}}, \mbox{\hyperlink{cam__ccb_8h_source_l01373}{ccb\+::smpio}}, \mbox{\hyperlink{cam__ccb_8h_source_l00199}{XPT\+\_\+\+ATA\+\_\+\+IO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00243}{XPT\+\_\+\+CONT\+\_\+\+TARGET\+\_\+\+IO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00166}{XPT\+\_\+\+DEV\+\_\+\+ADVINFO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00158}{XPT\+\_\+\+DEV\+\_\+\+MATCH}}, \mbox{\hyperlink{cam__ccb_8h_source_l00220}{XPT\+\_\+\+MMC\+\_\+\+IO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00227}{XPT\+\_\+\+NVME\+\_\+\+ADMIN}}, \mbox{\hyperlink{cam__ccb_8h_source_l00217}{XPT\+\_\+\+NVME\+\_\+\+IO}}, \mbox{\hyperlink{cam__ccb_8h_source_l00141}{XPT\+\_\+\+SCSI\+\_\+\+IO}}, and \mbox{\hyperlink{cam__ccb_8h_source_l00214}{XPT\+\_\+\+SMP\+\_\+\+IO}}.



Referenced by \mbox{\hyperlink{cam__compat_8c_source_l00443}{cam\+\_\+compat\+\_\+handle\+\_\+0x19()}}, \mbox{\hyperlink{cam__compat_8c_source_l00380}{cam\+\_\+compat\+\_\+translate\+\_\+dev\+\_\+match\+\_\+0x18()}}, \mbox{\hyperlink{nvme__da_8c_source_l00374}{ndaioctl()}}, \mbox{\hyperlink{scsi__pass_8c_source_l02173}{passsendccb()}}, \mbox{\hyperlink{scsi__sg_8c_source_l00884}{sgsendccb()}}, \mbox{\hyperlink{scsi__target_8c_source_l00899}{targreturnccb()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l00409}{xptdoioctl()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a54a00fbe30ea8eab256bf8d05c0a28b0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_acdbd10013f9849fe6c19d368d6fa435a}\label{cam__periph_8h_acdbd10013f9849fe6c19d368d6fa435a}} 
\index{cam\_periph.h@{cam\_periph.h}!cam\_release\_devq@{cam\_release\_devq}}
\index{cam\_release\_devq@{cam\_release\_devq}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{cam\_release\_devq()}{cam\_release\_devq()}}
{\footnotesize\ttfamily u\+\_\+int32\+\_\+t cam\+\_\+release\+\_\+devq (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structcam__path}{cam\+\_\+path}} $\ast$}]{path,  }\item[{u\+\_\+int32\+\_\+t}]{relsim\+\_\+flags,  }\item[{u\+\_\+int32\+\_\+t}]{opening\+\_\+reduction,  }\item[{u\+\_\+int32\+\_\+t}]{arg,  }\item[{int}]{getcount\+\_\+only }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l01342}{1342}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__debug_8h_source_l00093}{CAM\+\_\+\+DEBUG}}, \mbox{\hyperlink{cam__debug_8h_source_l00041}{CAM\+\_\+\+DEBUG\+\_\+\+TRACE}}, \mbox{\hyperlink{cam__ccb_8h_source_l00092}{CAM\+\_\+\+DEV\+\_\+\+QFREEZE}}, \mbox{\hyperlink{cam_8h_source_l00092}{CAM\+\_\+\+PRIORITY\+\_\+\+NORMAL}}, \mbox{\hyperlink{cam__ccb_8h_source_l00838}{ccb\+\_\+relsim\+::ccb\+\_\+h}}, \mbox{\hyperlink{cam__ccb_8h_source_l00368}{ccb\+\_\+hdr\+::flags}}, \mbox{\hyperlink{cam__ccb_8h_source_l00362}{ccb\+\_\+hdr\+::func\+\_\+code}}, \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__xpt_8c_source_l02601}{xpt\+\_\+action()}}, \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__da_8c_source_l02850}{adadone()}}, \mbox{\hyperlink{ata__da_8c_source_l03744}{adaresume()}}, \mbox{\hyperlink{ata__xpt_8c_source_l00743}{aprobedone()}}, \mbox{\hyperlink{cam__periph_8c_source_l01864}{cam\+\_\+periph\+\_\+error()}}, \mbox{\hyperlink{cam__periph_8c_source_l01496}{cam\+\_\+periph\+\_\+freeze\+\_\+after\+\_\+event()}}, \mbox{\hyperlink{cam__periph_8c_source_l01207}{cam\+\_\+periph\+\_\+runccb()}}, \mbox{\hyperlink{cam__periph_8c_source_l01363}{camperiphdone()}}, \mbox{\hyperlink{scsi__cd_8c_source_l02928}{cd6byteworkaround()}}, \mbox{\hyperlink{scsi__cd_8c_source_l01150}{cddone()}}, \mbox{\hyperlink{scsi__ch_8c_source_l00597}{chdone()}}, \mbox{\hyperlink{scsi__da_8c_source_l04282}{cmd6workaround()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01083}{ctlfedone()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l00455}{ctlferegister()}}, \mbox{\hyperlink{scsi__da_8c_source_l04532}{dadone()}}, \mbox{\hyperlink{scsi__da_8c_source_l05311}{dadone\+\_\+probeata()}}, \mbox{\hyperlink{scsi__da_8c_source_l05532}{dadone\+\_\+probeataiddir()}}, \mbox{\hyperlink{scsi__da_8c_source_l05451}{dadone\+\_\+probeatalogdir()}}, \mbox{\hyperlink{scsi__da_8c_source_l05623}{dadone\+\_\+probeatasup()}}, \mbox{\hyperlink{scsi__da_8c_source_l05736}{dadone\+\_\+probeatazone()}}, \mbox{\hyperlink{scsi__da_8c_source_l05211}{dadone\+\_\+probebdc()}}, \mbox{\hyperlink{scsi__da_8c_source_l05117}{dadone\+\_\+probeblklimits()}}, \mbox{\hyperlink{scsi__da_8c_source_l05059}{dadone\+\_\+probelbp()}}, \mbox{\hyperlink{scsi__da_8c_source_l04770}{dadone\+\_\+proberc()}}, \mbox{\hyperlink{scsi__da_8c_source_l04690}{dadone\+\_\+probewp()}}, \mbox{\hyperlink{scsi__da_8c_source_l05830}{dadone\+\_\+probezone()}}, \mbox{\hyperlink{scsi__da_8c_source_l05907}{dadone\+\_\+tur()}}, \mbox{\hyperlink{scsi__da_8c_source_l06107}{dasetgeom()}}, \mbox{\hyperlink{mmc__xpt_8c_source_l00818}{mmcprobe\+\_\+done()}}, \mbox{\hyperlink{nvme__da_8c_source_l01153}{ndadone()}}, \mbox{\hyperlink{nvme__xpt_8c_source_l00305}{nvme\+\_\+probe\+\_\+done()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00583}{pmpdone()}}, \mbox{\hyperlink{ata__pmp_8c_source_l00200}{pmprelease()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l01170}{probedone()}}, \mbox{\hyperlink{scsi__pt_8c_source_l00473}{ptdone()}}, \mbox{\hyperlink{scsi__sa_8c_source_l03017}{sadone()}}, \mbox{\hyperlink{scsi__sa_8c_source_l02461}{saregister()}}, \mbox{\hyperlink{scsi__xpt_8c_source_l02971}{scsi\+\_\+dev\+\_\+async()}}, \mbox{\hyperlink{mmc__da_8c_source_l01918}{sddadone()}}, \mbox{\hyperlink{scsi__enc__ses_8c_source_l01085}{ses\+\_\+set\+\_\+physpath()}}, \mbox{\hyperlink{scsi__enc__ses_8c_source_l01037}{ses\+\_\+setphyspath\+\_\+callback()}}, \mbox{\hyperlink{scsi__targ__bh_8c_source_l00529}{targbhdone()}}, \mbox{\hyperlink{scsi__targ__bh_8c_source_l00445}{targbhstart()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l01243}{xpt\+\_\+getattr()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_acdbd10013f9849fe6c19d368d6fa435a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{dc/d47/cam__periph_8h_acdbd10013f9849fe6c19d368d6fa435a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a082e5a0e304354a31963e9265919b055}\label{cam__periph_8h_a082e5a0e304354a31963e9265919b055}} 
\index{cam\_periph.h@{cam\_periph.h}!periphdriver\_init@{periphdriver\_init}}
\index{periphdriver\_init@{periphdriver\_init}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{periphdriver\_init()}{periphdriver\_init()}}
{\footnotesize\ttfamily void periphdriver\+\_\+init (\begin{DoxyParamCaption}\item[{int}]{level }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00184}{184}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00099}{CAM\+\_\+\+PERIPH\+\_\+\+DRV\+\_\+\+EARLY}}, \mbox{\hyperlink{cam__periph_8h_source_l00098}{periph\+\_\+driver\+::flags}}, \mbox{\hyperlink{cam__periph_8h_source_l00094}{periph\+\_\+driver\+::init}}, \mbox{\hyperlink{cam__periph_8c_source_l00098}{initialized}}, and \mbox{\hyperlink{cam__periph_8c_source_l00099}{periph\+\_\+drivers}}.



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l05111}{xpt\+\_\+config()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05197}{xpt\+\_\+finishconfig\+\_\+task()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_a082e5a0e304354a31963e9265919b055_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_a946976952127da4eb691a136edcaa967}\label{cam__periph_8h_a946976952127da4eb691a136edcaa967}} 
\index{cam\_periph.h@{cam\_periph.h}!periphdriver\_register@{periphdriver\_register}}
\index{periphdriver\_register@{periphdriver\_register}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{periphdriver\_register()}{periphdriver\_register()}}
{\footnotesize\ttfamily void periphdriver\+\_\+register (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00115}{115}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00099}{CAM\+\_\+\+PERIPH\+\_\+\+DRV\+\_\+\+EARLY}}, \mbox{\hyperlink{cam__periph_8h_source_l00098}{periph\+\_\+driver\+::flags}}, \mbox{\hyperlink{cam__periph_8h_source_l00094}{periph\+\_\+driver\+::init}}, \mbox{\hyperlink{cam__periph_8c_source_l00098}{initialized}}, \mbox{\hyperlink{cam__periph_8c_source_l00097}{nperiph\+\_\+drivers}}, \mbox{\hyperlink{cam__periph_8c_source_l00099}{periph\+\_\+drivers}}, \mbox{\hyperlink{cam__xpt_8c_source_l05316}{xpt\+\_\+lock\+\_\+buses()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05322}{xpt\+\_\+unlock\+\_\+buses()}}.



Referenced by \mbox{\hyperlink{scsi__ctl_8c_source_l00222}{ctlfeinitialize()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=339pt]{dc/d47/cam__periph_8h_a946976952127da4eb691a136edcaa967_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=315pt]{dc/d47/cam__periph_8h_a946976952127da4eb691a136edcaa967_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{cam__periph_8h_ae3cd16c9ba4d62ea79e030a148f02f3a}\label{cam__periph_8h_ae3cd16c9ba4d62ea79e030a148f02f3a}} 
\index{cam\_periph.h@{cam\_periph.h}!periphdriver\_unregister@{periphdriver\_unregister}}
\index{periphdriver\_unregister@{periphdriver\_unregister}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{periphdriver\_unregister()}{periphdriver\_unregister()}}
{\footnotesize\ttfamily int periphdriver\+\_\+unregister (\begin{DoxyParamCaption}\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00152}{152}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



References \mbox{\hyperlink{cam__periph_8h_source_l00099}{CAM\+\_\+\+PERIPH\+\_\+\+DRV\+\_\+\+EARLY}}, \mbox{\hyperlink{cam__periph_8h_source_l00100}{periph\+\_\+driver\+::deinit}}, \mbox{\hyperlink{cam__periph_8h_source_l00095}{periph\+\_\+driver\+::driver\+\_\+name}}, \mbox{\hyperlink{cam__periph_8h_source_l00098}{periph\+\_\+driver\+::flags}}, \mbox{\hyperlink{cam__periph_8c_source_l00098}{initialized}}, \mbox{\hyperlink{cam__periph_8c_source_l00097}{nperiph\+\_\+drivers}}, \mbox{\hyperlink{cam__periph_8c_source_l00099}{periph\+\_\+drivers}}, \mbox{\hyperlink{cam__xpt_8c_source_l05316}{xpt\+\_\+lock\+\_\+buses()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l05322}{xpt\+\_\+unlock\+\_\+buses()}}.



Referenced by \mbox{\hyperlink{scsi__ctl_8c_source_l00232}{ctlfeshutdown()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d47/cam__periph_8h_ae3cd16c9ba4d62ea79e030a148f02f3a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=333pt]{dc/d47/cam__periph_8h_ae3cd16c9ba4d62ea79e030a148f02f3a_icgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{cam__periph_8h_ac080b20aad20a373275084903704bccd}\label{cam__periph_8h_ac080b20aad20a373275084903704bccd}} 
\index{cam\_periph.h@{cam\_periph.h}!periph\_drivers@{periph\_drivers}}
\index{periph\_drivers@{periph\_drivers}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{periph\_drivers}{periph\_drivers}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structperiph__driver}{periph\+\_\+driver}}$\ast$$\ast$ periph\+\_\+drivers\hspace{0.3cm}{\ttfamily [extern]}}



Definition at line \mbox{\hyperlink{cam__periph_8c_source_l00099}{99}} of file \mbox{\hyperlink{cam__periph_8c_source}{cam\+\_\+periph.\+c}}.



Referenced by \mbox{\hyperlink{cam__periph_8c_source_l00197}{cam\+\_\+periph\+\_\+alloc()}}, \mbox{\hyperlink{cam__periph_8c_source_l00340}{cam\+\_\+periph\+\_\+find()}}, \mbox{\hyperlink{cam__periph_8c_source_l00370}{cam\+\_\+periph\+\_\+list()}}, \mbox{\hyperlink{cam__periph_8c_source_l00684}{camperiphfree()}}, \mbox{\hyperlink{cam__periph_8c_source_l00184}{periphdriver\+\_\+init()}}, \mbox{\hyperlink{cam__periph_8c_source_l00115}{periphdriver\+\_\+register()}}, \mbox{\hyperlink{cam__periph_8c_source_l00152}{periphdriver\+\_\+unregister()}}, \mbox{\hyperlink{cam__xpt_8c_source_l00409}{xptdoioctl()}}, \mbox{\hyperlink{cam__xpt_8c_source_l02374}{xptpdrvtraverse()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l02071}{xptplistperiphfunc()}}.

\mbox{\Hypertarget{cam__periph_8h_a88a107b9711f7cf295bb241e5bff985b}\label{cam__periph_8h_a88a107b9711f7cf295bb241e5bff985b}} 
\index{cam\_periph.h@{cam\_periph.h}!xpt\_periph@{xpt\_periph}}
\index{xpt\_periph@{xpt\_periph}!cam\_periph.h@{cam\_periph.h}}
\doxysubsubsection{\texorpdfstring{xpt\_periph}{xpt\_periph}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structcam__periph}{cam\+\_\+periph}}$\ast$ xpt\+\_\+periph\hspace{0.3cm}{\ttfamily [extern]}}



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



Referenced by \mbox{\hyperlink{cam__xpt_8c_source_l04276}{xpt\+\_\+async\+\_\+process()}}, \mbox{\hyperlink{cam__xpt_8c_source_l00409}{xptdoioctl()}}, and \mbox{\hyperlink{cam__xpt_8c_source_l00996}{xptregister()}}.

