From b05cb51b0605fb7c614e8a78ef03b79eeb06c85a Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Thu, 21 Mar 2013 16:11:21 -0400 Subject: mini-os/tpmback: Replace UUID field with opaque pointer Instead of only recording the UUID field, which may not be of interest to all tpmback implementations, provide a user-settable opaque pointer associated with the tpmback instance. Signed-off-by: Daniel De Graaf --- extras/mini-os/include/tpmback.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'extras/mini-os/include') diff --git a/extras/mini-os/include/tpmback.h b/extras/mini-os/include/tpmback.h index 3c11c347a3..a6cbbf1791 100644 --- a/extras/mini-os/include/tpmback.h +++ b/extras/mini-os/include/tpmback.h @@ -45,10 +45,10 @@ struct tpmcmd { domid_t domid; /* Domid of the frontend */ uint8_t locality; /* Locality requested by the frontend */ unsigned int handle; /* Handle of the frontend */ - unsigned char uuid[16]; /* uuid of the tpm interface */ + void *opaque; /* Opaque pointer taken from the tpmback instance */ - unsigned int req_len; /* Size of the command in buf - set by tpmback driver */ uint8_t* req; /* tpm command bits, allocated by driver, DON'T FREE IT */ + unsigned int req_len; /* Size of the command in buf - set by tpmback driver */ unsigned int resp_len; /* Size of the outgoing command, you set this before passing the cmd object to tpmback_resp */ uint8_t* resp; /* Buffer for response - YOU MUST ALLOCATE IT, YOU MUST ALSO FREE IT */ @@ -94,4 +94,9 @@ int tpmback_num_frontends(void); * The return value is internally allocated, so don't free it */ unsigned char* tpmback_get_uuid(domid_t domid, unsigned int handle); +/* Get and set the opaque pointer for a tpmback instance */ +void* tpmback_get_opaque(domid_t domid, unsigned int handle); +/* Returns zero if successful, nonzero on failure (no such frontend) */ +int tpmback_set_opaque(domid_t domid, unsigned int handle, void* opaque); + #endif -- cgit v1.2.3