12 struct sharelist *next;
17 void display_edit_node(void)
23 strcpy(node, bstr("node"));
25 printf("HTTP/1.0 200 OK\n");
27 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=000077><TR><TD>");
28 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
29 wprintf("<B>Edit share list for ");
32 wprintf("</FONT></TD></TR></TABLE>\n");
34 wprintf("<CENTER>\n");
35 wprintf("<A HREF=\"/display_share&node=");
37 wprintf("\">Add a shared room</A><BR>\n");
39 wprintf("<A HREF=\"/display_netconf");
40 wprintf("\">Return to network configuration screen</A><BR>\n");
42 serv_printf("NSET roomlist|%s", node);
45 wprintf("<TABLE border=0>\n");
46 while (serv_gets(buf), strcmp(buf, "000")) {
47 extract(sroom, buf, 0);
48 wprintf("<TR><TD><FONT SIZE=+1>");
50 wprintf("</FONT></TD>");
51 wprintf("<TD><A HREF=\"/display_confirm_unshare&sroom=");
55 wprintf("\">(UnShare)</A></TD>");
58 wprintf("</TABLE></CENTER>\n");
65 void display_netconf(void)
70 printf("HTTP/1.0 200 OK\n");
72 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
73 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
74 wprintf("<B>Network configuration</B>\n");
75 wprintf("</FONT></TD></TR></TABLE>\n");
78 wprintf("<A HREF=\"/display_add_node\">");
79 wprintf("Add a new node</A><BR>\n");
82 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=000077><TR><TD>");
83 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
84 wprintf("<B>Currently configured nodes</B>\n");
85 wprintf("</FONT></TD></TR></TABLE>\n");
86 serv_puts("NSET nodelist");
89 wprintf("<CENTER><TABLE border=0>\n");
90 while (serv_gets(buf), strcmp(buf, "000")) {
91 extract(node, buf, 0);
92 wprintf("<TR><TD><FONT SIZE=+1>");
94 wprintf("</FONT></TD>");
95 wprintf("<TD><A HREF=\"/display_edit_node&node=");
97 wprintf("\">(Edit)</A></TD>");
98 wprintf("<TD><A HREF=\"/display_confirm_delete_node&node=");
100 wprintf("\">(Delete)</A></TD>");
103 wprintf("</TABLE></CENTER>\n");
109 void display_confirm_unshare(void)
114 printf("HTTP/1.0 200 OK\n");
116 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
117 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
118 wprintf("<B>Confirm unshare</B>\n");
119 wprintf("</FONT></TD></TR></TABLE>\n");
121 strcpy(node, bstr("node"));
122 strcpy(sroom, bstr("sroom"));
123 wprintf("<CENTER>Are you sure you want to unshare <FONT SIZE=+1>");
125 wprintf("</FONT>?<BR>\n");
126 wprintf("<A HREF=\"/unshare&node=");
130 wprintf("\">Yes</A> ");
131 wprintf("<A HREF=\"/display_edit_node&node=");
133 wprintf("\">No</A><BR>\n");
138 void display_confirm_delete_node(void)
142 printf("HTTP/1.0 200 OK\n");
144 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
145 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
146 wprintf("<B>Confirm delete</B>\n");
147 wprintf("</FONT></TD></TR></TABLE>\n");
149 strcpy(node, bstr("node"));
150 wprintf("<CENTER>Are you sure you want to delete <FONT SIZE=+1>");
152 wprintf("</FONT>?<BR>\n");
153 wprintf("<A HREF=\"/delete_node&node=");
155 wprintf("\">Yes</A> ");
156 wprintf("<A HREF=\"/display_netconf\">No</A><BR>\n");
161 void delete_node(void)
166 strcpy(node, bstr("node"));
167 sprintf(buf, "NSET deletenode|%s", node);
171 printf("HTTP/1.0 200 OK\n");
174 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
177 display_error(&buf[4]);
188 strcpy(node, bstr("node"));
189 strcpy(sroom, bstr("sroom"));
190 sprintf(buf, "NSET unshare|%s|%s", node, sroom);
194 printf("HTTP/1.0 200 OK\n");
197 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
200 display_error(&buf[4]);
206 void display_add_node(void)
209 printf("HTTP/1.0 200 OK\n");
211 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=007700><TR><TD>");
212 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
213 wprintf("<B>Add a new node</B>\n");
214 wprintf("</FONT></TD></TR></TABLE>\n");
217 wprintf("<FORM METHOD=\"POST\" ACTION=\"/add_node\">\n");
219 wprintf("Enter name of new node: ");
220 wprintf("<INPUT TYPE=\"text\" NAME=\"node\" MAXLENGTH=\"64\"><BR>\n");
222 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Add\">");
223 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
225 wprintf("</FORM></CENTER>\n");
237 strcpy(node, bstr("node"));
238 strcpy(sc, bstr("sc"));
240 if (!strcmp(sc, "Add")) {
241 sprintf(buf, "NSET addnode|%s", node);
245 printf("HTTP/1.0 200 OK\n");
248 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
251 display_error(&buf[4]);
258 void display_share(void)
263 struct sharelist *shlist = NULL;
264 struct sharelist *shptr;
267 strcpy(node, bstr("node"));
269 printf("HTTP/1.0 200 OK\n");
271 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=007700><TR><TD>");
272 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
273 wprintf("<B>Add a shared room</B>\n");
274 wprintf("</FONT></TD></TR></TABLE>\n");
277 wprintf("<FORM METHOD=\"POST\" ACTION=\"/share\">\n");
278 wprintf("<INPUT TYPE=\"hidden\" NAME=\"node\" VALUE=\"");
282 sprintf(buf, "NSET roomlist|%s", node);
286 while (serv_gets(buf), strcmp(buf, "000")) {
287 shptr = (struct sharelist *)
288 malloc(sizeof(struct sharelist));
289 shptr->next = shlist;
290 extract(shptr->shname, buf, 0);
294 wprintf("<SELECT NAME=\"sroom\" SIZE=5 WIDTH=30>\n");
298 while (serv_gets(buf), strcmp(buf, "000")) {
299 extract(sroom, buf, 0);
301 for (shptr = shlist; shptr != NULL; shptr = shptr->next) {
302 if (!strcasecmp(sroom, shptr->shname))
306 if (already_shared == 0) {
313 wprintf("</SELECT>\n");
316 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Share\">");
317 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
319 wprintf("</FORM></CENTER>\n");
323 while (shlist != NULL) {
324 shptr = shlist->next;
340 strcpy(node, bstr("node"));
341 strcpy(sc, bstr("sc"));
342 strcpy(sroom, bstr("sroom"));
344 if (!strcmp(sc, "Share")) {
345 sprintf(buf, "NSET share|%s|%s", node, sroom);
349 printf("HTTP/1.0 200 OK\n");
352 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
355 display_error(&buf[4]);