Cleanup in elf.c with .bss section clean; adm command mounts cdrom instead of floppy...
[ZeXOS.git] / apps / websrv / main.c
blobf9aa8c432dadcc1362a7625a16847974271f23ca
1 /*
2 * ZeX/OS
3 * Copyright (C) 2007 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
4 * Copyright (C) 2008 Tomas 'ZeXx86' Jedrzejek (zexx86@zexos.org)
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
21 #include <stdio.h>
22 #include <string.h>
23 #include <stdlib.h>
24 #include <unistd.h>
25 #include "net.h"
26 #include "http.h"
28 int arguments (int argc, char **argv)
30 if (argc < 2)
31 return 0;
33 unsigned i = argc - 1;
34 unsigned len = strlen (argv[i]);
35 int flags = 0;
37 if (len < 2)
38 return 0;
40 if (!strcmp (argv[i], "-6"))
41 flags |= FLAG_IPV6;
43 return flags;
46 int main (int argc, char **argv)
48 int port = DEFAULT_HTTP_PORT;
49 int flags = arguments (argc, argv);
51 printf ("websrv\n-=-=-=-\nExit -- (ESC)\n");
53 if ((!flags && argc == 2) || argc == 3)
54 port = atoi (argv[1]);
56 if (init (port, flags) < 1) {
57 printf ("websrv -> init (0) !\n");
58 return -1;
61 for (;;) {
62 if (loop () == -1)
63 break;
64 #ifndef LINUX
65 /* Escape was pressed */
66 if (getkey () == 1)
67 break;
69 schedule ();
70 #endif
73 http_destroy ();
75 printf ("websrv -> Bye !\n");
77 return 0;