12 struct sharelist *next;
17 void display_edit_node(void) {
22 strcpy(node, bstr("node"));
24 printf("HTTP/1.0 200 OK\n");
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");
60 wprintf("<HR></BODY></HTML>\n");
66 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");
106 wprintf("<HR></BODY></HTML>\n");
111 void display_confirm_unshare(void) {
115 printf("HTTP/1.0 200 OK\n");
117 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=770000><TR><TD>");
118 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
119 wprintf("<B>Confirm unshare</B>\n");
120 wprintf("</FONT></TD></TR></TABLE>\n");
122 strcpy(node, bstr("node"));
123 strcpy(sroom, bstr("sroom"));
124 wprintf("<CENTER>Are you sure you want to unshare <FONT SIZE=+1>");
126 wprintf("</FONT>?<BR>\n");
127 wprintf("<A HREF=\"/unshare&node=");
131 wprintf("\">Yes</A> ");
132 wprintf("<A HREF=\"/display_edit_node&node=");
134 wprintf("\">No</A><BR></BODY></HTML>\n");
139 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");
157 wprintf("</BODY></HTML>\n");
162 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");
175 wprintf("</BODY></HTML>\n");
179 display_error(&buf[4]);
189 strcpy(node, bstr("node"));
190 strcpy(sroom, bstr("sroom"));
191 sprintf(buf, "NSET unshare|%s|%s", node, sroom);
195 printf("HTTP/1.0 200 OK\n");
198 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
199 wprintf("</BODY></HTML>\n");
203 display_error(&buf[4]);
209 void display_add_node(void) {
211 printf("HTTP/1.0 200 OK\n");
213 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=007700><TR><TD>");
214 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
215 wprintf("<B>Add a new node</B>\n");
216 wprintf("</FONT></TD></TR></TABLE>\n");
219 wprintf("<FORM METHOD=\"POST\" ACTION=\"/add_node\">\n");
221 wprintf("Enter name of new node: ");
222 wprintf("<INPUT TYPE=\"text\" NAME=\"node\" MAXLENGTH=\"64\"><BR>\n");
224 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Add\">");
225 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
227 wprintf("</FORM></CENTER></BODY></HTML>\n");
233 void add_node(void) {
238 strcpy(node, bstr("node"));
239 strcpy(sc, bstr("sc"));
241 if (!strcmp(sc, "Add")) {
242 sprintf(buf, "NSET addnode|%s", node);
246 printf("HTTP/1.0 200 OK\n");
249 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
250 wprintf("</BODY></HTML>\n");
254 display_error(&buf[4]);
262 void display_share(void) {
266 struct sharelist *shlist = NULL;
267 struct sharelist *shptr;
270 strcpy(node, bstr("node"));
272 printf("HTTP/1.0 200 OK\n");
274 wprintf("<TABLE WIDTH=100% BORDER=0 BGCOLOR=007700><TR><TD>");
275 wprintf("<FONT SIZE=+1 COLOR=\"FFFFFF\"");
276 wprintf("<B>Add a shared room</B>\n");
277 wprintf("</FONT></TD></TR></TABLE>\n");
280 wprintf("<FORM METHOD=\"POST\" ACTION=\"/share\">\n");
281 wprintf("<INPUT TYPE=\"hidden\" NAME=\"node\" VALUE=\"");
285 sprintf(buf, "NSET roomlist|%s", node);
289 while(serv_gets(buf), strcmp(buf,"000")) {
290 shptr = (struct sharelist *)
291 malloc(sizeof(struct sharelist));
292 shptr -> next = shlist;
293 extract(shptr->shname, buf, 0);
298 wprintf("<SELECT NAME=\"sroom\" SIZE=5 WIDTH=30>\n");
302 while(serv_gets(buf), strcmp(buf,"000")) {
303 extract(sroom, buf, 0);
305 for (shptr = shlist; shptr != NULL; shptr = shptr->next) {
306 if (!strcasecmp(sroom, shptr->shname))
310 if (already_shared == 0) {
318 wprintf("</SELECT>\n");
321 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Share\">");
322 wprintf("<INPUT TYPE=\"submit\" NAME=\"sc\" VALUE=\"Cancel\">");
324 wprintf("</FORM></CENTER></BODY></HTML>\n");
328 while (shlist != NULL) {
329 shptr = shlist->next;
344 strcpy(node, bstr("node"));
345 strcpy(sc, bstr("sc"));
346 strcpy(sroom, bstr("sroom"));
348 if (!strcmp(sc, "Share")) {
349 sprintf(buf, "NSET share|%s|%s", node, sroom);
353 printf("HTTP/1.0 200 OK\n");
356 wprintf("<A HREF=\"/display_netconf\">Back to menu</A>\n");
357 wprintf("</BODY></HTML>\n");
361 display_error(&buf[4]);