Make XPLAINBridge serial bridge much more reliable for the reception of characters...
[pub/USBasp.git] / Demos / Host / Incomplete / BluetoothHost / Lib / RFCOMMControl.h
index 79e3dcd..adad433 100644 (file)
 \r
                #include "BluetoothStack.h"\r
                #include "RFCOMM.h"\r
+               \r
+       /* Macros: */\r
+               #define RFCOMM_SIGNAL_FC     (1 << 1)\r
+               #define RFCOMM_SIGNAL_RTC    (1 << 2)\r
+               #define RFCOMM_SIGNAL_RTR    (1 << 3)\r
+               #define RFCOMM_SIGNAL_IC     (1 << 6)\r
+               #define RFCOMM_SIGNAL_DV     (1 << 7)\r
 \r
        /* Enums: */\r
                enum RFCOMM_Control_Commands_t\r
        /* Type Defines: */\r
                typedef struct\r
                {\r
+                       unsigned char EA   : 1;\r
+                       unsigned char CR   : 1;\r
+                       unsigned char DLCI : 6;\r
+               } RFCOMM_Address_t;\r
+\r
+               typedef struct\r
+               {\r
+                       RFCOMM_Address_t Address;\r
+                       uint8_t          Control;\r
+               } RFCOMM_Header_t;\r
+\r
+               typedef struct\r
+               {\r
                        unsigned char EA      : 1;\r
                        unsigned char CR      : 1;\r
                        unsigned char Command : 6;\r
                } RFCOMM_Command_t;\r
+               \r
+               typedef struct\r
+               {\r
+                       uint8_t          DLCI;\r
+                       unsigned char    FrameType        : 4;\r
+                       unsigned char    ConvergenceLayer : 4;\r
+                       uint8_t          Priority;\r
+                       uint8_t          ACKTimerTicks;\r
+                       uint16_t         MaximumFrameSize;\r
+                       uint8_t          MaxRetransmissions;\r
+                       uint8_t          RecoveryWindowSize;                    \r
+               } RFCOMM_DPN_Parameters_t;\r
+               \r
+               typedef struct\r
+               {\r
+                       RFCOMM_Address_t Channel;\r
+                       uint8_t          Signals;\r
+                       uint8_t          BreakSignal;\r
+               } RFCOMM_MS_Parameters_t;\r
 \r
        /* Function Prototypes: */\r
                void RFCOMM_ProcessControlCommand(const uint8_t* Command, Bluetooth_Channel_t* const Channel);\r
 \r
                #if defined(INCLUDE_FROM_RFCOMM_CONTROL_C)\r
-                       static void RFCOMM_ProcessTestCommand(const RFCOMM_Command_t* CommandHeader, const uint8_t* CommandData);\r
-                       static void RFCOMM_ProcessFCECommand(const RFCOMM_Command_t* CommandHeader, const uint8_t* CommandData);\r
-                       static void RFCOMM_ProcessFCDCommand(const RFCOMM_Command_t* CommandHeader, const uint8_t* CommandData);\r
-                       static void RFCOMM_ProcessMSCommand(const RFCOMM_Command_t* CommandHeader, const uint8_t* CommandData);\r
-                       static void RFCOMM_ProcessRPNCommand(const RFCOMM_Command_t* CommandHeader, const uint8_t* CommandData);\r
-                       static void RFCOMM_ProcessRLSCommand(const RFCOMM_Command_t* CommandHeader, const uint8_t* CommandData);\r
-                       static void RFCOMM_ProcessDPNCommand(const RFCOMM_Command_t* CommandHeader, const uint8_t* CommandData);\r
+                       static void RFCOMM_ProcessTestCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t CommandDataLen, \r
+                                                             const uint8_t* CommandData, Bluetooth_Channel_t* const Channel);\r
+                       static void RFCOMM_ProcessFCECommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t* CommandData,\r
+                                                            Bluetooth_Channel_t* const Channel);\r
+                       static void RFCOMM_ProcessFCDCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t* CommandData,\r
+                                                            Bluetooth_Channel_t* const Channel);\r
+                       static void RFCOMM_ProcessMSCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t CommandDataLen,\r
+                                                           const uint8_t* CommandData, Bluetooth_Channel_t* const Channel);\r
+                       static void RFCOMM_ProcessRPNCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t* CommandData,\r
+                                                            Bluetooth_Channel_t* const Channel);\r
+                       static void RFCOMM_ProcessRLSCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t* CommandData,\r
+                                                            Bluetooth_Channel_t* const Channel);\r
+                       static void RFCOMM_ProcessDPNCommand(const RFCOMM_Command_t* const CommandHeader, const uint8_t* CommandData,\r
+                                                            Bluetooth_Channel_t* const Channel);\r
                #endif\r
                \r
 #endif\r