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