/*
* co_gfc.h - contains the public API for the GFC modul
*
* Copyright (c) 2015-2022 emotas embedded communication GmbH
*
*-------------------------------------------------------------------
* $Id: co_gfc.h 49551 2023-09-22 06:05:29Z phi $
*-------------------------------------------------------------------
*
* Changelog:
*
*
*/

/**
* \brief defines and the public API for the GFC modul.
*
* \file co_gfc.h - contains defines for gfc services
*
*/

#ifndef CO_GFC_H
#define CO_GFC_H 1

#include <co_datatype.h>

/** \brief function pointer to gfc function
 *
 * \return void
 */
typedef void (* CO_EVENT_GFC_T)(CO_LINE_TYPE);


/* function prototypes */
EXTERN_DECL RET_T coGfcWriteReq(CO_LINE_DECL);
EXTERN_DECL RET_T coGfcInit(CO_LINE_DECL, BOOL_T producer, BOOL_T consumer);
EXTERN_DECL RET_T coEventRegister_GFC(CO_EVENT_GFC_T pFunction);

#endif /* CO_GFC_H */
