summaryrefslogtreecommitdiffstats
path: root/userspace/ncrypto_session.c
diff options
context:
space:
mode:
Diffstat (limited to 'userspace/ncrypto_session.c')
-rw-r--r--userspace/ncrypto_session.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/userspace/ncrypto_session.c b/userspace/ncrypto_session.c
index b8f5b67..9f6d317 100644
--- a/userspace/ncrypto_session.c
+++ b/userspace/ncrypto_session.c
@@ -104,7 +104,7 @@ ncr_session_init(ncr_session_t *session, ncr_key_t key, ncr_key_params_t params,
}
int
-ncr_session_update_key_data(ncr_session_t session, ncr_key_t input)
+ncr_session_update_key_data(ncr_session_t session, ncr_key_t input, void *output, size_t output_size)
{
struct ncr_session_op_st io;
memset(&io, 0, sizeof(io));
@@ -116,6 +116,8 @@ ncr_session_update_key_data(ncr_session_t session, ncr_key_t input)
io.ses = session;
io.data.kdata.input = input;
+ io.data.kdata.output = output;
+ io.data.kdata.output_size = output_size;
io.type = NCR_KEY_DATA;
if (__ncr_file_descriptor < 0) {
@@ -126,11 +128,11 @@ ncr_session_update_key_data(ncr_session_t session, ncr_key_t input)
if (ioctl(__ncr_file_descriptor, NCRIO_SESSION_UPDATE, &io) < 0)
return -1;
- return 0;
+ return io.data.kdata.output_size;
}
int
-ncr_session_update_direct_data(ncr_session_t session, void *input, size_t input_size)
+ncr_session_update_direct_data(ncr_session_t session, void *input, size_t input_size, void *output, size_t output_size)
{
struct ncr_session_op_st io;
memset(&io, 0, sizeof(io));
@@ -143,6 +145,8 @@ ncr_session_update_direct_data(ncr_session_t session, void *input, size_t input_
io.ses = session;
io.data.udata.input = input;
io.data.udata.input_size = input_size;
+ io.data.udata.output = output;
+ io.data.udata.output_size = output_size;
io.type = NCR_DIRECT_DATA;
if (__ncr_file_descriptor < 0) {
@@ -153,7 +157,7 @@ ncr_session_update_direct_data(ncr_session_t session, void *input, size_t input_
if (ioctl(__ncr_file_descriptor, NCRIO_SESSION_UPDATE, &io) < 0)
return -1;
- return 0;
+ return io.data.udata.output_size;
}
int