\hypertarget{ng__hole_8c}{}\doxysection{netgraph/ng\+\_\+hole.c File Reference}
\label{ng__hole_8c}\index{netgraph/ng\_hole.c@{netgraph/ng\_hole.c}}
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/mbuf.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+message.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/netgraph.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+parse.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+hole.\+h$>$}\newline
Include dependency graph for ng\+\_\+hole.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/dee/ng__hole_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structng__hole__hookinfo}{ng\+\_\+hole\+\_\+hookinfo}}
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{structng__hole__hookinfo}{ng\+\_\+hole\+\_\+hookinfo}} $\ast$ \mbox{\hyperlink{ng__hole_8c_a40fbf30f2b0906ef92fddd7be8cda873}{hinfo\+\_\+p}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{ng__hole_8c_af2ad3206aaa34f1fc4324ade4cfbe53e}{NETGRAPH\+\_\+\+INIT}} (hole, \&\mbox{\hyperlink{ng__vlan__rotate_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}})
\item 
static int \mbox{\hyperlink{ng__hole_8c_a5329adb5fe4b29e3b8f633ce6a3e606b}{ngh\+\_\+cons}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static int \mbox{\hyperlink{ng__hole_8c_ad5e97de4336909ad1eaa08d460d04e48}{ngh\+\_\+newhook}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, const char $\ast$\mbox{\hyperlink{ng__ppp_8c_ab2adbf48c2df32ccf9cced3bc8c3dc26}{name}})
\item 
static int \mbox{\hyperlink{ng__hole_8c_a893317e6ca568c205e0dad005525d3d7}{ngh\+\_\+rcvmsg}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} lasthook)
\item 
static int \mbox{\hyperlink{ng__hole_8c_a56b9834ab12ace61a32fae566c4365c3}{ngh\+\_\+rcvdata}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
static int \mbox{\hyperlink{ng__hole_8c_a5742bda169dc9970adacaffd9aff416b}{ngh\+\_\+disconnect}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} \mbox{\hyperlink{ng__hole_8c_a7bdf54a33ab8ac643176c2813fcd9f6c}{ng\+\_\+hole\+\_\+hookstat\+\_\+type\+\_\+fields}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__hole_8c_aa4f22d47f02c635e34e070be99598fb5}{ng\+\_\+hole\+\_\+hookstat\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__cmdlist}{ng\+\_\+cmdlist}} \mbox{\hyperlink{ng__hole_8c_a8d293f7feea6e641134899e0df76b45a}{ng\+\_\+hole\+\_\+cmdlist}} \mbox{[}$\,$\mbox{]}
\item 
static \mbox{\hyperlink{netgraph_8h_abb75b9ed2849e15851d6402d2ab5b899}{ng\+\_\+constructor\+\_\+t}} \mbox{\hyperlink{ng__hole_8c_a453f6ef309cc67d73abac523f884769a}{ngh\+\_\+cons}}
\item 
static \mbox{\hyperlink{netgraph_8h_a47b860e2900386e775707cc1ae661162}{ng\+\_\+rcvmsg\+\_\+t}} \mbox{\hyperlink{ng__hole_8c_a3611caa2010f57a3a4ae22e49ee3c851}{ngh\+\_\+rcvmsg}}
\item 
static \mbox{\hyperlink{netgraph_8h_afa50639df4ed6eb400f8220a890d56e6}{ng\+\_\+newhook\+\_\+t}} \mbox{\hyperlink{ng__hole_8c_ad74d92b62b50dad6f607f60047b718fe}{ngh\+\_\+newhook}}
\item 
static \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} \mbox{\hyperlink{ng__hole_8c_aa53ba825389e9a801801fc6a1b053ed4}{ngh\+\_\+rcvdata}}
\item 
static \mbox{\hyperlink{netgraph_8h_a669e1783335f933b4a4f90f17d22f381}{ng\+\_\+disconnect\+\_\+t}} \mbox{\hyperlink{ng__hole_8c_a2be22530693a61552986a5925ec059d9}{ngh\+\_\+disconnect}}
\item 
static struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} \mbox{\hyperlink{ng__hole_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}}
\end{DoxyCompactItemize}


