/******************************************************************************/
/* 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_MEM_CLUSTER_VERIFY_H)
#define R_ICUMIF_API_MEM_CLUSTER_VERIFY_H

/**********************************************************************************/
/* Type definition                                                                */
/**********************************************************************************/

typedef enum
{
    ACTION_VERIFY,
    ACTION_FORCE_INSTALL,
    ACTION_GET_VERIFICATION_STATUS,
    ACTION_FORCE_VERIFICATION_FAIL,
    ACTION_LOCK_VERIFICATION_STATUS,

    LAST_ITEM_ACTION_TYPE = 0x01000000
} r_cluster_verif_action_t;

typedef enum
{
    CLUSTER_NOT_VERIFIED,
    CLUSTER_VERIFICATION_FAILED,
    CLUSTER_VERIFIED,

    LAST_ITEM_CLUSTER_STATUS = 0x01000000
} r_cluster_verif_status_t;

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

typedef struct ISD_MEM_CLUSTER_VERIF
{
    r_mem_cluster_id_t                  cluster_id;
    r_cluster_verif_action_t            action;
    r_job_slice_t                       job_slice;
    volatile r_cluster_verif_status_t   verification_status;
} ISD_MEM_CLUSTER_VERIF_t;

#endif /* R_ICUMIF_API_MEM_CLUSTER_VERIFY_H */
