14e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @addtogroup CMP
24e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * Content Management Protocol Definitions.
34e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *
44e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * The CMP (Content Management Protocol) is based on the TCI (Trustlet Control
54e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * Interface) and defines commands/responses between the content management
64e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * trustlet (CMTL) and the content management trustlet connector (CMTLC) and/or
74e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * the remote backend.
84e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *
94e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{
104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *
114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @file
124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * CMP global definitions.
134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * Various components need access to (sub-)structures defined and used by CMP;
144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * these common definitions are made available through this header file.
154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *
164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * <!-- Copyright Giesecke & Devrient GmbH 2009-2012 -->
174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *
184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * Redistribution and use in source and binary forms, with or without
194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * modification, are permitted provided that the following conditions
204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * are met:
214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * 1. Redistributions of source code must retain the above copyright
224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *    notice, this list of conditions and the following disclaimer.
234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * 2. Redistributions in binary form must reproduce the above copyright
244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *    notice, this list of conditions and the following disclaimer in the
254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *    documentation and/or other materials provided with the distribution.
264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * 3. The name of the author may not be used to endorse or promote
274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *    products derived from this software without specific prior
284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *    written permission.
294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park *
304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park */
424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#ifndef CMP_H_
444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define CMP_H_
454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#include "mcContainer.h"
474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#include "mcUuid.h"
484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#include "mcVersionInfo.h"
494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#include "version.h"
504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef uint32_t cmpCommandId_t;
524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef uint32_t cmpResponseId_t;
534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef uint32_t cmpReturnCode_t;
544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Responses have bit 31 set */
564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define RSP_ID_MASK (1U << 31)
574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define RSP_ID(cmdId) (((uint32_t)(cmdId)) | RSP_ID_MASK)
584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define IS_CMD(cmdId) ((((uint32_t)(cmdId)) & RSP_ID_MASK) == 0)
594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define IS_RSP(cmdId) ((((uint32_t)(cmdId)) & RSP_ID_MASK) == RSP_ID_MASK)
604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/**
624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * CMP command header.
634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park */
644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    /** Command ID. */
664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandId_t commandId;
674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCommandHeader_t;
684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/**
704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * CMP response header.
714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park */
724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct{
734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    /** Response ID (must be command ID | RSP_ID_MASK ). */
744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseId_t     responseId;
754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    /** Return code of command. */
764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpReturnCode_t     returnCode;
774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpResponseHeader_t;
784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SHA256 checksum. */
804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t data[32];
824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSha256_t;
834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Key size of encryption algorithm used for secure messaging. */
854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define CMP_MSG_KEY_SIZE    32
864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Block size of the encryption algorithm used for secure messaging. */
884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define CMP_MSG_CRYPTO_BLOCK_SIZE  16
894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Total number of padding bytes required to encrypt data of given size. */
914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define CMP_ED_PADDING(netsize) (CMP_MSG_CRYPTO_BLOCK_SIZE - (netsize) % CMP_MSG_CRYPTO_BLOCK_SIZE)
924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Total number of bytes used for message authentication code (MAC). */
944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define CMP_MAC_SIZE 32 // HMAC-SHA256
954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Total number of bytes used for PSS signature in GENERATE AUTH TOKEN command. */
974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define CMP_GEN_AUTH_TOKEN_PSS_SIZE   256
984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Message authentication code. */
1004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t mac[CMP_MAC_SIZE];
1024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpMac_t;
1034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** 64-bit random number. */
1054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t data[8];
1074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRnd8_t;
1084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** 256-bit random number. */
1104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t data[32];
1124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRnd32_t;
1134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Version tags. */
1154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef enum {
1164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    CMP_VERSION_TAG1 = 0x00000001, // Deprecated.
1174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    CMP_VERSION_TAG2 = 0x00000002,
1184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpVersionTag_t;
1194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Version data for version tag 1. */
1214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint32_t number;
1234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpVersionData1_t;
1244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Version data for version tag 2. */
1264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcVersionInfo_t versionInfo;
1284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpVersionData2_t;
1294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Version data. */
1314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef union {
1324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpVersionData1_t versionData1;
1334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpVersionData2_t versionData2;
1344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpVersionData_t;
1354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_GET_VERSION
1374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park* @{ */
1384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_GET_VERSION_CMD Command
1404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park* @{ */
1414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** GetVersion command. */
1434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
1454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdGetVersion_t;
1464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
1484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_GET_VERSION_RSP Response
1504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park* @{ */
1514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** GetSuid response. */
1534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin ParkcmpResponseHeader_t rspHeader;
1554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpVersionTag_t tag;
1564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpVersionData_t data;
1574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspGetVersion_t;
1584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
1604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
1624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_GENERATE_AUTH_TOKEN
1644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
1654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_GENERATE_AUTH_TOKEN_CMD Command
1674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
1684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
1714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSuid_t suid;
1724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSymmetricKey_t kSocAuth;
1734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint32_t kid;
1744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpGenAuthTokenCmdSdata_t;
1754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpGenAuthTokenCmdSdata_t sdata;
1784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t pssSignature[CMP_GEN_AUTH_TOKEN_PSS_SIZE];
1794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpGenAuthTokenCmd_t;
1804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** GenAuthToken command. */
1824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpGenAuthTokenCmd_t cmd;
1844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdGenAuthToken_t;
1854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
1874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_GENERATE_AUTH_TOKEN_RSP Response
1894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
1904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
1934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    // No MAC.
1944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpGenAuthTokenRsp_t;
1954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** GenAuthToken response. */
1974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
1984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpGenAuthTokenRsp_t rsp;
1994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoAuthTokenCont_t soAuthCont;
2004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspGenAuthToken_t;
2014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
2034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
2054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_BEGIN_SOC_AUTHENTICATION
2074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
2084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_BEGIN_SOC_AUTHENTICATION_CMD Command
2104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
2114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
2144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpBeginSocAuthenticationCmd_t;
2154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** BeginSocAuthentication command. */
2174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpBeginSocAuthenticationCmd_t cmd;
2194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoAuthTokenCont_t soAuthTokenCont;
2204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdBeginSocAuthentication_t;
2214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
2234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_BEGIN_SOC_AUTHENTICATION_RSP Response
2254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
2264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
2294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSuid_t suid;
2304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRnd8_t rnd1;
2314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpBeginSocAuthenticationRspSdata_t;
2324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpBeginSocAuthenticationRspSdata_t sdata;
2354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
2364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpBeginSocAuthenticationRsp_t;
2374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** BeginSocAuthentication response. */
2394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpBeginSocAuthenticationRsp_t rsp;
2414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspBeginSocAuthentication_t;
2424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
2444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
2464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_BEGIN_ROOT_AUTHENTICATION
2484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
2494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_BEGIN_ROOT_AUTHENTICATION_CMD Command
2514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
2524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
2554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpBeginRootAuthenticationCmd_t;
2564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** BeginRootAuthentication command. */
2584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpBeginRootAuthenticationCmd_t cmd;
2604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
2614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdBeginRootAuthentication_t;
2624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
2644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_BEGIN_ROOT_AUTHENTICATION_RSP Response
2664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
2674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
2704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSuid_t suid;
2714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRnd8_t rnd1;
2724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpBeginRootAuthenticationRspSdata_t;
2734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpBeginRootAuthenticationRspSdata_t sdata;
2764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
2774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpBeginRootAuthenticationRsp_t;
2784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** BeginRootAuthentication response. */
2804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpBeginRootAuthenticationRsp_t rsp;
2824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspBeginRootAuthentication_t;
2834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
2854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
2874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_BEGIN_SP_AUTHENTICATION
2894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
2904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_BEGIN_SP_AUTHENTICATION_CMD Command
2924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
2934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
2954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
2964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpBeginSpAuthenticationCmdSdata_t;
2974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
2984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
2994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpBeginSpAuthenticationCmdSdata_t sdata;
3004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpBeginSpAuthenticationCmd_t;
3014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** BeginSpAuthentication command. */
3034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpBeginSpAuthenticationCmd_t cmd;
3054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
3064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
3074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdBeginSpAuthentication_t;
3084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
3104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_BEGIN_SP_AUTHENTICATION_RSP Response
3124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
3134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
3154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSuid_t suid;
3164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
3174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRnd8_t rnd1;
3184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpBeginSpAuthenticationRspSdata_t;
3194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpBeginSpAuthenticationRspSdata_t sdata;
3224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
3234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpBeginSpAuthenticationRsp_t;
3244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** BeginSpAuthentication response. */
3264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpBeginSpAuthenticationRsp_t rsp;
3284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspBeginSpAuthentication_t;
3294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
3314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
3334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_AUTHENTICATE
3354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
3364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_AUTHENTICATE_CMD Command
3384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
3394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSuid_t suid;
3414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint32_t entityId;
3424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRnd8_t rnd2;
3434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRnd8_t rnd1;
3444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRnd32_t k2;
3454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthMsgEdata_t;
3464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthMsgEdata_t edata;
3494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpAuthMsgEdata_t))];
3504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthCmdEd_t;
3514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
3544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthCmdEd_t ed;
3554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthCmdSdata_t;
3564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthCmdSdata_t sdata;
3594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
3604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthenticateCmd_t;
3614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Authenticate command. */
3634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthenticateCmd_t cmd;
3654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdAuthenticate_t;
3664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
3684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_AUTHENTICATE_RSP Response
3704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
3714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSuid_t suid;
3734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint32_t entityId;
3744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRnd8_t rnd1;
3754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRnd8_t rnd2;
3764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRnd32_t k1;
3774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthRspEdata_t;
3784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthRspEdata_t edata;
3814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpAuthRspEdata_t))];
3824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthRspEd_t;
3834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
3864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthRspEd_t ed;
3874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthRspSdata_t;
3884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthRspSdata_t sdata;
3914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
3924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthenticateRsp_t;
3934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** Authenticate response. */
3954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
3964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthenticateRsp_t rsp;
3974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspAuthenticate_t;
3984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
3994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
4004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
4024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_REGISTER_ACTIVATE
4044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
4054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_REGISTER_ACTIVATE_CMD Command
4074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
4084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSymmetricKey_t kRootAuth;
4114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootRegActMsgEdata_t;
4124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootRegActMsgEdata_t edata;
4154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpRootRegActMsgEdata_t))];
4164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootRegActCmdEd_t;
4174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
4204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcRootid_t rootid;
4214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootRegActCmdEd_t ed;
4224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootRegActCmdSdata_t;
4234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootRegActCmdSdata_t sdata;
4264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
4274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootContRegisterActivateCmd_t;
4284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** RootContRegisterActivate command. */
4304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootContRegisterActivateCmd_t cmd;
4324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdRootContRegisterActivate_t;
4334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
4354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_REGISTER_ACTIVATE_RSP Response
4374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
4384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
4414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootRegActRspEdata_t;
4424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootRegActRspEdata_t edata;
4454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpRootRegActRspEdata_t))];
4464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootRegActRspEd_t;
4474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
4504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootRegActRspEd_t ed;
4514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootRegActRspSdata_t;
4524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootRegActRspSdata_t sdata;
4554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
4564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootContRegisterActivateRsp_t;
4574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** RooContRegisterActivate response. */
4594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootContRegisterActivateRsp_t rsp;
4614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
4624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspRootContRegisterActivate_t;
4634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
4654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
4674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_UNREGISTER
4694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
4704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_UNREGISTER_CMD Command
4724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
4734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSuid_t suid;
4764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoAuthTokenCont_t soAuthTokenCont;
4774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootUnregMsgEdata_t;
4784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootUnregMsgEdata_t edata;
4814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpRootUnregMsgEdata_t))];
4824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootUnregCmdEd_t;
4834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
4864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootUnregCmdEd_t ed;
4874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootUnregCmdSdata_t;
4884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootUnregCmdSdata_t sdata;
4914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
4924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootContUnregisterCmd_t;
4934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** RootContUnregister command. */
4954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
4964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootContUnregisterCmd_t cmd;
4974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdRootContUnregister_t;
4984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
4994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
5004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_UNREGISTER_RSP Response
5024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
5034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSuid_t suid;
5064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootUnregRspEdata_t;
5074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootUnregRspEdata_t edata;
5104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpRootUnregRspEdata_t))];
5114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootUnregRspEd_t;
5124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
5154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootUnregRspEd_t ed;
5164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootUnregRspSdata_t;
5174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootUnregRspSdata_t sdata;
5204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
5214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootContUnregisterRsp_t;
5224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** RootContUnregister response. */
5244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootContUnregisterRsp_t rsp;
5264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoAuthTokenCont_t soAuthTokenCont;
5274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspRootContUnregister_t;
5284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
5304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
5324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_LOCK_BY_ROOT
5344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
5354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_LOCK_BY_ROOT_CMD Command
5374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
5384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
5414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootLockByRootCmdSdata_t;
5424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootLockByRootCmdSdata_t sdata;
5454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
5464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootContLockByRootCmd_t;
5474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** RootContLockByRoot command. */
5494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootContLockByRootCmd_t cmd;
5514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdRootContLockByRoot_t;
5524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
5544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_LOCK_BY_ROOT_RSP Response
5564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
5574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
5604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootLockByRootRspEdata_t;
5614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootLockByRootRspEdata_t edata;
5644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpRootLockByRootRspEdata_t))];
5654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootLockByRootRspEd_t;
5664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
5694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootLockByRootRspEd_t ed;
5704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootLockByRootRspSdata_t;
5714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootLockByRootRspSdata_t sdata;
5744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
5754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootContLockByRootRsp_t;
5764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** RootContLockByRoot response. */
5784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootContLockByRootRsp_t rsp;
5804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
5814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspRootContLockByRoot_t;
5824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
5844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
5864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_UNLOCK_BY_ROOT
5884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
5894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_UNLOCK_BY_ROOT_CMD Command
5914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
5924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
5954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootUnlockByRootCmdSdata_t;
5964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
5974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
5984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootUnlockByRootCmdSdata_t sdata;
5994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
6004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootContUnlockByRootCmd_t;
6014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** RootContUnlockByRoot command. */
6034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootContUnlockByRootCmd_t cmd;
6054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdRootContUnlockByRoot_t;
6064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
6084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_ROOT_CONT_UNLOCK_BY_ROOT_RSP Response
6104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
6114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
6144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootUnlockByRootRspEdata_t;
6154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootUnlockByRootRspEdata_t edata;
6184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpRootUnlockByRootRspEdata_t))];
6194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootUnlockByRootRspEd_t;
6204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
6234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootUnlockByRootRspEd_t ed;
6244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootUnlockByRootRspSdata_t;
6254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootUnlockByRootRspSdata_t sdata;
6284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
6294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRootContUnlockByRootRsp_t;
6304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** RootContUnlockByRoot response. */
6324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpRootContUnlockByRootRsp_t rsp;
6344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
6354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspRootContUnlockByRoot_t;
6364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
6384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
6404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_REGISTER_ACTIVATE
6424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
6434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_REGISTER_ACTIVATE_CMD Command
6454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
6464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSymmetricKey_t kSpAuth;
6494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegActMsgEdata_t;
6504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegActMsgEdata_t edata;
6534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpRegActMsgEdata_t))];
6544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegActCmdEd_t;
6554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
6584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
6594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegActCmdEd_t ed;
6604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegActCmdSdata_t;
6614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegActCmdSdata_t sdata;
6644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
6654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContRegisterActivateCmd_t;
6664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContRegisterActivate command. */
6684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContRegisterActivateCmd_t cmd;
6704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdSpContRegisterActivate_t;
6714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
6734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_REGISTER_ACTIVATE_RSP Response
6754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
6764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
6794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
6804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegActRspEdata_t;
6814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegActRspEdata_t edata;
6844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpRegActRspEdata_t))];
6854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegActRspEd_t;
6864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
6894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegActRspEd_t ed;
6904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegActRspSdata_t;
6914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegActRspSdata_t sdata;
6944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
6954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContRegisterActivateRsp_t;
6964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
6974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContRegisterActivate response. */
6984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
6994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContRegisterActivateRsp_t rsp;
7004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
7014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
7024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspSpContRegisterActivate_t;
7034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
7054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
7074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_REGISTER
7094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
7104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_REGISTER_CMD Command
7124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
7134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSymmetricKey_t kSpAuth;
7164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegisterMsgEdata_t;
7174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegisterMsgEdata_t edata;
7204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpRegisterMsgEdata_t))];
7214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegisterCmdEd_t;
7224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
7254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
7264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegisterCmdEd_t ed;
7274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegisterCmdSdata_t;
7284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegisterCmdSdata_t sdata;
7314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
7324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContRegisterCmd_t;
7334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContRegister command. */
7354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContRegisterCmd_t cmd;
7374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdSpContRegister_t;
7384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
7404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_REGISTER_RSP Response
7424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
7434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
7464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
7474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegisterRspEdata_t;
7484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegisterRspEdata_t edata;
7514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpRegisterRspEdata_t))];
7524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegisterRspEd_t;
7534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
7564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegisterRspEd_t ed;
7574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpRegisterRspSdata_t;
7584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpRegisterRspSdata_t sdata;
7614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
7624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContRegisterRsp_t;
7634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContRegister response. */
7654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContRegisterRsp_t rsp;
7674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
7684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
7694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspSpContRegister_t;
7704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
7724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
7744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_ACTIVATE
7764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
7774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_ACTIVATE_CMD Command
7794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
7804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSymmetricKey_t kSpAuth;
7834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpActivateMsgEdata_t;
7844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpActivateMsgEdata_t edata;
7874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpActivateMsgEdata_t))];
7884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpActivateCmdEd_t;
7894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
7924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
7934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpActivateCmdEd_t ed;
7944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpActivateCmdSdata_t;
7954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
7964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
7974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpActivateCmdSdata_t sdata;
7984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
7994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContActivateCmd_t;
8004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContActivate command. */
8024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContActivateCmd_t cmd;
8044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdSpContActivate_t;
8054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
8074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_ACTIVATE_RSP Response
8094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
8104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
8134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpActivateRspEdata_t;
8144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpActivateRspEdata_t edata;
8174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpActivateRspEdata_t))];
8184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpActivateRspEd_t;
8194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
8224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpActivateRspEd_t ed;
8234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpActivateRspSdata_t;
8244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpActivateRspSdata_t sdata;
8274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
8284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContActivateRsp_t;
8294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContActivate response. */
8314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContActivateRsp_t rsp;
8334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
8344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspSpContActivate_t;
8354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
8374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
8394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_UNREGISTER
8414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
8424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_UNREGISTER_CMD Command
8444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
8454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
8484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
8494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContUnregCmdSdata_t;
8504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContUnregCmdSdata_t sdata;
8534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
8544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContUnregisterCmd_t;
8554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContUnregister command. */
8574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContUnregisterCmd_t cmd;
8594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdSpContUnregister_t;
8604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
8624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_UNREGISTER_RSP Response
8644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
8654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
8684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpUnregRspEdata_t;
8694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpUnregRspEdata_t edata;
8724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpUnregRspEdata_t))];
8734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpUnregRspEd_t;
8744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
8774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpUnregRspEd_t ed;
8784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContUnregRspSdata_t;
8794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContUnregRspSdata_t sdata;
8824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
8834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContUnregisterRsp_t;
8844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContUnregister response. */
8864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
8874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContUnregisterRsp_t rsp;
8884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoRootCont_t soRootCont;
8894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspSpContUnregister_t;
8904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
8924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
8944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_LOCK_BY_ROOT
8964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
8974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
8984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_LOCK_BY_ROOT_CMD Command
8994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
9004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
9034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
9044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpLockByRootCmdSdata_t;
9054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpLockByRootCmdSdata_t sdata;
9084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
9094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContLockByRootCmd_t;
9104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContLockByRoot command. */
9124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContLockByRootCmd_t cmd;
9144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
9154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdSpContLockByRoot_t;
9164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
9184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_LOCK_BY_ROOT_RSP Response
9204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
9214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
9244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpLockByRootRspEdata_t;
9254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpLockByRootRspEdata_t edata;
9284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpLockByRootRspEdata_t))];
9294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpLockByRootRspEd_t;
9304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
9334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpLockByRootRspEd_t ed;
9344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpLockByRootRspSdata_t;
9354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpLockByRootRspSdata_t sdata;
9384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
9394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContLockByRootRsp_t;
9404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContLockByRoot response. */
9424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContLockByRootRsp_t rsp;
9444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
9454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspSpContLockByRoot_t;
9464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
9484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
9504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_UNLOCK_BY_ROOT
9524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
9534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_UNLOCK_BY_ROOT_CMD Command
9554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
9564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
9594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
9604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpUnlockByRootCmdSdata_t;
9614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpUnlockByRootCmdSdata_t sdata;
9644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
9654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContUnlockByRootCmd_t;
9664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContUnlockByRoot command. */
9684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContUnlockByRootCmd_t cmd;
9704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
9714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdSpContUnlockByRoot_t;
9724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
9744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_UNLOCK_BY_ROOT_RSP Response
9764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
9774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
9804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpUnlockByRootRspEdata_t;
9814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpUnlockByRootRspEdata_t edata;
9844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpUnlockByRootRspEdata_t))];
9854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpUnlockByRootRspEd_t;
9864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
9894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpUnlockByRootRspEd_t ed;
9904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpUnlockByRootRspSdata_t;
9914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpUnlockByRootRspSdata_t sdata;
9944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
9954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContUnlockByRootRsp_t;
9964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
9974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContUnlockByRoot response. */
9984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
9994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContUnlockByRootRsp_t rsp;
10004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
10014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspSpContUnlockByRoot_t;
10024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
10044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
10064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_LOCK_BY_SP
10084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
10094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_LOCK_BY_SP_CMD Command
10114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
10124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
10154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
10164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpLockBySpCmdSdata_t;
10174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpLockBySpCmdSdata_t sdata;
10204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
10214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContLockBySpCmd_t;
10224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContLockBySp command. */
10244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContLockBySpCmd_t cmd;
10264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdSpContLockBySp_t;
10274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
10294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_LOCK_BY_SP_RSP Respose
10314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
10324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
10354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpLockBySpRspEdata_t;
10364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpLockBySpRspEdata_t edata;
10394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpLockBySpRspEdata_t))];
10404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpLockBySpRspEd_t;
10414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
10444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpLockBySpRspEd_t ed;
10454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpLockBySpRspSdata_t;
10464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpLockBySpRspSdata_t sdata;
10494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
10504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContLockBySpRsp_t;
10514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContLockBySp response. */
10534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContLockBySpRsp_t rsp;
10554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
10564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspSpContLockBySp_t;
10574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
10594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
10614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_UNLOCK_BY_SP
10634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
10644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_UNLOCK_BY_SP_CMD Command
10664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
10674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
10704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
10714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpUnlockBySpCmdSdata_t;
10724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpUnlockBySpCmdSdata_t sdata;
10754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
10764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContUnlockBySpCmd_t;
10774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContUnlockBySp command. */
10794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContUnlockBySpCmd_t cmd;
10814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdSpContUnlockBySp_t;
10824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
10844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_SP_CONT_UNLOCK_BY_SP_RSP Response
10864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
10874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
10904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpUnlockBySpRspEdata_t;
10914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpUnlockBySpRspEdata_t edata;
10944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpSpUnlockBySpRspEdata_t))];
10954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpUnlockBySpRspEd_t;
10964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
10974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
10984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
10994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpUnlockBySpRspEd_t ed;
11004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpUnlockBySpRspSdata_t;
11014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpUnlockBySpRspSdata_t sdata;
11044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
11054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpSpContUnlockBySpRsp_t;
11064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** SpContUnlockBySp response. */
11084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpSpContUnlockBySpRsp_t rsp;
11104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
11114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspSpContUnlockBySp_t;
11124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
11144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
11164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_REGISTER
11184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
11194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_REGISTER_CMD Command
11214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
11224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSymmetricKey_t kSpTltEnc;
11254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegMsgEdata_t;
11264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegMsgEdata_t edata;
11294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpTltRegMsgEdata_t))];
11304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegCmdEd_t;
11314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
11344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
11354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcUuid_t uuid;
11364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegCmdEd_t ed;
11374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegCmdSdata_t;
11384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegCmdSdata_t sdata;
11414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
11424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContRegisterCmd_t;
11434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContRegister command. */
11454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContRegisterCmd_t cmd;
11474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdTltContRegister_t;
11484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
11504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_REGISTER_RSP Response
11524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
11534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
11564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
11574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegRspEdata_t;
11584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegRspEdata_t edata;
11614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpTltRegRspEdata_t))];
11624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegRspEd_t;
11634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
11664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegRspEd_t ed;
11674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegRspSdata_t;
11684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegRspSdata_t sdata;
11714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
11724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContRegisterRsp_t;
11734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContRegister response. */
11754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContRegisterRsp_t rsp;
11774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
11784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
11794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspTltContRegister_t;
11804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
11824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
11844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_ACTIVATE
11864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
11874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_ACTIVATE_CMD Command
11894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
11904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
11934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
11944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcUuid_t uuid;
11954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltActCmdSdata_t;
11964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
11974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
11984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltActCmdSdata_t sdata;
11994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
12004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContActivateCmd_t;
12014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContActivate command. */
12034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContActivateCmd_t cmd;
12054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
12064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdTltContActivate_t;
12074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
12094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_ACTIVATE_RSP Response
12114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
12124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
12154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltActRspEdata_t;
12164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltActRspEdata_t edata;
12194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpTltActRspEdata_t))];
12204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltActRspEd_t;
12214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
12244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltActRspEd_t ed;
12254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltActRspSdata_t;
12264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltActRspSdata_t sdata;
12294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
12304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContActivateRsp_t;
12314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContActivate response. */
12334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContActivateRsp_t rsp;
12354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
12364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspTltContActivate_t;
12374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
12394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
12414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_REGISTER_ACTIVATE
12434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
12444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_REGISTER_ACTIVATE_CMD Command
12464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
12474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSymmetricKey_t kSpTltEnc;
12504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegActMsgEdata_t;
12514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegActMsgEdata_t edata;
12544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpTltRegActMsgEdata_t))];
12554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegActCmdEd_t;
12564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
12594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
12604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcUuid_t uuid;
12614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegActCmdEd_t ed;
12624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegActCmdSdata_t;
12634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegActCmdSdata_t sdata;
12664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
12674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContRegisterActivateCmd_t;
12684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContRegisterActivate command. */
12704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContRegisterActivateCmd_t cmd;
12724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdTltContRegisterActivate_t;
12734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
12754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_REGISTER_ACTIVATE_RSP Response
12774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
12784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
12814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
12824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegActRspEdata_t;
12834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegActRspEdata_t edata;
12864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpTltRegActRspEdata_t))];
12874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegActRspEd_t;
12884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
12914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegActRspEd_t ed;
12924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltRegActRspSdata_t;
12934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
12954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltRegActRspSdata_t sdata;
12964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
12974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContRegisterActivateRsp_t;
12984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
12994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContRegisterActivate response. */
13004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContRegisterActivateRsp_t rsp;
13024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
13034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
13044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspTltContRegisterActivate_t;
13054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
13074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
13094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_UNREGISTER
13114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
13124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_UNREGISTER_CMD Command
13144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
13154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
13184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
13194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcUuid_t uuid;
13204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltUnregCmdSdata_t;
13214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltUnregCmdSdata_t sdata;
13244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
13254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContUnregisterCmd_t;
13264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContUnregister command. */
13284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContUnregisterCmd_t cmd;
13304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdTltContUnregister_t;
13314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
13334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_UNREGISTER_RSP Response
13354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
13364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
13394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltUnregRspEdata_t;
13404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltUnregRspEdata_t edata;
13434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpTltUnregRspEdata_t))];
13444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltUnregRspEd_t;
13454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
13484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltUnregRspEd_t ed;
13494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltUnregRspSdata_t;
13504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltUnregRspSdata_t sdata;
13534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
13544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContUnregisterRsp_t;
13554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContUnregister response. */
13574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContUnregisterRsp_t rsp;
13594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoSpCont_t soSpCont;
13604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspTltContUnregister_t;
13614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
13634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
13654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_LOCK_BY_SP
13674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
13684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_LOCK_BY_SP_CMD Command
13704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
13714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
13744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
13754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcUuid_t uuid;
13764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltLockBySpCmdSdata_t;
13774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltLockBySpCmdSdata_t sdata;
13804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
13814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContLockBySpCmd_t;
13824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContLockBySp command. */
13844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContLockBySpCmd_t cmd;
13864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
13874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdTltContLockBySp_t;
13884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
13904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_LOCK_BY_SP_RSP Response
13924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
13934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
13964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltLockBySpRspEdata_t;
13974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
13984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
13994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltLockBySpRspEdata_t edata;
14004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpTltLockBySpRspEdata_t))];
14014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltLockBySpRspEd_t;
14024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
14054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltLockBySpRspEd_t ed;
14064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltLockBySpRspSdata_t;
14074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltLockBySpRspSdata_t sdata;
14104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
14114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContLockBySpRsp_t;
14124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContLockBySp response. */
14144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContLockBySpRsp_t rsp;
14164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
14174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspTltContLockBySp_t;
14184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
14204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
14224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_UNLOCK_BY_SP
14244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
14254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_UNLOCK_BY_SP_CMD Command
14274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
14284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
14314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
14324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcUuid_t uuid;
14334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltUnlockBySpCmdSdata_t;
14344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltUnlockBySpCmdSdata_t sdata;
14374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
14384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContUnlockBySpCmd_t;
14394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContUnlockBySp command. */
14414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContUnlockBySpCmd_t cmd;
14434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
14444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdTltContUnlockBySp_t;
14454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
14474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_UNLOCK_BY_SP_RSP Response
14494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
14504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
14534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltUnlockBySpRspEdata_t;
14544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltUnlockBySpRspEdata_t edata;
14574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding[CMP_ED_PADDING(sizeof(cmpTltUnlockBySpRspEdata_t))];
14584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltUnlockBySpRspEd_t;
14594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
14624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltUnlockBySpRspEd_t ed;
14634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltUnlockBySpRspSdata_t;
14644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltUnlockBySpRspSdata_t sdata;
14674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
14684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContUnlockBySpRsp_t;
14694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContUnlockBySp response. */
14714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContUnlockBySpRsp_t rsp;
14734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont;
14744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspTltContUnlockBySp_t;
14754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
14774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
14794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_GET_SUID
14814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park* @{ */
14824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_GET_SUID_CMD Command
14844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park* @{ */
14854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** GetSuid command. */
14874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
14894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdGetSuid_t;
14904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
14924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_GET_SUID_RSP Response
14944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park* @{ */
14954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
14964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** GetSuid response. */
14974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
14984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin ParkcmpResponseHeader_t rspHeader;
14994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSuid_t suid;
15004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspGetSuid_t;
15014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
15034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
15054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_AUTHENTICATE_TERMINATE
15074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park* @{ */
15084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_AUTHENTICATE_TERMINATE_CMD Command
15104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park* @{ */
15114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
15144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthenticateTerminateCmdSdata_t;
15154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthenticateTerminateCmdSdata_t sdata;
15184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
15194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthenticateTerminateCmd_t;
15204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** AuthenticateTerminate command. */
15224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthenticateTerminateCmd_t cmd;
15244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdAuthenticateTerminate_t;
15254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
15274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_AUTHENTICATE_TERMINATE_RSP Response
15294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park* @{ */
15304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
15334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpAuthenticateTerminateRspSdata_t;
15344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpAuthenticateTerminateRspSdata_t sdata;
15374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac;
15384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTerminateAutenticateRsp_t;
15394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** AuthenticateTerminate response. */
15414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTerminateAutenticateRsp_t rsp;
15434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspAuthenticateTerminate_t;
15444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
15464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
15484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_PERSONALIZE
15504e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
15514e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_PERSONALIZE_CMD Command
15534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
15544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcPid_t pid;
15574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcCoDataCont_t persoData;
15584e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContPersonalizeCmdEdata_t;
15594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContPersonalizeCmdEdata_t edata;
15624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding_[CMP_ED_PADDING(sizeof(cmpTltContPersonalizeCmdEdata_t))];
15634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContPersonalizeCmdEd_t;
15644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpCommandHeader_t cmdHeader;
15674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSpid_t spid;
15684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcUuid_t uuid;
15694e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint32_t edLen;
15704e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContPersonalizeCmdEd_t ed;
15714e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContPersonalizeCmdSdata_t;
15724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15744e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContPersonalizeCmdSdata_t sdata;
15754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac_;
15764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContPersonalizeCmd_t;
15774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContPersonalize command. */
15794e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15804e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContPersonalizeCmd_t cmd;
15814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoTltCont_t soTltCont_;
15824e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpCmdTltContPersonalize_t;
15834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
15854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @defgroup MC_CMP_CMD_TLT_CONT_PERSONLIZE_RSP Response
15874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ */
15884e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15894e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15904e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoDataCont_t soDataCont;
15914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContPersonalizeRspEdata_t;
15924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContPersonalizeRspEdata_t edata;
15954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint8_t padding_[CMP_ED_PADDING(sizeof(cmpTltContPersonalizeRspEdata_t))];
15964e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContPersonalizeRspEd_t;
15974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
15984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
15994e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpResponseHeader_t rspHeader;
16004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    uint32_t edLen;
16014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContPersonalizeRspEd_t ed;
16024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContPersonalizeRspSdata_t;
16034e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
16044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
16054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContPersonalizeRspSdata_t sdata;
16064e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpMac_t mac_;
16074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpTltContPersonalizeRsp_t;
16084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
16094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** TltContPersonalize response. */
16104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct {
16114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    cmpTltContPersonalizeRsp_t rsp;
16124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park    mcSoDataCont_t soDataCont_;
16134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} cmpRspTltContPersonalize_t;
16144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
16154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
16164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
16174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
16184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
16194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
16204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
16214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#endif // CMP_H_
16224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
16234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */
16244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park
1625