\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{ng__hole_8c_a40fbf30f2b0906ef92fddd7be8cda873}\label{ng__hole_8c_a40fbf30f2b0906ef92fddd7be8cda873}} 
\index{ng\_hole.c@{ng\_hole.c}!hinfo\_p@{hinfo\_p}}
\index{hinfo\_p@{hinfo\_p}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{hinfo\_p}{hinfo\_p}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structng__hole__hookinfo}{ng\+\_\+hole\+\_\+hookinfo}}$\ast$ \mbox{\hyperlink{ng__bpf_8c_ad1ccef44f965fa9d77a1a99c47fb1e98}{hinfo\+\_\+p}}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00062}{62}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ng__hole_8c_af2ad3206aaa34f1fc4324ade4cfbe53e}\label{ng__hole_8c_af2ad3206aaa34f1fc4324ade4cfbe53e}} 
\index{ng\_hole.c@{ng\_hole.c}!NETGRAPH\_INIT@{NETGRAPH\_INIT}}
\index{NETGRAPH\_INIT@{NETGRAPH\_INIT}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{NETGRAPH\_INIT()}{NETGRAPH\_INIT()}}
{\footnotesize\ttfamily NETGRAPH\+\_\+\+INIT (\begin{DoxyParamCaption}\item[{hole}]{,  }\item[{\&}]{typestruct }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__hole_8c_a5329adb5fe4b29e3b8f633ce6a3e606b}\label{ng__hole_8c_a5329adb5fe4b29e3b8f633ce6a3e606b}} 
\index{ng\_hole.c@{ng\_hole.c}!ngh\_cons@{ngh\_cons}}
\index{ngh\_cons@{ngh\_cons}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ngh\_cons()}{ngh\_cons()}}
{\footnotesize\ttfamily static int ngh\+\_\+cons (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00121}{121}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.

\mbox{\Hypertarget{ng__hole_8c_a5742bda169dc9970adacaffd9aff416b}\label{ng__hole_8c_a5742bda169dc9970adacaffd9aff416b}} 
\index{ng\_hole.c@{ng\_hole.c}!ngh\_disconnect@{ngh\_disconnect}}
\index{ngh\_disconnect@{ngh\_disconnect}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ngh\_disconnect()}{ngh\_disconnect()}}
{\footnotesize\ttfamily static int ngh\+\_\+disconnect (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00219}{219}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00336}{NG\+\_\+\+HOOK\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00333}{NG\+\_\+\+HOOK\+\_\+\+SET\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00615}{NG\+\_\+\+NODE\+\_\+\+NUMHOOKS}}, and \mbox{\hyperlink{ng__base_8c_source_l01609}{ng\+\_\+rmnode\+\_\+self()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d1a/ng__hole_8c_a5742bda169dc9970adacaffd9aff416b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__hole_8c_ad5e97de4336909ad1eaa08d460d04e48}\label{ng__hole_8c_ad5e97de4336909ad1eaa08d460d04e48}} 
\index{ng\_hole.c@{ng\_hole.c}!ngh\_newhook@{ngh\_newhook}}
\index{ngh\_newhook@{ngh\_newhook}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ngh\_newhook()}{ngh\_newhook()}}
{\footnotesize\ttfamily static int ngh\+\_\+newhook (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00130}{130}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00333}{NG\+\_\+\+HOOK\+\_\+\+SET\+\_\+\+PRIVATE}}.

\mbox{\Hypertarget{ng__hole_8c_a56b9834ab12ace61a32fae566c4365c3}\label{ng__hole_8c_a56b9834ab12ace61a32fae566c4365c3}} 
\index{ng\_hole.c@{ng\_hole.c}!ngh\_rcvdata@{ngh\_rcvdata}}
\index{ngh\_rcvdata@{ngh\_rcvdata}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ngh\_rcvdata()}{ngh\_rcvdata()}}
{\footnotesize\ttfamily static int ngh\+\_\+rcvdata (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00205}{205}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{netgraph_8h_source_l00336}{NG\+\_\+\+HOOK\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00833}{NGI\+\_\+M}}, and \mbox{\hyperlink{ng__bpf_8c_source_l00095}{ng\+\_\+bpf\+\_\+hookinfo\+::stats}}.

