From f5d079462dd975b9e7ae3f39423a64b6516f5dbd Mon Sep 17 00:00:00 2001
From: Dean Camera <dean@fourwalledcubicle.com>
Date: Tue, 15 Jun 2010 10:09:42 +0000
Subject: [PATCH] Changed the RFCOMM-specific ItemProtocolChannel_t type to a
 more generic ItemProtocol_8BitParam_t name, and added a new
 ItemProtocol_16BitParam_t to the SDP protocol type defines.

---
 .../BluetoothHost/Lib/SDPServices.c           | 10 ++++----
 .../BluetoothHost/Lib/SDPServices.h           | 23 +++++++++++++++----
 2 files changed, 24 insertions(+), 9 deletions(-)

diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/SDPServices.c b/Demos/Host/Incomplete/BluetoothHost/Lib/SDPServices.c
index 0af592e91..c6dee6639 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/SDPServices.c
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/SDPServices.c
@@ -75,15 +75,15 @@ const struct
  */
 const struct
 {
-	uint8_t               Header;
-	uint8_t               Size;
+	uint8_t                  Header;
+	uint8_t                  Size;
 
-	ItemProtocol_t        L2CAP;
-	ItemProtocolChannel_t RFCOMM;
+	ItemProtocol_t           L2CAP;
+	ItemProtocol_8BitParam_t RFCOMM;
 } PROGMEM SerialPort_Attribute_ProtocolDescriptor =
 	{
 		(SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable8Bit),
-		(sizeof(ItemProtocol_t) + sizeof(ItemProtocolChannel_t)),
+		(sizeof(ItemProtocol_t) + sizeof(ItemProtocol_8BitParam_t)),
 		{
 			(SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable8Bit),
 			sizeof(ItemUUID_t),
diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/SDPServices.h b/Demos/Host/Incomplete/BluetoothHost/Lib/SDPServices.h
index cc3ae32ef..dd8af6ec3 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/SDPServices.h
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/SDPServices.h
@@ -145,8 +145,8 @@
 			} Protocol;
 		} ItemProtocol_t;
 
-		/** Structure for a list of Data Elements Sequences containing UUID Data Elements and 8-bit channel values, for service
-		 *  attributes requiring extended protocol lists.
+		/** Structure for a list of Data Elements Sequences containing UUID Data Elements and an 8-bit param value, for service
+		 *  attributes requiring extended protocol lists containing an 8-bit value.
 		 */
 		typedef struct
 		{
@@ -156,10 +156,25 @@
 			struct
 			{
 				ItemUUID_t UUID; /**< UUID to store in the protocol list Data Element sequence */
-				Item8Bit_t Channel; /**< Channel that is to be used to access the service */
+				Item8Bit_t Param; /**< 8-Bit Parameter associated with the service */
 			} Protocol;
-		} ItemProtocolChannel_t;
+		} ItemProtocol_8BitParam_t;
 		
+		/** Structure for a list of Data Elements Sequences containing UUID Data Elements and an 16-bit param value, for service
+		 *  attributes requiring extended protocol lists containing an 16-bit value.
+		 */
+		typedef struct
+		{
+			uint8_t        Header; /**< Data Element header, should be (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable8Bit) */
+			uint8_t        Size; /**< Size of the inner Data Element sequence */
+			
+			struct
+			{
+				ItemUUID_t UUID; /**< UUID to store in the protocol list Data Element sequence */
+				Item16Bit_t Channel; /**< 8-Bit Parameter associated with the service */
+			} Protocol;
+		} ItemProtocol_16BitParam_t;
+
 		/** Structure for a list of Data Elements containing language encodings, including the language ID, Encoding ID and
 		 *  Attribute base offset.
 		 */
-- 
GitLab