/**
 * \mainpage KLone 

 
 Below is a quick reference list of essential variables and functions used by
 all KLone applications. 

 A more complete list is available following the links above.

 
\section essvars Essential variables

Any KLone dynamic page (*.kl1) can access the following predefined objects:

<ul>
<li> \ref request "request_t" *request;  \n
            \par \n
    Used to access all information related to the current HTTP request such\n
    as form variables, cookies, HTTP header fields, uploaded files, etc.

<li>     \ref response "response_t" *response; \n
            \par \n
    This object lets you access and modify the HTTP response entities such as \n
    header fields and status codes. 

<li>     \ref session "session_t" *session; \n
            \par \n
    Sessions are objects which can be used to preserve client related \n
    information throughout subsequent accesses.\n
    Simple functions are provided to set/get {name, value} pairs.

<li>     \ref basic "io_t" *out; \n
            \par \n
    The output object is used to print out dynamically generated content.

</ul>

\section essfuncs Essential functions

<ul>

<li>
\code 
const char* request_get_arg (request_t *rq, const char *name)
\endcode
    \par 
    Return the value of a form variable.

<li>
\code 
const char* request_get_field_value(request_t *rq, const char *name);
\endcode
    \par 
    Return the value of an header field.

<li>
\code 
int response_redirect(response_t *rs, const char *url)
\endcode
    \par 
    Redirect to the specified URL.

<li>
\code
const char *session_get(session_t *ss, const char *name)
\endcode
    \par 
    Get the value of a session variable.

<li>
\code
int session_set(session_t *ss, const char *name, const char *value)
\endcode
    \par 
    Set the value of a session variable.

</ul>

 */

/**
 * \defgroup http   Dynamic page interfaces
 *  \{
 *      \par 
 *      Basic knowledge of the HTTP protocol is assumed. Hence only the
 *      essential information is given. Some useful references are:
 *        - RFC 2616 for a complete description of HTTP 1.1 header fields
 *        - RFC 2109 for cookie format
 *        - RFC 822 for standard data type formats
 *        - http://www.iana.org/assignments/media-types/ for an updated
 *        list of possible mime-types
 */

/**
 *  \defgroup request Request Handling 
 *  \ingroup http
 */

/**
 *  \defgroup response Response Handling
 *  \ingroup http
 */

/**
 *  \defgroup session Sessions
 *  \ingroup http
 */

/**
 * \}
 */

/**
 *  \defgroup io Input/Output
 *  \{
 *      \par
 */

/**
 *  \defgroup basic Basic Functions
 *  \ingroup io
 */

/**
 *  \defgroup filters Filters for Compression and Encryption
 *  \ingroup io
 */

/**
 * \}
 */

/**
 *  \defgroup ut Miscellaneous Utility Functions
 *  \{
 *      \par
 *  \}
 */
 */

