12e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 22e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Copyright(c) 2011 Trusted Logic. All rights reserved. 32e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * 42e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Redistribution and use in source and binary forms, with or without 52e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * modification, are permitted provided that the following conditions 62e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * are met: 72e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * 82e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * * Redistributions of source code must retain the above copyright 92e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * notice, this list of conditions and the following disclaimer. 102e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * * Redistributions in binary form must reproduce the above copyright 112e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * notice, this list of conditions and the following disclaimer in 122e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * the documentation and/or other materials provided with the 132e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * distribution. 142e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * * Neither the name Trusted Logic nor the names of its 152e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * contributors may be used to endorse or promote products derived 162e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * from this software without specific prior written permission. 172e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * 182e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 192e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 202e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 212e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 222e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 232e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 242e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 252e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 262e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 272e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 282e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 292e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley */ 302e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#ifndef __S_ERROR_H__ 312e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define __S_ERROR_H__ 322e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 332e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_SUCCESS ((S_RESULT)0x00000000) 342e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_SUCCESS S_SUCCESS 352e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_SUCCESS S_SUCCESS 362e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SST_SUCCESS S_SUCCESS 372e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 382e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 392e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : Generic error 402e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 412e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_GENERIC ((S_RESULT)0xFFFF0000) 422e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_GENERIC S_ERROR_GENERIC 432e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_GENERIC S_ERROR_GENERIC 442e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SST_ERROR_GENERIC S_ERROR_GENERIC 452e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 462e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 472e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : The underlying security system denies the access to the 482e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * object 492e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 502e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_ACCESS_DENIED ((S_RESULT)0xFFFF0001) 512e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_ACCESS_DENIED S_ERROR_ACCESS_DENIED 522e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_ACCESS_DENIED S_ERROR_ACCESS_DENIED 532e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SST_ERROR_ACCESS_DENIED S_ERROR_ACCESS_DENIED 542e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 552e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 562e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : The pending operation is cancelled. 572e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 582e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_CANCEL ((S_RESULT)0xFFFF0002) 592e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_CANCEL S_ERROR_CANCEL 602e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_CANCEL S_ERROR_CANCEL 612e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 622e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 632e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : The underlying system detects a conflict 642e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 652e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_ACCESS_CONFLICT ((S_RESULT)0xFFFF0003) 662e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_EXCLUSIVE_ACCESS S_ERROR_ACCESS_CONFLICT 672e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_ACCESS_CONFLICT S_ERROR_ACCESS_CONFLICT 682e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SST_ERROR_ACCESS_CONFLICT S_ERROR_ACCESS_CONFLICT 692e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 702e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 712e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : Too much data for the operation or some data remain 722e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * unprocessed by the operation. 732e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 742e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_EXCESS_DATA ((S_RESULT)0xFFFF0004) 752e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_EXCESS_DATA S_ERROR_EXCESS_DATA 762e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_EXCESS_DATA S_ERROR_EXCESS_DATA 772e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 782e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 792e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 802e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : Error of data format 812e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 822e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_BAD_FORMAT ((S_RESULT)0xFFFF0005) 832e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_FORMAT S_ERROR_BAD_FORMAT 842e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_BAD_FORMAT S_ERROR_BAD_FORMAT 852e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 862e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 872e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : The specified parameters are invalid 882e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 892e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_BAD_PARAMETERS ((S_RESULT)0xFFFF0006) 902e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_ILLEGAL_ARGUMENT S_ERROR_BAD_PARAMETERS 912e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_BAD_PARAMETERS S_ERROR_BAD_PARAMETERS 922e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SST_ERROR_BAD_PARAMETERS S_ERROR_BAD_PARAMETERS 932e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 942e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 952e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 962e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : Illegal state for the operation. 972e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 982e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_BAD_STATE ((S_RESULT)0xFFFF0007) 992e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_ILLEGAL_STATE S_ERROR_BAD_STATE 1002e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_BAD_STATE S_ERROR_BAD_STATE 1012e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1022e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1032e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : The item is not found 1042e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1052e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_ITEM_NOT_FOUND ((S_RESULT)0xFFFF0008) 1062e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_ITEM_NOT_FOUND S_ERROR_ITEM_NOT_FOUND 1072e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_ITEM_NOT_FOUND S_ERROR_ITEM_NOT_FOUND 1082e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SST_ERROR_ITEM_NOT_FOUND S_ERROR_ITEM_NOT_FOUND 1092e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1102e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1112e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : The specified operation is not implemented 1122e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1132e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_NOT_IMPLEMENTED ((S_RESULT)0xFFFF0009) 1142e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_NOT_IMPLEMENTED S_ERROR_NOT_IMPLEMENTED 1152e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_NOT_IMPLEMENTED S_ERROR_NOT_IMPLEMENTED 1162e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1172e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1182e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : The specified operation is not supported 1192e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1202e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_NOT_SUPPORTED ((S_RESULT)0xFFFF000A) 1212e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_NOT_SUPPORTED S_ERROR_NOT_SUPPORTED 1222e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_NOT_SUPPORTED S_ERROR_NOT_SUPPORTED 1232e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1242e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1252e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : Insufficient data is available for the operation. 1262e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1272e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_NO_DATA ((S_RESULT)0xFFFF000B) 1282e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_NO_DATA S_ERROR_NO_DATA 1292e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_NO_DATA S_ERROR_NO_DATA 1302e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1312e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1322e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : Not enough memory to perform the operation 1332e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1342e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_OUT_OF_MEMORY ((S_RESULT)0xFFFF000C) 1352e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_OUT_OF_MEMORY S_ERROR_OUT_OF_MEMORY 1362e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_OUT_OF_MEMORY S_ERROR_OUT_OF_MEMORY 1372e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SST_ERROR_OUT_OF_MEMORY S_ERROR_OUT_OF_MEMORY 1382e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1392e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1402e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : The service is currently unable to handle the request; 1412e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * try later 1422e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1432e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_BUSY ((S_RESULT)0xFFFF000D) 1442e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_BUSY S_ERROR_BUSY 1452e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_BUSY S_ERROR_BUSY 1462e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1472e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1482e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : security violation 1492e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1502e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_SECURITY ((S_RESULT)0xFFFF000F) 1512e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_SECURITY S_ERROR_SECURITY 1522e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_SECURITY S_ERROR_SECURITY 1532e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1542e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1552e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : the buffer is too short 1562e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1572e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_SHORT_BUFFER ((S_RESULT)0xFFFF0010) 1582e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_SHORT_BUFFER S_ERROR_SHORT_BUFFER 1592e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_SHORT_BUFFER S_ERROR_SHORT_BUFFER 1602e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1612e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1622e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1632e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : SControl Asynchronous Operations are not supported. 1642e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley */ 1652e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_ASYNC_OPERATIONS_NOT_SUPPORTED ((S_RESULT)0xFFFF0011) 1662e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_ASYNC_OPERATIONS_NOT_SUPPORTED S_ERROR_ASYNC_OPERATIONS_NOT_SUPPORTED 1672e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1682e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1692e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : the number of handles currently created 1702e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * for a specific resource has reached the maximum amount. 1712e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1722e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_NO_MORE_HANDLES ((S_RESULT)0xFFFF0013) 1732e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1742e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1752e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : the monotonic counter is corrupted 1762e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1772e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_CORRUPTED ((S_RESULT)0xFFFF0014) 1782e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1792e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1802e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : the operation is not terminated 1812e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1822e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_PENDING ((S_RESULT)0xFFFF2000) 1832e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1842e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1852e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : A timeout occurred 1862e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1872e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_TIMEOUT ((S_RESULT)0xFFFF3001) 1882e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1892e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1902e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Error code: Error of the underlying OS. 1912e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1922e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_UNDERLYING_OS ((S_RESULT)0xFFFF3002) 1932e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_OS S_ERROR_UNDERLYING_OS 1942e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1952e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 1962e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 1972e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Error code: The operation is cancelled by a signal. 1982e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 1992e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_CANCELLED_BY_SIGNAL ((S_RESULT)0xFFFF3003) 2002e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2012e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2022e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : Overflow 2032e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 2042e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_OVERFLOW ((S_RESULT)0xFFFF300F) 2052e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SST_ERROR_OVERFLOW S_ERROR_OVERFLOW 2062e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2072e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2082e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : The item already exists 2092e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 2102e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_ITEM_EXISTS ((S_RESULT)0xFFFF3012) 2112e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2122e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2132e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : The application reported an error. The code of the 2142e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * applicative error is encoded in the message data. 2152e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley */ 2162e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_SERVICE ((S_RESULT)0xFFFF1000) 2172e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_SERVICE S_ERROR_SERVICE 2182e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2192e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_PENDING ((S_RESULT)0xFFFF2000) 2202e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_PENDING S_PENDING 2212e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2222e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2232e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : Critical error causing the platform to shutdown. 2242e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley */ 2252e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_CRITICAL ((S_RESULT)0xFFFF3010) 2262e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2272e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2282e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic error code : the underlying peripheral is unreachable. 2292e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley */ 2302e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_UNREACHABLE ((S_RESULT)0xFFFF3013) 2312e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2322e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/*------------------------------------------------------------------------------ 2332e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley Communication Error Codes 2342e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley------------------------------------------------------------------------------*/ 2352e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2362e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Generic communication error 2372e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 2382e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_COMMUNICATION ((S_RESULT)0xFFFF000E) 2392e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_COMMUNICATION S_ERROR_COMMUNICATION 2402e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_COMMUNICATION S_ERROR_COMMUNICATION 2412e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2422e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2432e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Error of communication : Error of protocol 2442e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 2452e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_CONNECTION_PROTOCOL ((S_RESULT)0xFFFF3020) 2462e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2472e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2482e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Error of communication : The connection is broken. 2492e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 2502e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_CONNECTION_BROKEN ((S_RESULT)0xFFFF3021) 2512e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2522e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2532e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Error of communication : Error during the connection setup. 2542e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 2552e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_CONNECTION_SETUP ((S_RESULT)0xFFFF3022) 2562e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2572e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2582e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Error of communication : The connection is refused by the distant target. 2592e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 2602e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_CONNECTION_REFUSED ((S_RESULT)0xFFFF3023) 2612e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2622e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2632e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * Error of communication: The target of the connection is dead 2642e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley **/ 2652e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_TARGET_DEAD ((S_RESULT)0xFFFF3024) 2662e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SM_ERROR_TARGET_DEAD S_ERROR_TARGET_DEAD 2672e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define TEEC_ERROR_TARGET_DEAD S_ERROR_TARGET_DEAD 2682e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2692e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2702e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/*------------------------------------------------------------------------------ 2712e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley Storage Error Codes 2722e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley------------------------------------------------------------------------------*/ 2732e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2742e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** File system error code: not enough space to complete the operation. */ 2752e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_STORAGE_NO_SPACE ((S_RESULT)0xFFFF3041) 2762e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SST_ERROR_NO_SPACE 0xFFFF3041 2772e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2782e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2792e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * File system error code: The file system is corrupted. 2802e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley */ 2812e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_STORAGE_CORRUPTED ((S_RESULT)0xFFFF3045) 2822e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define SST_ERROR_CORRUPTED S_ERROR_STORAGE_CORRUPTED 2832e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2842e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/** 2852e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley * File system error code: The file system is unreachable. 2862e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley */ 2872e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_STORAGE_UNREACHABLE ((S_RESULT)0xFFFF3046) 2882e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2892e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/*------------------------------------------------------------------------------ 2902e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley Authentication / X509 error codes 2912e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley------------------------------------------------------------------------------*/ 2922e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_AUTHENTICATION_FAILED ((S_RESULT)0xFFFF3060) 2932e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_WRONG_SIGNATURE ((S_RESULT)0xFFFF3061) 2942e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_BAD_CERTIFICATE ((S_RESULT)0xFFFF3062) 2952e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_WRONG_ISSUER ((S_RESULT)0xFFFF3063) 2962e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_CERTIFICATE_EXPIRED ((S_RESULT)0xFFFF3064) 2972e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 2982e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/*------------------------------------------------------------------------------ 2992e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley Crypto error codes 3002e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley------------------------------------------------------------------------------*/ 3012e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_BAD_KEY ((S_RESULT)0xFFFF3070) 3022e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 3032e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/*------------------------------------------------------------------------------ 3042e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley Indicates the physical memory is in TCM 3052e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley------------------------------------------------------------------------------*/ 3062e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_ARM_MEMORY_IS_TCM ((S_RESULT)0xFFFF3100) 3072e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 3082e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/*------------------------------------------------------------------------------ 3092e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley VM-specific Error Codes 3102e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley------------------------------------------------------------------------------*/ 3112e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_UNCAUGHT_EXCEPTION ((S_RESULT)0xFFFF3080) 3122e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#define S_ERROR_TRUSTED_INTERPRETER ((S_RESULT)0xFFFF3081) 3132e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 3142e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 3152e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley/*------------------------------------------------------------------------------ 3162e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley Range [0xFFFF3200:0xFFFF35FF] is reserved for internal use 3172e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley------------------------------------------------------------------------------*/ 3182e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 3192e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley#endif /* __S_ERROR_H__ */ 3202e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 3212e9e9eca83c3dee85b7815573a8cf1e6d1780741Bryan Buckley 322