\hypertarget{ctl__frontend_8h}{}\doxysection{cam/ctl/ctl\+\_\+frontend.h File Reference}
\label{ctl__frontend_8h}\index{cam/ctl/ctl\_frontend.h@{cam/ctl/ctl\_frontend.h}}
{\ttfamily \#include $<$cam/ctl/ctl\+\_\+ioctl.\+h$>$}\newline
{\ttfamily \#include $<$sys/nv.\+h$>$}\newline
Include dependency graph for ctl\+\_\+frontend.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=240pt]{d5/d2f/ctl__frontend_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d04/ctl__frontend_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structctl__wwpn__iid}{ctl\+\_\+wwpn\+\_\+iid}}
\item 
struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}}
\item 
struct \mbox{\hyperlink{structctl__frontend}{ctl\+\_\+frontend}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{ctl__frontend_8h_adb6666523ea90c7d7d15b2e89d2fbd03}{CTL\+\_\+\+FRONTEND\+\_\+\+DECLARE}}(name,  driver)
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef int($\ast$ \mbox{\hyperlink{ctl__frontend_8h_add104f548c521e1298bba13be1d9000a}{fe\+\_\+init\+\_\+t}}) (void)
\item 
typedef int($\ast$ \mbox{\hyperlink{ctl__frontend_8h_aef6e37de1a9b4a717c4cb14089959acc}{fe\+\_\+shutdown\+\_\+t}}) (void)
\item 
typedef void($\ast$ \mbox{\hyperlink{ctl__frontend_8h_a81758eab0efa2e2a39c770caf45c99df}{port\+\_\+func\+\_\+t}}) (void $\ast$onoff\+\_\+arg)
\item 
typedef int($\ast$ \mbox{\hyperlink{ctl__frontend_8h_a133bcfa4ad6e56e19d65a0e1056a40ba}{port\+\_\+info\+\_\+func\+\_\+t}}) (void $\ast$onoff\+\_\+arg, struct sbuf $\ast$sb)
\item 
typedef int($\ast$ \mbox{\hyperlink{ctl__frontend_8h_a293e548d50a385cc42d1fe9458a13582}{lun\+\_\+func\+\_\+t}}) (void $\ast$arg, int lun\+\_\+id)
\item 
typedef int($\ast$ \mbox{\hyperlink{ctl__frontend_8h_aca043dc318c3b9c66f7668d3ad0510db}{fe\+\_\+ioctl\+\_\+t}}) (struct cdev $\ast$dev, u\+\_\+long cmd, caddr\+\_\+t addr, int flag, struct thread $\ast$td)
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345}{ctl\+\_\+port\+\_\+status}} \{ \mbox{\hyperlink{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345ac16c27242b3c3dba3e2afac5ff56edc6}{CTL\+\_\+\+PORT\+\_\+\+STATUS\+\_\+\+NONE}} = 0x00
, \mbox{\hyperlink{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345a6cd58920391d26655dee12972ee7ad94}{CTL\+\_\+\+PORT\+\_\+\+STATUS\+\_\+\+ONLINE}} = 0x01
, \mbox{\hyperlink{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345a654ba1e681a207a5fb88eab0b166a4af}{CTL\+\_\+\+PORT\+\_\+\+STATUS\+\_\+\+HA\+\_\+\+SHARED}} = 0x02
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{ctl__frontend_8h_ae7104cb85baec89ca5441cbe12a0dea4}{ctl\+\_\+frontend\+\_\+register}} (struct \mbox{\hyperlink{structctl__frontend}{ctl\+\_\+frontend}} $\ast$fe)
\item 
int \mbox{\hyperlink{ctl__frontend_8h_a525c629f2c248d607214cef9cb7ed1a5}{ctl\+\_\+frontend\+\_\+deregister}} (struct \mbox{\hyperlink{structctl__frontend}{ctl\+\_\+frontend}} $\ast$fe)
\item 
struct \mbox{\hyperlink{structctl__frontend}{ctl\+\_\+frontend}} $\ast$ \mbox{\hyperlink{ctl__frontend_8h_a5914c3f3ec0d6a1016b9bb60efbbdfdb}{ctl\+\_\+frontend\+\_\+find}} (char $\ast$frontend\+\_\+name)
\item 
int \mbox{\hyperlink{ctl__frontend_8h_a8e5dfbba958b9f09dad9ccd82b6e9e21}{ctl\+\_\+port\+\_\+register}} (struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$port)
\item 
int \mbox{\hyperlink{ctl__frontend_8h_a1331fc0ace7f7c225c0ed6aa9d031d3e}{ctl\+\_\+port\+\_\+deregister}} (struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$port)
\item 
void \mbox{\hyperlink{ctl__frontend_8h_a344b18bba5c18c1ec896ed7737b035f1}{ctl\+\_\+port\+\_\+set\+\_\+wwns}} (struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$port, int wwnn\+\_\+valid, uint64\+\_\+t wwnn, int wwpn\+\_\+valid, uint64\+\_\+t wwpn)
\item 
void \mbox{\hyperlink{ctl__frontend_8h_a8083cc3952399dacde32fd3df78b1e06}{ctl\+\_\+port\+\_\+online}} (struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$fe)
\item 
void \mbox{\hyperlink{ctl__frontend_8h_a1b3ccf8491af2a20287b893aab98afe8}{ctl\+\_\+port\+\_\+offline}} (struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$fe)
\item 
int \mbox{\hyperlink{ctl__frontend_8h_aa604fe59bfdbffff131df040d90cfd40}{ctl\+\_\+queue}} (union \mbox{\hyperlink{unionctl__io}{ctl\+\_\+io}} $\ast$io)
\item 
int \mbox{\hyperlink{ctl__frontend_8h_adb43b49c5812cfdb31fed90713c95042}{ctl\+\_\+run}} (union \mbox{\hyperlink{unionctl__io}{ctl\+\_\+io}} $\ast$io)
\item 
int \mbox{\hyperlink{ctl__frontend_8h_a94a09aaef8d2c5a3bf22724be191f4fb}{ctl\+\_\+queue\+\_\+sense}} (union \mbox{\hyperlink{unionctl__io}{ctl\+\_\+io}} $\ast$io)
\item 
int \mbox{\hyperlink{ctl__frontend_8h_a634ec227afc361f525212e599553fc44}{ctl\+\_\+add\+\_\+initiator}} (struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$port, int iid, uint64\+\_\+t wwpn, char $\ast$name)
\item 
int \mbox{\hyperlink{ctl__frontend_8h_a37bc4da4013ae467caf128a9c3abf789}{ctl\+\_\+remove\+\_\+initiator}} (struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$port, int iid)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{ctl__frontend_8h_adb6666523ea90c7d7d15b2e89d2fbd03}\label{ctl__frontend_8h_adb6666523ea90c7d7d15b2e89d2fbd03}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!CTL\_FRONTEND\_DECLARE@{CTL\_FRONTEND\_DECLARE}}
\index{CTL\_FRONTEND\_DECLARE@{CTL\_FRONTEND\_DECLARE}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{CTL\_FRONTEND\_DECLARE}{CTL\_FRONTEND\_DECLARE}}
{\footnotesize\ttfamily \#define CTL\+\_\+\+FRONTEND\+\_\+\+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{                        return (\mbox{\hyperlink{ctl__frontend_8h_ae7104cb85baec89ca5441cbe12a0dea4}{ctl\_frontend\_register}}( \(\backslash\)}
\DoxyCodeLine{                                (\textcolor{keyword}{struct} \mbox{\hyperlink{structctl__frontend}{ctl\_frontend}} *)data)); \(\backslash\)}
\DoxyCodeLine{                        break; \(\backslash\)}
\DoxyCodeLine{                case MOD\_UNLOAD: \(\backslash\)}
\DoxyCodeLine{                        return (\mbox{\hyperlink{ctl__frontend_8h_a525c629f2c248d607214cef9cb7ed1a5}{ctl\_frontend\_deregister}}( \(\backslash\)}
\DoxyCodeLine{                                (\textcolor{keyword}{struct} \mbox{\hyperlink{structctl__frontend}{ctl\_frontend}} *)data)); \(\backslash\)}
\DoxyCodeLine{                        break; \(\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\_CONFIGURE, SI\_ORDER\_FOURTH); \(\backslash\)}}
\DoxyCodeLine{\textcolor{preprocessor}{        MODULE\_DEPEND(name, ctl, 1, 1, 1); \(\backslash\)}}
\DoxyCodeLine{\textcolor{preprocessor}{        MODULE\_DEPEND(name, cam, 1, 1, 1)}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ctl__frontend_8h_source_l00062}{62}} of file \mbox{\hyperlink{ctl__frontend_8h_source}{ctl\+\_\+frontend.\+h}}.



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{ctl__frontend_8h_add104f548c521e1298bba13be1d9000a}\label{ctl__frontend_8h_add104f548c521e1298bba13be1d9000a}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!fe\_init\_t@{fe\_init\_t}}
\index{fe\_init\_t@{fe\_init\_t}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{fe\_init\_t}{fe\_init\_t}}
{\footnotesize\ttfamily typedef int($\ast$ fe\+\_\+init\+\_\+t) (void)}



