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, 37 IESYSC_PARAM_ENCRYPT *out); 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, 55 IESYSC_PARAM_DECRYPT *out); 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, 73 IESYSC_TYPE_POLICY_AUTH *out); 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 */ 175