\mbox{\Hypertarget{ng__hole_8c_a893317e6ca568c205e0dad005525d3d7}\label{ng__hole_8c_a893317e6ca568c205e0dad005525d3d7}} 
\index{ng\_hole.c@{ng\_hole.c}!ngh\_rcvmsg@{ngh\_rcvmsg}}
\index{ngh\_rcvmsg@{ngh\_rcvmsg}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ngh\_rcvmsg()}{ngh\_rcvmsg()}}
{\footnotesize\ttfamily static int ngh\+\_\+rcvmsg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{lasthook }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00146}{146}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.



References \mbox{\hyperlink{ng__message_8h_source_l00062}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::arglen}}, \mbox{\hyperlink{ng__message_8h_source_l00063}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::cmd}}, \mbox{\hyperlink{ng__message_8h_source_l00069}{ng\+\_\+mesg\+::data}}, \mbox{\hyperlink{structng__mesg_a16ea313a1e38531a10a14902b7579210}{ng\+\_\+mesg\+::header}}, \mbox{\hyperlink{ng__base_8c_source_l01129}{ng\+\_\+findhook()}}, \mbox{\hyperlink{netgraph_8h_source_l00938}{NG\+\_\+\+FREE\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00336}{NG\+\_\+\+HOOK\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__message_8h_source_l00049}{NG\+\_\+\+HOOKSIZ}}, \mbox{\hyperlink{ng__message_8h_source_l00396}{NG\+\_\+\+MKRESPONSE}}, \mbox{\hyperlink{netgraph_8h_source_l01025}{NG\+\_\+\+RESPOND\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00858}{NGI\+\_\+\+GET\+\_\+\+MSG}}, \mbox{\hyperlink{ng__hole_8h_source_l00067}{NGM\+\_\+\+HOLE\+\_\+\+CLR\+\_\+\+STATS}}, \mbox{\hyperlink{ng__hole_8h_source_l00049}{NGM\+\_\+\+HOLE\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__hole_8h_source_l00066}{NGM\+\_\+\+HOLE\+\_\+\+GET\+\_\+\+STATS}}, \mbox{\hyperlink{ng__hole_8h_source_l00068}{NGM\+\_\+\+HOLE\+\_\+\+GETCLR\+\_\+\+STATS}}, and \mbox{\hyperlink{ng__message_8h_source_l00066}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::typecookie}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=268pt]{d0/d1a/ng__hole_8c_a893317e6ca568c205e0dad005525d3d7_cgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{ng__hole_8c_a8d293f7feea6e641134899e0df76b45a}\label{ng__hole_8c_a8d293f7feea6e641134899e0df76b45a}} 
\index{ng\_hole.c@{ng\_hole.c}!ng\_hole\_cmdlist@{ng\_hole\_cmdlist}}
\index{ng\_hole\_cmdlist@{ng\_hole\_cmdlist}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ng\_hole\_cmdlist}{ng\_hole\_cmdlist}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__cmdlist}{ng\+\_\+cmdlist}} ng\+\_\+hole\+\_\+cmdlist\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{}
\DoxyCodeLine{          \mbox{\hyperlink{ng__hole_8h_a810508dd28d28902e29ce834720093af}{NGM\_HOLE\_COOKIE}},}
\DoxyCodeLine{          \mbox{\hyperlink{ng__hole_8h_afa231099d07583c3ed0981e0bb665f55af985cfad120a1063aa6b03e3588e3f28}{NGM\_HOLE\_GET\_STATS}},}
\DoxyCodeLine{          \textcolor{stringliteral}{"{}getstats"{}},}
\DoxyCodeLine{          \&\mbox{\hyperlink{ng__parse_8c_ac9eae8ccc783218af009d28e23672249}{ng\_parse\_hookbuf\_type}},}
\DoxyCodeLine{          \&\mbox{\hyperlink{ng__hole_8c_aa4f22d47f02c635e34e070be99598fb5}{ng\_hole\_hookstat\_type}}}
\DoxyCodeLine{        \},}
\DoxyCodeLine{        \{}
\DoxyCodeLine{          \mbox{\hyperlink{ng__hole_8h_a810508dd28d28902e29ce834720093af}{NGM\_HOLE\_COOKIE}},}
\DoxyCodeLine{          \mbox{\hyperlink{ng__hole_8h_afa231099d07583c3ed0981e0bb665f55af1c38f091d7acf0678ffcc43f4b9c24c}{NGM\_HOLE\_CLR\_STATS}},}
\DoxyCodeLine{          \textcolor{stringliteral}{"{}clrstats"{}},}
\DoxyCodeLine{          \&\mbox{\hyperlink{ng__parse_8c_ac9eae8ccc783218af009d28e23672249}{ng\_parse\_hookbuf\_type}},}
\DoxyCodeLine{          NULL}
\DoxyCodeLine{        \},}
\DoxyCodeLine{        \{}
\DoxyCodeLine{          \mbox{\hyperlink{ng__hole_8h_a810508dd28d28902e29ce834720093af}{NGM\_HOLE\_COOKIE}},}
\DoxyCodeLine{          \mbox{\hyperlink{ng__hole_8h_afa231099d07583c3ed0981e0bb665f55a4e12613e909135893d1a578defa05ba4}{NGM\_HOLE\_GETCLR\_STATS}},}
\DoxyCodeLine{          \textcolor{stringliteral}{"{}getclrstats"{}},}
\DoxyCodeLine{          \&\mbox{\hyperlink{ng__parse_8c_ac9eae8ccc783218af009d28e23672249}{ng\_parse\_hookbuf\_type}},}
\DoxyCodeLine{          \&\mbox{\hyperlink{ng__hole_8c_aa4f22d47f02c635e34e070be99598fb5}{ng\_hole\_hookstat\_type}}}
\DoxyCodeLine{        \},}
\DoxyCodeLine{        \{ 0 \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00073}{73}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.

\mbox{\Hypertarget{ng__hole_8c_aa4f22d47f02c635e34e070be99598fb5}\label{ng__hole_8c_aa4f22d47f02c635e34e070be99598fb5}} 
\index{ng\_hole.c@{ng\_hole.c}!ng\_hole\_hookstat\_type@{ng\_hole\_hookstat\_type}}
\index{ng\_hole\_hookstat\_type@{ng\_hole\_hookstat\_type}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ng\_hole\_hookstat\_type}{ng\_hole\_hookstat\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+hole\+\_\+hookstat\+\_\+type\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__parse_8c_aa8b7049fbd698972a3d2ce77dfd7d079}{ng\_parse\_struct\_type}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__hole_8c_a7bdf54a33ab8ac643176c2813fcd9f6c}{ng\_hole\_hookstat\_type\_fields}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00067}{67}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.

