\hypertarget{ng__base_8c}{}\doxysection{netgraph/ng\+\_\+base.c File Reference}
\label{ng__base_8c}\index{netgraph/ng\_base.c@{netgraph/ng\_base.c}}
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/ctype.\+h$>$}\newline
{\ttfamily \#include $<$sys/hash.\+h$>$}\newline
{\ttfamily \#include $<$sys/kdb.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/kthread.\+h$>$}\newline
{\ttfamily \#include $<$sys/ktr.\+h$>$}\newline
{\ttfamily \#include $<$sys/limits.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/mbuf.\+h$>$}\newline
{\ttfamily \#include $<$sys/proc.\+h$>$}\newline
{\ttfamily \#include $<$sys/epoch.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$sys/refcount.\+h$>$}\newline
{\ttfamily \#include $<$sys/rwlock.\+h$>$}\newline
{\ttfamily \#include $<$sys/smp.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysctl.\+h$>$}\newline
{\ttfamily \#include $<$sys/syslog.\+h$>$}\newline
{\ttfamily \#include $<$sys/unistd.\+h$>$}\newline
{\ttfamily \#include $<$machine/cpu.\+h$>$}\newline
{\ttfamily \#include $<$vm/uma.\+h$>$}\newline
{\ttfamily \#include $<$net/netisr.\+h$>$}\newline
{\ttfamily \#include $<$net/vnet.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+message.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/netgraph.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+parse.\+h$>$}\newline
Include dependency graph for ng\+\_\+base.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{de/db4/ng__base_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{ng__base_8c_ae5b87416a2b11accb2a7f3271b033b21}{TOPOLOGY\+\_\+\+RLOCK}}()~rw\+\_\+rlock(\&\mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}})
\item 
\#define \mbox{\hyperlink{ng__base_8c_ac1083cc6c0f464103baed3f28488e144}{TOPOLOGY\+\_\+\+RUNLOCK}}()~rw\+\_\+runlock(\&\mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}})
\item 
\#define \mbox{\hyperlink{ng__base_8c_a94bd888ffca08e14ce5466ceceb4dcc6}{TOPOLOGY\+\_\+\+WLOCK}}()~rw\+\_\+wlock(\&\mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}})
\item 
\#define \mbox{\hyperlink{ng__base_8c_a694e1fe09b2a613be2324c29050ff544}{TOPOLOGY\+\_\+\+WUNLOCK}}()~rw\+\_\+wunlock(\&\mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}})
\item 
\#define \mbox{\hyperlink{ng__base_8c_a1b0965a46f18b75d1296474b25a43150}{TOPOLOGY\+\_\+\+NOTOWNED}}()~rw\+\_\+assert(\&\mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}}, RA\+\_\+\+UNLOCKED)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ad792d0dd51964515d36b0d8fe4a5fcd1}{TYPELIST\+\_\+\+RLOCK}}()~rw\+\_\+rlock(\&ng\+\_\+typelist\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a708532d52448aee33f5f494c088c6c19}{TYPELIST\+\_\+\+RUNLOCK}}()~rw\+\_\+runlock(\&ng\+\_\+typelist\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_add5cd5fbd97c58f0434a25ebde39bfda}{TYPELIST\+\_\+\+WLOCK}}()~rw\+\_\+wlock(\&ng\+\_\+typelist\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a8b788036e6feb332405dc003726502b6}{TYPELIST\+\_\+\+WUNLOCK}}()~rw\+\_\+wunlock(\&ng\+\_\+typelist\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ad0a4773cb27c547300c11cc1cdc74780}{V\+\_\+ng\+\_\+\+ID\+\_\+hash}}~VNET(ng\+\_\+\+ID\+\_\+hash)
\item 
\#define \mbox{\hyperlink{ng__base_8c_aa28823cd95db08aaf3e195ad052d261c}{V\+\_\+ng\+\_\+\+ID\+\_\+hmask}}~VNET(ng\+\_\+\+ID\+\_\+hmask)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ad685d5a522de935eabb0fd450c116d2b}{V\+\_\+ng\+\_\+nodes}}~VNET(ng\+\_\+nodes)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ae4c610a76668dc7b77345e4fb809cc51}{V\+\_\+ng\+\_\+name\+\_\+hash}}~VNET(ng\+\_\+name\+\_\+hash)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a0fcf882d40d1a9addf0bce85cc0eed8e}{V\+\_\+ng\+\_\+name\+\_\+hmask}}~VNET(ng\+\_\+name\+\_\+hmask)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a615ed8121628e631b8eb8d93ccb999c5}{V\+\_\+ng\+\_\+named\+\_\+nodes}}~VNET(ng\+\_\+named\+\_\+nodes)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ac31008b26fb640721ee68fc1692094e3}{IDHASH\+\_\+\+RLOCK}}()~rw\+\_\+rlock(\&ng\+\_\+idhash\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_af5200c0955f48c3220918e108cb12e7f}{IDHASH\+\_\+\+RUNLOCK}}()~rw\+\_\+runlock(\&ng\+\_\+idhash\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ac813e72949383fcb1b15370e228553e4}{IDHASH\+\_\+\+WLOCK}}()~rw\+\_\+wlock(\&ng\+\_\+idhash\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a25d0bab8bdf34e6fb0845ff73db9d678}{IDHASH\+\_\+\+WUNLOCK}}()~rw\+\_\+wunlock(\&ng\+\_\+idhash\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a6fefe6eae928e4a14060f2e2f3b4e4b4}{NG\+\_\+\+IDHASH\+\_\+\+FN}}(ID)~((ID) \% (\mbox{\hyperlink{ng__base_8c_aa28823cd95db08aaf3e195ad052d261c}{V\+\_\+ng\+\_\+\+ID\+\_\+hmask}} + 1))
\item 
\#define \mbox{\hyperlink{ng__base_8c_ae48fdf26194dbff38203310b45f0f573}{NG\+\_\+\+IDHASH\+\_\+\+FIND}}(ID,  node)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ab036211d590592840dba407807582728}{NAMEHASH\+\_\+\+RLOCK}}()~rw\+\_\+rlock(\&ng\+\_\+namehash\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a6675e9790d9d4e39414826450f46b734}{NAMEHASH\+\_\+\+RUNLOCK}}()~rw\+\_\+runlock(\&ng\+\_\+namehash\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ab370b1a5e1ad1b827616bdf05db3c341}{NAMEHASH\+\_\+\+WLOCK}}()~rw\+\_\+wlock(\&ng\+\_\+namehash\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_aae4b3bcd8ef99b9c62f63a00e572aaa4}{NAMEHASH\+\_\+\+WUNLOCK}}()~rw\+\_\+wunlock(\&ng\+\_\+namehash\+\_\+lock)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a32ff5ce6379ebaea2f1749beb2b29ce6}{\+\_\+\+NG\+\_\+\+ALLOC\+\_\+\+HOOK}}(hook)~ hook = malloc(sizeof($\ast$hook), M\+\_\+\+NETGRAPH\+\_\+\+HOOK, M\+\_\+\+NOWAIT $\vert$ M\+\_\+\+ZERO)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ac64ef8ff527e8e835452c102df0efb6a}{\+\_\+\+NG\+\_\+\+ALLOC\+\_\+\+NODE}}(node)~ node = malloc(sizeof($\ast$node), M\+\_\+\+NETGRAPH\+\_\+\+NODE, M\+\_\+\+NOWAIT $\vert$ M\+\_\+\+ZERO)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ad928fd4c0240042807f3fd39a4d2c60a}{NG\+\_\+\+QUEUE\+\_\+\+LOCK\+\_\+\+INIT}}(n)~ mtx\+\_\+init(\&(n)-\/$>$q\+\_\+mtx, \char`\"{}ng\+\_\+node\char`\"{}, NULL, MTX\+\_\+\+DEF)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ad44d725964133ec727d4071d4faf23a1}{NG\+\_\+\+QUEUE\+\_\+\+LOCK}}(n)~ mtx\+\_\+lock(\&(n)-\/$>$q\+\_\+mtx)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a31e37f4f425bc8027b90ed416cbdb02f}{NG\+\_\+\+QUEUE\+\_\+\+UNLOCK}}(n)~ mtx\+\_\+unlock(\&(n)-\/$>$q\+\_\+mtx)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a0c93924bd56b270781b46bbd17d07ea9}{NG\+\_\+\+WORKLIST\+\_\+\+LOCK\+\_\+\+INIT}}()~ mtx\+\_\+init(\&ng\+\_\+worklist\+\_\+mtx, \char`\"{}ng\+\_\+worklist\char`\"{}, NULL, MTX\+\_\+\+DEF)
\item 
\#define \mbox{\hyperlink{ng__base_8c_aa0e6d07336fefe81da89e918280c0e94}{NG\+\_\+\+WORKLIST\+\_\+\+LOCK}}()~ mtx\+\_\+lock(\&ng\+\_\+worklist\+\_\+mtx)
\item 
\#define \mbox{\hyperlink{ng__base_8c_aae51773935317f2811f55b60e94792a1}{NG\+\_\+\+WORKLIST\+\_\+\+UNLOCK}}()~ mtx\+\_\+unlock(\&ng\+\_\+worklist\+\_\+mtx)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ae81040ecce1b13d8ff084d7da4fa4379}{NG\+\_\+\+WORKLIST\+\_\+\+SLEEP}}()~ mtx\+\_\+sleep(\&ng\+\_\+worklist, \&ng\+\_\+worklist\+\_\+mtx, PI\+\_\+\+NET, \char`\"{}sleep\char`\"{}, 0)
\item 
\#define \mbox{\hyperlink{ng__base_8c_abf30ac164b7896a4af963b53ee7a72ab}{NG\+\_\+\+WORKLIST\+\_\+\+WAKEUP}}()~ wakeup\+\_\+one(\&ng\+\_\+worklist)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a4d799b4632971b7b01dae0c1b36af091}{NG\+\_\+\+ALLOC\+\_\+\+HOOK}}(hook)~\mbox{\hyperlink{ng__base_8c_a32ff5ce6379ebaea2f1749beb2b29ce6}{\+\_\+\+NG\+\_\+\+ALLOC\+\_\+\+HOOK}}(hook)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ab6e0077ece6980827d6041c7d2bb4a66}{NG\+\_\+\+ALLOC\+\_\+\+NODE}}(node)~\mbox{\hyperlink{ng__base_8c_ac64ef8ff527e8e835452c102df0efb6a}{\+\_\+\+NG\+\_\+\+ALLOC\+\_\+\+NODE}}(node)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a8722277e9896682a744cdfd4e36e3e36}{NG\+\_\+\+FREE\+\_\+\+HOOK}}(hook)~do \{ free((hook), M\+\_\+\+NETGRAPH\+\_\+\+HOOK); \} while (0)
\item 
\#define \mbox{\hyperlink{ng__base_8c_afcb1c616fe17f74aa28708b2e5c2e9f3}{NG\+\_\+\+FREE\+\_\+\+NODE}}(node)~do \{ free((node), M\+\_\+\+NETGRAPH\+\_\+\+NODE); \} while (0)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}()
\item 
\#define \mbox{\hyperlink{ng__base_8c_a46822549ab6d6bad03929ef57524c63e}{V\+\_\+next\+ID}}~VNET(next\+ID)
\item 
\#define \mbox{\hyperlink{ng__base_8c_ae3c44cef9081767d218acce82a03a3d7}{CHECK\+\_\+\+DATA\+\_\+\+MBUF}}(m)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a661c316872e6e1e6a714d7fad67f366f}{ERROUT}}(x)~do \{ error = (x); goto done; \} while (0)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a51809d6455a65252532c011b693813aa}{DEFINE\+\_\+\+PARSE\+\_\+\+STRUCT\+\_\+\+TYPE}}(lo,  up,  args)
\item 
\#define \mbox{\hyperlink{ng__base_8c_aff19aa31c4f64aab524e2b1f6684196c}{WRITER\+\_\+\+ACTIVE}}~0x00000001
\item 
\#define \mbox{\hyperlink{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}{OP\+\_\+\+PENDING}}~0x00000002
\item 
\#define \mbox{\hyperlink{ng__base_8c_aacd5572c6bd93411765fc210a523b510}{READER\+\_\+\+INCREMENT}}~0x00000004
\item 
\#define \mbox{\hyperlink{ng__base_8c_a84bca447e1f23b03434e2fc0fdb6753b}{READER\+\_\+\+MASK}}~0xfffffffc /$\ast$ Not valid if \mbox{\hyperlink{ng__base_8c_aff19aa31c4f64aab524e2b1f6684196c}{WRITER\+\_\+\+ACTIVE}} is set $\ast$/
\item 
\#define \mbox{\hyperlink{ng__base_8c_a1c64b75236062784fd964d9b6c6d9043}{SAFETY\+\_\+\+BARRIER}}~0x00100000 /$\ast$ 128K items queued should be enough $\ast$/
\item 
\#define \mbox{\hyperlink{ng__base_8c_acbd24c49abe22086862b716e5d411c17}{NGQ\+\_\+\+RMASK}}~(\mbox{\hyperlink{ng__base_8c_aff19aa31c4f64aab524e2b1f6684196c}{WRITER\+\_\+\+ACTIVE}}$\vert$\mbox{\hyperlink{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}{OP\+\_\+\+PENDING}})
\item 
\#define \mbox{\hyperlink{ng__base_8c_a8499b55087845bc94a0555c21d17dbed}{NGQ\+\_\+\+WMASK}}~(\mbox{\hyperlink{ng__base_8c_acbd24c49abe22086862b716e5d411c17}{NGQ\+\_\+\+RMASK}}$\vert$\mbox{\hyperlink{ng__base_8c_a84bca447e1f23b03434e2fc0fdb6753b}{READER\+\_\+\+MASK}})
\item 
\#define \mbox{\hyperlink{ng__base_8c_ae30fb9d28bb8d286889040f11ced4ad5}{QUEUE\+\_\+\+ACTIVE}}(QP)~((QP)-\/$>$q\+\_\+flags \& \mbox{\hyperlink{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}{OP\+\_\+\+PENDING}})
\item 
\#define \mbox{\hyperlink{ng__base_8c_a7404eb363295e5b2e18353bb7d8640d5}{HEAD\+\_\+\+IS\+\_\+\+READER}}(QP)~\mbox{\hyperlink{netgraph_8h_a33d8a6d7738396717982da5e9b74670a}{NGI\+\_\+\+QUEUED\+\_\+\+READER}}(STAILQ\+\_\+\+FIRST(\&(QP)-\/$>$queue))
\item 
\#define \mbox{\hyperlink{ng__base_8c_a73d06b8f6e682eaad0b38fe92d7c0bb8}{HEAD\+\_\+\+IS\+\_\+\+WRITER}}(QP)~\mbox{\hyperlink{netgraph_8h_aa2e8d74dd8dba814c792ba8b39fa8436}{NGI\+\_\+\+QUEUED\+\_\+\+WRITER}}(STAILQ\+\_\+\+FIRST(\&(QP)-\/$>$queue)) /$\ast$ notused $\ast$/
\item 
\#define \mbox{\hyperlink{ng__base_8c_a64b81945ef0721fa7351d6949bc6bae6}{QUEUED\+\_\+\+READER\+\_\+\+CAN\+\_\+\+PROCEED}}(QP)~  (((QP)-\/$>$q\+\_\+flags \& (\mbox{\hyperlink{ng__base_8c_acbd24c49abe22086862b716e5d411c17}{NGQ\+\_\+\+RMASK}} \& $\sim$\mbox{\hyperlink{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}{OP\+\_\+\+PENDING}})) == 0)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a5f9b8b2f2e1c6ce76af64b43c927e07b}{QUEUED\+\_\+\+WRITER\+\_\+\+CAN\+\_\+\+PROCEED}}(QP)~  (((QP)-\/$>$q\+\_\+flags \& (\mbox{\hyperlink{ng__base_8c_a8499b55087845bc94a0555c21d17dbed}{NGQ\+\_\+\+WMASK}} \& $\sim$\mbox{\hyperlink{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}{OP\+\_\+\+PENDING}})) == 0)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a885feaf999909ea41b7c36a9f4111a2b}{NEXT\+\_\+\+QUEUED\+\_\+\+ITEM\+\_\+\+CAN\+\_\+\+PROCEED}}(QP)
\item 
\#define \mbox{\hyperlink{ng__base_8c_a0136f4beabe27edcd169dccb65e9ec10}{NGQRW\+\_\+R}}~0
\item 
\#define \mbox{\hyperlink{ng__base_8c_a3bdaac4235ca6763d7e50b47981c4f74}{NGQRW\+\_\+W}}~1
\item 
\#define \mbox{\hyperlink{ng__base_8c_ab1201e0899217addc29a99b7e6b28491}{NGQ2\+\_\+\+WORKQ}}~0x00000001
\item 
\#define \mbox{\hyperlink{ng__base_8c_afcb9f88e79319491cdef7f5a5e52926e}{ITEM\+\_\+\+DEBUG\+\_\+\+CHECKS}}
\item 
\#define \mbox{\hyperlink{ng__base_8c_a66184f2070ec90c5ebdb56d2b5476b31}{SET\+\_\+\+RETADDR}}(item,  here,  retaddr)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{ng__base_8c_a6b19b3abe9c3ecd68b3ba27b77f9db40}{MODULE\+\_\+\+VERSION}} (netgraph, \mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\+\_\+\+ABI\+\_\+\+VERSION}})
\item 
static \mbox{\hyperlink{ng__base_8c_a6a5e8c42ccf1bf8607f2942872fdac0f}{STAILQ\+\_\+\+HEAD}} (\mbox{\hyperlink{structng__node}{ng\+\_\+node}})
\item 
static int \mbox{\hyperlink{ng__base_8c_aa954d959e86b604a062f0db7a5d00c45}{ng\+\_\+generic\+\_\+linkinfo\+\_\+get\+Length}} (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__base_8c_a4b382daa5b7f243fa9aa09e871512c88}{DEFINE\+\_\+\+PARSE\+\_\+\+STRUCT\+\_\+\+TYPE}} (\mbox{\hyperlink{structtypelist}{typelist}}, TYPELIST,(\&\mbox{\hyperlink{ng__base_8c_abce55ef217d8bb499144f74883dd36db}{ng\+\_\+generic\+\_\+typeinfoarray\+\_\+type}}))
\item 
\mbox{\hyperlink{ng__base_8c_ad063e3e6001494f1d9044a33f7d0d998}{DEFINE\+\_\+\+PARSE\+\_\+\+STRUCT\+\_\+\+TYPE}} (\mbox{\hyperlink{structhooklist}{hooklist}}, HOOKLIST,(\&ng\+\_\+generic\+\_\+nodeinfo\+\_\+type, \&\mbox{\hyperlink{ng__base_8c_a4c2e062a792c0f0adb7f2a7fc9dc3f22}{ng\+\_\+generic\+\_\+linkinfo\+\_\+array\+\_\+type}}))
\item 
\mbox{\hyperlink{ng__base_8c_acba7323681c639d45e634d5e290a03ff}{DEFINE\+\_\+\+PARSE\+\_\+\+STRUCT\+\_\+\+TYPE}} (listnodes, LISTNODES,(\&\mbox{\hyperlink{ng__base_8c_a5750f1f9203e203c54600c122e31841e}{ng\+\_\+generic\+\_\+nodeinfoarray\+\_\+type}}))
\item 
int \mbox{\hyperlink{ng__base_8c_a4877bafb8cdb93eefaecd207af968dfa}{ng\+\_\+make\+\_\+node}} (const char $\ast$typename, \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} $\ast$nodepp)
\item 
int \mbox{\hyperlink{ng__base_8c_ab7746fbe2e081d197c5c9911a6b42076}{ng\+\_\+make\+\_\+node\+\_\+common}} (struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} $\ast$\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a3cce6e7fc609fa524af48647bd518f51}{type}}, \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} $\ast$nodepp)
\item 
void \mbox{\hyperlink{ng__base_8c_ab520be4e5d1381a533005595bd229616}{ng\+\_\+rmnode}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} dummy1, void $\ast$dummy2, int dummy3)
\item 
void \mbox{\hyperlink{ng__base_8c_a22cd6bd52207ca868967686c8b04793e}{ng\+\_\+unref\+\_\+node}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} \mbox{\hyperlink{ng__base_8c_ab22a4b7ba7932993a29f6f9426d5ddda}{ng\+\_\+\+ID2noderef}} (\mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}} ID)
\item 
\mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}} \mbox{\hyperlink{ng__base_8c_ac91f2c547b34db13ef98bb895defc729}{ng\+\_\+node2\+ID}} (\mbox{\hyperlink{netgraph_8h_a70cc0b2d21053f394c5351228ac45339}{node\+\_\+cp}} node)
\item 
int \mbox{\hyperlink{ng__base_8c_abae5851c9f312eebd398b1cd085fe067}{ng\+\_\+name\+\_\+node}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, const char $\ast$\mbox{\hyperlink{ng__ppp_8c_ab2adbf48c2df32ccf9cced3bc8c3dc26}{name}})
\item 
\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} \mbox{\hyperlink{ng__base_8c_af5cdde2e6651a68d0a638c86b06998d7}{ng\+\_\+name2noderef}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} here, const char $\ast$\mbox{\hyperlink{ng__ppp_8c_ab2adbf48c2df32ccf9cced3bc8c3dc26}{name}})
\item 
static \mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}} \mbox{\hyperlink{ng__base_8c_a8cd13d5bed55b7feb7d42b3eff8c3866}{ng\+\_\+decodeidname}} (const char $\ast$\mbox{\hyperlink{ng__ppp_8c_ab2adbf48c2df32ccf9cced3bc8c3dc26}{name}})
\item 
void \mbox{\hyperlink{ng__base_8c_a3d0c9145c32fcd7f37d545ece27c9663}{ng\+\_\+unname}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static void \mbox{\hyperlink{ng__base_8c_ae70cd76253855a0ac8b8e7acb5ca567d}{ng\+\_\+name\+\_\+rehash}} ()
\item 
static void \mbox{\hyperlink{ng__base_8c_a635a4cb4c9c3d15699bde4208d9bdd5b}{ng\+\_\+\+ID\+\_\+rehash}} ()
\item 
void \mbox{\hyperlink{ng__base_8c_a110fa425ee607f014ff26deb935dc639}{ng\+\_\+unref\+\_\+hook}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\item 
static int \mbox{\hyperlink{ng__base_8c_acdcfe7d2de980edf8b023940e2f5ca3d}{ng\+\_\+add\+\_\+hook}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, const char $\ast$\mbox{\hyperlink{ng__ppp_8c_ab2adbf48c2df32ccf9cced3bc8c3dc26}{name}}, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} $\ast$hookp)
\item 
\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} \mbox{\hyperlink{ng__base_8c_afe7f3ef6e4db622ef5c1578ba08d3d9c}{ng\+\_\+findhook}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, const char $\ast$\mbox{\hyperlink{ng__ppp_8c_ab2adbf48c2df32ccf9cced3bc8c3dc26}{name}})
\item 
void \mbox{\hyperlink{ng__base_8c_a5eaed3e663791906c07b11c75fc502f6}{ng\+\_\+destroy\+\_\+hook}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\item 
int \mbox{\hyperlink{ng__base_8c_ad1f7c03db501a87de69cfb57100ce144}{ng\+\_\+bypass}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook1, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook2)
\item 
int \mbox{\hyperlink{ng__base_8c_a67f567d871dc683c4cb7a75dcfedf458}{ng\+\_\+newtype}} (struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} $\ast$tp)
\item 
int \mbox{\hyperlink{ng__base_8c_ab38b5c23d992569bd43607fbc99ca862}{ng\+\_\+rmtype}} (struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} $\ast$tp)
\item 
struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} $\ast$ \mbox{\hyperlink{ng__base_8c_a1573d618c9d2901cc492a73c4205de7e}{ng\+\_\+findtype}} (const char $\ast$typename)
\item 
static int \mbox{\hyperlink{ng__base_8c_a76dfd3c077be6fd0a11484327e3a8455}{ng\+\_\+con\+\_\+part3}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\item 
static int \mbox{\hyperlink{ng__base_8c_a0756b63155b159535f352915ac5cc77b}{ng\+\_\+con\+\_\+part2}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\item 
static int \mbox{\hyperlink{ng__base_8c_a5def34cf5530ace8fcb8d5e805e653a9}{ng\+\_\+con\+\_\+nodes}} (\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, const char $\ast$\mbox{\hyperlink{ng__ppp_8c_ab2adbf48c2df32ccf9cced3bc8c3dc26}{name}}, \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node2, const char $\ast$name2)
\item 
static int \mbox{\hyperlink{ng__base_8c_ae41f58c0e2071e9978775a6fb5e00b41}{ng\+\_\+mkpeer}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, const char $\ast$\mbox{\hyperlink{ng__ppp_8c_ab2adbf48c2df32ccf9cced3bc8c3dc26}{name}}, const char $\ast$name2, char $\ast$\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a3cce6e7fc609fa524af48647bd518f51}{type}})
\item 
int \mbox{\hyperlink{ng__base_8c_a61b14c501529c1aed905f3ccf6b28ff9}{ng\+\_\+rmnode\+\_\+self}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static void \mbox{\hyperlink{ng__base_8c_a9dcdba5417f7def6500b0dc3bf5f4215}{ng\+\_\+rmhook\+\_\+part2}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, void $\ast$arg1, int arg2)
\item 
int \mbox{\hyperlink{ng__base_8c_a6cbe70c76c741d7035f338d9132a05d0}{ng\+\_\+rmhook\+\_\+self}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\item 
int \mbox{\hyperlink{ng__base_8c_a8905c404d8e7fc81228a092b670294c9}{ng\+\_\+path\+\_\+parse}} (char $\ast$addr, char $\ast$$\ast$nodep, char $\ast$$\ast$pathp, char $\ast$$\ast$hookp)
\item 
int \mbox{\hyperlink{ng__base_8c_a4e328a30d6a99603f9b47e5e02e76178}{ng\+\_\+path2noderef}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} here, const char $\ast$\mbox{\hyperlink{ng__btsocket__rfcomm_8h_aae3c1824fe47b66db79327a8ae360e3b}{address}}, \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} $\ast$destp, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} $\ast$lasthook)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{ng__base_8c_a1466ee9aeecfe805b7d10ef057feb3a5}{ng\+\_\+queue\+\_\+rw}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, int rw)
\item 
static \+\_\+\+\_\+inline \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} \mbox{\hyperlink{ng__base_8c_a3071a7c84b79acd625c9009ab858aa5a}{ng\+\_\+dequeue}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, int $\ast$rw)
\item 
static \+\_\+\+\_\+inline \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} \mbox{\hyperlink{ng__base_8c_a2fda4cdaa64d66c0b3371de1856df377}{ng\+\_\+acquire\+\_\+read}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
static \+\_\+\+\_\+inline \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} \mbox{\hyperlink{ng__base_8c_a4efc88578d7fe8394b07594b37d97cff}{ng\+\_\+acquire\+\_\+write}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{ng__base_8c_a1d782c3c61ee01c8dd34bc6acb92c3ee}{ng\+\_\+leave\+\_\+read}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static \+\_\+\+\_\+inline void \mbox{\hyperlink{ng__base_8c_aa24302b13a2a3ea612fcf70a882db5b5}{ng\+\_\+leave\+\_\+write}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static void \mbox{\hyperlink{ng__base_8c_abd80e0814383b1cb4d4e88855160eac4}{ng\+\_\+flush\+\_\+input\+\_\+queue}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
int \mbox{\hyperlink{ng__base_8c_a898d23f9c7a120c6d28ffb0d75b37db0}{ng\+\_\+snd\+\_\+item}} (\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, int \mbox{\hyperlink{netflow__v9_8h_aa2585d779da0ab21273a8d92de9a0ebe}{flags}})
\item 
static int \mbox{\hyperlink{ng__base_8c_ab25445fc9c3b61a1a811723785c6a01d}{ng\+\_\+apply\+\_\+item}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, int rw)
\item 
static int \mbox{\hyperlink{ng__base_8c_ad936e93d4e0d25b58468217a014d1320}{ng\+\_\+generic\+\_\+msg}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} here, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} lasthook)
\item 
\mbox{\hyperlink{ng__base_8c_a978f1fd0811c0aed12cf6c3c5d4a5b2b}{SYSCTL\+\_\+\+INT}} (\+\_\+net\+\_\+graph, OID\+\_\+\+AUTO, threads, CTLFLAG\+\_\+\+RDTUN, \&\mbox{\hyperlink{ng__base_8c_ae67ea59b9a965d5201c366cdf8766329}{numthreads}}, 0, \char`\"{}Number of queue processing threads\char`\"{})
\item 
\mbox{\hyperlink{ng__base_8c_a2ff942b42c3c54cd50d6141df0324532}{SYSCTL\+\_\+\+INT}} (\+\_\+net\+\_\+graph, OID\+\_\+\+AUTO, \mbox{\hyperlink{ng__base_8c_a57cdfec45012933e8eef4f402cf766ab}{maxalloc}}, CTLFLAG\+\_\+\+RDTUN, \&\mbox{\hyperlink{ng__base_8c_a57cdfec45012933e8eef4f402cf766ab}{maxalloc}}, 0, \char`\"{}Maximum number of non-\/\mbox{\hyperlink{ng__ubt__var_8h_a7f897df1949af68456ee830f2468e476}{data}} queue items to allocate\char`\"{})
\item 
\mbox{\hyperlink{ng__base_8c_ae94d7bb5e06da8f380e146d3cb327cf1}{SYSCTL\+\_\+\+INT}} (\+\_\+net\+\_\+graph, OID\+\_\+\+AUTO, \mbox{\hyperlink{ng__base_8c_a1fedfc3927bd12a57fbf54e04cdad720}{maxdata}}, CTLFLAG\+\_\+\+RDTUN, \&\mbox{\hyperlink{ng__base_8c_a1fedfc3927bd12a57fbf54e04cdad720}{maxdata}}, 0, \char`\"{}Maximum number of \mbox{\hyperlink{ng__ubt__var_8h_a7f897df1949af68456ee830f2468e476}{data}} queue items to allocate\char`\"{})
\item 
static \+\_\+\+\_\+inline \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} \mbox{\hyperlink{ng__base_8c_ae9ff5201c324ce509fac993ad532a606}{ng\+\_\+alloc\+\_\+item}} (int \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a3cce6e7fc609fa524af48647bd518f51}{type}}, int \mbox{\hyperlink{netflow__v9_8h_aa2585d779da0ab21273a8d92de9a0ebe}{flags}})
\item 
void \mbox{\hyperlink{ng__base_8c_a2f1d253226c10786917f47287b93b466}{ng\+\_\+free\+\_\+item}} (\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
static \+\_\+\+\_\+inline \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} \mbox{\hyperlink{ng__base_8c_a67dcf33286684352f689e3236f556ee9}{ng\+\_\+realloc\+\_\+item}} (\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} pitem, int \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a3cce6e7fc609fa524af48647bd518f51}{type}}, int \mbox{\hyperlink{netflow__v9_8h_aa2585d779da0ab21273a8d92de9a0ebe}{flags}})
\item 
int \mbox{\hyperlink{ng__base_8c_a4174decb4e4a238c748341a45b09389b}{ng\+\_\+mod\+\_\+event}} (module\+\_\+t mod, int \mbox{\hyperlink{ng__ubt__var_8h_aeef6900f411bc223febdd92c9435693b}{event}}, void $\ast$\mbox{\hyperlink{ng__ubt__var_8h_a7f897df1949af68456ee830f2468e476}{data}})
\item 
static void \mbox{\hyperlink{ng__base_8c_a234191e5b3758094892aef24ae041b5e}{vnet\+\_\+netgraph\+\_\+init}} (const void $\ast$unused \+\_\+\+\_\+unused)
\item 
\mbox{\hyperlink{ng__base_8c_ab6c1e8e57412f6f82b77b71b4a47078d}{VNET\+\_\+\+SYSINIT}} (\mbox{\hyperlink{ng__base_8c_a234191e5b3758094892aef24ae041b5e}{vnet\+\_\+netgraph\+\_\+init}}, SI\+\_\+\+SUB\+\_\+\+NETGRAPH, SI\+\_\+\+ORDER\+\_\+\+FIRST, \mbox{\hyperlink{ng__base_8c_a234191e5b3758094892aef24ae041b5e}{vnet\+\_\+netgraph\+\_\+init}}, NULL)
\item 
static int \mbox{\hyperlink{ng__base_8c_a396817d48f5ba91f0db49c527b4dc21a}{ngb\+\_\+mod\+\_\+event}} (module\+\_\+t mod, int \mbox{\hyperlink{ng__ubt__var_8h_aeef6900f411bc223febdd92c9435693b}{event}}, void $\ast$\mbox{\hyperlink{ng__ubt__var_8h_a7f897df1949af68456ee830f2468e476}{data}})
\item 
\mbox{\hyperlink{ng__base_8c_ab06e4c1fbbe868079286395ac5adaefe}{DECLARE\+\_\+\+MODULE}} (netgraph, \mbox{\hyperlink{ng__base_8c_a6ff0a08197cd0203dce31fbc09a0acb6}{netgraph\+\_\+mod}}, SI\+\_\+\+SUB\+\_\+\+NETGRAPH, SI\+\_\+\+ORDER\+\_\+\+FIRST)
\item 
\mbox{\hyperlink{ng__base_8c_af2bb2b48b243e8b21d149f35a77ddc6b}{SYSCTL\+\_\+\+NODE}} (\+\_\+net, OID\+\_\+\+AUTO, graph, CTLFLAG\+\_\+\+RW$\vert$CTLFLAG\+\_\+\+MPSAFE, 0, \char`\"{}netgraph Family\char`\"{})
\item 
\mbox{\hyperlink{ng__base_8c_a7cbddac62b26ec0bde6455ec2b1f79df}{SYSCTL\+\_\+\+INT}} (\+\_\+net\+\_\+graph, OID\+\_\+\+AUTO, abi\+\_\+version, CTLFLAG\+\_\+\+RD, SYSCTL\+\_\+\+NULL\+\_\+\+INT\+\_\+\+PTR, \mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\+\_\+\+ABI\+\_\+\+VERSION}},\char`\"{}\char`\"{})
\item 
\mbox{\hyperlink{ng__base_8c_ad98d291c8ca666cee56fe654a5922578}{SYSCTL\+\_\+\+INT}} (\+\_\+net\+\_\+graph, OID\+\_\+\+AUTO, msg\+\_\+version, CTLFLAG\+\_\+\+RD, SYSCTL\+\_\+\+NULL\+\_\+\+INT\+\_\+\+PTR, \mbox{\hyperlink{ng__message_8h_a34630a5f9e316eae0b4c688a21424e97}{NG\+\_\+\+VERSION}}, \char`\"{}\char`\"{})
\item 
static void \mbox{\hyperlink{ng__base_8c_a7d51ab82df99dad752e4dd859ced10ca}{ngthread}} (void $\ast$arg)
\item 
static void \mbox{\hyperlink{ng__base_8c_a9d715d2e185b01588e7a07fb218c1d22}{ng\+\_\+worklist\+\_\+add}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} \mbox{\hyperlink{ng__base_8c_a8af7a2701f1bafe727431b849e1137a5}{ng\+\_\+package\+\_\+data}} (struct mbuf $\ast$m, int \mbox{\hyperlink{netflow__v9_8h_aa2585d779da0ab21273a8d92de9a0ebe}{flags}})
\item 
\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} \mbox{\hyperlink{ng__base_8c_abfc6b6f3a8376d39b3ac50861be8c933}{ng\+\_\+package\+\_\+msg}} (struct \mbox{\hyperlink{structng__mesg}{ng\+\_\+mesg}} $\ast$msg, int \mbox{\hyperlink{netflow__v9_8h_aa2585d779da0ab21273a8d92de9a0ebe}{flags}})
\item 
int \mbox{\hyperlink{ng__base_8c_ad326f03adb74b032a640fba11e11f32a}{ng\+\_\+address\+\_\+hook}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} here, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}} retaddr)
\item 
int \mbox{\hyperlink{ng__base_8c_a9df3bb7b2107cbc34cfa2eab38309340}{ng\+\_\+address\+\_\+path}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} here, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, const char $\ast$\mbox{\hyperlink{ng__btsocket__rfcomm_8h_aae3c1824fe47b66db79327a8ae360e3b}{address}}, \mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}} retaddr)
\item 
int \mbox{\hyperlink{ng__base_8c_a8e57b12af3826877e69e5b33fde08669}{ng\+\_\+address\+\_\+\+ID}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} here, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, \mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}} ID, \mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}} retaddr)
\item 
\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} \mbox{\hyperlink{ng__base_8c_a3bdb8387dae2e43142711433894d7740}{ng\+\_\+package\+\_\+msg\+\_\+self}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} here, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, struct \mbox{\hyperlink{structng__mesg}{ng\+\_\+mesg}} $\ast$msg)
\item 
int \mbox{\hyperlink{ng__base_8c_abc5e657ef87b4ec66eceab40a5344831}{ng\+\_\+send\+\_\+fn}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_a73733a324ccf189ca16e284b19c0128c}{ng\+\_\+item\+\_\+fn}} $\ast$\mbox{\hyperlink{ng__ppp_8c_a355d89edd2d1ef1705ee8cdb3f3eca50}{fn}}, void $\ast$arg1, int arg2)
\item 
int \mbox{\hyperlink{ng__base_8c_a87dfc8b3dc4f97de3403646a1555e2d7}{ng\+\_\+send\+\_\+fn1}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_a73733a324ccf189ca16e284b19c0128c}{ng\+\_\+item\+\_\+fn}} $\ast$\mbox{\hyperlink{ng__ppp_8c_a355d89edd2d1ef1705ee8cdb3f3eca50}{fn}}, void $\ast$arg1, int arg2, int \mbox{\hyperlink{netflow__v9_8h_aa2585d779da0ab21273a8d92de9a0ebe}{flags}})
\item 
int \mbox{\hyperlink{ng__base_8c_ae6eed3e0eff8b28cfbf7eef24626df73}{ng\+\_\+send\+\_\+fn2}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} pitem, \mbox{\hyperlink{netgraph_8h_a12fd4e08cf92fdf3a4a638f6d1f03b16}{ng\+\_\+item\+\_\+fn2}} $\ast$\mbox{\hyperlink{ng__ppp_8c_a355d89edd2d1ef1705ee8cdb3f3eca50}{fn}}, void $\ast$arg1, int arg2, int \mbox{\hyperlink{netflow__v9_8h_aa2585d779da0ab21273a8d92de9a0ebe}{flags}})
\item 
static void \mbox{\hyperlink{ng__base_8c_a5f86f6fdebb77d28b6d39f1849633ced}{ng\+\_\+callout\+\_\+trampoline}} (void $\ast$arg)
\item 
int \mbox{\hyperlink{ng__base_8c_aed70061429167aaa4b93a6129c959f0f}{ng\+\_\+callout}} (struct callout $\ast$c, \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, int ticks, \mbox{\hyperlink{netgraph_8h_a73733a324ccf189ca16e284b19c0128c}{ng\+\_\+item\+\_\+fn}} $\ast$\mbox{\hyperlink{ng__ppp_8c_a355d89edd2d1ef1705ee8cdb3f3eca50}{fn}}, void $\ast$arg1, int arg2)
\item 
static void \mbox{\hyperlink{ng__base_8c_aafd8677101f31ff6781f7eb61a233a42}{ng\+\_\+uncallout\+\_\+internal}} (struct callout $\ast$c, \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
int \mbox{\hyperlink{ng__base_8c_aabe13cf527f80501a761c71c9b4888db}{ng\+\_\+uncallout}} (struct callout $\ast$c, \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
int \mbox{\hyperlink{ng__base_8c_a268be95aa6c288b75143dfa47874b036}{ng\+\_\+uncallout\+\_\+drain}} (struct callout $\ast$c, \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
void \mbox{\hyperlink{ng__base_8c_aa1b48df317f644266b784ef22695373f}{ng\+\_\+replace\+\_\+retaddr}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} here, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, \mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}} retaddr)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static struct rwlock \mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}}
\item 
struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} \mbox{\hyperlink{ng__base_8c_ad77874e8dc1023bf59c8ff1a0ba21cf6}{ng\+\_\+deadtype}}
\item 
struct \mbox{\hyperlink{structng__node}{ng\+\_\+node}} \mbox{\hyperlink{ng__base_8c_a696a31653667f1aa94797901263d77b7}{ng\+\_\+deadnode}}
\item 
struct \mbox{\hyperlink{structng__hook}{ng\+\_\+hook}} \mbox{\hyperlink{ng__base_8c_a7b3579274c11317f5f0c7ded0c8f0154}{ng\+\_\+deadhook}}
\item 
static const struct \mbox{\hyperlink{structng__parse__array__info}{ng\+\_\+parse\+\_\+array\+\_\+info}} \mbox{\hyperlink{ng__base_8c_ad06531901423e43c43b4d04b21d2f422}{ng\+\_\+nodeinfoarray\+\_\+type\+\_\+info}}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__base_8c_a5750f1f9203e203c54600c122e31841e}{ng\+\_\+generic\+\_\+nodeinfoarray\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__parse__array__info}{ng\+\_\+parse\+\_\+array\+\_\+info}} \mbox{\hyperlink{ng__base_8c_a6935d75d63670bf19331e985ea8623c0}{ng\+\_\+typeinfoarray\+\_\+type\+\_\+info}}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__base_8c_abce55ef217d8bb499144f74883dd36db}{ng\+\_\+generic\+\_\+typeinfoarray\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__parse__array__info}{ng\+\_\+parse\+\_\+array\+\_\+info}} \mbox{\hyperlink{ng__base_8c_a52e9b6fa3fd3aad4fe7083c019a0c642}{ng\+\_\+generic\+\_\+linkinfo\+\_\+array\+\_\+type\+\_\+info}}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__base_8c_a4c2e062a792c0f0adb7f2a7fc9dc3f22}{ng\+\_\+generic\+\_\+linkinfo\+\_\+array\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__cmdlist}{ng\+\_\+cmdlist}} \mbox{\hyperlink{ng__base_8c_a802f80fc0639e0767d35c63b7e35fd5b}{ng\+\_\+generic\+\_\+cmds}} \mbox{[}$\,$\mbox{]}
\item 
uma\+\_\+zone\+\_\+t \mbox{\hyperlink{ng__base_8c_aca7a04177bc11609f960768e241127b3}{ng\+\_\+qzone}}
\item 
uma\+\_\+zone\+\_\+t \mbox{\hyperlink{ng__base_8c_a48e7a06dfd60da3906f8716409319e03}{ng\+\_\+qdzone}}
\item 
static int \mbox{\hyperlink{ng__base_8c_ae67ea59b9a965d5201c366cdf8766329}{numthreads}} = 0
\item 
static int \mbox{\hyperlink{ng__base_8c_a57cdfec45012933e8eef4f402cf766ab}{maxalloc}} = 4096
\item 
static int \mbox{\hyperlink{ng__base_8c_a1fedfc3927bd12a57fbf54e04cdad720}{maxdata}} = 4096
\item 
static moduledata\+\_\+t \mbox{\hyperlink{ng__base_8c_a6ff0a08197cd0203dce31fbc09a0acb6}{netgraph\+\_\+mod}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{ng__base_8c_a32ff5ce6379ebaea2f1749beb2b29ce6}\label{ng__base_8c_a32ff5ce6379ebaea2f1749beb2b29ce6}} 
\index{ng\_base.c@{ng\_base.c}!\_NG\_ALLOC\_HOOK@{\_NG\_ALLOC\_HOOK}}
\index{\_NG\_ALLOC\_HOOK@{\_NG\_ALLOC\_HOOK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{\_NG\_ALLOC\_HOOK}{\_NG\_ALLOC\_HOOK}}
{\footnotesize\ttfamily \#define \+\_\+\+NG\+\_\+\+ALLOC\+\_\+\+HOOK(\begin{DoxyParamCaption}\item[{}]{hook }\end{DoxyParamCaption})~ hook = malloc(sizeof($\ast$hook), M\+\_\+\+NETGRAPH\+\_\+\+HOOK, M\+\_\+\+NOWAIT $\vert$ M\+\_\+\+ZERO)}

\mbox{\Hypertarget{ng__base_8c_ac64ef8ff527e8e835452c102df0efb6a}\label{ng__base_8c_ac64ef8ff527e8e835452c102df0efb6a}} 
\index{ng\_base.c@{ng\_base.c}!\_NG\_ALLOC\_NODE@{\_NG\_ALLOC\_NODE}}
\index{\_NG\_ALLOC\_NODE@{\_NG\_ALLOC\_NODE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{\_NG\_ALLOC\_NODE}{\_NG\_ALLOC\_NODE}}
{\footnotesize\ttfamily \#define \+\_\+\+NG\+\_\+\+ALLOC\+\_\+\+NODE(\begin{DoxyParamCaption}\item[{}]{node }\end{DoxyParamCaption})~ node = malloc(sizeof($\ast$node), M\+\_\+\+NETGRAPH\+\_\+\+NODE, M\+\_\+\+NOWAIT $\vert$ M\+\_\+\+ZERO)}

\mbox{\Hypertarget{ng__base_8c_ae3c44cef9081767d218acce82a03a3d7}\label{ng__base_8c_ae3c44cef9081767d218acce82a03a3d7}} 
\index{ng\_base.c@{ng\_base.c}!CHECK\_DATA\_MBUF@{CHECK\_DATA\_MBUF}}
\index{CHECK\_DATA\_MBUF@{CHECK\_DATA\_MBUF}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{CHECK\_DATA\_MBUF}{CHECK\_DATA\_MBUF}}
{\footnotesize\ttfamily \#define CHECK\+\_\+\+DATA\+\_\+\+MBUF(\begin{DoxyParamCaption}\item[{}]{m }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_a51809d6455a65252532c011b693813aa}\label{ng__base_8c_a51809d6455a65252532c011b693813aa}} 
\index{ng\_base.c@{ng\_base.c}!DEFINE\_PARSE\_STRUCT\_TYPE@{DEFINE\_PARSE\_STRUCT\_TYPE}}
\index{DEFINE\_PARSE\_STRUCT\_TYPE@{DEFINE\_PARSE\_STRUCT\_TYPE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{DEFINE\_PARSE\_STRUCT\_TYPE}{DEFINE\_PARSE\_STRUCT\_TYPE}}
{\footnotesize\ttfamily \#define DEFINE\+\_\+\+PARSE\+\_\+\+STRUCT\+\_\+\+TYPE(\begin{DoxyParamCaption}\item[{}]{lo,  }\item[{}]{up,  }\item[{}]{args }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{\textcolor{keyword}{static} \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__parse__struct__field}{ng\_parse\_struct\_field}}                          \(\backslash\)}
\DoxyCodeLine{        ng\_ \#\# lo \#\# \_type\_fields[] = NG\_GENERIC\_ \#\# up \#\# \_INFO args;  \(\backslash\)}
\DoxyCodeLine{static \textcolor{keyword}{const} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__parse__type}{ng\_parse\_type}} ng\_generic\_ \#\# lo \#\# \_type = \{   \(\backslash\)}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__parse_8c_aa8b7049fbd698972a3d2ce77dfd7d079}{ng\_parse\_struct\_type}},                                              \(\backslash\)}
\DoxyCodeLine{        \&ng\_ \#\# lo \#\# \_type\_fields                                      \(\backslash\)}
\DoxyCodeLine{\}}

\end{DoxyCode}
\mbox{\Hypertarget{ng__base_8c_a661c316872e6e1e6a714d7fad67f366f}\label{ng__base_8c_a661c316872e6e1e6a714d7fad67f366f}} 
\index{ng\_base.c@{ng\_base.c}!ERROUT@{ERROUT}}
\index{ERROUT@{ERROUT}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ERROUT}{ERROUT}}
{\footnotesize\ttfamily \#define ERROUT(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~do \{ error = (x); goto done; \} while (0)}

\mbox{\Hypertarget{ng__base_8c_a7404eb363295e5b2e18353bb7d8640d5}\label{ng__base_8c_a7404eb363295e5b2e18353bb7d8640d5}} 
\index{ng\_base.c@{ng\_base.c}!HEAD\_IS\_READER@{HEAD\_IS\_READER}}
\index{HEAD\_IS\_READER@{HEAD\_IS\_READER}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{HEAD\_IS\_READER}{HEAD\_IS\_READER}}
{\footnotesize\ttfamily \#define HEAD\+\_\+\+IS\+\_\+\+READER(\begin{DoxyParamCaption}\item[{}]{QP }\end{DoxyParamCaption})~\mbox{\hyperlink{netgraph_8h_a33d8a6d7738396717982da5e9b74670a}{NGI\+\_\+\+QUEUED\+\_\+\+READER}}(STAILQ\+\_\+\+FIRST(\&(QP)-\/$>$queue))}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01921}{1921}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a73d06b8f6e682eaad0b38fe92d7c0bb8}\label{ng__base_8c_a73d06b8f6e682eaad0b38fe92d7c0bb8}} 
\index{ng\_base.c@{ng\_base.c}!HEAD\_IS\_WRITER@{HEAD\_IS\_WRITER}}
\index{HEAD\_IS\_WRITER@{HEAD\_IS\_WRITER}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{HEAD\_IS\_WRITER}{HEAD\_IS\_WRITER}}
{\footnotesize\ttfamily \#define HEAD\+\_\+\+IS\+\_\+\+WRITER(\begin{DoxyParamCaption}\item[{}]{QP }\end{DoxyParamCaption})~\mbox{\hyperlink{netgraph_8h_aa2e8d74dd8dba814c792ba8b39fa8436}{NGI\+\_\+\+QUEUED\+\_\+\+WRITER}}(STAILQ\+\_\+\+FIRST(\&(QP)-\/$>$queue)) /$\ast$ notused $\ast$/}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01922}{1922}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_ac31008b26fb640721ee68fc1692094e3}\label{ng__base_8c_ac31008b26fb640721ee68fc1692094e3}} 
\index{ng\_base.c@{ng\_base.c}!IDHASH\_RLOCK@{IDHASH\_RLOCK}}
\index{IDHASH\_RLOCK@{IDHASH\_RLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{IDHASH\_RLOCK}{IDHASH\_RLOCK}}
{\footnotesize\ttfamily \#define IDHASH\+\_\+\+RLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+rlock(\&ng\+\_\+idhash\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_af5200c0955f48c3220918e108cb12e7f}\label{ng__base_8c_af5200c0955f48c3220918e108cb12e7f}} 
\index{ng\_base.c@{ng\_base.c}!IDHASH\_RUNLOCK@{IDHASH\_RUNLOCK}}
\index{IDHASH\_RUNLOCK@{IDHASH\_RUNLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{IDHASH\_RUNLOCK}{IDHASH\_RUNLOCK}}
{\footnotesize\ttfamily \#define IDHASH\+\_\+\+RUNLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+runlock(\&ng\+\_\+idhash\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_ac813e72949383fcb1b15370e228553e4}\label{ng__base_8c_ac813e72949383fcb1b15370e228553e4}} 
\index{ng\_base.c@{ng\_base.c}!IDHASH\_WLOCK@{IDHASH\_WLOCK}}
\index{IDHASH\_WLOCK@{IDHASH\_WLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{IDHASH\_WLOCK}{IDHASH\_WLOCK}}
{\footnotesize\ttfamily \#define IDHASH\+\_\+\+WLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+wlock(\&ng\+\_\+idhash\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_a25d0bab8bdf34e6fb0845ff73db9d678}\label{ng__base_8c_a25d0bab8bdf34e6fb0845ff73db9d678}} 
\index{ng\_base.c@{ng\_base.c}!IDHASH\_WUNLOCK@{IDHASH\_WUNLOCK}}
\index{IDHASH\_WUNLOCK@{IDHASH\_WUNLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{IDHASH\_WUNLOCK}{IDHASH\_WUNLOCK}}
{\footnotesize\ttfamily \#define IDHASH\+\_\+\+WUNLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+wunlock(\&ng\+\_\+idhash\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_afcb9f88e79319491cdef7f5a5e52926e}\label{ng__base_8c_afcb9f88e79319491cdef7f5a5e52926e}} 
\index{ng\_base.c@{ng\_base.c}!ITEM\_DEBUG\_CHECKS@{ITEM\_DEBUG\_CHECKS}}
\index{ITEM\_DEBUG\_CHECKS@{ITEM\_DEBUG\_CHECKS}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ITEM\_DEBUG\_CHECKS}{ITEM\_DEBUG\_CHECKS}}
{\footnotesize\ttfamily \#define ITEM\+\_\+\+DEBUG\+\_\+\+CHECKS}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03503}{3503}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_ab036211d590592840dba407807582728}\label{ng__base_8c_ab036211d590592840dba407807582728}} 
\index{ng\_base.c@{ng\_base.c}!NAMEHASH\_RLOCK@{NAMEHASH\_RLOCK}}
\index{NAMEHASH\_RLOCK@{NAMEHASH\_RLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NAMEHASH\_RLOCK}{NAMEHASH\_RLOCK}}
{\footnotesize\ttfamily \#define NAMEHASH\+\_\+\+RLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+rlock(\&ng\+\_\+namehash\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_a6675e9790d9d4e39414826450f46b734}\label{ng__base_8c_a6675e9790d9d4e39414826450f46b734}} 
\index{ng\_base.c@{ng\_base.c}!NAMEHASH\_RUNLOCK@{NAMEHASH\_RUNLOCK}}
\index{NAMEHASH\_RUNLOCK@{NAMEHASH\_RUNLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NAMEHASH\_RUNLOCK}{NAMEHASH\_RUNLOCK}}
{\footnotesize\ttfamily \#define NAMEHASH\+\_\+\+RUNLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+runlock(\&ng\+\_\+namehash\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_ab370b1a5e1ad1b827616bdf05db3c341}\label{ng__base_8c_ab370b1a5e1ad1b827616bdf05db3c341}} 
\index{ng\_base.c@{ng\_base.c}!NAMEHASH\_WLOCK@{NAMEHASH\_WLOCK}}
\index{NAMEHASH\_WLOCK@{NAMEHASH\_WLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NAMEHASH\_WLOCK}{NAMEHASH\_WLOCK}}
{\footnotesize\ttfamily \#define NAMEHASH\+\_\+\+WLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+wlock(\&ng\+\_\+namehash\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_aae4b3bcd8ef99b9c62f63a00e572aaa4}\label{ng__base_8c_aae4b3bcd8ef99b9c62f63a00e572aaa4}} 
\index{ng\_base.c@{ng\_base.c}!NAMEHASH\_WUNLOCK@{NAMEHASH\_WUNLOCK}}
\index{NAMEHASH\_WUNLOCK@{NAMEHASH\_WUNLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NAMEHASH\_WUNLOCK}{NAMEHASH\_WUNLOCK}}
{\footnotesize\ttfamily \#define NAMEHASH\+\_\+\+WUNLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+wunlock(\&ng\+\_\+namehash\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_a885feaf999909ea41b7c36a9f4111a2b}\label{ng__base_8c_a885feaf999909ea41b7c36a9f4111a2b}} 
\index{ng\_base.c@{ng\_base.c}!NEXT\_QUEUED\_ITEM\_CAN\_PROCEED@{NEXT\_QUEUED\_ITEM\_CAN\_PROCEED}}
\index{NEXT\_QUEUED\_ITEM\_CAN\_PROCEED@{NEXT\_QUEUED\_ITEM\_CAN\_PROCEED}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NEXT\_QUEUED\_ITEM\_CAN\_PROCEED}{NEXT\_QUEUED\_ITEM\_CAN\_PROCEED}}
{\footnotesize\ttfamily \#define NEXT\+\_\+\+QUEUED\+\_\+\+ITEM\+\_\+\+CAN\+\_\+\+PROCEED(\begin{DoxyParamCaption}\item[{}]{QP }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        ((\mbox{\hyperlink{ng__base_8c_a7404eb363295e5b2e18353bb7d8640d5}{HEAD\_IS\_READER}}(QP)) ? \mbox{\hyperlink{ng__base_8c_a64b81945ef0721fa7351d6949bc6bae6}{QUEUED\_READER\_CAN\_PROCEED}}(QP) :          \(\backslash\)}
\DoxyCodeLine{                                QUEUED\_WRITER\_CAN\_PROCEED(QP))}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l01931}{1931}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a4d799b4632971b7b01dae0c1b36af091}\label{ng__base_8c_a4d799b4632971b7b01dae0c1b36af091}} 
\index{ng\_base.c@{ng\_base.c}!NG\_ALLOC\_HOOK@{NG\_ALLOC\_HOOK}}
\index{NG\_ALLOC\_HOOK@{NG\_ALLOC\_HOOK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_ALLOC\_HOOK}{NG\_ALLOC\_HOOK}}
{\footnotesize\ttfamily \#define NG\+\_\+\+ALLOC\+\_\+\+HOOK(\begin{DoxyParamCaption}\item[{}]{hook }\end{DoxyParamCaption})~\mbox{\hyperlink{ng__base_8c_a32ff5ce6379ebaea2f1749beb2b29ce6}{\+\_\+\+NG\+\_\+\+ALLOC\+\_\+\+HOOK}}(hook)}

\mbox{\Hypertarget{ng__base_8c_ab6e0077ece6980827d6041c7d2bb4a66}\label{ng__base_8c_ab6e0077ece6980827d6041c7d2bb4a66}} 
\index{ng\_base.c@{ng\_base.c}!NG\_ALLOC\_NODE@{NG\_ALLOC\_NODE}}
\index{NG\_ALLOC\_NODE@{NG\_ALLOC\_NODE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_ALLOC\_NODE}{NG\_ALLOC\_NODE}}
{\footnotesize\ttfamily \#define NG\+\_\+\+ALLOC\+\_\+\+NODE(\begin{DoxyParamCaption}\item[{}]{node }\end{DoxyParamCaption})~\mbox{\hyperlink{ng__base_8c_ac64ef8ff527e8e835452c102df0efb6a}{\+\_\+\+NG\+\_\+\+ALLOC\+\_\+\+NODE}}(node)}

\mbox{\Hypertarget{ng__base_8c_a8722277e9896682a744cdfd4e36e3e36}\label{ng__base_8c_a8722277e9896682a744cdfd4e36e3e36}} 
\index{ng\_base.c@{ng\_base.c}!NG\_FREE\_HOOK@{NG\_FREE\_HOOK}}
\index{NG\_FREE\_HOOK@{NG\_FREE\_HOOK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_FREE\_HOOK}{NG\_FREE\_HOOK}}
{\footnotesize\ttfamily \#define NG\+\_\+\+FREE\+\_\+\+HOOK(\begin{DoxyParamCaption}\item[{}]{hook }\end{DoxyParamCaption})~do \{ free((hook), M\+\_\+\+NETGRAPH\+\_\+\+HOOK); \} while (0)}

\mbox{\Hypertarget{ng__base_8c_afcb1c616fe17f74aa28708b2e5c2e9f3}\label{ng__base_8c_afcb1c616fe17f74aa28708b2e5c2e9f3}} 
\index{ng\_base.c@{ng\_base.c}!NG\_FREE\_NODE@{NG\_FREE\_NODE}}
\index{NG\_FREE\_NODE@{NG\_FREE\_NODE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_FREE\_NODE}{NG\_FREE\_NODE}}
{\footnotesize\ttfamily \#define NG\+\_\+\+FREE\+\_\+\+NODE(\begin{DoxyParamCaption}\item[{}]{node }\end{DoxyParamCaption})~do \{ free((node), M\+\_\+\+NETGRAPH\+\_\+\+NODE); \} while (0)}

\mbox{\Hypertarget{ng__base_8c_ae48fdf26194dbff38203310b45f0f573}\label{ng__base_8c_ae48fdf26194dbff38203310b45f0f573}} 
\index{ng\_base.c@{ng\_base.c}!NG\_IDHASH\_FIND@{NG\_IDHASH\_FIND}}
\index{NG\_IDHASH\_FIND@{NG\_IDHASH\_FIND}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_IDHASH\_FIND}{NG\_IDHASH\_FIND}}
{\footnotesize\ttfamily \#define NG\+\_\+\+IDHASH\+\_\+\+FIND(\begin{DoxyParamCaption}\item[{}]{ID,  }\item[{}]{node }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        \textcolor{keywordflow}{do} \{                                                            \(\backslash\)}
\DoxyCodeLine{                rw\_assert(\&ng\_idhash\_lock, RA\_LOCKED);                  \(\backslash\)}
\DoxyCodeLine{                LIST\_FOREACH(node, \&\mbox{\hyperlink{ng__base_8c_ad0a4773cb27c547300c11cc1cdc74780}{V\_ng\_ID\_hash}}[\mbox{\hyperlink{ng__base_8c_a6fefe6eae928e4a14060f2e2f3b4e4b4}{NG\_IDHASH\_FN}}(ID)],     \(\backslash\)}
\DoxyCodeLine{                                                nd\_idnodes) \{           \(\backslash\)}
\DoxyCodeLine{                        if (\mbox{\hyperlink{netgraph_8h_a6bdd56e0f33084eeaadbe696febcbbd8}{NG\_NODE\_IS\_VALID}}(node)                      \(\backslash\)}
\DoxyCodeLine{                        \&\& (\mbox{\hyperlink{netgraph_8h_a4e976220d11ba62c9757bae3cfe1e9ed}{NG\_NODE\_ID}}(node) == ID)) \{                        \(\backslash\)}
\DoxyCodeLine{                                break;                                  \(\backslash\)}
\DoxyCodeLine{                        \}                                               \(\backslash\)}
\DoxyCodeLine{                \}                                                       \(\backslash\)}
\DoxyCodeLine{        \} \textcolor{keywordflow}{while} (0)}

\end{DoxyCode}
\mbox{\Hypertarget{ng__base_8c_a6fefe6eae928e4a14060f2e2f3b4e4b4}\label{ng__base_8c_a6fefe6eae928e4a14060f2e2f3b4e4b4}} 
\index{ng\_base.c@{ng\_base.c}!NG\_IDHASH\_FN@{NG\_IDHASH\_FN}}
\index{NG\_IDHASH\_FN@{NG\_IDHASH\_FN}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_IDHASH\_FN}{NG\_IDHASH\_FN}}
{\footnotesize\ttfamily \#define NG\+\_\+\+IDHASH\+\_\+\+FN(\begin{DoxyParamCaption}\item[{}]{ID }\end{DoxyParamCaption})~((ID) \% (\mbox{\hyperlink{ng__base_8c_aa28823cd95db08aaf3e195ad052d261c}{V\+\_\+ng\+\_\+\+ID\+\_\+hmask}} + 1))}

\mbox{\Hypertarget{ng__base_8c_ad44d725964133ec727d4071d4faf23a1}\label{ng__base_8c_ad44d725964133ec727d4071d4faf23a1}} 
\index{ng\_base.c@{ng\_base.c}!NG\_QUEUE\_LOCK@{NG\_QUEUE\_LOCK}}
\index{NG\_QUEUE\_LOCK@{NG\_QUEUE\_LOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_QUEUE\_LOCK}{NG\_QUEUE\_LOCK}}
{\footnotesize\ttfamily \#define NG\+\_\+\+QUEUE\+\_\+\+LOCK(\begin{DoxyParamCaption}\item[{}]{n }\end{DoxyParamCaption})~ mtx\+\_\+lock(\&(n)-\/$>$q\+\_\+mtx)}

\mbox{\Hypertarget{ng__base_8c_ad928fd4c0240042807f3fd39a4d2c60a}\label{ng__base_8c_ad928fd4c0240042807f3fd39a4d2c60a}} 
\index{ng\_base.c@{ng\_base.c}!NG\_QUEUE\_LOCK\_INIT@{NG\_QUEUE\_LOCK\_INIT}}
\index{NG\_QUEUE\_LOCK\_INIT@{NG\_QUEUE\_LOCK\_INIT}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_QUEUE\_LOCK\_INIT}{NG\_QUEUE\_LOCK\_INIT}}
{\footnotesize\ttfamily \#define NG\+\_\+\+QUEUE\+\_\+\+LOCK\+\_\+\+INIT(\begin{DoxyParamCaption}\item[{}]{n }\end{DoxyParamCaption})~ mtx\+\_\+init(\&(n)-\/$>$q\+\_\+mtx, \char`\"{}ng\+\_\+node\char`\"{}, NULL, MTX\+\_\+\+DEF)}

\mbox{\Hypertarget{ng__base_8c_a31e37f4f425bc8027b90ed416cbdb02f}\label{ng__base_8c_a31e37f4f425bc8027b90ed416cbdb02f}} 
\index{ng\_base.c@{ng\_base.c}!NG\_QUEUE\_UNLOCK@{NG\_QUEUE\_UNLOCK}}
\index{NG\_QUEUE\_UNLOCK@{NG\_QUEUE\_UNLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_QUEUE\_UNLOCK}{NG\_QUEUE\_UNLOCK}}
{\footnotesize\ttfamily \#define NG\+\_\+\+QUEUE\+\_\+\+UNLOCK(\begin{DoxyParamCaption}\item[{}]{n }\end{DoxyParamCaption})~ mtx\+\_\+unlock(\&(n)-\/$>$q\+\_\+mtx)}

\mbox{\Hypertarget{ng__base_8c_aa0e6d07336fefe81da89e918280c0e94}\label{ng__base_8c_aa0e6d07336fefe81da89e918280c0e94}} 
\index{ng\_base.c@{ng\_base.c}!NG\_WORKLIST\_LOCK@{NG\_WORKLIST\_LOCK}}
\index{NG\_WORKLIST\_LOCK@{NG\_WORKLIST\_LOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_WORKLIST\_LOCK}{NG\_WORKLIST\_LOCK}}
{\footnotesize\ttfamily \#define NG\+\_\+\+WORKLIST\+\_\+\+LOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~ mtx\+\_\+lock(\&ng\+\_\+worklist\+\_\+mtx)}

\mbox{\Hypertarget{ng__base_8c_a0c93924bd56b270781b46bbd17d07ea9}\label{ng__base_8c_a0c93924bd56b270781b46bbd17d07ea9}} 
\index{ng\_base.c@{ng\_base.c}!NG\_WORKLIST\_LOCK\_INIT@{NG\_WORKLIST\_LOCK\_INIT}}
\index{NG\_WORKLIST\_LOCK\_INIT@{NG\_WORKLIST\_LOCK\_INIT}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_WORKLIST\_LOCK\_INIT}{NG\_WORKLIST\_LOCK\_INIT}}
{\footnotesize\ttfamily \#define NG\+\_\+\+WORKLIST\+\_\+\+LOCK\+\_\+\+INIT(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~ mtx\+\_\+init(\&ng\+\_\+worklist\+\_\+mtx, \char`\"{}ng\+\_\+worklist\char`\"{}, NULL, MTX\+\_\+\+DEF)}

\mbox{\Hypertarget{ng__base_8c_ae81040ecce1b13d8ff084d7da4fa4379}\label{ng__base_8c_ae81040ecce1b13d8ff084d7da4fa4379}} 
\index{ng\_base.c@{ng\_base.c}!NG\_WORKLIST\_SLEEP@{NG\_WORKLIST\_SLEEP}}
\index{NG\_WORKLIST\_SLEEP@{NG\_WORKLIST\_SLEEP}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_WORKLIST\_SLEEP}{NG\_WORKLIST\_SLEEP}}
{\footnotesize\ttfamily \#define NG\+\_\+\+WORKLIST\+\_\+\+SLEEP(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~ mtx\+\_\+sleep(\&ng\+\_\+worklist, \&ng\+\_\+worklist\+\_\+mtx, PI\+\_\+\+NET, \char`\"{}sleep\char`\"{}, 0)}

\mbox{\Hypertarget{ng__base_8c_aae51773935317f2811f55b60e94792a1}\label{ng__base_8c_aae51773935317f2811f55b60e94792a1}} 
\index{ng\_base.c@{ng\_base.c}!NG\_WORKLIST\_UNLOCK@{NG\_WORKLIST\_UNLOCK}}
\index{NG\_WORKLIST\_UNLOCK@{NG\_WORKLIST\_UNLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_WORKLIST\_UNLOCK}{NG\_WORKLIST\_UNLOCK}}
{\footnotesize\ttfamily \#define NG\+\_\+\+WORKLIST\+\_\+\+UNLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~ mtx\+\_\+unlock(\&ng\+\_\+worklist\+\_\+mtx)}

\mbox{\Hypertarget{ng__base_8c_abf30ac164b7896a4af963b53ee7a72ab}\label{ng__base_8c_abf30ac164b7896a4af963b53ee7a72ab}} 
\index{ng\_base.c@{ng\_base.c}!NG\_WORKLIST\_WAKEUP@{NG\_WORKLIST\_WAKEUP}}
\index{NG\_WORKLIST\_WAKEUP@{NG\_WORKLIST\_WAKEUP}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NG\_WORKLIST\_WAKEUP}{NG\_WORKLIST\_WAKEUP}}
{\footnotesize\ttfamily \#define NG\+\_\+\+WORKLIST\+\_\+\+WAKEUP(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~ wakeup\+\_\+one(\&ng\+\_\+worklist)}

\mbox{\Hypertarget{ng__base_8c_ab1201e0899217addc29a99b7e6b28491}\label{ng__base_8c_ab1201e0899217addc29a99b7e6b28491}} 
\index{ng\_base.c@{ng\_base.c}!NGQ2\_WORKQ@{NGQ2\_WORKQ}}
\index{NGQ2\_WORKQ@{NGQ2\_WORKQ}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NGQ2\_WORKQ}{NGQ2\_WORKQ}}
{\footnotesize\ttfamily \#define NGQ2\+\_\+\+WORKQ~0x00000001}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01938}{1938}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_acbd24c49abe22086862b716e5d411c17}\label{ng__base_8c_acbd24c49abe22086862b716e5d411c17}} 
\index{ng\_base.c@{ng\_base.c}!NGQ\_RMASK@{NGQ\_RMASK}}
\index{NGQ\_RMASK@{NGQ\_RMASK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NGQ\_RMASK}{NGQ\_RMASK}}
{\footnotesize\ttfamily \#define NGQ\+\_\+\+RMASK~(\mbox{\hyperlink{ng__base_8c_aff19aa31c4f64aab524e2b1f6684196c}{WRITER\+\_\+\+ACTIVE}}$\vert$\mbox{\hyperlink{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}{OP\+\_\+\+PENDING}})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01912}{1912}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a8499b55087845bc94a0555c21d17dbed}\label{ng__base_8c_a8499b55087845bc94a0555c21d17dbed}} 
\index{ng\_base.c@{ng\_base.c}!NGQ\_WMASK@{NGQ\_WMASK}}
\index{NGQ\_WMASK@{NGQ\_WMASK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NGQ\_WMASK}{NGQ\_WMASK}}
{\footnotesize\ttfamily \#define NGQ\+\_\+\+WMASK~(\mbox{\hyperlink{ng__base_8c_acbd24c49abe22086862b716e5d411c17}{NGQ\+\_\+\+RMASK}}$\vert$\mbox{\hyperlink{ng__base_8c_a84bca447e1f23b03434e2fc0fdb6753b}{READER\+\_\+\+MASK}})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01915}{1915}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a0136f4beabe27edcd169dccb65e9ec10}\label{ng__base_8c_a0136f4beabe27edcd169dccb65e9ec10}} 
\index{ng\_base.c@{ng\_base.c}!NGQRW\_R@{NGQRW\_R}}
\index{NGQRW\_R@{NGQRW\_R}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NGQRW\_R}{NGQRW\_R}}
{\footnotesize\ttfamily \#define NGQRW\+\_\+R~0}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01935}{1935}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a3bdaac4235ca6763d7e50b47981c4f74}\label{ng__base_8c_a3bdaac4235ca6763d7e50b47981c4f74}} 
\index{ng\_base.c@{ng\_base.c}!NGQRW\_W@{NGQRW\_W}}
\index{NGQRW\_W@{NGQRW\_W}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{NGQRW\_W}{NGQRW\_W}}
{\footnotesize\ttfamily \#define NGQRW\+\_\+W~1}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01936}{1936}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}\label{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}} 
\index{ng\_base.c@{ng\_base.c}!OP\_PENDING@{OP\_PENDING}}
\index{OP\_PENDING@{OP\_PENDING}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{OP\_PENDING}{OP\_PENDING}}
{\footnotesize\ttfamily \#define OP\+\_\+\+PENDING~0x00000002}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01905}{1905}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_ae30fb9d28bb8d286889040f11ced4ad5}\label{ng__base_8c_ae30fb9d28bb8d286889040f11ced4ad5}} 
\index{ng\_base.c@{ng\_base.c}!QUEUE\_ACTIVE@{QUEUE\_ACTIVE}}
\index{QUEUE\_ACTIVE@{QUEUE\_ACTIVE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{QUEUE\_ACTIVE}{QUEUE\_ACTIVE}}
{\footnotesize\ttfamily \#define QUEUE\+\_\+\+ACTIVE(\begin{DoxyParamCaption}\item[{}]{QP }\end{DoxyParamCaption})~((QP)-\/$>$q\+\_\+flags \& \mbox{\hyperlink{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}{OP\+\_\+\+PENDING}})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01918}{1918}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a64b81945ef0721fa7351d6949bc6bae6}\label{ng__base_8c_a64b81945ef0721fa7351d6949bc6bae6}} 
\index{ng\_base.c@{ng\_base.c}!QUEUED\_READER\_CAN\_PROCEED@{QUEUED\_READER\_CAN\_PROCEED}}
\index{QUEUED\_READER\_CAN\_PROCEED@{QUEUED\_READER\_CAN\_PROCEED}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{QUEUED\_READER\_CAN\_PROCEED}{QUEUED\_READER\_CAN\_PROCEED}}
{\footnotesize\ttfamily \#define QUEUED\+\_\+\+READER\+\_\+\+CAN\+\_\+\+PROCEED(\begin{DoxyParamCaption}\item[{}]{QP }\end{DoxyParamCaption})~  (((QP)-\/$>$q\+\_\+flags \& (\mbox{\hyperlink{ng__base_8c_acbd24c49abe22086862b716e5d411c17}{NGQ\+\_\+\+RMASK}} \& $\sim$\mbox{\hyperlink{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}{OP\+\_\+\+PENDING}})) == 0)}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01925}{1925}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a5f9b8b2f2e1c6ce76af64b43c927e07b}\label{ng__base_8c_a5f9b8b2f2e1c6ce76af64b43c927e07b}} 
\index{ng\_base.c@{ng\_base.c}!QUEUED\_WRITER\_CAN\_PROCEED@{QUEUED\_WRITER\_CAN\_PROCEED}}
\index{QUEUED\_WRITER\_CAN\_PROCEED@{QUEUED\_WRITER\_CAN\_PROCEED}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{QUEUED\_WRITER\_CAN\_PROCEED}{QUEUED\_WRITER\_CAN\_PROCEED}}
{\footnotesize\ttfamily \#define QUEUED\+\_\+\+WRITER\+\_\+\+CAN\+\_\+\+PROCEED(\begin{DoxyParamCaption}\item[{}]{QP }\end{DoxyParamCaption})~  (((QP)-\/$>$q\+\_\+flags \& (\mbox{\hyperlink{ng__base_8c_a8499b55087845bc94a0555c21d17dbed}{NGQ\+\_\+\+WMASK}} \& $\sim$\mbox{\hyperlink{ng__base_8c_a495a0a463d2403303bd8c1966ac1439d}{OP\+\_\+\+PENDING}})) == 0)}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01927}{1927}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_aacd5572c6bd93411765fc210a523b510}\label{ng__base_8c_aacd5572c6bd93411765fc210a523b510}} 
\index{ng\_base.c@{ng\_base.c}!READER\_INCREMENT@{READER\_INCREMENT}}
\index{READER\_INCREMENT@{READER\_INCREMENT}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{READER\_INCREMENT}{READER\_INCREMENT}}
{\footnotesize\ttfamily \#define READER\+\_\+\+INCREMENT~0x00000004}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01906}{1906}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a84bca447e1f23b03434e2fc0fdb6753b}\label{ng__base_8c_a84bca447e1f23b03434e2fc0fdb6753b}} 
\index{ng\_base.c@{ng\_base.c}!READER\_MASK@{READER\_MASK}}
\index{READER\_MASK@{READER\_MASK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{READER\_MASK}{READER\_MASK}}
{\footnotesize\ttfamily \#define READER\+\_\+\+MASK~0xfffffffc /$\ast$ Not valid if \mbox{\hyperlink{ng__base_8c_aff19aa31c4f64aab524e2b1f6684196c}{WRITER\+\_\+\+ACTIVE}} is set $\ast$/}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01907}{1907}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a1c64b75236062784fd964d9b6c6d9043}\label{ng__base_8c_a1c64b75236062784fd964d9b6c6d9043}} 
\index{ng\_base.c@{ng\_base.c}!SAFETY\_BARRIER@{SAFETY\_BARRIER}}
\index{SAFETY\_BARRIER@{SAFETY\_BARRIER}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{SAFETY\_BARRIER}{SAFETY\_BARRIER}}
{\footnotesize\ttfamily \#define SAFETY\+\_\+\+BARRIER~0x00100000 /$\ast$ 128K items queued should be enough $\ast$/}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01908}{1908}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a66184f2070ec90c5ebdb56d2b5476b31}\label{ng__base_8c_a66184f2070ec90c5ebdb56d2b5476b31}} 
\index{ng\_base.c@{ng\_base.c}!SET\_RETADDR@{SET\_RETADDR}}
\index{SET\_RETADDR@{SET\_RETADDR}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{SET\_RETADDR}{SET\_RETADDR}}
{\footnotesize\ttfamily \#define SET\+\_\+\+RETADDR(\begin{DoxyParamCaption}\item[{}]{item,  }\item[{}]{here,  }\item[{}]{retaddr }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        \textcolor{keywordflow}{do} \{    \textcolor{comment}{/* Data or fn items don't have retaddrs */}              \(\backslash\)}
\DoxyCodeLine{                if ((item-\/>el\_flags \& \mbox{\hyperlink{netgraph_8h_a4cd46f025f7a1982e34ac54745b59bd1}{NGQF\_TYPE}}) == \mbox{\hyperlink{netgraph_8h_a9e3984d767a278bf9893ae7145a143a8}{NGQF\_MESG}}) \{      \(\backslash\)}
\DoxyCodeLine{                        if (retaddr) \{                                  \(\backslash\)}
\DoxyCodeLine{                                NGI\_RETADDR(item) = retaddr;            \(\backslash\)}
\DoxyCodeLine{                        \} \textcolor{keywordflow}{else} \{                                        \(\backslash\)}
\DoxyCodeLine{                                \textcolor{comment}{/*                                      \(\backslash\)}}
\DoxyCodeLine{\textcolor{comment}{                                 * The old return address should be ok. \(\backslash\)}}
\DoxyCodeLine{\textcolor{comment}{                                 * If there isn't one, use the address  \(\backslash\)}}
\DoxyCodeLine{\textcolor{comment}{                                 * here.                                \(\backslash\)}}
\DoxyCodeLine{\textcolor{comment}{                                 */}                                     \(\backslash\)}
\DoxyCodeLine{                                if (\mbox{\hyperlink{netgraph_8h_a5f4f927f601a420c5dfec90ceedbcbf2}{NGI\_RETADDR}}(item) == 0) \{                \(\backslash\)}
\DoxyCodeLine{                                        NGI\_RETADDR(item)               \(\backslash\)}
\DoxyCodeLine{                                                = \mbox{\hyperlink{ng__base_8c_ac91f2c547b34db13ef98bb895defc729}{ng\_node2ID}}(here);   \(\backslash\)}
\DoxyCodeLine{                                \}                                       \(\backslash\)}
\DoxyCodeLine{                        \}                                               \(\backslash\)}
\DoxyCodeLine{                \}                                                       \(\backslash\)}
\DoxyCodeLine{        \} \textcolor{keywordflow}{while} (0)}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l03564}{3564}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a1b0965a46f18b75d1296474b25a43150}\label{ng__base_8c_a1b0965a46f18b75d1296474b25a43150}} 
\index{ng\_base.c@{ng\_base.c}!TOPOLOGY\_NOTOWNED@{TOPOLOGY\_NOTOWNED}}
\index{TOPOLOGY\_NOTOWNED@{TOPOLOGY\_NOTOWNED}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{TOPOLOGY\_NOTOWNED}{TOPOLOGY\_NOTOWNED}}
{\footnotesize\ttfamily \#define TOPOLOGY\+\_\+\+NOTOWNED(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+assert(\&\mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}}, RA\+\_\+\+UNLOCKED)}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00084}{84}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_ae5b87416a2b11accb2a7f3271b033b21}\label{ng__base_8c_ae5b87416a2b11accb2a7f3271b033b21}} 
\index{ng\_base.c@{ng\_base.c}!TOPOLOGY\_RLOCK@{TOPOLOGY\_RLOCK}}
\index{TOPOLOGY\_RLOCK@{TOPOLOGY\_RLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{TOPOLOGY\_RLOCK}{TOPOLOGY\_RLOCK}}
{\footnotesize\ttfamily \#define TOPOLOGY\+\_\+\+RLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+rlock(\&\mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00080}{80}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_ac1083cc6c0f464103baed3f28488e144}\label{ng__base_8c_ac1083cc6c0f464103baed3f28488e144}} 
\index{ng\_base.c@{ng\_base.c}!TOPOLOGY\_RUNLOCK@{TOPOLOGY\_RUNLOCK}}
\index{TOPOLOGY\_RUNLOCK@{TOPOLOGY\_RUNLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{TOPOLOGY\_RUNLOCK}{TOPOLOGY\_RUNLOCK}}
{\footnotesize\ttfamily \#define TOPOLOGY\+\_\+\+RUNLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+runlock(\&\mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00081}{81}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a94bd888ffca08e14ce5466ceceb4dcc6}\label{ng__base_8c_a94bd888ffca08e14ce5466ceceb4dcc6}} 
\index{ng\_base.c@{ng\_base.c}!TOPOLOGY\_WLOCK@{TOPOLOGY\_WLOCK}}
\index{TOPOLOGY\_WLOCK@{TOPOLOGY\_WLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{TOPOLOGY\_WLOCK}{TOPOLOGY\_WLOCK}}
{\footnotesize\ttfamily \#define TOPOLOGY\+\_\+\+WLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+wlock(\&\mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00082}{82}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a694e1fe09b2a613be2324c29050ff544}\label{ng__base_8c_a694e1fe09b2a613be2324c29050ff544}} 
\index{ng\_base.c@{ng\_base.c}!TOPOLOGY\_WUNLOCK@{TOPOLOGY\_WUNLOCK}}
\index{TOPOLOGY\_WUNLOCK@{TOPOLOGY\_WUNLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{TOPOLOGY\_WUNLOCK}{TOPOLOGY\_WUNLOCK}}
{\footnotesize\ttfamily \#define TOPOLOGY\+\_\+\+WUNLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+wunlock(\&\mbox{\hyperlink{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}{ng\+\_\+topo\+\_\+lock}})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00083}{83}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}\label{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}} 
\index{ng\_base.c@{ng\_base.c}!TRAP\_ERROR@{TRAP\_ERROR}}
\index{TRAP\_ERROR@{TRAP\_ERROR}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{TRAP\_ERROR}{TRAP\_ERROR}}
{\footnotesize\ttfamily \#define TRAP\+\_\+\+ERROR(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_ad792d0dd51964515d36b0d8fe4a5fcd1}\label{ng__base_8c_ad792d0dd51964515d36b0d8fe4a5fcd1}} 
\index{ng\_base.c@{ng\_base.c}!TYPELIST\_RLOCK@{TYPELIST\_RLOCK}}
\index{TYPELIST\_RLOCK@{TYPELIST\_RLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{TYPELIST\_RLOCK}{TYPELIST\_RLOCK}}
{\footnotesize\ttfamily \#define TYPELIST\+\_\+\+RLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+rlock(\&ng\+\_\+typelist\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_a708532d52448aee33f5f494c088c6c19}\label{ng__base_8c_a708532d52448aee33f5f494c088c6c19}} 
\index{ng\_base.c@{ng\_base.c}!TYPELIST\_RUNLOCK@{TYPELIST\_RUNLOCK}}
\index{TYPELIST\_RUNLOCK@{TYPELIST\_RUNLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{TYPELIST\_RUNLOCK}{TYPELIST\_RUNLOCK}}
{\footnotesize\ttfamily \#define TYPELIST\+\_\+\+RUNLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+runlock(\&ng\+\_\+typelist\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_add5cd5fbd97c58f0434a25ebde39bfda}\label{ng__base_8c_add5cd5fbd97c58f0434a25ebde39bfda}} 
\index{ng\_base.c@{ng\_base.c}!TYPELIST\_WLOCK@{TYPELIST\_WLOCK}}
\index{TYPELIST\_WLOCK@{TYPELIST\_WLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{TYPELIST\_WLOCK}{TYPELIST\_WLOCK}}
{\footnotesize\ttfamily \#define TYPELIST\+\_\+\+WLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+wlock(\&ng\+\_\+typelist\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_a8b788036e6feb332405dc003726502b6}\label{ng__base_8c_a8b788036e6feb332405dc003726502b6}} 
\index{ng\_base.c@{ng\_base.c}!TYPELIST\_WUNLOCK@{TYPELIST\_WUNLOCK}}
\index{TYPELIST\_WUNLOCK@{TYPELIST\_WUNLOCK}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{TYPELIST\_WUNLOCK}{TYPELIST\_WUNLOCK}}
{\footnotesize\ttfamily \#define TYPELIST\+\_\+\+WUNLOCK(\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})~rw\+\_\+wunlock(\&ng\+\_\+typelist\+\_\+lock)}

\mbox{\Hypertarget{ng__base_8c_a46822549ab6d6bad03929ef57524c63e}\label{ng__base_8c_a46822549ab6d6bad03929ef57524c63e}} 
\index{ng\_base.c@{ng\_base.c}!V\_nextID@{V\_nextID}}
\index{V\_nextID@{V\_nextID}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{V\_nextID}{V\_nextID}}
{\footnotesize\ttfamily \#define V\+\_\+next\+ID~VNET(next\+ID)}

\mbox{\Hypertarget{ng__base_8c_ad0a4773cb27c547300c11cc1cdc74780}\label{ng__base_8c_ad0a4773cb27c547300c11cc1cdc74780}} 
\index{ng\_base.c@{ng\_base.c}!V\_ng\_ID\_hash@{V\_ng\_ID\_hash}}
\index{V\_ng\_ID\_hash@{V\_ng\_ID\_hash}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{V\_ng\_ID\_hash}{V\_ng\_ID\_hash}}
{\footnotesize\ttfamily \#define V\+\_\+ng\+\_\+\+ID\+\_\+hash~VNET(ng\+\_\+\+ID\+\_\+hash)}

\mbox{\Hypertarget{ng__base_8c_aa28823cd95db08aaf3e195ad052d261c}\label{ng__base_8c_aa28823cd95db08aaf3e195ad052d261c}} 
\index{ng\_base.c@{ng\_base.c}!V\_ng\_ID\_hmask@{V\_ng\_ID\_hmask}}
\index{V\_ng\_ID\_hmask@{V\_ng\_ID\_hmask}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{V\_ng\_ID\_hmask}{V\_ng\_ID\_hmask}}
{\footnotesize\ttfamily \#define V\+\_\+ng\+\_\+\+ID\+\_\+hmask~VNET(ng\+\_\+\+ID\+\_\+hmask)}

\mbox{\Hypertarget{ng__base_8c_ae4c610a76668dc7b77345e4fb809cc51}\label{ng__base_8c_ae4c610a76668dc7b77345e4fb809cc51}} 
\index{ng\_base.c@{ng\_base.c}!V\_ng\_name\_hash@{V\_ng\_name\_hash}}
\index{V\_ng\_name\_hash@{V\_ng\_name\_hash}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{V\_ng\_name\_hash}{V\_ng\_name\_hash}}
{\footnotesize\ttfamily \#define V\+\_\+ng\+\_\+name\+\_\+hash~VNET(ng\+\_\+name\+\_\+hash)}

\mbox{\Hypertarget{ng__base_8c_a0fcf882d40d1a9addf0bce85cc0eed8e}\label{ng__base_8c_a0fcf882d40d1a9addf0bce85cc0eed8e}} 
\index{ng\_base.c@{ng\_base.c}!V\_ng\_name\_hmask@{V\_ng\_name\_hmask}}
\index{V\_ng\_name\_hmask@{V\_ng\_name\_hmask}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{V\_ng\_name\_hmask}{V\_ng\_name\_hmask}}
{\footnotesize\ttfamily \#define V\+\_\+ng\+\_\+name\+\_\+hmask~VNET(ng\+\_\+name\+\_\+hmask)}

\mbox{\Hypertarget{ng__base_8c_a615ed8121628e631b8eb8d93ccb999c5}\label{ng__base_8c_a615ed8121628e631b8eb8d93ccb999c5}} 
\index{ng\_base.c@{ng\_base.c}!V\_ng\_named\_nodes@{V\_ng\_named\_nodes}}
\index{V\_ng\_named\_nodes@{V\_ng\_named\_nodes}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{V\_ng\_named\_nodes}{V\_ng\_named\_nodes}}
{\footnotesize\ttfamily \#define V\+\_\+ng\+\_\+named\+\_\+nodes~VNET(ng\+\_\+named\+\_\+nodes)}

\mbox{\Hypertarget{ng__base_8c_ad685d5a522de935eabb0fd450c116d2b}\label{ng__base_8c_ad685d5a522de935eabb0fd450c116d2b}} 
\index{ng\_base.c@{ng\_base.c}!V\_ng\_nodes@{V\_ng\_nodes}}
\index{V\_ng\_nodes@{V\_ng\_nodes}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{V\_ng\_nodes}{V\_ng\_nodes}}
{\footnotesize\ttfamily \#define V\+\_\+ng\+\_\+nodes~VNET(ng\+\_\+nodes)}

\mbox{\Hypertarget{ng__base_8c_aff19aa31c4f64aab524e2b1f6684196c}\label{ng__base_8c_aff19aa31c4f64aab524e2b1f6684196c}} 
\index{ng\_base.c@{ng\_base.c}!WRITER\_ACTIVE@{WRITER\_ACTIVE}}
\index{WRITER\_ACTIVE@{WRITER\_ACTIVE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{WRITER\_ACTIVE}{WRITER\_ACTIVE}}
{\footnotesize\ttfamily \#define WRITER\+\_\+\+ACTIVE~0x00000001}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01904}{1904}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ng__base_8c_ab06e4c1fbbe868079286395ac5adaefe}\label{ng__base_8c_ab06e4c1fbbe868079286395ac5adaefe}} 
\index{ng\_base.c@{ng\_base.c}!DECLARE\_MODULE@{DECLARE\_MODULE}}
\index{DECLARE\_MODULE@{DECLARE\_MODULE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{DECLARE\_MODULE()}{DECLARE\_MODULE()}}
{\footnotesize\ttfamily DECLARE\+\_\+\+MODULE (\begin{DoxyParamCaption}\item[{netgraph}]{,  }\item[{\mbox{\hyperlink{ng__base_8c_a6ff0a08197cd0203dce31fbc09a0acb6}{netgraph\+\_\+mod}}}]{,  }\item[{SI\+\_\+\+SUB\+\_\+\+NETGRAPH}]{,  }\item[{SI\+\_\+\+ORDER\+\_\+\+FIRST}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_ad063e3e6001494f1d9044a33f7d0d998}\label{ng__base_8c_ad063e3e6001494f1d9044a33f7d0d998}} 
\index{ng\_base.c@{ng\_base.c}!DEFINE\_PARSE\_STRUCT\_TYPE@{DEFINE\_PARSE\_STRUCT\_TYPE}}
\index{DEFINE\_PARSE\_STRUCT\_TYPE@{DEFINE\_PARSE\_STRUCT\_TYPE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{DEFINE\_PARSE\_STRUCT\_TYPE()}{DEFINE\_PARSE\_STRUCT\_TYPE()}\hspace{0.1cm}{\footnotesize\ttfamily [1/3]}}
{\footnotesize\ttfamily DEFINE\+\_\+\+PARSE\+\_\+\+STRUCT\+\_\+\+TYPE (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structhooklist}{hooklist}}}]{,  }\item[{HOOKLIST}]{,  }\item[{\&, \&}]{ng\+\_\+generic\+\_\+linkinfo\+\_\+array\+\_\+type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_acba7323681c639d45e634d5e290a03ff}\label{ng__base_8c_acba7323681c639d45e634d5e290a03ff}} 
\index{ng\_base.c@{ng\_base.c}!DEFINE\_PARSE\_STRUCT\_TYPE@{DEFINE\_PARSE\_STRUCT\_TYPE}}
\index{DEFINE\_PARSE\_STRUCT\_TYPE@{DEFINE\_PARSE\_STRUCT\_TYPE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{DEFINE\_PARSE\_STRUCT\_TYPE()}{DEFINE\_PARSE\_STRUCT\_TYPE()}\hspace{0.1cm}{\footnotesize\ttfamily [2/3]}}
{\footnotesize\ttfamily DEFINE\+\_\+\+PARSE\+\_\+\+STRUCT\+\_\+\+TYPE (\begin{DoxyParamCaption}\item[{listnodes}]{,  }\item[{LISTNODES}]{,  }\item[{\&}]{ng\+\_\+generic\+\_\+nodeinfoarray\+\_\+type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_a4b382daa5b7f243fa9aa09e871512c88}\label{ng__base_8c_a4b382daa5b7f243fa9aa09e871512c88}} 
\index{ng\_base.c@{ng\_base.c}!DEFINE\_PARSE\_STRUCT\_TYPE@{DEFINE\_PARSE\_STRUCT\_TYPE}}
\index{DEFINE\_PARSE\_STRUCT\_TYPE@{DEFINE\_PARSE\_STRUCT\_TYPE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{DEFINE\_PARSE\_STRUCT\_TYPE()}{DEFINE\_PARSE\_STRUCT\_TYPE()}\hspace{0.1cm}{\footnotesize\ttfamily [3/3]}}
{\footnotesize\ttfamily DEFINE\+\_\+\+PARSE\+\_\+\+STRUCT\+\_\+\+TYPE (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structtypelist}{typelist}}}]{,  }\item[{TYPELIST}]{,  }\item[{\&}]{ng\+\_\+generic\+\_\+typeinfoarray\+\_\+type }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_a6b19b3abe9c3ecd68b3ba27b77f9db40}\label{ng__base_8c_a6b19b3abe9c3ecd68b3ba27b77f9db40}} 
\index{ng\_base.c@{ng\_base.c}!MODULE\_VERSION@{MODULE\_VERSION}}
\index{MODULE\_VERSION@{MODULE\_VERSION}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_VERSION()}{MODULE\_VERSION()}}
{\footnotesize\ttfamily MODULE\+\_\+\+VERSION (\begin{DoxyParamCaption}\item[{netgraph}]{,  }\item[{\mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\+\_\+\+ABI\+\_\+\+VERSION}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_a2fda4cdaa64d66c0b3371de1856df377}\label{ng__base_8c_a2fda4cdaa64d66c0b3371de1856df377}} 
\index{ng\_base.c@{ng\_base.c}!ng\_acquire\_read@{ng\_acquire\_read}}
\index{ng\_acquire\_read@{ng\_acquire\_read}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_acquire\_read()}{ng\_acquire\_read()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} ng\+\_\+acquire\+\_\+read (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02045}{2045}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{ng__base_8c_source_l00121}{ng\+\_\+deadnode}}, \mbox{\hyperlink{ng__base_8c_source_l02017}{ng\+\_\+queue\+\_\+rw()}}, \mbox{\hyperlink{ng__base_8c_source_l01912}{NGQ\+\_\+\+RMASK}}, \mbox{\hyperlink{ng__base_8c_source_l01935}{NGQRW\+\_\+R}}, \mbox{\hyperlink{netgraph_8h_source_l00358}{ng\+\_\+queue\+::q\+\_\+flags}}, and \mbox{\hyperlink{ng__base_8c_source_l01906}{READER\+\_\+\+INCREMENT}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02227}{ng\+\_\+snd\+\_\+item()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a2fda4cdaa64d66c0b3371de1856df377_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a2fda4cdaa64d66c0b3371de1856df377_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a4efc88578d7fe8394b07594b37d97cff}\label{ng__base_8c_a4efc88578d7fe8394b07594b37d97cff}} 
\index{ng\_base.c@{ng\_base.c}!ng\_acquire\_write@{ng\_acquire\_write}}
\index{ng\_acquire\_write@{ng\_acquire\_write}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_acquire\_write()}{ng\_acquire\_write()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} ng\+\_\+acquire\+\_\+write (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02073}{2073}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{ng__base_8c_source_l00121}{ng\+\_\+deadnode}}, \mbox{\hyperlink{ng__base_8c_source_l02017}{ng\+\_\+queue\+\_\+rw()}}, \mbox{\hyperlink{ng__base_8c_source_l01936}{NGQRW\+\_\+W}}, \mbox{\hyperlink{netgraph_8h_source_l00358}{ng\+\_\+queue\+::q\+\_\+flags}}, and \mbox{\hyperlink{ng__base_8c_source_l01904}{WRITER\+\_\+\+ACTIVE}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02227}{ng\+\_\+snd\+\_\+item()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a4efc88578d7fe8394b07594b37d97cff_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a4efc88578d7fe8394b07594b37d97cff_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_acdcfe7d2de980edf8b023940e2f5ca3d}\label{ng__base_8c_acdcfe7d2de980edf8b023940e2f5ca3d}} 
\index{ng\_base.c@{ng\_base.c}!ng\_add\_hook@{ng\_add\_hook}}
\index{ng\_add\_hook@{ng\_add\_hook}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_add\_hook()}{ng\_add\_hook()}}
{\footnotesize\ttfamily static int ng\+\_\+add\+\_\+hook (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{const char $\ast$}]{name,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} $\ast$}]{hookp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01068}{1068}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00119}{ng\+\_\+hook\+::hk\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00136}{HK\+\_\+\+INVALID}}, \mbox{\hyperlink{netgraph_8h_source_l00122}{ng\+\_\+hook\+::hk\+\_\+node}}, \mbox{\hyperlink{netgraph_8h_source_l00121}{ng\+\_\+hook\+::hk\+\_\+peer}}, \mbox{\hyperlink{netgraph_8h_source_l00126}{ng\+\_\+hook\+::hk\+\_\+refs}}, \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, \mbox{\hyperlink{netgraph_8h_source_l00369}{ng\+\_\+node\+::nd\+\_\+numhooks}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{netgraph_8h_source_l01084}{ng\+\_\+type\+::newhook}}, \mbox{\hyperlink{ng__base_8c_a4d799b4632971b7b01dae0c1b36af091}{NG\+\_\+\+ALLOC\+\_\+\+HOOK}}, \mbox{\hyperlink{ng__base_8c_source_l00147}{ng\+\_\+deadhook}}, \mbox{\hyperlink{ng__base_8c_source_l01129}{ng\+\_\+findhook()}}, \mbox{\hyperlink{netgraph_8h_source_l00331}{NG\+\_\+\+HOOK\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00330}{NG\+\_\+\+HOOK\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l00332}{NG\+\_\+\+HOOK\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__message_8h_source_l00049}{NG\+\_\+\+HOOKSIZ}}, \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}, and \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l01482}{ng\+\_\+con\+\_\+nodes()}}, and \mbox{\hyperlink{ng__base_8c_source_l01545}{ng\+\_\+mkpeer()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=273pt]{d5/d13/ng__base_8c_acdcfe7d2de980edf8b023940e2f5ca3d_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_acdcfe7d2de980edf8b023940e2f5ca3d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ad326f03adb74b032a640fba11e11f32a}\label{ng__base_8c_ad326f03adb74b032a640fba11e11f32a}} 
\index{ng\_base.c@{ng\_base.c}!ng\_address\_hook@{ng\_address\_hook}}
\index{ng\_address\_hook@{ng\_address\_hook}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_address\_hook()}{ng\_address\_hook()}}
{\footnotesize\ttfamily int ng\+\_\+address\+\_\+hook (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{here,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{\mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}}}]{retaddr }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03580}{3580}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_source_l03503}{ITEM\+\_\+\+DEBUG\+\_\+\+CHECKS}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{netgraph_8h_source_l00337}{NG\+\_\+\+HOOK\+\_\+\+NOT\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00340}{NG\+\_\+\+HOOK\+\_\+\+PEER}}, \mbox{\hyperlink{netgraph_8h_source_l00330}{NG\+\_\+\+HOOK\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l00611}{NG\+\_\+\+NODE\+\_\+\+NOT\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l00167}{NG\+\_\+\+PEER\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00842}{NGI\+\_\+\+SET\+\_\+\+HOOK}}, \mbox{\hyperlink{netgraph_8h_source_l00844}{NGI\+\_\+\+SET\+\_\+\+NODE}}, \mbox{\hyperlink{ng__base_8c_source_l03564}{SET\+\_\+\+RETADDR}}, \mbox{\hyperlink{ng__base_8c_source_l00080}{TOPOLOGY\+\_\+\+RLOCK}}, \mbox{\hyperlink{ng__base_8c_source_l00081}{TOPOLOGY\+\_\+\+RUNLOCK}}, and \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}.

\mbox{\Hypertarget{ng__base_8c_a8e57b12af3826877e69e5b33fde08669}\label{ng__base_8c_a8e57b12af3826877e69e5b33fde08669}} 
\index{ng\_base.c@{ng\_base.c}!ng\_address\_ID@{ng\_address\_ID}}
\index{ng\_address\_ID@{ng\_address\_ID}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_address\_ID()}{ng\_address\_ID()}}
{\footnotesize\ttfamily int ng\+\_\+address\+\_\+\+ID (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{here,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{\mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}}}]{ID,  }\item[{\mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}}}]{retaddr }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03641}{3641}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a9df3bb7b2107cbc34cfa2eab38309340}\label{ng__base_8c_a9df3bb7b2107cbc34cfa2eab38309340}} 
\index{ng\_base.c@{ng\_base.c}!ng\_address\_path@{ng\_address\_path}}
\index{ng\_address\_path@{ng\_address\_path}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_address\_path()}{ng\_address\_path()}}
{\footnotesize\ttfamily int ng\+\_\+address\+\_\+path (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{here,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{const char $\ast$}]{address,  }\item[{\mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}}}]{retaddr }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03616}{3616}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__socket_8c_source_l00699}{ng\+\_\+connect\+\_\+data()}}, and \mbox{\hyperlink{ng__socket_8c_source_l00219}{ngc\+\_\+send()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a9df3bb7b2107cbc34cfa2eab38309340_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ae9ff5201c324ce509fac993ad532a606}\label{ng__base_8c_ae9ff5201c324ce509fac993ad532a606}} 
\index{ng\_base.c@{ng\_base.c}!ng\_alloc\_item@{ng\_alloc\_item}}
\index{ng\_alloc\_item@{ng\_alloc\_item}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_alloc\_item()}{ng\_alloc\_item()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} ng\+\_\+alloc\+\_\+item (\begin{DoxyParamCaption}\item[{int}]{type,  }\item[{int}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02985}{2985}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00636}{ng\+\_\+item\+::el\+\_\+flags}}, \mbox{\hyperlink{netflow_8h_source_l00014}{flags}}, \mbox{\hyperlink{ng__base_8c_source_l02960}{ng\+\_\+qdzone}}, \mbox{\hyperlink{ng__base_8c_source_l02959}{ng\+\_\+qzone}}, \mbox{\hyperlink{netgraph_8h_source_l01173}{NG\+\_\+\+WAITOK}}, \mbox{\hyperlink{netgraph_8h_source_l00670}{NGQF\+\_\+\+DATA}}, \mbox{\hyperlink{netgraph_8h_source_l00668}{NGQF\+\_\+\+TYPE}}, and \mbox{\hyperlink{ng__btsocket__rfcomm_8h_source_l00000}{type}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03520}{ng\+\_\+package\+\_\+data()}}, \mbox{\hyperlink{ng__base_8c_source_l03542}{ng\+\_\+package\+\_\+msg()}}, \mbox{\hyperlink{ng__base_8c_source_l03668}{ng\+\_\+package\+\_\+msg\+\_\+self()}}, \mbox{\hyperlink{ng__base_8c_source_l03057}{ng\+\_\+realloc\+\_\+item()}}, and \mbox{\hyperlink{ng__base_8c_source_l03737}{ng\+\_\+send\+\_\+fn2()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ae9ff5201c324ce509fac993ad532a606_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ab25445fc9c3b61a1a811723785c6a01d}\label{ng__base_8c_ab25445fc9c3b61a1a811723785c6a01d}} 
\index{ng\_base.c@{ng\_base.c}!ng\_apply\_item@{ng\_apply\_item}}
\index{ng\_apply\_item@{ng\_apply\_item}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_apply\_item()}{ng\_apply\_item()}}
{\footnotesize\ttfamily static int ng\+\_\+apply\+\_\+item (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{int}]{rw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02364}{2364}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00630}{ng\+\_\+apply\+\_\+info\+::apply}}, \mbox{\hyperlink{netgraph_8h_source_l00659}{ng\+\_\+item\+::apply}}, \mbox{\hyperlink{netgraph_8h_source_l00660}{ng\+\_\+item\+::depth}}, \mbox{\hyperlink{netgraph_8h_source_l00636}{ng\+\_\+item\+::el\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00633}{ng\+\_\+apply\+\_\+info\+::error}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00000}{header}}, \mbox{\hyperlink{netgraph_8h_source_l00125}{ng\+\_\+hook\+::hk\+\_\+rcvdata}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{ng__base_8c_source_l01388}{ng\+\_\+con\+\_\+part2()}}, \mbox{\hyperlink{ng__base_8c_source_l01345}{ng\+\_\+con\+\_\+part3()}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{ng__base_8c_source_l02512}{ng\+\_\+generic\+\_\+msg()}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00337}{NG\+\_\+\+HOOK\+\_\+\+NOT\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00332}{NG\+\_\+\+HOOK\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__base_8c_source_l02162}{ng\+\_\+leave\+\_\+read()}}, \mbox{\hyperlink{ng__base_8c_source_l02169}{ng\+\_\+leave\+\_\+write()}}, \mbox{\hyperlink{netgraph_8h_source_l00611}{NG\+\_\+\+NODE\+\_\+\+NOT\+\_\+\+VALID}}, \mbox{\hyperlink{ng__base_8c_source_l01624}{ng\+\_\+rmhook\+\_\+part2()}}, \mbox{\hyperlink{ng__base_8c_source_l00715}{ng\+\_\+rmnode()}}, \mbox{\hyperlink{ng__message_8h_source_l00101}{NGF\+\_\+\+RESP}}, \mbox{\hyperlink{netgraph_8h_source_l00838}{NGI\+\_\+\+ARG1}}, \mbox{\hyperlink{netgraph_8h_source_l00839}{NGI\+\_\+\+ARG2}}, \mbox{\hyperlink{netgraph_8h_source_l00836}{NGI\+\_\+\+FN}}, \mbox{\hyperlink{netgraph_8h_source_l00837}{NGI\+\_\+\+FN2}}, \mbox{\hyperlink{netgraph_8h_source_l00870}{NGI\+\_\+\+GET\+\_\+\+HOOK}}, \mbox{\hyperlink{netgraph_8h_source_l00834}{NGI\+\_\+\+MSG}}, \mbox{\hyperlink{ng__message_8h_source_l00113}{NGM\+\_\+\+GENERIC\+\_\+\+COOKIE}}, \mbox{\hyperlink{netgraph_8h_source_l00670}{NGQF\+\_\+\+DATA}}, \mbox{\hyperlink{netgraph_8h_source_l00671}{NGQF\+\_\+\+FN}}, \mbox{\hyperlink{netgraph_8h_source_l00672}{NGQF\+\_\+\+FN2}}, \mbox{\hyperlink{netgraph_8h_source_l00669}{NGQF\+\_\+\+MESG}}, \mbox{\hyperlink{netgraph_8h_source_l00668}{NGQF\+\_\+\+TYPE}}, \mbox{\hyperlink{ng__base_8c_source_l01935}{NGQRW\+\_\+R}}, \mbox{\hyperlink{netgraph_8h_source_l01081}{ng\+\_\+type\+::rcvmsg}}, and \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02227}{ng\+\_\+snd\+\_\+item()}}, and \mbox{\hyperlink{ng__base_8c_source_l03406}{ngthread()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ab25445fc9c3b61a1a811723785c6a01d_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ab25445fc9c3b61a1a811723785c6a01d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ad1f7c03db501a87de69cfb57100ce144}\label{ng__base_8c_ad1f7c03db501a87de69cfb57100ce144}} 
\index{ng\_base.c@{ng\_base.c}!ng\_bypass@{ng\_bypass}}
\index{ng\_bypass@{ng\_bypass}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_bypass()}{ng\_bypass()}}
{\footnotesize\ttfamily int ng\+\_\+bypass (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook1,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook2 }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01241}{1241}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00122}{ng\+\_\+hook\+::hk\+\_\+node}}, \mbox{\hyperlink{netgraph_8h_source_l00121}{ng\+\_\+hook\+::hk\+\_\+peer}}, \mbox{\hyperlink{ng__base_8c_source_l00147}{ng\+\_\+deadhook}}, \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}, \mbox{\hyperlink{netgraph_8h_source_l00337}{NG\+\_\+\+HOOK\+\_\+\+NOT\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00332}{NG\+\_\+\+HOOK\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__base_8c_source_l00082}{TOPOLOGY\+\_\+\+WLOCK}}, \mbox{\hyperlink{ng__base_8c_source_l00083}{TOPOLOGY\+\_\+\+WUNLOCK}}, and \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}.



Referenced by \mbox{\hyperlink{ng__tee_8c_source_l00338}{ng\+\_\+tee\+\_\+close()}}, and \mbox{\hyperlink{ng__pipe_8c_source_l00913}{ngp\+\_\+shutdown()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ad1f7c03db501a87de69cfb57100ce144_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=271pt]{d5/d13/ng__base_8c_ad1f7c03db501a87de69cfb57100ce144_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_aed70061429167aaa4b93a6129c959f0f}\label{ng__base_8c_aed70061429167aaa4b93a6129c959f0f}} 
\index{ng\_base.c@{ng\_base.c}!ng\_callout@{ng\_callout}}
\index{ng\_callout@{ng\_callout}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_callout()}{ng\_callout()}}
{\footnotesize\ttfamily int ng\+\_\+callout (\begin{DoxyParamCaption}\item[{struct callout $\ast$}]{c,  }\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{int}]{ticks,  }\item[{\mbox{\hyperlink{netgraph_8h_a73733a324ccf189ca16e284b19c0128c}{ng\+\_\+item\+\_\+fn}} $\ast$}]{fn,  }\item[{void $\ast$}]{arg1,  }\item[{int}]{arg2 }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03789}{3789}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__cisco_8c_source_l00579}{cisco\+\_\+keepalive()}}, \mbox{\hyperlink{ng__cisco_8c_source_l00210}{cisco\+\_\+newhook()}}, \mbox{\hyperlink{ng__lmi_8c_source_l00262}{LMI\+\_\+ticker()}}, \mbox{\hyperlink{ng__bridge_8c_source_l00336}{ng\+\_\+bridge\+\_\+constructor()}}, \mbox{\hyperlink{ng__bridge_8c_source_l01166}{ng\+\_\+bridge\+\_\+timeout()}}, \mbox{\hyperlink{ng__car_8c_source_l00684}{ng\+\_\+car\+\_\+schedule()}}, \mbox{\hyperlink{ng__hci__misc_8c_source_l00369}{ng\+\_\+hci\+\_\+command\+\_\+timeout()}}, \mbox{\hyperlink{ng__hci__misc_8c_source_l00408}{ng\+\_\+hci\+\_\+con\+\_\+timeout()}}, \mbox{\hyperlink{ng__l2cap__misc_8c_source_l00551}{ng\+\_\+l2cap\+\_\+command\+\_\+timeout()}}, \mbox{\hyperlink{ng__l2cap__misc_8c_source_l00208}{ng\+\_\+l2cap\+\_\+discon\+\_\+timeout()}}, \mbox{\hyperlink{ng__l2cap__misc_8c_source_l00507}{ng\+\_\+l2cap\+\_\+lp\+\_\+timeout()}}, \mbox{\hyperlink{ng__ppp_8c_source_l02627}{ng\+\_\+ppp\+\_\+start\+\_\+frag\+\_\+timer()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01412}{ng\+\_\+pppoe\+\_\+rcvdata()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}, \mbox{\hyperlink{ng__pptpgre_8c_source_l01067}{ng\+\_\+pptpgre\+\_\+start\+\_\+recv\+\_\+ack\+\_\+timer()}}, \mbox{\hyperlink{ng__pptpgre_8c_source_l01153}{ng\+\_\+pptpgre\+\_\+start\+\_\+reorder\+\_\+timer()}}, \mbox{\hyperlink{ng__pptpgre_8c_source_l01114}{ng\+\_\+pptpgre\+\_\+start\+\_\+send\+\_\+ack\+\_\+timer()}}, \mbox{\hyperlink{ng__source_8c_source_l00729}{ng\+\_\+source\+\_\+intr()}}, \mbox{\hyperlink{ng__source_8c_source_l00687}{ng\+\_\+source\+\_\+start()}}, \mbox{\hyperlink{ng__lmi_8c_source_l00300}{nglmi\+\_\+startup()}}, \mbox{\hyperlink{ng__pipe_8c_source_l00731}{pipe\+\_\+dequeue()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01261}{pppoe\+\_\+start()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l02099}{pppoe\+\_\+ticker()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_aed70061429167aaa4b93a6129c959f0f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a5f86f6fdebb77d28b6d39f1849633ced}\label{ng__base_8c_a5f86f6fdebb77d28b6d39f1849633ced}} 
\index{ng\_base.c@{ng\_base.c}!ng\_callout\_trampoline@{ng\_callout\_trampoline}}
\index{ng\_callout\_trampoline@{ng\_callout\_trampoline}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_callout\_trampoline()}{ng\_callout\_trampoline()}}
{\footnotesize\ttfamily static void ng\+\_\+callout\+\_\+trampoline (\begin{DoxyParamCaption}\item[{void $\ast$}]{arg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03776}{3776}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_source_l02227}{ng\+\_\+snd\+\_\+item()}}, and \mbox{\hyperlink{netgraph_8h_source_l00840}{NGI\+\_\+\+NODE}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03820}{ng\+\_\+uncallout\+\_\+internal()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a5f86f6fdebb77d28b6d39f1849633ced_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a5f86f6fdebb77d28b6d39f1849633ced_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a5def34cf5530ace8fcb8d5e805e653a9}\label{ng__base_8c_a5def34cf5530ace8fcb8d5e805e653a9}} 
\index{ng\_base.c@{ng\_base.c}!ng\_con\_nodes@{ng\_con\_nodes}}
\index{ng\_con\_nodes@{ng\_con\_nodes}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_con\_nodes()}{ng\_con\_nodes()}}
{\footnotesize\ttfamily static int ng\+\_\+con\+\_\+nodes (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{const char $\ast$}]{name,  }\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node2,  }\item[{const char $\ast$}]{name2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01482}{1482}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00119}{ng\+\_\+hook\+::hk\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00136}{HK\+\_\+\+INVALID}}, \mbox{\hyperlink{netgraph_8h_source_l00122}{ng\+\_\+hook\+::hk\+\_\+node}}, \mbox{\hyperlink{netgraph_8h_source_l00121}{ng\+\_\+hook\+::hk\+\_\+peer}}, \mbox{\hyperlink{netgraph_8h_source_l00126}{ng\+\_\+hook\+::hk\+\_\+refs}}, \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, \mbox{\hyperlink{ng__base_8c_source_l01068}{ng\+\_\+add\+\_\+hook()}}, \mbox{\hyperlink{ng__base_8c_a4d799b4632971b7b01dae0c1b36af091}{NG\+\_\+\+ALLOC\+\_\+\+HOOK}}, \mbox{\hyperlink{ng__base_8c_source_l01388}{ng\+\_\+con\+\_\+part2()}}, \mbox{\hyperlink{ng__base_8c_source_l00121}{ng\+\_\+deadnode}}, \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}, \mbox{\hyperlink{ng__base_8c_source_l01129}{ng\+\_\+findhook()}}, \mbox{\hyperlink{netgraph_8h_source_l00331}{NG\+\_\+\+HOOK\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00330}{NG\+\_\+\+HOOK\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l00332}{NG\+\_\+\+HOOK\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__message_8h_source_l00049}{NG\+\_\+\+HOOKSIZ}}, \mbox{\hyperlink{netgraph_8h_source_l01171}{NG\+\_\+\+NOFLAGS}}, \mbox{\hyperlink{ng__base_8c_source_l03737}{ng\+\_\+send\+\_\+fn2()}}, and \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02512}{ng\+\_\+generic\+\_\+msg()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a5def34cf5530ace8fcb8d5e805e653a9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a5def34cf5530ace8fcb8d5e805e653a9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a0756b63155b159535f352915ac5cc77b}\label{ng__base_8c_a0756b63155b159535f352915ac5cc77b}} 
\index{ng\_base.c@{ng\_base.c}!ng\_con\_part2@{ng\_con\_part2}}
\index{ng\_con\_part2@{ng\_con\_part2}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_con\_part2()}{ng\_con\_part2()}}
{\footnotesize\ttfamily static int ng\+\_\+con\+\_\+part2 (\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}}}]{hook }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01388}{1388}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l01086}{ng\+\_\+type\+::connect}}, \mbox{\hyperlink{ng__base_8c_a661c316872e6e1e6a714d7fad67f366f}{ERROUT}}, \mbox{\hyperlink{netgraph_8h_source_l00119}{ng\+\_\+hook\+::hk\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00117}{ng\+\_\+hook\+::hk\+\_\+name}}, \mbox{\hyperlink{netgraph_8h_source_l00122}{ng\+\_\+hook\+::hk\+\_\+node}}, \mbox{\hyperlink{netgraph_8h_source_l00121}{ng\+\_\+hook\+::hk\+\_\+peer}}, \mbox{\hyperlink{netgraph_8h_source_l00369}{ng\+\_\+node\+::nd\+\_\+numhooks}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{netgraph_8h_source_l01084}{ng\+\_\+type\+::newhook}}, \mbox{\hyperlink{ng__base_8c_source_l01345}{ng\+\_\+con\+\_\+part3()}}, \mbox{\hyperlink{ng__base_8c_source_l00147}{ng\+\_\+deadhook}}, \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}, \mbox{\hyperlink{ng__base_8c_source_l01129}{ng\+\_\+findhook()}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{netgraph_8h_source_l00331}{NG\+\_\+\+HOOK\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00330}{NG\+\_\+\+HOOK\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l01176}{NG\+\_\+\+REUSE\+\_\+\+ITEM}}, \mbox{\hyperlink{ng__base_8c_source_l03737}{ng\+\_\+send\+\_\+fn2()}}, \mbox{\hyperlink{ng__base_8c_source_l00080}{TOPOLOGY\+\_\+\+RLOCK}}, \mbox{\hyperlink{ng__base_8c_source_l00081}{TOPOLOGY\+\_\+\+RUNLOCK}}, and \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02364}{ng\+\_\+apply\+\_\+item()}}, and \mbox{\hyperlink{ng__base_8c_source_l01482}{ng\+\_\+con\+\_\+nodes()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a0756b63155b159535f352915ac5cc77b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a0756b63155b159535f352915ac5cc77b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a76dfd3c077be6fd0a11484327e3a8455}\label{ng__base_8c_a76dfd3c077be6fd0a11484327e3a8455}} 
\index{ng\_base.c@{ng\_base.c}!ng\_con\_part3@{ng\_con\_part3}}
\index{ng\_con\_part3@{ng\_con\_part3}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_con\_part3()}{ng\_con\_part3()}}
{\footnotesize\ttfamily static int ng\+\_\+con\+\_\+part3 (\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}}}]{hook }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01345}{1345}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l01086}{ng\+\_\+type\+::connect}}, \mbox{\hyperlink{ng__base_8c_a661c316872e6e1e6a714d7fad67f366f}{ERROUT}}, \mbox{\hyperlink{netgraph_8h_source_l00119}{ng\+\_\+hook\+::hk\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00122}{ng\+\_\+hook\+::hk\+\_\+node}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{ng__base_8c_source_l00121}{ng\+\_\+deadnode}}, \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, and \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02364}{ng\+\_\+apply\+\_\+item()}}, and \mbox{\hyperlink{ng__base_8c_source_l01388}{ng\+\_\+con\+\_\+part2()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a76dfd3c077be6fd0a11484327e3a8455_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a76dfd3c077be6fd0a11484327e3a8455_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a8cd13d5bed55b7feb7d42b3eff8c3866}\label{ng__base_8c_a8cd13d5bed55b7feb7d42b3eff8c3866}} 
\index{ng\_base.c@{ng\_base.c}!ng\_decodeidname@{ng\_decodeidname}}
\index{ng\_decodeidname@{ng\_decodeidname}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_decodeidname()}{ng\_decodeidname()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}} ng\+\_\+decodeidname (\begin{DoxyParamCaption}\item[{const char $\ast$}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00949}{949}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, and \mbox{\hyperlink{ng__message_8h_source_l00104}{ng\+\_\+\+ID\+\_\+t}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l00913}{ng\+\_\+name2noderef()}}, and \mbox{\hyperlink{ng__base_8c_source_l00852}{ng\+\_\+name\+\_\+node()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a8cd13d5bed55b7feb7d42b3eff8c3866_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a3071a7c84b79acd625c9009ab858aa5a}\label{ng__base_8c_a3071a7c84b79acd625c9009ab858aa5a}} 
\index{ng\_base.c@{ng\_base.c}!ng\_dequeue@{ng\_dequeue}}
\index{ng\_dequeue@{ng\_dequeue}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_dequeue()}{ng\_dequeue()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} ng\+\_\+dequeue (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{int $\ast$}]{rw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01948}{1948}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_source_l01921}{HEAD\+\_\+\+IS\+\_\+\+READER}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{ng__base_8c_source_l01935}{NGQRW\+\_\+R}}, \mbox{\hyperlink{ng__base_8c_source_l01936}{NGQRW\+\_\+W}}, \mbox{\hyperlink{ng__base_8c_source_l01905}{OP\+\_\+\+PENDING}}, \mbox{\hyperlink{netgraph_8h_source_l00358}{ng\+\_\+queue\+::q\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00360}{ng\+\_\+queue\+::q\+\_\+mtx}}, \mbox{\hyperlink{ng__base_8c_source_l01918}{QUEUE\+\_\+\+ACTIVE}}, \mbox{\hyperlink{ng__base_8c_source_l01906}{READER\+\_\+\+INCREMENT}}, and \mbox{\hyperlink{ng__base_8c_source_l01904}{WRITER\+\_\+\+ACTIVE}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03406}{ngthread()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a3071a7c84b79acd625c9009ab858aa5a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a5eaed3e663791906c07b11c75fc502f6}\label{ng__base_8c_a5eaed3e663791906c07b11c75fc502f6}} 
\index{ng\_base.c@{ng\_base.c}!ng\_destroy\_hook@{ng\_destroy\_hook}}
\index{ng\_destroy\_hook@{ng\_destroy\_hook}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_destroy\_hook()}{ng\_destroy\_hook()}}
{\footnotesize\ttfamily void ng\+\_\+destroy\+\_\+hook (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01162}{1162}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00157}{\+\_\+\+NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l01088}{ng\+\_\+type\+::disconnect}}, \mbox{\hyperlink{netgraph_8h_source_l00119}{ng\+\_\+hook\+::hk\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00136}{HK\+\_\+\+INVALID}}, \mbox{\hyperlink{netgraph_8h_source_l00121}{ng\+\_\+hook\+::hk\+\_\+peer}}, \mbox{\hyperlink{netgraph_8h_source_l00369}{ng\+\_\+node\+::nd\+\_\+numhooks}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{ng__base_8c_source_l00147}{ng\+\_\+deadhook}}, \mbox{\hyperlink{ng__base_8c_source_l00121}{ng\+\_\+deadnode}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00340}{NG\+\_\+\+HOOK\+\_\+\+PEER}}, \mbox{\hyperlink{netgraph_8h_source_l00332}{NG\+\_\+\+HOOK\+\_\+\+UNREF}}, \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__base_8c_source_l01631}{ng\+\_\+rmhook\+\_\+self()}}, \mbox{\hyperlink{ng__base_8c_source_l00084}{TOPOLOGY\+\_\+\+NOTOWNED}}, \mbox{\hyperlink{ng__base_8c_source_l00082}{TOPOLOGY\+\_\+\+WLOCK}}, and \mbox{\hyperlink{ng__base_8c_source_l00083}{TOPOLOGY\+\_\+\+WUNLOCK}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l01241}{ng\+\_\+bypass()}}, \mbox{\hyperlink{ng__base_8c_source_l01482}{ng\+\_\+con\+\_\+nodes()}}, \mbox{\hyperlink{ng__base_8c_source_l01388}{ng\+\_\+con\+\_\+part2()}}, \mbox{\hyperlink{ng__base_8c_source_l01345}{ng\+\_\+con\+\_\+part3()}}, \mbox{\hyperlink{ng__base_8c_source_l02512}{ng\+\_\+generic\+\_\+msg()}}, \mbox{\hyperlink{ng__base_8c_source_l01545}{ng\+\_\+mkpeer()}}, \mbox{\hyperlink{ng__base_8c_source_l01624}{ng\+\_\+rmhook\+\_\+part2()}}, and \mbox{\hyperlink{ng__base_8c_source_l00715}{ng\+\_\+rmnode()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a5eaed3e663791906c07b11c75fc502f6_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d5/d13/ng__base_8c_a5eaed3e663791906c07b11c75fc502f6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_afe7f3ef6e4db622ef5c1578ba08d3d9c}\label{ng__base_8c_afe7f3ef6e4db622ef5c1578ba08d3d9c}} 
\index{ng\_base.c@{ng\_base.c}!ng\_findhook@{ng\_findhook}}
\index{ng\_findhook@{ng\_findhook}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_findhook()}{ng\_findhook()}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} ng\+\_\+findhook (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01129}{1129}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l01085}{ng\+\_\+type\+::findhook}}, \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{netgraph_8h_source_l00338}{NG\+\_\+\+HOOK\+\_\+\+IS\+\_\+\+VALID}}, and \mbox{\hyperlink{netgraph_8h_source_l00331}{NG\+\_\+\+HOOK\+\_\+\+NAME}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l01068}{ng\+\_\+add\+\_\+hook()}}, \mbox{\hyperlink{ng__bpf_8c_source_l00305}{ng\+\_\+bpf\+\_\+rcvmsg()}}, \mbox{\hyperlink{ng__bpf_8c_source_l00555}{ng\+\_\+bpf\+\_\+setprog()}}, \mbox{\hyperlink{ng__bridge_8c_source_l00495}{ng\+\_\+bridge\+\_\+rcvmsg()}}, \mbox{\hyperlink{ng__base_8c_source_l01482}{ng\+\_\+con\+\_\+nodes()}}, \mbox{\hyperlink{ng__base_8c_source_l01388}{ng\+\_\+con\+\_\+part2()}}, \mbox{\hyperlink{ng__etf_8c_source_l00247}{ng\+\_\+etf\+\_\+rcvmsg()}}, \mbox{\hyperlink{ng__base_8c_source_l02512}{ng\+\_\+generic\+\_\+msg()}}, \mbox{\hyperlink{ng__base_8c_source_l01728}{ng\+\_\+path2noderef()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00763}{ng\+\_\+pppoe\+\_\+rcvmsg()}}, \mbox{\hyperlink{ng__tag_8c_source_l00349}{ng\+\_\+tag\+\_\+rcvmsg()}}, \mbox{\hyperlink{ng__tag_8c_source_l00644}{ng\+\_\+tag\+\_\+setdata\+\_\+in()}}, \mbox{\hyperlink{ng__tcpmss_8c_source_l00178}{ng\+\_\+tcpmss\+\_\+rcvmsg()}}, \mbox{\hyperlink{ng__vlan_8c_source_l00253}{ng\+\_\+vlan\+\_\+rcvmsg()}}, \mbox{\hyperlink{ng__socket_8c_source_l00410}{ngd\+\_\+send()}}, and \mbox{\hyperlink{ng__hole_8c_source_l00146}{ngh\+\_\+rcvmsg()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_afe7f3ef6e4db622ef5c1578ba08d3d9c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a1573d618c9d2901cc492a73c4205de7e}\label{ng__base_8c_a1573d618c9d2901cc492a73c4205de7e}} 
\index{ng\_base.c@{ng\_base.c}!ng\_findtype@{ng\_findtype}}
\index{ng\_findtype@{ng\_findtype}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_findtype()}{ng\_findtype()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} $\ast$ ng\+\_\+findtype (\begin{DoxyParamCaption}\item[{const char $\ast$}]{typename }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01325}{1325}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__btsocket__rfcomm_8h_source_l00000}{type}}, \mbox{\hyperlink{ng__base_8c_ad792d0dd51964515d36b0d8fe4a5fcd1}{TYPELIST\+\_\+\+RLOCK}}, and \mbox{\hyperlink{ng__base_8c_a708532d52448aee33f5f494c088c6c19}{TYPELIST\+\_\+\+RUNLOCK}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l00595}{ng\+\_\+make\+\_\+node()}}, \mbox{\hyperlink{ng__base_8c_source_l00642}{ng\+\_\+make\+\_\+node\+\_\+common()}}, \mbox{\hyperlink{ng__base_8c_source_l01272}{ng\+\_\+newtype()}}, and \mbox{\hyperlink{ng__socket_8c_source_l00219}{ngc\+\_\+send()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a1573d618c9d2901cc492a73c4205de7e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_abd80e0814383b1cb4d4e88855160eac4}\label{ng__base_8c_abd80e0814383b1cb4d4e88855160eac4}} 
\index{ng\_base.c@{ng\_base.c}!ng\_flush\_input\_queue@{ng\_flush\_input\_queue}}
\index{ng\_flush\_input\_queue@{ng\_flush\_input\_queue}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_flush\_input\_queue()}{ng\_flush\_input\_queue()}}
{\footnotesize\ttfamily static void ng\+\_\+flush\+\_\+input\+\_\+queue (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02176}{2176}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00630}{ng\+\_\+apply\+\_\+info\+::apply}}, \mbox{\hyperlink{netgraph_8h_source_l00659}{ng\+\_\+item\+::apply}}, \mbox{\hyperlink{netgraph_8h_source_l00631}{ng\+\_\+apply\+\_\+info\+::context}}, \mbox{\hyperlink{netgraph_8h_source_l00660}{ng\+\_\+item\+::depth}}, \mbox{\hyperlink{netgraph_8h_source_l00633}{ng\+\_\+apply\+\_\+info\+::error}}, \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{ng__base_8c_ad44d725964133ec727d4071d4faf23a1}{NG\+\_\+\+QUEUE\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__base_8c_a31e37f4f425bc8027b90ed416cbdb02f}{NG\+\_\+\+QUEUE\+\_\+\+UNLOCK}}, \mbox{\hyperlink{ng__base_8c_source_l01905}{OP\+\_\+\+PENDING}}, \mbox{\hyperlink{netgraph_8h_source_l00358}{ng\+\_\+queue\+::q\+\_\+flags}}, and \mbox{\hyperlink{netgraph_8h_source_l00632}{ng\+\_\+apply\+\_\+info\+::refs}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l00715}{ng\+\_\+rmnode()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d5/d13/ng__base_8c_abd80e0814383b1cb4d4e88855160eac4_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a2f1d253226c10786917f47287b93b466}\label{ng__base_8c_a2f1d253226c10786917f47287b93b466}} 
\index{ng\_base.c@{ng\_base.c}!ng\_free\_item@{ng\_free\_item}}
\index{ng\_free\_item@{ng\_free\_item}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_free\_item()}{ng\_free\_item()}}
{\footnotesize\ttfamily void ng\+\_\+free\+\_\+item (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03012}{3012}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00697}{\+\_\+\+NGI\+\_\+\+ARG1}}, \mbox{\hyperlink{netgraph_8h_source_l00698}{\+\_\+\+NGI\+\_\+\+ARG2}}, \mbox{\hyperlink{netgraph_8h_source_l00702}{\+\_\+\+NGI\+\_\+\+CLR\+\_\+\+HOOK}}, \mbox{\hyperlink{netgraph_8h_source_l00710}{\+\_\+\+NGI\+\_\+\+CLR\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00695}{\+\_\+\+NGI\+\_\+\+FN}}, \mbox{\hyperlink{netgraph_8h_source_l00692}{\+\_\+\+NGI\+\_\+M}}, \mbox{\hyperlink{netgraph_8h_source_l00693}{\+\_\+\+NGI\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00694}{\+\_\+\+NGI\+\_\+\+RETADDR}}, \mbox{\hyperlink{netgraph_8h_source_l00636}{ng\+\_\+item\+::el\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{netgraph_8h_source_l00938}{NG\+\_\+\+FREE\+\_\+\+MSG}}, \mbox{\hyperlink{ng__base_8c_source_l02960}{ng\+\_\+qdzone}}, \mbox{\hyperlink{ng__base_8c_source_l02959}{ng\+\_\+qzone}}, \mbox{\hyperlink{netgraph_8h_source_l00670}{NGQF\+\_\+\+DATA}}, \mbox{\hyperlink{netgraph_8h_source_l00671}{NGQF\+\_\+\+FN}}, \mbox{\hyperlink{netgraph_8h_source_l00672}{NGQF\+\_\+\+FN2}}, \mbox{\hyperlink{netgraph_8h_source_l00669}{NGQF\+\_\+\+MESG}}, and \mbox{\hyperlink{netgraph_8h_source_l00668}{NGQF\+\_\+\+TYPE}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03057}{ng\+\_\+realloc\+\_\+item()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a2f1d253226c10786917f47287b93b466_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_aa954d959e86b604a062f0db7a5d00c45}\label{ng__base_8c_aa954d959e86b604a062f0db7a5d00c45}} 
\index{ng\_base.c@{ng\_base.c}!ng\_generic\_linkinfo\_getLength@{ng\_generic\_linkinfo\_getLength}}
\index{ng\_generic\_linkinfo\_getLength@{ng\_generic\_linkinfo\_getLength}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_generic\_linkinfo\_getLength()}{ng\_generic\_linkinfo\_getLength()}}
{\footnotesize\ttfamily static int ng\+\_\+generic\+\_\+linkinfo\+\_\+get\+Length (\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__base_8c_source_l00440}{440}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__message_8h_source_l00227}{nodeinfo\+::hooks}}, and \mbox{\hyperlink{ng__message_8h_source_l00255}{hooklist\+::nodeinfo}}.

