You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 lines
1.1 KiB

#ifndef _KEY_VALUE_H_
#define _KEY_VALUE_H_
#include "first.h"
#include "base_decls.h"
#include "buffer.h"
struct burl_parts_t; /* declaration */
struct cond_match_t; /* declaration */
struct pcre_keyvalue; /* declaration */
typedef struct pcre_keyvalue_ctx {
struct cond_match_t *cache;
struct burl_parts_t *burl;
int cond_match_count;
int m;
} pcre_keyvalue_ctx;
typedef struct {
struct pcre_keyvalue *kv;
uint32_t used;
uint16_t x0;
uint16_t x1;
} pcre_keyvalue_buffer;
pcre_keyvalue_buffer *pcre_keyvalue_buffer_init(void);
int pcre_keyvalue_buffer_append(log_error_st *errh, pcre_keyvalue_buffer *kvb, const buffer *key, const buffer *value, int pcre_jit);
void pcre_keyvalue_buffer_free(pcre_keyvalue_buffer *kvb);
handler_t pcre_keyvalue_buffer_process(const pcre_keyvalue_buffer *kvb, pcre_keyvalue_ctx *ctx, const buffer *input, buffer *result);
void pcre_keyvalue_burl_normalize_key(buffer *k, buffer *t);
void pcre_keyvalue_burl_normalize_value(buffer *v, buffer *t);