\hypertarget{veriexec__ioctl_8h_source}{}\doxysection{veriexec\+\_\+ioctl.\+h}
\label{veriexec__ioctl_8h_source}\index{dev/veriexec/veriexec\_ioctl.h@{dev/veriexec/veriexec\_ioctl.h}}
\mbox{\hyperlink{veriexec__ioctl_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00001}00001 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00002}00002 \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00003}00003 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00004}00004 \textcolor{comment}{ * Copyright (c) 2011-\/2013, 2015, 2019, Juniper Networks, Inc.}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00005}00005 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00006}00006 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00007}00007 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00008}00008 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00009}00009 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00010}00010 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00011}00011 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00012}00012 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00013}00013 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00014}00014 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00015}00015 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00016}00016 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00017}00017 \textcolor{comment}{ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00018}00018 \textcolor{comment}{ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00019}00019 \textcolor{comment}{ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00020}00020 \textcolor{comment}{ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00021}00021 \textcolor{comment}{ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00022}00022 \textcolor{comment}{ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00023}00023 \textcolor{comment}{ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00024}00024 \textcolor{comment}{ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00025}00025 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00026}00026 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00027}00027 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00028}00028 }
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00029}00029 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00030}00030 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00031}00031 \textcolor{comment}{ * Definitions for the Verified Executables kernel function.}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00032}00032 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00033}00033 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00034}00034 \textcolor{preprocessor}{\#ifndef \_DEV\_VERIEXEC\_VERIEXEC\_IOCTL\_H}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00035}00035 \textcolor{preprocessor}{\#define \_DEV\_VERIEXEC\_VERIEXEC\_IOCTL\_H}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00036}00036 }
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00037}00037 \textcolor{preprocessor}{\#include <sys/param.h>}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00038}00038 \textcolor{preprocessor}{\#include <security/mac\_veriexec/mac\_veriexec.h>}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00039}00039 }
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00040}\mbox{\hyperlink{veriexec__ioctl_8h_ad79086ecd5e120ad7011b59352e35039}{00040}} \textcolor{preprocessor}{\#define VERIEXEC\_FPTYPELEN      16}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00041}00041 }
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00042}\mbox{\hyperlink{structverified__exec__params}{00042}} \textcolor{keyword}{struct }\mbox{\hyperlink{structverified__exec__params}{verified\_exec\_params}}  \{}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00043}\mbox{\hyperlink{structverified__exec__params_a84366f7dc7aa1c40b50a16a3702c6299}{00043}}         \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} \mbox{\hyperlink{structverified__exec__params_a84366f7dc7aa1c40b50a16a3702c6299}{flags}};}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00044}\mbox{\hyperlink{structverified__exec__params_aabd34172e9012ad8869dfeb45f242565}{00044}}         \textcolor{keywordtype}{char} \mbox{\hyperlink{structverified__exec__params_aabd34172e9012ad8869dfeb45f242565}{fp\_type}}[\mbox{\hyperlink{veriexec__ioctl_8h_ad79086ecd5e120ad7011b59352e35039}{VERIEXEC\_FPTYPELEN}}];      \textcolor{comment}{/* type of fingerprint */}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00045}\mbox{\hyperlink{structverified__exec__params_a16a1049f384dbb26bcdaa230e7e62906}{00045}}         \textcolor{keywordtype}{char} \mbox{\hyperlink{structverified__exec__params_a16a1049f384dbb26bcdaa230e7e62906}{file}}[MAXPATHLEN];}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00046}\mbox{\hyperlink{structverified__exec__params_aaac73b5ef0438da5a853651b858731b6}{00046}}         \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} \mbox{\hyperlink{structverified__exec__params_aaac73b5ef0438da5a853651b858731b6}{fingerprint}}[MAXFINGERPRINTLEN];}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00047}00047 \};}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00048}00048 }
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00049}\mbox{\hyperlink{structverified__exec__label__params}{00049}} \textcolor{keyword}{struct }\mbox{\hyperlink{structverified__exec__label__params}{verified\_exec\_label\_params}}  \{}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00050}\mbox{\hyperlink{structverified__exec__label__params_a0ac015f378d094ef95b83c948fa78055}{00050}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structverified__exec__params}{verified\_exec\_params}} \mbox{\hyperlink{structverified__exec__label__params_a0ac015f378d094ef95b83c948fa78055}{params}};}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00051}\mbox{\hyperlink{structverified__exec__label__params_aa918c4a8119043b56ec7aeaab9af6177}{00051}}         \textcolor{keywordtype}{char} \mbox{\hyperlink{structverified__exec__label__params_aa918c4a8119043b56ec7aeaab9af6177}{label}}[MAXLABELLEN];}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00052}00052 \};}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00053}00053 }
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00054}\mbox{\hyperlink{veriexec__ioctl_8h_a57db2e19410c5160010f53b318870cb6}{00054}} \textcolor{preprocessor}{\#define VERIEXEC\_LOAD           \_IOW('S', 0x1, struct verified\_exec\_params)}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00055}\mbox{\hyperlink{veriexec__ioctl_8h_a420fdaf9023fe21c6fe581c2ec4c0601}{00055}} \textcolor{preprocessor}{\#define VERIEXEC\_ACTIVE         \_IO('S', 0x2)   }\textcolor{comment}{/* start checking */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00056}\mbox{\hyperlink{veriexec__ioctl_8h_a11fa49bc4ec48816906fa57baec94641}{00056}} \textcolor{preprocessor}{\#define VERIEXEC\_ENFORCE        \_IO('S', 0x3)   }\textcolor{comment}{/* fail exec */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00057}\mbox{\hyperlink{veriexec__ioctl_8h_a8907f405fa72bc28d587b4070f4e808a}{00057}} \textcolor{preprocessor}{\#define VERIEXEC\_LOCK           \_IO('S', 0x4)   }\textcolor{comment}{/* don't allow new sigs */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00058}\mbox{\hyperlink{veriexec__ioctl_8h_a3ed9bd34c54d0e796fa141c90cd966ac}{00058}} \textcolor{preprocessor}{\#define VERIEXEC\_DEBUG\_ON       \_IOWR('S', 0x5, int) }\textcolor{comment}{/* set/get debug level */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00059}\mbox{\hyperlink{veriexec__ioctl_8h_a0cbae52462ff8d53f1eed35bbb2e6d17}{00059}} \textcolor{preprocessor}{\#define VERIEXEC\_DEBUG\_OFF      \_IO('S', 0x6)   }\textcolor{comment}{/* reset debug */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00060}\mbox{\hyperlink{veriexec__ioctl_8h_aba5cfb619d9e1b84f7a75d35d178f870}{00060}} \textcolor{preprocessor}{\#define VERIEXEC\_GETSTATE       \_IOR('S', 0x7, int) }\textcolor{comment}{/* get state */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00061}\mbox{\hyperlink{veriexec__ioctl_8h_ade14ecf9298f637c2c34b7120aec2333}{00061}} \textcolor{preprocessor}{\#define VERIEXEC\_SIGNED\_LOAD    \_IOW('S', 0x8, struct verified\_exec\_params)}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00062}\mbox{\hyperlink{veriexec__ioctl_8h_a2c248224f98401f21b9cd065d5588184}{00062}} \textcolor{preprocessor}{\#define VERIEXEC\_GETVERSION     \_IOR('S', 0x9, int) }\textcolor{comment}{/* get version */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00063}\mbox{\hyperlink{veriexec__ioctl_8h_a03d3d79b1fe17fdd1c39db8deaf9ee57}{00063}} \textcolor{preprocessor}{\#define VERIEXEC\_LABEL\_LOAD     \_IOW('S', 0xa, struct verified\_exec\_label\_params)}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00064}00064 }
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00065}\mbox{\hyperlink{veriexec__ioctl_8h_a20e1c0c796e352459fab99c1222389b6}{00065}} \textcolor{preprocessor}{\#define \_PATH\_DEV\_VERIEXEC      \_PATH\_DEV "{}veriexec"{}}}
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00066}00066 }
\DoxyCodeLine{\Hypertarget{veriexec__ioctl_8h_source_l00067}00067 \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
