tpm2-tss 4.2.0
TPM Software stack 2.0 TCG spec compliant implementation
esys_mu.h
1/* SPDX-License-Identifier: BSD-2-Clause */
2/*******************************************************************************
3 * Copyright 2017-2018, Fraunhofer SIT sponsored by Infineon Technologies AG
4 * All rights reserved.
5 ******************************************************************************/
6#ifndef ESYS_MU_H
7#define ESYS_MU_H
8
9#include <stddef.h> // for size_t
10#include <stdint.h> // for uint8_t
11
12#include "esys_types.h" // for IESYSC_PARAM_DECRYPT, IESYSC_PARAM_ENCRYPT
13#include "tss2_common.h" // for TSS2_RC, UINT32
14
15#ifndef FALSE
16#define FALSE 0
17#endif
18#ifndef TRUE
19#define TRUE 1
20#endif
21#define ESYS_MAX_SIZE_METADATA 3072
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27TSS2_RC
28iesys_MU_IESYSC_PARAM_ENCRYPT_Marshal(const IESYSC_PARAM_ENCRYPT in,
29 uint8_t *buffer,
30 size_t size,
31 size_t *offset);
32
33TSS2_RC
34iesys_MU_IESYSC_PARAM_ENCRYPT_Unmarshal(const uint8_t *buffer,
35 size_t size,
36 size_t *offset,
38
39TSS2_RC
40iesys_MU_IESYSC_PARAM_ENCRYPT_check(const IESYSC_PARAM_ENCRYPT *in);
41
42TSS2_RC
43iesys_MU_IESYSC_PARAM_DECRYPT_Marshal(const IESYSC_PARAM_DECRYPT in,
44 uint8_t *buffer,
45 size_t size,
46 size_t *offset);
47
48TSS2_RC
49iesys_MU_IESYSC_PARAM_DECRYPT_Unmarshal(const uint8_t *buffer,
50 size_t size,
51 size_t *offset,
53
54TSS2_RC
55iesys_MU_IESYSC_PARAM_DECRYPT_check(const IESYSC_PARAM_DECRYPT *in);
56
57TSS2_RC
58iesys_MU_IESYSC_TYPE_POLICY_AUTH_Marshal(const IESYSC_TYPE_POLICY_AUTH in,
59 uint8_t *buffer,
60 size_t size,
61 size_t *offset);
62
63TSS2_RC
64iesys_MU_IESYSC_TYPE_POLICY_AUTH_Unmarshal(const uint8_t *buffer,
65 size_t size,
66 size_t *offset,
68
69TSS2_RC
70iesys_MU_IESYSC_TYPE_POLICY_AUTH_check(const IESYSC_TYPE_POLICY_AUTH *in);
71
72TSS2_RC
73iesys_MU_IESYS_SESSION_Marshal(const IESYS_SESSION *in,
74 uint8_t *buffer,
75 size_t size,
76 size_t *offset);
77
78TSS2_RC
79iesys_MU_IESYS_SESSION_Unmarshal(const uint8_t *buffer,
80 size_t size,
81 size_t *offset,
82 IESYS_SESSION *out);
83
84TSS2_RC
85iesys_MU_IESYSC_RESOURCE_TYPE_Marshal(const IESYSC_RESOURCE_TYPE in,
86 uint8_t *buffer,
87 size_t size,
88 size_t *offset);
89
90TSS2_RC
91iesys_MU_IESYSC_RESOURCE_TYPE_Unmarshal(const uint8_t *buffer,
92 size_t size,
93 size_t *offset,
95
96TSS2_RC
97iesys_MU_IESYSC_RESOURCE_TYPE_check(const IESYSC_RESOURCE_TYPE *in);
98
99TSS2_RC
100iesys_MU_IESYS_RSRC_UNION_Marshal(const IESYS_RSRC_UNION *in,
101 UINT32 selector,
102 uint8_t *buffer,
103 size_t size,
104 size_t *offset);
105
106TSS2_RC
107iesys_MU_IESYS_RSRC_UNION_Unmarshal(const uint8_t *buffer,
108 size_t size,
109 size_t *offset,
110 UINT32 selector,
111 IESYS_RSRC_UNION *out);
112
113TSS2_RC
114iesys_MU_IESYS_RESOURCE_Marshal(const IESYS_RESOURCE *in,
115 uint8_t *buffer,
116 size_t size,
117 size_t *offset);
118
119TSS2_RC
120iesys_MU_IESYS_RESOURCE_Unmarshal(const uint8_t *buffer,
121 size_t size,
122 size_t *offset,
123 IESYS_RESOURCE *out);
124
125TSS2_RC
126iesys_MU_IESYS_METADATA_Marshal(const IESYS_METADATA *in,
127 uint8_t *buffer,
128 size_t size,
129 size_t *offset);
130
131TSS2_RC
132iesys_MU_IESYS_METADATA_Unmarshal(const uint8_t *buffer,
133 size_t size,
134 size_t *offset,
135 IESYS_METADATA *out);
136
137TSS2_RC
138iesys_MU_IESYS_CONTEXT_DATA_Marshal(const IESYS_CONTEXT_DATA *in,
139 uint8_t *buffer,
140 size_t size,
141 size_t *offset);
142
143TSS2_RC
144iesys_MU_IESYS_CONTEXT_DATA_Unmarshal(const uint8_t *buffer,
145 size_t size,
146 size_t *offset,
147 IESYS_CONTEXT_DATA *out);
148
149#ifdef __cplusplus
150}
151#endif
152
153#endif /* ESYS_MU_H */
UINT32 IESYSC_TYPE_POLICY_AUTH
Definition esys_types.h:44
UINT32 IESYSC_PARAM_ENCRYPT
Definition esys_types.h:32
UINT32 IESYSC_PARAM_DECRYPT
Definition esys_types.h:38
UINT32 IESYSC_RESOURCE_TYPE
Definition esys_types.h:74
Definition esys_types.h:104
Definition esys_types.h:96
Definition esys_types.h:87
Definition esys_types.h:51
Definition esys_types.h:78