}
OSSL_PARAM OSSL_PARAM_construct_utf8_ptr(const char *key, char **buf,
- size_t *rsize)
+ size_t bsize, size_t *rsize)
{
- return ossl_param_construct(key, OSSL_PARAM_UTF8_PTR, buf, 0, rsize);
+ return ossl_param_construct(key, OSSL_PARAM_UTF8_PTR, buf, bsize, rsize);
}
OSSL_PARAM OSSL_PARAM_construct_octet_ptr(const char *key, void **buf,
- size_t *rsize)
+ size_t bsize, size_t *rsize)
{
- return ossl_param_construct(key, OSSL_PARAM_OCTET_PTR, buf, 0, rsize);
+ return ossl_param_construct(key, OSSL_PARAM_OCTET_PTR, buf, bsize, rsize);
}
OSSL_PARAM OSSL_PARAM_construct_end(void)
OSSL_PARAM OSSL_PARAM_construct_octet_string(const char *key, void *buf,
size_t bsize, size_t *rsize);
OSSL_PARAM OSSL_PARAM_construct_utf8_ptr(const char *key, char **buf,
- size_t *rsize);
+ size_t bsize, size_t *rsize);
OSSL_PARAM OSSL_PARAM_construct_octet_ptr(const char *key, void **buf,
- size_t *rsize);
+ size_t bsize, size_t *rsize);
OSSL_PARAM OSSL_PARAM_construct_end(void);
OSSL_PARAM *OSSL_PARAM_locate(OSSL_PARAM *array, const char *key);
OSSL_PARAM_construct_utf8_ptr() is a function that constructes a UTF string
pointer OSSL_PARAM structure.
-A parameter with name B<key>, storage pointer B<*buf> and return size B<rsize>
-is created.
+A parameter with name B<key>, storage pointer B<*buf>, size B<bsize> and
+return size B<rsize> is created.
OSSL_PARAM_construct_octet_ptr() is a function that constructes an OCTET string
pointer OSSL_PARAM structure.
-A parameter with name B<key>, storage pointer B<*buf> and return size B<rsize>
-is created.
+A parameter with name B<key>, storage pointer B<*buf>, size B<bsize> and
+return size B<rsize> is created.
OSSL_PARAM_construct_end() is a function that constructs the terminating
OSSL_PARAM structure.
Apart from that, the functions must be used appropriately for the
expected type of the parameter.
+For OSSL_PARAM_get_utf8_ptr() and OSSL_PARAM_get_octet_ptr(), B<bsize>
+is not relevant if the purpose is to send the B<OSSL_PARAM> array to a
+I<responder>, i.e. to get parameter data back.
+In that case, B<bsize> can safely be given zero.
+See L<OSSL_PARAM(3)/DESCRIPTION> for further information on the
+possible purposes.
+
=head1 EXAMPLES
Reusing the examples from L<OSSL_PARAM(3)> to just show how
OSSL_PARAM OSSL_PARAM_construct_utf8_string(const char *key, char *buf,
size_t bsize, size_t *rsize);
OSSL_PARAM OSSL_PARAM_construct_utf8_ptr(const char *key, char **buf,
- size_t *rsize);
+ size_t bsize, size_t *rsize);
OSSL_PARAM OSSL_PARAM_construct_octet_string(const char *key, void *buf,
size_t bsize, size_t *rsize);
OSSL_PARAM OSSL_PARAM_construct_octet_ptr(const char *key, void **buf,
- size_t *rsize);
+ size_t bsize, size_t *rsize);
OSSL_PARAM OSSL_PARAM_construct_end(void);
int OSSL_PARAM_get_int(const OSSL_PARAM *p, int *val);
&sz);
params[n++] = OSSL_PARAM_construct_octet_string("octstr", buf, sizeof(buf),
&sz);
- params[n++] = OSSL_PARAM_construct_utf8_ptr("utf8ptr", &bufp, &sz);
- params[n++] = OSSL_PARAM_construct_octet_ptr("octptr", &vp, &sz);
+ params[n++] = OSSL_PARAM_construct_utf8_ptr("utf8ptr", &bufp, 0, &sz);
+ params[n++] = OSSL_PARAM_construct_octet_ptr("octptr", &vp, 0, &sz);
params[n] = OSSL_PARAM_construct_end();
/* Search failure */
params[n++] = OSSL_PARAM_construct_utf8_string("p5", app_p5,
sizeof(app_p5), &app_p5_l);
params[n++] = OSSL_PARAM_construct_utf8_ptr("p6", (char **)&app_p6,
- &app_p6_l);
+ sizeof(app_p6), &app_p6_l);
params[n++] = OSSL_PARAM_construct_octet_string("foo", &foo, sizeof(foo),
&foo_l);
params[n++] = OSSL_PARAM_construct_end();