Definition at line \mbox{\hyperlink{ctl__frontend_8h_source_l00054}{54}} of file \mbox{\hyperlink{ctl__frontend_8h_source}{ctl\+\_\+frontend.\+h}}.

\mbox{\Hypertarget{ctl__frontend_8h_aca043dc318c3b9c66f7668d3ad0510db}\label{ctl__frontend_8h_aca043dc318c3b9c66f7668d3ad0510db}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!fe\_ioctl\_t@{fe\_ioctl\_t}}
\index{fe\_ioctl\_t@{fe\_ioctl\_t}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{fe\_ioctl\_t}{fe\_ioctl\_t}}
{\footnotesize\ttfamily typedef int($\ast$ fe\+\_\+ioctl\+\_\+t) (struct cdev $\ast$dev, u\+\_\+long cmd, caddr\+\_\+t addr, int flag, struct thread $\ast$td)}



Definition at line \mbox{\hyperlink{ctl__frontend_8h_source_l00059}{59}} of file \mbox{\hyperlink{ctl__frontend_8h_source}{ctl\+\_\+frontend.\+h}}.

\mbox{\Hypertarget{ctl__frontend_8h_aef6e37de1a9b4a717c4cb14089959acc}\label{ctl__frontend_8h_aef6e37de1a9b4a717c4cb14089959acc}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!fe\_shutdown\_t@{fe\_shutdown\_t}}
\index{fe\_shutdown\_t@{fe\_shutdown\_t}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{fe\_shutdown\_t}{fe\_shutdown\_t}}
{\footnotesize\ttfamily typedef int($\ast$ fe\+\_\+shutdown\+\_\+t) (void)}



Definition at line \mbox{\hyperlink{ctl__frontend_8h_source_l00055}{55}} of file \mbox{\hyperlink{ctl__frontend_8h_source}{ctl\+\_\+frontend.\+h}}.

\mbox{\Hypertarget{ctl__frontend_8h_a293e548d50a385cc42d1fe9458a13582}\label{ctl__frontend_8h_a293e548d50a385cc42d1fe9458a13582}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!lun\_func\_t@{lun\_func\_t}}
\index{lun\_func\_t@{lun\_func\_t}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{lun\_func\_t}{lun\_func\_t}}
{\footnotesize\ttfamily typedef int($\ast$ lun\+\_\+func\+\_\+t) (void $\ast$arg, int lun\+\_\+id)}



Definition at line \mbox{\hyperlink{ctl__frontend_8h_source_l00058}{58}} of file \mbox{\hyperlink{ctl__frontend_8h_source}{ctl\+\_\+frontend.\+h}}.

\mbox{\Hypertarget{ctl__frontend_8h_a81758eab0efa2e2a39c770caf45c99df}\label{ctl__frontend_8h_a81758eab0efa2e2a39c770caf45c99df}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!port\_func\_t@{port\_func\_t}}
\index{port\_func\_t@{port\_func\_t}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{port\_func\_t}{port\_func\_t}}
{\footnotesize\ttfamily typedef void($\ast$ port\+\_\+func\+\_\+t) (void $\ast$onoff\+\_\+arg)}



Definition at line \mbox{\hyperlink{ctl__frontend_8h_source_l00056}{56}} of file \mbox{\hyperlink{ctl__frontend_8h_source}{ctl\+\_\+frontend.\+h}}.

\mbox{\Hypertarget{ctl__frontend_8h_a133bcfa4ad6e56e19d65a0e1056a40ba}\label{ctl__frontend_8h_a133bcfa4ad6e56e19d65a0e1056a40ba}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!port\_info\_func\_t@{port\_info\_func\_t}}
\index{port\_info\_func\_t@{port\_info\_func\_t}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{port\_info\_func\_t}{port\_info\_func\_t}}
{\footnotesize\ttfamily typedef int($\ast$ port\+\_\+info\+\_\+func\+\_\+t) (void $\ast$onoff\+\_\+arg, struct sbuf $\ast$sb)}



