2 * Copyright 2023 The OpenSSL Project Authors. All Rights Reserved.
4 * Licensed under the Apache License 2.0 (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
11 #include <openssl/params.h>
14 * Extract the parameter into an allocated buffer.
15 * Any existing allocation in *out is cleared and freed.
17 * Returns 1 on success, 0 on failure and -1 if there are no matching params.
19 * *out and *out_len are guaranteed to be untouched if this function
20 * doesn't return success.
22 int ossl_param_get1_octet_string(const OSSL_PARAM *params, const char *name,
23 unsigned char **out, size_t *out_len);
25 * Concatenate all of the matching params together.
26 * *out will point to an allocated buffer on successful return.
27 * Any existing allocation in *out is cleared and freed.
29 * Passing 0 for maxsize means unlimited size output.
31 * Returns 1 on success, 0 on failure and -1 if there are no matching params.
33 * *out and *out_len are guaranteed to be untouched if this function
34 * doesn't return success.
36 int ossl_param_get1_concat_octet_string(const OSSL_PARAM *params, const char *name,
37 unsigned char **out, size_t *out_len,