/*
 * Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.
 *
 * Licensed under the Apache License 2.0 (the \"License\").  You may not use
 * this file except in compliance with the License.  You can obtain a copy
 * in the file LICENSE in the source distribution or at
 * https://www.openssl.org/source/license.html
 */

{-
use OpenSSL::paramnames qw(produce_param_decoder);
-}

{- produce_param_decoder('sskdf_set_ctx_params',
                         (['OSSL_KDF_PARAM_SECRET',         'secret', 'octet_string'],
                          ['OSSL_KDF_PARAM_KEY',            'secret', 'octet_string'],
                          ['OSSL_KDF_PARAM_INFO',           'info',   'octet_string', SSKDF_MAX_INFOS],
                          ['OSSL_KDF_PARAM_PROPERTIES',     'propq',  'utf8_string'],
                          ['OSSL_KDF_PARAM_DIGEST',         'digest', 'utf8_string'],
                          ['OSSL_KDF_PARAM_MAC',            'mac',    'utf8_string'],
                          ['OSSL_KDF_PARAM_SALT',           'salt',   'octet_string'],
                          ['OSSL_KDF_PARAM_MAC_SIZE',       'size',   'size_t'],
                          ['OSSL_KDF_PARAM_FIPS_KEY_CHECK', 'ind_k',  'int', 'fips'],
                         )); -}

{- produce_param_decoder('sskdf_get_ctx_params',
                         (['OSSL_KDF_PARAM_SIZE',                    'size',   'size_t'],
                          ['OSSL_KDF_PARAM_FIPS_APPROVED_INDICATOR', 'ind',    'int', 'fips'],
                         )); -}

{- produce_param_decoder('x963kdf_set_ctx_params',
                         (['OSSL_KDF_PARAM_SECRET',            'secret', 'octet_string'],
                          ['OSSL_KDF_PARAM_KEY',               'secret', 'octet_string'],
                          ['OSSL_KDF_PARAM_INFO',              'info',   'octet_string', SSKDF_MAX_INFOS],
                          ['OSSL_KDF_PARAM_PROPERTIES',        'propq',  'utf8_string'],
                          ['OSSL_KDF_PARAM_DIGEST',            'digest', 'utf8_string'],
                          ['OSSL_KDF_PARAM_MAC',               'mac',    'utf8_string'],
                          ['OSSL_KDF_PARAM_SALT',              'salt',   'octet_string'],
                          ['OSSL_KDF_PARAM_MAC_SIZE',          'size',   'size_t'],
                          ['OSSL_KDF_PARAM_FIPS_DIGEST_CHECK', 'ind_d',  'int', 'fips'],
                          ['OSSL_KDF_PARAM_FIPS_KEY_CHECK',    'ind_k',  'int', 'fips'],
                         )); -}
