2 Copyright (C) 2000-2003 SKYRIX Software AG
4 This file is part of OGo
6 OGo is free software; you can redistribute it and/or modify it under
7 the terms of the GNU Lesser General Public License as published by the
8 Free Software Foundation; either version 2, or (at your option) any
11 OGo is distributed in the hope that it will be useful, but WITHOUT ANY
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 License for more details.
16 You should have received a copy of the GNU Lesser General Public
17 License along with OGo; see the file COPYING. If not, write to the
18 Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
23 #ifndef __NGObjWeb_Adaptors_apache_H__
24 #define __NGObjWeb_Adaptors_apache_H__
30 #include <sys/types.h>
31 #include <netinet/in.h>
33 #include <arpa/inet.h>
39 #include <http_core.h>
40 #include <http_config.h>
42 #include <http_protocol.h>
44 #if MODULE_MAGIC_NUMBER_MAJOR >= 20010224
45 /* apache ap version 2 */
47 #include "apr_buckets.h"
48 #include "apr_strings.h"
49 #include "apr_portable.h"
50 #include "apr_optional.h"
52 #include "ap_config.h"
53 #include "ap_listen.h"
55 /* for compatibility */
58 #define apr_array_header_t array_header
59 #define apr_inet_addr inet_addr
60 #define apr_isalnum isalnum
61 #define apr_isspace isspace
62 #define apr_palloc ap_palloc
63 #define apr_pcalloc ap_pcalloc
64 #define apr_pool_t pool
65 #define apr_table_elts ap_table_elts
66 #define apr_table_entry_t table_entry
67 #define apr_table_get ap_table_get
68 #define apr_table_make ap_make_table
69 #define apr_table_set ap_table_set
70 #define apr_table_t table
71 #define apr_sleep sleep
72 #define apr_snprintf snprintf
74 #define ap_log_error(file, line, level, status, vars...) \
75 ap_log_error(file, line, level, ## vars)
78 #include "NGBufferedDescriptor.h"
80 module ngobjweb_module;
83 char *snsPort; /* the port of the SNS daemon */
86 char *appPort; /* a single pass-through port of an instance */
91 } ngobjweb_dir_config;
93 #define MAX_PORTNAME_SIZE 140
94 #define MAX_SNS_PATH_SIZE MAX_PORTNAME_SIZE
95 #define MAX_APP_PREFIX_SIZE 256
100 _sendSNSQuery(request_rec *_rq, const char *_line, const char *_cookie,
101 int *_domain, size_t *_len,
102 const char *_appName,
103 ngobjweb_dir_config *_cfg);
108 NGScanResponseLine(NGBufferedDescriptor *_in,
109 unsigned char *_version, int *_status,
110 unsigned char *_text);
111 extern apr_table_t *NGScanHeaders(apr_pool_t *_pool, NGBufferedDescriptor *_in);
115 extern int ngobjweb_handler(request_rec *r);
119 extern const char *ngobjweb_set_sns_port(cmd_parms *cmd,
120 ngobjweb_dir_config *cfg,
122 extern const char *ngobjweb_set_app_port(cmd_parms *cmd,
123 ngobjweb_dir_config *cfg,
125 extern const char *ngobjweb_set_app_prefix(cmd_parms *cmd,
126 ngobjweb_dir_config *cfg,
128 extern const char *ngobjweb_set_use_http(cmd_parms *cmd,
129 ngobjweb_dir_config *cfg);
133 extern void *ngobjweb_create_dir_config(apr_pool_t *p, char *dummy);
134 extern void *ngobjweb_merge_dir_configs(apr_pool_t *p, void *basev, void *addv);
136 #endif /* __NGObjWeb_Adaptors_apache_H__ */