/*
* 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('ossl_cipher_generic_get_params',
(['OSSL_CIPHER_PARAM_MODE', 'mode', 'uint'],
['OSSL_CIPHER_PARAM_KEYLEN', 'keylen', 'size_t'],
['OSSL_CIPHER_PARAM_IVLEN', 'ivlen', 'size_t'],
['OSSL_CIPHER_PARAM_BLOCK_SIZE', 'bsize', 'size_t'],
['OSSL_CIPHER_PARAM_AEAD', 'aead', 'int' ],
['OSSL_CIPHER_PARAM_CUSTOM_IV', 'custiv', 'int' ],
['OSSL_CIPHER_PARAM_CTS', 'cts', 'int' ],
['OSSL_CIPHER_PARAM_TLS1_MULTIBLOCK', 'mb', 'int' ],
['OSSL_CIPHER_PARAM_HAS_RAND_KEY', 'rand', 'int' ],
['OSSL_CIPHER_PARAM_ENCRYPT_THEN_MAC', 'etm', 'int' ],
)); -}
{- produce_param_decoder('cipher_generic_get_ctx_params',
(['OSSL_CIPHER_PARAM_KEYLEN', 'keylen', 'size_t'],
['OSSL_CIPHER_PARAM_IVLEN', 'ivlen', 'size_t'],
['OSSL_CIPHER_PARAM_PADDING', 'pad', 'uint'],
['OSSL_CIPHER_PARAM_NUM', 'num', 'uint' ],
['OSSL_CIPHER_PARAM_IV', 'iv', 'octet_string' ],
['OSSL_CIPHER_PARAM_UPDATED_IV', 'updiv', 'octet_string' ],
['OSSL_CIPHER_PARAM_TLS_MAC', 'tlsmac', 'octet_string' ],
)); -}
{- produce_param_decoder('cipher_generic_set_ctx_params',
(['OSSL_CIPHER_PARAM_PADDING', 'pad', 'uint'],
['OSSL_CIPHER_PARAM_NUM', 'num', 'uint'],
['OSSL_CIPHER_PARAM_USE_BITS', 'bits', 'uint'],
['OSSL_CIPHER_PARAM_TLS_VERSION', 'tlsvers', 'uint'],
['OSSL_CIPHER_PARAM_TLS_MAC_SIZE', 'tlsmacsize', 'size_t'],
)); -}
{- produce_param_decoder('cipher_var_keylen_set_ctx_params',
(['OSSL_CIPHER_PARAM_PADDING', 'pad', 'uint'],
['OSSL_CIPHER_PARAM_NUM', 'num', 'uint'],
['OSSL_CIPHER_PARAM_USE_BITS', 'bits', 'uint'],
['OSSL_CIPHER_PARAM_TLS_VERSION', 'tlsvers', 'uint'],
['OSSL_CIPHER_PARAM_TLS_MAC_SIZE', 'tlsmacsize', 'size_t'],
['OSSL_CIPHER_PARAM_KEYLEN', 'keylen', 'size_t'],
)); -}