\hypertarget{ng__patch_8c}{}\doxysection{netgraph/ng\+\_\+patch.c File Reference}
\label{ng__patch_8c}\index{netgraph/ng\_patch.c@{netgraph/ng\_patch.c}}
{\ttfamily \#include $<$sys/cdefs.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/endian.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/mbuf.\+h$>$}\newline
{\ttfamily \#include $<$net/bpf.\+h$>$}\newline
{\ttfamily \#include $<$net/ethernet.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+message.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+parse.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/netgraph.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+patch.\+h$>$}\newline
Include dependency graph for ng\+\_\+patch.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d8/d8c/ng__patch_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structng__patch__priv}{ng\+\_\+patch\+\_\+priv}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{ng__patch_8c_a661c316872e6e1e6a714d7fad67f366f}{ERROUT}}(x)~\{ error = (x); goto done; \}
\item 
\#define \mbox{\hyperlink{ng__patch_8c_a8b5f2474c5f0a6ca1328ed92c68d693e}{PULLUP\+\_\+\+CHECK}}(mbuf,  \mbox{\hyperlink{netflow__v9_8h_a1892eba2086d12ac2b09005aeb09ea3b}{length}})
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{structng__patch__priv}{ng\+\_\+patch\+\_\+priv}} $\ast$ \mbox{\hyperlink{ng__patch_8c_afc9fdcf89746a698502ff70d7fea0e81}{priv\+\_\+p}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{ng__patch_8c_a8c3ef283470a68cd30afe9b8a72cb60f}{\+\_\+\+\_\+\+FBSDID}} (\char`\"{}\$Free\+BSD\$\char`\"{})
\item 
static int \mbox{\hyperlink{ng__patch_8c_a603e5536499ad63a9e423dd71cc6fc27}{ng\+\_\+patch\+\_\+config\+\_\+getlen}} (const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} $\ast$\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a3cce6e7fc609fa524af48647bd518f51}{type}}, const u\+\_\+char $\ast$start, const u\+\_\+char $\ast$buf)
\item 
\mbox{\hyperlink{ng__patch_8c_aa8351a3c9933d1a330f0b012e831ccf9}{NETGRAPH\+\_\+\+INIT}} (patch, \&\mbox{\hyperlink{ng__vlan__rotate_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}})
\item 
static int \mbox{\hyperlink{ng__patch_8c_abafbe7566cc1a855ab18e557f4432e0e}{ng\+\_\+patch\+\_\+constructor}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static int \mbox{\hyperlink{ng__patch_8c_ab2b757727ae153868abfe65b1fbcf39e}{ng\+\_\+patch\+\_\+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__patch_8c_abfbc9f69d33ee56217ab58698858f8ab}{ng\+\_\+patch\+\_\+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 void \mbox{\hyperlink{ng__patch_8c_a44d44fa102a7c947987fdbcc79927bf7}{do\+\_\+patch}} (\mbox{\hyperlink{ng__netflow_8h_a20ac59de066baac8be85fa2d943b37a3}{priv\+\_\+p}} privp, struct mbuf $\ast$m, int global\+\_\+offset)
\item 
static int \mbox{\hyperlink{ng__patch_8c_af87b66350a7b6cc9b982aa79b16227d6}{ng\+\_\+patch\+\_\+rcvdata}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
static int \mbox{\hyperlink{ng__patch_8c_a51c65f6beb51b26cb4969829c65ac4bf}{ng\+\_\+patch\+\_\+shutdown}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static int \mbox{\hyperlink{ng__patch_8c_a211e69e9dc1f8985e7abdee222e058cf}{ng\+\_\+patch\+\_\+disconnect}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{netgraph_8h_abb75b9ed2849e15851d6402d2ab5b899}{ng\+\_\+constructor\+\_\+t}} \mbox{\hyperlink{ng__patch_8c_a9be6b636d6b2b6312faa840a61f477ce}{ng\+\_\+patch\+\_\+constructor}}
\item 
static \mbox{\hyperlink{netgraph_8h_a47b860e2900386e775707cc1ae661162}{ng\+\_\+rcvmsg\+\_\+t}} \mbox{\hyperlink{ng__patch_8c_ae88057176860987867ca6e28a8adec8d}{ng\+\_\+patch\+\_\+rcvmsg}}
\item 
static \mbox{\hyperlink{netgraph_8h_aab0a679789a1af312a7f856b4668ad74}{ng\+\_\+shutdown\+\_\+t}} \mbox{\hyperlink{ng__patch_8c_a7972dbab268d92722c43c37773a5f89d}{ng\+\_\+patch\+\_\+shutdown}}
\item 
static \mbox{\hyperlink{netgraph_8h_afa50639df4ed6eb400f8220a890d56e6}{ng\+\_\+newhook\+\_\+t}} \mbox{\hyperlink{ng__patch_8c_a0fb3ecd5bcbc64b9d93aebc30a73a1d1}{ng\+\_\+patch\+\_\+newhook}}
\item 
static \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} \mbox{\hyperlink{ng__patch_8c_a67d559e35c64432c37fe7ab704a4c8a6}{ng\+\_\+patch\+\_\+rcvdata}}
\item 
static \mbox{\hyperlink{netgraph_8h_a669e1783335f933b4a4f90f17d22f381}{ng\+\_\+disconnect\+\_\+t}} \mbox{\hyperlink{ng__patch_8c_ac2097820d14af1693bef8013aba7dfc9}{ng\+\_\+patch\+\_\+disconnect}}
\item 
static const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} \mbox{\hyperlink{ng__patch_8c_a2be1e2a3b6a860c9903b8c2909e58336}{ng\+\_\+patch\+\_\+op\+\_\+type\+\_\+fields}} \mbox{[}$\,$\mbox{]} = \mbox{\hyperlink{ng__patch_8h_a130180df8359dd4488ae0546c55fca20}{NG\+\_\+\+PATCH\+\_\+\+OP\+\_\+\+TYPE}}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__patch_8c_a7a6cab957929c52533109bd5a3001eed}{ng\+\_\+patch\+\_\+op\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__parse__array__info}{ng\+\_\+parse\+\_\+array\+\_\+info}} \mbox{\hyperlink{ng__patch_8c_abfe34ba7500ca47324bbf51d01274b17}{ng\+\_\+patch\+\_\+ops\+\_\+array\+\_\+info}}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__patch_8c_aaa50844bd25c2650fe8a7b32e6059779}{ng\+\_\+patch\+\_\+ops\+\_\+array\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} \mbox{\hyperlink{ng__patch_8c_aa9bd60daf3e5f8648e2bd53728117b46}{ng\+\_\+patch\+\_\+config\+\_\+type\+\_\+fields}} \mbox{[}$\,$\mbox{]} = \mbox{\hyperlink{ng__patch_8h_a7ad8b238d5c185c3b7bc91b0f89c0dfd}{NG\+\_\+\+PATCH\+\_\+\+CONFIG\+\_\+\+TYPE}}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__patch_8c_affc4384426eada8253268749744eaac0}{ng\+\_\+patch\+\_\+config\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} \mbox{\hyperlink{ng__patch_8c_aa391ebe295546c77cf47026bd5c3923c}{ng\+\_\+patch\+\_\+stats\+\_\+fields}} \mbox{[}$\,$\mbox{]} = \mbox{\hyperlink{ng__patch_8h_a56eff62cc8326736d70d4a471a5a4785}{NG\+\_\+\+PATCH\+\_\+\+STATS\+\_\+\+TYPE}}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__patch_8c_ad86ca4f404f046c0fbf9b4c43e343b87}{ng\+\_\+patch\+\_\+stats\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__cmdlist}{ng\+\_\+cmdlist}} \mbox{\hyperlink{ng__patch_8c_ace08927938f94d9690aa4528376c8ddd}{ng\+\_\+patch\+\_\+cmdlist}} \mbox{[}$\,$\mbox{]}
\item 
static struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} \mbox{\hyperlink{ng__patch_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{ng__patch_8c_a661c316872e6e1e6a714d7fad67f366f}\label{ng__patch_8c_a661c316872e6e1e6a714d7fad67f366f}} 
\index{ng\_patch.c@{ng\_patch.c}!ERROUT@{ERROUT}}
\index{ERROUT@{ERROUT}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ERROUT}{ERROUT}}
{\footnotesize\ttfamily \#define ERROUT(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~\{ error = (x); goto done; \}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00068}{68}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_a8b5f2474c5f0a6ca1328ed92c68d693e}\label{ng__patch_8c_a8b5f2474c5f0a6ca1328ed92c68d693e}} 
\index{ng\_patch.c@{ng\_patch.c}!PULLUP\_CHECK@{PULLUP\_CHECK}}
\index{PULLUP\_CHECK@{PULLUP\_CHECK}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{PULLUP\_CHECK}{PULLUP\_CHECK}}
{\footnotesize\ttfamily \#define PULLUP\+\_\+\+CHECK(\begin{DoxyParamCaption}\item[{}]{mbuf,  }\item[{}]{\mbox{\hyperlink{netflow__v9_8h_a1892eba2086d12ac2b09005aeb09ea3b}{length}} }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        \textcolor{keywordflow}{do} \{                                    \(\backslash\)}
\DoxyCodeLine{        pullup\_len += \mbox{\hyperlink{ng__ubt__var_8h_a6ae8e371985856eea14ae695f65dfab2}{length}};                                             \(\backslash\)}
\DoxyCodeLine{        if (((mbuf)-\/>m\_pkthdr.len < pullup\_len) ||                      \(\backslash\)}
\DoxyCodeLine{            (pullup\_len > MHLEN)) \{                                     \(\backslash\)}
\DoxyCodeLine{                error = EINVAL;                                         \(\backslash\)}
\DoxyCodeLine{                goto bypass;                                            \(\backslash\)}
\DoxyCodeLine{        \}                                                               \(\backslash\)}
\DoxyCodeLine{        if ((mbuf)-\/>m\_len < pullup\_len \&\&                               \(\backslash\)}
\DoxyCodeLine{            (((mbuf) = m\_pullup((mbuf), pullup\_len)) == NULL)) \{        \(\backslash\)}
\DoxyCodeLine{                error = ENOBUFS;                                        \(\backslash\)}
\DoxyCodeLine{                goto drop;                                              \(\backslash\)}
\DoxyCodeLine{        \}                                                               \(\backslash\)}
\DoxyCodeLine{\} \textcolor{keywordflow}{while} (0)}

\end{DoxyCode}


\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{ng__patch_8c_afc9fdcf89746a698502ff70d7fea0e81}\label{ng__patch_8c_afc9fdcf89746a698502ff70d7fea0e81}} 
\index{ng\_patch.c@{ng\_patch.c}!priv\_p@{priv\_p}}
\index{priv\_p@{priv\_p}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{priv\_p}{priv\_p}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structng__patch__priv}{ng\+\_\+patch\+\_\+priv}}$\ast$ \mbox{\hyperlink{ng__netflow_8h_a20ac59de066baac8be85fa2d943b37a3}{priv\+\_\+p}}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00059}{59}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.



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

