\hypertarget{ng__ubt_8c}{}\doxysection{netgraph/bluetooth/drivers/ubt/ng\+\_\+ubt.c File Reference}
\label{ng__ubt_8c}\index{netgraph/bluetooth/drivers/ubt/ng\_ubt.c@{netgraph/bluetooth/drivers/ubt/ng\_ubt.c}}
{\ttfamily \#include $<$sys/stdint.\+h$>$}\newline
{\ttfamily \#include $<$sys/stddef.\+h$>$}\newline
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/queue.\+h$>$}\newline
{\ttfamily \#include $<$sys/types.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/bus.\+h$>$}\newline
{\ttfamily \#include $<$sys/module.\+h$>$}\newline
{\ttfamily \#include $<$sys/lock.\+h$>$}\newline
{\ttfamily \#include $<$sys/mutex.\+h$>$}\newline
{\ttfamily \#include $<$sys/condvar.\+h$>$}\newline
{\ttfamily \#include $<$sys/sysctl.\+h$>$}\newline
{\ttfamily \#include $<$sys/sx.\+h$>$}\newline
{\ttfamily \#include $<$sys/unistd.\+h$>$}\newline
{\ttfamily \#include $<$sys/callout.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/priv.\+h$>$}\newline
{\ttfamily \#include \char`\"{}usbdevs.\+h\char`\"{}}\newline
{\ttfamily \#include $<$dev/usb/usb.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbdi.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usbdi\+\_\+util.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+debug.\+h$>$}\newline
{\ttfamily \#include $<$dev/usb/usb\+\_\+busdma.\+h$>$}\newline
{\ttfamily \#include $<$sys/mbuf.\+h$>$}\newline
{\ttfamily \#include $<$sys/taskqueue.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+message.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/netgraph.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+parse.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/bluetooth/include/ng\+\_\+bluetooth.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/bluetooth/include/ng\+\_\+hci.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/bluetooth/include/ng\+\_\+ubt.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/bluetooth/drivers/ubt/ng\+\_\+ubt\+\_\+var.\+h$>$}\newline
Include dependency graph for ng\+\_\+ubt.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/d44/ng__ubt_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{ng__ubt_8c_a927dd6f59caf10a2991dfb564bcbb1e1}{USB\+\_\+\+DEBUG\+\_\+\+VAR}}~usb\+\_\+debug
\item 
\#define \mbox{\hyperlink{ng__ubt_8c_aa01335806f737804f570b6ca36821ce0}{ubt\+\_\+xfer\+\_\+start}}(sc,  i)~usbd\+\_\+transfer\+\_\+start((sc)-\/$>$sc\+\_\+xfer\mbox{[}(i)\mbox{]})
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static int \mbox{\hyperlink{ng__ubt_8c_a39cfdb0c8915123573dea71ac81142f2}{ubt\+\_\+modevent}} (module\+\_\+t, int, void $\ast$)
\item 
static void \mbox{\hyperlink{ng__ubt_8c_ae246805ef9c86a2e43954cd9ad9e6ecd}{ubt\+\_\+task\+\_\+schedule}} (\mbox{\hyperlink{ng__ubt__var_8h_ab83d0cf5dddd66b7e44f2ee6a0d2f45d}{ubt\+\_\+softc\+\_\+p}}, int)
\item 
\mbox{\hyperlink{ng__ubt_8c_a0e30c62d74b8d03997dd789bee2e51e4}{SYSCTL\+\_\+\+INT}} (\+\_\+net\+\_\+bluetooth, OID\+\_\+\+AUTO, usb\+\_\+isoc\+\_\+enable, CTLFLAG\+\_\+\+RWTUN$\vert$CTLFLAG\+\_\+\+MPSAFE, \&\mbox{\hyperlink{ng__ubt_8c_a9ffe035b8ab79eb7d4cd41f9559499dc}{ng\+\_\+usb\+\_\+isoc\+\_\+enable}}, 0, \char`\"{}enable isochronous transfers\char`\"{})
\item 
static int \mbox{\hyperlink{ng__ubt_8c_ab8ad7dbd316ac4662bad36d85784c302}{ubt\+\_\+fwd\+\_\+mbuf\+\_\+up}} (\mbox{\hyperlink{ng__ubt__var_8h_ab83d0cf5dddd66b7e44f2ee6a0d2f45d}{ubt\+\_\+softc\+\_\+p}}, struct mbuf $\ast$$\ast$)
\item 
static int \mbox{\hyperlink{ng__ubt_8c_ab2c717515c38bf4f23ccb6a2c02ddc7b}{ubt\+\_\+isoc\+\_\+read\+\_\+one\+\_\+frame}} (struct usb\+\_\+xfer $\ast$, int)
\item 
usb\+\_\+error\+\_\+t \mbox{\hyperlink{ng__ubt_8c_addef186e7181c37eb255bf87b1f66d4f}{ubt\+\_\+do\+\_\+hci\+\_\+request}} (struct usb\+\_\+device $\ast$udev, struct \mbox{\hyperlink{structubt__hci__cmd}{ubt\+\_\+hci\+\_\+cmd}} $\ast$\mbox{\hyperlink{ng__pppoe_8h_adfc5ba7e22f5e4a6221c12a70503bef3}{cmd}}, void $\ast$evt, usb\+\_\+timeout\+\_\+t timeout)
\item 
static int \mbox{\hyperlink{ng__ubt_8c_a26839410e2892c678aff49f7148db516}{ubt\+\_\+probe}} (device\+\_\+t dev)
\item 
static int \mbox{\hyperlink{ng__ubt_8c_a787abbda710d8c13d39f4b6fab025bf6}{ubt\+\_\+attach}} (device\+\_\+t dev)
\item 
int \mbox{\hyperlink{ng__ubt_8c_afdd3cc21dddde20c32eff76d59387948}{ubt\+\_\+detach}} (device\+\_\+t dev)
\item 
static void \mbox{\hyperlink{ng__ubt_8c_a277f9620e5d8e0d1b8c66ede52c926fc}{ubt\+\_\+probe\+\_\+intr\+\_\+callback}} (struct usb\+\_\+xfer $\ast$xfer, usb\+\_\+error\+\_\+t error)
\item 
static void \mbox{\hyperlink{ng__ubt_8c_ad446925d5c6b23258e00ab21b9e19f12}{ubt\+\_\+ctrl\+\_\+write\+\_\+callback}} (struct usb\+\_\+xfer $\ast$xfer, usb\+\_\+error\+\_\+t error)
\item 
static void \mbox{\hyperlink{ng__ubt_8c_ae058fb4021a034c4258f53cad0a242b9}{ubt\+\_\+intr\+\_\+read\+\_\+callback}} (struct usb\+\_\+xfer $\ast$xfer, usb\+\_\+error\+\_\+t error)
\item 
static void \mbox{\hyperlink{ng__ubt_8c_a524ee6d742908631a92b2b9a5e60781d}{ubt\+\_\+bulk\+\_\+read\+\_\+callback}} (struct usb\+\_\+xfer $\ast$xfer, usb\+\_\+error\+\_\+t error)
\item 
static void \mbox{\hyperlink{ng__ubt_8c_a3271e49c8a1cedbd9456768d9dd3e2fa}{ubt\+\_\+bulk\+\_\+write\+\_\+callback}} (struct usb\+\_\+xfer $\ast$xfer, usb\+\_\+error\+\_\+t error)
\item 
static void \mbox{\hyperlink{ng__ubt_8c_abc3ba77fa2b80a8119f57e0db0a1d7c3}{ubt\+\_\+isoc\+\_\+read\+\_\+callback}} (struct usb\+\_\+xfer $\ast$xfer, usb\+\_\+error\+\_\+t error)
\item 
static void \mbox{\hyperlink{ng__ubt_8c_a76b2ba0d31990c5700b3f7209875f055}{ubt\+\_\+isoc\+\_\+write\+\_\+callback}} (struct usb\+\_\+xfer $\ast$xfer, usb\+\_\+error\+\_\+t error)
\item 
static void \mbox{\hyperlink{ng__ubt_8c_ac8a4dec0815057f13484790aa2df8cd6}{ubt\+\_\+task}} (void $\ast$context, int pending)
\item 
static int \mbox{\hyperlink{ng__ubt_8c_ac63e88e0b03612efaed558d68949b101}{ng\+\_\+ubt\+\_\+constructor}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static int \mbox{\hyperlink{ng__ubt_8c_a7402ee67bd6880bfd2c070ae0594ce76}{ng\+\_\+ubt\+\_\+shutdown}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static int \mbox{\hyperlink{ng__ubt_8c_a5b1598eb9c3e9f07b7a8cd5e91bda70e}{ng\+\_\+ubt\+\_\+newhook}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, char const $\ast$\mbox{\hyperlink{ng__ppp_8c_ab2adbf48c2df32ccf9cced3bc8c3dc26}{name}})
\item 
static int \mbox{\hyperlink{ng__ubt_8c_aebb1cc908c102de1f3760657b52d9bee}{ng\+\_\+ubt\+\_\+connect}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\item 
static int \mbox{\hyperlink{ng__ubt_8c_ac8258da830b469f8fec3a1c4de3642e3}{ng\+\_\+ubt\+\_\+disconnect}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\item 
static int \mbox{\hyperlink{ng__ubt_8c_ab125a2ea98405c009efff0d024d656c3}{ng\+\_\+ubt\+\_\+rcvmsg}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} lasthook)
\item 
static int \mbox{\hyperlink{ng__ubt_8c_a1322edad2f827368c3ad5ce7afd5c7e8}{ng\+\_\+ubt\+\_\+rcvdata}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
\mbox{\hyperlink{ng__ubt_8c_ac409e37aef430d56c9be5b00d4cbb35a}{DRIVER\+\_\+\+MODULE}} (ng\+\_\+ubt, uhub, \mbox{\hyperlink{ng__ubt__var_8h_a4166b795a9d2ddc5da2d4ccf9774cc3d}{ubt\+\_\+driver}}, \mbox{\hyperlink{ng__ubt__var_8h_a38c8a341f6da19f2dcfc313aa1d734f5}{ubt\+\_\+devclass}}, \mbox{\hyperlink{ng__ubt_8c_a39cfdb0c8915123573dea71ac81142f2}{ubt\+\_\+modevent}}, 0)
\item 
\mbox{\hyperlink{ng__ubt_8c_a9c8a559ad3bc9a10fa1eec2fea5197c7}{MODULE\+\_\+\+VERSION}} (ng\+\_\+ubt, \mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}})
\item 
\mbox{\hyperlink{ng__ubt_8c_a0edf77b9f1a73a04a2e4d747d80df9ff}{MODULE\+\_\+\+DEPEND}} (ng\+\_\+ubt, netgraph, \mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\+\_\+\+ABI\+\_\+\+VERSION}}, \mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\+\_\+\+ABI\+\_\+\+VERSION}}, \mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\+\_\+\+ABI\+\_\+\+VERSION}})
\item 
\mbox{\hyperlink{ng__ubt_8c_af46600f8286ae1a5c5c25358f4afa751}{MODULE\+\_\+\+DEPEND}} (ng\+\_\+ubt, ng\+\_\+hci, \mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}, \mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}, \mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}})
\item 
\mbox{\hyperlink{ng__ubt_8c_a78784ca340bcd3816dbc6f805d927cbc}{MODULE\+\_\+\+DEPEND}} (ng\+\_\+ubt, ng\+\_\+bluetooth, \mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}, \mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}, \mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}})
\item 
\mbox{\hyperlink{ng__ubt_8c_a40f7f1a0052382c5485461767e1db853}{MODULE\+\_\+\+DEPEND}} (ng\+\_\+ubt, usb, 1, 1, 1)
\item 
\mbox{\hyperlink{ng__ubt_8c_ac0bf1bb43e6f13a5755cc23663a9b1d9}{USB\+\_\+\+PNP\+\_\+\+HOST\+\_\+\+INFO}} (\mbox{\hyperlink{ng__ubt_8c_a27dab7af037633d2ff4e204eb88bd670}{ubt\+\_\+devs}})
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static device\+\_\+probe\+\_\+t \mbox{\hyperlink{ng__ubt_8c_ad03d0b0a01b86016c25a80a189d2a9cf}{ubt\+\_\+probe}}
\item 
static device\+\_\+attach\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a4a6250ade8d193ca25789e46415a2756}{ubt\+\_\+attach}}
\item 
static device\+\_\+detach\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a0807ce14484285543ed8184c65217f7f}{ubt\+\_\+detach}}
\item 
static task\+\_\+fn\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a07664a30e5ce5a89597e6db805c971ba}{ubt\+\_\+task}}
\item 
static \mbox{\hyperlink{netgraph_8h_abb75b9ed2849e15851d6402d2ab5b899}{ng\+\_\+constructor\+\_\+t}} \mbox{\hyperlink{ng__ubt_8c_a266fb8ff5f8c42eecbc0fbb61a1811f7}{ng\+\_\+ubt\+\_\+constructor}}
\item 
static \mbox{\hyperlink{netgraph_8h_aab0a679789a1af312a7f856b4668ad74}{ng\+\_\+shutdown\+\_\+t}} \mbox{\hyperlink{ng__ubt_8c_a3cb9fd0ab47580ece9847b98f5faff6c}{ng\+\_\+ubt\+\_\+shutdown}}
\item 
static \mbox{\hyperlink{netgraph_8h_afa50639df4ed6eb400f8220a890d56e6}{ng\+\_\+newhook\+\_\+t}} \mbox{\hyperlink{ng__ubt_8c_a7df7bcd70a40fa1fcfb8d6f27ad8780a}{ng\+\_\+ubt\+\_\+newhook}}
\item 
static \mbox{\hyperlink{netgraph_8h_a0e4a4a62e48409635e5f33c548baaea7}{ng\+\_\+connect\+\_\+t}} \mbox{\hyperlink{ng__ubt_8c_a8f58f63b832aa3b690b3a9ecbb443ca0}{ng\+\_\+ubt\+\_\+connect}}
\item 
static \mbox{\hyperlink{netgraph_8h_a669e1783335f933b4a4f90f17d22f381}{ng\+\_\+disconnect\+\_\+t}} \mbox{\hyperlink{ng__ubt_8c_ab626c838bcf354fe851d210ae24872ca}{ng\+\_\+ubt\+\_\+disconnect}}
\item 
static \mbox{\hyperlink{netgraph_8h_a47b860e2900386e775707cc1ae661162}{ng\+\_\+rcvmsg\+\_\+t}} \mbox{\hyperlink{ng__ubt_8c_ac4351a342a4fca4236b6d07ff99181f2}{ng\+\_\+ubt\+\_\+rcvmsg}}
\item 
static \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} \mbox{\hyperlink{ng__ubt_8c_ad588d2e65bb59f910d3a52f41453eed9}{ng\+\_\+ubt\+\_\+rcvdata}}
\item 
static int \mbox{\hyperlink{ng__ubt_8c_a9ffe035b8ab79eb7d4cd41f9559499dc}{ng\+\_\+usb\+\_\+isoc\+\_\+enable}} = 1
\item 
static const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} \mbox{\hyperlink{ng__ubt_8c_a134e1162915e0ffb4ed8eb6a70f48a57}{ng\+\_\+ubt\+\_\+node\+\_\+qlen\+\_\+type\+\_\+fields}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__ubt_8c_aad32cc4e1d5494cfac4b66463e26f0e1}{ng\+\_\+ubt\+\_\+node\+\_\+qlen\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} \mbox{\hyperlink{ng__ubt_8c_abedce3b61602cb6e2565f7251f978d9b}{ng\+\_\+ubt\+\_\+node\+\_\+stat\+\_\+type\+\_\+fields}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__ubt_8c_adef7a4416165f5e96e7f9dd2a21a82b7}{ng\+\_\+ubt\+\_\+node\+\_\+stat\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__cmdlist}{ng\+\_\+cmdlist}} \mbox{\hyperlink{ng__ubt_8c_a96af226936247ea557578e7e9db5e80b}{ng\+\_\+ubt\+\_\+cmdlist}} \mbox{[}$\,$\mbox{]}
\item 
static struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} \mbox{\hyperlink{ng__ubt_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}}
\item 
static usb\+\_\+callback\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a90d60caa3baeadf79e0414363a478121}{ubt\+\_\+probe\+\_\+intr\+\_\+callback}}
\item 
static usb\+\_\+callback\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a8cfc1c20f4989015fbe8389f5eae08fa}{ubt\+\_\+ctrl\+\_\+write\+\_\+callback}}
\item 
static usb\+\_\+callback\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a9468c082e5b8cdc5bae70bf35c00c118}{ubt\+\_\+intr\+\_\+read\+\_\+callback}}
\item 
static usb\+\_\+callback\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a2ff123c3c7491c5077789e57fa651478}{ubt\+\_\+bulk\+\_\+read\+\_\+callback}}
\item 
static usb\+\_\+callback\+\_\+t \mbox{\hyperlink{ng__ubt_8c_af1276a3b306e8b10188594e07cde1a8c}{ubt\+\_\+bulk\+\_\+write\+\_\+callback}}
\item 
static usb\+\_\+callback\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a10921286322e18fe5252f378b1256b20}{ubt\+\_\+isoc\+\_\+read\+\_\+callback}}
\item 
static usb\+\_\+callback\+\_\+t \mbox{\hyperlink{ng__ubt_8c_af694eeb98e9e32de74102551f1129639}{ubt\+\_\+isoc\+\_\+write\+\_\+callback}}
\item 
static const struct usb\+\_\+config \mbox{\hyperlink{ng__ubt_8c_a546f84ffc316d847b6e296a2d91ad3ff}{ubt\+\_\+config}} \mbox{[}\mbox{\hyperlink{ng__ubt__var_8h_a61dadd085c1777f559549e05962b2c9ea8777288eff72531769533666f9c172eb}{UBT\+\_\+\+N\+\_\+\+TRANSFER}}\mbox{]}
\item 
static const STRUCT\+\_\+\+USB\+\_\+\+HOST\+\_\+\+ID \mbox{\hyperlink{ng__ubt_8c_a384888050ff3c166ae81ed588800c665}{ubt\+\_\+ignore\+\_\+devs}} \mbox{[}$\,$\mbox{]}
\item 
static const STRUCT\+\_\+\+USB\+\_\+\+HOST\+\_\+\+ID \mbox{\hyperlink{ng__ubt_8c_a27dab7af037633d2ff4e204eb88bd670}{ubt\+\_\+devs}} \mbox{[}$\,$\mbox{]}
\item 
devclass\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a38c8a341f6da19f2dcfc313aa1d734f5}{ubt\+\_\+devclass}}
\item 
static device\+\_\+method\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a246338f6c23d3aee1529d7737ffe16b5}{ubt\+\_\+methods}} \mbox{[}$\,$\mbox{]}
\item 
driver\+\_\+t \mbox{\hyperlink{ng__ubt_8c_a4166b795a9d2ddc5da2d4ccf9774cc3d}{ubt\+\_\+driver}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{ng__ubt_8c_aa01335806f737804f570b6ca36821ce0}\label{ng__ubt_8c_aa01335806f737804f570b6ca36821ce0}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_xfer\_start@{ubt\_xfer\_start}}
\index{ubt\_xfer\_start@{ubt\_xfer\_start}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_xfer\_start}{ubt\_xfer\_start}}
{\footnotesize\ttfamily \#define ubt\+\_\+xfer\+\_\+start(\begin{DoxyParamCaption}\item[{}]{sc,  }\item[{}]{i }\end{DoxyParamCaption})~usbd\+\_\+transfer\+\_\+start((sc)-\/$>$sc\+\_\+xfer\mbox{[}(i)\mbox{]})}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00144}{144}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a927dd6f59caf10a2991dfb564bcbb1e1}\label{ng__ubt_8c_a927dd6f59caf10a2991dfb564bcbb1e1}} 
\index{ng\_ubt.c@{ng\_ubt.c}!USB\_DEBUG\_VAR@{USB\_DEBUG\_VAR}}
\index{USB\_DEBUG\_VAR@{USB\_DEBUG\_VAR}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{USB\_DEBUG\_VAR}{USB\_DEBUG\_VAR}}
{\footnotesize\ttfamily \#define USB\+\_\+\+DEBUG\+\_\+\+VAR~usb\+\_\+debug}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00121}{121}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ng__ubt_8c_ac409e37aef430d56c9be5b00d4cbb35a}\label{ng__ubt_8c_ac409e37aef430d56c9be5b00d4cbb35a}} 
\index{ng\_ubt.c@{ng\_ubt.c}!DRIVER\_MODULE@{DRIVER\_MODULE}}
\index{DRIVER\_MODULE@{DRIVER\_MODULE}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{DRIVER\_MODULE()}{DRIVER\_MODULE()}}
{\footnotesize\ttfamily DRIVER\+\_\+\+MODULE (\begin{DoxyParamCaption}\item[{ng\+\_\+ubt}]{,  }\item[{uhub}]{,  }\item[{\mbox{\hyperlink{ng__ubt__var_8h_a4166b795a9d2ddc5da2d4ccf9774cc3d}{ubt\+\_\+driver}}}]{,  }\item[{\mbox{\hyperlink{ng__ubt__var_8h_a38c8a341f6da19f2dcfc313aa1d734f5}{ubt\+\_\+devclass}}}]{,  }\item[{\mbox{\hyperlink{ng__ubt_8c_a39cfdb0c8915123573dea71ac81142f2}{ubt\+\_\+modevent}}}]{,  }\item[{0}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__ubt_8c_a0edf77b9f1a73a04a2e4d747d80df9ff}\label{ng__ubt_8c_a0edf77b9f1a73a04a2e4d747d80df9ff}} 
\index{ng\_ubt.c@{ng\_ubt.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}\hspace{0.1cm}{\footnotesize\ttfamily [1/4]}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{ng\+\_\+ubt}]{,  }\item[{netgraph}]{,  }\item[{\mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\+\_\+\+ABI\+\_\+\+VERSION}}}]{,  }\item[{\mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\+\_\+\+ABI\+\_\+\+VERSION}}}]{,  }\item[{\mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\+\_\+\+ABI\+\_\+\+VERSION}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__ubt_8c_a78784ca340bcd3816dbc6f805d927cbc}\label{ng__ubt_8c_a78784ca340bcd3816dbc6f805d927cbc}} 
\index{ng\_ubt.c@{ng\_ubt.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}\hspace{0.1cm}{\footnotesize\ttfamily [2/4]}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{ng\+\_\+ubt}]{,  }\item[{ng\+\_\+bluetooth}]{,  }\item[{\mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}}]{,  }\item[{\mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}}]{,  }\item[{\mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__ubt_8c_af46600f8286ae1a5c5c25358f4afa751}\label{ng__ubt_8c_af46600f8286ae1a5c5c25358f4afa751}} 
\index{ng\_ubt.c@{ng\_ubt.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}\hspace{0.1cm}{\footnotesize\ttfamily [3/4]}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{ng\+\_\+ubt}]{,  }\item[{ng\+\_\+hci}]{,  }\item[{\mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}}]{,  }\item[{\mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}}]{,  }\item[{\mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__ubt_8c_a40f7f1a0052382c5485461767e1db853}\label{ng__ubt_8c_a40f7f1a0052382c5485461767e1db853}} 
\index{ng\_ubt.c@{ng\_ubt.c}!MODULE\_DEPEND@{MODULE\_DEPEND}}
\index{MODULE\_DEPEND@{MODULE\_DEPEND}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_DEPEND()}{MODULE\_DEPEND()}\hspace{0.1cm}{\footnotesize\ttfamily [4/4]}}
{\footnotesize\ttfamily MODULE\+\_\+\+DEPEND (\begin{DoxyParamCaption}\item[{ng\+\_\+ubt}]{,  }\item[{usb}]{,  }\item[{1}]{,  }\item[{1}]{,  }\item[{1}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__ubt_8c_a9c8a559ad3bc9a10fa1eec2fea5197c7}\label{ng__ubt_8c_a9c8a559ad3bc9a10fa1eec2fea5197c7}} 
\index{ng\_ubt.c@{ng\_ubt.c}!MODULE\_VERSION@{MODULE\_VERSION}}
\index{MODULE\_VERSION@{MODULE\_VERSION}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{MODULE\_VERSION()}{MODULE\_VERSION()}}
{\footnotesize\ttfamily MODULE\+\_\+\+VERSION (\begin{DoxyParamCaption}\item[{ng\+\_\+ubt}]{,  }\item[{\mbox{\hyperlink{ng__bluetooth_8h_aa0d4fe7aaf68485ee71a69d38410da16}{NG\+\_\+\+BLUETOOTH\+\_\+\+VERSION}}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__ubt_8c_aebb1cc908c102de1f3760657b52d9bee}\label{ng__ubt_8c_aebb1cc908c102de1f3760657b52d9bee}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ng\_ubt\_connect@{ng\_ubt\_connect}}
\index{ng\_ubt\_connect@{ng\_ubt\_connect}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ng\_ubt\_connect()}{ng\_ubt\_connect()}}
{\footnotesize\ttfamily static int ng\+\_\+ubt\+\_\+connect (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01650}{1650}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00342}{NG\+\_\+\+HOOK\+\_\+\+FORCE\+\_\+\+QUEUE}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00340}{NG\+\_\+\+HOOK\+\_\+\+PEER}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00155}{UBT\+\_\+\+FLAG\+\_\+\+T\+\_\+\+START\+\_\+\+ALL}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00052}{UBT\+\_\+\+NG\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00053}{UBT\+\_\+\+NG\+\_\+\+UNLOCK}}, and \mbox{\hyperlink{ng__ubt_8c_source_l01473}{ubt\+\_\+task\+\_\+schedule()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=316pt]{dc/db5/ng__ubt_8c_aebb1cc908c102de1f3760657b52d9bee_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_ac63e88e0b03612efaed558d68949b101}\label{ng__ubt_8c_ac63e88e0b03612efaed558d68949b101}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ng\_ubt\_constructor@{ng\_ubt\_constructor}}
\index{ng\_ubt\_constructor@{ng\_ubt\_constructor}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ng\_ubt\_constructor()}{ng\_ubt\_constructor()}}
{\footnotesize\ttfamily static int ng\+\_\+ubt\+\_\+constructor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01592}{1592}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01669}{1669}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__bluetooth_8h_source_l00135}{NG\+\_\+\+BT\+\_\+\+MBUFQ\+\_\+\+DRAIN}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00139}{ubt\+\_\+softc\+::sc\+\_\+aclq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00133}{ubt\+\_\+softc\+::sc\+\_\+cmdq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00149}{ubt\+\_\+softc\+::sc\+\_\+hook}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00144}{ubt\+\_\+softc\+::sc\+\_\+scoq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00154}{UBT\+\_\+\+FLAG\+\_\+\+T\+\_\+\+STOP\+\_\+\+ALL}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00052}{UBT\+\_\+\+NG\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00053}{UBT\+\_\+\+NG\+\_\+\+UNLOCK}}, and \mbox{\hyperlink{ng__ubt_8c_source_l01473}{ubt\+\_\+task\+\_\+schedule()}}.

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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01624}{1624}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__ubt_8h_source_l00046}{NG\+\_\+\+UBT\+\_\+\+HOOK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00149}{ubt\+\_\+softc\+::sc\+\_\+hook}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00052}{UBT\+\_\+\+NG\+\_\+\+LOCK}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00053}{UBT\+\_\+\+NG\+\_\+\+UNLOCK}}.

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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01875}{1875}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__bluetooth_8h_source_l00097}{NG\+\_\+\+BT\+\_\+\+MBUFQ\+\_\+\+DROP}}, \mbox{\hyperlink{ng__bluetooth_8h_source_l00099}{NG\+\_\+\+BT\+\_\+\+MBUFQ\+\_\+\+ENQUEUE}}, \mbox{\hyperlink{ng__bluetooth_8h_source_l00095}{NG\+\_\+\+BT\+\_\+\+MBUFQ\+\_\+\+FULL}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{ng__hci_8h_source_l00417}{NG\+\_\+\+HCI\+\_\+\+ACL\+\_\+\+DATA\+\_\+\+PKT}}, \mbox{\hyperlink{ng__hci_8h_source_l00408}{NG\+\_\+\+HCI\+\_\+\+CMD\+\_\+\+PKT}}, \mbox{\hyperlink{ng__hci_8h_source_l00426}{NG\+\_\+\+HCI\+\_\+\+SCO\+\_\+\+DATA\+\_\+\+PKT}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00852}{NGI\+\_\+\+GET\+\_\+M}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00139}{ubt\+\_\+softc\+::sc\+\_\+aclq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00133}{ubt\+\_\+softc\+::sc\+\_\+cmdq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00149}{ubt\+\_\+softc\+::sc\+\_\+hook}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00144}{ubt\+\_\+softc\+::sc\+\_\+scoq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00141}{UBT\+\_\+\+BULK\+\_\+\+WRITE\+\_\+\+BUFFER\+\_\+\+SIZE}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00134}{UBT\+\_\+\+CTRL\+\_\+\+BUFFER\+\_\+\+SIZE}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00048}{UBT\+\_\+\+ERR}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00157}{UBT\+\_\+\+FLAG\+\_\+\+T\+\_\+\+START\+\_\+\+BULK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00156}{UBT\+\_\+\+FLAG\+\_\+\+T\+\_\+\+START\+\_\+\+CTRL}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00052}{UBT\+\_\+\+NG\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00053}{UBT\+\_\+\+NG\+\_\+\+UNLOCK}}, and \mbox{\hyperlink{ng__ubt_8c_source_l01473}{ubt\+\_\+task\+\_\+schedule()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=315pt]{dc/db5/ng__ubt_8c_a1322edad2f827368c3ad5ce7afd5c7e8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_ab125a2ea98405c009efff0d024d656c3}\label{ng__ubt_8c_ab125a2ea98405c009efff0d024d656c3}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ng\_ubt\_rcvmsg@{ng\_ubt\_rcvmsg}}
\index{ng\_ubt\_rcvmsg@{ng\_ubt\_rcvmsg}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ng\_ubt\_rcvmsg()}{ng\_ubt\_rcvmsg()}}
{\footnotesize\ttfamily static int ng\+\_\+ubt\+\_\+rcvmsg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{lasthook }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01702}{1702}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__message_8h_source_l00062}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::arglen}}, \mbox{\hyperlink{ng__message_8h_source_l00063}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::cmd}}, \mbox{\hyperlink{ng__message_8h_source_l00069}{ng\+\_\+mesg\+::data}}, \mbox{\hyperlink{structng__mesg_a16ea313a1e38531a10a14902b7579210}{ng\+\_\+mesg\+::header}}, \mbox{\hyperlink{ng__bluetooth_8h_source_l00070}{ng\+\_\+bt\+\_\+mbufq\+::len}}, \mbox{\hyperlink{ng__bluetooth_8h_source_l00071}{ng\+\_\+bt\+\_\+mbufq\+::maxlen}}, \mbox{\hyperlink{netgraph_8h_source_l00938}{NG\+\_\+\+FREE\+\_\+\+MSG}}, \mbox{\hyperlink{ng__message_8h_source_l00396}{NG\+\_\+\+MKRESPONSE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l01025}{NG\+\_\+\+RESPOND\+\_\+\+MSG}}, \mbox{\hyperlink{ng__message_8h_source_l00054}{NG\+\_\+\+TEXTRESPONSE}}, \mbox{\hyperlink{ng__ubt_8h_source_l00046}{NG\+\_\+\+UBT\+\_\+\+HOOK}}, \mbox{\hyperlink{netgraph_8h_source_l00858}{NGI\+\_\+\+GET\+\_\+\+MSG}}, \mbox{\hyperlink{ng__message_8h_source_l00113}{NGM\+\_\+\+GENERIC\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__message_8h_source_l00134}{NGM\+\_\+\+TEXT\+\_\+\+STATUS}}, \mbox{\hyperlink{ng__ubt_8h_source_l00048}{NGM\+\_\+\+UBT\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__ubt_8h_source_l00063}{NGM\+\_\+\+UBT\+\_\+\+NODE\+\_\+\+GET\+\_\+\+DEBUG}}, \mbox{\hyperlink{ng__ubt_8h_source_l00067}{NGM\+\_\+\+UBT\+\_\+\+NODE\+\_\+\+GET\+\_\+\+QLEN}}, \mbox{\hyperlink{ng__ubt_8h_source_l00077}{NGM\+\_\+\+UBT\+\_\+\+NODE\+\_\+\+GET\+\_\+\+STAT}}, \mbox{\hyperlink{ng__ubt_8h_source_l00071}{NGM\+\_\+\+UBT\+\_\+\+NODE\+\_\+\+QUEUE\+\_\+\+ACL}}, \mbox{\hyperlink{ng__ubt_8h_source_l00070}{NGM\+\_\+\+UBT\+\_\+\+NODE\+\_\+\+QUEUE\+\_\+\+CMD}}, \mbox{\hyperlink{ng__ubt_8h_source_l00072}{NGM\+\_\+\+UBT\+\_\+\+NODE\+\_\+\+QUEUE\+\_\+\+SCO}}, \mbox{\hyperlink{ng__ubt_8h_source_l00087}{NGM\+\_\+\+UBT\+\_\+\+NODE\+\_\+\+RESET\+\_\+\+STAT}}, \mbox{\hyperlink{ng__ubt_8h_source_l00062}{NGM\+\_\+\+UBT\+\_\+\+NODE\+\_\+\+SET\+\_\+\+DEBUG}}, \mbox{\hyperlink{ng__ubt_8h_source_l00066}{NGM\+\_\+\+UBT\+\_\+\+NODE\+\_\+\+SET\+\_\+\+QLEN}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00139}{ubt\+\_\+softc\+::sc\+\_\+aclq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00133}{ubt\+\_\+softc\+::sc\+\_\+cmdq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00115}{ubt\+\_\+softc\+::sc\+\_\+debug}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00149}{ubt\+\_\+softc\+::sc\+\_\+hook}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00144}{ubt\+\_\+softc\+::sc\+\_\+scoq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00117}{ubt\+\_\+softc\+::sc\+\_\+stat}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00152}{ubt\+\_\+softc\+::sc\+\_\+task\+\_\+flags}}, \mbox{\hyperlink{ng__message_8h_source_l00066}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::typecookie}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00124}{UBT\+\_\+\+STAT\+\_\+\+RESET}}.

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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01603}{1603}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00368}{ng\+\_\+node\+::nd\+\_\+flags}}, \mbox{\hyperlink{netgraph_8h_source_l00616}{NG\+\_\+\+NODE\+\_\+\+REVIVE}}, \mbox{\hyperlink{netgraph_8h_source_l00608}{NG\+\_\+\+NODE\+\_\+\+SET\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}, and \mbox{\hyperlink{netgraph_8h_source_l00394}{NGF\+\_\+\+REALLY\+\_\+\+DIE}}.

\mbox{\Hypertarget{ng__ubt_8c_a0e30c62d74b8d03997dd789bee2e51e4}\label{ng__ubt_8c_a0e30c62d74b8d03997dd789bee2e51e4}} 
\index{ng\_ubt.c@{ng\_ubt.c}!SYSCTL\_INT@{SYSCTL\_INT}}
\index{SYSCTL\_INT@{SYSCTL\_INT}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{SYSCTL\_INT()}{SYSCTL\_INT()}}
{\footnotesize\ttfamily SYSCTL\+\_\+\+INT (\begin{DoxyParamCaption}\item[{\+\_\+net\+\_\+bluetooth}]{,  }\item[{OID\+\_\+\+AUTO}]{,  }\item[{usb\+\_\+isoc\+\_\+enable}]{,  }\item[{CTLFLAG\+\_\+\+RWTUN$\vert$}]{CTLFLAG\+\_\+\+MPSAFE,  }\item[{\&}]{ng\+\_\+usb\+\_\+isoc\+\_\+enable,  }\item[{0}]{,  }\item[{\char`\"{}enable isochronous transfers\char`\"{}}]{ }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__ubt_8c_a787abbda710d8c13d39f4b6fab025bf6}\label{ng__ubt_8c_a787abbda710d8c13d39f4b6fab025bf6}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_attach@{ubt\_attach}}
\index{ubt\_attach@{ubt\_attach}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_attach()}{ubt\_attach()}}
{\footnotesize\ttfamily static int ubt\+\_\+attach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00634}{634}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{netflow__v9_8h_source_l00000}{id}}, \mbox{\hyperlink{ng__bluetooth_8h_source_l00077}{NG\+\_\+\+BT\+\_\+\+MBUFQ\+\_\+\+INIT}}, \mbox{\hyperlink{ng__base_8c_source_l00642}{ng\+\_\+make\+\_\+node\+\_\+common()}}, \mbox{\hyperlink{ng__base_8c_source_l00852}{ng\+\_\+name\+\_\+node()}}, \mbox{\hyperlink{netgraph_8h_source_l00612}{NG\+\_\+\+NODE\+\_\+\+FORCE\+\_\+\+WRITER}}, \mbox{\hyperlink{netgraph_8h_source_l00608}{NG\+\_\+\+NODE\+\_\+\+SET\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__ubt_8h_source_l00053}{NG\+\_\+\+UBT\+\_\+\+WARN\+\_\+\+LEVEL}}, \mbox{\hyperlink{ng__ubt_8c_source_l00155}{ng\+\_\+usb\+\_\+isoc\+\_\+enable}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00139}{ubt\+\_\+softc\+::sc\+\_\+aclq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00133}{ubt\+\_\+softc\+::sc\+\_\+cmdq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00115}{ubt\+\_\+softc\+::sc\+\_\+debug}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00112}{ubt\+\_\+softc\+::sc\+\_\+dev}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00127}{ubt\+\_\+softc\+::sc\+\_\+if\+\_\+mtx}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00130}{ubt\+\_\+softc\+::sc\+\_\+ng\+\_\+mtx}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00148}{ubt\+\_\+softc\+::sc\+\_\+node}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00144}{ubt\+\_\+softc\+::sc\+\_\+scoq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00159}{ubt\+\_\+softc\+::sc\+\_\+task}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00128}{ubt\+\_\+softc\+::sc\+\_\+xfer}}, \mbox{\hyperlink{ng__ubt_8c_source_l00239}{typestruct}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00047}{UBT\+\_\+\+ALERT}}, \mbox{\hyperlink{ng__ubt_8c_source_l00286}{ubt\+\_\+config}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00057}{UBT\+\_\+\+DEFAULT\+\_\+\+QLEN}}, \mbox{\hyperlink{ng__ubt_8c_source_l00139}{ubt\+\_\+detach}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00069}{UBT\+\_\+\+IF\+\_\+1\+\_\+\+ISOC\+\_\+\+DT\+\_\+\+RD1}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00074}{UBT\+\_\+\+N\+\_\+\+TRANSFER}}, and \mbox{\hyperlink{ng__ubt_8c_source_l00142}{ubt\+\_\+task}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/db5/ng__ubt_8c_a787abbda710d8c13d39f4b6fab025bf6_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_a524ee6d742908631a92b2b9a5e60781d}\label{ng__ubt_8c_a524ee6d742908631a92b2b9a5e60781d}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_bulk\_read\_callback@{ubt\_bulk\_read\_callback}}
\index{ubt\_bulk\_read\_callback@{ubt\_bulk\_read\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_bulk\_read\_callback()}{ubt\_bulk\_read\_callback()}}
{\footnotesize\ttfamily static void ubt\+\_\+bulk\+\_\+read\+\_\+callback (\begin{DoxyParamCaption}\item[{struct usb\+\_\+xfer $\ast$}]{xfer,  }\item[{usb\+\_\+error\+\_\+t}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01038}{1038}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{ng__hci_8h_source_l00417}{NG\+\_\+\+HCI\+\_\+\+ACL\+\_\+\+DATA\+\_\+\+PKT}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00048}{UBT\+\_\+\+ERR}}, \mbox{\hyperlink{ng__ubt_8c_source_l01421}{ubt\+\_\+fwd\+\_\+mbuf\+\_\+up()}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00050}{UBT\+\_\+\+INFO}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00121}{UBT\+\_\+\+STAT\+\_\+\+BYTES\+\_\+\+RECV}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00123}{UBT\+\_\+\+STAT\+\_\+\+IERROR}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00120}{UBT\+\_\+\+STAT\+\_\+\+PCKTS\+\_\+\+RECV}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00049}{UBT\+\_\+\+WARN}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/db5/ng__ubt_8c_a524ee6d742908631a92b2b9a5e60781d_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_a3271e49c8a1cedbd9456768d9dd3e2fa}\label{ng__ubt_8c_a3271e49c8a1cedbd9456768d9dd3e2fa}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_bulk\_write\_callback@{ubt\_bulk\_write\_callback}}
\index{ubt\_bulk\_write\_callback@{ubt\_bulk\_write\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_bulk\_write\_callback()}{ubt\_bulk\_write\_callback()}}
{\footnotesize\ttfamily static void ubt\+\_\+bulk\+\_\+write\+\_\+callback (\begin{DoxyParamCaption}\item[{struct usb\+\_\+xfer $\ast$}]{xfer,  }\item[{usb\+\_\+error\+\_\+t}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01137}{1137}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__bluetooth_8h_source_l00112}{NG\+\_\+\+BT\+\_\+\+MBUFQ\+\_\+\+DEQUEUE}}, \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00139}{ubt\+\_\+softc\+::sc\+\_\+aclq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00050}{UBT\+\_\+\+INFO}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00052}{UBT\+\_\+\+NG\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00053}{UBT\+\_\+\+NG\+\_\+\+UNLOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00119}{UBT\+\_\+\+STAT\+\_\+\+BYTES\+\_\+\+SENT}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00122}{UBT\+\_\+\+STAT\+\_\+\+OERROR}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00118}{UBT\+\_\+\+STAT\+\_\+\+PCKTS\+\_\+\+SENT}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00049}{UBT\+\_\+\+WARN}}.

