/*
* ico_gfc.h - contains defines for global failsafe services
*
* Copyright (c) 2015-2019 emotas embedded communication GmbH
*
*-------------------------------------------------------------------
* $Id: ico_gfc.h 48620 2023-08-28 14:18:44Z boe $

*-------------------------------------------------------------------
*
*
*/

/**
* \file
* \brief data type header
*/

#ifndef ICO_GFC_H
#define ICO_GFC_H 1


#ifdef CO_EVENT_DYNAMIC_GFC
# ifdef CO_EVENT_PROFILE_GFC
#  define CO_EVENT_GFC_CNT	(CO_EVENT_DYNAMIC_GFC + CO_EVENT_PROFILE_GFC)
# else /* CO_EVENT_PROFILE_GFC */
#  define CO_EVENT_GFC_CNT	(CO_EVENT_DYNAMIC_GFC)
# endif /* CO_EVENT_PROFILE_GFC */
#else /* CO_EVENT_DYNAMIC_GFC */
# ifdef CO_EVENT_PROFILE_GFC
#  define CO_EVENT_GFC_CNT	(CO_EVENT_PROFILE_GFC)
# endif /* CO_EVENT_PROFILE_GFC */
#endif /* CO_EVENT_DYNAMIC_GFC */


/* datatypes */

/* function prototypes */

void	icoGfcReset(CO_LINE_DECL);
void	icoGfcSetDefaultValue(CO_LINE_DECL);
void	*icoGfcGetObjectAddr(CO_LINE_DECL);
RET_T	icoGfcCheckObjLimit_u8(CO_LINE_DECL, UNSIGNED8	value);
void	icoGfcHandler(CO_LINE_DECL);
void	icoGfcVarInit(void);

#endif /* ICO_GFC_H */