\mbox{\Hypertarget{ng__hole_8c_a7bdf54a33ab8ac643176c2813fcd9f6c}\label{ng__hole_8c_a7bdf54a33ab8ac643176c2813fcd9f6c}} 
\index{ng\_hole.c@{ng\_hole.c}!ng\_hole\_hookstat\_type\_fields@{ng\_hole\_hookstat\_type\_fields}}
\index{ng\_hole\_hookstat\_type\_fields@{ng\_hole\_hookstat\_type\_fields}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ng\_hole\_hookstat\_type\_fields}{ng\_hole\_hookstat\_type\_fields}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} ng\+\_\+hole\+\_\+hookstat\+\_\+type\+\_\+fields\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{        \mbox{\hyperlink{ng__hole_8h_a7f8c25f0ed5e22ae1e6b8a88bffa663e}{NG\_HOLE\_HOOKSTAT\_TYPE\_INFO}}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00065}{65}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.

\mbox{\Hypertarget{ng__hole_8c_a453f6ef309cc67d73abac523f884769a}\label{ng__hole_8c_a453f6ef309cc67d73abac523f884769a}} 
\index{ng\_hole.c@{ng\_hole.c}!ngh\_cons@{ngh\_cons}}
\index{ngh\_cons@{ngh\_cons}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ngh\_cons}{ngh\_cons}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_abb75b9ed2849e15851d6402d2ab5b899}{ng\+\_\+constructor\+\_\+t}} ngh\+\_\+cons\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00099}{99}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.

