diff options
Diffstat (limited to 'src/filter.h')
| -rw-r--r-- | src/filter.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/filter.h b/src/filter.h new file mode 100644 index 0000000..60a176f --- /dev/null +++ b/src/filter.h @@ -0,0 +1,25 @@ +#ifndef FILTER_H +#define FILTER_H + +#include "umbrella.h" + +/* + * filter_start — spawn the unit's log_filter executable as a persistent + * subprocess with stdin/stdout pipes. No-op if log_filter + * is empty. Safe to call on every unit unconditionally. + * + * filter_apply — write buf to the filter's stdin, read back the + * transformed output into buf. Updates *len. If the filter + * suppresses all output (returns 0 bytes), *len is set to 0. + * Falls back to pass-through on timeout or error. + * + * filter_stop — signal and close the filter subprocess for one unit. + * filter_stop_all — stop filters for all loaded units. + */ + +void filter_start(Unit *u); +void filter_apply(Unit *u, char *buf, int bufsize, int *len); +void filter_stop(Unit *u); +void filter_stop_all(void); + +#endif /* FILTER_H */ |
