/*
* ico_store.h - contains internal defines for STORE
*
* Copyright (c) 2012-2019 emotas embedded communication GmbH
*
*-------------------------------------------------------------------
* $Id: ico_store.h 48620 2023-08-28 14:18:44Z boe $

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

/**
* \file
* \brief dataty type header
*/

#ifndef ICO_STORE_H
#define ICO_STORE_H 1

#ifdef CO_EVENT_DYNAMIC_STORE
# ifdef CO_EVENT_PROFILE_STORE
#  define CO_EVENT_STORE_CNT	(CO_EVENT_DYNAMIC_STORE + CO_EVENT_PROFILE_STORE)
# else /* CO_EVENT_PROFILE_STORE */
#  define CO_EVENT_STORE_CNT	(CO_EVENT_DYNAMIC_STORE)
# endif /* CO_EVENT_PROFILE_STORE */
#else /* CO_EVENT_DYNAMIC_STORE */
# ifdef CO_EVENT_PROFILE_STORE
#  define CO_EVENT_STORE_CNT	(CO_EVENT_PROFILE_STORE)
# endif /* CO_EVENT_PROFILE_STORE */
#endif /* CO_EVENT_DYNAMIC_STORE */


/* datatypes */


/* function prototypes */

RET_T	icoStoreLoadReq(CO_LINE_DECL, UNSIGNED8 subIndex);
void	*icoStoreGetObjectAddr(CO_LINE_DECL, UNSIGNED16 idx, UNSIGNED8 subIndex);
RET_T	icoStoreCheckObjLimit_u32(CO_LINE_DECL, UNSIGNED16 index, UNSIGNED32 signature);
RET_T	icoStoreObjChanged(CO_LINE_DECL, UNSIGNED16 index, UNSIGNED8 subIndex);
void	icoStoreVarInit(void);
void	icoStoreReset(CO_LINE_DECL);

#endif /* ICO_STORE_H */
