105e767638571bc50d7a26471fbe07005f3c875faJungtae Kim/* 205e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * Copyright (C) 2012 Samsung Electronics Co., LTD 305e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * 405e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * Licensed under the Apache License, Version 2.0 (the "License"); 505e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * you may not use this file except in compliance with the License. 605e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * You may obtain a copy of the License at 705e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * 805e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * http://www.apache.org/licenses/LICENSE-2.0 905e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * 1005e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * Unless required by applicable law or agreed to in writing, software 1105e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * distributed under the License is distributed on an "AS IS" BASIS, 1205e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1305e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * See the License for the specific language governing permissions and 1405e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * limitations under the License. 1505e767638571bc50d7a26471fbe07005f3c875faJungtae Kim */ 1605e767638571bc50d7a26471fbe07005f3c875faJungtae Kim 1705e767638571bc50d7a26471fbe07005f3c875faJungtae Kim 1805e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#ifndef TCI_H_ 1905e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#define TCI_H_ 2005e767638571bc50d7a26471fbe07005f3c875faJungtae Kim 2105e767638571bc50d7a26471fbe07005f3c875faJungtae Kimtypedef uint32_t tciCommandId_t; 2205e767638571bc50d7a26471fbe07005f3c875faJungtae Kimtypedef uint32_t tciResponseId_t; 2305e767638571bc50d7a26471fbe07005f3c875faJungtae Kimtypedef uint32_t tciReturnCode_t; 2405e767638571bc50d7a26471fbe07005f3c875faJungtae Kim 2505e767638571bc50d7a26471fbe07005f3c875faJungtae Kim/**< Responses have bit 31 set */ 2605e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#define RSP_ID_MASK (1U << 31) 2705e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#define RSP_ID(cmdId) (((uint32_t)(cmdId)) | RSP_ID_MASK) 2805e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#define IS_CMD(cmdId) ((((uint32_t)(cmdId)) & RSP_ID_MASK) == 0) 2905e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#define IS_RSP(cmdId) ((((uint32_t)(cmdId)) & RSP_ID_MASK) == RSP_ID_MASK) 3005e767638571bc50d7a26471fbe07005f3c875faJungtae Kim 3105e767638571bc50d7a26471fbe07005f3c875faJungtae Kim/** 3205e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * Return codes of Trustlet commands. 3305e767638571bc50d7a26471fbe07005f3c875faJungtae Kim */ 3405e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#define RET_OK 0 /**< Set, if processing is error free */ 3505e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#define RET_ERR_UNKNOWN_CMD 1 /**< Unknown command */ 3605e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#define RET_CUSTOM_START 2 3705e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#define RET_ERR_MAP 3 3805e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#define RET_ERR_UNMAP 4 3905e767638571bc50d7a26471fbe07005f3c875faJungtae Kim 4005e767638571bc50d7a26471fbe07005f3c875faJungtae Kim/** 4105e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * TCI command header. 4205e767638571bc50d7a26471fbe07005f3c875faJungtae Kim */ 4305e767638571bc50d7a26471fbe07005f3c875faJungtae Kimtypedef struct { 4405e767638571bc50d7a26471fbe07005f3c875faJungtae Kim tciCommandId_t commandId; /**< Command ID */ 4505e767638571bc50d7a26471fbe07005f3c875faJungtae Kim} tciCommandHeader_t; 4605e767638571bc50d7a26471fbe07005f3c875faJungtae Kim 4705e767638571bc50d7a26471fbe07005f3c875faJungtae Kim/** 4805e767638571bc50d7a26471fbe07005f3c875faJungtae Kim * TCI response header. 4905e767638571bc50d7a26471fbe07005f3c875faJungtae Kim */ 5005e767638571bc50d7a26471fbe07005f3c875faJungtae Kimtypedef struct { 5105e767638571bc50d7a26471fbe07005f3c875faJungtae Kim tciResponseId_t responseId; /**< Response ID (must be command ID | RSP_ID_MASK )*/ 5205e767638571bc50d7a26471fbe07005f3c875faJungtae Kim tciReturnCode_t returnCode; /**< Return code of command */ 5305e767638571bc50d7a26471fbe07005f3c875faJungtae Kim} tciResponseHeader_t; 5405e767638571bc50d7a26471fbe07005f3c875faJungtae Kim 5505e767638571bc50d7a26471fbe07005f3c875faJungtae Kim#endif // TCI_H_ 56