\mbox{\Hypertarget{ng__ubt_8c_ad446925d5c6b23258e00ab21b9e19f12}\label{ng__ubt_8c_ad446925d5c6b23258e00ab21b9e19f12}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_ctrl\_write\_callback@{ubt\_ctrl\_write\_callback}}
\index{ubt\_ctrl\_write\_callback@{ubt\_ctrl\_write\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_ctrl\_write\_callback()}{ubt\_ctrl\_write\_callback()}}
{\footnotesize\ttfamily static void ubt\+\_\+ctrl\+\_\+write\+\_\+callback (\begin{DoxyParamCaption}\item[{struct usb\+\_\+xfer $\ast$}]{xfer,  }\item[{usb\+\_\+error\+\_\+t}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00867}{867}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__bluetooth_8h_source_l00112}{NG\+\_\+\+BT\+\_\+\+MBUFQ\+\_\+\+DEQUEUE}}, \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00133}{ubt\+\_\+softc\+::sc\+\_\+cmdq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00056}{UBT\+\_\+\+HCI\+\_\+\+REQUEST}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00050}{UBT\+\_\+\+INFO}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00052}{UBT\+\_\+\+NG\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00053}{UBT\+\_\+\+NG\+\_\+\+UNLOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00119}{UBT\+\_\+\+STAT\+\_\+\+BYTES\+\_\+\+SENT}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00122}{UBT\+\_\+\+STAT\+\_\+\+OERROR}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00118}{UBT\+\_\+\+STAT\+\_\+\+PCKTS\+\_\+\+SENT}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00049}{UBT\+\_\+\+WARN}}.

