/* Note: the fifo function can be used to exchange data between the main task and interrupts: */
Ifx_Fifo* Ifx_Fifo_create(Ifx_SizeT size, Ifx_SizeT elementSize)
/* Note: the fifo function can be used to exchange data between the main task and interrupts: */
Ifx_Fifo* Ifx_Fifo_create(Ifx_SizeT size, Ifx_SizeT elementSize)
{
    Ifx_Fifo *fifo = NULL_PTR;
    size = Ifx_AlignOn32(size);
    fifo = malloc(size + sizeof(Ifx_Fifo) + 8);
    if (IFX_VALIDATE(IFX_VERBOSE_LEVEL_ERROR, (fifo != NULL_PTR)))
    {
        fifo = Ifx_Fifo_init(fifo, size, elementSize);
    }
    return fifo;
}