\mbox{\Hypertarget{ng__base_8c_ad936e93d4e0d25b58468217a014d1320}\label{ng__base_8c_ad936e93d4e0d25b58468217a014d1320}} 
\index{ng\_base.c@{ng\_base.c}!ng\_generic\_msg@{ng\_generic\_msg}}
\index{ng\_generic\_msg@{ng\_generic\_msg}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_generic\_msg()}{ng\_generic\_msg()}}
{\footnotesize\ttfamily static int ng\+\_\+generic\+\_\+msg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{here,  }\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__base_8c_source_l02512}{2512}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__message_8h_source_l00062}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::arglen}}, \mbox{\hyperlink{netgraph_8h_source_l01057}{ng\+\_\+cmdlist\+::cmd}}, \mbox{\hyperlink{ng__message_8h_source_l00063}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::cmd}}, \mbox{\hyperlink{netgraph_8h_source_l01090}{ng\+\_\+type\+::cmdlist}}, \mbox{\hyperlink{ng__message_8h_source_l00067}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::cmdstr}}, \mbox{\hyperlink{netgraph_8h_source_l01056}{ng\+\_\+cmdlist\+::cookie}}, \mbox{\hyperlink{ng__message_8h_source_l00069}{ng\+\_\+mesg\+::data}}, \mbox{\hyperlink{netgraph_8h_source_l00633}{ng\+\_\+apply\+\_\+info\+::error}}, \mbox{\hyperlink{ng__message_8h_source_l00064}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::flags}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00000}{header}}, \mbox{\hyperlink{structng__mesg_a16ea313a1e38531a10a14902b7579210}{ng\+\_\+mesg\+::header}}, \mbox{\hyperlink{ng__message_8h_source_l00227}{nodeinfo\+::hooks}}, \mbox{\hyperlink{ng__message_8h_source_l00226}{nodeinfo\+::id}}, \mbox{\hyperlink{ng__base_8c_ac31008b26fb640721ee68fc1692094e3}{IDHASH\+\_\+\+RLOCK}}, \mbox{\hyperlink{ng__base_8c_af5200c0955f48c3220918e108cb12e7f}{IDHASH\+\_\+\+RUNLOCK}}, \mbox{\hyperlink{ng__message_8h_source_l00256}{hooklist\+::link}}, \mbox{\hyperlink{netgraph_8h_source_l01059}{ng\+\_\+cmdlist\+::mesg\+Type}}, \mbox{\hyperlink{netgraph_8h_source_l01058}{ng\+\_\+cmdlist\+::name}}, \mbox{\hyperlink{netgraph_8h_source_l01078}{ng\+\_\+type\+::name}}, \mbox{\hyperlink{ng__message_8h_source_l00202}{ngm\+\_\+name\+::name}}, \mbox{\hyperlink{ng__message_8h_source_l00224}{nodeinfo\+::name}}, \mbox{\hyperlink{ng__base_8c_ab036211d590592840dba407807582728}{NAMEHASH\+\_\+\+RLOCK}}, \mbox{\hyperlink{ng__base_8c_a6675e9790d9d4e39414826450f46b734}{NAMEHASH\+\_\+\+RUNLOCK}}, \mbox{\hyperlink{netgraph_8h_source_l00369}{ng\+\_\+node\+::nd\+\_\+numhooks}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{ng__base_8c_source_l01482}{ng\+\_\+con\+\_\+nodes()}}, \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}, \mbox{\hyperlink{ng__base_8c_source_l01129}{ng\+\_\+findhook()}}, \mbox{\hyperlink{netgraph_8h_source_l00938}{NG\+\_\+\+FREE\+\_\+\+MSG}}, \mbox{\hyperlink{ng__base_8c_source_l00485}{ng\+\_\+generic\+\_\+cmds}}, \mbox{\hyperlink{netgraph_8h_source_l00331}{NG\+\_\+\+HOOK\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00337}{NG\+\_\+\+HOOK\+\_\+\+NOT\+\_\+\+VALID}}, \mbox{\hyperlink{ng__base_8c_source_l01545}{ng\+\_\+mkpeer()}}, \mbox{\hyperlink{ng__message_8h_source_l00396}{NG\+\_\+\+MKRESPONSE}}, \mbox{\hyperlink{ng__base_8c_source_l00852}{ng\+\_\+name\+\_\+node()}}, \mbox{\hyperlink{ng__base_8c_source_l00839}{ng\+\_\+node2\+ID()}}, \mbox{\hyperlink{netgraph_8h_source_l00604}{NG\+\_\+\+NODE\+\_\+\+HAS\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00603}{NG\+\_\+\+NODE\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00611}{NG\+\_\+\+NODE\+\_\+\+NOT\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__parse_8c_source_l00147}{ng\+\_\+parse()}}, \mbox{\hyperlink{ng__base_8c_source_l01728}{ng\+\_\+path2noderef()}}, \mbox{\hyperlink{netgraph_8h_source_l00168}{NG\+\_\+\+PEER\+\_\+\+HOOK\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00167}{NG\+\_\+\+PEER\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00169}{NG\+\_\+\+PEER\+\_\+\+NODE\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l01025}{NG\+\_\+\+RESPOND\+\_\+\+MSG}}, \mbox{\hyperlink{ng__base_8c_source_l00715}{ng\+\_\+rmnode()}}, \mbox{\hyperlink{ng__parse_8c_source_l00157}{ng\+\_\+unparse()}}, \mbox{\hyperlink{ng__message_8h_source_l00101}{NGF\+\_\+\+RESP}}, \mbox{\hyperlink{netgraph_8h_source_l00858}{NGI\+\_\+\+GET\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00834}{NGI\+\_\+\+MSG}}, \mbox{\hyperlink{ng__message_8h_source_l00138}{NGM\+\_\+\+ASCII2\+BINARY}}, \mbox{\hyperlink{ng__message_8h_source_l00136}{NGM\+\_\+\+BINARY2\+ASCII}}, \mbox{\hyperlink{ng__message_8h_source_l00119}{NGM\+\_\+\+CONNECT}}, \mbox{\hyperlink{ng__message_8h_source_l00113}{NGM\+\_\+\+GENERIC\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__message_8h_source_l00126}{NGM\+\_\+\+LISTHOOKS}}, \mbox{\hyperlink{ng__message_8h_source_l00128}{NGM\+\_\+\+LISTNAMES}}, \mbox{\hyperlink{ng__message_8h_source_l00130}{NGM\+\_\+\+LISTNODES}}, \mbox{\hyperlink{ng__message_8h_source_l00132}{NGM\+\_\+\+LISTTYPES}}, \mbox{\hyperlink{ng__message_8h_source_l00118}{NGM\+\_\+\+MKPEER}}, \mbox{\hyperlink{ng__message_8h_source_l00120}{NGM\+\_\+\+NAME}}, \mbox{\hyperlink{ng__message_8h_source_l00124}{NGM\+\_\+\+NODEINFO}}, \mbox{\hyperlink{ng__message_8h_source_l00121}{NGM\+\_\+\+RMHOOK}}, \mbox{\hyperlink{ng__message_8h_source_l00117}{NGM\+\_\+\+SHUTDOWN}}, \mbox{\hyperlink{ng__message_8h_source_l00140}{NGM\+\_\+\+TEXT\+\_\+\+CONFIG}}, \mbox{\hyperlink{ng__message_8h_source_l00134}{NGM\+\_\+\+TEXT\+\_\+\+STATUS}}, \mbox{\hyperlink{ng__message_8h_source_l00243}{linkinfo\+::nodeinfo}}, \mbox{\hyperlink{ng__message_8h_source_l00255}{hooklist\+::nodeinfo}}, \mbox{\hyperlink{ng__message_8h_source_l00269}{namelist\+::nodeinfo}}, \mbox{\hyperlink{ng__message_8h_source_l00268}{namelist\+::numnames}}, \mbox{\hyperlink{ng__message_8h_source_l00282}{typeinfo\+::numnodes}}, \mbox{\hyperlink{ng__message_8h_source_l00293}{typelist\+::numtypes}}, \mbox{\hyperlink{ng__message_8h_source_l00173}{ngm\+\_\+mkpeer\+::ourhook}}, \mbox{\hyperlink{ng__message_8h_source_l00188}{ngm\+\_\+connect\+::ourhook}}, \mbox{\hyperlink{ng__message_8h_source_l00213}{ngm\+\_\+rmhook\+::ourhook}}, \mbox{\hyperlink{ng__message_8h_source_l00241}{linkinfo\+::ourhook}}, \mbox{\hyperlink{ng__message_8h_source_l00187}{ngm\+\_\+connect\+::path}}, \mbox{\hyperlink{ng__message_8h_source_l00174}{ngm\+\_\+mkpeer\+::peerhook}}, \mbox{\hyperlink{ng__message_8h_source_l00189}{ngm\+\_\+connect\+::peerhook}}, \mbox{\hyperlink{ng__message_8h_source_l00242}{linkinfo\+::peerhook}}, \mbox{\hyperlink{netgraph_8h_source_l01081}{ng\+\_\+type\+::rcvmsg}}, \mbox{\hyperlink{netgraph_8h_source_l01060}{ng\+\_\+cmdlist\+::resp\+Type}}, \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}, \mbox{\hyperlink{ng__btsocket__rfcomm_8h_source_l00000}{type}}, \mbox{\hyperlink{ng__message_8h_source_l00172}{ngm\+\_\+mkpeer\+::type}}, \mbox{\hyperlink{ng__message_8h_source_l00225}{nodeinfo\+::type}}, \mbox{\hyperlink{ng__message_8h_source_l00281}{typeinfo\+::type\+\_\+name}}, \mbox{\hyperlink{ng__message_8h_source_l00066}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::typecookie}}, \mbox{\hyperlink{ng__message_8h_source_l00294}{typelist\+::typeinfo}}, \mbox{\hyperlink{ng__base_8c_ad792d0dd51964515d36b0d8fe4a5fcd1}{TYPELIST\+\_\+\+RLOCK}}, \mbox{\hyperlink{ng__base_8c_a708532d52448aee33f5f494c088c6c19}{TYPELIST\+\_\+\+RUNLOCK}}, \mbox{\hyperlink{ng__base_8c_ad0a4773cb27c547300c11cc1cdc74780}{V\+\_\+ng\+\_\+\+ID\+\_\+hash}}, \mbox{\hyperlink{ng__base_8c_aa28823cd95db08aaf3e195ad052d261c}{V\+\_\+ng\+\_\+\+ID\+\_\+hmask}}, \mbox{\hyperlink{ng__base_8c_ae4c610a76668dc7b77345e4fb809cc51}{V\+\_\+ng\+\_\+name\+\_\+hash}}, \mbox{\hyperlink{ng__base_8c_a0fcf882d40d1a9addf0bce85cc0eed8e}{V\+\_\+ng\+\_\+name\+\_\+hmask}}, \mbox{\hyperlink{ng__base_8c_a615ed8121628e631b8eb8d93ccb999c5}{V\+\_\+ng\+\_\+named\+\_\+nodes}}, and \mbox{\hyperlink{ng__base_8c_ad685d5a522de935eabb0fd450c116d2b}{V\+\_\+ng\+\_\+nodes}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02364}{ng\+\_\+apply\+\_\+item()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ad936e93d4e0d25b58468217a014d1320_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ad936e93d4e0d25b58468217a014d1320_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ab22a4b7ba7932993a29f6f9426d5ddda}\label{ng__base_8c_ab22a4b7ba7932993a29f6f9426d5ddda}} 
\index{ng\_base.c@{ng\_base.c}!ng\_ID2noderef@{ng\_ID2noderef}}
\index{ng\_ID2noderef@{ng\_ID2noderef}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_ID2noderef()}{ng\_ID2noderef()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} ng\+\_\+\+ID2noderef (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}}}]{ID }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00826}{826}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_ac31008b26fb640721ee68fc1692094e3}{IDHASH\+\_\+\+RLOCK}}, \mbox{\hyperlink{ng__base_8c_af5200c0955f48c3220918e108cb12e7f}{IDHASH\+\_\+\+RUNLOCK}}, \mbox{\hyperlink{ng__base_8c_ae48fdf26194dbff38203310b45f0f573}{NG\+\_\+\+IDHASH\+\_\+\+FIND}}, and \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l00913}{ng\+\_\+name2noderef()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ab22a4b7ba7932993a29f6f9426d5ddda_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a635a4cb4c9c3d15699bde4208d9bdd5b}\label{ng__base_8c_a635a4cb4c9c3d15699bde4208d9bdd5b}} 
\index{ng\_base.c@{ng\_base.c}!ng\_ID\_rehash@{ng\_ID\_rehash}}
\index{ng\_ID\_rehash@{ng\_ID\_rehash}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_ID\_rehash()}{ng\_ID\_rehash()}}
{\footnotesize\ttfamily static void ng\+\_\+\+ID\+\_\+rehash (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01012}{1012}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{ng__base_8c_ad0a4773cb27c547300c11cc1cdc74780}{V\+\_\+ng\+\_\+\+ID\+\_\+hash}}, \mbox{\hyperlink{ng__base_8c_aa28823cd95db08aaf3e195ad052d261c}{V\+\_\+ng\+\_\+\+ID\+\_\+hmask}}, and \mbox{\hyperlink{ng__base_8c_a0fcf882d40d1a9addf0bce85cc0eed8e}{V\+\_\+ng\+\_\+name\+\_\+hmask}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l00642}{ng\+\_\+make\+\_\+node\+\_\+common()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a635a4cb4c9c3d15699bde4208d9bdd5b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a1d782c3c61ee01c8dd34bc6acb92c3ee}\label{ng__base_8c_a1d782c3c61ee01c8dd34bc6acb92c3ee}} 
\index{ng\_base.c@{ng\_base.c}!ng\_leave\_read@{ng\_leave\_read}}
\index{ng\_leave\_read@{ng\_leave\_read}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_leave\_read()}{ng\_leave\_read()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void ng\+\_\+leave\+\_\+read (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02162}{2162}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{netgraph_8h_source_l00358}{ng\+\_\+queue\+::q\+\_\+flags}}, and \mbox{\hyperlink{ng__base_8c_source_l01906}{READER\+\_\+\+INCREMENT}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02364}{ng\+\_\+apply\+\_\+item()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a1d782c3c61ee01c8dd34bc6acb92c3ee_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_aa24302b13a2a3ea612fcf70a882db5b5}\label{ng__base_8c_aa24302b13a2a3ea612fcf70a882db5b5}} 
\index{ng\_base.c@{ng\_base.c}!ng\_leave\_write@{ng\_leave\_write}}
\index{ng\_leave\_write@{ng\_leave\_write}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_leave\_write()}{ng\_leave\_write()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void ng\+\_\+leave\+\_\+write (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02169}{2169}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{netgraph_8h_source_l00358}{ng\+\_\+queue\+::q\+\_\+flags}}, and \mbox{\hyperlink{ng__base_8c_source_l01904}{WRITER\+\_\+\+ACTIVE}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02364}{ng\+\_\+apply\+\_\+item()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_aa24302b13a2a3ea612fcf70a882db5b5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a4877bafb8cdb93eefaecd207af968dfa}\label{ng__base_8c_a4877bafb8cdb93eefaecd207af968dfa}} 
\index{ng\_base.c@{ng\_base.c}!ng\_make\_node@{ng\_make\_node}}
\index{ng\_make\_node@{ng\_make\_node}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_make\_node()}{ng\_make\_node()}}
{\footnotesize\ttfamily int ng\+\_\+make\+\_\+node (\begin{DoxyParamCaption}\item[{const char $\ast$}]{typename,  }\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} $\ast$}]{nodepp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00595}{595}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_source_l01325}{ng\+\_\+findtype()}}, \mbox{\hyperlink{ng__base_8c_source_l00642}{ng\+\_\+make\+\_\+node\+\_\+common()}}, \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}, and \mbox{\hyperlink{ng__btsocket__rfcomm_8h_source_l00000}{type}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l01545}{ng\+\_\+mkpeer()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a4877bafb8cdb93eefaecd207af968dfa_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a4877bafb8cdb93eefaecd207af968dfa_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ab7746fbe2e081d197c5c9911a6b42076}\label{ng__base_8c_ab7746fbe2e081d197c5c9911a6b42076}} 
\index{ng\_base.c@{ng\_base.c}!ng\_make\_node\_common@{ng\_make\_node\_common}}
\index{ng\_make\_node\_common@{ng\_make\_node\_common}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_make\_node\_common()}{ng\_make\_node\_common()}}
{\footnotesize\ttfamily int ng\+\_\+make\+\_\+node\+\_\+common (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} $\ast$}]{type,  }\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} $\ast$}]{nodepp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00642}{642}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_ac813e72949383fcb1b15370e228553e4}{IDHASH\+\_\+\+WLOCK}}, \mbox{\hyperlink{ng__base_8c_a25d0bab8bdf34e6fb0845ff73db9d678}{IDHASH\+\_\+\+WUNLOCK}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{netgraph_8h_source_l00377}{ng\+\_\+node\+::nd\+\_\+vnet}}, \mbox{\hyperlink{ng__base_8c_ab6e0077ece6980827d6041c7d2bb4a66}{NG\+\_\+\+ALLOC\+\_\+\+NODE}}, \mbox{\hyperlink{ng__base_8c_source_l01325}{ng\+\_\+findtype()}}, \mbox{\hyperlink{ng__base_8c_source_l01012}{ng\+\_\+\+ID\+\_\+rehash()}}, \mbox{\hyperlink{ng__base_8c_ae48fdf26194dbff38203310b45f0f573}{NG\+\_\+\+IDHASH\+\_\+\+FIND}}, \mbox{\hyperlink{ng__base_8c_a6fefe6eae928e4a14060f2e2f3b4e4b4}{NG\+\_\+\+IDHASH\+\_\+\+FN}}, \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}, \mbox{\hyperlink{ng__base_8c_ad928fd4c0240042807f3fd39a4d2c60a}{NG\+\_\+\+QUEUE\+\_\+\+LOCK\+\_\+\+INIT}}, \mbox{\hyperlink{netgraph_8h_source_l00358}{ng\+\_\+queue\+::q\+\_\+flags}}, \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}, \mbox{\hyperlink{ng__btsocket__rfcomm_8h_source_l00000}{type}}, \mbox{\hyperlink{ng__base_8c_a46822549ab6d6bad03929ef57524c63e}{V\+\_\+next\+ID}}, \mbox{\hyperlink{ng__base_8c_ad0a4773cb27c547300c11cc1cdc74780}{V\+\_\+ng\+\_\+\+ID\+\_\+hash}}, \mbox{\hyperlink{ng__base_8c_aa28823cd95db08aaf3e195ad052d261c}{V\+\_\+ng\+\_\+\+ID\+\_\+hmask}}, and \mbox{\hyperlink{ng__base_8c_ad685d5a522de935eabb0fd450c116d2b}{V\+\_\+ng\+\_\+nodes}}.



