[core] __attribute__((fallthrough)) for GCC 7.0
[lighttpd.git] / src / keyvalue.h
blob0a785484503d110390c746b431076ec7464bb4cd
1 #ifndef _KEY_VALUE_H_
2 #define _KEY_VALUE_H_
3 #include "first.h"
5 #include "base_decls.h"
6 #include "buffer.h"
8 struct burl_parts_t; /* declaration */
9 struct cond_cache_t; /* declaration */
10 struct pcre_keyvalue; /* declaration */
12 typedef struct pcre_keyvalue_ctx {
13 struct cond_cache_t *cache;
14 struct burl_parts_t *burl;
15 int m;
16 } pcre_keyvalue_ctx;
18 typedef struct {
19 struct pcre_keyvalue **kv;
20 size_t used;
21 size_t size;
22 } pcre_keyvalue_buffer;
24 pcre_keyvalue_buffer *pcre_keyvalue_buffer_init(void);
25 int pcre_keyvalue_buffer_append(struct server *srv, pcre_keyvalue_buffer *kvb, buffer *key, buffer *value);
26 void pcre_keyvalue_buffer_free(pcre_keyvalue_buffer *kvb);
27 handler_t pcre_keyvalue_buffer_process(pcre_keyvalue_buffer *kvb, pcre_keyvalue_ctx *ctx, buffer *input, buffer *result);
28 void pcre_keyvalue_burl_normalize_key(buffer *k, buffer *t);
29 void pcre_keyvalue_burl_normalize_value(buffer *v, buffer *t);
31 #endif