summaryrefslogtreecommitdiffstats
path: root/misc/ssfilter.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--misc/ssfilter.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/misc/ssfilter.h b/misc/ssfilter.h
new file mode 100644
index 0000000..0be3b1e
--- /dev/null
+++ b/misc/ssfilter.h
@@ -0,0 +1,33 @@
+#include <stdbool.h>
+
+enum {
+ SSF_DCOND,
+ SSF_SCOND,
+ SSF_OR,
+ SSF_AND,
+ SSF_NOT,
+ SSF_D_GE,
+ SSF_D_LE,
+ SSF_S_GE,
+ SSF_S_LE,
+ SSF_S_AUTO,
+ SSF_DEVCOND,
+ SSF_MARKMASK,
+ SSF_CGROUPCOND,
+ SSF__MAX
+};
+
+bool ssfilter_is_supported(int type);
+
+struct ssfilter
+{
+ int type;
+ struct ssfilter *post;
+ struct ssfilter *pred;
+};
+
+int ssfilter_parse(struct ssfilter **f, int argc, char **argv, FILE *fp);
+void *parse_hostcond(char *addr, bool is_port);
+void *parse_devcond(char *name);
+void *parse_markmask(const char *markmask);
+void *parse_cgroupcond(const char *path);