Referenced by \mbox{\hyperlink{ng__socket_8c_source_l00549}{ng\+\_\+attach\+\_\+cntl()}}, \mbox{\hyperlink{ng__btsocket__hci__raw_8c_source_l00732}{ng\+\_\+btsocket\+\_\+hci\+\_\+raw\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__hci__raw_8c_source_l00192}{ng\+\_\+btsocket\+\_\+hci\+\_\+raw\+\_\+node\+\_\+shutdown()}}, \mbox{\hyperlink{ng__btsocket__l2cap_8c_source_l01891}{ng\+\_\+btsocket\+\_\+l2cap\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__l2cap_8c_source_l00259}{ng\+\_\+btsocket\+\_\+l2cap\+\_\+node\+\_\+shutdown()}}, \mbox{\hyperlink{ng__btsocket__l2cap__raw_8c_source_l00517}{ng\+\_\+btsocket\+\_\+l2cap\+\_\+raw\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__l2cap__raw_8c_source_l00197}{ng\+\_\+btsocket\+\_\+l2cap\+\_\+raw\+\_\+node\+\_\+shutdown()}}, \mbox{\hyperlink{ng__btsocket__sco_8c_source_l01102}{ng\+\_\+btsocket\+\_\+sco\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__sco_8c_source_l00224}{ng\+\_\+btsocket\+\_\+sco\+\_\+node\+\_\+shutdown()}}, \mbox{\hyperlink{ng__ether_8c_source_l00304}{ng\+\_\+ether\+\_\+attach()}}, \mbox{\hyperlink{ng__gif_8c_source_l00225}{ng\+\_\+gif\+\_\+attach()}}, \mbox{\hyperlink{ng__ipfw_8c_source_l00104}{ng\+\_\+ipfw\+\_\+mod\+\_\+event()}}, \mbox{\hyperlink{ng__ksocket_8c_source_l01163}{ng\+\_\+ksocket\+\_\+accept()}}, \mbox{\hyperlink{ng__base_8c_source_l00595}{ng\+\_\+make\+\_\+node()}}, and \mbox{\hyperlink{ng__ubt_8c_source_l00634}{ubt\+\_\+attach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=337pt]{d5/d13/ng__base_8c_ab7746fbe2e081d197c5c9911a6b42076_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ab7746fbe2e081d197c5c9911a6b42076_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ae41f58c0e2071e9978775a6fb5e00b41}\label{ng__base_8c_ae41f58c0e2071e9978775a6fb5e00b41}} 
\index{ng\_base.c@{ng\_base.c}!ng\_mkpeer@{ng\_mkpeer}}
\index{ng\_mkpeer@{ng\_mkpeer}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_mkpeer()}{ng\_mkpeer()}}
{\footnotesize\ttfamily static int ng\+\_\+mkpeer (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{const char $\ast$}]{name,  }\item[{const char $\ast$}]{name2,  }\item[{char $\ast$}]{type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01545}{1545}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l01086}{ng\+\_\+type\+::connect}}, \mbox{\hyperlink{netgraph_8h_source_l00119}{ng\+\_\+hook\+::hk\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00122}{ng\+\_\+hook\+::hk\+\_\+node}}, \mbox{\hyperlink{netgraph_8h_source_l00121}{ng\+\_\+hook\+::hk\+\_\+peer}}, \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{ng__base_8c_source_l01068}{ng\+\_\+add\+\_\+hook()}}, \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}, \mbox{\hyperlink{netgraph_8h_source_l00330}{NG\+\_\+\+HOOK\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l00332}{NG\+\_\+\+HOOK\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__base_8c_source_l00595}{ng\+\_\+make\+\_\+node()}}, \mbox{\hyperlink{ng__base_8c_source_l00715}{ng\+\_\+rmnode()}}, and \mbox{\hyperlink{ng__btsocket__rfcomm_8h_source_l00000}{type}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02512}{ng\+\_\+generic\+\_\+msg()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ae41f58c0e2071e9978775a6fb5e00b41_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ae41f58c0e2071e9978775a6fb5e00b41_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a4174decb4e4a238c748341a45b09389b}\label{ng__base_8c_a4174decb4e4a238c748341a45b09389b}} 
\index{ng\_base.c@{ng\_base.c}!ng\_mod\_event@{ng\_mod\_event}}
\index{ng\_mod\_event@{ng\_mod\_event}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_mod\_event()}{ng\_mod\_event()}}
{\footnotesize\ttfamily int ng\+\_\+mod\+\_\+event (\begin{DoxyParamCaption}\item[{module\+\_\+t}]{mod,  }\item[{int}]{event,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03091}{3091}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__ubt__var_8h_source_l00002}{data}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00000}{event}}, \mbox{\hyperlink{ng__base_8c_source_l01272}{ng\+\_\+newtype()}}, \mbox{\hyperlink{ng__btsocket__rfcomm_8h_source_l00000}{type}}, \mbox{\hyperlink{ng__base_8c_add5cd5fbd97c58f0434a25ebde39bfda}{TYPELIST\+\_\+\+WLOCK}}, and \mbox{\hyperlink{ng__base_8c_a8b788036e6feb332405dc003726502b6}{TYPELIST\+\_\+\+WUNLOCK}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a4174decb4e4a238c748341a45b09389b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_af5cdde2e6651a68d0a638c86b06998d7}\label{ng__base_8c_af5cdde2e6651a68d0a638c86b06998d7}} 
\index{ng\_base.c@{ng\_base.c}!ng\_name2noderef@{ng\_name2noderef}}
\index{ng\_name2noderef@{ng\_name2noderef}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_name2noderef()}{ng\_name2noderef()}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} ng\+\_\+name2noderef (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{here,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00913}{913}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, \mbox{\hyperlink{ng__base_8c_ab036211d590592840dba407807582728}{NAMEHASH\+\_\+\+RLOCK}}, \mbox{\hyperlink{ng__base_8c_a6675e9790d9d4e39414826450f46b734}{NAMEHASH\+\_\+\+RUNLOCK}}, \mbox{\hyperlink{ng__base_8c_source_l00949}{ng\+\_\+decodeidname()}}, \mbox{\hyperlink{ng__base_8c_source_l00826}{ng\+\_\+\+ID2noderef()}}, \mbox{\hyperlink{ng__message_8h_source_l00104}{ng\+\_\+\+ID\+\_\+t}}, \mbox{\hyperlink{netgraph_8h_source_l00610}{NG\+\_\+\+NODE\+\_\+\+IS\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00603}{NG\+\_\+\+NODE\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}, \mbox{\hyperlink{ng__base_8c_ae4c610a76668dc7b77345e4fb809cc51}{V\+\_\+ng\+\_\+name\+\_\+hash}}, and \mbox{\hyperlink{ng__base_8c_a0fcf882d40d1a9addf0bce85cc0eed8e}{V\+\_\+ng\+\_\+name\+\_\+hmask}}.



Referenced by \mbox{\hyperlink{ng__ether_8c_source_l00304}{ng\+\_\+ether\+\_\+attach()}}, and \mbox{\hyperlink{ng__base_8c_source_l01728}{ng\+\_\+path2noderef()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=327pt]{d5/d13/ng__base_8c_af5cdde2e6651a68d0a638c86b06998d7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_af5cdde2e6651a68d0a638c86b06998d7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_abae5851c9f312eebd398b1cd085fe067}\label{ng__base_8c_abae5851c9f312eebd398b1cd085fe067}} 
\index{ng\_base.c@{ng\_base.c}!ng\_name\_node@{ng\_name\_node}}
\index{ng\_name\_node@{ng\_name\_node}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_name\_node()}{ng\_name\_node()}}
{\footnotesize\ttfamily int ng\+\_\+name\+\_\+node (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00852}{852}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, \mbox{\hyperlink{ng__base_8c_ab370b1a5e1ad1b827616bdf05db3c341}{NAMEHASH\+\_\+\+WLOCK}}, \mbox{\hyperlink{ng__base_8c_aae4b3bcd8ef99b9c62f63a00e572aaa4}{NAMEHASH\+\_\+\+WUNLOCK}}, \mbox{\hyperlink{ng__base_8c_source_l00949}{ng\+\_\+decodeidname()}}, \mbox{\hyperlink{ng__base_8c_source_l00981}{ng\+\_\+name\+\_\+rehash()}}, \mbox{\hyperlink{netgraph_8h_source_l00604}{NG\+\_\+\+NODE\+\_\+\+HAS\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00610}{NG\+\_\+\+NODE\+\_\+\+IS\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00603}{NG\+\_\+\+NODE\+\_\+\+NAME}}, \mbox{\hyperlink{ng__message_8h_source_l00050}{NG\+\_\+\+NODESIZ}}, \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}, \mbox{\hyperlink{ng__base_8c_ae4c610a76668dc7b77345e4fb809cc51}{V\+\_\+ng\+\_\+name\+\_\+hash}}, \mbox{\hyperlink{ng__base_8c_a0fcf882d40d1a9addf0bce85cc0eed8e}{V\+\_\+ng\+\_\+name\+\_\+hmask}}, and \mbox{\hyperlink{ng__base_8c_a615ed8121628e631b8eb8d93ccb999c5}{V\+\_\+ng\+\_\+named\+\_\+nodes}}.



Referenced by \mbox{\hyperlink{ng__socket_8c_source_l00758}{ng\+\_\+bind()}}, \mbox{\hyperlink{ng__btsocket__hci__raw_8c_source_l00732}{ng\+\_\+btsocket\+\_\+hci\+\_\+raw\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__hci__raw_8c_source_l00192}{ng\+\_\+btsocket\+\_\+hci\+\_\+raw\+\_\+node\+\_\+shutdown()}}, \mbox{\hyperlink{ng__btsocket__l2cap_8c_source_l01891}{ng\+\_\+btsocket\+\_\+l2cap\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__l2cap_8c_source_l00259}{ng\+\_\+btsocket\+\_\+l2cap\+\_\+node\+\_\+shutdown()}}, \mbox{\hyperlink{ng__btsocket__l2cap__raw_8c_source_l00517}{ng\+\_\+btsocket\+\_\+l2cap\+\_\+raw\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__l2cap__raw_8c_source_l00197}{ng\+\_\+btsocket\+\_\+l2cap\+\_\+raw\+\_\+node\+\_\+shutdown()}}, \mbox{\hyperlink{ng__btsocket__sco_8c_source_l01102}{ng\+\_\+btsocket\+\_\+sco\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__sco_8c_source_l00224}{ng\+\_\+btsocket\+\_\+sco\+\_\+node\+\_\+shutdown()}}, \mbox{\hyperlink{ng__device_8c_source_l00188}{ng\+\_\+device\+\_\+constructor()}}, \mbox{\hyperlink{ng__eiface_8c_source_l00382}{ng\+\_\+eiface\+\_\+constructor()}}, \mbox{\hyperlink{ng__ether_8c_source_l00304}{ng\+\_\+ether\+\_\+attach()}}, \mbox{\hyperlink{ng__ether_8c_source_l00411}{ng\+\_\+ether\+\_\+ifnet\+\_\+arrival\+\_\+event()}}, \mbox{\hyperlink{ng__base_8c_source_l02512}{ng\+\_\+generic\+\_\+msg()}}, \mbox{\hyperlink{ng__gif_8c_source_l00225}{ng\+\_\+gif\+\_\+attach()}}, \mbox{\hyperlink{ng__iface_8c_source_l00520}{ng\+\_\+iface\+\_\+constructor()}}, \mbox{\hyperlink{ng__ipfw_8c_source_l00104}{ng\+\_\+ipfw\+\_\+mod\+\_\+event()}}, and \mbox{\hyperlink{ng__ubt_8c_source_l00634}{ubt\+\_\+attach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=313pt]{d5/d13/ng__base_8c_abae5851c9f312eebd398b1cd085fe067_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_abae5851c9f312eebd398b1cd085fe067_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ae70cd76253855a0ac8b8e7acb5ca567d}\label{ng__base_8c_ae70cd76253855a0ac8b8e7acb5ca567d}} 
\index{ng\_base.c@{ng\_base.c}!ng\_name\_rehash@{ng\_name\_rehash}}
\index{ng\_name\_rehash@{ng\_name\_rehash}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_name\_rehash()}{ng\_name\_rehash()}}
{\footnotesize\ttfamily static void ng\+\_\+name\+\_\+rehash (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00981}{981}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00603}{NG\+\_\+\+NODE\+\_\+\+NAME}}, \mbox{\hyperlink{ng__base_8c_ae4c610a76668dc7b77345e4fb809cc51}{V\+\_\+ng\+\_\+name\+\_\+hash}}, and \mbox{\hyperlink{ng__base_8c_a0fcf882d40d1a9addf0bce85cc0eed8e}{V\+\_\+ng\+\_\+name\+\_\+hmask}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l00852}{ng\+\_\+name\+\_\+node()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ae70cd76253855a0ac8b8e7acb5ca567d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a67f567d871dc683c4cb7a75dcfedf458}\label{ng__base_8c_a67f567d871dc683c4cb7a75dcfedf458}} 
\index{ng\_base.c@{ng\_base.c}!ng\_newtype@{ng\_newtype}}
\index{ng\_newtype@{ng\_newtype}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_newtype()}{ng\_newtype()}}
{\footnotesize\ttfamily int ng\+\_\+newtype (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} $\ast$}]{tp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01272}{1272}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l01078}{ng\+\_\+type\+::name}}, \mbox{\hyperlink{netgraph_8h_source_l00077}{NG\+\_\+\+ABI\+\_\+\+VERSION}}, \mbox{\hyperlink{ng__base_8c_source_l01325}{ng\+\_\+findtype()}}, \mbox{\hyperlink{ng__message_8h_source_l00048}{NG\+\_\+\+TYPESIZ}}, \mbox{\hyperlink{netgraph_8h_source_l01094}{ng\+\_\+type\+::refs}}, \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}, \mbox{\hyperlink{ng__base_8c_add5cd5fbd97c58f0434a25ebde39bfda}{TYPELIST\+\_\+\+WLOCK}}, \mbox{\hyperlink{ng__base_8c_a8b788036e6feb332405dc003726502b6}{TYPELIST\+\_\+\+WUNLOCK}}, and \mbox{\hyperlink{netgraph_8h_source_l01077}{ng\+\_\+type\+::version}}.