\mbox{\Hypertarget{ng__patch_8c_a44d44fa102a7c947987fdbcc79927bf7}\label{ng__patch_8c_a44d44fa102a7c947987fdbcc79927bf7}} 
\index{ng\_patch.c@{ng\_patch.c}!do\_patch@{do\_patch}}
\index{do\_patch@{do\_patch}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{do\_patch()}{do\_patch()}}
{\footnotesize\ttfamily static void do\+\_\+patch (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__netflow_8h_a20ac59de066baac8be85fa2d943b37a3}{priv\+\_\+p}}}]{privp,  }\item[{struct mbuf $\ast$}]{m,  }\item[{int}]{global\+\_\+offset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00354}{354}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.



References \mbox{\hyperlink{ng__patch_8h_source_l00063}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+ADD}}, \mbox{\hyperlink{ng__patch_8h_source_l00068}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+AND}}, \mbox{\hyperlink{ng__patch_8h_source_l00066}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+DIV}}, \mbox{\hyperlink{ng__patch_8h_source_l00065}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+MUL}}, \mbox{\hyperlink{ng__patch_8h_source_l00067}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+NEG}}, \mbox{\hyperlink{ng__patch_8h_source_l00069}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+OR}}, \mbox{\hyperlink{ng__patch_8h_source_l00062}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+SET}}, \mbox{\hyperlink{ng__patch_8h_source_l00071}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+SHL}}, \mbox{\hyperlink{ng__patch_8h_source_l00072}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+SHR}}, \mbox{\hyperlink{ng__patch_8h_source_l00064}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+SUB}}, and \mbox{\hyperlink{ng__patch_8h_source_l00070}{NG\+\_\+\+PATCH\+\_\+\+MODE\+\_\+\+XOR}}.



