#define _SDPSERVICES_H_
/* Includes: */
- #include "ServiceDiscoveryProtocol.h"
+ #include "SDP.h"
/* Macros: */
/** Size of a full 128 bit UUID, in bytes. */
#define SDP_ATTRIBUTE_ID_LANGUAGEBASEATTROFFSET 0x0006
#define SDP_ATTRIBUTE_ID_SERVICENAME 0x0100
#define SDP_ATTRIBUTE_ID_SERVICEDESCRIPTION 0x0101
-
- /** Swaps the byte ordering of a 16-bit value at compile time. Do not use this macro for swapping byte orderings
- * of dynamic values computed at runtime -- use SwapEndian_16() instead.
- *
- * \param[in] x 16-bit value whose byte ordering is to be swapped
- *
- * \return Input value with the byte ordering reversed
- */
- #define SWAPENDIAN_16(x) ((((x) & 0xFF00) >> 8) | (((x) & 0x00FF) << 8))
-
- /** Swaps the byte ordering of a 32-bit value at compile time. Do not use this macro for swapping byte orderings
- * of dynamic values computed at runtime -- use SwapEndian_32() instead.
- *
- * \param[in] x 32-bit value whose byte ordering is to be swapped
- *
- * \return Input value with the byte ordering reversed
- */
- #define SWAPENDIAN_32(x) ((((x) & 0xFF000000UL) >> 24UL) | (((x) & 0x00FF0000UL) >> 8UL) | \
- (((x) & 0x0000FF00UL) << 8UL) | (((x) & 0x000000FFUL) << 24UL))
-
+
/** Terminator for a service attribute table of type \ref ServiceAttributeTable_t. */
#define SERVICE_ATTRIBUTE_TABLE_TERMINATOR {.Data = NULL}
} 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
{
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.
*/