\mbox{\Hypertarget{ng__ubt_8c_afdd3cc21dddde20c32eff76d59387948}\label{ng__ubt_8c_afdd3cc21dddde20c32eff76d59387948}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_detach@{ubt\_detach}}
\index{ubt\_detach@{ubt\_detach}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_detach()}{ubt\_detach()}}
{\footnotesize\ttfamily int ubt\+\_\+detach (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00786}{786}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__bluetooth_8h_source_l00086}{NG\+\_\+\+BT\+\_\+\+MBUFQ\+\_\+\+DESTROY}}, \mbox{\hyperlink{netgraph_8h_source_l00614}{NG\+\_\+\+NODE\+\_\+\+REALLY\+\_\+\+DIE}}, \mbox{\hyperlink{ng__base_8c_source_l01609}{ng\+\_\+rmnode\+\_\+self()}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00139}{ubt\+\_\+softc\+::sc\+\_\+aclq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00133}{ubt\+\_\+softc\+::sc\+\_\+cmdq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00127}{ubt\+\_\+softc\+::sc\+\_\+if\+\_\+mtx}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00130}{ubt\+\_\+softc\+::sc\+\_\+ng\+\_\+mtx}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00148}{ubt\+\_\+softc\+::sc\+\_\+node}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00144}{ubt\+\_\+softc\+::sc\+\_\+scoq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00159}{ubt\+\_\+softc\+::sc\+\_\+task}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00128}{ubt\+\_\+softc\+::sc\+\_\+xfer}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00074}{UBT\+\_\+\+N\+\_\+\+TRANSFER}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00052}{UBT\+\_\+\+NG\+\_\+\+LOCK}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00053}{UBT\+\_\+\+NG\+\_\+\+UNLOCK}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/db5/ng__ubt_8c_afdd3cc21dddde20c32eff76d59387948_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_addef186e7181c37eb255bf87b1f66d4f}\label{ng__ubt_8c_addef186e7181c37eb255bf87b1f66d4f}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_do\_hci\_request@{ubt\_do\_hci\_request}}
\index{ubt\_do\_hci\_request@{ubt\_do\_hci\_request}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_do\_hci\_request()}{ubt\_do\_hci\_request()}}
{\footnotesize\ttfamily usb\+\_\+error\+\_\+t ubt\+\_\+do\+\_\+hci\+\_\+request (\begin{DoxyParamCaption}\item[{struct usb\+\_\+device $\ast$}]{udev,  }\item[{struct \mbox{\hyperlink{structubt__hci__cmd}{ubt\+\_\+hci\+\_\+cmd}} $\ast$}]{cmd,  }\item[{void $\ast$}]{evt,  }\item[{usb\+\_\+timeout\+\_\+t}]{timeout }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00539}{539}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__ubt__var_8h_source_l00083}{UBT\+\_\+\+HCI\+\_\+\+CMD\+\_\+\+SIZE}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00056}{UBT\+\_\+\+HCI\+\_\+\+REQUEST}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00136}{UBT\+\_\+\+INTR\+\_\+\+BUFFER\+\_\+\+SIZE}}, and \mbox{\hyperlink{ng__ubt_8c_source_l00260}{ubt\+\_\+probe\+\_\+intr\+\_\+callback}}.



