SCOM Serial Communication Protocol  0.5.2
scom_filtering.h
Go to the documentation of this file.
1 
10 #ifndef SCOM_FILTERING_H
11 #define SCOM_FILTERING_H
12 
13 #include "scom.h"
14 #include "hal_config.h"
15 #include <stdbool.h>
16 
17 #if defined __cplusplus
18 extern "C" {
19 #endif
20 
21 
28 #define SCOM_DECLARE_FILTER_FRAME_POOL(name, size) SCOMFilterFrame name##_SCOM_FILTER_FRAME_pool[size]; \
29  SCOMFilterFramePool name = {name##_SCOM_FILTER_FRAME_pool, size, 0}
30 
32 struct SCOMFilterDesc;
33 
36 
39 
41 typedef struct SCOMFilterDesc* SCOMFilter;
42 
44 typedef bool (*SCOMFilterMatchFunc)(SCOMDataLink scom, SCOMFilter filter, SCOMFrame *frame);
45 
51  void* context;
52 };
53 
63 
74 SCOMResult SCOM_InsertFilter(SCOMDataLink scom, SCOMFilter filter);
75 
84 SCOMResult SCOM_RemoveFilter(SCOMDataLink scom, SCOMFilter filter);
85 
102 
108 void SCOM_FilterProc(SCOMDataLink scom);
109 
118 
126 
127 #if defined __cplusplus
128 } // extern "C"
129 #endif
130 
135 #endif /* SCOM_FILTERING_H */
SCOMResult SCOM_RunFilteringThread(SCOMDataLink scom)
Main API file.
SCOM version record.
Definition: scom.h:81
struct SCOMFilterDesc * SCOMFilter
Utility type being a pointer to a SCOM frame filter descriptor.
bool SCOM_FilteringFrameReceptionHandler(SCOMDataLink scom, SCOMFrame *frame)
struct SCOMFilterFrame SCOMFilterFrame
Type declaration of the SCOM frame filter.
void SCOM_FilterProc(SCOMDataLink scom)
void * context
used defined filter context
SCOMResult
Definition: scom.h:211
bool(* SCOMFilterMatchFunc)(SCOMDataLink scom, SCOMFilter filter, SCOMFrame *frame)
Type defining a function that performs filter matching (returns 1 when frame matches filter...
Actual definition of the SCOM frame filter descriptor structure.
SCOMResult SCOM_InitFiltering(SCOMDataLink scom)
SCOMFilterMatchFunc filter_match_function
function that performs filter matching
void SCOM_StopFilteringThread(SCOMDataLink scom)
SCOMResult SCOM_RemoveFilter(SCOMDataLink scom, SCOMFilter filter)
SCOMResult SCOM_DeinitFiltering(SCOMDataLink scom)
SCOMResult SCOM_InsertFilter(SCOMDataLink scom, SCOMFilter filter)