"Fossies" - the Fresh Open Source Software Archive 
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
For more information about "h2_config.h" see the
Fossies "Dox" file reference documentation and the latest
Fossies "Diffs" side-by-side code changes report:
1.15.16_vs_1.15.17.
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
17 #ifndef __mod_h2__h2_config_h__
18 #define __mod_h2__h2_config_h__
19
20 #undef PACKAGE_VERSION
21 #undef PACKAGE_TARNAME
22 #undef PACKAGE_STRING
23 #undef PACKAGE_NAME
24 #undef PACKAGE_BUGREPORT
25
26 typedef enum {
27 H2_CONF_MAX_STREAMS,
28 H2_CONF_WIN_SIZE,
29 H2_CONF_MIN_WORKERS,
30 H2_CONF_MAX_WORKERS,
31 H2_CONF_MAX_WORKER_IDLE_SECS,
32 H2_CONF_STREAM_MAX_MEM,
33 H2_CONF_ALT_SVCS,
34 H2_CONF_ALT_SVC_MAX_AGE,
35 H2_CONF_SER_HEADERS,
36 H2_CONF_DIRECT,
37 H2_CONF_MODERN_TLS_ONLY,
38 H2_CONF_UPGRADE,
39 H2_CONF_TLS_WARMUP_SIZE,
40 H2_CONF_TLS_COOLDOWN_SECS,
41 H2_CONF_PUSH,
42 H2_CONF_PUSH_DIARY_SIZE,
43 H2_CONF_COPY_FILES,
44 H2_CONF_EARLY_HINTS,
45 H2_CONF_PADDING_BITS,
46 H2_CONF_PADDING_ALWAYS,
47 H2_CONF_OUTPUT_BUFFER,
48 } h2_config_var_t;
49
50 struct apr_hash_t;
51 struct h2_priority;
52 struct h2_push_res;
53
54 typedef struct h2_push_res {
55 const char *uri_ref;
56 int critical;
57 } h2_push_res;
58
59
60 void *h2_config_create_dir(apr_pool_t *pool, char *x);
61 void *h2_config_merge_dir(apr_pool_t *pool, void *basev, void *addv);
62 void *h2_config_create_svr(apr_pool_t *pool, server_rec *s);
63 void *h2_config_merge_svr(apr_pool_t *pool, void *basev, void *addv);
64
65 extern const command_rec h2_cmds[];
66
67 int h2_config_geti(request_rec *r, server_rec *s, h2_config_var_t var);
68 apr_int64_t h2_config_geti64(request_rec *r, server_rec *s, h2_config_var_t var);
69
70 /**
71 * Get the configured value for variable <var> at the given connection.
72 */
73 int h2_config_cgeti(conn_rec *c, h2_config_var_t var);
74 apr_int64_t h2_config_cgeti64(conn_rec *c, h2_config_var_t var);
75
76 /**
77 * Get the configured value for variable <var> at the given server.
78 */
79 int h2_config_sgeti(server_rec *s, h2_config_var_t var);
80 apr_int64_t h2_config_sgeti64(server_rec *s, h2_config_var_t var);
81
82 /**
83 * Get the configured value for variable <var> at the given request,
84 * if configured for the request location.
85 * Fallback to request server config otherwise.
86 */
87 int h2_config_rgeti(request_rec *r, h2_config_var_t var);
88 apr_int64_t h2_config_rgeti64(request_rec *r, h2_config_var_t var);
89
90 apr_array_header_t *h2_config_push_list(request_rec *r);
91 apr_array_header_t *h2_config_alt_svcs(request_rec *r);
92
93
94 void h2_get_num_workers(server_rec *s, int *minw, int *maxw);
95 void h2_config_init(apr_pool_t *pool);
96
97 const struct h2_priority *h2_cconfig_get_priority(conn_rec *c, const char *content_type);
98
99 #endif /* __mod_h2__h2_config_h__ */
100