\hypertarget{verified__exec_8c}{}\doxysection{dev/veriexec/verified\+\_\+exec.c File Reference}
\label{verified__exec_8c}\index{dev/veriexec/verified\_exec.c@{dev/veriexec/verified\_exec.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/buf.\+h$>$}\newline
{\ttfamily \#include $<$sys/conf.\+h$>$}\newline
{\ttfamily \#include $<$sys/errno.\+h$>$}\newline
{\ttfamily \#include $<$sys/fcntl.\+h$>$}\newline
{\ttfamily \#include $<$sys/file.\+h$>$}\newline
{\ttfamily \#include $<$sys/filedesc.\+h$>$}\newline
{\ttfamily \#include $<$sys/ioccom.\+h$>$}\newline
{\ttfamily \#include $<$sys/jail.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/mdioctl.\+h$>$}\newline
{\ttfamily \#include $<$sys/mount.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/namei.\+h$>$}\newline
{\ttfamily \#include $<$sys/priv.\+h$>$}\newline
{\ttfamily \#include $<$sys/proc.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$sys/vnode.\+h$>$}\newline
{\ttfamily \#include $<$security/mac\+\_\+veriexec/mac\+\_\+veriexec.\+h$>$}\newline
{\ttfamily \#include $<$security/mac\+\_\+veriexec/mac\+\_\+veriexec\+\_\+internal.\+h$>$}\newline
{\ttfamily \#include \char`\"{}veriexec\+\_\+ioctl.\+h\char`\"{}}\newline
Include dependency graph for verified\+\_\+exec.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d6/da6/verified__exec_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static int \mbox{\hyperlink{verified__exec_8c_a055f6c3adce5f6ae7a937616b5fa2b59}{verifiedexecioctl}} (struct cdev $\ast$dev \+\_\+\+\_\+unused, u\+\_\+long cmd, caddr\+\_\+t data, int flags, struct thread $\ast$td)
\item 
static void \mbox{\hyperlink{verified__exec_8c_ae07d544045dc80cbb2711b89d8f8307f}{veriexec\+\_\+drvinit}} (void $\ast$unused \+\_\+\+\_\+unused)
\item 
\mbox{\hyperlink{verified__exec_8c_a43a45bb84de9731ed10e8bd099de68f8}{SYSINIT}} (veriexec, SI\+\_\+\+SUB\+\_\+\+PSEUDO, SI\+\_\+\+ORDER\+\_\+\+ANY, \mbox{\hyperlink{verified__exec_8c_ae07d544045dc80cbb2711b89d8f8307f}{veriexec\+\_\+drvinit}}, NULL)
\item 
\mbox{\hyperlink{verified__exec_8c_aaaf37633a694a5a696ce4ba54d173dd9}{MODULE\+\_\+\+DEPEND}} (veriexec, mac\+\_\+veriexec, MAC\+\_\+\+VERIEXEC\+\_\+\+VERSION, MAC\+\_\+\+VERIEXEC\+\_\+\+VERSION, MAC\+\_\+\+VERIEXEC\+\_\+\+VERSION)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
struct mtx \mbox{\hyperlink{verified__exec_8c_ac43ed93b52bb6da8bf14e6215eab1760}{ve\+\_\+mutex}}
\item 
struct cdevsw \mbox{\hyperlink{verified__exec_8c_a7234bb036136a8ba55e87e6086e5812d}{veriexec\+\_\+cdevsw}}
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{verified__exec_8c_aaaf37633a694a5a696ce4ba54d173dd9}\label{verified__exec_8c_aaaf37633a694a5a696ce4ba54d173dd9}} 
\index{verified\_exec.c@{verified\_exec.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!verified\_exec.c@{verified\_exec.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{veriexec}]{,  }\item[{mac\+\_\+veriexec}]{,  }\item[{MAC\+\_\+\+VERIEXEC\+\_\+\+VERSION}]{,  }\item[{MAC\+\_\+\+VERIEXEC\+\_\+\+VERSION}]{,  }\item[{MAC\+\_\+\+VERIEXEC\+\_\+\+VERSION}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{verified__exec_8c_a43a45bb84de9731ed10e8bd099de68f8}\label{verified__exec_8c_a43a45bb84de9731ed10e8bd099de68f8}} 
\index{verified\_exec.c@{verified\_exec.c}!SYSINIT@{SYSINIT}}
\index{SYSINIT@{SYSINIT}!verified\_exec.c@{verified\_exec.c}}
\doxysubsubsection{\texorpdfstring{SYSINIT()}{SYSINIT()}}
{\footnotesize\ttfamily SYSINIT (\begin{DoxyParamCaption}\item[{veriexec}]{,  }\item[{SI\+\_\+\+SUB\+\_\+\+PSEUDO}]{,  }\item[{SI\+\_\+\+ORDER\+\_\+\+ANY}]{,  }\item[{\mbox{\hyperlink{verified__exec_8c_ae07d544045dc80cbb2711b89d8f8307f}{veriexec\+\_\+drvinit}}}]{,  }\item[{NULL}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{verified__exec_8c_ae07d544045dc80cbb2711b89d8f8307f}\label{verified__exec_8c_ae07d544045dc80cbb2711b89d8f8307f}} 
\index{verified\_exec.c@{verified\_exec.c}!veriexec\_drvinit@{veriexec\_drvinit}}
\index{veriexec\_drvinit@{veriexec\_drvinit}!verified\_exec.c@{verified\_exec.c}}
\doxysubsubsection{\texorpdfstring{veriexec\_drvinit()}{veriexec\_drvinit()}}
{\footnotesize\ttfamily static void veriexec\+\_\+drvinit (\begin{DoxyParamCaption}\item[{void $\ast$unused}]{\+\_\+\+\_\+unused }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{verified__exec_8c_source_l00261}{261}} of file \mbox{\hyperlink{verified__exec_8c_source}{verified\+\_\+exec.\+c}}.



References \mbox{\hyperlink{verified__exec_8c_source_l00254}{veriexec\+\_\+cdevsw}}.

\mbox{\Hypertarget{verified__exec_8c_a055f6c3adce5f6ae7a937616b5fa2b59}\label{verified__exec_8c_a055f6c3adce5f6ae7a937616b5fa2b59}} 
\index{verified\_exec.c@{verified\_exec.c}!verifiedexecioctl@{verifiedexecioctl}}
\index{verifiedexecioctl@{verifiedexecioctl}!verified\_exec.c@{verified\_exec.c}}
\doxysubsubsection{\texorpdfstring{verifiedexecioctl()}{verifiedexecioctl()}}
{\footnotesize\ttfamily static int verifiedexecioctl (\begin{DoxyParamCaption}\item[{struct cdev $\ast$dev}]{\+\_\+\+\_\+unused,  }\item[{u\+\_\+long}]{cmd,  }\item[{caddr\+\_\+t}]{data,  }\item[{int}]{flags,  }\item[{struct thread $\ast$}]{td }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{verified__exec_8c_source_l00066}{66}} of file \mbox{\hyperlink{verified__exec_8c_source}{verified\+\_\+exec.\+c}}.



References \mbox{\hyperlink{veriexec__ioctl_8h_source_l00045}{verified\+\_\+exec\+\_\+params\+::file}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00046}{verified\+\_\+exec\+\_\+params\+::fingerprint}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00043}{verified\+\_\+exec\+\_\+params\+::flags}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00044}{verified\+\_\+exec\+\_\+params\+::fp\+\_\+type}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00051}{verified\+\_\+exec\+\_\+label\+\_\+params\+::label}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00050}{verified\+\_\+exec\+\_\+label\+\_\+params\+::params}}, \mbox{\hyperlink{verified__exec_8c_ac43ed93b52bb6da8bf14e6215eab1760}{ve\+\_\+mutex}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00055}{VERIEXEC\+\_\+\+ACTIVE}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00059}{VERIEXEC\+\_\+\+DEBUG\+\_\+\+OFF}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00058}{VERIEXEC\+\_\+\+DEBUG\+\_\+\+ON}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00056}{VERIEXEC\+\_\+\+ENFORCE}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00060}{VERIEXEC\+\_\+\+GETSTATE}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00062}{VERIEXEC\+\_\+\+GETVERSION}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00063}{VERIEXEC\+\_\+\+LABEL\+\_\+\+LOAD}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00054}{VERIEXEC\+\_\+\+LOAD}}, \mbox{\hyperlink{veriexec__ioctl_8h_source_l00057}{VERIEXEC\+\_\+\+LOCK}}, and \mbox{\hyperlink{veriexec__ioctl_8h_source_l00061}{VERIEXEC\+\_\+\+SIGNED\+\_\+\+LOAD}}.



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{verified__exec_8c_ac43ed93b52bb6da8bf14e6215eab1760}\label{verified__exec_8c_ac43ed93b52bb6da8bf14e6215eab1760}} 
\index{verified\_exec.c@{verified\_exec.c}!ve\_mutex@{ve\_mutex}}
\index{ve\_mutex@{ve\_mutex}!verified\_exec.c@{verified\_exec.c}}
\doxysubsubsection{\texorpdfstring{ve\_mutex}{ve\_mutex}}
{\footnotesize\ttfamily struct mtx ve\+\_\+mutex\hspace{0.3cm}{\ttfamily [extern]}}



Referenced by \mbox{\hyperlink{verified__exec_8c_source_l00066}{verifiedexecioctl()}}.

\mbox{\Hypertarget{verified__exec_8c_a7234bb036136a8ba55e87e6086e5812d}\label{verified__exec_8c_a7234bb036136a8ba55e87e6086e5812d}} 
\index{verified\_exec.c@{verified\_exec.c}!veriexec\_cdevsw@{veriexec\_cdevsw}}
\index{veriexec\_cdevsw@{veriexec\_cdevsw}!verified\_exec.c@{verified\_exec.c}}
\doxysubsubsection{\texorpdfstring{veriexec\_cdevsw}{veriexec\_cdevsw}}
{\footnotesize\ttfamily struct cdevsw veriexec\+\_\+cdevsw}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .d\_version =    D\_VERSION,}
\DoxyCodeLine{        .d\_ioctl =      \mbox{\hyperlink{verified__exec_8c_a055f6c3adce5f6ae7a937616b5fa2b59}{verifiedexecioctl}},}
\DoxyCodeLine{        .d\_name =       \textcolor{stringliteral}{"{}veriexec"{}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{verified__exec_8c_source_l00254}{254}} of file \mbox{\hyperlink{verified__exec_8c_source}{verified\+\_\+exec.\+c}}.



Referenced by \mbox{\hyperlink{verified__exec_8c_source_l00261}{veriexec\+\_\+drvinit()}}.