Referenced by \mbox{\hyperlink{ng__ubt__intel_8c_source_l00105}{ubt\+\_\+intel\+\_\+do\+\_\+hci\+\_\+request()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/db5/ng__ubt_8c_addef186e7181c37eb255bf87b1f66d4f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_ab8ad7dbd316ac4662bad36d85784c302}\label{ng__ubt_8c_ab8ad7dbd316ac4662bad36d85784c302}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_fwd\_mbuf\_up@{ubt\_fwd\_mbuf\_up}}
\index{ubt\_fwd\_mbuf\_up@{ubt\_fwd\_mbuf\_up}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_fwd\_mbuf\_up()}{ubt\_fwd\_mbuf\_up()}}
{\footnotesize\ttfamily static int ubt\+\_\+fwd\+\_\+mbuf\+\_\+up (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__ubt__var_8h_ab83d0cf5dddd66b7e44f2ee6a0d2f45d}{ubt\+\_\+softc\+\_\+p}}}]{sc,  }\item[{struct mbuf $\ast$$\ast$}]{m }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01421}{1421}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{netgraph_8h_source_l00330}{NG\+\_\+\+HOOK\+\_\+\+REF}}, \mbox{\hyperlink{netgraph_8h_source_l00332}{NG\+\_\+\+HOOK\+\_\+\+UNREF}}, \mbox{\hyperlink{netgraph_8h_source_l00932}{NG\+\_\+\+SEND\+\_\+\+DATA\+\_\+\+ONLY}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00149}{ubt\+\_\+softc\+::sc\+\_\+hook}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00052}{UBT\+\_\+\+NG\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00053}{UBT\+\_\+\+NG\+\_\+\+UNLOCK}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00123}{UBT\+\_\+\+STAT\+\_\+\+IERROR}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l01038}{ubt\+\_\+bulk\+\_\+read\+\_\+callback()}}, \mbox{\hyperlink{ng__ubt_8c_source_l00940}{ubt\+\_\+intr\+\_\+read\+\_\+callback()}}, and \mbox{\hyperlink{ng__ubt_8c_source_l01247}{ubt\+\_\+isoc\+\_\+read\+\_\+one\+\_\+frame()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/db5/ng__ubt_8c_ab8ad7dbd316ac4662bad36d85784c302_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_ae058fb4021a034c4258f53cad0a242b9}\label{ng__ubt_8c_ae058fb4021a034c4258f53cad0a242b9}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_intr\_read\_callback@{ubt\_intr\_read\_callback}}
\index{ubt\_intr\_read\_callback@{ubt\_intr\_read\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_intr\_read\_callback()}{ubt\_intr\_read\_callback()}}
{\footnotesize\ttfamily static void ubt\+\_\+intr\+\_\+read\+\_\+callback (\begin{DoxyParamCaption}\item[{struct usb\+\_\+xfer $\ast$}]{xfer,  }\item[{usb\+\_\+error\+\_\+t}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00940}{940}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{ng__hci_8h_source_l00435}{NG\+\_\+\+HCI\+\_\+\+EVENT\+\_\+\+PKT}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00048}{UBT\+\_\+\+ERR}}, \mbox{\hyperlink{ng__ubt_8c_source_l01421}{ubt\+\_\+fwd\+\_\+mbuf\+\_\+up()}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00050}{UBT\+\_\+\+INFO}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00121}{UBT\+\_\+\+STAT\+\_\+\+BYTES\+\_\+\+RECV}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00123}{UBT\+\_\+\+STAT\+\_\+\+IERROR}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00120}{UBT\+\_\+\+STAT\+\_\+\+PCKTS\+\_\+\+RECV}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00049}{UBT\+\_\+\+WARN}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=346pt]{dc/db5/ng__ubt_8c_ae058fb4021a034c4258f53cad0a242b9_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_abc3ba77fa2b80a8119f57e0db0a1d7c3}\label{ng__ubt_8c_abc3ba77fa2b80a8119f57e0db0a1d7c3}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_isoc\_read\_callback@{ubt\_isoc\_read\_callback}}
\index{ubt\_isoc\_read\_callback@{ubt\_isoc\_read\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_isoc\_read\_callback()}{ubt\_isoc\_read\_callback()}}
{\footnotesize\ttfamily static void ubt\+\_\+isoc\+\_\+read\+\_\+callback (\begin{DoxyParamCaption}\item[{struct usb\+\_\+xfer $\ast$}]{xfer,  }\item[{usb\+\_\+error\+\_\+t}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01205}{1205}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__ubt_8c_source_l01247}{ubt\+\_\+isoc\+\_\+read\+\_\+one\+\_\+frame()}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00123}{UBT\+\_\+\+STAT\+\_\+\+IERROR}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/db5/ng__ubt_8c_abc3ba77fa2b80a8119f57e0db0a1d7c3_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_ab2c717515c38bf4f23ccb6a2c02ddc7b}\label{ng__ubt_8c_ab2c717515c38bf4f23ccb6a2c02ddc7b}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_isoc\_read\_one\_frame@{ubt\_isoc\_read\_one\_frame}}
\index{ubt\_isoc\_read\_one\_frame@{ubt\_isoc\_read\_one\_frame}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_isoc\_read\_one\_frame()}{ubt\_isoc\_read\_one\_frame()}}
{\footnotesize\ttfamily static int ubt\+\_\+isoc\+\_\+read\+\_\+one\+\_\+frame (\begin{DoxyParamCaption}\item[{struct usb\+\_\+xfer $\ast$}]{xfer,  }\item[{int}]{frame\+\_\+no }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01247}{1247}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__ubt__var_8h_source_l00001}{length}}, \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{ng__hci_8h_source_l00426}{NG\+\_\+\+HCI\+\_\+\+SCO\+\_\+\+DATA\+\_\+\+PKT}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00145}{ubt\+\_\+softc\+::sc\+\_\+isoc\+\_\+in\+\_\+buffer}}, \mbox{\hyperlink{ng__ubt_8c_source_l01421}{ubt\+\_\+fwd\+\_\+mbuf\+\_\+up()}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00050}{UBT\+\_\+\+INFO}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00121}{UBT\+\_\+\+STAT\+\_\+\+BYTES\+\_\+\+RECV}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00123}{UBT\+\_\+\+STAT\+\_\+\+IERROR}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00120}{UBT\+\_\+\+STAT\+\_\+\+PCKTS\+\_\+\+RECV}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l01205}{ubt\+\_\+isoc\+\_\+read\+\_\+callback()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/db5/ng__ubt_8c_ab2c717515c38bf4f23ccb6a2c02ddc7b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/db5/ng__ubt_8c_ab2c717515c38bf4f23ccb6a2c02ddc7b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_a76b2ba0d31990c5700b3f7209875f055}\label{ng__ubt_8c_a76b2ba0d31990c5700b3f7209875f055}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_isoc\_write\_callback@{ubt\_isoc\_write\_callback}}
\index{ubt\_isoc\_write\_callback@{ubt\_isoc\_write\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_isoc\_write\_callback()}{ubt\_isoc\_write\_callback()}}
{\footnotesize\ttfamily static void ubt\+\_\+isoc\+\_\+write\+\_\+callback (\begin{DoxyParamCaption}\item[{struct usb\+\_\+xfer $\ast$}]{xfer,  }\item[{usb\+\_\+error\+\_\+t}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01332}{1332}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__hci__cmds_8c_source_l00060}{min}}, \mbox{\hyperlink{ng__bluetooth_8h_source_l00112}{NG\+\_\+\+BT\+\_\+\+MBUFQ\+\_\+\+DEQUEUE}}, \mbox{\hyperlink{ng__bluetooth_8h_source_l00125}{NG\+\_\+\+BT\+\_\+\+MBUFQ\+\_\+\+PREPEND}}, \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00144}{ubt\+\_\+softc\+::sc\+\_\+scoq}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00050}{UBT\+\_\+\+INFO}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00052}{UBT\+\_\+\+NG\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00053}{UBT\+\_\+\+NG\+\_\+\+UNLOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00119}{UBT\+\_\+\+STAT\+\_\+\+BYTES\+\_\+\+SENT}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00122}{UBT\+\_\+\+STAT\+\_\+\+OERROR}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00118}{UBT\+\_\+\+STAT\+\_\+\+PCKTS\+\_\+\+SENT}}.