Referenced by \mbox{\hyperlink{ng__btsocket__hci__raw_8c_source_l00732}{ng\+\_\+btsocket\+\_\+hci\+\_\+raw\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__l2cap_8c_source_l01891}{ng\+\_\+btsocket\+\_\+l2cap\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__l2cap__raw_8c_source_l00517}{ng\+\_\+btsocket\+\_\+l2cap\+\_\+raw\+\_\+init()}}, \mbox{\hyperlink{ng__btsocket__sco_8c_source_l01102}{ng\+\_\+btsocket\+\_\+sco\+\_\+init()}}, \mbox{\hyperlink{ng__base_8c_source_l03091}{ng\+\_\+mod\+\_\+event()}}, and \mbox{\hyperlink{ng__ubt_8c_source_l01971}{ubt\+\_\+modevent()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=266pt]{d5/d13/ng__base_8c_a67f567d871dc683c4cb7a75dcfedf458_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=343pt]{d5/d13/ng__base_8c_a67f567d871dc683c4cb7a75dcfedf458_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ac91f2c547b34db13ef98bb895defc729}\label{ng__base_8c_ac91f2c547b34db13ef98bb895defc729}} 
\index{ng\_base.c@{ng\_base.c}!ng\_node2ID@{ng\_node2ID}}
\index{ng\_node2ID@{ng\_node2ID}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_node2ID()}{ng\_node2ID()}}
{\footnotesize\ttfamily \mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}} ng\+\_\+node2\+ID (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_a70cc0b2d21053f394c5351228ac45339}{node\+\_\+cp}}}]{node }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00839}{839}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00605}{NG\+\_\+\+NODE\+\_\+\+ID}}.