Referenced by \mbox{\hyperlink{ng__patch_8c_source_l00552}{ng\+\_\+patch\+\_\+rcvdata()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=280pt]{d7/de0/ng__patch_8c_a44d44fa102a7c947987fdbcc79927bf7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__patch_8c_aa8351a3c9933d1a330f0b012e831ccf9}\label{ng__patch_8c_aa8351a3c9933d1a330f0b012e831ccf9}} 
\index{ng\_patch.c@{ng\_patch.c}!NETGRAPH\_INIT@{NETGRAPH\_INIT}}
\index{NETGRAPH\_INIT@{NETGRAPH\_INIT}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{NETGRAPH\_INIT()}{NETGRAPH\_INIT()}}
{\footnotesize\ttfamily NETGRAPH\+\_\+\+INIT (\begin{DoxyParamCaption}\item[{patch}]{,  }\item[{\&}]{typestruct }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__patch_8c_a603e5536499ad63a9e423dd71cc6fc27}\label{ng__patch_8c_a603e5536499ad63a9e423dd71cc6fc27}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_config\_getlen@{ng\_patch\_config\_getlen}}
\index{ng\_patch\_config\_getlen@{ng\_patch\_config\_getlen}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_config\_getlen()}{ng\_patch\_config\_getlen()}}
{\footnotesize\ttfamily static int ng\+\_\+patch\+\_\+config\+\_\+getlen (\begin{DoxyParamCaption}\item[{const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} $\ast$}]{type,  }\item[{const u\+\_\+char $\ast$}]{start,  }\item[{const u\+\_\+char $\ast$}]{buf }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00071}{71}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.



