/******************************************************************************/
/* 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_ISO15118_UPDATE_H)
#define R_ICUMIF_API_ISO15118_UPDATE_H

/**********************************************************************************/
/* Service parameters                                                             */
/**********************************************************************************/
typedef struct ISD_ISO15118_UPDATE
{
    r_key_index_t  ecc_priv_key_id_for_ecdh;
    r_key_index_t  ecc_pub_key_id_for_ecdh;
    r_key_index_t  ecc_priv_key_id_for_update;
    union
    {
        const uint8_t *p_new_priv_key;                  /* include IV */
        uint64_t       padding_sys64;
    } ptr1;
    uint32_t       new_priv_key_size_in_bytes;      /* include IV */
    union
    {
        const uint8_t *p_new_pub_key_x;
        uint64_t       padding_sys64;
    } ptr2;
    uint32_t       new_pub_key_x_size_in_bytes;
    union
    {
        const uint8_t *p_new_pub_key_y;
        uint64_t       padding_sys64;
    } ptr3;
    uint32_t       new_pub_key_y_size_in_bytes;
    r_mem_cluster_verif_t   mem_cluster_verif;
    struct
    {
        r_key_property_flags_t disable_on_debug:1;
        r_key_property_flags_t write_protected:1;
    } flags;
} ISD_ISO15118_UPDATE_t;

#endif /* R_ICUMIF_API_ISO15118_UPDATE_H */