\mbox{\Hypertarget{ng__hole_8c_a2be22530693a61552986a5925ec059d9}\label{ng__hole_8c_a2be22530693a61552986a5925ec059d9}} 
\index{ng\_hole.c@{ng\_hole.c}!ngh\_disconnect@{ngh\_disconnect}}
\index{ngh\_disconnect@{ngh\_disconnect}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ngh\_disconnect}{ngh\_disconnect}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_a669e1783335f933b4a4f90f17d22f381}{ng\+\_\+disconnect\+\_\+t}} ngh\+\_\+disconnect\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00103}{103}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.

\mbox{\Hypertarget{ng__hole_8c_ad74d92b62b50dad6f607f60047b718fe}\label{ng__hole_8c_ad74d92b62b50dad6f607f60047b718fe}} 
\index{ng\_hole.c@{ng\_hole.c}!ngh\_newhook@{ngh\_newhook}}
\index{ngh\_newhook@{ngh\_newhook}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ngh\_newhook}{ngh\_newhook}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_afa50639df4ed6eb400f8220a890d56e6}{ng\+\_\+newhook\+\_\+t}} ngh\+\_\+newhook\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00101}{101}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.

\mbox{\Hypertarget{ng__hole_8c_aa53ba825389e9a801801fc6a1b053ed4}\label{ng__hole_8c_aa53ba825389e9a801801fc6a1b053ed4}} 
\index{ng\_hole.c@{ng\_hole.c}!ngh\_rcvdata@{ngh\_rcvdata}}
\index{ngh\_rcvdata@{ngh\_rcvdata}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ngh\_rcvdata}{ngh\_rcvdata}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} ngh\+\_\+rcvdata\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00102}{102}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.

\mbox{\Hypertarget{ng__hole_8c_a3611caa2010f57a3a4ae22e49ee3c851}\label{ng__hole_8c_a3611caa2010f57a3a4ae22e49ee3c851}} 
\index{ng\_hole.c@{ng\_hole.c}!ngh\_rcvmsg@{ngh\_rcvmsg}}
\index{ngh\_rcvmsg@{ngh\_rcvmsg}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{ngh\_rcvmsg}{ngh\_rcvmsg}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_a47b860e2900386e775707cc1ae661162}{ng\+\_\+rcvmsg\+\_\+t}} ngh\+\_\+rcvmsg\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00100}{100}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.

\mbox{\Hypertarget{ng__hole_8c_a80a131770518c7fa3758d85054006e7a}\label{ng__hole_8c_a80a131770518c7fa3758d85054006e7a}} 
\index{ng\_hole.c@{ng\_hole.c}!typestruct@{typestruct}}
\index{typestruct@{typestruct}!ng\_hole.c@{ng\_hole.c}}
\doxysubsubsection{\texorpdfstring{typestruct}{typestruct}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} typestruct\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .version =      \mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\_ABI\_VERSION}},}
\DoxyCodeLine{        .name =         \mbox{\hyperlink{ng__hole_8h_a0002bf281aca47dd4dad057e8cbdf0fa}{NG\_HOLE\_NODE\_TYPE}},}
\DoxyCodeLine{        .constructor =  \mbox{\hyperlink{ng__hole_8c_a453f6ef309cc67d73abac523f884769a}{ngh\_cons}},}
\DoxyCodeLine{        .rcvmsg =       \mbox{\hyperlink{ng__hole_8c_a3611caa2010f57a3a4ae22e49ee3c851}{ngh\_rcvmsg}},}
\DoxyCodeLine{        .newhook =      \mbox{\hyperlink{ng__hole_8c_ad74d92b62b50dad6f607f60047b718fe}{ngh\_newhook}},}
\DoxyCodeLine{        .rcvdata =      \mbox{\hyperlink{ng__hole_8c_aa53ba825389e9a801801fc6a1b053ed4}{ngh\_rcvdata}},}
\DoxyCodeLine{        .disconnect =   \mbox{\hyperlink{ng__hole_8c_a2be22530693a61552986a5925ec059d9}{ngh\_disconnect}},}
\DoxyCodeLine{        .cmdlist =      \mbox{\hyperlink{ng__hole_8c_a8d293f7feea6e641134899e0df76b45a}{ng\_hole\_cmdlist}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__hole_8c_source_l00105}{105}} of file \mbox{\hyperlink{ng__hole_8c_source}{ng\+\_\+hole.\+c}}.

