\hypertarget{ng__btsocket__rfcomm_8h_source}{}\doxysection{ng\+\_\+btsocket\+\_\+rfcomm.\+h}
\label{ng__btsocket__rfcomm_8h_source}\index{netgraph/bluetooth/include/ng\_btsocket\_rfcomm.h@{netgraph/bluetooth/include/ng\_btsocket\_rfcomm.h}}
\mbox{\hyperlink{ng__btsocket__rfcomm_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00001}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a1b34f382700aea0813e11e72604d5d9e}{00001}} \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00002}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a6ae8e371985856eea14ae695f65dfab2}{00002}} \textcolor{comment}{ * ng\_btsocket\_rfcomm.h}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00003}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ac74f613271ae54c35be3590f8692a543}{00003}} \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00004}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a7f3960d50db315487904299c7012fd90}{00004}} }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00005}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a0c4c93e1a6a9b254b8dae02b5d1be669}{00005}} \textcolor{comment}{/*-\/}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00006}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a539147120fab11b2cdfac54d3622c8ad}{00006}} \textcolor{comment}{ * SPDX-\/License-\/Identifier: BSD-\/2-\/Clause-\/FreeBSD}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00007}00007 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00008}00008 \textcolor{comment}{ * Copyright (c) 2001-\/2003 Maksim Yevmenkin <m\_evmenkin@yahoo.com>}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00009}00009 \textcolor{comment}{ * All rights reserved.}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00010}00010 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00011}00011 \textcolor{comment}{ * Redistribution and use in source and binary forms, with or without}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00012}00012 \textcolor{comment}{ * modification, are permitted provided that the following conditions}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00013}00013 \textcolor{comment}{ * are met:}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00014}00014 \textcolor{comment}{ * 1. Redistributions of source code must retain the above copyright}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00015}00015 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer.}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00016}00016 \textcolor{comment}{ * 2. Redistributions in binary form must reproduce the above copyright}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00017}00017 \textcolor{comment}{ *    notice, this list of conditions and the following disclaimer in the}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00018}00018 \textcolor{comment}{ *    documentation and/or other materials provided with the distribution.}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00019}00019 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00020}00020 \textcolor{comment}{ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00021}00021 \textcolor{comment}{ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00022}00022 \textcolor{comment}{ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00023}00023 \textcolor{comment}{ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00024}00024 \textcolor{comment}{ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00025}00025 \textcolor{comment}{ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00026}00026 \textcolor{comment}{ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00027}00027 \textcolor{comment}{ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00028}00028 \textcolor{comment}{ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00029}00029 \textcolor{comment}{ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00030}00030 \textcolor{comment}{ * SUCH DAMAGE.}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00031}00031 \textcolor{comment}{ *}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00032}00032 \textcolor{comment}{ * \$Id: ng\_btsocket\_rfcomm.h,v 1.10 2003/03/29 22:27:42 max Exp \$}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00033}00033 \textcolor{comment}{ * \$FreeBSD\$}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00034}00034 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00035}00035 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00036}00036 \textcolor{preprocessor}{\#ifndef \_NETGRAPH\_BTSOCKET\_RFCOMM\_H\_}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00037}00037 \textcolor{preprocessor}{\#define \_NETGRAPH\_BTSOCKET\_RFCOMM\_H\_}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00038}00038 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00039}00039 \textcolor{comment}{/*****************************************************************************}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00040}00040 \textcolor{comment}{ *****************************************************************************}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00041}00041 \textcolor{comment}{ **                              RFCOMM                                     **}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00042}00042 \textcolor{comment}{ *****************************************************************************}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00043}00043 \textcolor{comment}{ *****************************************************************************/}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00044}00044 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00045}00045 \textcolor{comment}{/* XXX FIXME this does not belong here */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00046}00046 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00047}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_aef25e9f3d8f383b226eb7dd1727eb614}{00047}} \textcolor{preprocessor}{\#define RFCOMM\_DEFAULT\_MTU              667}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00048}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_aa3d6e4be232aff0b0de105877565c551}{00048}} \textcolor{preprocessor}{\#define RFCOMM\_MAX\_MTU                  1024}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00049}00049 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00050}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_afa02efb6474036883d5e27f79861da7f}{00050}} \textcolor{preprocessor}{\#define RFCOMM\_DEFAULT\_CREDITS          7}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00051}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a36b2f2e8f5f1656b1a902e68e642e483}{00051}} \textcolor{preprocessor}{\#define RFCOMM\_MAX\_CREDITS              40}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00052}00052 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00053}00053 \textcolor{comment}{/* RFCOMM frame types */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00054}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a387e50d2ae64f5e13015f70635fd7237}{00054}} \textcolor{preprocessor}{\#define RFCOMM\_FRAME\_SABM               0x2f}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00055}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a66fec3db23194bddb531185fde4a5b74}{00055}} \textcolor{preprocessor}{\#define RFCOMM\_FRAME\_DISC               0x43}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00056}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a9c9e6dcc8f48321d05a91969aeb89278}{00056}} \textcolor{preprocessor}{\#define RFCOMM\_FRAME\_UA                 0x63}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00057}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a58f161d6d2be3337c8e25511265a1866}{00057}} \textcolor{preprocessor}{\#define RFCOMM\_FRAME\_DM                 0x0f}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00058}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a146c9460d0aaf68a5c030f40fa947e50}{00058}} \textcolor{preprocessor}{\#define RFCOMM\_FRAME\_UIH                0xef}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00059}00059 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00060}00060 \textcolor{comment}{/* RFCOMM MCC commands */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00061}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a46abd281a56544b6147fbc11bd90e8bd}{00061}} \textcolor{preprocessor}{\#define RFCOMM\_MCC\_TEST                 0x08 }\textcolor{comment}{/* Test */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00062}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a43bbc94722df77a2c1ef25e6c784e7d2}{00062}} \textcolor{preprocessor}{\#define RFCOMM\_MCC\_FCON                 0x28 }\textcolor{comment}{/* Flow Control on */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00063}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a0b7bb48fd4ae1011ffde96b9bcaea602}{00063}} \textcolor{preprocessor}{\#define RFCOMM\_MCC\_FCOFF                0x18 }\textcolor{comment}{/* Flow Control off */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00064}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a6285a9ca55152c63ac1d860d3a53ccc4}{00064}} \textcolor{preprocessor}{\#define RFCOMM\_MCC\_MSC                  0x38 }\textcolor{comment}{/* Modem Status Command */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00065}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a011daaf2a52bbd416e1d44bce2ce73a6}{00065}} \textcolor{preprocessor}{\#define RFCOMM\_MCC\_RPN                  0x24 }\textcolor{comment}{/* Remote Port Negotiation */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00066}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a3f007e39b195c345919700485fffcc48}{00066}} \textcolor{preprocessor}{\#define RFCOMM\_MCC\_RLS                  0x14 }\textcolor{comment}{/* Remote Line Status */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00067}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a425f107b4c82aaf3faebd760bf9d3f8d}{00067}} \textcolor{preprocessor}{\#define RFCOMM\_MCC\_PN                   0x20 }\textcolor{comment}{/* Port Negotiation */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00068}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a8309bc5f554f777515067dd3a7397272}{00068}} \textcolor{preprocessor}{\#define RFCOMM\_MCC\_NSC                  0x04 }\textcolor{comment}{/* Non Supported Command */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00069}00069 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00070}00070 \textcolor{comment}{/* RFCOMM modem signals */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00071}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a4744e350ab325d1ce36c30d17b7c36bc}{00071}} \textcolor{preprocessor}{\#define RFCOMM\_MODEM\_FC                 0x02 }\textcolor{comment}{/* Flow Control asserted */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00072}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ad0272815d526731d85e91eb654ebd531}{00072}} \textcolor{preprocessor}{\#define RFCOMM\_MODEM\_RTC                0x04 }\textcolor{comment}{/* Ready To Communicate */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00073}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a8d09d4fc18d3387af42144b8fdaebc86}{00073}} \textcolor{preprocessor}{\#define RFCOMM\_MODEM\_RTR                0x08 }\textcolor{comment}{/* Ready To Receive */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00074}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_af817b007414ddbca36cbfda6bbb07e94}{00074}} \textcolor{preprocessor}{\#define RFCOMM\_MODEM\_IC                 0x40 }\textcolor{comment}{/* Incoming Call */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00075}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_af0d42f93cd305d2d80e2dbc43a921a1a}{00075}} \textcolor{preprocessor}{\#define RFCOMM\_MODEM\_DV                 0x80 }\textcolor{comment}{/* Data Valid */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00076}00076 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00077}00077 \textcolor{comment}{/* RPN parameters -\/ baud rate */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00078}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ae9c68ac4b8bf88937b5bf6c55674a52c}{00078}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_BR\_2400              0x0}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00079}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a0cd441401975c5f2a4c2e6211e9fdf6a}{00079}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_BR\_4800              0x1}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00080}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ab7a881a0f4ef512ba1820b19a527d671}{00080}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_BR\_7200              0x2}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00081}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_af447ed0a1f38a15173a63aa36860e4a2}{00081}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_BR\_9600              0x3}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00082}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ad7b6e3d21f2a7b5da1c1dd5f3afe9a94}{00082}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_BR\_19200             0x4}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00083}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a9f7ceb0aff64f7c357d2ca81bc8c9753}{00083}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_BR\_38400             0x5}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00084}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ad2ff62abc1c47ddb03ff8a6b84ce945a}{00084}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_BR\_57600             0x6}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00085}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a68953a4687952fbe3e04c26135368a9e}{00085}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_BR\_115200            0x7}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00086}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a9fc8895f639e636093d89785e6de7e5e}{00086}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_BR\_230400            0x8}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00087}00087 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00088}00088 \textcolor{comment}{/* RPN parameters -\/ data bits */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00089}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a0dbc7a0438df85674a59cd93ed15ed82}{00089}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_DATA\_5               0x0}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00090}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a7f6b45dead69791d561429678d0afb16}{00090}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_DATA\_6               0x2}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00091}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a82aa07b47cbaf44c3a94bae0fb4dae42}{00091}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_DATA\_7               0x1}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00092}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a20686b3264ec92c1ba605abb45b04bb1}{00092}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_DATA\_8               0x3}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00093}00093 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00094}00094 \textcolor{comment}{/* RPN parameters -\/ stop bit */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00095}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a4a1760693fcf9aa7018d5f3c88d9839a}{00095}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_STOP\_1               0}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00096}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ab21e577435dd477d183b3db5dc56890a}{00096}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_STOP\_15              1}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00097}00097 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00098}00098 \textcolor{comment}{/* RPN parameters -\/ parity */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00099}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a4daf8f3fd1eebe7a001eaa24a712993b}{00099}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PARITY\_NONE          0x0}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00100}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a5bb7bdda275791b19feba945a5e4ac83}{00100}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PARITY\_ODD           0x4}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00101}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a535932ddc26c67083e68261be7f33e16}{00101}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PARITY\_EVEN          0x5}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00102}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a06d6846ef41947cd0ee908455738caab}{00102}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PARITY\_MARK          0x6}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00103}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ab89e6d4a8e558048389173cc40a379f5}{00103}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PARITY\_SPACE         0x7}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00104}00104 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00105}00105 \textcolor{comment}{/* RPN parameters -\/ flow control */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00106}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_af0881ab6041da33dd798eb7d066b7820}{00106}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_FLOW\_NONE            0x00}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00107}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a337c2ff88bc473c77b472cb6fe1d73c0}{00107}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_XON\_CHAR             0x11}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00108}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a9a740e82278ebf033b677e48516469b8}{00108}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_XOFF\_CHAR            0x13}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00109}00109 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00110}00110 \textcolor{comment}{/* RPN parameters -\/ mask */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00111}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ab55c5c509315db1952c2d5e176252c6a}{00111}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PM\_BITRATE           0x0001}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00112}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ad81f3d4c378264a5cedd6fa4a020055c}{00112}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PM\_DATA              0x0002}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00113}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a57bebaf2b25aa59b4d10d9b6b4bb812b}{00113}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PM\_STOP              0x0004}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00114}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_afe8029bb8130f3ae81c89fe726adb3b6}{00114}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PM\_PARITY            0x0008}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00115}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a852102f707a137cd88acee78534e8ec5}{00115}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PM\_PARITY\_TYPE       0x0010}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00116}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a55b4072c00e4b263faa2cb45abcc7179}{00116}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PM\_XON               0x0020}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00117}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a9f6ef4cad038a8eb12672e36f83e0057}{00117}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PM\_XOFF              0x0040}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00118}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a81f7ddd619ed24c4697488cffde28e03}{00118}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PM\_FLOW              0x3F00}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00119}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_af1768d8cc1d81445d127cb7d8b120c02}{00119}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PM\_ALL               0x3F7F}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00120}00120 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00121}00121 \textcolor{comment}{/* RFCOMM frame header */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00122}\mbox{\hyperlink{structrfcomm__frame__hdr}{00122}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrfcomm__frame__hdr}{rfcomm\_frame\_hdr}} }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00123}00123 \{}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00124}\mbox{\hyperlink{structrfcomm__frame__hdr_a0a55be60dfa8a9c7e2829beeca1efe8f}{00124}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__frame__hdr_a0a55be60dfa8a9c7e2829beeca1efe8f}{address}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00125}\mbox{\hyperlink{structrfcomm__frame__hdr_ad32cf73a297bc1ab48eeb9f9df488a30}{00125}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__frame__hdr_ad32cf73a297bc1ab48eeb9f9df488a30}{control}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00126}\mbox{\hyperlink{structrfcomm__frame__hdr_aecb57af76806310261a0ab2431eeb5b8}{00126}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__frame__hdr_aecb57af76806310261a0ab2431eeb5b8}{length}};   \textcolor{comment}{/* Actual size could be 2 bytes */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00127}00127 \} \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aeb8ba4a8146d5b46cc6f49082794221c}{\_\_attribute\_\_}} ((packed));}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00128}00128 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00129}00129 \textcolor{comment}{/* RFCOMM command frame header */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00130}\mbox{\hyperlink{structrfcomm__cmd__hdr}{00130}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrfcomm__cmd__hdr}{rfcomm\_cmd\_hdr}}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00131}00131 \{}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00132}\mbox{\hyperlink{structrfcomm__cmd__hdr_ae148b4b8687122af16829bc63568f027}{00132}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__cmd__hdr_ae148b4b8687122af16829bc63568f027}{address}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00133}\mbox{\hyperlink{structrfcomm__cmd__hdr_aca64f88d52c5b822710139eb03445742}{00133}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__cmd__hdr_aca64f88d52c5b822710139eb03445742}{control}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00134}\mbox{\hyperlink{structrfcomm__cmd__hdr_a3010caa634895f69fb0b3e168e060cdc}{00134}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__cmd__hdr_a3010caa634895f69fb0b3e168e060cdc}{length}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00135}\mbox{\hyperlink{structrfcomm__cmd__hdr_a751ae80a1b83c5f7a2c8502e0bb106b0}{00135}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__cmd__hdr_a751ae80a1b83c5f7a2c8502e0bb106b0}{fcs}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00136}00136 \} \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aeb8ba4a8146d5b46cc6f49082794221c}{\_\_attribute\_\_}} ((packed));}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00137}00137                 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00138}00138 \textcolor{comment}{/* RFCOMM MCC command header */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00139}\mbox{\hyperlink{structrfcomm__mcc__hdr}{00139}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrfcomm__mcc__hdr}{rfcomm\_mcc\_hdr}}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00140}00140 \{}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00141}\mbox{\hyperlink{structrfcomm__mcc__hdr_a9861b907b56f4e5692de642f0f78126e}{00141}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__hdr_a9861b907b56f4e5692de642f0f78126e}{type}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00142}\mbox{\hyperlink{structrfcomm__mcc__hdr_ad4d5397f31f65671f291de7a8c2f49e7}{00142}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__hdr_ad4d5397f31f65671f291de7a8c2f49e7}{length}}; \textcolor{comment}{/* XXX FIXME Can actual size be 2 bytes?? */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00143}00143 \} \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aeb8ba4a8146d5b46cc6f49082794221c}{\_\_attribute\_\_}} ((packed));}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00144}00144 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00145}00145 \textcolor{comment}{/* RFCOMM MSC command */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00146}\mbox{\hyperlink{structrfcomm__mcc__msc}{00146}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrfcomm__mcc__msc}{rfcomm\_mcc\_msc}}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00147}00147 \{}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00148}\mbox{\hyperlink{structrfcomm__mcc__msc_ad0083ca7b592f16757997ed697aaaf98}{00148}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__msc_ad0083ca7b592f16757997ed697aaaf98}{address}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00149}\mbox{\hyperlink{structrfcomm__mcc__msc_af09dcae709db6984ec9bd6cc0933c1fc}{00149}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__msc_af09dcae709db6984ec9bd6cc0933c1fc}{modem}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00150}00150 \} \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aeb8ba4a8146d5b46cc6f49082794221c}{\_\_attribute\_\_}} ((packed));}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00151}00151 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00152}00152 \textcolor{comment}{/* RFCOMM RPN command */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00153}\mbox{\hyperlink{structrfcomm__mcc__rpn}{00153}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrfcomm__mcc__rpn}{rfcomm\_mcc\_rpn}}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00154}00154 \{}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00155}\mbox{\hyperlink{structrfcomm__mcc__rpn_a3ed346ec2d4b789008f62fed85cefb06}{00155}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__rpn_a3ed346ec2d4b789008f62fed85cefb06}{dlci}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00156}\mbox{\hyperlink{structrfcomm__mcc__rpn_a6abee737329d658cc81090c1f2cedc70}{00156}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__rpn_a6abee737329d658cc81090c1f2cedc70}{bit\_rate}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00157}\mbox{\hyperlink{structrfcomm__mcc__rpn_a880c19f6817e9dbfa24a75fef3d188b0}{00157}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__rpn_a880c19f6817e9dbfa24a75fef3d188b0}{line\_settings}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00158}\mbox{\hyperlink{structrfcomm__mcc__rpn_a92473c26217470553ef099f5a9311169}{00158}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__rpn_a92473c26217470553ef099f5a9311169}{flow\_control}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00159}\mbox{\hyperlink{structrfcomm__mcc__rpn_ad1c1d7ddaf0a6ab20eb62c9488a209c1}{00159}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__rpn_ad1c1d7ddaf0a6ab20eb62c9488a209c1}{xon\_char}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00160}\mbox{\hyperlink{structrfcomm__mcc__rpn_a664a92815d39bb9399d252463d47f061}{00160}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__rpn_a664a92815d39bb9399d252463d47f061}{xoff\_char}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00161}\mbox{\hyperlink{structrfcomm__mcc__rpn_a2d5a1a92ac1fb6e9c1e01b197f0d3e7c}{00161}}         u\_int16\_t       \mbox{\hyperlink{structrfcomm__mcc__rpn_a2d5a1a92ac1fb6e9c1e01b197f0d3e7c}{param\_mask}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00162}00162 \} \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aeb8ba4a8146d5b46cc6f49082794221c}{\_\_attribute\_\_}} ((packed));}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00163}00163 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00164}00164 \textcolor{comment}{/* RFCOMM RLS command */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00165}\mbox{\hyperlink{structrfcomm__mcc__rls}{00165}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrfcomm__mcc__rls}{rfcomm\_mcc\_rls}}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00166}00166 \{}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00167}\mbox{\hyperlink{structrfcomm__mcc__rls_ae9246746fef577feaed04f76eefd6fd5}{00167}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__rls_ae9246746fef577feaed04f76eefd6fd5}{address}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00168}\mbox{\hyperlink{structrfcomm__mcc__rls_a6e77c4ca0011ce1514a5b93d96ccd367}{00168}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__rls_a6e77c4ca0011ce1514a5b93d96ccd367}{status}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00169}00169 \} \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aeb8ba4a8146d5b46cc6f49082794221c}{\_\_attribute\_\_}} ((packed));}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00170}00170 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00171}00171 \textcolor{comment}{/* RFCOMM PN command */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00172}\mbox{\hyperlink{structrfcomm__mcc__pn}{00172}} \textcolor{keyword}{struct }\mbox{\hyperlink{structrfcomm__mcc__pn}{rfcomm\_mcc\_pn}}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00173}00173 \{}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00174}\mbox{\hyperlink{structrfcomm__mcc__pn_a5878e66a60052ffa0815b628776e699d}{00174}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__pn_a5878e66a60052ffa0815b628776e699d}{dlci}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00175}\mbox{\hyperlink{structrfcomm__mcc__pn_acb19b7584badd4ae42a729f72c6aa4dd}{00175}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__pn_acb19b7584badd4ae42a729f72c6aa4dd}{flow\_control}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00176}\mbox{\hyperlink{structrfcomm__mcc__pn_adbc3ee3c44e9d1dcadcc07e344e0a831}{00176}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__pn_adbc3ee3c44e9d1dcadcc07e344e0a831}{priority}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00177}\mbox{\hyperlink{structrfcomm__mcc__pn_a8ea6f935e0375e353d0f8653f3e0f040}{00177}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__pn_a8ea6f935e0375e353d0f8653f3e0f040}{ack\_timer}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00178}\mbox{\hyperlink{structrfcomm__mcc__pn_a13a8831b52f05c5e1a158d35b7b97062}{00178}}         u\_int16\_t       \mbox{\hyperlink{structrfcomm__mcc__pn_a13a8831b52f05c5e1a158d35b7b97062}{mtu}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00179}\mbox{\hyperlink{structrfcomm__mcc__pn_a3d56f4af01e965ba06cf1e6e2b965e37}{00179}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__pn_a3d56f4af01e965ba06cf1e6e2b965e37}{max\_retrans}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00180}\mbox{\hyperlink{structrfcomm__mcc__pn_a08b32166cab6cf2e866f4c5de9c7fdd2}{00180}}         u\_int8\_t        \mbox{\hyperlink{structrfcomm__mcc__pn_a08b32166cab6cf2e866f4c5de9c7fdd2}{credits}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00181}00181 \} \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aeb8ba4a8146d5b46cc6f49082794221c}{\_\_attribute\_\_}} ((packed));}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00182}00182 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00183}00183 \textcolor{comment}{/* RFCOMM frame parsing macros */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00184}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a5a75d438ce0aa73ee40a72088bba084b}{00184}} \textcolor{preprocessor}{\#define RFCOMM\_DLCI(b)                  (((b) \& 0xfc) >> 2)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00185}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a215b5664e8f012e064656c0fbcfffa5b}{00185}} \textcolor{preprocessor}{\#define RFCOMM\_CHANNEL(b)               (((b) \& 0xf8) >> 3)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00186}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ac37c629dc1b56e2fc33857b71a081a2a}{00186}} \textcolor{preprocessor}{\#define RFCOMM\_DIRECTION(b)             (((b) \& 0x04) >> 2)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00187}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_adc1c45bb529faf52ba690444a4d4300b}{00187}} \textcolor{preprocessor}{\#define RFCOMM\_TYPE(b)                  (((b) \& 0xef))}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00188}00188   }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00189}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ad0e991fdb108099eee3f8856bb3cf7f7}{00189}} \textcolor{preprocessor}{\#define RFCOMM\_EA(b)                    (((b) \& 0x01))}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00190}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ab636ca0c91e7403630dfefe41229c2e0}{00190}} \textcolor{preprocessor}{\#define RFCOMM\_CR(b)                    (((b) \& 0x02) >> 1)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00191}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a8f9d84714e6a9428882bd71f963453c0}{00191}} \textcolor{preprocessor}{\#define RFCOMM\_PF(b)                    (((b) \& 0x10) >> 4)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00192}00192 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00193}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a61067313ef7effa0bb79f5ecb414677a}{00193}} \textcolor{preprocessor}{\#define RFCOMM\_SRVCHANNEL(dlci)         ((dlci) >> 1)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00194}00194   }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00195}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ab805dd16f2ba8e79838c0c22fff46d3a}{00195}} \textcolor{preprocessor}{\#define RFCOMM\_MKADDRESS(cr, dlci) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00196}00196 \textcolor{preprocessor}{        ((((dlci) \& 0x3f) << 2) | ((cr) << 1) | 0x01)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00197}00197 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00198}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_af2db74b955b258fc3129663bf59b266d}{00198}} \textcolor{preprocessor}{\#define RFCOMM\_MKCONTROL(type, pf)      ((((type) \& 0xef) | ((pf) << 4)))}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00199}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a50fbb3b7dddb44047f0000a71eea7693}{00199}} \textcolor{preprocessor}{\#define RFCOMM\_MKDLCI(dir, channel)     ((((channel) \& 0x1f) << 1) | (dir))}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00200}00200 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00201}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_aaa45f498f9be6bd5364e7b34498dba11}{00201}} \textcolor{preprocessor}{\#define RFCOMM\_MKLEN8(len)              (((len) << 1) | 1)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00202}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_aab2e620b3517619a072ad47d1bebed71}{00202}} \textcolor{preprocessor}{\#define RFCOMM\_MKLEN16(len)             ((len) << 1)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00203}00203 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00204}00204 \textcolor{comment}{/* RFCOMM MCC macros */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00205}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a157a4ade5700f8bf0a5904920e3b1783}{00205}} \textcolor{preprocessor}{\#define RFCOMM\_MCC\_TYPE(b)              (((b) \& 0xfc) >> 2)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00206}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ac1c890d04c07c77e84aaf3cba8a3d989}{00206}} \textcolor{preprocessor}{\#define RFCOMM\_MCC\_LENGTH(b)            (((b) \& 0xfe) >> 1)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00207}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ab802480f836883e8429f7206993d7f5e}{00207}} \textcolor{preprocessor}{\#define RFCOMM\_MKMCC\_TYPE(cr, type)     ((((type) << 2) | ((cr) << 1) | 0x01))}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00208}00208    }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00209}00209 \textcolor{comment}{/* RPN macros */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00210}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a436a0a0ec1543440231fe41dc6f6b046}{00210}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_DATA\_BITS(line)      ((line) \& 0x3)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00211}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a1d45d350f19bf657d94c49683b6d272a}{00211}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_STOP\_BITS(line)      (((line) >> 2) \& 0x1)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00212}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a30dbfc87cf5b9f2e794c14befbac5397}{00212}} \textcolor{preprocessor}{\#define RFCOMM\_RPN\_PARITY(line)         (((line) >> 3) \& 0x3)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00213}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a1128004ecbe1a7c8a4a82a4159e07232}{00213}} \textcolor{preprocessor}{\#define RFCOMM\_MKRPN\_LINE\_SETTINGS(data, stop, parity) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00214}00214 \textcolor{preprocessor}{        (((data) \& 0x3) | (((stop) \& 0x1) << 2) | (((parity) \& 0x3) << 3))}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00215}00215 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00216}00216 \textcolor{comment}{/*****************************************************************************}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00217}00217 \textcolor{comment}{ *****************************************************************************}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00218}00218 \textcolor{comment}{ **                      SOCK\_STREAM RFCOMM sockets                         **}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00219}00219 \textcolor{comment}{ *****************************************************************************}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00220}00220 \textcolor{comment}{ *****************************************************************************/}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00221}00221 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00222}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ae2ab6bd6db1b1b6be9299366785aa5dd}{00222}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_SENDSPACE \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00223}00223 \textcolor{preprocessor}{        (RFCOMM\_MAX\_CREDITS * RFCOMM\_DEFAULT\_MTU * 2)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00224}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a63af5027de58552a0b303de85a080120}{00224}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_RECVSPACE \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00225}00225 \textcolor{preprocessor}{        (RFCOMM\_MAX\_CREDITS * RFCOMM\_DEFAULT\_MTU * 2)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00226}00226 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00227}00227 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00228}00228 \textcolor{comment}{ * Bluetooth RFCOMM session. One L2CAP connection == one RFCOMM session}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00229}00229 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00230}00230 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00231}00231 \textcolor{keyword}{struct }\mbox{\hyperlink{structng__btsocket__rfcomm__pcb}{ng\_btsocket\_rfcomm\_pcb}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00232}00232 \textcolor{keyword}{struct }\mbox{\hyperlink{structng__btsocket__rfcomm__session}{ng\_btsocket\_rfcomm\_session}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00233}00233 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00234}\mbox{\hyperlink{structng__btsocket__rfcomm__session}{00234}} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__btsocket__rfcomm__session}{ng\_btsocket\_rfcomm\_session}} \{}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00235}\mbox{\hyperlink{structng__btsocket__rfcomm__session_ad2a5c062056e735b6f28a51e22a6e054}{00235}}         \textcolor{keyword}{struct }socket                           *\mbox{\hyperlink{structng__btsocket__rfcomm__session_ad2a5c062056e735b6f28a51e22a6e054}{l2so}};       \textcolor{comment}{/* L2CAP socket */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00236}00236 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00237}\mbox{\hyperlink{structng__btsocket__rfcomm__session_ada9d25c988088729f3e8a24f79998e8f}{00237}}         u\_int16\_t                                \mbox{\hyperlink{structng__btsocket__rfcomm__session_ada9d25c988088729f3e8a24f79998e8f}{state}};  \textcolor{comment}{/* session state */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00238}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ad226f02a67c77595b208a46cbd98f601}{00238}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_SESSION\_CLOSED        0}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00239}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a1d738ef0021402481c5317e16a7dffe1}{00239}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_SESSION\_LISTENING     1}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00240}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a2e11a0c56c11c575dd741b4a28622da3}{00240}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_SESSION\_CONNECTING    2 }}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00241}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ac734d957b2672c417cdd2d1f8e523c34}{00241}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_SESSION\_CONNECTED     3}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00242}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a4600c9446a6916f903a66eb15c868797}{00242}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_SESSION\_OPEN          4}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00243}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a048de09f13217ed91c66097a8e9f391f}{00243}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_SESSION\_DISCONNECTING 5}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00244}00244 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00245}\mbox{\hyperlink{structng__btsocket__rfcomm__session_a57984aebfdc5e7ea9a1fc9ae2fe23e07}{00245}}         u\_int16\_t                                \mbox{\hyperlink{structng__btsocket__rfcomm__session_a57984aebfdc5e7ea9a1fc9ae2fe23e07}{flags}};  \textcolor{comment}{/* session flags */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00246}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a750e8bf20dcd3eca4f53f39b260abd95}{00246}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_SESSION\_INITIATOR    (1 << 0) }\textcolor{comment}{/* initiator */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00247}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a643ea66d701346901e2f314cc9eab168}{00247}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_SESSION\_LFC          (1 << 1) }\textcolor{comment}{/* local flow */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00248}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_adc698718409fbcf13f950e440f63b5a0}{00248}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_SESSION\_RFC          (1 << 2) }\textcolor{comment}{/* remote flow */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00249}00249 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00250}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a5026511e976738bd2883925f249647e9}{00250}} \textcolor{preprocessor}{\#define INITIATOR(s) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00251}00251 \textcolor{preprocessor}{        (((s)-\/>flags \& NG\_BTSOCKET\_RFCOMM\_SESSION\_INITIATOR)? 1 : 0)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00252}00252 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00253}\mbox{\hyperlink{structng__btsocket__rfcomm__session_a49a5325256a6efa639acd6b1885a3148}{00253}}         u\_int16\_t                                \mbox{\hyperlink{structng__btsocket__rfcomm__session_a49a5325256a6efa639acd6b1885a3148}{mtu}};    \textcolor{comment}{/* default MTU */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00254}\mbox{\hyperlink{structng__btsocket__rfcomm__session_a87eb3d5ae80273251fdd3c1046fe4d65}{00254}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structng__bt__mbufq}{ng\_bt\_mbufq}}                    \mbox{\hyperlink{structng__btsocket__rfcomm__session_a87eb3d5ae80273251fdd3c1046fe4d65}{outq}};   \textcolor{comment}{/* outgoing queue */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00255}00255 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00256}\mbox{\hyperlink{structng__btsocket__rfcomm__session_aa287f8bdfd07ac92b1ac6e4922882220}{00256}}         \textcolor{keyword}{struct }mtx                               \mbox{\hyperlink{structng__btsocket__rfcomm__session_aa287f8bdfd07ac92b1ac6e4922882220}{session\_mtx}}; \textcolor{comment}{/* session lock */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00257}\mbox{\hyperlink{structng__btsocket__rfcomm__session_a9c4490a5b4f47cee7def8cbc9ddd5d53}{00257}}         \mbox{\hyperlink{structng__btsocket__rfcomm__session_a9c4490a5b4f47cee7def8cbc9ddd5d53}{LIST\_HEAD}}(, \mbox{\hyperlink{structng__btsocket__rfcomm__pcb}{ng\_btsocket\_rfcomm\_pcb}})       dlcs;   \textcolor{comment}{/* active DLC */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00258}00258 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00259}\mbox{\hyperlink{structng__btsocket__rfcomm__session_a68851d06499c169ab1bd59c78edec2fa}{00259}}         \mbox{\hyperlink{structng__btsocket__rfcomm__session_a68851d06499c169ab1bd59c78edec2fa}{LIST\_ENTRY}}(\mbox{\hyperlink{structng__btsocket__rfcomm__session}{ng\_btsocket\_rfcomm\_session}})       next;   \textcolor{comment}{/* link to next */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00260}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_aeb8ba4a8146d5b46cc6f49082794221c}{00260}} \};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00261}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a43bae1b2c2f4284ed333e393d4125eb2}{00261}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__btsocket__rfcomm__session}{ng\_btsocket\_rfcomm\_session}}     \mbox{\hyperlink{structng__btsocket__rfcomm__session}{ng\_btsocket\_rfcomm\_session\_t}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00262}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_aedfcb74ab6131e39426ef28f88e231c7}{00262}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__btsocket__rfcomm__session}{ng\_btsocket\_rfcomm\_session}} *   \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aedfcb74ab6131e39426ef28f88e231c7}{ng\_btsocket\_rfcomm\_session\_p}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00263}00263 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00264}00264 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00265}00265 \textcolor{comment}{ * Bluetooth RFCOMM socket PCB (DLC)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00266}00266 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00267}00267 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00268}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb}{00268}} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__btsocket__rfcomm__pcb}{ng\_btsocket\_rfcomm\_pcb}} \{}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00269}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a616bdbef4f166aaa237feb273f5b47f8}{00269}}         \textcolor{keyword}{struct }socket                           *\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a616bdbef4f166aaa237feb273f5b47f8}{so}};    \textcolor{comment}{/* RFCOMM socket */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00270}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_aa94a2237aaa889aa89bc99c3874b37d7}{00270}}         \textcolor{keyword}{struct }\mbox{\hyperlink{structng__btsocket__rfcomm__session}{ng\_btsocket\_rfcomm\_session}}     *\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_aa94a2237aaa889aa89bc99c3874b37d7}{session}}; \textcolor{comment}{/* RFCOMM session */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00271}00271 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00272}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_ab6ccf7ed40491204d1186abc2f67227b}{00272}}         u\_int16\_t                                \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_ab6ccf7ed40491204d1186abc2f67227b}{flags}};   \textcolor{comment}{/* DLC flags */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00273}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ab7f792f7d8b0ae45a3c7c8e259551206}{00273}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_TIMO             (1 << 0)  }\textcolor{comment}{/* timeout pending */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00274}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ac8ccf8a001240b4aa9218177feefac13}{00274}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_CFC              (1 << 1)  }\textcolor{comment}{/* credit flow ctrl */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00275}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_af9a73456659d10d78bb7c296592c6fb8}{00275}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_TIMEDOUT         (1 << 2)  }\textcolor{comment}{/* timeout happened */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00276}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ab7a8a4c9d2c483062a001dc82b654c1b}{00276}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_DETACHED         (1 << 3)  }\textcolor{comment}{/* DLC detached */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00277}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a79abee9060a4b1031820b9bd1d21391b}{00277}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_SENDING          (1 << 4)  }\textcolor{comment}{/* send pending */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00278}00278 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00279}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a059eba277e80cbc38189521752ec799f}{00279}}         u\_int16\_t                                \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a059eba277e80cbc38189521752ec799f}{state}};   \textcolor{comment}{/* DLC state */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00280}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a31f7b01ea959a97f1f0ad2cd9311cd55}{00280}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_CLOSED           0}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00281}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a23211147b4f3ef0f00a8d9c366264776}{00281}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_W4\_CONNECT       1}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00282}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a93680526fa891994da6e5c41ef3b1e90}{00282}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_CONFIGURING      2}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00283}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a77c2d69077737e0589bb71673c84ad19}{00283}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_CONNECTING       3}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00284}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a6b8bebdbb730e2cb247f4e894f8ac46f}{00284}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_CONNECTED        4}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00285}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_ac10fbf8c96bc006bad9c4c28501b1f2d}{00285}} \textcolor{preprocessor}{\#define NG\_BTSOCKET\_RFCOMM\_DLC\_DISCONNECTING    5}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00286}00286 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00287}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a438901277fb86c354aa7edb890aa622e}{00287}}         bdaddr\_t                                 \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a438901277fb86c354aa7edb890aa622e}{src}};     \textcolor{comment}{/* source address */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00288}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a6ee9e43b94af3ff2713a8516d93c26cc}{00288}}         bdaddr\_t                                 \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a6ee9e43b94af3ff2713a8516d93c26cc}{dst}};     \textcolor{comment}{/* dest. address */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00289}00289 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00290}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a2629e1790af63660003c82beb5dacc79}{00290}}         u\_int8\_t                                 \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a2629e1790af63660003c82beb5dacc79}{channel}}; \textcolor{comment}{/* RFCOMM channel */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00291}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_abc6ee2b853f9e2abadeed0c5a39de91b}{00291}}         u\_int8\_t                                 \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_abc6ee2b853f9e2abadeed0c5a39de91b}{dlci}};    \textcolor{comment}{/* RFCOMM DLCI */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00292}00292 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00293}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a45c82f91eb6aeffeecd8407be2982b41}{00293}}         u\_int8\_t                                 \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a45c82f91eb6aeffeecd8407be2982b41}{lmodem}};  \textcolor{comment}{/* local mdm signls */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00294}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_ac8153dbd5239641b9ab3c32f1c9312ce}{00294}}         u\_int8\_t                                 \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_ac8153dbd5239641b9ab3c32f1c9312ce}{rmodem}};  \textcolor{comment}{/* remote -\//-\/ */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00295}00295 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00296}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a08f89e8985d35fc48b9909d5666d1c07}{00296}}         u\_int16\_t                                \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a08f89e8985d35fc48b9909d5666d1c07}{mtu}};          \textcolor{comment}{/* MTU */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00297}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a0cd9c194b28476dec238a7d569facafd}{00297}}         int16\_t                                  \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a0cd9c194b28476dec238a7d569facafd}{rx\_cred}}; \textcolor{comment}{/* RX credits */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00298}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_ac48326cdf6cb5f2a7dc9cfc0943d29fa}{00298}}         int16\_t                                  \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_ac48326cdf6cb5f2a7dc9cfc0943d29fa}{tx\_cred}}; \textcolor{comment}{/* TX credits */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00299}00299 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00300}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a1b342e2157a2fface20d920ad0e42549}{00300}}         \textcolor{keyword}{struct }mtx                               \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a1b342e2157a2fface20d920ad0e42549}{pcb\_mtx}}; \textcolor{comment}{/* PCB lock */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00301}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a430e8a6531202fd5789a90b3994c0060}{00301}}         \textcolor{keyword}{struct }callout                           \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a430e8a6531202fd5789a90b3994c0060}{timo}};    \textcolor{comment}{/* timeout */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00302}00302 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00303}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_ac4b33c33b3af1b1ed7b2611ee5ed54e6}{00303}}         \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_ac4b33c33b3af1b1ed7b2611ee5ed54e6}{LIST\_ENTRY}}(\mbox{\hyperlink{structng__btsocket__rfcomm__pcb}{ng\_btsocket\_rfcomm\_pcb}})       session\_next;\textcolor{comment}{/* link to next */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00304}\mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a1061e6606b4af11f9b9a22f648f238c2}{00304}}         \mbox{\hyperlink{structng__btsocket__rfcomm__pcb_a1061e6606b4af11f9b9a22f648f238c2}{LIST\_ENTRY}}(\mbox{\hyperlink{structng__btsocket__rfcomm__pcb}{ng\_btsocket\_rfcomm\_pcb}})       next;    \textcolor{comment}{/* link to next */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00305}00305 \};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00306}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a23f2295f261643888211df7ff86b2bb6}{00306}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__btsocket__rfcomm__pcb}{ng\_btsocket\_rfcomm\_pcb}}     \mbox{\hyperlink{structng__btsocket__rfcomm__pcb}{ng\_btsocket\_rfcomm\_pcb\_t}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00307}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_a82e0930cd8aed270af82edea2cb0732f}{00307}} \textcolor{keyword}{typedef} \textcolor{keyword}{struct }\mbox{\hyperlink{structng__btsocket__rfcomm__pcb}{ng\_btsocket\_rfcomm\_pcb}} *   \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a82e0930cd8aed270af82edea2cb0732f}{ng\_btsocket\_rfcomm\_pcb\_p}};}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00308}00308 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00309}\mbox{\hyperlink{ng__btsocket__rfcomm_8h_aa5ce345373a82746f606eb5bffd103bb}{00309}} \textcolor{preprocessor}{\#define so2rfcomm\_pcb(so) \(\backslash\)}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00310}00310 \textcolor{preprocessor}{        ((struct ng\_btsocket\_rfcomm\_pcb *)((so)-\/>so\_pcb))}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00311}00311 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00312}00312 \textcolor{comment}{/*}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00313}00313 \textcolor{comment}{ * Bluetooth RFCOMM socket methods}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00314}00314 \textcolor{comment}{ */}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00315}00315 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00316}00316 \textcolor{preprocessor}{\#ifdef \_KERNEL}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00317}00317 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00318}00318 \textcolor{keywordtype}{void} \mbox{\hyperlink{ng__btsocket__rfcomm_8h_ac878e62b503ff95039b17f054a63270a}{ng\_btsocket\_rfcomm\_abort}}      (\textcolor{keyword}{struct} socket *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00319}00319 \textcolor{keywordtype}{void} \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a73d4fe9dccf5f39d12a08c22ea227d6f}{ng\_btsocket\_rfcomm\_close}}      (\textcolor{keyword}{struct} socket *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00320}00320 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aed081953a5f74f3c4a9ec490e500a739}{ng\_btsocket\_rfcomm\_accept}}     (\textcolor{keyword}{struct} socket *, \textcolor{keyword}{struct} sockaddr **);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00321}00321 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aafccb6de58961140f7654f2e9b70ba08}{ng\_btsocket\_rfcomm\_attach}}     (\textcolor{keyword}{struct} socket *, \textcolor{keywordtype}{int}, \textcolor{keyword}{struct} thread *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00322}00322 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a510c00e7d94b2dc00bf57323dac27fa0}{ng\_btsocket\_rfcomm\_bind}}       (\textcolor{keyword}{struct} socket *, \textcolor{keyword}{struct} sockaddr *,}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00323}00323                                     \textcolor{keyword}{struct} thread *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00324}00324 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a5cc48e46f4bff8cbe64d9319d01981fe}{ng\_btsocket\_rfcomm\_connect}}    (\textcolor{keyword}{struct} socket *, \textcolor{keyword}{struct} sockaddr *,}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00325}00325                                     \textcolor{keyword}{struct} thread *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00326}00326 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_acd8e470fde530c210cd1f04d541f7e4c}{ng\_btsocket\_rfcomm\_control}}    (\textcolor{keyword}{struct} socket *, u\_long, caddr\_t,}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00327}00327                                     \textcolor{keyword}{struct} ifnet *, \textcolor{keyword}{struct} thread *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00328}00328 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a01a8438f3f42eb953575d692aad3c561}{ng\_btsocket\_rfcomm\_ctloutput}}  (\textcolor{keyword}{struct} socket *, \textcolor{keyword}{struct} sockopt *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00329}00329 \textcolor{keywordtype}{void} \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a9425af4a83a69a827afdb30f32c76be1}{ng\_btsocket\_rfcomm\_detach}}     (\textcolor{keyword}{struct} socket *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00330}00330 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a5334dad1ba6a4825d18f400f5e29741f}{ng\_btsocket\_rfcomm\_disconnect}} (\textcolor{keyword}{struct} socket *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00331}00331 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a5c6e82fde785ac62e9ea079c6ba59695}{ng\_btsocket\_rfcomm\_listen}}     (\textcolor{keyword}{struct} socket *, \textcolor{keywordtype}{int}, \textcolor{keyword}{struct} thread *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00332}00332 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_aaa9e260c9c2e196b4fafda92e2526755}{ng\_btsocket\_rfcomm\_peeraddr}}   (\textcolor{keyword}{struct} socket *, \textcolor{keyword}{struct} sockaddr **);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00333}00333 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_a1df7b61e0726062a04c1df7f4438c685}{ng\_btsocket\_rfcomm\_send}}       (\textcolor{keyword}{struct} socket *, \textcolor{keywordtype}{int}, \textcolor{keyword}{struct} mbuf *,}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00334}00334                                     \textcolor{keyword}{struct} sockaddr *, \textcolor{keyword}{struct} mbuf *,}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00335}00335                                     \textcolor{keyword}{struct} thread *);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00336}00336 \textcolor{keywordtype}{int}  \mbox{\hyperlink{ng__btsocket__rfcomm_8h_ab55d9d318c663800effb76118884b023}{ng\_btsocket\_rfcomm\_sockaddr}}   (\textcolor{keyword}{struct} socket *, \textcolor{keyword}{struct} sockaddr **);}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00337}00337 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00338}00338 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_KERNEL */}\textcolor{preprocessor}{}}
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00339}00339 }
\DoxyCodeLine{\Hypertarget{ng__btsocket__rfcomm_8h_source_l00340}00340 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_NETGRAPH\_BTSOCKET\_RFCOMM\_H\_ */}\textcolor{preprocessor}{}}

\end{DoxyCode}
