Lines Matching refs:params
18 #include <openssl/params.h>
129 static int raw_set_params(void *vobj, const OSSL_PARAM *params)
133 for (; params->key != NULL; params++)
134 if (strcmp(params->key, "p1") == 0) {
135 obj->p1 = *(int *)params->data;
136 } else if (strcmp(params->key, "p2") == 0) {
137 obj->p2 = *(double *)params->data;
138 } else if (strcmp(params->key, "p3") == 0) {
140 if (!TEST_ptr(obj->p3 = BN_native2bn(params->data,
141 params->data_size, NULL)))
143 } else if (strcmp(params->key, "p4") == 0) {
145 if (!TEST_ptr(obj->p4 = OPENSSL_strndup(params->data,
146 params->data_size)))
149 } else if (strcmp(params->key, "p5") == 0) {
155 OPENSSL_strnlen(params->data, params->data_size);
159 strncpy(obj->p5, params->data, data_length);
162 } else if (strcmp(params->key, "p6") == 0) {
163 obj->p6 = *(const char **)params->data;
164 obj->p6_l = params->data_size;
170 static int raw_get_params(void *vobj, OSSL_PARAM *params)
174 for (; params->key != NULL; params++)
175 if (strcmp(params->key, "p1") == 0) {
176 params->return_size = sizeof(obj->p1);
177 *(int *)params->data = obj->p1;
178 } else if (strcmp(params->key, "p2") == 0) {
179 params->return_size = sizeof(obj->p2);
180 *(double *)params->data = obj->p2;
181 } else if (strcmp(params->key, "p3") == 0) {
182 params->return_size = BN_num_bytes(obj->p3);
183 if (!TEST_size_t_ge(params->data_size, params->return_size))
185 BN_bn2nativepad(obj->p3, params->data, params->return_size);
186 } else if (strcmp(params->key, "p4") == 0) {
187 params->return_size = strlen(obj->p4);
188 if (!TEST_size_t_gt(params->data_size, params->return_size))
190 strcpy(params->data, obj->p4);
191 } else if (strcmp(params->key, "p5") == 0) {
192 params->return_size = strlen(obj->p5);
193 if (!TEST_size_t_gt(params->data_size, params->return_size))
195 strcpy(params->data, obj->p5);
196 } else if (strcmp(params->key, "p6") == 0) {
197 params->return_size = strlen(obj->p6);
198 *(const char **)params->data = obj->p6;
205 * API provider, which handles the parameters using the API from params.h
208 static int api_set_params(void *vobj, const OSSL_PARAM *params)
213 if ((p = OSSL_PARAM_locate_const(params, "p1")) != NULL
216 if ((p = OSSL_PARAM_locate_const(params, "p2")) != NULL
219 if ((p = OSSL_PARAM_locate_const(params, "p3")) != NULL
222 if ((p = OSSL_PARAM_locate_const(params, "p4")) != NULL) {
229 if ((p = OSSL_PARAM_locate_const(params, "p5")) != NULL) {
235 if ((p = OSSL_PARAM_locate_const(params, "p6")) != NULL) {
244 static int api_get_params(void *vobj, OSSL_PARAM *params)
249 if ((p = OSSL_PARAM_locate(params, "p1")) != NULL
252 if ((p = OSSL_PARAM_locate(params, "p2")) != NULL
255 if ((p = OSSL_PARAM_locate(params, "p3")) != NULL
258 if ((p = OSSL_PARAM_locate(params, "p4")) != NULL
261 if ((p = OSSL_PARAM_locate(params, "p5")) != NULL
264 if ((p = OSSL_PARAM_locate(params, "p6")) != NULL
276 int (*set_params)(void *obj, const OSSL_PARAM *params);
277 int (*get_params)(void *obj, OSSL_PARAM *params);
363 /* The same array of OSSL_PARAM, specified with the macros from params.h */
383 static OSSL_PARAM params[10];
385 params[n++] = OSSL_PARAM_construct_int("p1", &app_p1);
386 params[n++] = OSSL_PARAM_construct_BN("p3", bignumbin, sizeof(bignumbin));
387 params[n++] = OSSL_PARAM_construct_utf8_string("p4", app_p4,
389 params[n++] = OSSL_PARAM_construct_utf8_string("p5", app_p5,
392 params[n++] = OSSL_PARAM_construct_utf8_ptr("p6", (char **)&app_p6,
394 params[n++] = OSSL_PARAM_construct_octet_string("foo", &foo, sizeof(foo));
395 params[n++] = OSSL_PARAM_construct_end();
397 return params;
427 { &provider_raw, &raw_params, "raw provider vs raw params" },
428 { &provider_api, &api_params, "api provider vs api params" },
431 { &provider_raw, &api_params, "raw provider vs api params" },
432 { &provider_api, &raw_params, "api provider vs raw params" },
435 /* Generic tester of combinations of "providers" and params */
436 static int test_case_variant(OSSL_PARAM *params, const struct provider_dispatch_st *prov)
458 if (!TEST_true(prov->get_params(obj, params))
461 || !TEST_ptr(p = OSSL_PARAM_locate(params, "p3"))
465 || !TEST_ptr(p = OSSL_PARAM_locate(params, "p5"))
469 || !TEST_ptr(p = OSSL_PARAM_locate(params, "p6"))
474 || !TEST_ptr(p = OSSL_PARAM_locate(params, "foo")))
483 if (!TEST_true(prov->set_params(obj, params))) {
509 if (!TEST_true(prov->get_params(obj, params))
512 || !TEST_ptr(p = OSSL_PARAM_locate(params, "p3"))
516 || !TEST_ptr(p = OSSL_PARAM_locate(params, "p5"))
520 || !TEST_ptr(p = OSSL_PARAM_locate(params, "p6"))
525 || !TEST_ptr(p = OSSL_PARAM_locate(params, "foo")))