References \mbox{\hyperlink{ng__patch_8h_source_l00115}{ng\+\_\+patch\+\_\+config\+::count}}, and \mbox{\hyperlink{ng__patch_8h_source_l00118}{ng\+\_\+patch\+\_\+config\+::ops}}.

\mbox{\Hypertarget{ng__patch_8c_abafbe7566cc1a855ab18e557f4432e0e}\label{ng__patch_8c_abafbe7566cc1a855ab18e557f4432e0e}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_constructor@{ng\_patch\_constructor}}
\index{ng\_patch\_constructor@{ng\_patch\_constructor}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_constructor()}{ng\_patch\_constructor()}}
{\footnotesize\ttfamily static int ng\+\_\+patch\+\_\+constructor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00180}{180}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00608}{NG\+\_\+\+NODE\+\_\+\+SET\+\_\+\+PRIVATE}}.

\mbox{\Hypertarget{ng__patch_8c_a211e69e9dc1f8985e7abdee222e058cf}\label{ng__patch_8c_a211e69e9dc1f8985e7abdee222e058cf}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_disconnect@{ng\_patch\_disconnect}}
\index{ng\_patch\_disconnect@{ng\_patch\_disconnect}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_disconnect()}{ng\_patch\_disconnect()}}
{\footnotesize\ttfamily static int ng\+\_\+patch\+\_\+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__patch_8c_source_l00676}{676}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00610}{NG\+\_\+\+NODE\+\_\+\+IS\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00615}{NG\+\_\+\+NODE\+\_\+\+NUMHOOKS}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, 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]{d7/de0/ng__patch_8c_a211e69e9dc1f8985e7abdee222e058cf_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__patch_8c_ab2b757727ae153868abfe65b1fbcf39e}\label{ng__patch_8c_ab2b757727ae153868abfe65b1fbcf39e}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_newhook@{ng\_patch\_newhook}}
\index{ng\_patch\_newhook@{ng\_patch\_newhook}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_newhook()}{ng\_patch\_newhook()}}
{\footnotesize\ttfamily static int ng\+\_\+patch\+\_\+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__patch_8c_source_l00193}{193}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.



