Mistake on this page?
Report an issue in GitHub or email us
client.h
1 /* Copyright (c) 2017-2018 ARM Limited
2  *
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #if defined(TARGET_TFM)
19 #include "interface/include/psa_client.h"
20 #elif defined(TARGET_MBED_SPM)
21 #include "TARGET_MBED_SPM/psa_defs.h"
22 #include "TARGET_MBED_SPM/spm_client.h"
23 #else
24 
25 #ifndef __MBED_OS_DEFAULT_PSA_CLIENT_API_H__
26 #define __MBED_OS_DEFAULT_PSA_CLIENT_API_H__
27 
28 #include <stddef.h>
29 #include "psa/error.h"
30 
31 #if !defined(UINT32_MAX)
32 #define UINT32_MAX ((uint32_t)-1)
33 #endif
34 
35 #if !defined(INT32_MIN)
36 #define INT32_MIN (-0x7fffffff - 1)
37 #endif
38 
39 #define PSA_FRAMEWORK_VERSION (0x0100) /**< Version of the PSA Framework API. */
40 #define PSA_VERSION_NONE (0L) /**< Identifier for an unimplemented Root of Trust (RoT) Service. */
41 #define PSA_CONNECTION_REFUSED (INT32_MIN + 1) /**< The return value from psa_connect() if the RoT Service or SPM was unable to establish a connection.*/
42 #define PSA_CONNECTION_BUSY (INT32_MIN + 2) /**< The return value from psa_connect() if the RoT Service rejects the connection for a transient reason.*/
43 #define PSA_DROP_CONNECTION (INT32_MIN) /**< The result code in a call to psa_reply() to indicate a nonrecoverable error in the client.*/
44 #define PSA_NULL_HANDLE ((psa_handle_t)0) /**< Denotes an invalid handle.*/
45 
46 typedef int32_t psa_handle_t;
47 
48 typedef struct psa_invec {
49  const void *base; /**< Starting address of the buffer.*/
50  size_t len; /**< Length in bytes of the buffer.*/
51 } psa_invec;
52 
53 
54 typedef struct psa_outvec {
55  void *base; /**< Starting address of the buffer.*/
56  size_t len; /**< Length in bytes of the buffer.*/
57 } psa_outvec;
58 
59 #endif // __MBED_OS_DEFAULT_PSA_CLIENT_API_H__
60 #endif
size_t len
Length in bytes of the buffer.
Definition: client.h:50
void * base
Starting address of the buffer.
Definition: client.h:55
struct psa_outvec psa_outvec
Structure which describes a scatter-gather output buffer.
const void * base
Starting address of the buffer.
Definition: client.h:49
Structure which describes a scatter-gather output buffer.
Definition: client.h:54
Structure that describes a scatter-gather input buffer.
Definition: client.h:48
size_t len
Length in bytes of the buffer.
Definition: client.h:56
struct psa_invec psa_invec
Structure that describes a scatter-gather input buffer.
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.