Definition at line \mbox{\hyperlink{ctl__frontend_8h_source_l00057}{57}} of file \mbox{\hyperlink{ctl__frontend_8h_source}{ctl\+\_\+frontend.\+h}}.



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345}\label{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_port\_status@{ctl\_port\_status}}
\index{ctl\_port\_status@{ctl\_port\_status}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_port\_status}{ctl\_port\_status}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345}{ctl\+\_\+port\+\_\+status}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{CTL\_PORT\_STATUS\_NONE@{CTL\_PORT\_STATUS\_NONE}!ctl\_frontend.h@{ctl\_frontend.h}}\index{ctl\_frontend.h@{ctl\_frontend.h}!CTL\_PORT\_STATUS\_NONE@{CTL\_PORT\_STATUS\_NONE}}}\mbox{\Hypertarget{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345ac16c27242b3c3dba3e2afac5ff56edc6}\label{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345ac16c27242b3c3dba3e2afac5ff56edc6}} 
CTL\+\_\+\+PORT\+\_\+\+STATUS\+\_\+\+NONE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CTL\_PORT\_STATUS\_ONLINE@{CTL\_PORT\_STATUS\_ONLINE}!ctl\_frontend.h@{ctl\_frontend.h}}\index{ctl\_frontend.h@{ctl\_frontend.h}!CTL\_PORT\_STATUS\_ONLINE@{CTL\_PORT\_STATUS\_ONLINE}}}\mbox{\Hypertarget{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345a6cd58920391d26655dee12972ee7ad94}\label{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345a6cd58920391d26655dee12972ee7ad94}} 
CTL\+\_\+\+PORT\+\_\+\+STATUS\+\_\+\+ONLINE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{CTL\_PORT\_STATUS\_HA\_SHARED@{CTL\_PORT\_STATUS\_HA\_SHARED}!ctl\_frontend.h@{ctl\_frontend.h}}\index{ctl\_frontend.h@{ctl\_frontend.h}!CTL\_PORT\_STATUS\_HA\_SHARED@{CTL\_PORT\_STATUS\_HA\_SHARED}}}\mbox{\Hypertarget{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345a654ba1e681a207a5fb88eab0b166a4af}\label{ctl__frontend_8h_a0dbed1e38b32ae426df2fc2c39e72345a654ba1e681a207a5fb88eab0b166a4af}} 
CTL\+\_\+\+PORT\+\_\+\+STATUS\+\_\+\+HA\+\_\+\+SHARED&\\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{ctl__frontend_8h_source_l00048}{48}} of file \mbox{\hyperlink{ctl__frontend_8h_source}{ctl\+\_\+frontend.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ctl__frontend_8h_a634ec227afc361f525212e599553fc44}\label{ctl__frontend_8h_a634ec227afc361f525212e599553fc44}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_add\_initiator@{ctl\_add\_initiator}}
\index{ctl\_add\_initiator@{ctl\_add\_initiator}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_add\_initiator()}{ctl\_add\_initiator()}}
{\footnotesize\ttfamily int ctl\+\_\+add\+\_\+initiator (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$}]{port,  }\item[{int}]{iid,  }\item[{uint64\+\_\+t}]{wwpn,  }\item[{char $\ast$}]{name }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl_8c_source_l02174}{2174}} of file \mbox{\hyperlink{ctl_8c_source}{ctl.\+c}}.



References \mbox{\hyperlink{ctl_8c_source_l00957}{ctl\+\_\+isc\+\_\+announce\+\_\+iid()}}, \mbox{\hyperlink{ctl__private_8h_source_l00437}{ctl\+\_\+softc\+::ctl\+\_\+lock}}, \mbox{\hyperlink{ctl__ioctl_8h_source_l00067}{CTL\+\_\+\+MAX\+\_\+\+INIT\+\_\+\+PER\+\_\+\+PORT}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00216}{ctl\+\_\+port\+::ctl\+\_\+softc}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00089}{ctl\+\_\+wwpn\+\_\+iid\+::in\+\_\+use}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00090}{ctl\+\_\+wwpn\+\_\+iid\+::last\+\_\+use}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00092}{ctl\+\_\+wwpn\+\_\+iid\+::name}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00234}{ctl\+\_\+port\+::targ\+\_\+port}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00091}{ctl\+\_\+wwpn\+\_\+iid\+::wwpn}}, and \mbox{\hyperlink{ctl__frontend_8h_source_l00237}{ctl\+\_\+port\+::wwpn\+\_\+iid}}.



Referenced by \mbox{\hyperlink{ctl__frontend__iscsi_8c_source_l01240}{cfiscsi\+\_\+session\+\_\+register\+\_\+initiator()}}, and \mbox{\hyperlink{scsi__ctl_8c_source_l00268}{ctlfeasync()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a634ec227afc361f525212e599553fc44_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a634ec227afc361f525212e599553fc44_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_a525c629f2c248d607214cef9cb7ed1a5}\label{ctl__frontend_8h_a525c629f2c248d607214cef9cb7ed1a5}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_frontend\_deregister@{ctl\_frontend\_deregister}}
\index{ctl\_frontend\_deregister@{ctl\_frontend\_deregister}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_frontend\_deregister()}{ctl\_frontend\_deregister()}}
{\footnotesize\ttfamily int ctl\+\_\+frontend\+\_\+deregister (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structctl__frontend}{ctl\+\_\+frontend}} $\ast$}]{fe }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl__frontend_8c_source_l00109}{109}} of file \mbox{\hyperlink{ctl__frontend_8c_source}{ctl\+\_\+frontend.\+c}}.



References \mbox{\hyperlink{ctl_8c_source_l00092}{control\+\_\+softc}}, \mbox{\hyperlink{ctl__private_8h_source_l00437}{ctl\+\_\+softc\+::ctl\+\_\+lock}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00252}{ctl\+\_\+frontend\+::name}}, \mbox{\hyperlink{ctl__private_8h_source_l00458}{ctl\+\_\+softc\+::num\+\_\+frontends}}, and \mbox{\hyperlink{ctl__frontend_8h_source_l00256}{ctl\+\_\+frontend\+::shutdown}}.



Referenced by \mbox{\hyperlink{ctl_8c_source_l02067}{ctl\+\_\+shutdown()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a525c629f2c248d607214cef9cb7ed1a5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_a5914c3f3ec0d6a1016b9bb60efbbdfdb}\label{ctl__frontend_8h_a5914c3f3ec0d6a1016b9bb60efbbdfdb}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_frontend\_find@{ctl\_frontend\_find}}
\index{ctl\_frontend\_find@{ctl\_frontend\_find}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_frontend\_find()}{ctl\_frontend\_find()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structctl__frontend}{ctl\+\_\+frontend}} $\ast$ ctl\+\_\+frontend\+\_\+find (\begin{DoxyParamCaption}\item[{char $\ast$}]{frontend\+\_\+name }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl__frontend_8c_source_l00131}{131}} of file \mbox{\hyperlink{ctl__frontend_8c_source}{ctl\+\_\+frontend.\+c}}.



References \mbox{\hyperlink{ctl_8c_source_l00092}{control\+\_\+softc}}, \mbox{\hyperlink{ctl__private_8h_source_l00437}{ctl\+\_\+softc\+::ctl\+\_\+lock}}, and \mbox{\hyperlink{ctl__frontend_8h_source_l00252}{ctl\+\_\+frontend\+::name}}.