Referenced by \mbox{\hyperlink{ng__bridge_8c_source_l01213}{ng\+\_\+bridge\+\_\+nodename()}}, \mbox{\hyperlink{ng__base_8c_source_l02512}{ng\+\_\+generic\+\_\+msg()}}, \mbox{\hyperlink{ng__base_8c_source_l03668}{ng\+\_\+package\+\_\+msg\+\_\+self()}}, and \mbox{\hyperlink{ng__base_8c_source_l03875}{ng\+\_\+replace\+\_\+retaddr()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ac91f2c547b34db13ef98bb895defc729_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a8af7a2701f1bafe727431b849e1137a5}\label{ng__base_8c_a8af7a2701f1bafe727431b849e1137a5}} 
\index{ng\_base.c@{ng\_base.c}!ng\_package\_data@{ng\_package\_data}}
\index{ng\_package\_data@{ng\_package\_data}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_package\_data()}{ng\_package\_data()}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} ng\+\_\+package\+\_\+data (\begin{DoxyParamCaption}\item[{struct mbuf $\ast$}]{m,  }\item[{int}]{flags }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03520}{3520}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00636}{ng\+\_\+item\+::el\+\_\+flags}}, \mbox{\hyperlink{netflow_8h_source_l00014}{flags}}, \mbox{\hyperlink{ng__base_8c_source_l03503}{ITEM\+\_\+\+DEBUG\+\_\+\+CHECKS}}, \mbox{\hyperlink{ng__base_8c_source_l02985}{ng\+\_\+alloc\+\_\+item()}}, \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{netgraph_8h_source_l00833}{NGI\+\_\+M}}, \mbox{\hyperlink{netgraph_8h_source_l00670}{NGQF\+\_\+\+DATA}}, and \mbox{\hyperlink{netgraph_8h_source_l00675}{NGQF\+\_\+\+READER}}.



