12 struct sharelist *next;
17 void display_edit_node(void) {
22 strcpy(node, bstr("node"));
24 printf("HTTP/1.0 200 OK\n");
25 output_headers(1, "bottom");
26 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=000077><TR><TD>");
27 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
28 wprintf("<B>Edit share list for ");
31 wprintf("</FONT></TD></TR></TABLE>\n");
33 wprintf("<CENTER>\n");
34 wprintf("<A HREF=\"/display_share&node=");
36 wprintf("\">Add a shared room</A><BR>\n");
38 wprintf("<A HREF=\"/display_netconf");
39 wprintf("\">Return to network configuration screen</A><BR>\n");
41 serv_printf("NSET roomlist|%s", node);
44 wprintf("<TABLE border=0>\n");
45 while (serv_gets(buf), strcmp(buf, "000")) {
46 extract(sroom, buf, 0);
47 wprintf("<TR><TD><FONT SIZE=+1>");
49 wprintf("</FONT></TD>");
50 wprintf("<TD><A HREF=\"/display_confirm_unshare&sroom=");
54 wprintf("\">(UnShare)</A></TD>");
57 wprintf("</TABLE></CENTER>\n");
65 void display_netconf(void) {
69 printf("HTTP/1.0 200 OK\n");
70 output_headers(1, "bottom");
71 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
72 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
73 wprintf("<B>Network configuration</B>\n");
74 wprintf("</FONT></TD></TR></TABLE>\n");
77 wprintf("<A HREF=\"/display_add_node\">");
78 wprintf("Add a new node</A><BR>\n");
81 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=000077><TR><TD>");
82 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
83 wprintf("<B>Currently configured nodes</B>\n");
84 wprintf("</FONT></TD></TR></TABLE>\n");
85 serv_puts("NSET nodelist");
88 wprintf("<CENTER><TABLE border=0>\n");
89 while (serv_gets(buf), strcmp(buf, "000")) {
90 extract(node, buf, 0);
91 wprintf("<TR><TD><FONT SIZE=+1>");
93 wprintf("</FONT></TD>");
94 wprintf("<TD><A HREF=\"/display_edit_node&node=");
96 wprintf("\">(Edit)</A></TD>");
97 wprintf("<TD><A HREF=\"/display_confirm_delete_node&node=");
99 wprintf("\">(Delete)</A></TD>");
102 wprintf("</TABLE></CENTER>\n");
109 void display_confirm_unshare(void) {
113 printf("HTTP/1.0 200 OK\n");
114 output_headers(1, "bottom");
115 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
116 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
117 wprintf("<B>Confirm unshare</B>\n");
118 wprintf("</FONT></TD></TR></TABLE>\n");
120 strcpy(node, bstr("node"));
121 strcpy(sroom, bstr("sroom"));
122 wprintf("<CENTER>Are you sure you want to unshare <FONT SIZE=+1>");
124 wprintf("</FONT>?<BR>\n");
125 wprintf("<A HREF=\"/unshare&node=");
129 wprintf("\">Yes</A> ");
130 wprintf("<A HREF=\"/display_edit_node&node=");
132 wprintf("\">No</A><BR>\n");
137 void display_confirm_delete_node(void) {
140 printf("HTTP/1.0 200 OK\n");
141 output_headers(1, "bottom");
142 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
143 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
144 wprintf("<B>Confirm delete</B>\n");
145 wprintf("</FONT></TD></TR></TABLE>\n");
147 strcpy(node, bstr("node"));
148 wprintf("<CENTER>Are you sure you want to delete <FONT SIZE=+1>");
150 wprintf("</FONT>?<BR>\n");
151 wprintf("<A HREF=\"/delete_node&node=");
153 wprintf("\">Yes</A> ");
154 wprintf("<A HREF=\"/display_netconf\">No</A><BR>\n");
159 void delete_node(void) {
163 strcpy(node, bstr("node"));
164 sprintf(buf, "NSET deletenode|%s", node);
168 printf("HTTP/1.0 200 OK\n");
169 output_headers(1, "bottom");
171 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
175 display_error(&buf[4]);
185 strcpy(node, bstr("node"));
186 strcpy(sroom, bstr("sroom"));
187 sprintf(buf, "NSET unshare|%s|%s", node, sroom);
191 printf("HTTP/1.0 200 OK\n");
192 output_headers(1, "bottom");
194 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
198 display_error(&buf[4]);
204 void display_add_node(void) {
206 printf("HTTP/1.0 200 OK\n");
207 output_headers(1, "bottom");
208 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=007700><TR><TD>");
209 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
210 wprintf("<B>Add a new node</B>\n");
211 wprintf("</FONT></TD></TR></TABLE>\n");
214 wprintf("<FORM METHOD=\"POST\" ACTION=\"/add_node\">\n");
216 wprintf("Enter name of new node: ");
217 wprintf("<INPUT TYPE=\"text\" NAME=\"node\" MAXLENGTH=\"64\"><BR>\n");
219 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Add\">");
220 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
222 wprintf("</FORM></CENTER>\n");
228 void add_node(void) {
233 strcpy(node, bstr("node"));
234 strcpy(sc, bstr("sc"));
236 if (!strcmp(sc, "Add")) {
237 sprintf(buf, "NSET addnode|%s", node);
241 printf("HTTP/1.0 200 OK\n");
242 output_headers(1, "bottom");
244 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
248 display_error(&buf[4]);
256 void display_share(void) {
260 struct sharelist *shlist = NULL;
261 struct sharelist *shptr;
264 strcpy(node, bstr("node"));
266 printf("HTTP/1.0 200 OK\n");
267 output_headers(1, "bottom");
268 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=007700><TR><TD>");
269 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
270 wprintf("<B>Add a shared room</B>\n");
271 wprintf("</FONT></TD></TR></TABLE>\n");
274 wprintf("<FORM METHOD=\"POST\" ACTION=\"/share\">\n");
275 wprintf("<INPUT TYPE=\"hidden\" NAME=\"node\" VALUE=\"");
279 sprintf(buf, "NSET roomlist|%s", node);
283 while(serv_gets(buf), strcmp(buf,"000")) {
284 shptr = (struct sharelist *)
285 malloc(sizeof(struct sharelist));
286 shptr -> next = shlist;
287 extract(shptr->shname, buf, 0);
292 wprintf("<SELECT NAME=\"sroom\" SIZE=5 WIDTH=30>\n");
296 while(serv_gets(buf), strcmp(buf,"000")) {
297 extract(sroom, buf, 0);
299 for (shptr = shlist; shptr != NULL; shptr = shptr->next) {
300 if (!strcasecmp(sroom, shptr->shname))
304 if (already_shared == 0) {
312 wprintf("</SELECT>\n");
315 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Share\">");
316 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
318 wprintf("</FORM></CENTER>\n");
322 while (shlist != NULL) {
323 shptr = shlist->next;
338 strcpy(node, bstr("node"));
339 strcpy(sc, bstr("sc"));
340 strcpy(sroom, bstr("sroom"));
342 if (!strcmp(sc, "Share")) {
343 sprintf(buf, "NSET share|%s|%s", node, sroom);
347 printf("HTTP/1.0 200 OK\n");
348 output_headers(1, "bottom");
350 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
354 display_error(&buf[4]);