summaryrefslogtreecommitdiffstats
path: root/hw4/cgiprog
diff options
context:
space:
mode:
Diffstat (limited to 'hw4/cgiprog')
-rw-r--r--hw4/cgiprog/file_reader.c4
-rw-r--r--hw4/cgiprog/server_info.c17
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;
+}