Referenced by \mbox{\hyperlink{ctl_8c_source_l02596}{ctl\+\_\+ioctl()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=269pt]{d1/d6c/ctl__frontend_8h_a5914c3f3ec0d6a1016b9bb60efbbdfdb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_ae7104cb85baec89ca5441cbe12a0dea4}\label{ctl__frontend_8h_ae7104cb85baec89ca5441cbe12a0dea4}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_frontend\_register@{ctl\_frontend\_register}}
\index{ctl\_frontend\_register@{ctl\_frontend\_register}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_frontend\_register()}{ctl\_frontend\_register()}}
{\footnotesize\ttfamily int ctl\+\_\+frontend\+\_\+register (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structctl__frontend}{ctl\+\_\+frontend}} $\ast$}]{fe }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl__frontend_8c_source_l00073}{73}} of file \mbox{\hyperlink{ctl__frontend_8c_source}{ctl\+\_\+frontend.\+c}}.



References \mbox{\hyperlink{ctl_8c_source_l00092}{control\+\_\+softc}}, \mbox{\hyperlink{ctl__private_8h_source_l00437}{ctl\+\_\+softc\+::ctl\+\_\+lock}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00253}{ctl\+\_\+frontend\+::init}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00252}{ctl\+\_\+frontend\+::name}}, and \mbox{\hyperlink{ctl__private_8h_source_l00458}{ctl\+\_\+softc\+::num\+\_\+frontends}}.



Referenced by \mbox{\hyperlink{ctl_8c_source_l01930}{ctl\+\_\+init()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_ae7104cb85baec89ca5441cbe12a0dea4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_a1331fc0ace7f7c225c0ed6aa9d031d3e}\label{ctl__frontend_8h_a1331fc0ace7f7c225c0ed6aa9d031d3e}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_port\_deregister@{ctl\_port\_deregister}}
\index{ctl\_port\_deregister@{ctl\_port\_deregister}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_port\_deregister()}{ctl\_port\_deregister()}}
{\footnotesize\ttfamily int ctl\+\_\+port\+\_\+deregister (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$}]{port }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl__frontend_8c_source_l00227}{227}} of file \mbox{\hyperlink{ctl__frontend_8c_source}{ctl\+\_\+frontend.\+c}}.



References \mbox{\hyperlink{ctl_8c_source_l03838}{ctl\+\_\+clear\+\_\+mask()}}, \mbox{\hyperlink{ctl__private_8h_source_l00437}{ctl\+\_\+softc\+::ctl\+\_\+lock}}, \mbox{\hyperlink{ctl_8c_source_l03659}{ctl\+\_\+lun\+\_\+map\+\_\+deinit()}}, \mbox{\hyperlink{ctl_8c_source_l03948}{ctl\+\_\+pool\+\_\+free()}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00235}{ctl\+\_\+port\+::ctl\+\_\+pool\+\_\+ref}}, \mbox{\hyperlink{ctl__private_8h_source_l00456}{ctl\+\_\+softc\+::ctl\+\_\+port\+\_\+mask}}, \mbox{\hyperlink{ctl__private_8h_source_l00462}{ctl\+\_\+softc\+::ctl\+\_\+ports}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00216}{ctl\+\_\+port\+::ctl\+\_\+softc}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00217}{ctl\+\_\+port\+::frontend}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00244}{ctl\+\_\+port\+::init\+\_\+devid}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00236}{ctl\+\_\+port\+::max\+\_\+initiators}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00092}{ctl\+\_\+wwpn\+\_\+iid\+::name}}, \mbox{\hyperlink{ctl__private_8h_source_l00460}{ctl\+\_\+softc\+::num\+\_\+ports}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00241}{ctl\+\_\+port\+::options}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00242}{ctl\+\_\+port\+::port\+\_\+devid}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00246}{ctl\+\_\+port\+::port\+\_\+lock}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00234}{ctl\+\_\+port\+::targ\+\_\+port}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00243}{ctl\+\_\+port\+::target\+\_\+devid}}, and \mbox{\hyperlink{ctl__frontend_8h_source_l00237}{ctl\+\_\+port\+::wwpn\+\_\+iid}}.



Referenced by \mbox{\hyperlink{ctl__frontend__cam__sim_8c_source_l00216}{cfcs\+\_\+shutdown()}}, \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00171}{cfi\+\_\+ioctl\+\_\+port\+\_\+create()}}, \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00259}{cfi\+\_\+ioctl\+\_\+port\+\_\+remove()}}, \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00146}{cfi\+\_\+shutdown()}}, \mbox{\hyperlink{ctl__frontend__iscsi_8c_source_l02370}{cfiscsi\+\_\+target\+\_\+release()}}, \mbox{\hyperlink{ctl_8c_source_l00629}{ctl\+\_\+ha\+\_\+shutdown()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l00268}{ctlfeasync()}}, and \mbox{\hyperlink{ctl__tpc__local_8c_source_l00121}{tpcl\+\_\+shutdown()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a1331fc0ace7f7c225c0ed6aa9d031d3e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a1331fc0ace7f7c225c0ed6aa9d031d3e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_a1b3ccf8491af2a20287b893aab98afe8}\label{ctl__frontend_8h_a1b3ccf8491af2a20287b893aab98afe8}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_port\_offline@{ctl\_port\_offline}}
\index{ctl\_port\_offline@{ctl\_port\_offline}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_port\_offline()}{ctl\_port\_offline()}}
{\footnotesize\ttfamily void ctl\+\_\+port\+\_\+offline (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$}]{fe }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl__frontend_8c_source_l00357}{357}} of file \mbox{\hyperlink{ctl__frontend_8c_source}{ctl\+\_\+frontend.\+c}}.



References \mbox{\hyperlink{ctl_8c_source_l01837}{ctl\+\_\+est\+\_\+ua\+\_\+all()}}, \mbox{\hyperlink{ctl_8c_source_l00896}{ctl\+\_\+isc\+\_\+announce\+\_\+port()}}, \mbox{\hyperlink{ctl__private_8h_source_l00437}{ctl\+\_\+softc\+::ctl\+\_\+lock}}, \mbox{\hyperlink{ctl_8c_source_l03720}{ctl\+\_\+lun\+\_\+map\+\_\+from\+\_\+port()}}, \mbox{\hyperlink{ctl_8c_source_l03733}{ctl\+\_\+lun\+\_\+map\+\_\+to\+\_\+port()}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00216}{ctl\+\_\+port\+::ctl\+\_\+softc}}, \mbox{\hyperlink{ctl_8h_source_l00120}{CTL\+\_\+\+UA\+\_\+\+INQ\+\_\+\+CHANGE}}, \mbox{\hyperlink{ctl__private_8h_source_l00380}{ctl\+\_\+lun\+::lun}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00228}{ctl\+\_\+port\+::lun\+\_\+disable}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00230}{ctl\+\_\+port\+::lun\+\_\+map}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00229}{ctl\+\_\+port\+::lun\+\_\+map\+\_\+size}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00226}{ctl\+\_\+port\+::onoff\+\_\+arg}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00224}{ctl\+\_\+port\+::port\+\_\+offline}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00240}{ctl\+\_\+port\+::status}}, and \mbox{\hyperlink{ctl__frontend_8h_source_l00231}{ctl\+\_\+port\+::targ\+\_\+lun\+\_\+arg}}.