References \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__patch_8h_source_l00042}{NG\+\_\+\+PATCH\+\_\+\+HOOK\+\_\+\+IN}}, and \mbox{\hyperlink{ng__patch_8h_source_l00043}{NG\+\_\+\+PATCH\+\_\+\+HOOK\+\_\+\+OUT}}.

\mbox{\Hypertarget{ng__patch_8c_af87b66350a7b6cc9b982aa79b16227d6}\label{ng__patch_8c_af87b66350a7b6cc9b982aa79b16227d6}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_rcvdata@{ng\_patch\_rcvdata}}
\index{ng\_patch\_rcvdata@{ng\_patch\_rcvdata}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_rcvdata()}{ng\_patch\_rcvdata()}}
{\footnotesize\ttfamily static int ng\+\_\+patch\+\_\+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__patch_8c_source_l00552}{552}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.



References \mbox{\hyperlink{ng__patch_8c_source_l00354}{do\+\_\+patch()}}, \mbox{\hyperlink{ng__patch_8c_source_l00068}{ERROUT}}, \mbox{\hyperlink{ng__patch_8h_source_l00129}{ng\+\_\+patch\+\_\+vlan\+\_\+header\+::etype}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{netgraph_8h_source_l00914}{NG\+\_\+\+FWD\+\_\+\+NEW\+\_\+\+DATA}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00852}{NGI\+\_\+\+GET\+\_\+M}}, \mbox{\hyperlink{ng__patch_8c_a8b5f2474c5f0a6ca1328ed92c68d693e}{PULLUP\+\_\+\+CHECK}}, and \mbox{\hyperlink{ng__sscop_8c_source_l00098}{priv\+::stats}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=280pt]{d7/de0/ng__patch_8c_af87b66350a7b6cc9b982aa79b16227d6_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__patch_8c_abfbc9f69d33ee56217ab58698858f8ab}\label{ng__patch_8c_abfbc9f69d33ee56217ab58698858f8ab}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_rcvmsg@{ng\_patch\_rcvmsg}}
\index{ng\_patch\_rcvmsg@{ng\_patch\_rcvmsg}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_rcvmsg()}{ng\_patch\_rcvmsg()}}
{\footnotesize\ttfamily static int ng\+\_\+patch\+\_\+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__patch_8c_source_l00209}{209}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+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__patch_8h_source_l00115}{ng\+\_\+patch\+\_\+config\+::count}}, \mbox{\hyperlink{ng__patch_8h_source_l00116}{ng\+\_\+patch\+\_\+config\+::csum\+\_\+flags}}, \mbox{\hyperlink{ng__message_8h_source_l00069}{ng\+\_\+mesg\+::data}}, \mbox{\hyperlink{ng__patch_8c_source_l00068}{ERROUT}}, \mbox{\hyperlink{structng__mesg_a16ea313a1e38531a10a14902b7579210}{ng\+\_\+mesg\+::header}}, \mbox{\hyperlink{ng__patch_8h_source_l00109}{ng\+\_\+patch\+\_\+op\+::length}}, \mbox{\hyperlink{netgraph_8h_source_l00938}{NG\+\_\+\+FREE\+\_\+\+MSG}}, \mbox{\hyperlink{ng__message_8h_source_l00396}{NG\+\_\+\+MKRESPONSE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__patch_8h_source_l00132}{NG\+\_\+\+PATCH\+\_\+\+CONF\+\_\+\+SIZE}}, \mbox{\hyperlink{ng__patch_8h_source_l00046}{NG\+\_\+\+PATCH\+\_\+\+CSUM\+\_\+\+IPV4}}, \mbox{\hyperlink{ng__patch_8h_source_l00047}{NG\+\_\+\+PATCH\+\_\+\+CSUM\+\_\+\+IPV6}}, \mbox{\hyperlink{netgraph_8h_source_l01025}{NG\+\_\+\+RESPOND\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00858}{NGI\+\_\+\+GET\+\_\+\+MSG}}, \mbox{\hyperlink{ng__patch_8h_source_l00054}{NGM\+\_\+\+PATCH\+\_\+\+CLR\+\_\+\+STATS}}, \mbox{\hyperlink{ng__patch_8h_source_l00039}{NGM\+\_\+\+PATCH\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__patch_8h_source_l00053}{NGM\+\_\+\+PATCH\+\_\+\+GET\+\_\+\+STATS}}, \mbox{\hyperlink{ng__patch_8h_source_l00055}{NGM\+\_\+\+PATCH\+\_\+\+GETCLR\+\_\+\+STATS}}, \mbox{\hyperlink{ng__patch_8h_source_l00052}{NGM\+\_\+\+PATCH\+\_\+\+GETCONFIG}}, \mbox{\hyperlink{ng__patch_8h_source_l00056}{NGM\+\_\+\+PATCH\+\_\+\+GETDLT}}, \mbox{\hyperlink{ng__patch_8h_source_l00051}{NGM\+\_\+\+PATCH\+\_\+\+SETCONFIG}}, \mbox{\hyperlink{ng__patch_8h_source_l00057}{NGM\+\_\+\+PATCH\+\_\+\+SETDLT}}, \mbox{\hyperlink{ng__patch_8h_source_l00118}{ng\+\_\+patch\+\_\+config\+::ops}}, \mbox{\hyperlink{ng__patch_8h_source_l00117}{ng\+\_\+patch\+\_\+config\+::relative\+\_\+offset}}, \mbox{\hyperlink{ng__message_8h_source_l00066}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::typecookie}}, \mbox{\hyperlink{ng__patch_8h_source_l00101}{ng\+\_\+patch\+\_\+op\+\_\+val\+::v1}}, \mbox{\hyperlink{ng__patch_8h_source_l00102}{ng\+\_\+patch\+\_\+op\+\_\+val\+::v2}}, \mbox{\hyperlink{ng__patch_8h_source_l00103}{ng\+\_\+patch\+\_\+op\+\_\+val\+::v4}}, \mbox{\hyperlink{ng__patch_8h_source_l00104}{ng\+\_\+patch\+\_\+op\+\_\+val\+::v8}}, and \mbox{\hyperlink{ng__patch_8h_source_l00111}{ng\+\_\+patch\+\_\+op\+::val}}.

