\hypertarget{sys__capability_8c}{}\doxysection{kern/sys\+\_\+capability.c File Reference}
\label{sys__capability_8c}\index{kern/sys\_capability.c@{kern/sys\_capability.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include \char`\"{}opt\+\_\+capsicum.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}opt\+\_\+ktrace.\+h\char`\"{}}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/capsicum.\+h$>$}\newline
{\ttfamily \#include $<$sys/file.\+h$>$}\newline
{\ttfamily \#include $<$sys/filedesc.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/limits.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/proc.\+h$>$}\newline
{\ttfamily \#include $<$sys/syscallsubr.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysproto.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysctl.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/ucred.\+h$>$}\newline
{\ttfamily \#include $<$sys/uio.\+h$>$}\newline
{\ttfamily \#include $<$sys/ktrace.\+h$>$}\newline
{\ttfamily \#include $<$security/audit/audit.\+h$>$}\newline
{\ttfamily \#include $<$vm/uma.\+h$>$}\newline
{\ttfamily \#include $<$vm/vm.\+h$>$}\newline
Include dependency graph for sys\+\_\+capability.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d1/dbb/sys__capability_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{sys__capability_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
\mbox{\hyperlink{sys__capability_8c_adf5ec64f4a0a0b5f3bfbb635143dd95b}{SYSCTL\+\_\+\+BOOL}} (\+\_\+kern, OID\+\_\+\+AUTO, \mbox{\hyperlink{sys__capability_8c_abd745b148230654c6ca6017ed0b08d08}{trap\+\_\+enotcap}}, CTLFLAG\+\_\+\+RWTUN, \&\mbox{\hyperlink{sys__capability_8c_abd745b148230654c6ca6017ed0b08d08}{trap\+\_\+enotcap}}, 0, \char`\"{}Deliver SIGTRAP on ENOTCAPABLE\char`\"{})
\item 
int \mbox{\hyperlink{sys__capability_8c_afa9c70110f964661b5fbd06158c62f47}{sys\+\_\+cap\+\_\+enter}} (struct thread $\ast$td, struct cap\+\_\+enter\+\_\+args $\ast$uap)
\item 
int \mbox{\hyperlink{sys__capability_8c_a7815c5526e4fe304dc1fe52abcc2fbd4}{sys\+\_\+cap\+\_\+getmode}} (struct thread $\ast$td, struct cap\+\_\+getmode\+\_\+args $\ast$uap)
\item 
int \mbox{\hyperlink{sys__capability_8c_a2d5d221c781c82876ac4646313978ffa}{sys\+\_\+cap\+\_\+rights\+\_\+limit}} (struct thread $\ast$td, struct cap\+\_\+rights\+\_\+limit\+\_\+args $\ast$uap)
\item 
int \mbox{\hyperlink{sys__capability_8c_a275242c4b00ed97cf321fb20a5c698e0}{sys\+\_\+\+\_\+\+\_\+cap\+\_\+rights\+\_\+get}} (struct thread $\ast$td, struct \+\_\+\+\_\+cap\+\_\+rights\+\_\+get\+\_\+args $\ast$uap)
\item 
int \mbox{\hyperlink{sys__capability_8c_a7cefc19ceb9d07619adb078499d6982a}{sys\+\_\+cap\+\_\+ioctls\+\_\+limit}} (struct thread $\ast$td, struct cap\+\_\+ioctls\+\_\+limit\+\_\+args $\ast$uap)
\item 
int \mbox{\hyperlink{sys__capability_8c_ae153232c8dec1662ddd052ecac131276}{sys\+\_\+cap\+\_\+ioctls\+\_\+get}} (struct thread $\ast$td, struct cap\+\_\+ioctls\+\_\+get\+\_\+args $\ast$uap)
\item 
int \mbox{\hyperlink{sys__capability_8c_aba8e5b448225ce4d3775bb97fbcb6bad}{sys\+\_\+cap\+\_\+fcntls\+\_\+limit}} (struct thread $\ast$td, struct cap\+\_\+fcntls\+\_\+limit\+\_\+args $\ast$uap)
\item 
int \mbox{\hyperlink{sys__capability_8c_afc5763cec11ba5d1599eacea1d8c5e4a}{sys\+\_\+cap\+\_\+fcntls\+\_\+get}} (struct thread $\ast$td, struct cap\+\_\+fcntls\+\_\+get\+\_\+args $\ast$uap)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
bool \+\_\+\+\_\+read\+\_\+frequently \mbox{\hyperlink{sys__capability_8c_abd745b148230654c6ca6017ed0b08d08}{trap\+\_\+enotcap}}
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{sys__capability_8c_a8c3ef283470a68cd30afe9b8a72cb60f}\label{sys__capability_8c_a8c3ef283470a68cd30afe9b8a72cb60f}} 
\index{sys\_capability.c@{sys\_capability.c}!\_\_FBSDID@{\_\_FBSDID}}
\index{\_\_FBSDID@{\_\_FBSDID}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{\_\_FBSDID()}{\_\_FBSDID()}}
{\footnotesize\ttfamily \+\_\+\+\_\+\+FBSDID (\begin{DoxyParamCaption}\item[{\char`\"{}\$Free\+BSD\$\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{sys__capability_8c_a275242c4b00ed97cf321fb20a5c698e0}\label{sys__capability_8c_a275242c4b00ed97cf321fb20a5c698e0}} 
\index{sys\_capability.c@{sys\_capability.c}!sys\_\_\_cap\_rights\_get@{sys\_\_\_cap\_rights\_get}}
\index{sys\_\_\_cap\_rights\_get@{sys\_\_\_cap\_rights\_get}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{sys\_\_\_cap\_rights\_get()}{sys\_\_\_cap\_rights\_get()}}
{\footnotesize\ttfamily int sys\+\_\+\+\_\+\+\_\+cap\+\_\+rights\+\_\+get (\begin{DoxyParamCaption}\item[{struct thread $\ast$}]{td,  }\item[{struct \+\_\+\+\_\+cap\+\_\+rights\+\_\+get\+\_\+args $\ast$}]{uap }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sys__capability_8c_source_l00655}{655}} of file \mbox{\hyperlink{sys__capability_8c_source}{sys\+\_\+capability.\+c}}.

\mbox{\Hypertarget{sys__capability_8c_afa9c70110f964661b5fbd06158c62f47}\label{sys__capability_8c_afa9c70110f964661b5fbd06158c62f47}} 
\index{sys\_capability.c@{sys\_capability.c}!sys\_cap\_enter@{sys\_cap\_enter}}
\index{sys\_cap\_enter@{sys\_cap\_enter}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{sys\_cap\_enter()}{sys\_cap\_enter()}}
{\footnotesize\ttfamily int sys\+\_\+cap\+\_\+enter (\begin{DoxyParamCaption}\item[{struct thread $\ast$}]{td,  }\item[{struct cap\+\_\+enter\+\_\+args $\ast$}]{uap }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sys__capability_8c_source_l00136}{136}} of file \mbox{\hyperlink{sys__capability_8c_source}{sys\+\_\+capability.\+c}}.

\mbox{\Hypertarget{sys__capability_8c_afc5763cec11ba5d1599eacea1d8c5e4a}\label{sys__capability_8c_afc5763cec11ba5d1599eacea1d8c5e4a}} 
\index{sys\_capability.c@{sys\_capability.c}!sys\_cap\_fcntls\_get@{sys\_cap\_fcntls\_get}}
\index{sys\_cap\_fcntls\_get@{sys\_cap\_fcntls\_get}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{sys\_cap\_fcntls\_get()}{sys\_cap\_fcntls\_get()}}
{\footnotesize\ttfamily int sys\+\_\+cap\+\_\+fcntls\+\_\+get (\begin{DoxyParamCaption}\item[{struct thread $\ast$}]{td,  }\item[{struct cap\+\_\+fcntls\+\_\+get\+\_\+args $\ast$}]{uap }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sys__capability_8c_source_l00683}{683}} of file \mbox{\hyperlink{sys__capability_8c_source}{sys\+\_\+capability.\+c}}.

\mbox{\Hypertarget{sys__capability_8c_aba8e5b448225ce4d3775bb97fbcb6bad}\label{sys__capability_8c_aba8e5b448225ce4d3775bb97fbcb6bad}} 
\index{sys\_capability.c@{sys\_capability.c}!sys\_cap\_fcntls\_limit@{sys\_cap\_fcntls\_limit}}
\index{sys\_cap\_fcntls\_limit@{sys\_cap\_fcntls\_limit}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{sys\_cap\_fcntls\_limit()}{sys\_cap\_fcntls\_limit()}}
{\footnotesize\ttfamily int sys\+\_\+cap\+\_\+fcntls\+\_\+limit (\begin{DoxyParamCaption}\item[{struct thread $\ast$}]{td,  }\item[{struct cap\+\_\+fcntls\+\_\+limit\+\_\+args $\ast$}]{uap }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sys__capability_8c_source_l00676}{676}} of file \mbox{\hyperlink{sys__capability_8c_source}{sys\+\_\+capability.\+c}}.

\mbox{\Hypertarget{sys__capability_8c_a7815c5526e4fe304dc1fe52abcc2fbd4}\label{sys__capability_8c_a7815c5526e4fe304dc1fe52abcc2fbd4}} 
\index{sys\_capability.c@{sys\_capability.c}!sys\_cap\_getmode@{sys\_cap\_getmode}}
\index{sys\_cap\_getmode@{sys\_cap\_getmode}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{sys\_cap\_getmode()}{sys\_cap\_getmode()}}
{\footnotesize\ttfamily int sys\+\_\+cap\+\_\+getmode (\begin{DoxyParamCaption}\item[{struct thread $\ast$}]{td,  }\item[{struct cap\+\_\+getmode\+\_\+args $\ast$}]{uap }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sys__capability_8c_source_l00143}{143}} of file \mbox{\hyperlink{sys__capability_8c_source}{sys\+\_\+capability.\+c}}.

\mbox{\Hypertarget{sys__capability_8c_ae153232c8dec1662ddd052ecac131276}\label{sys__capability_8c_ae153232c8dec1662ddd052ecac131276}} 
\index{sys\_capability.c@{sys\_capability.c}!sys\_cap\_ioctls\_get@{sys\_cap\_ioctls\_get}}
\index{sys\_cap\_ioctls\_get@{sys\_cap\_ioctls\_get}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{sys\_cap\_ioctls\_get()}{sys\_cap\_ioctls\_get()}}
{\footnotesize\ttfamily int sys\+\_\+cap\+\_\+ioctls\+\_\+get (\begin{DoxyParamCaption}\item[{struct thread $\ast$}]{td,  }\item[{struct cap\+\_\+ioctls\+\_\+get\+\_\+args $\ast$}]{uap }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sys__capability_8c_source_l00669}{669}} of file \mbox{\hyperlink{sys__capability_8c_source}{sys\+\_\+capability.\+c}}.

\mbox{\Hypertarget{sys__capability_8c_a7cefc19ceb9d07619adb078499d6982a}\label{sys__capability_8c_a7cefc19ceb9d07619adb078499d6982a}} 
\index{sys\_capability.c@{sys\_capability.c}!sys\_cap\_ioctls\_limit@{sys\_cap\_ioctls\_limit}}
\index{sys\_cap\_ioctls\_limit@{sys\_cap\_ioctls\_limit}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{sys\_cap\_ioctls\_limit()}{sys\_cap\_ioctls\_limit()}}
{\footnotesize\ttfamily int sys\+\_\+cap\+\_\+ioctls\+\_\+limit (\begin{DoxyParamCaption}\item[{struct thread $\ast$}]{td,  }\item[{struct cap\+\_\+ioctls\+\_\+limit\+\_\+args $\ast$}]{uap }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sys__capability_8c_source_l00662}{662}} of file \mbox{\hyperlink{sys__capability_8c_source}{sys\+\_\+capability.\+c}}.

\mbox{\Hypertarget{sys__capability_8c_a2d5d221c781c82876ac4646313978ffa}\label{sys__capability_8c_a2d5d221c781c82876ac4646313978ffa}} 
\index{sys\_capability.c@{sys\_capability.c}!sys\_cap\_rights\_limit@{sys\_cap\_rights\_limit}}
\index{sys\_cap\_rights\_limit@{sys\_cap\_rights\_limit}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{sys\_cap\_rights\_limit()}{sys\_cap\_rights\_limit()}}
{\footnotesize\ttfamily int sys\+\_\+cap\+\_\+rights\+\_\+limit (\begin{DoxyParamCaption}\item[{struct thread $\ast$}]{td,  }\item[{struct cap\+\_\+rights\+\_\+limit\+\_\+args $\ast$}]{uap }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sys__capability_8c_source_l00648}{648}} of file \mbox{\hyperlink{sys__capability_8c_source}{sys\+\_\+capability.\+c}}.

\mbox{\Hypertarget{sys__capability_8c_adf5ec64f4a0a0b5f3bfbb635143dd95b}\label{sys__capability_8c_adf5ec64f4a0a0b5f3bfbb635143dd95b}} 
\index{sys\_capability.c@{sys\_capability.c}!SYSCTL\_BOOL@{SYSCTL\_BOOL}}
\index{SYSCTL\_BOOL@{SYSCTL\_BOOL}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_BOOL()}{SYSCTL\_BOOL()}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+BOOL (\begin{DoxyParamCaption}\item[{\+\_\+kern}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{\mbox{\hyperlink{sys__capability_8c_abd745b148230654c6ca6017ed0b08d08}{trap\+\_\+enotcap}}}]{,  }\item[{CTLFLAG\+\_\+\+RWTUN}]{,  }\item[{\&}]{trap\+\_\+enotcap,  }\item[{0}]{,  }\item[{\char`\"{}Deliver SIGTRAP on ENOTCAPABLE\char`\"{}}]{ }\end{DoxyParamCaption})}



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{sys__capability_8c_abd745b148230654c6ca6017ed0b08d08}\label{sys__capability_8c_abd745b148230654c6ca6017ed0b08d08}} 
\index{sys\_capability.c@{sys\_capability.c}!trap\_enotcap@{trap\_enotcap}}
\index{trap\_enotcap@{trap\_enotcap}!sys\_capability.c@{sys\_capability.c}}
\doxysubsubsection{\texorpdfstring{trap\_enotcap}{trap\_enotcap}}
{\footnotesize\ttfamily bool \+\_\+\+\_\+read\+\_\+frequently trap\+\_\+enotcap}



Definition at line \mbox{\hyperlink{sys__capability_8c_source_l00088}{88}} of file \mbox{\hyperlink{sys__capability_8c_source}{sys\+\_\+capability.\+c}}.



Referenced by \mbox{\hyperlink{subr__syscall_8c_source_l00211}{syscallret()}}.

