Add simplistic telnet control interface

This might turn into a complete wire protocol with special
client software. For now it will be a simple client interface
that you can use with telnet to do certain things.

This is using flex to implement the parsing. Implementation
and more commands will follow.
diff --git a/include/openbsc/Makefile.am b/include/openbsc/Makefile.am
index c1c3dd6..f1f163b 100644
--- a/include/openbsc/Makefile.am
+++ b/include/openbsc/Makefile.am
@@ -1,3 +1,3 @@
 noinst_HEADERS = abis_nm.h abis_rsl.h debug.h db.h gsm_04_08.h gsm_data.h \
 		 gsm_subscriber.h linuxlist.h msgb.h select.h tlv.h gsm_04_11.h \
-		 timer.h misdn.h chan_alloc.h
+		 timer.h misdn.h chan_alloc.h telnet_interface.h
diff --git a/include/openbsc/telnet_interface.h b/include/openbsc/telnet_interface.h
new file mode 100644
index 0000000..885cd64
--- /dev/null
+++ b/include/openbsc/telnet_interface.h
@@ -0,0 +1,45 @@
+/* minimalistic telnet/network interface it might turn into a wire interface */
+/* (C) 2009 by Holger Hans Peter Freyther <zecke@selfish.org>
+ * 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.
+ *
+ */
+
+#ifndef TELNET_INTERFACE_H
+#define TELNET_INTERFACE_H
+
+#include "gsm_data.h"
+#include "linuxlist.h"
+#include "select.h"
+
+#define TELNET_COMMAND_48	1
+#define TELNET_COMMAND_11	2
+
+struct telnet_connection {
+	struct llist_head entry;
+	struct gsm_network *network;
+	struct bsc_fd fd;
+
+	int command;
+	char *imsi;
+	char commands[1024];
+	int read;
+};
+
+
+void telnet_init(struct gsm_network *network, int port);
+
+#endif