#include "stdint.h"

typedef uint16_t CLS_BSP_TxHeaderType;

typedef unsigned int  HAL_StatusTypeDef;

typedef struct  {
    uint32_t filterIndex;
    uint32_t filterDestination;
    uint32_t filterMode;
    uint16_t id0;
    uint16_t id1;
} CLS_BSP_CAN_UniversalFilter;

#define CLS_BSP_DLC_BYTES_1 1
#define CLS_BSP_DLC_BYTES_2 2
#define CLS_BSP_DLC_BYTES_3 3
#define CLS_BSP_DLC_BYTES_4 4
#define CLS_BSP_DLC_BYTES_5 5
#define CLS_BSP_DLC_BYTES_6 6
#define CLS_BSP_DLC_BYTES_7 7
#define CLS_BSP_DLC_BYTES_8 8

#define CLS_CAN_FILTER_DISABLE  0
#define CLS_CAN_FILTER_TO_RXFIFO0 2
#define CLS_CAN_FILTER_TO_RXFIFO1 3

#define CLS_BSP_CAN_FILTER_LIST 1


#define CREATE_BSP_CAN_HEADER(identifier, datalength) 0

HAL_StatusTypeDef CLS_BSP_CAN_AddMessageToSend(CLS_BSP_TxHeaderType * header, uint8_t * data);

HAL_StatusTypeDef CLS_BSP_CAN_SetUniversalFilter(const CLS_BSP_CAN_UniversalFilter * filter);