\hypertarget{ng__hci__var_8h_source}{}\doxysection{ng\+\_\+hci\+\_\+var.\+h}
\label{ng__hci__var_8h_source}\index{netgraph/bluetooth/hci/ng\_hci\_var.h@{netgraph/bluetooth/hci/ng\_hci\_var.h}}
\mbox{\hyperlink{ng__hci__var_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00001}00001 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00002}00002 \textcolor{comment}{ * ng\_hci\_var.h}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00003}00003 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00004}00004 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00005}00005 \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00006}00006 \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00007}00007 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00008}00008 \textcolor{comment}{ * Copyright (c) 2001 Maksim Yevmenkin <m\_evmenkin@yahoo.com>}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00009}00009 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00010}00010 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00011}00011 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00012}00012 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00013}00013 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00014}00014 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00015}00015 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00016}00016 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00017}00017 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00018}00018 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00019}00019 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00020}00020 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00021}00021 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00022}00022 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00023}00023 \textcolor{comment}{ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00024}00024 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00025}00025 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00026}00026 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00027}00027 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00028}00028 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00029}00029 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00030}00030 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00031}00031 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00032}00032 \textcolor{comment}{ * \$Id: ng\_hci\_var.h,v 1.3 2003/04/26 22:35:21 max Exp \$}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00033}00033 \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00034}00034 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00035}00035 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00036}00036 \textcolor{preprocessor}{\#ifndef \_NETGRAPH\_HCI\_VAR\_H\_}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00037}00037 \textcolor{preprocessor}{\#define \_NETGRAPH\_HCI\_VAR\_H\_}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00038}00038 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00039}00039 \textcolor{comment}{/* MALLOC decalation */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00040}00040 \textcolor{preprocessor}{\#ifdef NG\_SEPARATE\_MALLOC}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00041}00041 \mbox{\hyperlink{ng__ccatm__cust_8h_ab871bfef65204a3de4369dffe222b022}{MALLOC\_DECLARE}}(\mbox{\hyperlink{ng__hci__var_8h_af6b938415e7a223856de6c93f4008b57}{M\_NETGRAPH\_HCI}});}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00042}00042 \textcolor{preprocessor}{\#else}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00043}\mbox{\hyperlink{ng__hci__var_8h_af6b938415e7a223856de6c93f4008b57}{00043}} \textcolor{preprocessor}{\#define M\_NETGRAPH\_HCI M\_NETGRAPH}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00044}00044 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* NG\_SEPARATE\_MALLOC */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00045}00045 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00046}00046 \textcolor{comment}{/* Debug */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00047}\mbox{\hyperlink{ng__hci__var_8h_a98c5548ff25cec6226d5624900801d5e}{00047}} \textcolor{preprocessor}{\#define NG\_HCI\_ALERT    if (unit-\/>debug >= NG\_HCI\_ALERT\_LEVEL) printf}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00048}\mbox{\hyperlink{ng__hci__var_8h_a347403c3d9eebde8aa890c65b4ab5874}{00048}} \textcolor{preprocessor}{\#define NG\_HCI\_ERR      if (unit-\/>debug >= NG\_HCI\_ERR\_LEVEL)   printf}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00049}\mbox{\hyperlink{ng__hci__var_8h_add54db430ea340e556df410026a5c003}{00049}} \textcolor{preprocessor}{\#define NG\_HCI\_WARN     if (unit-\/>debug >= NG\_HCI\_WARN\_LEVEL)  printf}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00050}\mbox{\hyperlink{ng__hci__var_8h_a4ce50ea1a4240b3fa3999028dc40deb5}{00050}} \textcolor{preprocessor}{\#define NG\_HCI\_INFO     if (unit-\/>debug >= NG\_HCI\_INFO\_LEVEL)  printf}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00051}00051 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00052}00052 \textcolor{comment}{/* Wrapper around m\_pullup */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00053}\mbox{\hyperlink{ng__hci__var_8h_a8e7394987275c0d3d5c788d003137197}{00053}} \textcolor{preprocessor}{\#define NG\_HCI\_M\_PULLUP(m, s)                           \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00054}00054 \textcolor{preprocessor}{        do \{                                            \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00055}00055 \textcolor{preprocessor}{                if ((m)-\/>m\_len < (s))                   \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00056}00056 \textcolor{preprocessor}{                        (m) = m\_pullup((m), (s));       \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00057}00057 \textcolor{preprocessor}{                if ((m) == NULL)                        \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00058}00058 \textcolor{preprocessor}{                        NG\_HCI\_ALERT("{}\%s: \%s -\/ m\_pullup(\%zd) failed\(\backslash\)n"{}}, \(\backslash\)}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00059}00059                                 \_\_func\_\_, NG\_NODE\_NAME(unit-\/>node), (s)); \(\backslash\)}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00060}00060         \} while (0)}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00061}00061 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00062}00062 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00063}00063 \textcolor{comment}{ * Unit hardware buffer descriptor }}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00064}00064 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00065}00065 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00066}\mbox{\hyperlink{structng__hci__unit__buff}{00066}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__hci__unit__buff}{ng\_hci\_unit\_buff}} \{}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00067}\mbox{\hyperlink{structng__hci__unit__buff_afede76b7bf5883639bc9414c12aca7df}{00067}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__unit__buff_afede76b7bf5883639bc9414c12aca7df}{cmd\_free}}; \textcolor{comment}{/* space available (cmds) */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00068}00068 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00069}\mbox{\hyperlink{structng__hci__unit__buff_ab6cca10338917aedc2170aa3b785b300}{00069}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__unit__buff_ab6cca10338917aedc2170aa3b785b300}{sco\_size}}; \textcolor{comment}{/* max. size of one packet */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00070}\mbox{\hyperlink{structng__hci__unit__buff_a225b458fd915ec48aadb736475fb2091}{00070}}         u\_int16\_t                       \mbox{\hyperlink{structng__hci__unit__buff_a225b458fd915ec48aadb736475fb2091}{sco\_pkts}}; \textcolor{comment}{/* size of buffer (packets) */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00071}\mbox{\hyperlink{structng__hci__unit__buff_a5cd12788c5b376214eff1d76be72bf2e}{00071}}         u\_int16\_t                       \mbox{\hyperlink{structng__hci__unit__buff_a5cd12788c5b376214eff1d76be72bf2e}{sco\_free}}; \textcolor{comment}{/* space available (packets)*/}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00072}00072 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00073}\mbox{\hyperlink{structng__hci__unit__buff_a3deb2d110ccc56a4b4a200a5904f42c2}{00073}}         u\_int16\_t                       \mbox{\hyperlink{structng__hci__unit__buff_a3deb2d110ccc56a4b4a200a5904f42c2}{acl\_size}}; \textcolor{comment}{/* max. size of one packet */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00074}\mbox{\hyperlink{structng__hci__unit__buff_aed483c46e51b643f8ef4f1db321a8eee}{00074}}         u\_int16\_t                       \mbox{\hyperlink{structng__hci__unit__buff_aed483c46e51b643f8ef4f1db321a8eee}{acl\_pkts}}; \textcolor{comment}{/* size of buffer (packets) */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00075}\mbox{\hyperlink{structng__hci__unit__buff_a6de456a400616abdb1440d5977c1c0ef}{00075}}         u\_int16\_t                       \mbox{\hyperlink{structng__hci__unit__buff_a6de456a400616abdb1440d5977c1c0ef}{acl\_free}}; \textcolor{comment}{/* space available (packets)*/}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00076}\mbox{\hyperlink{ng__hci__var_8h_aa37148db480e0913d50c151b217d5441}{00076}} \} \mbox{\hyperlink{ng__hci__var_8h_aa37148db480e0913d50c151b217d5441}{ng\_hci\_unit\_buff\_t}};}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00077}00077 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00078}00078 \textcolor{comment}{/* }}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00079}00079 \textcolor{comment}{ * These macro's must be used everywhere in the code. So if extra locking }}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00080}00080 \textcolor{comment}{ * is required later, it can be added without much troubles.}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00081}00081 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00082}00082 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00083}\mbox{\hyperlink{ng__hci__var_8h_aa66df0bec39c7c3254f4df0893a5027a}{00083}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_CMD\_SET(b, v)       (b).cmd\_free = (v)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00084}\mbox{\hyperlink{ng__hci__var_8h_ab91b3d5e2dc63f86c708d707c55c8e77}{00084}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_CMD\_GET(b, v)       (v) = (b).cmd\_free}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00085}\mbox{\hyperlink{ng__hci__var_8h_aa4e3f44fb8104f50cd951f077e400805}{00085}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_CMD\_USE(b, v)       (b).cmd\_free -\/= (v)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00086}00086 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00087}\mbox{\hyperlink{ng__hci__var_8h_a84483a47fd68a133bbb0a024ede961f2}{00087}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_ACL\_USE(b, v)       (b).acl\_free -\/= (v)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00088}\mbox{\hyperlink{ng__hci__var_8h_ae9efc317475cfdd78b25bc159155a7d7}{00088}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_ACL\_FREE(b, v)                      \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00089}00089 \textcolor{preprocessor}{        do \{                                            \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00090}00090 \textcolor{preprocessor}{                (b).acl\_free += (v);                    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00091}00091 \textcolor{preprocessor}{                if ((b).acl\_free > (b).acl\_pkts)        \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00092}00092 \textcolor{preprocessor}{                        (b).acl\_free = (b).acl\_pkts;    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00093}00093 \textcolor{preprocessor}{        \} while (0)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00094}\mbox{\hyperlink{ng__hci__var_8h_abee8224a88d3b2ef0df56032319b5337}{00094}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_ACL\_AVAIL(b, v)     (v) = (b).acl\_free}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00095}\mbox{\hyperlink{ng__hci__var_8h_a0b901baa5e7044eaee78463791b0f15c}{00095}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_ACL\_TOTAL(b, v)     (v) = (b).acl\_pkts}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00096}\mbox{\hyperlink{ng__hci__var_8h_abf1e5453148b00ad44dc708f87652f23}{00096}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_ACL\_SIZE(b, v)      (v) = (b).acl\_size}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00097}\mbox{\hyperlink{ng__hci__var_8h_ab02b875ce77829d10341c79a460ef20f}{00097}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_ACL\_SET(b, n, s, f)                 \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00098}00098 \textcolor{preprocessor}{        do \{                                            \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00099}00099 \textcolor{preprocessor}{                (b).acl\_free = (f);                     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00100}00100 \textcolor{preprocessor}{                (b).acl\_size = (s);                     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00101}00101 \textcolor{preprocessor}{                (b).acl\_pkts = (n);                     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00102}00102 \textcolor{preprocessor}{        \} while (0)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00103}00103 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00104}\mbox{\hyperlink{ng__hci__var_8h_a378c76045fd695eb959dade134407777}{00104}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_SCO\_USE(b, v)       (b).sco\_free -\/= (v)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00105}\mbox{\hyperlink{ng__hci__var_8h_ad3c25df52552584c7d58c06f13c23a66}{00105}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_SCO\_FREE(b, v)                      \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00106}00106 \textcolor{preprocessor}{        do \{                                            \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00107}00107 \textcolor{preprocessor}{                (b).sco\_free += (v);                    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00108}00108 \textcolor{preprocessor}{                if ((b).sco\_free > (b).sco\_pkts)        \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00109}00109 \textcolor{preprocessor}{                        (b).sco\_free = (b).sco\_pkts;    \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00110}00110 \textcolor{preprocessor}{        \} while (0)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00111}\mbox{\hyperlink{ng__hci__var_8h_abb723397c8256b6a5695706f661297dc}{00111}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_SCO\_AVAIL(b, v)     (v) = (b).sco\_free}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00112}\mbox{\hyperlink{ng__hci__var_8h_a8ab1ea34915c7262c7dc583ca84a2abb}{00112}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_SCO\_TOTAL(b, v)     (v) = (b).sco\_pkts}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00113}\mbox{\hyperlink{ng__hci__var_8h_af8192d2a1bd2464ee2cad8bce14ecd8a}{00113}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_SCO\_SIZE(b, v)      (v) = (b).sco\_size}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00114}\mbox{\hyperlink{ng__hci__var_8h_a0b50d8e808e26912b351f9a69c8b021f}{00114}} \textcolor{preprocessor}{\#define NG\_HCI\_BUFF\_SCO\_SET(b, n, s, f)                 \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00115}00115 \textcolor{preprocessor}{        do \{                                            \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00116}00116 \textcolor{preprocessor}{                (b).sco\_free = (f);                     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00117}00117 \textcolor{preprocessor}{                (b).sco\_size = (s);                     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00118}00118 \textcolor{preprocessor}{                (b).sco\_pkts = (n);                     \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00119}00119 \textcolor{preprocessor}{        \} while (0)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00120}00120 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00121}00121 \textcolor{comment}{/* }}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00122}00122 \textcolor{comment}{ * Unit (Node private)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00123}00123 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00124}00124 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00125}00125 \textcolor{keyword}{struct }\mbox{\hyperlink{structng__hci__unit__con}{ng\_hci\_unit\_con}};}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00126}00126 \textcolor{keyword}{struct }\mbox{\hyperlink{structng__hci__neighbor}{ng\_hci\_neighbor}};}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00127}00127 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00128}\mbox{\hyperlink{structng__hci__unit}{00128}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__hci__unit}{ng\_hci\_unit}} \{}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00129}\mbox{\hyperlink{structng__hci__unit_a532226e8a5d24b9b0f2528e580326ef2}{00129}}         \mbox{\hyperlink{structng__node}{node\_p}}                            \mbox{\hyperlink{structng__hci__unit_a532226e8a5d24b9b0f2528e580326ef2}{node}};           \textcolor{comment}{/* node ptr */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00130}00130 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00131}\mbox{\hyperlink{structng__hci__unit_a1bbbde3d2fe5b985d7669da4b962074b}{00131}}         \mbox{\hyperlink{ng__hci_8h_a2001fade93dc3ba2db53da20ab3c7ba9}{ng\_hci\_node\_debug\_ep}}                \mbox{\hyperlink{structng__hci__unit_a1bbbde3d2fe5b985d7669da4b962074b}{debug}};          \textcolor{comment}{/* debug level */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00132}\mbox{\hyperlink{structng__hci__unit_a0e60c241953c2263d2ee904b1914e7e7}{00132}}         \mbox{\hyperlink{ng__hci_8h_ad97d7f1141b9c2a8ddc168ac520fb3ca}{ng\_hci\_node\_state\_ep}}                \mbox{\hyperlink{structng__hci__unit_a0e60c241953c2263d2ee904b1914e7e7}{state}};          \textcolor{comment}{/* unit state */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00133}00133 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00134}\mbox{\hyperlink{structng__hci__unit_adf536cb9e87b01fe0d1087bc35e8c3e8}{00134}}         bdaddr\_t                        \mbox{\hyperlink{structng__hci__unit_adf536cb9e87b01fe0d1087bc35e8c3e8}{bdaddr}};         \textcolor{comment}{/* unit address */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00135}\mbox{\hyperlink{structng__hci__unit_aa996a4dc37a1ae6baefc2f7b31a819b7}{00135}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__unit_aa996a4dc37a1ae6baefc2f7b31a819b7}{features}}[\mbox{\hyperlink{ng__hci_8h_a88ce6dd97529d34b09e2d015f2ed6b14}{NG\_HCI\_FEATURES\_SIZE}}];}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00136}00136                                                         \textcolor{comment}{/* LMP features */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00137}00137 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00138}\mbox{\hyperlink{structng__hci__unit_aca8814204215a0e61779b868d073bf37}{00138}}         \mbox{\hyperlink{ng__hci_8h_ae27d0d86a55a4299dfe086c88e049c4c}{ng\_hci\_node\_link\_policy\_mask\_ep}}  \mbox{\hyperlink{structng__hci__unit_aca8814204215a0e61779b868d073bf37}{link\_policy\_mask}}; \textcolor{comment}{/* link policy mask */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00139}\mbox{\hyperlink{structng__hci__unit_a8a02c36db2c0fbe5e6676dce7e50efa4}{00139}}         \mbox{\hyperlink{ng__hci_8h_a1b045842f11b8c67c10dd5e722294943}{ng\_hci\_node\_packet\_mask\_ep}}    \mbox{\hyperlink{structng__hci__unit_a8a02c36db2c0fbe5e6676dce7e50efa4}{packet\_mask}}; \textcolor{comment}{/* packet mask */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00140}\mbox{\hyperlink{structng__hci__unit_a0bb7b5bce31956e3061b17420c0a07f5}{00140}}         \mbox{\hyperlink{ng__hci_8h_a8b4c014536dc404d8e73159fc7bd4d5d}{ng\_hci\_node\_role\_switch\_ep}}    \mbox{\hyperlink{structng__hci__unit_a0bb7b5bce31956e3061b17420c0a07f5}{role\_switch}}; \textcolor{comment}{/* role switch */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00141}00141 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00142}\mbox{\hyperlink{structng__hci__unit_ac22f7569b709b8364fded0ddbb77c583}{00142}}         \mbox{\hyperlink{structng__hci__node__stat__ep}{ng\_hci\_node\_stat\_ep}}          \mbox{\hyperlink{structng__hci__unit_ac22f7569b709b8364fded0ddbb77c583}{stat}};           \textcolor{comment}{/* statistic */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00143}\mbox{\hyperlink{ng__hci__var_8h_a6ae836f71cc6256997f74b5b0a17cd6f}{00143}} \textcolor{preprocessor}{\#define NG\_HCI\_STAT\_CMD\_SENT(s)         (s).cmd\_sent ++}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00144}\mbox{\hyperlink{ng__hci__var_8h_a86807bd84b5316d37f4ffa882df774e2}{00144}} \textcolor{preprocessor}{\#define NG\_HCI\_STAT\_EVNT\_RECV(s)        (s).evnt\_recv ++}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00145}\mbox{\hyperlink{ng__hci__var_8h_a60dff33d0f7442dc414f801f9439dfe0}{00145}} \textcolor{preprocessor}{\#define NG\_HCI\_STAT\_ACL\_SENT(s, n)      (s).acl\_sent += (n)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00146}\mbox{\hyperlink{ng__hci__var_8h_adc56e0122de328168e0d96b6c18a7aee}{00146}} \textcolor{preprocessor}{\#define NG\_HCI\_STAT\_ACL\_RECV(s)         (s).acl\_recv ++}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00147}\mbox{\hyperlink{ng__hci__var_8h_a9bd5754b79b2a2e53f9d39d250c455f2}{00147}} \textcolor{preprocessor}{\#define NG\_HCI\_STAT\_SCO\_SENT(s, n)      (s).sco\_sent += (n)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00148}\mbox{\hyperlink{ng__hci__var_8h_ab47a92e07e770032396db122816debe0}{00148}} \textcolor{preprocessor}{\#define NG\_HCI\_STAT\_SCO\_RECV(s)         (s).sco\_recv ++}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00149}\mbox{\hyperlink{ng__hci__var_8h_ac9412842e19108c8bf6063c977b67d1e}{00149}} \textcolor{preprocessor}{\#define NG\_HCI\_STAT\_BYTES\_SENT(s, b)    (s).bytes\_sent += (b)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00150}\mbox{\hyperlink{ng__hci__var_8h_a9eb7f0b1ef4c93e785b920096ce38076}{00150}} \textcolor{preprocessor}{\#define NG\_HCI\_STAT\_BYTES\_RECV(s, b)    (s).bytes\_recv += (b)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00151}\mbox{\hyperlink{ng__hci__var_8h_a0dfb7fbc62183d31747ef19b808b51be}{00151}} \textcolor{preprocessor}{\#define NG\_HCI\_STAT\_RESET(s)            bzero(\&(s), sizeof((s)))}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00152}00152 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00153}\mbox{\hyperlink{structng__hci__unit_ae360e0f96519ea18d18b3ed06a5198f8}{00153}}         \mbox{\hyperlink{structng__hci__unit__buff}{ng\_hci\_unit\_buff\_t}}            \mbox{\hyperlink{structng__hci__unit_ae360e0f96519ea18d18b3ed06a5198f8}{buffer}};         \textcolor{comment}{/* buffer info */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00154}00154 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00155}\mbox{\hyperlink{structng__hci__unit_a793e0750e4909cb3ffd84d9ba4c5aba7}{00155}}         \textcolor{keyword}{struct }callout                  \mbox{\hyperlink{structng__hci__unit_a793e0750e4909cb3ffd84d9ba4c5aba7}{cmd\_timo}};       \textcolor{comment}{/* command timeout */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00156}\mbox{\hyperlink{structng__hci__unit_a0d4ba7641d93dd9b0b4aa9c4b67718e6}{00156}}         \mbox{\hyperlink{structng__bt__mbufq}{ng\_bt\_mbufq\_t}}                      \mbox{\hyperlink{structng__hci__unit_a0d4ba7641d93dd9b0b4aa9c4b67718e6}{cmdq}};           \textcolor{comment}{/* command queue */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00157}\mbox{\hyperlink{ng__hci__var_8h_a2913415293661f12ceb2b2a564c7e4ed}{00157}} \textcolor{preprocessor}{\#define NG\_HCI\_CMD\_QUEUE\_LEN            12              }\textcolor{comment}{/* max. size of cmd q */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00158}00158 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00159}\mbox{\hyperlink{structng__hci__unit_a1bf05d29fef0203e3b36025a41808f04}{00159}}         \mbox{\hyperlink{structng__hook}{hook\_p}}                            \mbox{\hyperlink{structng__hci__unit_a1bf05d29fef0203e3b36025a41808f04}{drv}};            \textcolor{comment}{/* driver hook */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00160}\mbox{\hyperlink{structng__hci__unit_a77aaa67e35c0a4d7c3ebcd9d208b1f99}{00160}}         \mbox{\hyperlink{structng__hook}{hook\_p}}                            \mbox{\hyperlink{structng__hci__unit_a77aaa67e35c0a4d7c3ebcd9d208b1f99}{acl}};            \textcolor{comment}{/* upstream hook */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00161}\mbox{\hyperlink{structng__hci__unit_ad221eefe183cbd0ff5ed2ed600e8cc46}{00161}}         \mbox{\hyperlink{structng__hook}{hook\_p}}                            \mbox{\hyperlink{structng__hci__unit_ad221eefe183cbd0ff5ed2ed600e8cc46}{sco}};            \textcolor{comment}{/* upstream hook */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00162}\mbox{\hyperlink{structng__hci__unit_a164e63fc1ae0521386992437f0e040fb}{00162}}         \mbox{\hyperlink{structng__hook}{hook\_p}}                            \mbox{\hyperlink{structng__hci__unit_a164e63fc1ae0521386992437f0e040fb}{raw}};            \textcolor{comment}{/* upstream hook */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00163}00163 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00164}\mbox{\hyperlink{structng__hci__unit_a76f6d34fdbeb3bb9da666e9d7f9aedab}{00164}}         \mbox{\hyperlink{structng__hci__unit_a76f6d34fdbeb3bb9da666e9d7f9aedab}{LIST\_HEAD}}(, \mbox{\hyperlink{structng__hci__unit__con}{ng\_hci\_unit\_con}})    con\_list;       \textcolor{comment}{/* connections */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00165}\mbox{\hyperlink{structng__hci__unit_ad59f888ea5739088cc1b2eabc0bcff5a}{00165}}         \mbox{\hyperlink{structng__hci__unit_ad59f888ea5739088cc1b2eabc0bcff5a}{LIST\_HEAD}}(, \mbox{\hyperlink{structng__hci__neighbor}{ng\_hci\_neighbor}})    neighbors;      \textcolor{comment}{/* unit neighbors */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00166}\mbox{\hyperlink{ng__hci__var_8h_abd1234f8da95cb0a4943c34459ba3955}{00166}} \} \mbox{\hyperlink{ng__hci__var_8h_abd1234f8da95cb0a4943c34459ba3955}{ng\_hci\_unit\_t}};}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00167}\mbox{\hyperlink{ng__hci__var_8h_ae9ddc466aacad997aa8685ab61d77a56}{00167}} \textcolor{keyword}{typedef} \mbox{\hyperlink{structng__hci__unit}{ng\_hci\_unit\_t}} *                    \mbox{\hyperlink{ng__hci__var_8h_ae9ddc466aacad997aa8685ab61d77a56}{ng\_hci\_unit\_p}};}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00168}00168 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00169}00169 \textcolor{comment}{/* }}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00170}00170 \textcolor{comment}{ * Unit connection descriptor}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00171}00171 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00172}00172 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00173}\mbox{\hyperlink{structng__hci__unit__con}{00173}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__hci__unit__con}{ng\_hci\_unit\_con}} \{}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00174}\mbox{\hyperlink{structng__hci__unit__con_a908bd0db5dea3b2d6785399f71d811d2}{00174}}         \mbox{\hyperlink{structng__hci__unit}{ng\_hci\_unit\_p}}                      \mbox{\hyperlink{structng__hci__unit__con_a908bd0db5dea3b2d6785399f71d811d2}{unit}};            \textcolor{comment}{/* pointer back */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00175}00175 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00176}\mbox{\hyperlink{structng__hci__unit__con_a7620ea8c44d5b7f7b48728f224c8fad3}{00176}}         u\_int16\_t                       \mbox{\hyperlink{structng__hci__unit__con_a7620ea8c44d5b7f7b48728f224c8fad3}{state}};           \textcolor{comment}{/* con. state */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00177}\mbox{\hyperlink{structng__hci__unit__con_a1a30e40ae9ab7aebe3d872859c5c5ca6}{00177}}         u\_int16\_t                       \mbox{\hyperlink{structng__hci__unit__con_a1a30e40ae9ab7aebe3d872859c5c5ca6}{flags}};           \textcolor{comment}{/* con. flags */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00178}\mbox{\hyperlink{ng__hci__var_8h_ad12efc8076041274c18cd976c0004ef5}{00178}} \textcolor{preprocessor}{\#define NG\_HCI\_CON\_TIMEOUT\_PENDING              (1 << 0)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00179}\mbox{\hyperlink{ng__hci__var_8h_a07ca755d6fa228bac40bdbb6cd151feb}{00179}} \textcolor{preprocessor}{\#define NG\_HCI\_CON\_NOTIFY\_ACL                   (1 << 1)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00180}\mbox{\hyperlink{ng__hci__var_8h_a507b8524d28b9fb46fd917ecad3c5e22}{00180}} \textcolor{preprocessor}{\#define NG\_HCI\_CON\_NOTIFY\_SCO                   (1 << 2)}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00181}00181 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00182}\mbox{\hyperlink{structng__hci__unit__con_a42808804831d9632a2db0e8f1f6367f5}{00182}}         bdaddr\_t                        \mbox{\hyperlink{structng__hci__unit__con_a42808804831d9632a2db0e8f1f6367f5}{bdaddr}};          \textcolor{comment}{/* remote address */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00183}\mbox{\hyperlink{structng__hci__unit__con_a02c77256cfd83dca50038f1281f78c2d}{00183}}         u\_int16\_t                       \mbox{\hyperlink{structng__hci__unit__con_a02c77256cfd83dca50038f1281f78c2d}{con\_handle}};      \textcolor{comment}{/* con. handle */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00184}00184 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00185}\mbox{\hyperlink{structng__hci__unit__con_a3a396246ceda9716f91a480f401bdc7b}{00185}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__unit__con_a3a396246ceda9716f91a480f401bdc7b}{link\_type}};       \textcolor{comment}{/* ACL or SCO */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00186}\mbox{\hyperlink{structng__hci__unit__con_a7565c1234822e4ccf772a26f54c6857f}{00186}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__unit__con_a7565c1234822e4ccf772a26f54c6857f}{encryption\_mode}}; \textcolor{comment}{/* none, p2p, ... */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00187}\mbox{\hyperlink{structng__hci__unit__con_a3d1b8baed1242d9f7611d03560fe7921}{00187}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__unit__con_a3d1b8baed1242d9f7611d03560fe7921}{mode}};            \textcolor{comment}{/* ACTIVE, HOLD ... */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00188}\mbox{\hyperlink{structng__hci__unit__con_a6e70e41e1ce8b1ef46fb232fdd4cac3a}{00188}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__unit__con_a6e70e41e1ce8b1ef46fb232fdd4cac3a}{role}};            \textcolor{comment}{/* MASTER/SLAVE */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00189}00189 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00190}\mbox{\hyperlink{structng__hci__unit__con_aa2a78b1b11836571600e3a79ac83d30b}{00190}}         \textcolor{keyword}{struct }callout                  \mbox{\hyperlink{structng__hci__unit__con_aa2a78b1b11836571600e3a79ac83d30b}{con\_timo}};        \textcolor{comment}{/* con. timeout */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00191}00191 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00192}\mbox{\hyperlink{structng__hci__unit__con_aa23024b50578ed77f37979afcad6539f}{00192}}         \textcolor{keywordtype}{int}                             \mbox{\hyperlink{structng__hci__unit__con_aa23024b50578ed77f37979afcad6539f}{pending}};         \textcolor{comment}{/* \# of data pkts */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00193}\mbox{\hyperlink{structng__hci__unit__con_af20ed149a4ddf303eb6d253c3f362c24}{00193}}         \mbox{\hyperlink{structng__bt__itemq}{ng\_bt\_itemq\_t}}                      \mbox{\hyperlink{structng__hci__unit__con_af20ed149a4ddf303eb6d253c3f362c24}{conq}};            \textcolor{comment}{/* con. queue */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00194}00194 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00195}\mbox{\hyperlink{structng__hci__unit__con_ad2ad1770469c9eb9be2b07ab8f349294}{00195}}         \mbox{\hyperlink{structng__hci__unit__con_ad2ad1770469c9eb9be2b07ab8f349294}{LIST\_ENTRY}}(\mbox{\hyperlink{structng__hci__unit__con}{ng\_hci\_unit\_con}})    next;            \textcolor{comment}{/* next */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00196}\mbox{\hyperlink{ng__hci__var_8h_a2e021ef6966cdfa5491ec96913accafb}{00196}} \} \mbox{\hyperlink{ng__hci__var_8h_a2e021ef6966cdfa5491ec96913accafb}{ng\_hci\_unit\_con\_t}};}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00197}\mbox{\hyperlink{ng__hci__var_8h_a988872b1f7e8fe1b9fe4ef04ea4c634c}{00197}} \textcolor{keyword}{typedef} \mbox{\hyperlink{structng__hci__unit__con}{ng\_hci\_unit\_con\_t}} *            \mbox{\hyperlink{ng__hci__var_8h_a988872b1f7e8fe1b9fe4ef04ea4c634c}{ng\_hci\_unit\_con\_p}};}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00198}00198 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00199}00199 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00200}00200 \textcolor{comment}{ * Unit's neighbor descriptor. }}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00201}00201 \textcolor{comment}{ * Neighbor is a remote unit that responded to our inquiry.}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00202}00202 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00203}00203 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00204}\mbox{\hyperlink{structng__hci__neighbor}{00204}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__hci__neighbor}{ng\_hci\_neighbor}} \{}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00205}\mbox{\hyperlink{structng__hci__neighbor_ada2f574a39016f8415ea44335795347d}{00205}}         \textcolor{keyword}{struct }timeval                  \mbox{\hyperlink{structng__hci__neighbor_ada2f574a39016f8415ea44335795347d}{updated}}; \textcolor{comment}{/* entry was updated */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00206}00206 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00207}\mbox{\hyperlink{structng__hci__neighbor_a9c92229bd13342eb3bcdef1c0c558308}{00207}}         bdaddr\_t                        \mbox{\hyperlink{structng__hci__neighbor_a9c92229bd13342eb3bcdef1c0c558308}{bdaddr}};         \textcolor{comment}{/* address */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00208}\mbox{\hyperlink{structng__hci__neighbor_ae879727bc4644647778d62b128d91c57}{00208}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__neighbor_ae879727bc4644647778d62b128d91c57}{features}}[\mbox{\hyperlink{ng__hci_8h_a88ce6dd97529d34b09e2d015f2ed6b14}{NG\_HCI\_FEATURES\_SIZE}}];}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00209}00209                                                         \textcolor{comment}{/* LMP features */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00210}\mbox{\hyperlink{structng__hci__neighbor_a17508a20bea1459561a655c952746f53}{00210}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__neighbor_a17508a20bea1459561a655c952746f53}{addrtype}};       \textcolor{comment}{/*Address Type*/}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00211}00211 }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00212}\mbox{\hyperlink{structng__hci__neighbor_af6f68090e6a8c7c789a7235b4099c639}{00212}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__neighbor_af6f68090e6a8c7c789a7235b4099c639}{page\_scan\_rep\_mode}}; \textcolor{comment}{/* PS rep. mode */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00213}\mbox{\hyperlink{structng__hci__neighbor_af8b3a67a87da9a9f0211a69322a6e811}{00213}}         u\_int8\_t                        \mbox{\hyperlink{structng__hci__neighbor_af8b3a67a87da9a9f0211a69322a6e811}{page\_scan\_mode}}; \textcolor{comment}{/* page scan mode */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00214}\mbox{\hyperlink{structng__hci__neighbor_a5f88df1910f72a24c5279a639ee9f3f2}{00214}}         u\_int16\_t                       \mbox{\hyperlink{structng__hci__neighbor_a5f88df1910f72a24c5279a639ee9f3f2}{clock\_offset}};   \textcolor{comment}{/* clock offset */}}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00215}\mbox{\hyperlink{structng__hci__neighbor_a5b960fa934acd5e884623be0b0044840}{00215}}         uint8\_t                         \mbox{\hyperlink{structng__hci__neighbor_a5b960fa934acd5e884623be0b0044840}{extinq\_size}};}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00216}\mbox{\hyperlink{structng__hci__neighbor_aba927c591accb46e7e49eaf78c49069a}{00216}}         uint8\_t                         \mbox{\hyperlink{structng__hci__neighbor_aba927c591accb46e7e49eaf78c49069a}{extinq\_data}}[\mbox{\hyperlink{ng__hci_8h_a507e0e3af54d329d7de5528859012743}{NG\_HCI\_EXTINQ\_MAX}}];}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00217}\mbox{\hyperlink{structng__hci__neighbor_ae7090b051352df32e3994c72fc351d9d}{00217}}         \mbox{\hyperlink{structng__hci__neighbor_ae7090b051352df32e3994c72fc351d9d}{LIST\_ENTRY}}(\mbox{\hyperlink{structng__hci__neighbor}{ng\_hci\_neighbor}})    next;}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00218}\mbox{\hyperlink{ng__hci__var_8h_a2c844d3283056f017a1e7fa504571748}{00218}} \} \mbox{\hyperlink{ng__hci__var_8h_a2c844d3283056f017a1e7fa504571748}{ng\_hci\_neighbor\_t}};}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00219}\mbox{\hyperlink{ng__hci__var_8h_a96f88a9b7b40d39fc1f4a3f0e46c5382}{00219}} \textcolor{keyword}{typedef} \mbox{\hyperlink{structng__hci__neighbor}{ng\_hci\_neighbor\_t}} *            \mbox{\hyperlink{ng__hci__var_8h_a96f88a9b7b40d39fc1f4a3f0e46c5382}{ng\_hci\_neighbor\_p}};}
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00220}00220        }
\DoxyCodeLine{\Hypertarget{ng__hci__var_8h_source_l00221}00221 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* ndef \_NETGRAPH\_HCI\_VAR\_H\_ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
