Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

http_s.h

00001 /*
00002  * Copyright (c) 2005, 2006 by KoanLogic s.r.l. <http://www.koanlogic.com>
00003  * All rights reserved.
00004  *
00005  * This file is part of KLone, and as such it is subject to the license stated
00006  * in the LICENSE file which you have received as part of this distribution.
00007  *
00008  * $Id: http_s.h,v 1.7 2007/10/25 20:26:56 tat Exp $
00009  */
00010 
00011 #ifndef _KLONE_HTTP_S_H_
00012 #define _KLONE_HTTP_S_H_
00013 #include "klone_conf.h"
00014 #include <u/libu.h>
00015 #include <klone/os.h>
00016 #include <klone/broker.h>
00017 #include <klone/ses_prv.h>
00018 
00019 #ifdef HAVE_LIBOPENSSL
00020 #include <openssl/ssl.h>
00021 #include <openssl/err.h>
00022 #endif 
00023 
00024 struct http_s 
00025 {
00026     u_config_t *config;     /* server config                                 */
00027     broker_t *broker;       /* pages broker                                  */
00028     int ssl;                /* >0 when SSL is enabled                        */
00029 #ifdef HAVE_LIBOPENSSL
00030     SSL_CTX* ssl_ctx;       /* OpenSSL context                               */
00031 #endif
00032     /* toplevel configuration options */
00033     const char *server_sig; /* server signature                              */
00034     const char *dir_root;   /* base html directory                           */
00035     const char *index;      /* user-provided index page(s)                   */
00036     int send_enc_deflate;   /* >0 if sending deflated content is not disabled*/
00037     /* session options struct                        */
00038     session_opt_t *sess_opt;
00039 };
00040 
00041 #endif