aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/tss2/tss2_esys.h5
-rw-r--r--lib/tss2-esys.def3
-rw-r--r--lib/tss2-esys.map1
-rw-r--r--src/tss2-esys/esys_context.c19
4 files changed, 27 insertions, 1 deletions
diff --git a/include/tss2/tss2_esys.h b/include/tss2/tss2_esys.h
index 880b829d..e70222e9 100644
--- a/include/tss2/tss2_esys.h
+++ b/include/tss2/tss2_esys.h
@@ -3228,6 +3228,11 @@ void
Esys_Free(
void *__ptr);
+TSS2_RC
+Esys_GetSysContext(
+ ESYS_CONTEXT *esys_context,
+ TSS2_SYS_CONTEXT **sys_context);
+
#ifdef __cplusplus
}
#endif
diff --git a/lib/tss2-esys.def b/lib/tss2-esys.def
index ab54aec8..f39a4e7d 100644
--- a/lib/tss2-esys.def
+++ b/lib/tss2-esys.def
@@ -112,6 +112,7 @@ EXPORTS
Esys_GetTime
Esys_GetTime_Async
Esys_GetTime_Finish
+ Esys_GetSysContext
Esys_HMAC
Esys_HMAC_Async
Esys_HMAC_Finish
@@ -352,4 +353,4 @@ EXPORTS
Esys_VerifySignature_Finish
Esys_ZGen_2Phase
Esys_ZGen_2Phase_Async
- Esys_ZGen_2Phase_Finish \ No newline at end of file
+ Esys_ZGen_2Phase_Finish
diff --git a/lib/tss2-esys.map b/lib/tss2-esys.map
index 2c2f8e23..e800833b 100644
--- a/lib/tss2-esys.map
+++ b/lib/tss2-esys.map
@@ -110,6 +110,7 @@
Esys_GetTime;
Esys_GetTime_Async;
Esys_GetTime_Finish;
+ Esys_GetSysContext;
Esys_Hash;
Esys_Hash_Async;
Esys_Hash_Finish;
diff --git a/src/tss2-esys/esys_context.c b/src/tss2-esys/esys_context.c
index b912a688..e16fd42f 100644
--- a/src/tss2-esys/esys_context.c
+++ b/src/tss2-esys/esys_context.c
@@ -219,3 +219,22 @@ Esys_SetTimeout(ESYS_CONTEXT * esys_context, int32_t timeout)
esys_context->timeout = timeout;
return TSS2_RC_SUCCESS;
}
+
+/** Helper function that returns sys contest from the give esys context.
+ *
+ * Function returns sys contest from the give esys context.
+ * @param esys_context [in] ESYS context.
+ * @param sys_context [out] SYS context.
+ * @retval TSS2_RC_SUCCESS on Success.
+ * @retval TSS2_ESYS_RC_BAD_REFERENCE if esys_context of sys_context are NULL.
+ */
+TSS2_RC
+Esys_GetSysContext(ESYS_CONTEXT *esys_context, TSS2_SYS_CONTEXT **sys_context)
+{
+ if (esys_context == NULL || sys_context == NULL)
+ return TSS2_ESYS_RC_BAD_REFERENCE;
+
+ *sys_context = esys_context->sys;
+
+ return TSS2_RC_SUCCESS;
+}