\mbox{\Hypertarget{ng__patch_8c_a51c65f6beb51b26cb4969829c65ac4bf}\label{ng__patch_8c_a51c65f6beb51b26cb4969829c65ac4bf}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_shutdown@{ng\_patch\_shutdown}}
\index{ng\_patch\_shutdown@{ng\_patch\_shutdown}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_shutdown()}{ng\_patch\_shutdown()}}
{\footnotesize\ttfamily static int ng\+\_\+patch\+\_\+shutdown (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00660}{660}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00608}{NG\+\_\+\+NODE\+\_\+\+SET\+\_\+\+PRIVATE}}, and \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}.



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



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00112}{112}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_affc4384426eada8253268749744eaac0}\label{ng__patch_8c_affc4384426eada8253268749744eaac0}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_config\_type@{ng\_patch\_config\_type}}
\index{ng\_patch\_config\_type@{ng\_patch\_config\_type}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_config\_type}{ng\_patch\_config\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+patch\+\_\+config\+\_\+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__patch_8c_aa9bd60daf3e5f8648e2bd53728117b46}{ng\_patch\_config\_type\_fields}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00100}{100}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_aa9bd60daf3e5f8648e2bd53728117b46}\label{ng__patch_8c_aa9bd60daf3e5f8648e2bd53728117b46}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_config\_type\_fields@{ng\_patch\_config\_type\_fields}}
\index{ng\_patch\_config\_type\_fields@{ng\_patch\_config\_type\_fields}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_config\_type\_fields}{ng\_patch\_config\_type\_fields}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} ng\+\_\+patch\+\_\+config\+\_\+type\+\_\+fields\mbox{[}$\,$\mbox{]} = \mbox{\hyperlink{ng__patch_8h_a7ad8b238d5c185c3b7bc91b0f89c0dfd}{NG\+\_\+\+PATCH\+\_\+\+CONFIG\+\_\+\+TYPE}}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00098}{98}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_a9be6b636d6b2b6312faa840a61f477ce}\label{ng__patch_8c_a9be6b636d6b2b6312faa840a61f477ce}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_constructor@{ng\_patch\_constructor}}
\index{ng\_patch\_constructor@{ng\_patch\_constructor}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_constructor}{ng\_patch\_constructor}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_abb75b9ed2849e15851d6402d2ab5b899}{ng\+\_\+constructor\+\_\+t}} ng\+\_\+patch\+\_\+constructor\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00062}{62}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00067}{67}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00065}{65}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_a7a6cab957929c52533109bd5a3001eed}\label{ng__patch_8c_a7a6cab957929c52533109bd5a3001eed}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_op\_type@{ng\_patch\_op\_type}}
\index{ng\_patch\_op\_type@{ng\_patch\_op\_type}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_op\_type}{ng\_patch\_op\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+patch\+\_\+op\+\_\+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__patch_8c_a2be1e2a3b6a860c9903b8c2909e58336}{ng\_patch\_op\_type\_fields}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00084}{84}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_a2be1e2a3b6a860c9903b8c2909e58336}\label{ng__patch_8c_a2be1e2a3b6a860c9903b8c2909e58336}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_op\_type\_fields@{ng\_patch\_op\_type\_fields}}
\index{ng\_patch\_op\_type\_fields@{ng\_patch\_op\_type\_fields}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_op\_type\_fields}{ng\_patch\_op\_type\_fields}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} ng\+\_\+patch\+\_\+op\+\_\+type\+\_\+fields\mbox{[}$\,$\mbox{]} = \mbox{\hyperlink{ng__patch_8h_a130180df8359dd4488ae0546c55fca20}{NG\+\_\+\+PATCH\+\_\+\+OP\+\_\+\+TYPE}}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00082}{82}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_abfe34ba7500ca47324bbf51d01274b17}\label{ng__patch_8c_abfe34ba7500ca47324bbf51d01274b17}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_ops\_array\_info@{ng\_patch\_ops\_array\_info}}
\index{ng\_patch\_ops\_array\_info@{ng\_patch\_ops\_array\_info}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_ops\_array\_info}{ng\_patch\_ops\_array\_info}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__array__info}{ng\+\_\+parse\+\_\+array\+\_\+info}} ng\+\_\+patch\+\_\+ops\+\_\+array\+\_\+info\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__patch_8c_a7a6cab957929c52533109bd5a3001eed}{ng\_patch\_op\_type}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__patch_8c_a603e5536499ad63a9e423dd71cc6fc27}{ng\_patch\_config\_getlen}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00089}{89}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_aaa50844bd25c2650fe8a7b32e6059779}\label{ng__patch_8c_aaa50844bd25c2650fe8a7b32e6059779}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_ops\_array\_type@{ng\_patch\_ops\_array\_type}}
\index{ng\_patch\_ops\_array\_type@{ng\_patch\_ops\_array\_type}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_ops\_array\_type}{ng\_patch\_ops\_array\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+patch\+\_\+ops\+\_\+array\+\_\+type\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__parse_8c_a979248410eaad0c3e86262fe53840012}{ng\_parse\_array\_type}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__patch_8c_abfe34ba7500ca47324bbf51d01274b17}{ng\_patch\_ops\_array\_info}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00093}{93}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00066}{66}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00063}{63}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_a7972dbab268d92722c43c37773a5f89d}\label{ng__patch_8c_a7972dbab268d92722c43c37773a5f89d}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_shutdown@{ng\_patch\_shutdown}}
\index{ng\_patch\_shutdown@{ng\_patch\_shutdown}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_shutdown}{ng\_patch\_shutdown}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_aab0a679789a1af312a7f856b4668ad74}{ng\+\_\+shutdown\+\_\+t}} ng\+\_\+patch\+\_\+shutdown\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00064}{64}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_aa391ebe295546c77cf47026bd5c3923c}\label{ng__patch_8c_aa391ebe295546c77cf47026bd5c3923c}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_stats\_fields@{ng\_patch\_stats\_fields}}
\index{ng\_patch\_stats\_fields@{ng\_patch\_stats\_fields}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_stats\_fields}{ng\_patch\_stats\_fields}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} ng\+\_\+patch\+\_\+stats\+\_\+fields\mbox{[}$\,$\mbox{]} = \mbox{\hyperlink{ng__patch_8h_a56eff62cc8326736d70d4a471a5a4785}{NG\+\_\+\+PATCH\+\_\+\+STATS\+\_\+\+TYPE}}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00105}{105}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_ad86ca4f404f046c0fbf9b4c43e343b87}\label{ng__patch_8c_ad86ca4f404f046c0fbf9b4c43e343b87}} 
\index{ng\_patch.c@{ng\_patch.c}!ng\_patch\_stats\_type@{ng\_patch\_stats\_type}}
\index{ng\_patch\_stats\_type@{ng\_patch\_stats\_type}!ng\_patch.c@{ng\_patch.c}}
\doxysubsubsection{\texorpdfstring{ng\_patch\_stats\_type}{ng\_patch\_stats\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+patch\+\_\+stats\+\_\+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__patch_8c_aa391ebe295546c77cf47026bd5c3923c}{ng\_patch\_stats\_fields}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00107}{107}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