Referenced by \mbox{\hyperlink{ctl__frontend__cam__sim_8c_source_l00216}{cfcs\+\_\+shutdown()}}, \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00171}{cfi\+\_\+ioctl\+\_\+port\+\_\+create()}}, \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00259}{cfi\+\_\+ioctl\+\_\+port\+\_\+remove()}}, \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00146}{cfi\+\_\+shutdown()}}, \mbox{\hyperlink{ctl__frontend__iscsi_8c_source_l02251}{cfiscsi\+\_\+ioctl\+\_\+port\+\_\+remove()}}, \mbox{\hyperlink{ctl_8c_source_l02596}{ctl\+\_\+ioctl()}}, and \mbox{\hyperlink{ctl__tpc__local_8c_source_l00121}{tpcl\+\_\+shutdown()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a1b3ccf8491af2a20287b893aab98afe8_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a1b3ccf8491af2a20287b893aab98afe8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_a8083cc3952399dacde32fd3df78b1e06}\label{ctl__frontend_8h_a8083cc3952399dacde32fd3df78b1e06}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_port\_online@{ctl\_port\_online}}
\index{ctl\_port\_online@{ctl\_port\_online}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_port\_online()}{ctl\_port\_online()}}
{\footnotesize\ttfamily void ctl\+\_\+port\+\_\+online (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$}]{fe }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl__frontend_8c_source_l00314}{314}} of file \mbox{\hyperlink{ctl__frontend_8c_source}{ctl\+\_\+frontend.\+c}}.



References \mbox{\hyperlink{ctl_8c_source_l01837}{ctl\+\_\+est\+\_\+ua\+\_\+all()}}, \mbox{\hyperlink{ctl_8c_source_l00896}{ctl\+\_\+isc\+\_\+announce\+\_\+port()}}, \mbox{\hyperlink{ctl__private_8h_source_l00437}{ctl\+\_\+softc\+::ctl\+\_\+lock}}, \mbox{\hyperlink{ctl_8c_source_l03720}{ctl\+\_\+lun\+\_\+map\+\_\+from\+\_\+port()}}, \mbox{\hyperlink{ctl_8c_source_l03733}{ctl\+\_\+lun\+\_\+map\+\_\+to\+\_\+port()}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00051}{CTL\+\_\+\+PORT\+\_\+\+STATUS\+\_\+\+HA\+\_\+\+SHARED}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00050}{CTL\+\_\+\+PORT\+\_\+\+STATUS\+\_\+\+ONLINE}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00216}{ctl\+\_\+port\+::ctl\+\_\+softc}}, \mbox{\hyperlink{ctl_8h_source_l00120}{CTL\+\_\+\+UA\+\_\+\+INQ\+\_\+\+CHANGE}}, \mbox{\hyperlink{ctl__private_8h_source_l00443}{ctl\+\_\+softc\+::is\+\_\+single}}, \mbox{\hyperlink{ctl__private_8h_source_l00380}{ctl\+\_\+lun\+::lun}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00227}{ctl\+\_\+port\+::lun\+\_\+enable}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00230}{ctl\+\_\+port\+::lun\+\_\+map}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00229}{ctl\+\_\+port\+::lun\+\_\+map\+\_\+size}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00226}{ctl\+\_\+port\+::onoff\+\_\+arg}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00241}{ctl\+\_\+port\+::options}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00223}{ctl\+\_\+port\+::port\+\_\+online}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00240}{ctl\+\_\+port\+::status}}, and \mbox{\hyperlink{ctl__frontend_8h_source_l00231}{ctl\+\_\+port\+::targ\+\_\+lun\+\_\+arg}}.



Referenced by \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00114}{cfi\+\_\+init()}}, \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00171}{cfi\+\_\+ioctl\+\_\+port\+\_\+create()}}, \mbox{\hyperlink{ctl_8c_source_l02596}{ctl\+\_\+ioctl()}}, and \mbox{\hyperlink{ctl__tpc__local_8c_source_l00083}{tpcl\+\_\+init()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a8083cc3952399dacde32fd3df78b1e06_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a8083cc3952399dacde32fd3df78b1e06_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_a8e5dfbba958b9f09dad9ccd82b6e9e21}\label{ctl__frontend_8h_a8e5dfbba958b9f09dad9ccd82b6e9e21}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_port\_register@{ctl\_port\_register}}
\index{ctl\_port\_register@{ctl\_port\_register}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_port\_register()}{ctl\_port\_register()}}
{\footnotesize\ttfamily int ctl\+\_\+port\+\_\+register (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$}]{port }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl__frontend_8c_source_l00148}{148}} of file \mbox{\hyperlink{ctl__frontend_8c_source}{ctl\+\_\+frontend.\+c}}.



References \mbox{\hyperlink{ctl_8c_source_l00092}{control\+\_\+softc}}, \mbox{\hyperlink{ctl_8c_source_l03838}{ctl\+\_\+clear\+\_\+mask()}}, \mbox{\hyperlink{ctl_8c_source_l03810}{ctl\+\_\+ffz()}}, \mbox{\hyperlink{ctl__private_8h_source_l00437}{ctl\+\_\+softc\+::ctl\+\_\+lock}}, \mbox{\hyperlink{ctl__ioctl_8h_source_l00067}{CTL\+\_\+\+MAX\+\_\+\+INIT\+\_\+\+PER\+\_\+\+PORT}}, \mbox{\hyperlink{ctl_8c_source_l03923}{ctl\+\_\+pool\+\_\+create()}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00235}{ctl\+\_\+port\+::ctl\+\_\+pool\+\_\+ref}}, \mbox{\hyperlink{ctl__private_8h_source_l00456}{ctl\+\_\+softc\+::ctl\+\_\+port\+\_\+mask}}, \mbox{\hyperlink{ctl__private_8h_source_l00462}{ctl\+\_\+softc\+::ctl\+\_\+ports}}, \mbox{\hyperlink{ctl_8c_source_l03822}{ctl\+\_\+set\+\_\+mask()}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00216}{ctl\+\_\+port\+::ctl\+\_\+softc}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00217}{ctl\+\_\+port\+::frontend}}, \mbox{\hyperlink{ctl__ioctl_8h_source_l00120}{ctl\+\_\+io\+\_\+stats\+::item}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00236}{ctl\+\_\+port\+::max\+\_\+initiators}}, \mbox{\hyperlink{ctl__private_8h_source_l00460}{ctl\+\_\+softc\+::num\+\_\+ports}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00219}{ctl\+\_\+port\+::num\+\_\+requested\+\_\+ctl\+\_\+io}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00241}{ctl\+\_\+port\+::options}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00246}{ctl\+\_\+port\+::port\+\_\+lock}}, \mbox{\hyperlink{ctl__private_8h_source_l00446}{ctl\+\_\+softc\+::port\+\_\+max}}, \mbox{\hyperlink{ctl__private_8h_source_l00445}{ctl\+\_\+softc\+::port\+\_\+min}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00220}{ctl\+\_\+port\+::port\+\_\+name}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00245}{ctl\+\_\+port\+::stats}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00234}{ctl\+\_\+port\+::targ\+\_\+port}}, and \mbox{\hyperlink{ctl__frontend_8h_source_l00237}{ctl\+\_\+port\+::wwpn\+\_\+iid}}.



