/*
 * 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('ecdh_set_ctx_params',
                         (['OSSL_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE',    'mode',      'int'],
                          ['OSSL_EXCHANGE_PARAM_KDF_TYPE',                 'kdf',       'utf8_string'],
                          ['OSSL_EXCHANGE_PARAM_KDF_DIGEST',               'digest',    'utf8_string'],
                          ['OSSL_EXCHANGE_PARAM_KDF_DIGEST_PROPS',         'propq',     'utf8_string'],
                          ['OSSL_EXCHANGE_PARAM_KDF_OUTLEN',               'len',       'size_t'],
                          ['OSSL_EXCHANGE_PARAM_KDF_UKM',                  'ukm',       'octet_string'],
                          ['OSSL_EXCHANGE_PARAM_FIPS_KEY_CHECK',           'ind_k',     'int', 'fips'],
                          ['OSSL_EXCHANGE_PARAM_FIPS_DIGEST_CHECK',        'ind_d',     'int', 'fips'],
                          ['OSSL_EXCHANGE_PARAM_FIPS_ECDH_COFACTOR_CHECK', 'ind_cofac', 'int', 'fips'],
                         )); -}

{- produce_param_decoder('ecdh_get_ctx_params',
                         (['OSSL_EXCHANGE_PARAM_EC_ECDH_COFACTOR_MODE', 'mode',   'int'],
                          ['OSSL_EXCHANGE_PARAM_KDF_TYPE',              'kdf',    'utf8_string'],
                          ['OSSL_EXCHANGE_PARAM_KDF_DIGEST',            'digest', 'utf8_string'],
                          ['OSSL_EXCHANGE_PARAM_KDF_OUTLEN',            'len',    'size_t'],
                          ['OSSL_EXCHANGE_PARAM_KDF_UKM',               'ukm',    'octet_ptr'],
                          ['OSSL_ALG_PARAM_FIPS_APPROVED_INDICATOR',    'ind',    'int', 'fips'],
                         )); -}
