/******************************************************************************/
/* Component Name   ICU-M Interface Library (ICUMIF)                          */
/******************************************************************************/
/* Product      : ICU-M Firmware                                              */
/******************************************************************************/
/*******************************************************************************
* Copyright(C) 2021-2023 Renesas Electronics Corporation.                       
*                                                                               
*          RENESAS ELECTRONICS CONFIDENTIAL AND PROPRIETARY                     
*                                                                               
* These instructions, statements, and programs are the confidential information 
* of Renesas Electronics Corporation. They must be used and modified solely for 
* the purpose for which it was furnished by Renesas Electronics Corporation.    
* All part of them must not be reproduced nor disclosed to others in any form,  
* without the prior written permission of Renesas Electronics Corporation.      
*******************************************************************************/
#if !defined(R_ICUMIF_API_EDDSA_SIGH_H)
#define R_ICUMIF_API_EDDSA_SIGH_H

/**********************************************************************************/
/* Definition                                                                     */
/**********************************************************************************/
#define EDDSA_SIGNATURE_NUM     (2u)

/**********************************************************************************/
/* Service parameters                                                             */
/**********************************************************************************/

typedef struct ISD_EDDSA_SIGN
{
    union
    {
        const uint8_t          *p_source;
        uint64_t                padding_sys64;
    } ptr;
    union
    {
        uint8_t                *p_data;
        uint64_t                padding_sys64;
    } signature[EDDSA_SIGNATURE_NUM];
    uint32_t                    source_size_in_bytes;
    r_hash_primitive_t          hash_primitive;
    r_number_format_t           signature_format;
    r_key_group_t               key_group;
    r_key_index_t               key_id;
    r_job_slice_t               job_slice_hash;
    r_job_slice_t               job_slice_point_mul;
    volatile uint16_t           signature_size_in_bits[EDDSA_SIGNATURE_NUM];
    uint8_t                     is_precalculated_hash;
} ISD_EDDSA_SIGN_t;

#endif /* R_ICUMIF_API_EDDSA_SIGH_H */
