/******************************************************************************/
/* 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_MONO_CTR_H)
#define R_ICUMIF_API_MONO_CTR_H

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

typedef enum
{
    MONOTONIC_CTR_RAM,
    MONOTONIC_CTR,
    
    LAST_ITEM_MONO_CTR = 0x01000000
} mono_ctr_type_t;

typedef enum
{
    MONO_CTR_READ,
    MONO_CTR_SET_VALUE,
    MONO_CTR_INCREMENT,

    LAST_ITEM_MONO_CTR_OP = 0x01000000
} mono_ctr_op_t;

typedef struct ISD_MONO_CTR
{
    mono_ctr_type_t         mono_ctr_type;
    uint8_t                 mono_ctr_id;
    mono_ctr_op_t           mono_ctr_op;
    volatile uint64_t       counter;
} ISD_MONO_CTR_t;


#endif /* R_ICUMIF_API_MONO_CTR_H */
