diff options
Diffstat (limited to 'hw4/cgiprog')
-rw-r--r-- | hw4/cgiprog/file_reader.c | 4 | ||||
-rw-r--r-- | hw4/cgiprog/server_info.c | 17 |
2 files changed, 19 insertions, 2 deletions
diff --git a/hw4/cgiprog/file_reader.c b/hw4/cgiprog/file_reader.c index dec8b30..a6f958f 100644 --- a/hw4/cgiprog/file_reader.c +++ b/hw4/cgiprog/file_reader.c @@ -1,3 +1,5 @@ +#define _POSIX_C_SOURCE 200809L +#define NL "\015\012" #include <errno.h> #include <fcntl.h> #include <stdio.h> @@ -5,8 +7,6 @@ #include <string.h> #include <unistd.h> -#define NL "\015\012" - int main (int argc, char* argv[]) { char* qs = getenv ("QUERY_STRING"); if (qs == NULL || *qs == '\0') { diff --git a/hw4/cgiprog/server_info.c b/hw4/cgiprog/server_info.c new file mode 100644 index 0000000..a49022f --- /dev/null +++ b/hw4/cgiprog/server_info.c @@ -0,0 +1,17 @@ +#define _POSIX_C_SOURCE 200809L +#define NL "\015\012" +#include <sys/types.h> +#include <signal.h> +#include <stdio.h> +#include <unistd.h> + +int main (int argc, char* argv[]) { + kill (getppid (), SIGUSR1); + fputs ( + "HTTP/1.1 200 OK" NL + "Content-Type: text/html" NL NL + "<html><head><title>Info Request</title></head>" NL + "<body><p>Look at your console!</p>" + "</body></html>" NL, stdout); + return 0; +} |