00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef __AWHANDLER_RFILTER__
00023 #define __AWHANDLER_RFILTER__
00024
00025 #include <stdio.h>
00026
00027 #include "monitor.h"
00028 #include "wire.h"
00029
00141
00142
00143
00144
00145
00149 typedef struct {
00150
00151 float64_t
00152 min,
00153 max;
00154
00155 aw_event_sig_t
00156 copy;
00157
00158 } aw_rfilter_range_filter_t;
00159
00163 typedef struct {
00164
00165 aw_handler_t
00166 handler_header;
00167
00168 u_int32_t
00169 nfilters;
00170
00171 aw_rfilter_range_filter_t
00172 *filters;
00173
00174 } aw_rfilterhandler_t;
00175
00176
00188 aw_rfilterhandler_t *aw_create_rfilterhandler(u_int32_t nfilters,
00189 aw_rfilter_range_filter_t *filters,
00190 u_int32_t priority,
00191 int32_t (*regevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index),
00192 int32_t (*regmaskevent)(aw_handler_t *h, aw_address_t *eventid, u_int32_t index),
00193 const aw_alarm_sched_t *sched,
00194 aw_logger_t *logger);
00195
00196
00201 void aw_free_rfilterhandler(aw_rfilterhandler_t *h);
00202
00203
00207 aw_handler_t *aw_wire_rfilterhandler(aw_wire_mkhandler_args_t *args);
00208
00209
00210
00211 #endif
00212