aboutsummaryrefslogtreecommitdiffstats
path: root/src/libpts/pts/pts_database.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libpts/pts/pts_database.h')
-rw-r--r--src/libpts/pts/pts_database.h34
1 files changed, 23 insertions, 11 deletions
diff --git a/src/libpts/pts/pts_database.h b/src/libpts/pts/pts_database.h
index 3ed0b5bd5..61c00a1e9 100644
--- a/src/libpts/pts/pts_database.h
+++ b/src/libpts/pts/pts_database.h
@@ -52,15 +52,6 @@ struct pts_database_t {
char *product);
/**
- * Get functional components to request evidence of
- *
- * @param product Software product (os, vpn client, etc.)
- * @return Enumerator over all matching components
- */
- enumerator_t* (*create_comp_evid_enumerator)(pts_database_t *this,
- char *product);
-
- /**
* Get stored measurement hash for single file or directory entries
*
* @param product Software product (os, vpn client, etc.)
@@ -74,21 +65,42 @@ struct pts_database_t {
int id, bool is_dir);
/**
+ * Get functional components to request evidence of
+ *
+ * @param keyid SHA-1 hash of AIK public key info
+ * @return Enumerator over all matching components
+ */
+ enumerator_t* (*create_comp_evid_enumerator)(pts_database_t *this,
+ chunk_t keyid);
+
+ /**
* Check a functional component measurement against value stored in database
*
* @param measurement measurement hash
* @param comp_name Component Functional Name
- * @param product Software product (os, vpn client, etc.)
+ * @param keyid SHA-1 hash of AIK public key info
* @param seq_no Measurement sequence number
* @param prc Number of the PCR the measurement was extended into
* @param algo Hash algorithm used for measurement
* @return return code
*/
status_t (*check_comp_measurement)(pts_database_t *this, chunk_t measurement,
- pts_comp_func_name_t *comp_name, char *product,
+ pts_comp_func_name_t *comp_name, chunk_t keyid,
int seq_no, int pcr, pts_meas_algorithms_t algo);
/**
+ * Get the number of measurements for a functional component and AIK
+ *
+ * @param comp_name Component Functional Name
+ * @param keyid SHA-1 hash of AIK public key info
+ * @param algo Hash algorithm used for measurement
+ * @return measurement count
+ */
+ bool (*get_comp_measurement_count)(pts_database_t *this,
+ pts_comp_func_name_t *comp_name, chunk_t keyid,
+ pts_meas_algorithms_t algo, int *count);
+
+ /**
* Destroys a pts_database_t object.
*/
void (*destroy)(pts_database_t *this);