tpm2-tss  3.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 "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
22 extern "C" {
23 #endif
24 
25 TSS2_RC
26 iesys_MU_IESYSC_PARAM_ENCRYPT_Marshal(
27  const IESYSC_PARAM_ENCRYPT in,
28  uint8_t *buffer,
29  size_t size,
30  size_t *offset);
31 
32 TSS2_RC
33 iesys_MU_IESYSC_PARAM_ENCRYPT_Unmarshal(
34  const uint8_t *buffer,
35  size_t size,
36  size_t *offset,
38 
39 TSS2_RC
40 iesys_MU_IESYSC_PARAM_ENCRYPT_check(
41  const IESYSC_PARAM_ENCRYPT *in);
42 
43 TSS2_RC
44 iesys_MU_IESYSC_PARAM_DECRYPT_Marshal(
45  const IESYSC_PARAM_DECRYPT in,
46  uint8_t *buffer,
47  size_t size,
48  size_t *offset);
49 
50 TSS2_RC
51 iesys_MU_IESYSC_PARAM_DECRYPT_Unmarshal(
52  const uint8_t *buffer,
53  size_t size,
54  size_t *offset,
56 
57 TSS2_RC
58 iesys_MU_IESYSC_PARAM_DECRYPT_check(
59  const IESYSC_PARAM_DECRYPT *in);
60 
61 TSS2_RC
62 iesys_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 
68 TSS2_RC
69 iesys_MU_IESYSC_TYPE_POLICY_AUTH_Unmarshal(
70  const uint8_t *buffer,
71  size_t size,
72  size_t *offset,
74 
75 TSS2_RC
76 iesys_MU_IESYSC_TYPE_POLICY_AUTH_check(
77  const IESYSC_TYPE_POLICY_AUTH *in);
78 
79 TSS2_RC
80 iesys_MU_IESYS_SESSION_Marshal(
81  const IESYS_SESSION *in,
82  uint8_t *buffer,
83  size_t size,
84  size_t *offset);
85 
86 TSS2_RC
87 iesys_MU_IESYS_SESSION_Unmarshal(const uint8_t *buffer,
88  size_t size,
89  size_t *offset,
90  IESYS_SESSION *out);
91 
92 
93 TSS2_RC
94 iesys_MU_IESYSC_RESOURCE_TYPE_Marshal(
95  const IESYSC_RESOURCE_TYPE in,
96  uint8_t *buffer,
97  size_t size,
98  size_t *offset);
99 
100 TSS2_RC
101 iesys_MU_IESYSC_RESOURCE_TYPE_Unmarshal(
102  const uint8_t *buffer,
103  size_t size,
104  size_t *offset,
105  IESYSC_RESOURCE_TYPE *out);
106 
107 TSS2_RC
108 iesys_MU_IESYSC_RESOURCE_TYPE_check(
109  const IESYSC_RESOURCE_TYPE *in);
110 
111 TSS2_RC
112 iesys_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 
119 TSS2_RC
120 iesys_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 
128 TSS2_RC
129 iesys_MU_IESYS_RESOURCE_Marshal(
130  const IESYS_RESOURCE *in,
131  uint8_t *buffer,
132  size_t size,
133  size_t *offset);
134 
135 TSS2_RC
136 iesys_MU_IESYS_RESOURCE_Unmarshal(const uint8_t *buffer,
137  size_t size,
138  size_t *offset,
139  IESYS_RESOURCE *out);
140 
141 
142 TSS2_RC
143 iesys_MU_IESYS_METADATA_Marshal(
144  const IESYS_METADATA *in,
145  uint8_t *buffer,
146  size_t size,
147  size_t *offset);
148 
149 TSS2_RC
150 iesys_MU_IESYS_METADATA_Unmarshal(const uint8_t *buffer,
151  size_t size,
152  size_t *offset,
153  IESYS_METADATA *out);
154 
155 
156 TSS2_RC
157 iesys_MU_IESYS_CONTEXT_DATA_Marshal(
158  const IESYS_CONTEXT_DATA *in,
159  uint8_t *buffer,
160  size_t size,
161  size_t *offset);
162 
163 TSS2_RC
164 iesys_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 */
UINT32 IESYSC_PARAM_ENCRYPT
Definition: esys_types.h:31
Definition: esys_types.h:95
Definition: esys_types.h:86
UINT32 IESYSC_PARAM_DECRYPT
Definition: esys_types.h:37
Definition: esys_types.h:103
Definition: esys_types.h:77
Definition: esys_types.h:51
UINT32 IESYSC_TYPE_POLICY_AUTH
Definition: esys_types.h:43
UINT32 IESYSC_RESOURCE_TYPE
Definition: esys_types.h:73