/*
 * 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('ml_dsa_key_type_params',
                         (['OSSL_PKEY_PARAM_ML_DSA_SEED', 'seed',    'octet_string'],
                          ['OSSL_PKEY_PARAM_PUB_KEY',     'pubkey',  'octet_string'],
                          ['OSSL_PKEY_PARAM_PRIV_KEY',    'privkey', 'octet_string'],
                         )); -}

{- produce_param_decoder('ml_dsa_get_params',
                         (['OSSL_PKEY_PARAM_BITS',              'bits',    'int'],
                          ['OSSL_PKEY_PARAM_SECURITY_BITS',     'secbits', 'int'],
                          ['OSSL_PKEY_PARAM_MAX_SIZE',          'maxsize', 'int'],
                          ['OSSL_PKEY_PARAM_SECURITY_CATEGORY', 'seccat',  'int'],
                          ['OSSL_PKEY_PARAM_MANDATORY_DIGEST',  'dgstp',   'utf8_string'],
                          ['OSSL_PKEY_PARAM_ML_DSA_SEED',       'seed',    'octet_string'],
                          ['OSSL_PKEY_PARAM_PUB_KEY',           'pubkey',  'octet_string'],
                          ['OSSL_PKEY_PARAM_PRIV_KEY',          'privkey', 'octet_string'],
                         )); -}

{- produce_param_decoder('ml_dsa_gen_set_params',
                         (['OSSL_PKEY_PARAM_ML_DSA_SEED', 'seed',  'octet_string'],
                          ['OSSL_PKEY_PARAM_PROPERTIES',  'propq', 'utf8_string'],
                         )); -}
