Major Changes:
[olsrd.git] / lib / httpinfo / src / admin_interface.c
index fd52db2..982a577 100644 (file)
@@ -37,7 +37,7 @@
  * to the project. For more information see the website or contact
  * the copyright holders.
  *
- * $Id: admin_interface.c,v 1.12 2007/11/08 22:47:40 bernd67 Exp $
+ * $Id: admin_interface.c,v 1.13 2007/11/29 00:49:41 bernd67 Exp $
  */
 
 /*
 #include "olsr.h"
 #include "olsrd_httpinfo.h"
 #include "olsr_cfg.h"
-#include "admin_html.h"
 #include "admin_interface.h"
-#include "local_hna_set.h" /* add_local_hna4_entry() */
 #include "net_olsr.h"
+#include "ipcalc.h"
 
 #include <stdio.h>
 #include <string.h>
 #define NETDIRECT
 #endif
 
+static const char admin_basic_setting_int[] = "<td><strong>%s</strong></td><td><input type=\"text\" name=\"%s\" maxlength=\"%d\" class=\"input_text\" value=\"%d\"></td>\n";
+static const char admin_basic_setting_float[] = "<td><strong>%s</strong></td><td><input type=\"text\" name=\"%s\" maxlength=\"%d\" class=\"input_text\" value=\"%0.2f\"></td>\n";
+static const char admin_basic_setting_string[] = "<td><strong>%s</strong></td><td><input type=\"text\" name=\"%s\" maxlength=\"%d\" class=\"input_text\" value=\"%s\"></td>\n";
+
+static const char admin_frame_prolog[] =
+    "<strong>Administrator interface</strong><hr>\n"
+    "<h2>Change basic settings</h2>\n"
+    "<form action=\"set_values\" method=\"post\">\n"
+    "<table width=\"100%%\">\n";
+
+static const char admin_frame_mid[] =
+    "</table>\n<br>\n"
+    "<center><input type=\"submit\" value=\"Submit\" class=\"input_button\">\n"
+    "<input type=\"reset\" value=\"Reset\" class=\"input_button\"></center>\n"
+    "</form>\n"
+    "<h2>Add/remove local HNA entries</h2>\n"
+    "<form action=\"set_values\" method=\"post\">\n"
+    "<table width=\"100%%\"><tr><td><strong>Network:</strong></td>\n"
+    "<td><input type=\"text\" name=\"hna_new_net\" maxlength=\"16\" class=\"input_text\" value=\"0.0.0.0\"></td>\n"
+    "<td><strong>Netmask/Prefix:</strong></td>\n"
+    "<td><input type=\"text\" name=\"hna_new_netmask\" maxlength=\"16\" class=\"input_text\" value=\"0.0.0.0\"></td>\n"
+    "<td><input type=\"submit\" value=\"Add entry\" class=\"input_button\"></td></form>\n"
+    "</table><hr>\n"
+    "<form action=\"set_values\" method=\"post\">\n"
+    "<table width=\"100%%\">\n"
+  "<tr><th width=50 halign=\"middle\">Delete</th><th>Network</th><th>Netmask</th></tr>\n";
+
+static const char admin_frame_epilog[] =
+    "</table>\n<br>\n"
+    "<center><input type=\"submit\" value=\"Delete selected\" class=\"input_button\"></center>\n"
+    "</form>\n";
 
 int
 build_admin_body(char *buf, olsr_u32_t bufsize __attribute__((unused)))
@@ -123,7 +153,7 @@ build_admin_body(char *buf, olsr_u32_t bufsize __attribute__((unused)))
 
   if(olsr_cnf->hna_entries) {
     if(olsr_cnf->ip_version == AF_INET) {
-      struct local_hna_entry *hna;
+      struct ip_prefix_list *hna;
       struct ipaddr_str netbuf, maskbuf;
       for(hna = olsr_cnf->hna_entries; hna; hna = hna->next) {
         union olsr_ip_addr netmask;
@@ -134,7 +164,7 @@ build_admin_body(char *buf, olsr_u32_t bufsize __attribute__((unused)))
                          olsr_ip_to_string(&maskbuf, &netmask));
       }
     } else {
-      struct local_hna_entry *hna;
+      struct ip_prefix_list *hna;
       for(hna = olsr_cnf->hna_entries; hna; hna = hna->next) {
         struct ipaddr_str netbuf;
         size += snprintf(&buf[size], bufsize-size,