tpm2-tss 4.1.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 "tss2_mu.h"
10
11#include "esys_types.h"
12
13#ifndef FALSE
14#define FALSE 0
15#endif
16#ifndef TRUE
17#define TRUE 1
18#endif
19#define ESYS_MAX_SIZE_METADATA 3072
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25TSS2_RC
26iesys_MU_IESYSC_PARAM_ENCRYPT_Marshal(
27 const IESYSC_PARAM_ENCRYPT in,
28 uint8_t *buffer,
29 size_t size,
30 size_t *offset);
31
32TSS2_RC
33iesys_MU_IESYSC_PARAM_ENCRYPT_Unmarshal(
34 const uint8_t *buffer,
35 size_t size,
36 size_t *offset,
37 IESYSC_PARAM_ENCRYPT *out);
38
39TSS2_RC
40iesys_MU_IESYSC_PARAM_ENCRYPT_check(
41 const IESYSC_PARAM_ENCRYPT *in);
42
43TSS2_RC
44iesys_MU_IESYSC_PARAM_DECRYPT_Marshal(
45 const IESYSC_PARAM_DECRYPT in,
46 uint8_t *buffer,
47 size_t size,
48 size_t *offset);
49
50TSS2_RC
51iesys_MU_IESYSC_PARAM_DECRYPT_Unmarshal(
52 const uint8_t *buffer,
53 size_t size,
54 size_t *offset,
55 IESYSC_PARAM_DECRYPT *out);
56
57TSS2_RC
58iesys_MU_IESYSC_PARAM_DECRYPT_check(
59 const IESYSC_PARAM_DECRYPT *in);
60
61TSS2_RC
62iesys_MU_IESYSC_TYPE_POLICY_AUTH_Marshal(
63 const IESYSC_TYPE_POLICY_AUTH in,
64 uint8_t *buffer,
65 size_t size,
66 size_t *offset);
67
68TSS2_RC
69iesys_MU_IESYSC_TYPE_POLICY_AUTH_Unmarshal(
70 const uint8_t *buffer,
71 size_t size,
72 size_t *offset,
73 IESYSC_TYPE_POLICY_AUTH *out);
74
75TSS2_RC
76iesys_MU_IESYSC_TYPE_POLICY_AUTH_check(
77 const IESYSC_TYPE_POLICY_AUTH *in);
78
79TSS2_RC
80iesys_MU_IESYS_SESSION_Marshal(
81 const IESYS_SESSION *in,
82 uint8_t *buffer,
83 size_t size,
84 size_t *offset);
85
86TSS2_RC
87iesys_MU_IESYS_SESSION_Unmarshal(const uint8_t *buffer,
88 size_t size,
89 size_t *offset,
90 IESYS_SESSION *out);
91
92
93TSS2_RC
94iesys_MU_IESYSC_RESOURCE_TYPE_Marshal(
95 const IESYSC_RESOURCE_TYPE in,
96 uint8_t *buffer,
97 size_t size,
98 size_t *offset);
99
100TSS2_RC
101iesys_MU_IESYSC_RESOURCE_TYPE_Unmarshal(
102 const uint8_t *buffer,
103 size_t size,
104 size_t *offset,
105 IESYSC_RESOURCE_TYPE *out);
106
107TSS2_RC
108iesys_MU_IESYSC_RESOURCE_TYPE_check(
109 const IESYSC_RESOURCE_TYPE *in);
110
111TSS2_RC
112iesys_MU_IESYS_RSRC_UNION_Marshal(
113 const IESYS_RSRC_UNION *in,
114 UINT32 selector,
115 uint8_t *buffer,
116 size_t size,
117 size_t *offset);
118
119TSS2_RC
120iesys_MU_IESYS_RSRC_UNION_Unmarshal(
121 const uint8_t *buffer,
122 size_t size,
123 size_t *offset,
124 UINT32 selector,
125 IESYS_RSRC_UNION *out);
126
127
128TSS2_RC
129iesys_MU_IESYS_RESOURCE_Marshal(
130 const IESYS_RESOURCE *in,
131 uint8_t *buffer,
132 size_t size,
133 size_t *offset);
134
135TSS2_RC
136iesys_MU_IESYS_RESOURCE_Unmarshal(const uint8_t *buffer,
137 size_t size,
138 size_t *offset,
139 IESYS_RESOURCE *out);
140
141
142TSS2_RC
143iesys_MU_IESYS_METADATA_Marshal(
144 const IESYS_METADATA *in,
145 uint8_t *buffer,
146 size_t size,
147 size_t *offset);
148
149TSS2_RC
150iesys_MU_IESYS_METADATA_Unmarshal(const uint8_t *buffer,
151 size_t size,
152 size_t *offset,
153 IESYS_METADATA *out);
154
155
156TSS2_RC
157iesys_MU_IESYS_CONTEXT_DATA_Marshal(
158 const IESYS_CONTEXT_DATA *in,
159 uint8_t *buffer,
160 size_t size,
161 size_t *offset);
162
163TSS2_RC
164iesys_MU_IESYS_CONTEXT_DATA_Unmarshal(const uint8_t *buffer,
165 size_t size,
166 size_t *offset,
167 IESYS_CONTEXT_DATA *out);
168
169
170#ifdef __cplusplus
171}
172#endif
173
174#endif /* ESYS_MU_H */
Definition esys_types.h:103
Definition esys_types.h:95
Definition esys_types.h:86
Definition esys_types.h:51
Definition esys_types.h:77