\mbox{\Hypertarget{ng__ubt_8c_a39cfdb0c8915123573dea71ac81142f2}\label{ng__ubt_8c_a39cfdb0c8915123573dea71ac81142f2}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_modevent@{ubt\_modevent}}
\index{ubt\_modevent@{ubt\_modevent}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_modevent()}{ubt\_modevent()}}
{\footnotesize\ttfamily static int ubt\+\_\+modevent (\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__ubt_8c_source_l01971}{1971}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__ubt__var_8h_source_l00000}{event}}, \mbox{\hyperlink{ng__base_8c_source_l01272}{ng\+\_\+newtype()}}, \mbox{\hyperlink{ng__base_8c_source_l01306}{ng\+\_\+rmtype()}}, \mbox{\hyperlink{ng__ubt_8h_source_l00045}{NG\+\_\+\+UBT\+\_\+\+NODE\+\_\+\+TYPE}}, and \mbox{\hyperlink{ng__ubt_8c_source_l00239}{typestruct}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/db5/ng__ubt_8c_a39cfdb0c8915123573dea71ac81142f2_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_a26839410e2892c678aff49f7148db516}\label{ng__ubt_8c_a26839410e2892c678aff49f7148db516}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_probe@{ubt\_probe}}
\index{ubt\_probe@{ubt\_probe}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_probe()}{ubt\_probe()}}
{\footnotesize\ttfamily static int ubt\+\_\+probe (\begin{DoxyParamCaption}\item[{device\+\_\+t}]{dev }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00607}{607}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__ubt_8c_source_l00450}{ubt\+\_\+devs}}, and \mbox{\hyperlink{ng__ubt_8c_source_l00393}{ubt\+\_\+ignore\+\_\+devs}}.