\mbox{\Hypertarget{ng__patch_8c_a80a131770518c7fa3758d85054006e7a}\label{ng__patch_8c_a80a131770518c7fa3758d85054006e7a}} 
\index{ng\_patch.c@{ng\_patch.c}!typestruct@{typestruct}}
\index{typestruct@{typestruct}!ng\_patch.c@{ng\_patch.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__patch_8h_abd07cb716b555af56811f8446827a3cd}{NG\_PATCH\_NODE\_TYPE}},}
\DoxyCodeLine{        .constructor =  \mbox{\hyperlink{ng__patch_8c_a9be6b636d6b2b6312faa840a61f477ce}{ng\_patch\_constructor}},}
\DoxyCodeLine{        .rcvmsg =       \mbox{\hyperlink{ng__patch_8c_ae88057176860987867ca6e28a8adec8d}{ng\_patch\_rcvmsg}},}
\DoxyCodeLine{        .shutdown =     \mbox{\hyperlink{ng__patch_8c_a7972dbab268d92722c43c37773a5f89d}{ng\_patch\_shutdown}},}
\DoxyCodeLine{        .newhook =      \mbox{\hyperlink{ng__patch_8c_a0fb3ecd5bcbc64b9d93aebc30a73a1d1}{ng\_patch\_newhook}},}
\DoxyCodeLine{        .rcvdata =      \mbox{\hyperlink{ng__patch_8c_a67d559e35c64432c37fe7ab704a4c8a6}{ng\_patch\_rcvdata}},}
\DoxyCodeLine{        .disconnect =   \mbox{\hyperlink{ng__patch_8c_ac2097820d14af1693bef8013aba7dfc9}{ng\_patch\_disconnect}},}
\DoxyCodeLine{        .cmdlist =      \mbox{\hyperlink{ng__patch_8c_ace08927938f94d9690aa4528376c8ddd}{ng\_patch\_cmdlist}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__patch_8c_source_l00165}{165}} of file \mbox{\hyperlink{ng__patch_8c_source}{ng\+\_\+patch.\+c}}.

