Add RFCOMM channel configuration parsing and channel states to the incomplete Bluetoo...
[pub/USBasp.git] / Demos / Host / Incomplete / BluetoothHost / Lib / RFCOMMControl.h
index 79e3dcd..e12c74c 100644 (file)
@@ -48,6 +48,9 @@
 \r
                #include "BluetoothStack.h"\r
                #include "RFCOMM.h"\r
+               \r
+       /* Macros: */\r
+               #define RFCOMM_\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
        /* 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* CommandData,\r
+                                                             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* CommandData,\r
+                                                           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