Referenced by \mbox{\hyperlink{netflow__v9_8c_source_l00369}{get\+\_\+export9\+\_\+dgram()}}, \mbox{\hyperlink{netflow_8c_source_l00171}{get\+\_\+export\+\_\+dgram()}}, \mbox{\hyperlink{ng__socket_8c_source_l00699}{ng\+\_\+connect\+\_\+data()}}, \mbox{\hyperlink{ng__ppp_8c_source_l01887}{ng\+\_\+ppp\+\_\+frag\+\_\+checkstale()}}, \mbox{\hyperlink{ng__ppp_8c_source_l01824}{ng\+\_\+ppp\+\_\+frag\+\_\+process()}}, \mbox{\hyperlink{ng__ppp_8c_source_l01989}{ng\+\_\+ppp\+\_\+mp\+\_\+xmit()}}, and \mbox{\hyperlink{ng__socket_8c_source_l00410}{ngd\+\_\+send()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=302pt]{d5/d13/ng__base_8c_a8af7a2701f1bafe727431b849e1137a5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a8af7a2701f1bafe727431b849e1137a5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_abfc6b6f3a8376d39b3ac50861be8c933}\label{ng__base_8c_abfc6b6f3a8376d39b3ac50861be8c933}} 
\index{ng\_base.c@{ng\_base.c}!ng\_package\_msg@{ng\_package\_msg}}
\index{ng\_package\_msg@{ng\_package\_msg}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_package\_msg()}{ng\_package\_msg()}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} ng\+\_\+package\+\_\+msg (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structng__mesg}{ng\+\_\+mesg}} $\ast$}]{msg,  }\item[{int}]{flags }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03542}{3542}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__message_8h_source_l00063}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::cmd}}, \mbox{\hyperlink{netgraph_8h_source_l00636}{ng\+\_\+item\+::el\+\_\+flags}}, \mbox{\hyperlink{netflow_8h_source_l00014}{flags}}, \mbox{\hyperlink{structng__mesg_a16ea313a1e38531a10a14902b7579210}{ng\+\_\+mesg\+::header}}, \mbox{\hyperlink{ng__base_8c_source_l03503}{ITEM\+\_\+\+DEBUG\+\_\+\+CHECKS}}, \mbox{\hyperlink{ng__base_8c_source_l02985}{ng\+\_\+alloc\+\_\+item()}}, \mbox{\hyperlink{netgraph_8h_source_l00938}{NG\+\_\+\+FREE\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00834}{NGI\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00835}{NGI\+\_\+\+RETADDR}}, \mbox{\hyperlink{ng__message_8h_source_l00073}{NGM\+\_\+\+READONLY}}, \mbox{\hyperlink{netgraph_8h_source_l00669}{NGQF\+\_\+\+MESG}}, \mbox{\hyperlink{netgraph_8h_source_l00675}{NGQF\+\_\+\+READER}}, and \mbox{\hyperlink{netgraph_8h_source_l00676}{NGQF\+\_\+\+WRITER}}.



Referenced by \mbox{\hyperlink{ng__socket_8c_source_l00219}{ngc\+\_\+send()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=302pt]{d5/d13/ng__base_8c_abfc6b6f3a8376d39b3ac50861be8c933_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=279pt]{d5/d13/ng__base_8c_abfc6b6f3a8376d39b3ac50861be8c933_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a3bdb8387dae2e43142711433894d7740}\label{ng__base_8c_a3bdb8387dae2e43142711433894d7740}} 
\index{ng\_base.c@{ng\_base.c}!ng\_package\_msg\_self@{ng\_package\_msg\_self}}
\index{ng\_package\_msg\_self@{ng\_package\_msg\_self}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_package\_msg\_self()}{ng\_package\_msg\_self()}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} ng\+\_\+package\+\_\+msg\+\_\+self (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{here,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{struct \mbox{\hyperlink{structng__mesg}{ng\+\_\+mesg}} $\ast$}]{msg }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03668}{3668}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00636}{ng\+\_\+item\+::el\+\_\+flags}}, \mbox{\hyperlink{ng__base_8c_source_l02985}{ng\+\_\+alloc\+\_\+item()}}, \mbox{\hyperlink{netgraph_8h_source_l00938}{NG\+\_\+\+FREE\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00330}{NG\+\_\+\+HOOK\+\_\+\+REF}}, \mbox{\hyperlink{ng__base_8c_source_l00839}{ng\+\_\+node2\+ID()}}, \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l01171}{NG\+\_\+\+NOFLAGS}}, \mbox{\hyperlink{netgraph_8h_source_l00834}{NGI\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00835}{NGI\+\_\+\+RETADDR}}, \mbox{\hyperlink{netgraph_8h_source_l00842}{NGI\+\_\+\+SET\+\_\+\+HOOK}}, \mbox{\hyperlink{netgraph_8h_source_l00844}{NGI\+\_\+\+SET\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00669}{NGQF\+\_\+\+MESG}}, and \mbox{\hyperlink{netgraph_8h_source_l00676}{NGQF\+\_\+\+WRITER}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=325pt]{d5/d13/ng__base_8c_a3bdb8387dae2e43142711433894d7740_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a4e328a30d6a99603f9b47e5e02e76178}\label{ng__base_8c_a4e328a30d6a99603f9b47e5e02e76178}} 
\index{ng\_base.c@{ng\_base.c}!ng\_path2noderef@{ng\_path2noderef}}
\index{ng\_path2noderef@{ng\_path2noderef}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_path2noderef()}{ng\_path2noderef()}}
{\footnotesize\ttfamily int ng\+\_\+path2noderef (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{here,  }\item[{const char $\ast$}]{address,  }\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} $\ast$}]{destp,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} $\ast$}]{lasthook }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01728}{1728}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__btsocket__rfcomm_8h_source_l00000}{address}}, \mbox{\hyperlink{ng__base_8c_source_l01129}{ng\+\_\+findhook()}}, \mbox{\hyperlink{netgraph_8h_source_l00337}{NG\+\_\+\+HOOK\+\_\+\+NOT\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00340}{NG\+\_\+\+HOOK\+\_\+\+PEER}}, \mbox{\hyperlink{netgraph_8h_source_l00330}{NG\+\_\+\+HOOK\+\_\+\+REF}}, \mbox{\hyperlink{ng__base_8c_source_l00913}{ng\+\_\+name2noderef()}}, \mbox{\hyperlink{netgraph_8h_source_l00611}{NG\+\_\+\+NODE\+\_\+\+NOT\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__base_8c_source_l01659}{ng\+\_\+path\+\_\+parse()}}, \mbox{\hyperlink{ng__message_8h_source_l00051}{NG\+\_\+\+PATHSIZ}}, \mbox{\hyperlink{netgraph_8h_source_l00167}{NG\+\_\+\+PEER\+\_\+\+NODE}}, \mbox{\hyperlink{ng__base_8c_source_l00082}{TOPOLOGY\+\_\+\+WLOCK}}, \mbox{\hyperlink{ng__base_8c_source_l00083}{TOPOLOGY\+\_\+\+WUNLOCK}}, and \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02512}{ng\+\_\+generic\+\_\+msg()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a4e328a30d6a99603f9b47e5e02e76178_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a4e328a30d6a99603f9b47e5e02e76178_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a8905c404d8e7fc81228a092b670294c9}\label{ng__base_8c_a8905c404d8e7fc81228a092b670294c9}} 
\index{ng\_base.c@{ng\_base.c}!ng\_path\_parse@{ng\_path\_parse}}
\index{ng\_path\_parse@{ng\_path\_parse}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_path\_parse()}{ng\_path\_parse()}}
{\footnotesize\ttfamily int ng\+\_\+path\+\_\+parse (\begin{DoxyParamCaption}\item[{char $\ast$}]{addr,  }\item[{char $\ast$$\ast$}]{nodep,  }\item[{char $\ast$$\ast$}]{pathp,  }\item[{char $\ast$$\ast$}]{hookp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01659}{1659}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l01728}{ng\+\_\+path2noderef()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a8905c404d8e7fc81228a092b670294c9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a1466ee9aeecfe805b7d10ef057feb3a5}\label{ng__base_8c_a1466ee9aeecfe805b7d10ef057feb3a5}} 
\index{ng\_base.c@{ng\_base.c}!ng\_queue\_rw@{ng\_queue\_rw}}
\index{ng\_queue\_rw@{ng\_queue\_rw}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_queue\_rw()}{ng\_queue\_rw()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline void ng\+\_\+queue\+\_\+rw (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{int}]{rw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02017}{2017}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00660}{ng\+\_\+item\+::depth}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{ng__base_8c_source_l01931}{NEXT\+\_\+\+QUEUED\+\_\+\+ITEM\+\_\+\+CAN\+\_\+\+PROCEED}}, \mbox{\hyperlink{ng__base_8c_ad44d725964133ec727d4071d4faf23a1}{NG\+\_\+\+QUEUE\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__base_8c_a31e37f4f425bc8027b90ed416cbdb02f}{NG\+\_\+\+QUEUE\+\_\+\+UNLOCK}}, \mbox{\hyperlink{ng__base_8c_source_l03460}{ng\+\_\+worklist\+\_\+add()}}, \mbox{\hyperlink{netgraph_8h_source_l00877}{NGI\+\_\+\+SET\+\_\+\+READER}}, \mbox{\hyperlink{netgraph_8h_source_l00876}{NGI\+\_\+\+SET\+\_\+\+WRITER}}, \mbox{\hyperlink{ng__base_8c_source_l01936}{NGQRW\+\_\+W}}, \mbox{\hyperlink{ng__base_8c_source_l01905}{OP\+\_\+\+PENDING}}, and \mbox{\hyperlink{netgraph_8h_source_l00358}{ng\+\_\+queue\+::q\+\_\+flags}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02045}{ng\+\_\+acquire\+\_\+read()}}, \mbox{\hyperlink{ng__base_8c_source_l02073}{ng\+\_\+acquire\+\_\+write()}}, and \mbox{\hyperlink{ng__base_8c_source_l02227}{ng\+\_\+snd\+\_\+item()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=293pt]{d5/d13/ng__base_8c_a1466ee9aeecfe805b7d10ef057feb3a5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a1466ee9aeecfe805b7d10ef057feb3a5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a67dcf33286684352f689e3236f556ee9}\label{ng__base_8c_a67dcf33286684352f689e3236f556ee9}} 
\index{ng\_base.c@{ng\_base.c}!ng\_realloc\_item@{ng\_realloc\_item}}
\index{ng\_realloc\_item@{ng\_realloc\_item}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_realloc\_item()}{ng\_realloc\_item()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} ng\+\_\+realloc\+\_\+item (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{pitem,  }\item[{int}]{type,  }\item[{int}]{flags }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03057}{3057}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00636}{ng\+\_\+item\+::el\+\_\+flags}}, \mbox{\hyperlink{netflow_8h_source_l00014}{flags}}, \mbox{\hyperlink{ng__base_8c_source_l02985}{ng\+\_\+alloc\+\_\+item()}}, \mbox{\hyperlink{ng__base_8c_source_l03012}{ng\+\_\+free\+\_\+item()}}, \mbox{\hyperlink{netgraph_8h_source_l00670}{NGQF\+\_\+\+DATA}}, \mbox{\hyperlink{netgraph_8h_source_l00668}{NGQF\+\_\+\+TYPE}}, and \mbox{\hyperlink{ng__btsocket__rfcomm_8h_source_l00000}{type}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03737}{ng\+\_\+send\+\_\+fn2()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=296pt]{d5/d13/ng__base_8c_a67dcf33286684352f689e3236f556ee9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a67dcf33286684352f689e3236f556ee9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_aa1b48df317f644266b784ef22695373f}\label{ng__base_8c_aa1b48df317f644266b784ef22695373f}} 
\index{ng\_base.c@{ng\_base.c}!ng\_replace\_retaddr@{ng\_replace\_retaddr}}
\index{ng\_replace\_retaddr@{ng\_replace\_retaddr}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_replace\_retaddr()}{ng\_replace\_retaddr()}}
{\footnotesize\ttfamily void ng\+\_\+replace\+\_\+retaddr (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{here,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{\mbox{\hyperlink{ng__message_8h_aa187b4ec2a9994dc1dd8b06703b22d18}{ng\+\_\+\+ID\+\_\+t}}}]{retaddr }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03875}{3875}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_source_l00839}{ng\+\_\+node2\+ID()}}, and \mbox{\hyperlink{netgraph_8h_source_l00835}{NGI\+\_\+\+RETADDR}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=300pt]{d5/d13/ng__base_8c_aa1b48df317f644266b784ef22695373f_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a9dcdba5417f7def6500b0dc3bf5f4215}\label{ng__base_8c_a9dcdba5417f7def6500b0dc3bf5f4215}} 
\index{ng\_base.c@{ng\_base.c}!ng\_rmhook\_part2@{ng\_rmhook\_part2}}
\index{ng\_rmhook\_part2@{ng\_rmhook\_part2}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_rmhook\_part2()}{ng\_rmhook\_part2()}}
{\footnotesize\ttfamily static void ng\+\_\+rmhook\+\_\+part2 (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{void $\ast$}]{arg1,  }\item[{int}]{arg2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01624}{1624}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02364}{ng\+\_\+apply\+\_\+item()}}, and \mbox{\hyperlink{ng__base_8c_source_l01631}{ng\+\_\+rmhook\+\_\+self()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a9dcdba5417f7def6500b0dc3bf5f4215_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a9dcdba5417f7def6500b0dc3bf5f4215_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a6cbe70c76c741d7035f338d9132a05d0}\label{ng__base_8c_a6cbe70c76c741d7035f338d9132a05d0}} 
\index{ng\_base.c@{ng\_base.c}!ng\_rmhook\_self@{ng\_rmhook\_self}}
\index{ng\_rmhook\_self@{ng\_rmhook\_self}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_rmhook\_self()}{ng\_rmhook\_self()}}
{\footnotesize\ttfamily int ng\+\_\+rmhook\+\_\+self (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01631}{1631}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_source_l00121}{ng\+\_\+deadnode}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{ng__base_8c_source_l01624}{ng\+\_\+rmhook\+\_\+part2()}}, and \mbox{\hyperlink{ng__base_8c_source_l03700}{ng\+\_\+send\+\_\+fn()}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}, \mbox{\hyperlink{ng__pipe_8c_source_l00913}{ngp\+\_\+shutdown()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l02099}{pppoe\+\_\+ticker()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a6cbe70c76c741d7035f338d9132a05d0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a6cbe70c76c741d7035f338d9132a05d0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ab520be4e5d1381a533005595bd229616}\label{ng__base_8c_ab520be4e5d1381a533005595bd229616}} 
\index{ng\_base.c@{ng\_base.c}!ng\_rmnode@{ng\_rmnode}}
\index{ng\_rmnode@{ng\_rmnode}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_rmnode()}{ng\_rmnode()}}
{\footnotesize\ttfamily void ng\+\_\+rmnode (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{dummy1,  }\item[{void $\ast$}]{dummy2,  }\item[{int}]{dummy3 }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00715}{715}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l01082}{ng\+\_\+type\+::close}}, \mbox{\hyperlink{netgraph_8h_source_l00368}{ng\+\_\+node\+::nd\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{ng__base_8c_source_l00121}{ng\+\_\+deadnode}}, \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}, \mbox{\hyperlink{ng__base_8c_source_l02176}{ng\+\_\+flush\+\_\+input\+\_\+queue()}}, \mbox{\hyperlink{netgraph_8h_source_l00610}{NG\+\_\+\+NODE\+\_\+\+IS\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__base_8c_source_l00973}{ng\+\_\+unname()}}, \mbox{\hyperlink{netgraph_8h_source_l00392}{NGF\+\_\+\+CLOSING}}, \mbox{\hyperlink{netgraph_8h_source_l00388}{NGF\+\_\+\+INVALID}}, and \mbox{\hyperlink{netgraph_8h_source_l01083}{ng\+\_\+type\+::shutdown}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02364}{ng\+\_\+apply\+\_\+item()}}, \mbox{\hyperlink{ng__base_8c_source_l02512}{ng\+\_\+generic\+\_\+msg()}}, \mbox{\hyperlink{ng__base_8c_source_l01545}{ng\+\_\+mkpeer()}}, 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]{d5/d13/ng__base_8c_ab520be4e5d1381a533005595bd229616_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d5/d13/ng__base_8c_ab520be4e5d1381a533005595bd229616_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a61b14c501529c1aed905f3ccf6b28ff9}\label{ng__base_8c_a61b14c501529c1aed905f3ccf6b28ff9}} 
\index{ng\_base.c@{ng\_base.c}!ng\_rmnode\_self@{ng\_rmnode\_self}}
\index{ng\_rmnode\_self@{ng\_rmnode\_self}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_rmnode\_self()}{ng\_rmnode\_self()}}
{\footnotesize\ttfamily int ng\+\_\+rmnode\+\_\+self (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01609}{1609}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00368}{ng\+\_\+node\+::nd\+\_\+flags}}, \mbox{\hyperlink{ng__base_8c_source_l00121}{ng\+\_\+deadnode}}, \mbox{\hyperlink{ng__base_8c_source_l00715}{ng\+\_\+rmnode()}}, \mbox{\hyperlink{ng__base_8c_source_l03700}{ng\+\_\+send\+\_\+fn()}}, \mbox{\hyperlink{netgraph_8h_source_l00392}{NGF\+\_\+\+CLOSING}}, and \mbox{\hyperlink{netgraph_8h_source_l00388}{NGF\+\_\+\+INVALID}}.



