diff --git a/include/udp_input.h b/include/udp_input.h
new file mode 100644
index 0000000..1715733
--- /dev/null
+++ b/include/udp_input.h
@@ -0,0 +1,52 @@
+/*
+ * (C) 2010 by Holger Hans Peter Freyther <zecke@selfish.org>
+ * (C) 2010 by On-Waves
+ * All Rights Reserved
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ */
+/* UDP Input for the SNMP On-Waves packets */
+
+#ifndef c7_udp_input_h
+#define c7_udp_input_h
+
+#include <stdint.h>
+#include "write_queue.h"
+
+#define UDP_FORMAT_SIMPLE_UDP	2
+#define UDP_FORMAT_SIMPLE_TCP	3
+
+#define UDP_DATA_MSU_PRIO_0	0
+#define UDP_DATA_MSU_PRIO_1	1
+#define UDP_DATA_MSU_PRIO_2	2
+#define UDP_DATA_MSU_PRIO_3	3
+#define UDP_DATA_RETR_PRIO_0	16
+#define UDP_DATA_RETR_PRIO_1	17
+#define UDP_DATA_RETR_PRIO_2	18
+#define UDP_DATA_RETR_PRIO_3	19
+#define UDP_DATA_RETR_COMPL	32
+#define UDP_DATA_RETR_IMPOS	33
+
+struct udp_data_hdr {
+	uint8_t format_type;
+	uint8_t data_type;
+	uint16_t data_link_index;
+	uint32_t user_context;
+	uint32_t data_length;
+	uint8_t data[0];
+} __attribute__((packed));
+
+#endif