\mbox{\Hypertarget{ng__ubt_8c_a277f9620e5d8e0d1b8c66ede52c926fc}\label{ng__ubt_8c_a277f9620e5d8e0d1b8c66ede52c926fc}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_probe\_intr\_callback@{ubt\_probe\_intr\_callback}}
\index{ubt\_probe\_intr\_callback@{ubt\_probe\_intr\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_probe\_intr\_callback()}{ubt\_probe\_intr\_callback()}}
{\footnotesize\ttfamily static void ubt\+\_\+probe\+\_\+intr\+\_\+callback (\begin{DoxyParamCaption}\item[{struct usb\+\_\+xfer $\ast$}]{xfer,  }\item[{usb\+\_\+error\+\_\+t}]{error }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00824}{824}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__ubt__var_8h_source_l00103}{UBT\+\_\+\+HCI\+\_\+\+EVENT\+\_\+\+SIZE}}.

\mbox{\Hypertarget{ng__ubt_8c_ac8a4dec0815057f13484790aa2df8cd6}\label{ng__ubt_8c_ac8a4dec0815057f13484790aa2df8cd6}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_task@{ubt\_task}}
\index{ubt\_task@{ubt\_task}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_task()}{ubt\_task()}}
{\footnotesize\ttfamily static void ubt\+\_\+task (\begin{DoxyParamCaption}\item[{void $\ast$}]{context,  }\item[{int}]{pending }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01519}{1519}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__ubt__var_8h_source_l00127}{ubt\+\_\+softc\+::sc\+\_\+if\+\_\+mtx}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00152}{ubt\+\_\+softc\+::sc\+\_\+task\+\_\+flags}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00128}{ubt\+\_\+softc\+::sc\+\_\+xfer}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00155}{UBT\+\_\+\+FLAG\+\_\+\+T\+\_\+\+START\+\_\+\+ALL}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00157}{UBT\+\_\+\+FLAG\+\_\+\+T\+\_\+\+START\+\_\+\+BULK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00156}{UBT\+\_\+\+FLAG\+\_\+\+T\+\_\+\+START\+\_\+\+CTRL}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00154}{UBT\+\_\+\+FLAG\+\_\+\+T\+\_\+\+STOP\+\_\+\+ALL}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00064}{UBT\+\_\+\+IF\+\_\+0\+\_\+\+BULK\+\_\+\+DT\+\_\+\+RD}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00063}{UBT\+\_\+\+IF\+\_\+0\+\_\+\+BULK\+\_\+\+DT\+\_\+\+WR}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00066}{UBT\+\_\+\+IF\+\_\+0\+\_\+\+CTRL\+\_\+\+DT\+\_\+\+WR}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00065}{UBT\+\_\+\+IF\+\_\+0\+\_\+\+INTR\+\_\+\+DT\+\_\+\+RD}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00069}{UBT\+\_\+\+IF\+\_\+1\+\_\+\+ISOC\+\_\+\+DT\+\_\+\+RD1}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00070}{UBT\+\_\+\+IF\+\_\+1\+\_\+\+ISOC\+\_\+\+DT\+\_\+\+RD2}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00071}{UBT\+\_\+\+IF\+\_\+1\+\_\+\+ISOC\+\_\+\+DT\+\_\+\+WR1}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00072}{UBT\+\_\+\+IF\+\_\+1\+\_\+\+ISOC\+\_\+\+DT\+\_\+\+WR2}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00074}{UBT\+\_\+\+N\+\_\+\+TRANSFER}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00052}{UBT\+\_\+\+NG\+\_\+\+LOCK}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00053}{UBT\+\_\+\+NG\+\_\+\+UNLOCK}}, and \mbox{\hyperlink{ng__ubt_8c_source_l00144}{ubt\+\_\+xfer\+\_\+start}}.

\mbox{\Hypertarget{ng__ubt_8c_ae246805ef9c86a2e43954cd9ad9e6ecd}\label{ng__ubt_8c_ae246805ef9c86a2e43954cd9ad9e6ecd}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_task\_schedule@{ubt\_task\_schedule}}
\index{ubt\_task\_schedule@{ubt\_task\_schedule}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_task\_schedule()}{ubt\_task\_schedule()}}
{\footnotesize\ttfamily static void ubt\+\_\+task\+\_\+schedule (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__ubt__var_8h_ab83d0cf5dddd66b7e44f2ee6a0d2f45d}{ubt\+\_\+softc\+\_\+p}}}]{sc,  }\item[{int}]{action }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01473}{1473}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



