Apache2
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mod_ssl.h
Go to the documentation of this file.
1 /* Licensed to the Apache Software Foundation (ASF) under one or more
2  * contributor license agreements. See the NOTICE file distributed with
3  * this work for additional information regarding copyright ownership.
4  * The ASF licenses this file to You under the Apache License, Version 2.0
5  * (the "License"); you may not use this file except in compliance with
6  * the License. You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
26 #ifndef __MOD_SSL_H__
27 #define __MOD_SSL_H__
28 
29 #include "httpd.h"
30 #include "http_config.h"
31 #include "apr_optional.h"
32 #include "apr_tables.h" /* for apr_array_header_t */
33 
34 /* Create a set of SSL_DECLARE(type), SSL_DECLARE_NONSTD(type) and
35  * SSL_DECLARE_DATA with appropriate export and import tags for the platform
36  */
37 #if !defined(WIN32)
38 #define SSL_DECLARE(type) type
39 #define SSL_DECLARE_NONSTD(type) type
40 #define SSL_DECLARE_DATA
41 #elif defined(SSL_DECLARE_STATIC)
42 #define SSL_DECLARE(type) type __stdcall
43 #define SSL_DECLARE_NONSTD(type) type
44 #define SSL_DECLARE_DATA
45 #elif defined(SSL_DECLARE_EXPORT)
46 #define SSL_DECLARE(type) __declspec(dllexport) type __stdcall
47 #define SSL_DECLARE_NONSTD(type) __declspec(dllexport) type
48 #define SSL_DECLARE_DATA __declspec(dllexport)
49 #else
50 #define SSL_DECLARE(type) __declspec(dllimport) type __stdcall
51 #define SSL_DECLARE_NONSTD(type) __declspec(dllimport) type
52 #define SSL_DECLARE_DATA __declspec(dllimport)
53 #endif
54 
59  (apr_pool_t *p, server_rec *s,
60  conn_rec *c, request_rec *r,
61  const char *name))
63 
76  (apr_pool_t *p, conn_rec *c, int peer,
77  const char *extension));
78 
82 
89  (apr_pool_t *p, conn_rec *c, const char *type,
90  unsigned char **buf, apr_size_t *size));
91 
96 APR_DECLARE_OPTIONAL_FN(int, ssl_proxy_enable, (conn_rec *));
98 APR_DECLARE_OPTIONAL_FN(int, ssl_engine_set, (conn_rec *,
100  int proxy, int enable));
101 
102 /* Check for availability of new hooks */
103 #define SSL_CERT_HOOKS
104 #ifdef SSL_CERT_HOOKS
105 
111 APR_DECLARE_EXTERNAL_HOOK(ssl, SSL, int, add_cert_files,
112  (server_rec *s, apr_pool_t *p,
113  apr_array_header_t *cert_files,
114  apr_array_header_t *key_files))
115 
116 
123 APR_DECLARE_EXTERNAL_HOOK(ssl, SSL, int, add_fallback_cert_files,
124  (server_rec *s, apr_pool_t *p,
125  apr_array_header_t *cert_files,
126  apr_array_header_t *key_files))
127 
128 #endif /* SSL_CERT_HOOKS */
129 
130 #endif /* __MOD_SSL_H__ */
131 
size_t apr_size_t
Definition: apr.h:393
int ssl_engine_set(conn_rec *, ap_conf_vector_t *, int proxy, int enable)
Apache Configuration.
Definition: apr_tables.h:62
AP_FN_ATTR_NONNULL((1, 2, 5)) AP_FN_ATTR_WARN_UNUSED_RESULT
Structure to store things which are per connection.
Definition: httpd.h:1183
dav_buffer apr_size_t size
Definition: mod_dav.h:460
APR-UTIL registration of functions exported by modules.
HTTP Daemon routines.
A structure to store information for each virtual server.
Definition: httpd.h:1370
#define APR_DECLARE_EXTERNAL_HOOK(ns, link, ret, name, args)
Definition: apr_hooks.h:118
APR Table library.
apr_array_header_t * ssl_ext_list(apr_pool_t *p, conn_rec *c, int peer, const char *extension)
const char * ssl_var_lookup(apr_pool_t *p, server_rec *s, conn_rec *c, request_rec *r, const char *name)
int ssl_proxy_enable(conn_rec *)
int ssl_is_https(conn_rec *)
apr_pool_t * p
apr_status_t ssl_get_tls_cb(apr_pool_t *p, conn_rec *c, const char *type, unsigned char **buf, apr_size_t *size)
A structure that represents the current request.
Definition: httpd.h:860
const char * name
Definition: mod_dav.h:805
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
int apr_status_t
Definition: apr_errno.h:44
request_rec * r
Definition: mod_dav.h:518
#define APR_DECLARE_OPTIONAL_FN(ret, name, args)
Definition: apr_optional.h:50
int ssl_engine_disable(conn_rec *)
struct ap_conf_vector_t ap_conf_vector_t
Definition: http_config.h:519
const char AP_FN_ATTR_WARN_UNUSED_RESULT
Definition: ssl_private.h:1116