summaryrefslogtreecommitdiffstats
path: root/include/ct.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ct.h')
-rw-r--r--include/ct.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/include/ct.h b/include/ct.h
new file mode 100644
index 00000000..946bc297
--- /dev/null
+++ b/include/ct.h
@@ -0,0 +1,29 @@
+#ifndef _CT_H
+#define _CT_H
+
+/**
+ * struct ct_template
+ *
+ * @token: parser token for the expression
+ * @dtype: data type of the expression
+ * @len: length of the expression
+ * @byteorder: byteorder
+ */
+struct ct_template {
+ const char *token;
+ const struct datatype *dtype;
+ enum byteorder byteorder;
+ unsigned int len;
+};
+
+#define CT_TEMPLATE(__token, __dtype, __byteorder, __len) { \
+ .token = (__token), \
+ .dtype = (__dtype), \
+ .byteorder = (__byteorder), \
+ .len = (__len), \
+}
+
+extern struct expr *ct_expr_alloc(const struct location *loc,
+ enum nft_ct_keys key);
+
+#endif /* _CT_H */