References \mbox{\hyperlink{ng__ubt__var_8h_source_l00130}{ubt\+\_\+softc\+::sc\+\_\+ng\+\_\+mtx}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00159}{ubt\+\_\+softc\+::sc\+\_\+task}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00152}{ubt\+\_\+softc\+::sc\+\_\+task\+\_\+flags}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00153}{UBT\+\_\+\+FLAG\+\_\+\+T\+\_\+\+PENDING}}, and \mbox{\hyperlink{ng__ubt__var_8h_source_l00154}{UBT\+\_\+\+FLAG\+\_\+\+T\+\_\+\+STOP\+\_\+\+ALL}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l01650}{ng\+\_\+ubt\+\_\+connect()}}, \mbox{\hyperlink{ng__ubt_8c_source_l01669}{ng\+\_\+ubt\+\_\+disconnect()}}, and \mbox{\hyperlink{ng__ubt_8c_source_l01875}{ng\+\_\+ubt\+\_\+rcvdata()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=330pt]{dc/db5/ng__ubt_8c_ae246805ef9c86a2e43954cd9ad9e6ecd_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ubt_8c_ac0bf1bb43e6f13a5755cc23663a9b1d9}\label{ng__ubt_8c_ac0bf1bb43e6f13a5755cc23663a9b1d9}} 
\index{ng\_ubt.c@{ng\_ubt.c}!USB\_PNP\_HOST\_INFO@{USB\_PNP\_HOST\_INFO}}
\index{USB\_PNP\_HOST\_INFO@{USB\_PNP\_HOST\_INFO}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{USB\_PNP\_HOST\_INFO()}{USB\_PNP\_HOST\_INFO()}}
{\footnotesize\ttfamily USB\+\_\+\+PNP\+\_\+\+HOST\+\_\+\+INFO (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__ubt_8c_a27dab7af037633d2ff4e204eb88bd670}{ubt\+\_\+devs}}}]{ }\end{DoxyParamCaption})}



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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00191}{191}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a8f58f63b832aa3b690b3a9ecbb443ca0}\label{ng__ubt_8c_a8f58f63b832aa3b690b3a9ecbb443ca0}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ng\_ubt\_connect@{ng\_ubt\_connect}}
\index{ng\_ubt\_connect@{ng\_ubt\_connect}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ng\_ubt\_connect}{ng\_ubt\_connect}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_a0e4a4a62e48409635e5f33c548baaea7}{ng\+\_\+connect\+\_\+t}} ng\+\_\+ubt\+\_\+connect\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00150}{150}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00147}{147}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00151}{151}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00149}{149}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_aad32cc4e1d5494cfac4b66463e26f0e1}\label{ng__ubt_8c_aad32cc4e1d5494cfac4b66463e26f0e1}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ng\_ubt\_node\_qlen\_type@{ng\_ubt\_node\_qlen\_type}}
\index{ng\_ubt\_node\_qlen\_type@{ng\_ubt\_node\_qlen\_type}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ng\_ubt\_node\_qlen\_type}{ng\_ubt\_node\_qlen\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+ubt\+\_\+node\+\_\+qlen\+\_\+type\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{\{}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__parse_8c_aa8b7049fbd698972a3d2ce77dfd7d079}{ng\_parse\_struct\_type}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__ubt_8c_a134e1162915e0ffb4ed8eb6a70f48a57}{ng\_ubt\_node\_qlen\_type\_fields}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00167}{167}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a134e1162915e0ffb4ed8eb6a70f48a57}\label{ng__ubt_8c_a134e1162915e0ffb4ed8eb6a70f48a57}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ng\_ubt\_node\_qlen\_type\_fields@{ng\_ubt\_node\_qlen\_type\_fields}}
\index{ng\_ubt\_node\_qlen\_type\_fields@{ng\_ubt\_node\_qlen\_type\_fields}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ng\_ubt\_node\_qlen\_type\_fields}{ng\_ubt\_node\_qlen\_type\_fields}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} ng\+\_\+ubt\+\_\+node\+\_\+qlen\+\_\+type\+\_\+fields\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{\{}
\DoxyCodeLine{        \{ \textcolor{stringliteral}{"{}queue"{}}, \&\mbox{\hyperlink{ng__parse_8c_a20fdb7664c089b34fc33f9a53b3d6622}{ng\_parse\_int32\_type}}, \},}
\DoxyCodeLine{        \{ \textcolor{stringliteral}{"{}qlen"{}},  \&\mbox{\hyperlink{ng__parse_8c_a20fdb7664c089b34fc33f9a53b3d6622}{ng\_parse\_int32\_type}}, \},}
\DoxyCodeLine{        \{ NULL, \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00161}{161}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_adef7a4416165f5e96e7f9dd2a21a82b7}\label{ng__ubt_8c_adef7a4416165f5e96e7f9dd2a21a82b7}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ng\_ubt\_node\_stat\_type@{ng\_ubt\_node\_stat\_type}}
\index{ng\_ubt\_node\_stat\_type@{ng\_ubt\_node\_stat\_type}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ng\_ubt\_node\_stat\_type}{ng\_ubt\_node\_stat\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+ubt\+\_\+node\+\_\+stat\+\_\+type\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{\{}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__parse_8c_aa8b7049fbd698972a3d2ce77dfd7d079}{ng\_parse\_struct\_type}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__ubt_8c_abedce3b61602cb6e2565f7251f978d9b}{ng\_ubt\_node\_stat\_type\_fields}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00184}{184}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_abedce3b61602cb6e2565f7251f978d9b}\label{ng__ubt_8c_abedce3b61602cb6e2565f7251f978d9b}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ng\_ubt\_node\_stat\_type\_fields@{ng\_ubt\_node\_stat\_type\_fields}}
\index{ng\_ubt\_node\_stat\_type\_fields@{ng\_ubt\_node\_stat\_type\_fields}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ng\_ubt\_node\_stat\_type\_fields}{ng\_ubt\_node\_stat\_type\_fields}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} ng\+\_\+ubt\+\_\+node\+\_\+stat\+\_\+type\+\_\+fields\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{\{}
\DoxyCodeLine{        \{ \textcolor{stringliteral}{"{}pckts\_recv"{}}, \&\mbox{\hyperlink{ng__parse_8c_ac8ed58dbf4650a5ddc5bfd882e064519}{ng\_parse\_uint32\_type}}, \},}
\DoxyCodeLine{        \{ \textcolor{stringliteral}{"{}bytes\_recv"{}}, \&\mbox{\hyperlink{ng__parse_8c_ac8ed58dbf4650a5ddc5bfd882e064519}{ng\_parse\_uint32\_type}}, \},}
\DoxyCodeLine{        \{ \textcolor{stringliteral}{"{}pckts\_sent"{}}, \&\mbox{\hyperlink{ng__parse_8c_ac8ed58dbf4650a5ddc5bfd882e064519}{ng\_parse\_uint32\_type}}, \},}
\DoxyCodeLine{        \{ \textcolor{stringliteral}{"{}bytes\_sent"{}}, \&\mbox{\hyperlink{ng__parse_8c_ac8ed58dbf4650a5ddc5bfd882e064519}{ng\_parse\_uint32\_type}}, \},}
\DoxyCodeLine{        \{ \textcolor{stringliteral}{"{}oerrors"{}},    \&\mbox{\hyperlink{ng__parse_8c_ac8ed58dbf4650a5ddc5bfd882e064519}{ng\_parse\_uint32\_type}}, \},}
\DoxyCodeLine{        \{ \textcolor{stringliteral}{"{}ierrors"{}},    \&\mbox{\hyperlink{ng__parse_8c_ac8ed58dbf4650a5ddc5bfd882e064519}{ng\_parse\_uint32\_type}}, \},}
\DoxyCodeLine{        \{ NULL, \}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00174}{174}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00153}{153}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00152}{152}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00148}{148}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a9ffe035b8ab79eb7d4cd41f9559499dc}\label{ng__ubt_8c_a9ffe035b8ab79eb7d4cd41f9559499dc}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ng\_usb\_isoc\_enable@{ng\_usb\_isoc\_enable}}
\index{ng\_usb\_isoc\_enable@{ng\_usb\_isoc\_enable}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ng\_usb\_isoc\_enable}{ng\_usb\_isoc\_enable}}
{\footnotesize\ttfamily int ng\+\_\+usb\+\_\+isoc\+\_\+enable = 1\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00155}{155}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l00634}{ubt\+\_\+attach()}}.

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

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{\{}
\DoxyCodeLine{        .version =      \mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\_ABI\_VERSION}},}
\DoxyCodeLine{        .name =         \mbox{\hyperlink{ng__ubt_8h_a903f6064301f1e9967566ea05cf798a1}{NG\_UBT\_NODE\_TYPE}},}
\DoxyCodeLine{        .constructor =  \mbox{\hyperlink{ng__ubt_8c_a266fb8ff5f8c42eecbc0fbb61a1811f7}{ng\_ubt\_constructor}},}
\DoxyCodeLine{        .rcvmsg =       \mbox{\hyperlink{ng__ubt_8c_ac4351a342a4fca4236b6d07ff99181f2}{ng\_ubt\_rcvmsg}},}
\DoxyCodeLine{        .shutdown =     \mbox{\hyperlink{ng__ubt_8c_a3cb9fd0ab47580ece9847b98f5faff6c}{ng\_ubt\_shutdown}},}
\DoxyCodeLine{        .newhook =      \mbox{\hyperlink{ng__ubt_8c_a7df7bcd70a40fa1fcfb8d6f27ad8780a}{ng\_ubt\_newhook}},}
\DoxyCodeLine{        .connect =      \mbox{\hyperlink{ng__ubt_8c_a8f58f63b832aa3b690b3a9ecbb443ca0}{ng\_ubt\_connect}},}
\DoxyCodeLine{        .rcvdata =      \mbox{\hyperlink{ng__ubt_8c_ad588d2e65bb59f910d3a52f41453eed9}{ng\_ubt\_rcvdata}},}
\DoxyCodeLine{        .disconnect =   \mbox{\hyperlink{ng__ubt_8c_ab626c838bcf354fe851d210ae24872ca}{ng\_ubt\_disconnect}},}
\DoxyCodeLine{        .cmdlist =      \mbox{\hyperlink{ng__ubt_8c_a96af226936247ea557578e7e9db5e80b}{ng\_ubt\_cmdlist}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00239}{239}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l00634}{ubt\+\_\+attach()}}, and \mbox{\hyperlink{ng__ubt_8c_source_l01971}{ubt\+\_\+modevent()}}.