Referenced by \mbox{\hyperlink{ctl__frontend__cam__sim_8c_source_l00125}{cfcs\+\_\+init()}}, \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00114}{cfi\+\_\+init()}}, \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00171}{cfi\+\_\+ioctl\+\_\+port\+\_\+create()}}, \mbox{\hyperlink{ctl__frontend__iscsi_8c_source_l02147}{cfiscsi\+\_\+ioctl\+\_\+port\+\_\+create()}}, \mbox{\hyperlink{ctl_8c_source_l01225}{ctl\+\_\+isc\+\_\+port\+\_\+sync()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l00268}{ctlfeasync()}}, and \mbox{\hyperlink{ctl__tpc__local_8c_source_l00083}{tpcl\+\_\+init()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=303pt]{d1/d6c/ctl__frontend_8h_a8e5dfbba958b9f09dad9ccd82b6e9e21_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a8e5dfbba958b9f09dad9ccd82b6e9e21_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_a344b18bba5c18c1ec896ed7737b035f1}\label{ctl__frontend_8h_a344b18bba5c18c1ec896ed7737b035f1}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_port\_set\_wwns@{ctl\_port\_set\_wwns}}
\index{ctl\_port\_set\_wwns@{ctl\_port\_set\_wwns}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_port\_set\_wwns()}{ctl\_port\_set\_wwns()}}
{\footnotesize\ttfamily void ctl\+\_\+port\+\_\+set\+\_\+wwns (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$}]{port,  }\item[{int}]{wwnn\+\_\+valid,  }\item[{uint64\+\_\+t}]{wwnn,  }\item[{int}]{wwpn\+\_\+valid,  }\item[{uint64\+\_\+t}]{wwpn }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl__frontend_8c_source_l00263}{263}} of file \mbox{\hyperlink{ctl__frontend_8c_source}{ctl\+\_\+frontend.\+c}}.



References \mbox{\hyperlink{ctl_8h_source_l00052}{CTL\+\_\+\+PORT\+\_\+\+FC}}, \mbox{\hyperlink{ctl_8h_source_l00056}{CTL\+\_\+\+PORT\+\_\+\+ISCSI}}, \mbox{\hyperlink{ctl_8h_source_l00057}{CTL\+\_\+\+PORT\+\_\+\+SAS}}, \mbox{\hyperlink{ctl_8h_source_l00101}{CTL\+\_\+\+WWPN\+\_\+\+LEN}}, \mbox{\hyperlink{ctl__private_8h_source_l00370}{ctl\+\_\+devid\+::data}}, \mbox{\hyperlink{scsi__all_8h_source_l02373}{scsi\+\_\+vpd\+\_\+id\+\_\+descriptor\+::id\+\_\+type}}, \mbox{\hyperlink{scsi__all_8h_source_l02395}{scsi\+\_\+vpd\+\_\+id\+\_\+descriptor\+::identifier}}, \mbox{\hyperlink{ctl__private_8h_source_l00369}{ctl\+\_\+devid\+::len}}, \mbox{\hyperlink{scsi__all_8h_source_l02392}{scsi\+\_\+vpd\+\_\+id\+\_\+descriptor\+::length}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00242}{ctl\+\_\+port\+::port\+\_\+devid}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00218}{ctl\+\_\+port\+::port\+\_\+type}}, \mbox{\hyperlink{scsi__all_8h_source_l02364}{scsi\+\_\+vpd\+\_\+id\+\_\+descriptor\+::proto\+\_\+codeset}}, \mbox{\hyperlink{scsi__all_8h_source_l00857}{SCSI\+\_\+\+PROTO\+\_\+\+FC}}, \mbox{\hyperlink{scsi__all_8h_source_l00862}{SCSI\+\_\+\+PROTO\+\_\+\+ISCSI}}, \mbox{\hyperlink{scsi__all_8h_source_l00864}{SCSI\+\_\+\+PROTO\+\_\+\+SAS}}, \mbox{\hyperlink{scsi__all_8h_source_l00858}{SCSI\+\_\+\+PROTO\+\_\+\+SPI}}, \mbox{\hyperlink{scsi__all_8h_source_l04401}{scsi\+\_\+u64to8b()}}, \mbox{\hyperlink{scsi__all_8h_source_l02376}{SVPD\+\_\+\+ID\+\_\+\+ASSOC\+\_\+\+PORT}}, \mbox{\hyperlink{scsi__all_8h_source_l02377}{SVPD\+\_\+\+ID\+\_\+\+ASSOC\+\_\+\+TARGET}}, \mbox{\hyperlink{scsi__all_8h_source_l02369}{SVPD\+\_\+\+ID\+\_\+\+CODESET\+\_\+\+BINARY}}, \mbox{\hyperlink{scsi__all_8h_source_l02374}{SVPD\+\_\+\+ID\+\_\+\+PIV}}, \mbox{\hyperlink{scsi__all_8h_source_l02382}{SVPD\+\_\+\+ID\+\_\+\+TYPE\+\_\+\+NAA}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00243}{ctl\+\_\+port\+::target\+\_\+devid}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00238}{ctl\+\_\+port\+::wwnn}}, and \mbox{\hyperlink{ctl__frontend_8h_source_l00239}{ctl\+\_\+port\+::wwpn}}.



Referenced by \mbox{\hyperlink{ctl__frontend__cam__sim_8c_source_l00125}{cfcs\+\_\+init()}}, \mbox{\hyperlink{ctl_8c_source_l02596}{ctl\+\_\+ioctl()}}, and \mbox{\hyperlink{scsi__ctl_8c_source_l01526}{ctlfe\+\_\+onoffline()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=303pt]{d1/d6c/ctl__frontend_8h_a344b18bba5c18c1ec896ed7737b035f1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a344b18bba5c18c1ec896ed7737b035f1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_aa604fe59bfdbffff131df040d90cfd40}\label{ctl__frontend_8h_aa604fe59bfdbffff131df040d90cfd40}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_queue@{ctl\_queue}}
\index{ctl\_queue@{ctl\_queue}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_queue()}{ctl\_queue()}}
{\footnotesize\ttfamily int ctl\+\_\+queue (\begin{DoxyParamCaption}\item[{union \mbox{\hyperlink{unionctl__io}{ctl\+\_\+io}} $\ast$}]{io }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl_8c_source_l13270}{13270}} of file \mbox{\hyperlink{ctl_8c_source}{ctl.\+c}}.



