Add information request/response signal handler to the Bluetooth Host demo.
[pub/USBasp.git] / Demos / Host / Incomplete / BluetoothHost / Lib / BluetoothACLPackets.h
index 9c7bd26..46d323f 100644 (file)
                #include "BluetoothStack.h"\r
                \r
        /* Macros: */\r
-               #define BT_ACL_DEBUG(s, ...)                     printf_P(PSTR("(ACL) " s "\r\n"), __VA_ARGS__)\r
-               #define ACL_DEBUG_LEVEL 1\r
+               #define BT_ACL_DEBUG(s, ...)              printf_P(PSTR("(ACL) " s "\r\n"), __VA_ARGS__)\r
+               #define ACL_DEBUG_LEVEL                   2\r
 \r
-               #define BLUETOOTH_CHANNEL_SIGNALING              0x0001\r
-               #define BLUETOOTH_CHANNEL_CONNECTIONLESS         0x0002\r
+               #define BT_CHANNEL_SIGNALING              0x0001\r
+               #define BT_CHANNEL_CONNECTIONLESS         0x0002\r
                \r
-               #define BLUETOOTH_SIGNAL_CONNECTION_REQUEST      0x02\r
-               #define BLUETOOTH_SIGNAL_CONNECTION_RESPONSE     0x03\r
-               #define BLUETOOTH_SIGNAL_CONFIGURATION_REQUEST   0x04\r
-               #define BLUETOOTH_SIGNAL_CONFIGURATION_RESPONSE  0x05\r
-               #define BLUETOOTH_SIGNAL_DISCONNECTION_REQUEST   0x06\r
-               #define BLUETOOTH_SIGNAL_DISCONNECTION_RESPONSE  0x07\r
-               #define BLUETOOTH_SIGNAL_ECHO_REQUEST            0x08\r
-               #define BLUETOOTH_SIGNAL_ECHO_RESPONSE           0x09\r
-               #define BLUETOOTH_SIGNAL_INFORMATION_REQUEST     0x0A\r
-               #define BLUETOOTH_SIGNAL_INFORMATION_RESPONSE    0x0B\r
+               #define BT_SIGNAL_CONNECTION_REQUEST      0x02\r
+               #define BT_SIGNAL_CONNECTION_RESPONSE     0x03\r
+               #define BT_SIGNAL_CONFIGURATION_REQUEST   0x04\r
+               #define BT_SIGNAL_CONFIGURATION_RESPONSE  0x05\r
+               #define BT_SIGNAL_DISCONNECTION_REQUEST   0x06\r
+               #define BT_SIGNAL_DISCONNECTION_RESPONSE  0x07\r
+               #define BT_SIGNAL_ECHO_REQUEST            0x08\r
+               #define BT_SIGNAL_ECHO_RESPONSE           0x09\r
+               #define BT_SIGNAL_INFORMATION_REQUEST     0x0A\r
+               #define BT_SIGNAL_INFORMATION_RESPONSE    0x0B\r
                \r
-               #define BLUETOOTH_CONNECTION_SUCCESSFUL          0x0000\r
-               #define BLUETOOTH_CONNECTION_REFUSED_RESOURCES   0x0004\r
+               #define BT_INFOREQ_MTU                    0x0001\r
+               #define BT_INFOREQ_EXTENDEDFEATURES       0x0002\r
                \r
-               #define BLUETOOTH_CONFIGURATION_SUCCESSFUL       0x0000\r
-               #define BLUETOOTH_CONFIGURATION_REJECTED         0x0002\r
-               #define BLUETOOTH_CONFIGURATION_UNKNOWNOPTIONS   0x0003\r
+               #define BT_INFORMATION_SUCCESSFUL         0x0000\r
+               #define BT_INFORMATION_NOTSUPPORTED       0x0001\r
+               \r
+               #define BT_CONNECTION_SUCCESSFUL          0x0000\r
+               #define BT_CONNECTION_REFUSED_RESOURCES   0x0004\r
+               \r
+               #define BT_CONFIGURATION_SUCCESSFUL       0x0000\r
+               #define BT_CONFIGURATION_REJECTED         0x0002\r
+               #define BT_CONFIGURATION_UNKNOWNOPTIONS   0x0003\r
                \r
        /* Type Defines: */\r
                typedef struct\r
                {\r
                        uint16_t DestinationChannel;\r
                        uint16_t Flags;\r
-                       uint8_t  Options[];\r
                } Bluetooth_SignalCommand_ConfigurationRequest_t;\r
 \r
                typedef struct\r
                        uint16_t SourceChannel;\r
                        uint16_t Flags;\r
                        uint16_t Result;\r
-                       uint8_t  Config;\r
                } Bluetooth_SignalCommand_ConfigurationResponse_t;\r
+\r
+               typedef struct\r
+               {\r
+                       uint16_t InfoType;\r
+               } Bluetooth_SignalCommand_InformationRequest_t;\r
                \r
+               typedef struct\r
+               {\r
+                       uint16_t InfoType;\r
+                       uint16_t Result;\r
+               } Bluetooth_SignalCommand_InformationResponse_t;\r
+\r
        /* Function Prototypes: */\r
                void Bluetooth_ProcessACLPackets(void);\r
 \r
                        static inline void Bluetooth_SignalPacket_DisconnectionRequest(Bluetooth_ACL_Header_t* ACLPacketHeader,\r
                                                                   Bluetooth_DataPacket_Header_t* DataHeader,\r
                                                                   Bluetooth_SignalCommand_Header_t* SignalCommandHeader);\r
+                       static inline void Bluetooth_SignalPacket_InformationRequest(Bluetooth_ACL_Header_t* ACLPacketHeader,\r
+                                                                  Bluetooth_DataPacket_Header_t* DataHeader,\r
+                                                                  Bluetooth_SignalCommand_Header_t* SignalCommandHeader);\r
                #endif\r
                \r
 #endif\r