aboutsummaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorAleksey Veresov <aleksey@veresov.pro>2020-03-16 19:33:58 +0300
committerAleksey Veresov <aleksey@veresov.pro>2020-03-16 19:33:58 +0300
commitd9f19275d0549c4b9c3402e1fd28c71627507557 (patch)
tree0f6130f1eeefc182f93c52c400f0c1b84a3a0eb9 /README
parentc5d69441bd43ace9d9c2b03a89aa0ed4871c288d (diff)
downloadmagi-d9f19275d0549c4b9c3402e1fd28c71627507557.tar
magi-d9f19275d0549c4b9c3402e1fd28c71627507557.tar.xz
magi-d9f19275d0549c4b9c3402e1fd28c71627507557.zip
[magi]
Diffstat (limited to 'README')
-rw-r--r--README34
1 files changed, 34 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..a0dd498
--- /dev/null
+++ b/README
@@ -0,0 +1,34 @@
+ Description
+Magi Library (libmagi) implements Gateway Interfaces, namely CGI and FastCGI.
+
+ Overview
+Magi are free and open-source software: legal info is in the 'LICENSE' file.
+They are written in ANSI C, without any dependecies, except for C standard
+library. All source and inner header files are located in the 'src' directory.
+The 'include' directory is intended to be used in your include environment.
+Headers in it contain library interface and its description in comments.
+They are in subdirectory 'include/magi', due to their short and simple names.
+If you are not about choosing which header to include and just want everything
+to be included you can '#include <magi.h>'.
+For detailed documentation look into 'man' directory.
+
+ Compiling
+Compilation and its options are described in the Makefile.
+Running make produces libmagi.a file, which is precompiled library itself,
+ready to be statically linked into your project.
+
+ Examples
+Running 'make examples' produces executable for each example in 'examples'.
+Descriptions and details are in corresponding source files.
+
+ Usage
+magi_request handles incoming request, general workflow for CGI is to:
+1. prepare request for analysis, setup defaults via magi_request_init;
+2. analyse CGI request via magi_cgi;
+4. do your work, and response request:
+ 1. specify headers (e.g. magi_response_cookie),
+ 2. fill response body (e.g. magi_response);
+5. finally, free memory via magi_request_free.
+
+ Motivation
+Web must be fun.