References \mbox{\hyperlink{ctl__io_8h_source_l00335}{ctl\+\_\+scsiio\+::cdb}}, \mbox{\hyperlink{ctl_8c_source_l00414}{ctl\+\_\+debug}}, \mbox{\hyperlink{ctl__debug_8h_source_l00050}{CTL\+\_\+\+DEBUG\+\_\+\+CDB}}, \mbox{\hyperlink{ctl__debug_8h_source_l00061}{CTL\+\_\+\+DEBUG\+\_\+\+PRINT}}, \mbox{\hyperlink{ctl_8c_source_l13595}{ctl\+\_\+enqueue\+\_\+incoming()}}, \mbox{\hyperlink{ctl__util_8c_source_l00837}{ctl\+\_\+io\+\_\+print()}}, \mbox{\hyperlink{ctl__io_8h_source_l00191}{CTL\+\_\+\+IO\+\_\+\+SCSI}}, \mbox{\hyperlink{ctl__io_8h_source_l00192}{CTL\+\_\+\+IO\+\_\+\+TASK}}, \mbox{\hyperlink{ctl_8c_source_l03720}{ctl\+\_\+lun\+\_\+map\+\_\+from\+\_\+port()}}, \mbox{\hyperlink{ctl__io_8h_source_l00169}{CTL\+\_\+\+PORT}}, \mbox{\hyperlink{ctl_8h_source_l00045}{CTL\+\_\+\+RETVAL\+\_\+\+COMPLETE}}, \mbox{\hyperlink{ctl__io_8h_source_l00587}{ctl\+\_\+io\+::io\+\_\+hdr}}, \mbox{\hyperlink{ctl__io_8h_source_l00224}{ctl\+\_\+io\+\_\+hdr\+::io\+\_\+type}}, \mbox{\hyperlink{ctl__io_8h_source_l00226}{ctl\+\_\+io\+\_\+hdr\+::nexus}}, \mbox{\hyperlink{ctl__io_8h_source_l00588}{ctl\+\_\+io\+::scsiio}}, \mbox{\hyperlink{ctl__io_8h_source_l00238}{ctl\+\_\+io\+\_\+hdr\+::start\+\_\+bt}}, \mbox{\hyperlink{ctl__io_8h_source_l00237}{ctl\+\_\+io\+\_\+hdr\+::start\+\_\+time}}, \mbox{\hyperlink{ctl__io_8h_source_l00198}{ctl\+\_\+nexus\+::targ\+\_\+lun}}, and \mbox{\hyperlink{ctl__io_8h_source_l00199}{ctl\+\_\+nexus\+::targ\+\_\+mapped\+\_\+lun}}.



Referenced by \mbox{\hyperlink{ctl__frontend__cam__sim_8c_source_l00484}{cfcs\+\_\+action()}}, \mbox{\hyperlink{scsi__ctl_8c_source_l01083}{ctlfedone()}}, and \mbox{\hyperlink{ctl__tpc__local_8c_source_l00321}{tpcl\+\_\+queue()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_aa604fe59bfdbffff131df040d90cfd40_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_aa604fe59bfdbffff131df040d90cfd40_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_a94a09aaef8d2c5a3bf22724be191f4fb}\label{ctl__frontend_8h_a94a09aaef8d2c5a3bf22724be191f4fb}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_queue\_sense@{ctl\_queue\_sense}}
\index{ctl\_queue\_sense@{ctl\_queue\_sense}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_queue\_sense()}{ctl\_queue\_sense()}}
{\footnotesize\ttfamily int ctl\+\_\+queue\+\_\+sense (\begin{DoxyParamCaption}\item[{union \mbox{\hyperlink{unionctl__io}{ctl\+\_\+io}} $\ast$}]{io }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl_8c_source_l13218}{13218}} of file \mbox{\hyperlink{ctl_8c_source}{ctl.\+c}}.



References \mbox{\hyperlink{ctl__debug_8h_source_l00061}{CTL\+\_\+\+DEBUG\+\_\+\+PRINT}}, \mbox{\hyperlink{ctl_8c_source_l03991}{ctl\+\_\+free\+\_\+io()}}, \mbox{\hyperlink{ctl_8c_source_l03624}{ctl\+\_\+get\+\_\+initindex()}}, \mbox{\hyperlink{ctl__private_8h_source_l00437}{ctl\+\_\+softc\+::ctl\+\_\+lock}}, \mbox{\hyperlink{ctl_8c_source_l03720}{ctl\+\_\+lun\+\_\+map\+\_\+from\+\_\+port()}}, \mbox{\hyperlink{ctl__private_8h_source_l00455}{ctl\+\_\+softc\+::ctl\+\_\+luns}}, \mbox{\hyperlink{ctl__ioctl_8h_source_l00067}{CTL\+\_\+\+MAX\+\_\+\+INIT\+\_\+\+PER\+\_\+\+PORT}}, \mbox{\hyperlink{ctl_8c_source_l00430}{ctl\+\_\+max\+\_\+luns}}, \mbox{\hyperlink{ctl__io_8h_source_l00169}{CTL\+\_\+\+PORT}}, \mbox{\hyperlink{ctl_8h_source_l00045}{CTL\+\_\+\+RETVAL\+\_\+\+COMPLETE}}, \mbox{\hyperlink{ctl__io_8h_source_l00167}{CTL\+\_\+\+SOFTC}}, \mbox{\hyperlink{ctl__io_8h_source_l00587}{ctl\+\_\+io\+::io\+\_\+hdr}}, \mbox{\hyperlink{ctl__private_8h_source_l00380}{ctl\+\_\+lun\+::lun}}, \mbox{\hyperlink{ctl__private_8h_source_l00379}{ctl\+\_\+lun\+::lun\+\_\+lock}}, \mbox{\hyperlink{ctl__io_8h_source_l00226}{ctl\+\_\+io\+\_\+hdr\+::nexus}}, \mbox{\hyperlink{ctl__private_8h_source_l00394}{ctl\+\_\+lun\+::pending\+\_\+sense}}, \mbox{\hyperlink{ctl__io_8h_source_l00588}{ctl\+\_\+io\+::scsiio}}, \mbox{\hyperlink{ctl__io_8h_source_l00326}{ctl\+\_\+scsiio\+::sense\+\_\+data}}, \mbox{\hyperlink{ctl__io_8h_source_l00327}{ctl\+\_\+scsiio\+::sense\+\_\+len}}, and \mbox{\hyperlink{ctl__io_8h_source_l00198}{ctl\+\_\+nexus\+::targ\+\_\+lun}}.