\mbox{\Hypertarget{ng__ubt_8c_a4a6250ade8d193ca25789e46415a2756}\label{ng__ubt_8c_a4a6250ade8d193ca25789e46415a2756}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_attach@{ubt\_attach}}
\index{ubt\_attach@{ubt\_attach}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_attach}{ubt\_attach}}
{\footnotesize\ttfamily device\+\_\+attach\+\_\+t ubt\+\_\+attach\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00138}{138}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a2ff123c3c7491c5077789e57fa651478}\label{ng__ubt_8c_a2ff123c3c7491c5077789e57fa651478}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_bulk\_read\_callback@{ubt\_bulk\_read\_callback}}
\index{ubt\_bulk\_read\_callback@{ubt\_bulk\_read\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_bulk\_read\_callback}{ubt\_bulk\_read\_callback}}
{\footnotesize\ttfamily usb\+\_\+callback\+\_\+t ubt\+\_\+bulk\+\_\+read\+\_\+callback\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00263}{263}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_af1276a3b306e8b10188594e07cde1a8c}\label{ng__ubt_8c_af1276a3b306e8b10188594e07cde1a8c}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_bulk\_write\_callback@{ubt\_bulk\_write\_callback}}
\index{ubt\_bulk\_write\_callback@{ubt\_bulk\_write\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_bulk\_write\_callback}{ubt\_bulk\_write\_callback}}
{\footnotesize\ttfamily usb\+\_\+callback\+\_\+t ubt\+\_\+bulk\+\_\+write\+\_\+callback\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00264}{264}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a546f84ffc316d847b6e296a2d91ad3ff}\label{ng__ubt_8c_a546f84ffc316d847b6e296a2d91ad3ff}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_config@{ubt\_config}}
\index{ubt\_config@{ubt\_config}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_config}{ubt\_config}}
{\footnotesize\ttfamily const struct usb\+\_\+config ubt\+\_\+config\mbox{[}\mbox{\hyperlink{ng__ubt__var_8h_a61dadd085c1777f559549e05962b2c9ea8777288eff72531769533666f9c172eb}{UBT\+\_\+\+N\+\_\+\+TRANSFER}}\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00286}{286}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l00634}{ubt\+\_\+attach()}}.

\mbox{\Hypertarget{ng__ubt_8c_a8cfc1c20f4989015fbe8389f5eae08fa}\label{ng__ubt_8c_a8cfc1c20f4989015fbe8389f5eae08fa}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_ctrl\_write\_callback@{ubt\_ctrl\_write\_callback}}
\index{ubt\_ctrl\_write\_callback@{ubt\_ctrl\_write\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_ctrl\_write\_callback}{ubt\_ctrl\_write\_callback}}
{\footnotesize\ttfamily usb\+\_\+callback\+\_\+t ubt\+\_\+ctrl\+\_\+write\+\_\+callback\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00261}{261}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a0807ce14484285543ed8184c65217f7f}\label{ng__ubt_8c_a0807ce14484285543ed8184c65217f7f}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_detach@{ubt\_detach}}
\index{ubt\_detach@{ubt\_detach}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_detach}{ubt\_detach}}
{\footnotesize\ttfamily device\+\_\+detach\+\_\+t ubt\+\_\+detach\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00139}{139}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l00634}{ubt\+\_\+attach()}}.

\mbox{\Hypertarget{ng__ubt_8c_a38c8a341f6da19f2dcfc313aa1d734f5}\label{ng__ubt_8c_a38c8a341f6da19f2dcfc313aa1d734f5}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_devclass@{ubt\_devclass}}
\index{ubt\_devclass@{ubt\_devclass}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_devclass}{ubt\_devclass}}
{\footnotesize\ttfamily devclass\+\_\+t ubt\+\_\+devclass}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01995}{1995}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a27dab7af037633d2ff4e204eb88bd670}\label{ng__ubt_8c_a27dab7af037633d2ff4e204eb88bd670}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_devs@{ubt\_devs}}
\index{ubt\_devs@{ubt\_devs}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_devs}{ubt\_devs}}
{\footnotesize\ttfamily const STRUCT\+\_\+\+USB\+\_\+\+HOST\+\_\+\+ID ubt\+\_\+devs\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00450}{450}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l00607}{ubt\+\_\+probe()}}.

\mbox{\Hypertarget{ng__ubt_8c_a4166b795a9d2ddc5da2d4ccf9774cc3d}\label{ng__ubt_8c_a4166b795a9d2ddc5da2d4ccf9774cc3d}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_driver@{ubt\_driver}}
\index{ubt\_driver@{ubt\_driver}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_driver}{ubt\_driver}}
{\footnotesize\ttfamily driver\+\_\+t ubt\+\_\+driver}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{\{}
\DoxyCodeLine{        .name =    \textcolor{stringliteral}{"{}ubt"{}},}
\DoxyCodeLine{        .methods = \mbox{\hyperlink{ng__ubt_8c_a246338f6c23d3aee1529d7737ffe16b5}{ubt\_methods}},}
\DoxyCodeLine{        .size =    \textcolor{keyword}{sizeof}(\textcolor{keyword}{struct }\mbox{\hyperlink{structubt__softc}{ubt\_softc}}),}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l02005}{2005}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a384888050ff3c166ae81ed588800c665}\label{ng__ubt_8c_a384888050ff3c166ae81ed588800c665}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_ignore\_devs@{ubt\_ignore\_devs}}
\index{ubt\_ignore\_devs@{ubt\_ignore\_devs}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_ignore\_devs}{ubt\_ignore\_devs}}
{\footnotesize\ttfamily const STRUCT\+\_\+\+USB\+\_\+\+HOST\+\_\+\+ID ubt\+\_\+ignore\+\_\+devs\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00393}{393}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l00607}{ubt\+\_\+probe()}}.

\mbox{\Hypertarget{ng__ubt_8c_a9468c082e5b8cdc5bae70bf35c00c118}\label{ng__ubt_8c_a9468c082e5b8cdc5bae70bf35c00c118}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_intr\_read\_callback@{ubt\_intr\_read\_callback}}
\index{ubt\_intr\_read\_callback@{ubt\_intr\_read\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_intr\_read\_callback}{ubt\_intr\_read\_callback}}
{\footnotesize\ttfamily usb\+\_\+callback\+\_\+t ubt\+\_\+intr\+\_\+read\+\_\+callback\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00262}{262}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a10921286322e18fe5252f378b1256b20}\label{ng__ubt_8c_a10921286322e18fe5252f378b1256b20}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_isoc\_read\_callback@{ubt\_isoc\_read\_callback}}
\index{ubt\_isoc\_read\_callback@{ubt\_isoc\_read\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_isoc\_read\_callback}{ubt\_isoc\_read\_callback}}
{\footnotesize\ttfamily usb\+\_\+callback\+\_\+t ubt\+\_\+isoc\+\_\+read\+\_\+callback\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00265}{265}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_af694eeb98e9e32de74102551f1129639}\label{ng__ubt_8c_af694eeb98e9e32de74102551f1129639}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_isoc\_write\_callback@{ubt\_isoc\_write\_callback}}
\index{ubt\_isoc\_write\_callback@{ubt\_isoc\_write\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_isoc\_write\_callback}{ubt\_isoc\_write\_callback}}
{\footnotesize\ttfamily usb\+\_\+callback\+\_\+t ubt\+\_\+isoc\+\_\+write\+\_\+callback\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00266}{266}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a246338f6c23d3aee1529d7737ffe16b5}\label{ng__ubt_8c_a246338f6c23d3aee1529d7737ffe16b5}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_methods@{ubt\_methods}}
\index{ubt\_methods@{ubt\_methods}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_methods}{ubt\_methods}}
{\footnotesize\ttfamily device\+\_\+method\+\_\+t ubt\+\_\+methods\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{=}
\DoxyCodeLine{\{}
\DoxyCodeLine{        DEVMETHOD(device\_probe, \mbox{\hyperlink{ng__ubt_8c_ad03d0b0a01b86016c25a80a189d2a9cf}{ubt\_probe}}),}
\DoxyCodeLine{        DEVMETHOD(device\_attach, \mbox{\hyperlink{ng__ubt_8c_a4a6250ade8d193ca25789e46415a2756}{ubt\_attach}}),}
\DoxyCodeLine{        DEVMETHOD(device\_detach, \mbox{\hyperlink{ng__ubt_8c_a0807ce14484285543ed8184c65217f7f}{ubt\_detach}}),}
\DoxyCodeLine{        DEVMETHOD\_END}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l01997}{1997}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_ad03d0b0a01b86016c25a80a189d2a9cf}\label{ng__ubt_8c_ad03d0b0a01b86016c25a80a189d2a9cf}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_probe@{ubt\_probe}}
\index{ubt\_probe@{ubt\_probe}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_probe}{ubt\_probe}}
{\footnotesize\ttfamily device\+\_\+probe\+\_\+t ubt\+\_\+probe\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00137}{137}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.

\mbox{\Hypertarget{ng__ubt_8c_a90d60caa3baeadf79e0414363a478121}\label{ng__ubt_8c_a90d60caa3baeadf79e0414363a478121}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_probe\_intr\_callback@{ubt\_probe\_intr\_callback}}
\index{ubt\_probe\_intr\_callback@{ubt\_probe\_intr\_callback}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_probe\_intr\_callback}{ubt\_probe\_intr\_callback}}
{\footnotesize\ttfamily usb\+\_\+callback\+\_\+t ubt\+\_\+probe\+\_\+intr\+\_\+callback\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00260}{260}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l00539}{ubt\+\_\+do\+\_\+hci\+\_\+request()}}.

\mbox{\Hypertarget{ng__ubt_8c_a07664a30e5ce5a89597e6db805c971ba}\label{ng__ubt_8c_a07664a30e5ce5a89597e6db805c971ba}} 
\index{ng\_ubt.c@{ng\_ubt.c}!ubt\_task@{ubt\_task}}
\index{ubt\_task@{ubt\_task}!ng\_ubt.c@{ng\_ubt.c}}
\doxysubsubsection{\texorpdfstring{ubt\_task}{ubt\_task}}
{\footnotesize\ttfamily task\+\_\+fn\+\_\+t ubt\+\_\+task\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ubt_8c_source_l00142}{142}} of file \mbox{\hyperlink{ng__ubt_8c_source}{ng\+\_\+ubt.\+c}}.



Referenced by \mbox{\hyperlink{ng__ubt_8c_source_l00634}{ubt\+\_\+attach()}}.