Referenced by \mbox{\hyperlink{ng__cisco_8c_source_l00415}{cisco\+\_\+disconnect()}}, \mbox{\hyperlink{ng__atmllc_8c_source_l00263}{ng\+\_\+atmllc\+\_\+disconnect()}}, \mbox{\hyperlink{ng__bpf_8c_source_l00523}{ng\+\_\+bpf\+\_\+disconnect()}}, \mbox{\hyperlink{ng__bridge_8c_source_l00944}{ng\+\_\+bridge\+\_\+disconnect()}}, \mbox{\hyperlink{ng__car_8c_source_l00586}{ng\+\_\+car\+\_\+disconnect()}}, \mbox{\hyperlink{ng__ccatm_8c_source_l00871}{ng\+\_\+ccatm\+\_\+disconnect()}}, \mbox{\hyperlink{ng__checksum_8c_source_l00711}{ng\+\_\+checksum\+\_\+disconnect()}}, \mbox{\hyperlink{ng__deflate_8c_source_l00392}{ng\+\_\+deflate\+\_\+disconnect()}}, \mbox{\hyperlink{ng__device_8c_source_l00334}{ng\+\_\+device\+\_\+disconnect()}}, \mbox{\hyperlink{ng__etf_8c_source_l00450}{ng\+\_\+etf\+\_\+disconnect()}}, \mbox{\hyperlink{ng__ether_8c_source_l00354}{ng\+\_\+ether\+\_\+detach()}}, \mbox{\hyperlink{ng__ether_8c_source_l00780}{ng\+\_\+ether\+\_\+disconnect()}}, \mbox{\hyperlink{ng__gif_8c_source_l00262}{ng\+\_\+gif\+\_\+detach()}}, \mbox{\hyperlink{ng__gif_8c_source_l00513}{ng\+\_\+gif\+\_\+disconnect()}}, \mbox{\hyperlink{ng__hci__main_8c_source_l00256}{ng\+\_\+hci\+\_\+disconnect()}}, \mbox{\hyperlink{ng__hub_8c_source_l00165}{ng\+\_\+hub\+\_\+disconnect()}}, \mbox{\hyperlink{ng__ksocket_8c_source_l00973}{ng\+\_\+ksocket\+\_\+disconnect()}}, \mbox{\hyperlink{ng__ksocket_8c_source_l00932}{ng\+\_\+ksocket\+\_\+shutdown()}}, \mbox{\hyperlink{ng__l2cap__main_8c_source_l00224}{ng\+\_\+l2cap\+\_\+disconnect()}}, \mbox{\hyperlink{ng__l2tp_8c_source_l00682}{ng\+\_\+l2tp\+\_\+disconnect()}}, \mbox{\hyperlink{ng__macfilter_8c_source_l00814}{ng\+\_\+macfilter\+\_\+disconnect()}}, \mbox{\hyperlink{ng__mppc_8c_source_l00450}{ng\+\_\+mppc\+\_\+disconnect()}}, \mbox{\hyperlink{ng__nat_8c_source_l00928}{ng\+\_\+nat\+\_\+disconnect()}}, \mbox{\hyperlink{ng__netflow_8c_source_l01020}{ng\+\_\+netflow\+\_\+disconnect()}}, \mbox{\hyperlink{ng__one2many_8c_source_l00516}{ng\+\_\+one2many\+\_\+disconnect()}}, \mbox{\hyperlink{ng__patch_8c_source_l00676}{ng\+\_\+patch\+\_\+disconnect()}}, \mbox{\hyperlink{ng__ppp_8c_source_l00757}{ng\+\_\+ppp\+\_\+disconnect()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l02001}{ng\+\_\+pppoe\+\_\+disconnect()}}, \mbox{\hyperlink{ng__pptpgre_8c_source_l00529}{ng\+\_\+pptpgre\+\_\+disconnect()}}, \mbox{\hyperlink{ng__pred1_8c_source_l00361}{ng\+\_\+pred1\+\_\+disconnect()}}, \mbox{\hyperlink{ng__rfc1490_8c_source_l00470}{ng\+\_\+rfc1490\+\_\+disconnect()}}, \mbox{\hyperlink{ng__socket_8c_source_l00671}{ng\+\_\+socket\+\_\+free\+\_\+priv()}}, \mbox{\hyperlink{ng__source_8c_source_l00603}{ng\+\_\+source\+\_\+disconnect()}}, \mbox{\hyperlink{ng__split_8c_source_l00166}{ng\+\_\+split\+\_\+disconnect()}}, \mbox{\hyperlink{ng__sscfu_8c_source_l00362}{ng\+\_\+sscfu\+\_\+disconnect()}}, \mbox{\hyperlink{ng__sscop_8c_source_l00623}{ng\+\_\+sscop\+\_\+disconnect()}}, \mbox{\hyperlink{ng__tag_8c_source_l00608}{ng\+\_\+tag\+\_\+disconnect()}}, \mbox{\hyperlink{ng__tcpmss_8c_source_l00364}{ng\+\_\+tcpmss\+\_\+disconnect()}}, \mbox{\hyperlink{ng__tee_8c_source_l00366}{ng\+\_\+tee\+\_\+disconnect()}}, \mbox{\hyperlink{ng__UI_8c_source_l00224}{ng\+\_\+\+UI\+\_\+disconnect()}}, \mbox{\hyperlink{ng__uni_8c_source_l00490}{ng\+\_\+uni\+\_\+disconnect()}}, \mbox{\hyperlink{ng__vjc_8c_source_l00558}{ng\+\_\+vjc\+\_\+disconnect()}}, \mbox{\hyperlink{ng__vlan_8c_source_l00689}{ng\+\_\+vlan\+\_\+disconnect()}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00492}{ng\+\_\+vlanrotate\+\_\+disconnect()}}, \mbox{\hyperlink{ng__sample_8c_source_l00487}{ng\+\_\+xxx\+\_\+disconnect()}}, \mbox{\hyperlink{ng__async_8c_source_l00354}{nga\+\_\+disconnect()}}, \mbox{\hyperlink{ng__echo_8c_source_l00113}{nge\+\_\+disconnect()}}, \mbox{\hyperlink{ng__ether__echo_8c_source_l00137}{ngee\+\_\+disconnect()}}, \mbox{\hyperlink{ng__frame__relay_8c_source_l00484}{ngfrm\+\_\+disconnect()}}, \mbox{\hyperlink{ng__hole_8c_source_l00219}{ngh\+\_\+disconnect()}}, \mbox{\hyperlink{ng__ip__input_8c_source_l00142}{ngipi\+\_\+disconnect()}}, \mbox{\hyperlink{ng__lmi_8c_source_l01063}{nglmi\+\_\+disconnect()}}, \mbox{\hyperlink{ng__socket_8c_source_l01062}{ngs\+\_\+disconnect()}}, and \mbox{\hyperlink{ng__ubt_8c_source_l00786}{ubt\+\_\+detach()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a61b14c501529c1aed905f3ccf6b28ff9_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ab38b5c23d992569bd43607fbc99ca862}\label{ng__base_8c_ab38b5c23d992569bd43607fbc99ca862}} 
\index{ng\_base.c@{ng\_base.c}!ng\_rmtype@{ng\_rmtype}}
\index{ng\_rmtype@{ng\_rmtype}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_rmtype()}{ng\_rmtype()}}
{\footnotesize\ttfamily int ng\+\_\+rmtype (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} $\ast$}]{tp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01306}{1306}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l01094}{ng\+\_\+type\+::refs}}, \mbox{\hyperlink{ng__base_8c_a2a4a3bd6732bb448a3188f0348527f3e}{TRAP\+\_\+\+ERROR}}, \mbox{\hyperlink{ng__base_8c_add5cd5fbd97c58f0434a25ebde39bfda}{TYPELIST\+\_\+\+WLOCK}}, and \mbox{\hyperlink{ng__base_8c_a8b788036e6feb332405dc003726502b6}{TYPELIST\+\_\+\+WUNLOCK}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l01971}{ubt\+\_\+modevent()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=272pt]{d5/d13/ng__base_8c_ab38b5c23d992569bd43607fbc99ca862_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_abc5e657ef87b4ec66eceab40a5344831}\label{ng__base_8c_abc5e657ef87b4ec66eceab40a5344831}} 
\index{ng\_base.c@{ng\_base.c}!ng\_send\_fn@{ng\_send\_fn}}
\index{ng\_send\_fn@{ng\_send\_fn}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_send\_fn()}{ng\_send\_fn()}}
{\footnotesize\ttfamily int ng\+\_\+send\+\_\+fn (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{\mbox{\hyperlink{netgraph_8h_a73733a324ccf189ca16e284b19c0128c}{ng\+\_\+item\+\_\+fn}} $\ast$}]{fn,  }\item[{void $\ast$}]{arg1,  }\item[{int}]{arg2 }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03700}{3700}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__btsocket__hci__raw_8c_source_l01575}{ng\+\_\+btsocket\+\_\+hci\+\_\+raw\+\_\+send()}}, \mbox{\hyperlink{ng__eiface_8c_source_l00290}{ng\+\_\+eiface\+\_\+start()}}, \mbox{\hyperlink{ng__hci__main_8c_source_l00228}{ng\+\_\+hci\+\_\+connect()}}, \mbox{\hyperlink{ng__ksocket_8c_source_l00602}{ng\+\_\+ksocket\+\_\+connect()}}, \mbox{\hyperlink{ng__l2cap__main_8c_source_l00193}{ng\+\_\+l2cap\+\_\+connect()}}, \mbox{\hyperlink{ng__base_8c_source_l01631}{ng\+\_\+rmhook\+\_\+self()}}, and \mbox{\hyperlink{ng__base_8c_source_l01609}{ng\+\_\+rmnode\+\_\+self()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d5/d13/ng__base_8c_abc5e657ef87b4ec66eceab40a5344831_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a87dfc8b3dc4f97de3403646a1555e2d7}\label{ng__base_8c_a87dfc8b3dc4f97de3403646a1555e2d7}} 
\index{ng\_base.c@{ng\_base.c}!ng\_send\_fn1@{ng\_send\_fn1}}
\index{ng\_send\_fn1@{ng\_send\_fn1}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_send\_fn1()}{ng\_send\_fn1()}}
{\footnotesize\ttfamily int ng\+\_\+send\+\_\+fn1 (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{\mbox{\hyperlink{netgraph_8h_a73733a324ccf189ca16e284b19c0128c}{ng\+\_\+item\+\_\+fn}} $\ast$}]{fn,  }\item[{void $\ast$}]{arg1,  }\item[{int}]{arg2,  }\item[{int}]{flags }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03707}{3707}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__ksocket_8c_source_l00999}{ng\+\_\+ksocket\+\_\+incoming()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a87dfc8b3dc4f97de3403646a1555e2d7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_ae6eed3e0eff8b28cfbf7eef24626df73}\label{ng__base_8c_ae6eed3e0eff8b28cfbf7eef24626df73}} 
\index{ng\_base.c@{ng\_base.c}!ng\_send\_fn2@{ng\_send\_fn2}}
\index{ng\_send\_fn2@{ng\_send\_fn2}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_send\_fn2()}{ng\_send\_fn2()}}
{\footnotesize\ttfamily int ng\+\_\+send\+\_\+fn2 (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{pitem,  }\item[{\mbox{\hyperlink{netgraph_8h_a12fd4e08cf92fdf3a4a638f6d1f03b16}{ng\+\_\+item\+\_\+fn2}} $\ast$}]{fn,  }\item[{void $\ast$}]{arg1,  }\item[{int}]{arg2,  }\item[{int}]{flags }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03737}{3737}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00659}{ng\+\_\+item\+::apply}}, \mbox{\hyperlink{netgraph_8h_source_l00636}{ng\+\_\+item\+::el\+\_\+flags}}, \mbox{\hyperlink{netflow_8h_source_l00014}{flags}}, \mbox{\hyperlink{ng__ppp_8c_source_l00262}{fn}}, \mbox{\hyperlink{ng__base_8c_source_l02985}{ng\+\_\+alloc\+\_\+item()}}, \mbox{\hyperlink{netgraph_8h_source_l00330}{NG\+\_\+\+HOOK\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}, \mbox{\hyperlink{ng__base_8c_source_l03057}{ng\+\_\+realloc\+\_\+item()}}, \mbox{\hyperlink{netgraph_8h_source_l01176}{NG\+\_\+\+REUSE\+\_\+\+ITEM}}, \mbox{\hyperlink{ng__base_8c_source_l02227}{ng\+\_\+snd\+\_\+item()}}, \mbox{\hyperlink{netgraph_8h_source_l00838}{NGI\+\_\+\+ARG1}}, \mbox{\hyperlink{netgraph_8h_source_l00839}{NGI\+\_\+\+ARG2}}, \mbox{\hyperlink{netgraph_8h_source_l00837}{NGI\+\_\+\+FN2}}, \mbox{\hyperlink{netgraph_8h_source_l00842}{NGI\+\_\+\+SET\+\_\+\+HOOK}}, \mbox{\hyperlink{netgraph_8h_source_l00844}{NGI\+\_\+\+SET\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00672}{NGQF\+\_\+\+FN2}}, and \mbox{\hyperlink{netgraph_8h_source_l00676}{NGQF\+\_\+\+WRITER}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l01482}{ng\+\_\+con\+\_\+nodes()}}, and \mbox{\hyperlink{ng__base_8c_source_l01388}{ng\+\_\+con\+\_\+part2()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ae6eed3e0eff8b28cfbf7eef24626df73_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_ae6eed3e0eff8b28cfbf7eef24626df73_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a898d23f9c7a120c6d28ffb0d75b37db0}\label{ng__base_8c_a898d23f9c7a120c6d28ffb0d75b37db0}} 
\index{ng\_base.c@{ng\_base.c}!ng\_snd\_item@{ng\_snd\_item}}
\index{ng\_snd\_item@{ng\_snd\_item}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_snd\_item()}{ng\_snd\_item()}}
{\footnotesize\ttfamily int ng\+\_\+snd\+\_\+item (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{int}]{flags }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02227}{2227}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00630}{ng\+\_\+apply\+\_\+info\+::apply}}, \mbox{\hyperlink{netgraph_8h_source_l00659}{ng\+\_\+item\+::apply}}, \mbox{\hyperlink{ng__base_8c_ae3c44cef9081767d218acce82a03a3d7}{CHECK\+\_\+\+DATA\+\_\+\+MBUF}}, \mbox{\hyperlink{netgraph_8h_source_l00631}{ng\+\_\+apply\+\_\+info\+::context}}, \mbox{\hyperlink{netgraph_8h_source_l00660}{ng\+\_\+item\+::depth}}, \mbox{\hyperlink{netgraph_8h_source_l00636}{ng\+\_\+item\+::el\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00633}{ng\+\_\+apply\+\_\+info\+::error}}, \mbox{\hyperlink{ng__base_8c_a661c316872e6e1e6a714d7fad67f366f}{ERROUT}}, \mbox{\hyperlink{netflow_8h_source_l00014}{flags}}, \mbox{\hyperlink{netgraph_8h_source_l00119}{ng\+\_\+hook\+::hk\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00138}{HK\+\_\+\+FORCE\+\_\+\+WRITER}}, \mbox{\hyperlink{netgraph_8h_source_l00140}{HK\+\_\+\+HI\+\_\+\+STACK}}, \mbox{\hyperlink{netgraph_8h_source_l00137}{HK\+\_\+\+QUEUE}}, \mbox{\hyperlink{netgraph_8h_source_l00141}{HK\+\_\+\+TO\+\_\+\+INBOUND}}, \mbox{\hyperlink{netgraph_8h_source_l00368}{ng\+\_\+node\+::nd\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{ng__base_8c_source_l01931}{NEXT\+\_\+\+QUEUED\+\_\+\+ITEM\+\_\+\+CAN\+\_\+\+PROCEED}}, \mbox{\hyperlink{ng__base_8c_source_l02045}{ng\+\_\+acquire\+\_\+read()}}, \mbox{\hyperlink{ng__base_8c_source_l02073}{ng\+\_\+acquire\+\_\+write()}}, \mbox{\hyperlink{ng__base_8c_source_l02364}{ng\+\_\+apply\+\_\+item()}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}, \mbox{\hyperlink{netgraph_8h_source_l01175}{NG\+\_\+\+PROGRESS}}, \mbox{\hyperlink{netgraph_8h_source_l01172}{NG\+\_\+\+QUEUE}}, \mbox{\hyperlink{ng__base_8c_ad44d725964133ec727d4071d4faf23a1}{NG\+\_\+\+QUEUE\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__base_8c_source_l02017}{ng\+\_\+queue\+\_\+rw()}}, \mbox{\hyperlink{ng__base_8c_a31e37f4f425bc8027b90ed416cbdb02f}{NG\+\_\+\+QUEUE\+\_\+\+UNLOCK}}, \mbox{\hyperlink{ng__base_8c_source_l03460}{ng\+\_\+worklist\+\_\+add()}}, \mbox{\hyperlink{netgraph_8h_source_l00390}{NGF\+\_\+\+FORCE\+\_\+\+WRITER}}, \mbox{\hyperlink{netgraph_8h_source_l00396}{NGF\+\_\+\+HI\+\_\+\+STACK}}, \mbox{\hyperlink{netgraph_8h_source_l00864}{NGI\+\_\+\+GET\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00841}{NGI\+\_\+\+HOOK}}, \mbox{\hyperlink{netgraph_8h_source_l00833}{NGI\+\_\+M}}, \mbox{\hyperlink{netgraph_8h_source_l00840}{NGI\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00670}{NGQF\+\_\+\+DATA}}, \mbox{\hyperlink{netgraph_8h_source_l00674}{NGQF\+\_\+\+RW}}, \mbox{\hyperlink{netgraph_8h_source_l00668}{NGQF\+\_\+\+TYPE}}, \mbox{\hyperlink{netgraph_8h_source_l00676}{NGQF\+\_\+\+WRITER}}, \mbox{\hyperlink{ng__base_8c_source_l01935}{NGQRW\+\_\+R}}, \mbox{\hyperlink{ng__base_8c_source_l01936}{NGQRW\+\_\+W}}, \mbox{\hyperlink{ng__base_8c_source_l01918}{QUEUE\+\_\+\+ACTIVE}}, and \mbox{\hyperlink{netgraph_8h_source_l00632}{ng\+\_\+apply\+\_\+info\+::refs}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03776}{ng\+\_\+callout\+\_\+trampoline()}}, \mbox{\hyperlink{ng__base_8c_source_l03737}{ng\+\_\+send\+\_\+fn2()}}, and \mbox{\hyperlink{ng__socket_8c_source_l00219}{ngc\+\_\+send()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a898d23f9c7a120c6d28ffb0d75b37db0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a898d23f9c7a120c6d28ffb0d75b37db0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_aabe13cf527f80501a761c71c9b4888db}\label{ng__base_8c_aabe13cf527f80501a761c71c9b4888db}} 
\index{ng\_base.c@{ng\_base.c}!ng\_uncallout@{ng\_uncallout}}
\index{ng\_uncallout@{ng\_uncallout}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_uncallout()}{ng\_uncallout()}}
{\footnotesize\ttfamily int ng\+\_\+uncallout (\begin{DoxyParamCaption}\item[{struct callout $\ast$}]{c,  }\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03840}{3840}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_source_l03820}{ng\+\_\+uncallout\+\_\+internal()}}.



Referenced by \mbox{\hyperlink{ng__cisco_8c_source_l00415}{cisco\+\_\+disconnect()}}, \mbox{\hyperlink{ng__bridge_8c_source_l00918}{ng\+\_\+bridge\+\_\+shutdown()}}, \mbox{\hyperlink{ng__car_8c_source_l00567}{ng\+\_\+car\+\_\+shutdown()}}, \mbox{\hyperlink{ng__hci__misc_8c_source_l00388}{ng\+\_\+hci\+\_\+command\+\_\+untimeout()}}, \mbox{\hyperlink{ng__hci__misc_8c_source_l00429}{ng\+\_\+hci\+\_\+con\+\_\+untimeout()}}, \mbox{\hyperlink{ng__l2cap__misc_8c_source_l00574}{ng\+\_\+l2cap\+\_\+command\+\_\+untimeout()}}, \mbox{\hyperlink{ng__l2cap__misc_8c_source_l00230}{ng\+\_\+l2cap\+\_\+discon\+\_\+untimeout()}}, \mbox{\hyperlink{ng__l2cap__misc_8c_source_l00529}{ng\+\_\+l2cap\+\_\+lp\+\_\+untimeout()}}, \mbox{\hyperlink{ng__ppp_8c_source_l02640}{ng\+\_\+ppp\+\_\+stop\+\_\+frag\+\_\+timer()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l02001}{ng\+\_\+pppoe\+\_\+disconnect()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01412}{ng\+\_\+pppoe\+\_\+rcvdata()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}, \mbox{\hyperlink{ng__pptpgre_8c_source_l00745}{ng\+\_\+pptpgre\+\_\+rcvdata\+\_\+lower()}}, \mbox{\hyperlink{ng__pptpgre_8c_source_l01235}{ng\+\_\+pptpgre\+\_\+reset()}}, \mbox{\hyperlink{ng__pptpgre_8c_source_l00586}{ng\+\_\+pptpgre\+\_\+xmit()}}, \mbox{\hyperlink{ng__source_8c_source_l00714}{ng\+\_\+source\+\_\+stop()}}, \mbox{\hyperlink{ng__lmi_8c_source_l01063}{nglmi\+\_\+disconnect()}}, and \mbox{\hyperlink{ng__pipe_8c_source_l00913}{ngp\+\_\+shutdown()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_aabe13cf527f80501a761c71c9b4888db_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_aabe13cf527f80501a761c71c9b4888db_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a268be95aa6c288b75143dfa47874b036}\label{ng__base_8c_a268be95aa6c288b75143dfa47874b036}} 
\index{ng\_base.c@{ng\_base.c}!ng\_uncallout\_drain@{ng\_uncallout\_drain}}
\index{ng\_uncallout\_drain@{ng\_uncallout\_drain}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_uncallout\_drain()}{ng\_uncallout\_drain()}}
{\footnotesize\ttfamily int ng\+\_\+uncallout\+\_\+drain (\begin{DoxyParamCaption}\item[{struct callout $\ast$}]{c,  }\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03860}{3860}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_aafd8677101f31ff6781f7eb61a233a42}\label{ng__base_8c_aafd8677101f31ff6781f7eb61a233a42}} 
\index{ng\_base.c@{ng\_base.c}!ng\_uncallout\_internal@{ng\_uncallout\_internal}}
\index{ng\_uncallout\_internal@{ng\_uncallout\_internal}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_uncallout\_internal()}{ng\_uncallout\_internal()}}
{\footnotesize\ttfamily static void ng\+\_\+uncallout\+\_\+internal (\begin{DoxyParamCaption}\item[{struct callout $\ast$}]{c,  }\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03820}{3820}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_source_l03776}{ng\+\_\+callout\+\_\+trampoline()}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, and \mbox{\hyperlink{netgraph_8h_source_l00840}{NGI\+\_\+\+NODE}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03840}{ng\+\_\+uncallout()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_aafd8677101f31ff6781f7eb61a233a42_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_aafd8677101f31ff6781f7eb61a233a42_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a3d0c9145c32fcd7f37d545ece27c9663}\label{ng__base_8c_a3d0c9145c32fcd7f37d545ece27c9663}} 
\index{ng\_base.c@{ng\_base.c}!ng\_unname@{ng\_unname}}
\index{ng\_unname@{ng\_unname}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_unname()}{ng\_unname()}}
{\footnotesize\ttfamily void ng\+\_\+unname (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00973}{973}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l00715}{ng\+\_\+rmnode()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=550pt]{d5/d13/ng__base_8c_a3d0c9145c32fcd7f37d545ece27c9663_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a110fa425ee607f014ff26deb935dc639}\label{ng__base_8c_a110fa425ee607f014ff26deb935dc639}} 
\index{ng\_base.c@{ng\_base.c}!ng\_unref\_hook@{ng\_unref\_hook}}
\index{ng\_unref\_hook@{ng\_unref\_hook}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_unref\_hook()}{ng\_unref\_hook()}}
{\footnotesize\ttfamily void ng\+\_\+unref\+\_\+hook (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l01050}{1050}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00157}{\+\_\+\+NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00411}{\+\_\+\+NG\+\_\+\+NODE\+\_\+\+UNREF}}, \mbox{\hyperlink{netgraph_8h_source_l00126}{ng\+\_\+hook\+::hk\+\_\+refs}}, \mbox{\hyperlink{ng__base_8c_source_l00147}{ng\+\_\+deadhook}}, and \mbox{\hyperlink{ng__base_8c_a8722277e9896682a744cdfd4e36e3e36}{NG\+\_\+\+FREE\+\_\+\+HOOK}}.

