Add yaca_ctx_get|set_param prototypes. 04/65604/8
authorMateusz Kulikowski <m.kulikowski@samsung.com>
Mon, 11 Apr 2016 13:51:51 +0000 (15:51 +0200)
committerLukasz Pawelczyk <l.pawelczyk@samsung.com>
Fri, 15 Apr 2016 12:11:30 +0000 (14:11 +0200)
Change-Id: I714a47663e742bc8c3eeb446483eee0a58a8a056
Signed-off-by: Mateusz Kulikowski <m.kulikowski@samsung.com>
src/crypto.c
src/internal.h

index 550abf0..a90d0d9 100644 (file)
@@ -92,13 +92,25 @@ API int yaca_rand_bytes(char *data, size_t data_len)
 API int yaca_ctx_set_param(yaca_ctx_h ctx, yaca_ex_param_e param,
                           const void *value, size_t value_len)
 {
-       return YACA_ERROR_NOT_IMPLEMENTED;
+       if (ctx == YACA_CTX_NULL)
+               return YACA_ERROR_INVALID_ARGUMENT;
+
+       if (ctx->set_param == NULL)
+               return YACA_ERROR_NOT_SUPPORTED;
+
+       return ctx->set_param(ctx, param, value, value_len);
 }
 
 API int yaca_ctx_get_param(const yaca_ctx_h ctx, yaca_ex_param_e param,
                           void **value, size_t *value_len)
 {
-       return YACA_ERROR_NOT_IMPLEMENTED;
+       if (ctx == YACA_CTX_NULL)
+               return YACA_ERROR_INVALID_ARGUMENT;
+
+       if (ctx->get_param == NULL)
+               return YACA_ERROR_NOT_SUPPORTED;
+
+       return ctx->get_param(ctx, param, value, value_len);
 }
 
 API void yaca_ctx_free(yaca_ctx_h ctx)
index 504fb6d..25f0edc 100644 (file)
@@ -46,6 +46,10 @@ struct yaca_ctx_s
 
        void (*ctx_destroy)(const yaca_ctx_h ctx);
        int (*get_output_length)(const yaca_ctx_h ctx, size_t input_len);
+       int (*set_param)(yaca_ctx_h ctx, yaca_ex_param_e param,
+                        const void *value, size_t value_len);
+       int (*get_param)(const yaca_ctx_h ctx, yaca_ex_param_e param,
+                        void **value, size_t *value_len);
 };