blob: 3f901c5bf91221e4f461b9d62f38191cf1960757 [file] [log] [blame]
Jamie Fox598f6d42019-07-01 17:56:37 +01001/*
2 * Copyright (c) 2019, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8/* This file includes common definitions for PSA storage
9*/
10
11#ifndef PSA_STORAGE_COMMON_H
12#define PSA_STORAGE_COMMON_H
13
14#include <stddef.h>
15#include <stdint.h>
16
17#ifdef __cplusplus
18extern "C" {
19#endif
20
21typedef uint32_t psa_storage_create_flags_t;
22
23typedef uint64_t psa_storage_uid_t;
24
25/* Flags */
26
27#define PSA_STORAGE_FLAG_NONE 0u
28#define PSA_STORAGE_FLAG_WRITE_ONCE (1u << 0)
29#define PSA_STORAGE_FLAG_NO_CONFIDENTIALITY (1u << 1)
30#define PSA_STORAGE_FLAG_NO_REPLAY_PROTECTION (1u << 2)
31
32/* A container for metadata associated with a specific uid */
33
34struct psa_storage_info_t {
35 size_t capacity;
36 size_t size;
37 psa_storage_create_flags_t flags;
38};
39
40#define PSA_STORAGE_SUPPORT_SET_EXTENDED (1u << 0)
41
42#define PSA_ERROR_INVALID_SIGNATURE ((psa_status_t)-149)
43#define PSA_ERROR_DATA_CORRUPT ((psa_status_t)-152)
44
45#ifdef __cplusplus
46}
47#endif
48
49#endif // PSA_STORAGE_COMMON_H