\mbox{\Hypertarget{ng__base_8c_a22cd6bd52207ca868967686c8b04793e}\label{ng__base_8c_a22cd6bd52207ca868967686c8b04793e}} 
\index{ng\_base.c@{ng\_base.c}!ng\_unref\_node@{ng\_unref\_node}}
\index{ng\_unref\_node@{ng\_unref\_node}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_unref\_node()}{ng\_unref\_node()}}
{\footnotesize\ttfamily void ng\+\_\+unref\+\_\+node (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00793}{793}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_ac813e72949383fcb1b15370e228553e4}{IDHASH\+\_\+\+WLOCK}}, \mbox{\hyperlink{ng__base_8c_a25d0bab8bdf34e6fb0845ff73db9d678}{IDHASH\+\_\+\+WUNLOCK}}, \mbox{\hyperlink{ng__base_8c_ab370b1a5e1ad1b827616bdf05db3c341}{NAMEHASH\+\_\+\+WLOCK}}, \mbox{\hyperlink{ng__base_8c_aae4b3bcd8ef99b9c62f63a00e572aaa4}{NAMEHASH\+\_\+\+WUNLOCK}}, \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{netgraph_8h_source_l00376}{ng\+\_\+node\+::nd\+\_\+refs}}, \mbox{\hyperlink{netgraph_8h_source_l00367}{ng\+\_\+node\+::nd\+\_\+type}}, \mbox{\hyperlink{netgraph_8h_source_l00377}{ng\+\_\+node\+::nd\+\_\+vnet}}, \mbox{\hyperlink{ng__base_8c_source_l00121}{ng\+\_\+deadnode}}, \mbox{\hyperlink{ng__base_8c_afcb1c616fe17f74aa28708b2e5c2e9f3}{NG\+\_\+\+FREE\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00604}{NG\+\_\+\+NODE\+\_\+\+HAS\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00360}{ng\+\_\+queue\+::q\+\_\+mtx}}, \mbox{\hyperlink{netgraph_8h_source_l01094}{ng\+\_\+type\+::refs}}, \mbox{\hyperlink{ng__base_8c_a615ed8121628e631b8eb8d93ccb999c5}{V\+\_\+ng\+\_\+named\+\_\+nodes}}, and \mbox{\hyperlink{ng__base_8c_ad685d5a522de935eabb0fd450c116d2b}{V\+\_\+ng\+\_\+nodes}}.

\mbox{\Hypertarget{ng__base_8c_a9d715d2e185b01588e7a07fb218c1d22}\label{ng__base_8c_a9d715d2e185b01588e7a07fb218c1d22}} 
\index{ng\_base.c@{ng\_base.c}!ng\_worklist\_add@{ng\_worklist\_add}}
\index{ng\_worklist\_add@{ng\_worklist\_add}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_worklist\_add()}{ng\_worklist\_add()}}
{\footnotesize\ttfamily static void ng\+\_\+worklist\+\_\+add (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03460}{3460}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{netgraph_8h_source_l00375}{ng\+\_\+node\+::nd\+\_\+input\+\_\+queue}}, \mbox{\hyperlink{netgraph_8h_source_l00606}{NG\+\_\+\+NODE\+\_\+\+REF}}, \mbox{\hyperlink{ng__base_8c_aa0e6d07336fefe81da89e918280c0e94}{NG\+\_\+\+WORKLIST\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__base_8c_aae51773935317f2811f55b60e94792a1}{NG\+\_\+\+WORKLIST\+\_\+\+UNLOCK}}, \mbox{\hyperlink{ng__base_8c_abf30ac164b7896a4af963b53ee7a72ab}{NG\+\_\+\+WORKLIST\+\_\+\+WAKEUP}}, \mbox{\hyperlink{ng__base_8c_source_l01938}{NGQ2\+\_\+\+WORKQ}}, \mbox{\hyperlink{netgraph_8h_source_l00359}{ng\+\_\+queue\+::q\+\_\+flags2}}, and \mbox{\hyperlink{netgraph_8h_source_l00360}{ng\+\_\+queue\+::q\+\_\+mtx}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02017}{ng\+\_\+queue\+\_\+rw()}}, and \mbox{\hyperlink{ng__base_8c_source_l02227}{ng\+\_\+snd\+\_\+item()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a9d715d2e185b01588e7a07fb218c1d22_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a396817d48f5ba91f0db49c527b4dc21a}\label{ng__base_8c_a396817d48f5ba91f0db49c527b4dc21a}} 
\index{ng\_base.c@{ng\_base.c}!ngb\_mod\_event@{ngb\_mod\_event}}
\index{ngb\_mod\_event@{ngb\_mod\_event}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ngb\_mod\_event()}{ngb\_mod\_event()}}
{\footnotesize\ttfamily static int ngb\+\_\+mod\+\_\+event (\begin{DoxyParamCaption}\item[{module\+\_\+t}]{mod,  }\item[{int}]{event,  }\item[{void $\ast$}]{data }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03200}{3200}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__ubt__var_8h_source_l00000}{event}}, \mbox{\hyperlink{ng__base_8c_source_l02962}{maxalloc}}, \mbox{\hyperlink{ng__base_8c_source_l02963}{maxdata}}, \mbox{\hyperlink{ng__base_8c_source_l02960}{ng\+\_\+qdzone}}, \mbox{\hyperlink{ng__base_8c_source_l02959}{ng\+\_\+qzone}}, \mbox{\hyperlink{ng__base_8c_source_l00079}{ng\+\_\+topo\+\_\+lock}}, \mbox{\hyperlink{ng__base_8c_a0c93924bd56b270781b46bbd17d07ea9}{NG\+\_\+\+WORKLIST\+\_\+\+LOCK\+\_\+\+INIT}}, \mbox{\hyperlink{ng__base_8c_source_l03406}{ngthread()}}, and \mbox{\hyperlink{ng__base_8c_source_l02961}{numthreads}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a396817d48f5ba91f0db49c527b4dc21a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a7d51ab82df99dad752e4dd859ced10ca}\label{ng__base_8c_a7d51ab82df99dad752e4dd859ced10ca}} 
\index{ng\_base.c@{ng\_base.c}!ngthread@{ngthread}}
\index{ngthread@{ngthread}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ngthread()}{ngthread()}}
{\footnotesize\ttfamily static void ngthread (\begin{DoxyParamCaption}\item[{void $\ast$}]{arg }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03406}{3406}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_source_l02364}{ng\+\_\+apply\+\_\+item()}}, \mbox{\hyperlink{ng__base_8c_source_l01948}{ng\+\_\+dequeue()}}, \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__base_8c_ad44d725964133ec727d4071d4faf23a1}{NG\+\_\+\+QUEUE\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__base_8c_a31e37f4f425bc8027b90ed416cbdb02f}{NG\+\_\+\+QUEUE\+\_\+\+UNLOCK}}, \mbox{\hyperlink{ng__base_8c_aa0e6d07336fefe81da89e918280c0e94}{NG\+\_\+\+WORKLIST\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__base_8c_ae81040ecce1b13d8ff084d7da4fa4379}{NG\+\_\+\+WORKLIST\+\_\+\+SLEEP}}, \mbox{\hyperlink{ng__base_8c_aae51773935317f2811f55b60e94792a1}{NG\+\_\+\+WORKLIST\+\_\+\+UNLOCK}}, and \mbox{\hyperlink{netgraph_8h_source_l00864}{NGI\+\_\+\+GET\+\_\+\+NODE}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03200}{ngb\+\_\+mod\+\_\+event()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d13/ng__base_8c_a7d51ab82df99dad752e4dd859ced10ca_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=271pt]{d5/d13/ng__base_8c_a7d51ab82df99dad752e4dd859ced10ca_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__base_8c_a6a5e8c42ccf1bf8607f2942872fdac0f}\label{ng__base_8c_a6a5e8c42ccf1bf8607f2942872fdac0f}} 
\index{ng\_base.c@{ng\_base.c}!STAILQ\_HEAD@{STAILQ\_HEAD}}
\index{STAILQ\_HEAD@{STAILQ\_HEAD}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{STAILQ\_HEAD()}{STAILQ\_HEAD()}}
{\footnotesize\ttfamily static STAILQ\+\_\+\+HEAD (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structng__node}{ng\+\_\+node}}}]{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00170}{170}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a7cbddac62b26ec0bde6455ec2b1f79df}\label{ng__base_8c_a7cbddac62b26ec0bde6455ec2b1f79df}} 
\index{ng\_base.c@{ng\_base.c}!SYSCTL\_INT@{SYSCTL\_INT}}
\index{SYSCTL\_INT@{SYSCTL\_INT}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_INT()}{SYSCTL\_INT()}\hspace{0.1cm}{\footnotesize\ttfamily [1/5]}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+INT (\begin{DoxyParamCaption}\item[{\+\_\+net\+\_\+graph}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{abi\+\_\+version}]{,  }\item[{CTLFLAG\+\_\+\+RD}]{,  }\item[{SYSCTL\+\_\+\+NULL\+\_\+\+INT\+\_\+\+PTR}]{,  }\item[{\mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\+\_\+\+ABI\+\_\+\+VERSION}}}]{,  }\item[{\char`\"{}\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_a2ff942b42c3c54cd50d6141df0324532}\label{ng__base_8c_a2ff942b42c3c54cd50d6141df0324532}} 
\index{ng\_base.c@{ng\_base.c}!SYSCTL\_INT@{SYSCTL\_INT}}
\index{SYSCTL\_INT@{SYSCTL\_INT}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_INT()}{SYSCTL\_INT()}\hspace{0.1cm}{\footnotesize\ttfamily [2/5]}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+INT (\begin{DoxyParamCaption}\item[{\+\_\+net\+\_\+graph}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{\mbox{\hyperlink{ng__base_8c_a57cdfec45012933e8eef4f402cf766ab}{maxalloc}}}]{,  }\item[{CTLFLAG\+\_\+\+RDTUN}]{,  }\item[{\&}]{maxalloc,  }\item[{0}]{,  }\item[{\char`\"{}Maximum number of non-\/\mbox{\hyperlink{ng__ubt__var_8h_a7f897df1949af68456ee830f2468e476}{data}} queue items to allocate\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_ae94d7bb5e06da8f380e146d3cb327cf1}\label{ng__base_8c_ae94d7bb5e06da8f380e146d3cb327cf1}} 
\index{ng\_base.c@{ng\_base.c}!SYSCTL\_INT@{SYSCTL\_INT}}
\index{SYSCTL\_INT@{SYSCTL\_INT}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_INT()}{SYSCTL\_INT()}\hspace{0.1cm}{\footnotesize\ttfamily [3/5]}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+INT (\begin{DoxyParamCaption}\item[{\+\_\+net\+\_\+graph}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{\mbox{\hyperlink{ng__base_8c_a1fedfc3927bd12a57fbf54e04cdad720}{maxdata}}}]{,  }\item[{CTLFLAG\+\_\+\+RDTUN}]{,  }\item[{\&}]{maxdata,  }\item[{0}]{,  }\item[{\char`\"{}Maximum number of \mbox{\hyperlink{ng__ubt__var_8h_a7f897df1949af68456ee830f2468e476}{data}} queue items to allocate\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_ad98d291c8ca666cee56fe654a5922578}\label{ng__base_8c_ad98d291c8ca666cee56fe654a5922578}} 
\index{ng\_base.c@{ng\_base.c}!SYSCTL\_INT@{SYSCTL\_INT}}
\index{SYSCTL\_INT@{SYSCTL\_INT}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_INT()}{SYSCTL\_INT()}\hspace{0.1cm}{\footnotesize\ttfamily [4/5]}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+INT (\begin{DoxyParamCaption}\item[{\+\_\+net\+\_\+graph}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{msg\+\_\+version}]{,  }\item[{CTLFLAG\+\_\+\+RD}]{,  }\item[{SYSCTL\+\_\+\+NULL\+\_\+\+INT\+\_\+\+PTR}]{,  }\item[{\mbox{\hyperlink{ng__message_8h_a34630a5f9e316eae0b4c688a21424e97}{NG\+\_\+\+VERSION}}}]{,  }\item[{\char`\"{}\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_a978f1fd0811c0aed12cf6c3c5d4a5b2b}\label{ng__base_8c_a978f1fd0811c0aed12cf6c3c5d4a5b2b}} 
\index{ng\_base.c@{ng\_base.c}!SYSCTL\_INT@{SYSCTL\_INT}}
\index{SYSCTL\_INT@{SYSCTL\_INT}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_INT()}{SYSCTL\_INT()}\hspace{0.1cm}{\footnotesize\ttfamily [5/5]}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+INT (\begin{DoxyParamCaption}\item[{\+\_\+net\+\_\+graph}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{threads}]{,  }\item[{CTLFLAG\+\_\+\+RDTUN}]{,  }\item[{\&}]{numthreads,  }\item[{0}]{,  }\item[{\char`\"{}Number of queue processing threads\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_af2bb2b48b243e8b21d149f35a77ddc6b}\label{ng__base_8c_af2bb2b48b243e8b21d149f35a77ddc6b}} 
\index{ng\_base.c@{ng\_base.c}!SYSCTL\_NODE@{SYSCTL\_NODE}}
\index{SYSCTL\_NODE@{SYSCTL\_NODE}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_NODE()}{SYSCTL\_NODE()}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+NODE (\begin{DoxyParamCaption}\item[{\+\_\+net}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{graph}]{,  }\item[{CTLFLAG\+\_\+\+RW$\vert$}]{CTLFLAG\+\_\+\+MPSAFE,  }\item[{0}]{,  }\item[{\char`\"{}netgraph Family\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__base_8c_a234191e5b3758094892aef24ae041b5e}\label{ng__base_8c_a234191e5b3758094892aef24ae041b5e}} 
\index{ng\_base.c@{ng\_base.c}!vnet\_netgraph\_init@{vnet\_netgraph\_init}}
\index{vnet\_netgraph\_init@{vnet\_netgraph\_init}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{vnet\_netgraph\_init()}{vnet\_netgraph\_init()}}
{\footnotesize\ttfamily static void vnet\+\_\+netgraph\+\_\+init (\begin{DoxyParamCaption}\item[{const void $\ast$unused}]{\+\_\+\+\_\+unused }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l03141}{3141}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



References \mbox{\hyperlink{ng__base_8c_ad0a4773cb27c547300c11cc1cdc74780}{V\+\_\+ng\+\_\+\+ID\+\_\+hash}}, \mbox{\hyperlink{ng__base_8c_aa28823cd95db08aaf3e195ad052d261c}{V\+\_\+ng\+\_\+\+ID\+\_\+hmask}}, \mbox{\hyperlink{ng__base_8c_ae4c610a76668dc7b77345e4fb809cc51}{V\+\_\+ng\+\_\+name\+\_\+hash}}, and \mbox{\hyperlink{ng__base_8c_a0fcf882d40d1a9addf0bce85cc0eed8e}{V\+\_\+ng\+\_\+name\+\_\+hmask}}.

\mbox{\Hypertarget{ng__base_8c_ab6c1e8e57412f6f82b77b71b4a47078d}\label{ng__base_8c_ab6c1e8e57412f6f82b77b71b4a47078d}} 
\index{ng\_base.c@{ng\_base.c}!VNET\_SYSINIT@{VNET\_SYSINIT}}
\index{VNET\_SYSINIT@{VNET\_SYSINIT}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{VNET\_SYSINIT()}{VNET\_SYSINIT()}}
{\footnotesize\ttfamily VNET\+\_\+\+SYSINIT (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__base_8c_a234191e5b3758094892aef24ae041b5e}{vnet\+\_\+netgraph\+\_\+init}}}]{,  }\item[{SI\+\_\+\+SUB\+\_\+\+NETGRAPH}]{,  }\item[{SI\+\_\+\+ORDER\+\_\+\+FIRST}]{,  }\item[{\mbox{\hyperlink{ng__base_8c_a234191e5b3758094892aef24ae041b5e}{vnet\+\_\+netgraph\+\_\+init}}}]{,  }\item[{NULL}]{ }\end{DoxyParamCaption})}



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{ng__base_8c_a57cdfec45012933e8eef4f402cf766ab}\label{ng__base_8c_a57cdfec45012933e8eef4f402cf766ab}} 
\index{ng\_base.c@{ng\_base.c}!maxalloc@{maxalloc}}
\index{maxalloc@{maxalloc}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{maxalloc}{maxalloc}}
{\footnotesize\ttfamily int maxalloc = 4096\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02962}{2962}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03200}{ngb\+\_\+mod\+\_\+event()}}.

\mbox{\Hypertarget{ng__base_8c_a1fedfc3927bd12a57fbf54e04cdad720}\label{ng__base_8c_a1fedfc3927bd12a57fbf54e04cdad720}} 
\index{ng\_base.c@{ng\_base.c}!maxdata@{maxdata}}
\index{maxdata@{maxdata}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{maxdata}{maxdata}}
{\footnotesize\ttfamily int maxdata = 4096\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02963}{2963}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03200}{ngb\+\_\+mod\+\_\+event()}}.

\mbox{\Hypertarget{ng__base_8c_a6ff0a08197cd0203dce31fbc09a0acb6}\label{ng__base_8c_a6ff0a08197cd0203dce31fbc09a0acb6}} 
\index{ng\_base.c@{ng\_base.c}!netgraph\_mod@{netgraph\_mod}}
\index{netgraph\_mod@{netgraph\_mod}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{netgraph\_mod}{netgraph\_mod}}
{\footnotesize\ttfamily moduledata\+\_\+t netgraph\+\_\+mod\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}netgraph"{}},}
\DoxyCodeLine{        \mbox{\hyperlink{ng__base_8c_a396817d48f5ba91f0db49c527b4dc21a}{ngb\_mod\_event}},}
\DoxyCodeLine{        (NULL)}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l03251}{3251}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a7b3579274c11317f5f0c7ded0c8f0154}\label{ng__base_8c_a7b3579274c11317f5f0c7ded0c8f0154}} 
\index{ng\_base.c@{ng\_base.c}!ng\_deadhook@{ng\_deadhook}}
\index{ng\_deadhook@{ng\_deadhook}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_deadhook}{ng\_deadhook}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structng__hook}{ng\+\_\+hook}} ng\+\_\+deadhook}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}dead"{}},}
\DoxyCodeLine{        NULL,           }
\DoxyCodeLine{        \mbox{\hyperlink{netgraph_8h_a3731dfce0d5b1c0924ae5e57ee04aa52}{HK\_INVALID}} | \mbox{\hyperlink{netgraph_8h_af75025aa28056c01585b572f351a52b3}{HK\_DEAD}},}
\DoxyCodeLine{        0,              }
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__base_8c_a7b3579274c11317f5f0c7ded0c8f0154}{ng\_deadhook}},        }
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__base_8c_a696a31653667f1aa94797901263d77b7}{ng\_deadnode}},        }
\DoxyCodeLine{        \{\},             }
\DoxyCodeLine{        NULL,           }
\DoxyCodeLine{        NULL,           }
\DoxyCodeLine{        1,              }
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{        }
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l00147}{147}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l01068}{ng\+\_\+add\+\_\+hook()}}, \mbox{\hyperlink{ng__base_8c_source_l01241}{ng\+\_\+bypass()}}, \mbox{\hyperlink{ng__base_8c_source_l01388}{ng\+\_\+con\+\_\+part2()}}, \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}, and \mbox{\hyperlink{ng__base_8c_source_l01050}{ng\+\_\+unref\+\_\+hook()}}.

\mbox{\Hypertarget{ng__base_8c_a696a31653667f1aa94797901263d77b7}\label{ng__base_8c_a696a31653667f1aa94797901263d77b7}} 
\index{ng\_base.c@{ng\_base.c}!ng\_deadnode@{ng\_deadnode}}
\index{ng\_deadnode@{ng\_deadnode}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_deadnode}{ng\_deadnode}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structng__node}{ng\+\_\+node}} ng\+\_\+deadnode}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}dead"{}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__base_8c_ad77874e8dc1023bf59c8ff1a0ba21cf6}{ng\_deadtype}},        }
\DoxyCodeLine{        \mbox{\hyperlink{netgraph_8h_a6d3a9e7aa2f636921cc07ea3206bc5e5}{NGF\_INVALID}},}
\DoxyCodeLine{        0,      }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{        0,      }
\DoxyCodeLine{        LIST\_HEAD\_INITIALIZER(\mbox{\hyperlink{ng__base_8c_a696a31653667f1aa94797901263d77b7}{ng\_deadnode}}.nd\_hooks),}
\DoxyCodeLine{        \{\},     }
\DoxyCodeLine{        \{\},     }
\DoxyCodeLine{        \{       0,}
\DoxyCodeLine{                0,}
\DoxyCodeLine{                \{\}, }
\DoxyCodeLine{                \{\}, }
\DoxyCodeLine{                STAILQ\_HEAD\_INITIALIZER(\mbox{\hyperlink{ng__base_8c_a696a31653667f1aa94797901263d77b7}{ng\_deadnode}}.\mbox{\hyperlink{structng__node_ab3d6ec10fc34842838c3d91ff36f245b}{nd\_input\_queue}}.queue),}
\DoxyCodeLine{        \},}
\DoxyCodeLine{        1,      }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{}
\DoxyCodeLine{        }
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l00121}{121}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02045}{ng\+\_\+acquire\+\_\+read()}}, \mbox{\hyperlink{ng__base_8c_source_l02073}{ng\+\_\+acquire\+\_\+write()}}, \mbox{\hyperlink{ng__base_8c_source_l01482}{ng\+\_\+con\+\_\+nodes()}}, \mbox{\hyperlink{ng__base_8c_source_l01345}{ng\+\_\+con\+\_\+part3()}}, \mbox{\hyperlink{ng__base_8c_source_l01162}{ng\+\_\+destroy\+\_\+hook()}}, \mbox{\hyperlink{ng__base_8c_source_l01631}{ng\+\_\+rmhook\+\_\+self()}}, \mbox{\hyperlink{ng__base_8c_source_l00715}{ng\+\_\+rmnode()}}, \mbox{\hyperlink{ng__base_8c_source_l01609}{ng\+\_\+rmnode\+\_\+self()}}, and \mbox{\hyperlink{ng__base_8c_source_l00793}{ng\+\_\+unref\+\_\+node()}}.

\mbox{\Hypertarget{ng__base_8c_ad77874e8dc1023bf59c8ff1a0ba21cf6}\label{ng__base_8c_ad77874e8dc1023bf59c8ff1a0ba21cf6}} 
\index{ng\_base.c@{ng\_base.c}!ng\_deadtype@{ng\_deadtype}}
\index{ng\_deadtype@{ng\_deadtype}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_deadtype}{ng\_deadtype}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} ng\+\_\+deadtype}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\_ABI\_VERSION}},}
\DoxyCodeLine{        \textcolor{stringliteral}{"{}dead"{}},}
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{        NULL,   }
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l00106}{106}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a802f80fc0639e0767d35c63b7e35fd5b}\label{ng__base_8c_a802f80fc0639e0767d35c63b7e35fd5b}} 
\index{ng\_base.c@{ng\_base.c}!ng\_generic\_cmds@{ng\_generic\_cmds}}
\index{ng\_generic\_cmds@{ng\_generic\_cmds}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_generic\_cmds}{ng\_generic\_cmds}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__cmdlist}{ng\+\_\+cmdlist}} ng\+\_\+generic\+\_\+cmds\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00485}{485}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02512}{ng\+\_\+generic\+\_\+msg()}}.

\mbox{\Hypertarget{ng__base_8c_a4c2e062a792c0f0adb7f2a7fc9dc3f22}\label{ng__base_8c_a4c2e062a792c0f0adb7f2a7fc9dc3f22}} 
\index{ng\_base.c@{ng\_base.c}!ng\_generic\_linkinfo\_array\_type@{ng\_generic\_linkinfo\_array\_type}}
\index{ng\_generic\_linkinfo\_array\_type@{ng\_generic\_linkinfo\_array\_type}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_generic\_linkinfo\_array\_type}{ng\_generic\_linkinfo\_array\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+generic\+\_\+linkinfo\+\_\+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__base_8c_a52e9b6fa3fd3aad4fe7083c019a0c642}{ng\_generic\_linkinfo\_array\_type\_info}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l00473}{473}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a52e9b6fa3fd3aad4fe7083c019a0c642}\label{ng__base_8c_a52e9b6fa3fd3aad4fe7083c019a0c642}} 
\index{ng\_base.c@{ng\_base.c}!ng\_generic\_linkinfo\_array\_type\_info@{ng\_generic\_linkinfo\_array\_type\_info}}
\index{ng\_generic\_linkinfo\_array\_type\_info@{ng\_generic\_linkinfo\_array\_type\_info}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_generic\_linkinfo\_array\_type\_info}{ng\_generic\_linkinfo\_array\_type\_info}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__array__info}{ng\+\_\+parse\+\_\+array\+\_\+info}} ng\+\_\+generic\+\_\+linkinfo\+\_\+array\+\_\+type\+\_\+info\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&ng\_generic\_linkinfo\_type,}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__base_8c_aa954d959e86b604a062f0db7a5d00c45}{ng\_generic\_linkinfo\_getLength}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l00469}{469}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a5750f1f9203e203c54600c122e31841e}\label{ng__base_8c_a5750f1f9203e203c54600c122e31841e}} 
\index{ng\_base.c@{ng\_base.c}!ng\_generic\_nodeinfoarray\_type@{ng\_generic\_nodeinfoarray\_type}}
\index{ng\_generic\_nodeinfoarray\_type@{ng\_generic\_nodeinfoarray\_type}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_generic\_nodeinfoarray\_type}{ng\_generic\_nodeinfoarray\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+generic\+\_\+nodeinfoarray\+\_\+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__base_8c_ad06531901423e43c43b4d04b21d2f422}{ng\_nodeinfoarray\_type\_info}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l00453}{453}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_abce55ef217d8bb499144f74883dd36db}\label{ng__base_8c_abce55ef217d8bb499144f74883dd36db}} 
\index{ng\_base.c@{ng\_base.c}!ng\_generic\_typeinfoarray\_type@{ng\_generic\_typeinfoarray\_type}}
\index{ng\_generic\_typeinfoarray\_type@{ng\_generic\_typeinfoarray\_type}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_generic\_typeinfoarray\_type}{ng\_generic\_typeinfoarray\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+generic\+\_\+typeinfoarray\+\_\+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__base_8c_a6935d75d63670bf19331e985ea8623c0}{ng\_typeinfoarray\_type\_info}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l00463}{463}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_ad06531901423e43c43b4d04b21d2f422}\label{ng__base_8c_ad06531901423e43c43b4d04b21d2f422}} 
\index{ng\_base.c@{ng\_base.c}!ng\_nodeinfoarray\_type\_info@{ng\_nodeinfoarray\_type\_info}}
\index{ng\_nodeinfoarray\_type\_info@{ng\_nodeinfoarray\_type\_info}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_nodeinfoarray\_type\_info}{ng\_nodeinfoarray\_type\_info}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__array__info}{ng\+\_\+parse\+\_\+array\+\_\+info}} ng\+\_\+nodeinfoarray\+\_\+type\+\_\+info\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&ng\_generic\_nodeinfo\_type,}
\DoxyCodeLine{        \&ng\_generic\_list\_getLength}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l00449}{449}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_a48e7a06dfd60da3906f8716409319e03}\label{ng__base_8c_a48e7a06dfd60da3906f8716409319e03}} 
\index{ng\_base.c@{ng\_base.c}!ng\_qdzone@{ng\_qdzone}}
\index{ng\_qdzone@{ng\_qdzone}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_qdzone}{ng\_qdzone}}
{\footnotesize\ttfamily uma\+\_\+zone\+\_\+t ng\+\_\+qdzone}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02960}{2960}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02985}{ng\+\_\+alloc\+\_\+item()}}, \mbox{\hyperlink{ng__base_8c_source_l03012}{ng\+\_\+free\+\_\+item()}}, and \mbox{\hyperlink{ng__base_8c_source_l03200}{ngb\+\_\+mod\+\_\+event()}}.

\mbox{\Hypertarget{ng__base_8c_aca7a04177bc11609f960768e241127b3}\label{ng__base_8c_aca7a04177bc11609f960768e241127b3}} 
\index{ng\_base.c@{ng\_base.c}!ng\_qzone@{ng\_qzone}}
\index{ng\_qzone@{ng\_qzone}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_qzone}{ng\_qzone}}
{\footnotesize\ttfamily uma\+\_\+zone\+\_\+t ng\+\_\+qzone}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02959}{2959}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l02985}{ng\+\_\+alloc\+\_\+item()}}, \mbox{\hyperlink{ng__base_8c_source_l03012}{ng\+\_\+free\+\_\+item()}}, and \mbox{\hyperlink{ng__base_8c_source_l03200}{ngb\+\_\+mod\+\_\+event()}}.

\mbox{\Hypertarget{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}\label{ng__base_8c_a9f7903387702ed64f0d8f9d6a1fe2c44}} 
\index{ng\_base.c@{ng\_base.c}!ng\_topo\_lock@{ng\_topo\_lock}}
\index{ng\_topo\_lock@{ng\_topo\_lock}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_topo\_lock}{ng\_topo\_lock}}
{\footnotesize\ttfamily struct rwlock ng\+\_\+topo\+\_\+lock\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l00079}{79}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03200}{ngb\+\_\+mod\+\_\+event()}}.

\mbox{\Hypertarget{ng__base_8c_a6935d75d63670bf19331e985ea8623c0}\label{ng__base_8c_a6935d75d63670bf19331e985ea8623c0}} 
\index{ng\_base.c@{ng\_base.c}!ng\_typeinfoarray\_type\_info@{ng\_typeinfoarray\_type\_info}}
\index{ng\_typeinfoarray\_type\_info@{ng\_typeinfoarray\_type\_info}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{ng\_typeinfoarray\_type\_info}{ng\_typeinfoarray\_type\_info}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__array__info}{ng\+\_\+parse\+\_\+array\+\_\+info}} ng\+\_\+typeinfoarray\+\_\+type\+\_\+info\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&ng\_generic\_typeinfo\_type,}
\DoxyCodeLine{        \&ng\_generic\_list\_getLength}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__base_8c_source_l00459}{459}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.

\mbox{\Hypertarget{ng__base_8c_ae67ea59b9a965d5201c366cdf8766329}\label{ng__base_8c_ae67ea59b9a965d5201c366cdf8766329}} 
\index{ng\_base.c@{ng\_base.c}!numthreads@{numthreads}}
\index{numthreads@{numthreads}!ng\_base.c@{ng\_base.c}}
\doxysubsubsection{\texorpdfstring{numthreads}{numthreads}}
{\footnotesize\ttfamily int numthreads = 0\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__base_8c_source_l02961}{2961}} of file \mbox{\hyperlink{ng__base_8c_source}{ng\+\_\+base.\+c}}.



Referenced by \mbox{\hyperlink{ng__base_8c_source_l03200}{ngb\+\_\+mod\+\_\+event()}}.

