summaryrefslogtreecommitdiff
path: root/src/pluto/modecfg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pluto/modecfg.h')
-rw-r--r--src/pluto/modecfg.h37
1 files changed, 35 insertions, 2 deletions
diff --git a/src/pluto/modecfg.h b/src/pluto/modecfg.h
index bc1443012..7adf18682 100644
--- a/src/pluto/modecfg.h
+++ b/src/pluto/modecfg.h
@@ -16,8 +16,41 @@
#ifndef _MODECFG_H
#define _MODECFG_H
-struct state;
-struct msg_digest;
+#include <chunk.h>
+#include <attributes/attribute_handler.h>
+
+#include "state.h"
+#include "demux.h"
+
+typedef struct modecfg_attribute_t modecfg_attribute_t;
+
+/**
+ * Defines a modecfg_attribute_t object.
+ */
+struct modecfg_attribute_t {
+ /**
+ * Type of the attribute.
+ */
+ u_int16_t type;
+
+ /**
+ * Attribute is coded as TV
+ */
+ bool is_tv;
+
+ /**
+ * Attribute value as chunk.
+ */
+ chunk_t value;
+
+ /**
+ * Attribute handler.
+ */
+ attribute_handler_t *handler;
+};
+
+/* Destroys a modecfg_attribute_t object */
+extern void modecfg_attribute_destroy(modecfg_attribute_t *this);
/* ModeConfig pull mode start function */
extern stf_status modecfg_send_request(struct state *st);