summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShawn Willden <swillden@google.com>2015-06-01 11:32:35 -0600
committerShawn Willden <swillden@google.com>2015-06-01 14:52:54 -0600
commit024a15265c6504b3f7b9d180bfe05ba7ba0161ee (patch)
tree9b75cfac6fae105b7fba6f0eea611d047e079db6
parentbbbcd516a3b01c288c073ec4fc86ddd9a6115520 (diff)
downloadhardware_libhardware-024a15265c6504b3f7b9d180bfe05ba7ba0161ee.zip
hardware_libhardware-024a15265c6504b3f7b9d180bfe05ba7ba0161ee.tar.gz
hardware_libhardware-024a15265c6504b3f7b9d180bfe05ba7ba0161ee.tar.bz2
Add output params to update() and finish().
Also, change signatures of several methods to pass structs rather than array pointers and lengths. Change-Id: Iaa1be186ebbd444202c47926ab57ac65d57416d7
-rw-r--r--include/hardware/keymaster1.h31
1 files changed, 16 insertions, 15 deletions
diff --git a/include/hardware/keymaster1.h b/include/hardware/keymaster1.h
index 1d017fd..77243af 100644
--- a/include/hardware/keymaster1.h
+++ b/include/hardware/keymaster1.h
@@ -298,7 +298,7 @@ struct keymaster1_device {
* KM_TAG_APPLICATION_DATA are never returned.
*/
keymaster_error_t (*generate_key)(const struct keymaster1_device* dev,
- const keymaster_key_param_t* params, size_t params_count,
+ const keymaster_key_param_set_t* params,
keymaster_key_blob_t* key_blob,
keymaster_key_characteristics_t** characteristics);
@@ -381,9 +381,10 @@ struct keymaster1_device {
* ownership and must deallocate with keymaster_free_characteristics().
*/
keymaster_error_t (*import_key)(const struct keymaster1_device* dev,
- const keymaster_key_param_t* params, size_t params_count,
- keymaster_key_format_t key_format, const uint8_t* key_data,
- size_t key_data_length, keymaster_key_blob_t* key_blob,
+ const keymaster_key_param_set_t* params,
+ keymaster_key_format_t key_format,
+ const keymaster_blob_t* key_data,
+ keymaster_key_blob_t* key_blob,
keymaster_key_characteristics_t** characteristics);
/**
@@ -403,8 +404,8 @@ struct keymaster1_device {
keymaster_key_format_t export_format,
const keymaster_key_blob_t* key_to_export,
const keymaster_blob_t* client_id,
- const keymaster_blob_t* app_data, uint8_t** export_data,
- size_t* export_data_length);
+ const keymaster_blob_t* app_data,
+ keymaster_blob_t* export_data);
/**
* Deletes the key, or key pair, associated with the key blob. After calling this function it
@@ -471,9 +472,9 @@ struct keymaster1_device {
* update(), finish() or abort().
*/
keymaster_error_t (*begin)(const struct keymaster1_device* dev, keymaster_purpose_t purpose,
- const keymaster_key_blob_t* key, const keymaster_key_param_t* params,
- size_t params_count, keymaster_key_param_t** out_params,
- size_t* out_params_count,
+ const keymaster_key_blob_t* key,
+ const keymaster_key_param_set_t* in_params,
+ keymaster_key_param_set_t* out_params,
keymaster_operation_handle_t* operation_handle);
/**
@@ -516,9 +517,9 @@ struct keymaster1_device {
*/
keymaster_error_t (*update)(const struct keymaster1_device* dev,
keymaster_operation_handle_t operation_handle,
- const keymaster_key_param_t* params, size_t params_count,
- const uint8_t* input, size_t input_length, size_t* input_consumed,
- uint8_t** output, size_t* output_length);
+ const keymaster_key_param_set_t* in_params,
+ const keymaster_blob_t* input, size_t* input_consumed,
+ keymaster_key_param_set_t* out_params, keymaster_blob_t* output);
/**
* Finalizes a cryptographic operation begun with begin() and invalidates operation_handle
@@ -549,9 +550,9 @@ struct keymaster1_device {
*/
keymaster_error_t (*finish)(const struct keymaster1_device* dev,
keymaster_operation_handle_t operation_handle,
- const keymaster_key_param_t* params, size_t params_count,
- const uint8_t* signature, size_t signature_length, uint8_t** output,
- size_t* output_length);
+ const keymaster_key_param_set_t* in_params,
+ const keymaster_blob_t* signature,
+ keymaster_key_param_set_t* out_params, keymaster_blob_t* output);
/**
* Aborts a cryptographic operation begun with begin(), freeing all internal resources and