XfcTransportProtocol/Inc/XfcProtListener.h

59 lines
1.4 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// Created by xemon on 05.05.2022.
//
#ifndef PDM_FIR_TEST_XFCTRANSPACKLISTNER_H
#define PDM_FIR_TEST_XFCTRANSPACKLISTNER_H
#define XFC_COMINT_COUNTING
#include "XfcCounting.h"
#include "XfcProtDecoder.h"
#include "XfcProtProcessor.h"
#include "XfcProtTable.h"
typedef struct {
#ifdef XFC_COMINT_COUNTING
struct {
uint32_t rx;
uint32_t rx_skip;
} counters;
#endif
void *commonArgs;
tXfcProtDecoder requestDecoder;
tXfcArray requestBuffer;
tXfcProtTable *processors;
} tXfcProtListener;
//Этот вид обработчика слушает комманды во входном потоке данных
//находит обработчик по id, выполняет его, но ответ не посылает (в отличии от Respondent)
void XfcProtListener_Init(
tXfcProtListener *env,
void *commonArgs,
tXfcProtTable *processors,
tXfcArray requestBuffer,
uint8_t requestMagic
);
bool XfcProtListener_Step(tXfcProtListener *env);
void XfcProtListener_SkipCurrentRequest(tXfcProtListener *env);
void XfcProtListener_AddBytes(tXfcProtListener *env, uint8_t *bytes, uint16_t size);
bool XfcProtListener_isValidHeader(tXfcProtListener *env);
bool XfcProtListener_HasPacket(tXfcProtListener *env);
void XfcProtListener_SkipToNextMagic(tXfcProtListener *env, uint16_t begin);
#endif //PDM_FIR_TEST_XFCTRANSPACKLISTNER_H