Referenced by \mbox{\hyperlink{scsi__ctl_8c_source_l01083}{ctlfedone()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=343pt]{d1/d6c/ctl__frontend_8h_a94a09aaef8d2c5a3bf22724be191f4fb_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a94a09aaef8d2c5a3bf22724be191f4fb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_a37bc4da4013ae467caf128a9c3abf789}\label{ctl__frontend_8h_a37bc4da4013ae467caf128a9c3abf789}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_remove\_initiator@{ctl\_remove\_initiator}}
\index{ctl\_remove\_initiator@{ctl\_remove\_initiator}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_remove\_initiator()}{ctl\_remove\_initiator()}}
{\footnotesize\ttfamily int ctl\+\_\+remove\+\_\+initiator (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structctl__port}{ctl\+\_\+port}} $\ast$}]{port,  }\item[{int}]{iid }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl_8c_source_l02145}{2145}} of file \mbox{\hyperlink{ctl_8c_source}{ctl.\+c}}.



References \mbox{\hyperlink{ctl_8c_source_l12016}{ctl\+\_\+i\+\_\+t\+\_\+nexus\+\_\+loss()}}, \mbox{\hyperlink{ctl_8c_source_l00957}{ctl\+\_\+isc\+\_\+announce\+\_\+iid()}}, \mbox{\hyperlink{ctl__private_8h_source_l00437}{ctl\+\_\+softc\+::ctl\+\_\+lock}}, \mbox{\hyperlink{ctl__ioctl_8h_source_l00067}{CTL\+\_\+\+MAX\+\_\+\+INIT\+\_\+\+PER\+\_\+\+PORT}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00216}{ctl\+\_\+port\+::ctl\+\_\+softc}}, \mbox{\hyperlink{ctl_8h_source_l00112}{CTL\+\_\+\+UA\+\_\+\+POWERON}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00089}{ctl\+\_\+wwpn\+\_\+iid\+::in\+\_\+use}}, \mbox{\hyperlink{ctl__frontend_8h_source_l00090}{ctl\+\_\+wwpn\+\_\+iid\+::last\+\_\+use}}, and \mbox{\hyperlink{ctl__frontend_8h_source_l00237}{ctl\+\_\+port\+::wwpn\+\_\+iid}}.



Referenced by \mbox{\hyperlink{ctl__frontend__iscsi_8c_source_l01266}{cfiscsi\+\_\+session\+\_\+unregister\+\_\+initiator()}}, and \mbox{\hyperlink{scsi__ctl_8c_source_l00268}{ctlfeasync()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a37bc4da4013ae467caf128a9c3abf789_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_a37bc4da4013ae467caf128a9c3abf789_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ctl__frontend_8h_adb43b49c5812cfdb31fed90713c95042}\label{ctl__frontend_8h_adb43b49c5812cfdb31fed90713c95042}} 
\index{ctl\_frontend.h@{ctl\_frontend.h}!ctl\_run@{ctl\_run}}
\index{ctl\_run@{ctl\_run}!ctl\_frontend.h@{ctl\_frontend.h}}
\doxysubsubsection{\texorpdfstring{ctl\_run()}{ctl\_run()}}
{\footnotesize\ttfamily int ctl\+\_\+run (\begin{DoxyParamCaption}\item[{union \mbox{\hyperlink{unionctl__io}{ctl\+\_\+io}} $\ast$}]{io }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ctl_8c_source_l13301}{13301}} of file \mbox{\hyperlink{ctl_8c_source}{ctl.\+c}}.



References \mbox{\hyperlink{ctl__io_8h_source_l00335}{ctl\+\_\+scsiio\+::cdb}}, \mbox{\hyperlink{ctl_8c_source_l00414}{ctl\+\_\+debug}}, \mbox{\hyperlink{ctl__debug_8h_source_l00050}{CTL\+\_\+\+DEBUG\+\_\+\+CDB}}, \mbox{\hyperlink{ctl__debug_8h_source_l00061}{CTL\+\_\+\+DEBUG\+\_\+\+PRINT}}, \mbox{\hyperlink{ctl__util_8c_source_l00837}{ctl\+\_\+io\+\_\+print()}}, \mbox{\hyperlink{ctl__io_8h_source_l00191}{CTL\+\_\+\+IO\+\_\+\+SCSI}}, \mbox{\hyperlink{ctl__io_8h_source_l00192}{CTL\+\_\+\+IO\+\_\+\+TASK}}, \mbox{\hyperlink{ctl_8c_source_l03720}{ctl\+\_\+lun\+\_\+map\+\_\+from\+\_\+port()}}, \mbox{\hyperlink{ctl__io_8h_source_l00169}{CTL\+\_\+\+PORT}}, \mbox{\hyperlink{ctl_8h_source_l00045}{CTL\+\_\+\+RETVAL\+\_\+\+COMPLETE}}, \mbox{\hyperlink{ctl_8c_source_l12224}{ctl\+\_\+run\+\_\+task()}}, \mbox{\hyperlink{ctl_8c_source_l11488}{ctl\+\_\+scsiio\+\_\+precheck()}}, \mbox{\hyperlink{ctl__io_8h_source_l00587}{ctl\+\_\+io\+::io\+\_\+hdr}}, \mbox{\hyperlink{ctl__io_8h_source_l00224}{ctl\+\_\+io\+\_\+hdr\+::io\+\_\+type}}, \mbox{\hyperlink{ctl__io_8h_source_l00226}{ctl\+\_\+io\+\_\+hdr\+::nexus}}, \mbox{\hyperlink{ctl__io_8h_source_l00588}{ctl\+\_\+io\+::scsiio}}, \mbox{\hyperlink{ctl__io_8h_source_l00238}{ctl\+\_\+io\+\_\+hdr\+::start\+\_\+bt}}, \mbox{\hyperlink{ctl__io_8h_source_l00237}{ctl\+\_\+io\+\_\+hdr\+::start\+\_\+time}}, \mbox{\hyperlink{ctl__io_8h_source_l00198}{ctl\+\_\+nexus\+::targ\+\_\+lun}}, and \mbox{\hyperlink{ctl__io_8h_source_l00199}{ctl\+\_\+nexus\+::targ\+\_\+mapped\+\_\+lun}}.



Referenced by \mbox{\hyperlink{ctl__frontend__ioctl_8c_source_l00510}{cfi\+\_\+submit\+\_\+wait()}}, \mbox{\hyperlink{ctl__frontend__iscsi_8c_source_l00509}{cfiscsi\+\_\+pdu\+\_\+handle\+\_\+scsi\+\_\+command()}}, \mbox{\hyperlink{ctl__frontend__iscsi_8c_source_l00575}{cfiscsi\+\_\+pdu\+\_\+handle\+\_\+task\+\_\+request()}}, and \mbox{\hyperlink{ctl__frontend__iscsi_8c_source_l01134}{cfiscsi\+\_\+session\+\_\+terminate\+\_\+tasks()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_adb43b49c5812cfdb31fed90713c95042_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/d6c/ctl__frontend_8h_adb43b49c5812cfdb31fed90713c95042_icgraph}
\end{center}
\end{figure}
