/** * @addtogroup MC_UUID mcUuid - Universally Unique Identifier. * * * @ingroup MC_DATA_TYPES * @{ */ #ifndef MC_UUID_H_ #define MC_UUID_H_ #define UUID_TYPE /** Universally Unique Identifier (UUID) according to ISO/IEC 11578. */ typedef struct { uint8_t value[16]; /**< Value of the UUID. */ } mcUuid_t, *mcUuid_ptr; /** UUID value used as free marker in service provider containers. */ #define MC_UUID_FREE_DEFINE \ { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } static const mcUuid_t MC_UUID_FREE = { MC_UUID_FREE_DEFINE }; /** Reserved UUID. */ #define MC_UUID_RESERVED_DEFINE \ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, \ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } static const mcUuid_t MC_UUID_RESERVED = { MC_UUID_RESERVED_DEFINE }; /** UUID for system applications. */ #define MC_UUID_SYSTEM_DEFINE \ { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, \ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE } static const mcUuid_t MC_UUID_SYSTEM = { MC_UUID_SYSTEM_DEFINE }; #endif // MC_UUID_H_ /** @} */