{\r
uint8_t Header;\r
uint32_t Data;\r
-} PROGMEM SDP_Attribute_ServiceHandle = {(SDP_DATATYPE_UnsignedInt | SDP_DATASIZE_32Bit), SWAPENDIAN_32(0x00010000)};\r
+} PROGMEM SDP_Attribute_ServiceHandle =\r
+ {\r
+ (SDP_DATATYPE_UnsignedInt | SDP_DATASIZE_32Bit),\r
+ SWAPENDIAN_32(0x00010000),\r
+ };\r
\r
const struct\r
{\r
ItemUUID_t UUIDList[];\r
} PROGMEM SDP_Attribute_ServiceClassIDs =\r
{\r
- .Header = (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable16Bit),\r
- .Size = SWAPENDIAN_16(sizeof(ItemUUID_t) * 1),\r
- .UUIDList =\r
+ (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable16Bit),\r
+ SWAPENDIAN_16(sizeof(ItemUUID_t) * 1),\r
+ {\r
+ {(SDP_DATATYPE_UUID | SDP_DATASIZE_128Bit), {BASE_80BIT_UUID, {0x00, 0x00, 0x00, 0x00, 0x10, 0x00}}}\r
+ }\r
+ };\r
+\r
+const struct\r
+{\r
+ uint8_t Header;\r
+ uint16_t Size;\r
+ ItemProtocol_t ProtocolList[];\r
+} PROGMEM SDP_Attribute_ProtocolDescriptor =\r
+ {\r
+ (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable16Bit),\r
+ SWAPENDIAN_16(sizeof(ItemProtocol_t) * 1),\r
+ {\r
{\r
- {.Header = (SDP_DATATYPE_UUID | SDP_DATASIZE_128Bit), .UUID = {BASE_80BIT_UUID, {0x00, 0x00, 0x00, 0x00, 0x10, 0x00}},}\r
+ (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable8Bit),\r
+ sizeof(UUID_t),\r
+ {(SDP_DATATYPE_UUID | SDP_DATASIZE_128Bit), {BASE_80BIT_UUID, {0x00, 0x00, 0x00, 0x00, 0x01, 0x00}}},\r
}\r
+ }\r
};\r
\r
const struct\r
Item16Bit_t VersionList[];\r
} PROGMEM SDP_Attribute_Version =\r
{\r
- .Header = (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable8Bit),\r
- .Size = (sizeof(Item16Bit_t) * 1),\r
- .VersionList =\r
- {\r
- {.Header = (SDP_DATATYPE_UnsignedInt | SDP_DATASIZE_16Bit), .Value = SWAPENDIAN_16(0x0100)}\r
- }\r
+ (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable8Bit),\r
+ (sizeof(Item16Bit_t) * 1),\r
+ {\r
+ {(SDP_DATATYPE_UnsignedInt | SDP_DATASIZE_16Bit), SWAPENDIAN_16(0x0100)}\r
+ }\r
};\r
\r
const struct\r
char Text[];\r
} PROGMEM SDP_Attribute_ServiceName =\r
{\r
- .Header = (SDP_DATATYPE_String | SDP_DATASIZE_Variable8Bit),\r
- .Size = sizeof("SDP") - 1,\r
- .Text = "SDP",\r
+ (SDP_DATATYPE_String | SDP_DATASIZE_Variable8Bit),\r
+ (sizeof("SDP") - 1),\r
+ "SDP",\r
};\r
\r
const struct\r
char Text[];\r
} PROGMEM SDP_Attribute_ServiceDescription =\r
{\r
- .Header = (SDP_DATATYPE_String | SDP_DATASIZE_Variable8Bit),\r
- .Size = sizeof("Service Discovery Protocol Server") - 1,\r
- .Text = "Service Discovery Protocol Server",\r
+ (SDP_DATATYPE_String | SDP_DATASIZE_Variable8Bit),\r
+ (sizeof("Service Discovery Protocol Server") - 1),\r
+ "Service Discovery Protocol Server",\r
};\r
\r
/** Service Discovery Protocol attribute table, listing all supported attributes of the service. */\r
const ServiceAttributeTable_t SDP_Attribute_Table[] PROGMEM =\r
{\r
- {.AttributeID = SDP_ATTRIBUTE_ID_SERVICERECORDHANDLE, .Data = &SDP_Attribute_ServiceHandle },\r
- {.AttributeID = SDP_ATTRIBUTE_ID_SERVICECLASSIDS, .Data = &SDP_Attribute_ServiceClassIDs },\r
- {.AttributeID = SDP_ATTRIBUTE_ID_VERSION, .Data = &SDP_Attribute_Version },\r
- {.AttributeID = SDP_ATTRIBUTE_ID_SERVICENAME, .Data = &SDP_Attribute_ServiceName },\r
- {.AttributeID = SDP_ATTRIBUTE_ID_SERVICEDESCRIPTION, .Data = &SDP_Attribute_ServiceDescription },\r
+ {.AttributeID = SDP_ATTRIBUTE_ID_SERVICERECORDHANDLE, .Data = &SDP_Attribute_ServiceHandle },\r
+ {.AttributeID = SDP_ATTRIBUTE_ID_SERVICECLASSIDS, .Data = &SDP_Attribute_ServiceClassIDs },\r
+// {.AttributeID = SDP_ATTRIBUTE_ID_PROTOCOLDESCRIPTORLIST, .Data = &SDP_Attribute_ProtocolDescriptor },\r
+ {.AttributeID = SDP_ATTRIBUTE_ID_VERSION, .Data = &SDP_Attribute_Version },\r
+ {.AttributeID = SDP_ATTRIBUTE_ID_SERVICENAME, .Data = &SDP_Attribute_ServiceName },\r
+ {.AttributeID = SDP_ATTRIBUTE_ID_SERVICEDESCRIPTION, .Data = &SDP_Attribute_ServiceDescription },\r
\r
SERVICE_ATTRIBUTE_TABLE_TERMINATOR\r
};\r
{\r
uint8_t Header;\r
uint32_t Data;\r
-} PROGMEM RFCOMM_Attribute_ServiceHandle = {(SDP_DATATYPE_UnsignedInt | SDP_DATASIZE_32Bit), SWAPENDIAN_32(0x00010001)};\r
+} PROGMEM RFCOMM_Attribute_ServiceHandle =\r
+ {\r
+ (SDP_DATATYPE_UnsignedInt | SDP_DATASIZE_32Bit),\r
+ SWAPENDIAN_32(0x00010001),\r
+ };\r
\r
const struct\r
{\r
ItemUUID_t UUIDList[];\r
} PROGMEM RFCOMM_Attribute_ServiceClassIDs =\r
{\r
- .Header = (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable16Bit),\r
- .Size = SWAPENDIAN_16(sizeof(ItemUUID_t) * 1),\r
- .UUIDList =\r
- {\r
- {.Header = (SDP_DATATYPE_UUID | SDP_DATASIZE_128Bit), .UUID = {BASE_80BIT_UUID, {0x00, 0x00, 0x00, 0x00, 0x11, 0x01}},}\r
- }\r
+ (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable16Bit),\r
+ SWAPENDIAN_16(sizeof(ItemUUID_t) * 1),\r
+ {\r
+ {(SDP_DATATYPE_UUID | SDP_DATASIZE_128Bit), {BASE_80BIT_UUID, {0x00, 0x00, 0x00, 0x00, 0x11, 0x01}}}\r
+ }\r
};\r
\r
const struct\r
Item16Bit_t OffsetList[];\r
} PROGMEM RFCOMM_Attribute_LangOffset =\r
{\r
- .Header = (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable8Bit),\r
- .Size = (sizeof(Item16Bit_t) * 1),\r
- .OffsetList =\r
- {\r
- {.Header = (SDP_DATATYPE_UnsignedInt | SDP_DATASIZE_16Bit), .Value = SWAPENDIAN_16(0x0100)}\r
- }\r
+ (SDP_DATATYPE_Sequence | SDP_DATASIZE_Variable8Bit),\r
+ (sizeof(Item16Bit_t) * 1),\r
+ {\r
+ {(SDP_DATATYPE_UnsignedInt | SDP_DATASIZE_16Bit), SWAPENDIAN_16(0x0100)}\r
+ }\r
};\r
\r
const struct\r
char Text[];\r
} PROGMEM RFCOMM_Attribute_ServiceName =\r
{\r
- .Header = (SDP_DATATYPE_String | SDP_DATASIZE_Variable8Bit),\r
- .Size = sizeof("Serial Port") - 1,\r
- .Text = "Serial Port",\r
+ (SDP_DATATYPE_String | SDP_DATASIZE_Variable8Bit),\r
+ sizeof("Serial Port") - 1,\r
+ "Serial Port",\r
};\r
\r
const struct\r
char Text[];\r
} PROGMEM RFCOMM_Attribute_ServiceDescription =\r
{\r
- .Header = (SDP_DATATYPE_String | SDP_DATASIZE_Variable8Bit),\r
- .Size = sizeof("Wireless Serial Port Service") - 1,\r
- .Text = "Wireless Serial Port Service",\r
+ (SDP_DATATYPE_String | SDP_DATASIZE_Variable8Bit),\r
+ sizeof("Wireless Serial Port Service") - 1,\r
+ "Wireless Serial Port Service",\r
};\r
\r
const ServiceAttributeTable_t RFCOMM_Attribute_Table[] PROGMEM =\r
{\r
- {.AttributeID = SDP_ATTRIBUTE_ID_SERVICERECORDHANDLE, .Data = &RFCOMM_Attribute_ServiceHandle },\r
- {.AttributeID = SDP_ATTRIBUTE_ID_SERVICECLASSIDS, .Data = &RFCOMM_Attribute_ServiceClassIDs },\r
- {.AttributeID = SDP_ATTRIBUTE_ID_SERVICENAME, .Data = &RFCOMM_Attribute_ServiceName },\r
- {.AttributeID = SDP_ATTRIBUTE_ID_SERVICEDESCRIPTION, .Data = &RFCOMM_Attribute_ServiceDescription },\r
+ {.AttributeID = SDP_ATTRIBUTE_ID_SERVICERECORDHANDLE, .Data = &RFCOMM_Attribute_ServiceHandle },\r
+ {.AttributeID = SDP_ATTRIBUTE_ID_SERVICECLASSIDS, .Data = &RFCOMM_Attribute_ServiceClassIDs },\r
+ {.AttributeID = SDP_ATTRIBUTE_ID_SERVICENAME, .Data = &RFCOMM_Attribute_ServiceName },\r
+ {.AttributeID = SDP_ATTRIBUTE_ID_SERVICEDESCRIPTION, .Data = &RFCOMM_Attribute_ServiceDescription },\r
\r
SERVICE_ATTRIBUTE_TABLE_TERMINATOR\r
};\r