Make XPLAINBridge serial bridge much more reliable for the reception of characters...
[pub/USBasp.git] / Demos / Host / Incomplete / BluetoothHost / Lib / RFCOMM.h
index 68f0cf1..7b1f45b 100644 (file)
                        RFCOMM_Frame_UIH   = 0xEF, /**< Unnumbered Information with Header check Field */
                };
                
-       /* Type Defines: */
-               typedef struct
-               {
-                       unsigned char EA   : 1;
-                       unsigned char CR   : 1;
-                       unsigned char DLCI : 6;
-               } RFCOMM_Address_t;
-       
-               typedef struct
+               enum RFCOMM_Channel_States_t
                {
-                       RFCOMM_Address_t Address;
-                       uint8_t          Control;
-               } RFCOMM_Header_t;
+                       RFCOMM_Channel_Closed      = 0,
+                       RFCOMM_Channel_Create      = 1,
+                       RFCOMM_Channel_Creating    = 2,
+                       RFCOMM_Channel_Configure   = 3,
+                       RFCOMM_Channel_Configuring = 4,
+                       RFCOMM_Channel_Open        = 5,
+               };
                
+       /* Type Defines: */
                typedef struct
                {
-                       uint8_t DLCI;
-                       bool    Configured;
+                       uint8_t  DLCI;
+                       uint8_t  State;
+                       uint8_t  Priority;
+                       uint16_t MTU;
+                       struct
+                       {
+                               uint8_t  Signals;
+                               uint8_t  BreakSignal;
+                       } Remote;
+                       struct
+                       {
+                               uint8_t  Signals;
+                               uint8_t  BreakSignal;
+                       } Local;
                } RFCOMM_Channel_t;
                
        /* External Variables: */
                void              RFCOMM_ProcessPacket(void* Data, Bluetooth_Channel_t* const Channel);
                
                RFCOMM_Channel_t* RFCOMM_GetChannelData(const uint8_t DLCI);
-               uint16_t          RFCOMM_GetFrameDataLength(const uint8_t* const BufferPos);
+               uint16_t          RFCOMM_GetVariableFieldValue(const uint8_t** BufferPos);
                void              RFCOMM_SendFrame(const uint8_t DLCI, const bool CommandResponse, const uint8_t Control,
                                                       const uint16_t DataLen, const void* Data, Bluetooth_Channel_t* const Channel);