diff options
author | stbuehler <stbuehler@152afb58-edef-0310-8abb-c4023f1b3aa9> | 2015-09-18 15:15:18 +0000 |
---|---|---|
committer | stbuehler <stbuehler@152afb58-edef-0310-8abb-c4023f1b3aa9> | 2015-09-18 15:15:18 +0000 |
commit | 8b2630a82fbecfd57fa38aebb397a755936690e5 (patch) | |
tree | a9cfcd7bb5bea87d63fc8ef81c8456a130a249bc /src/array.h | |
parent | e57c8295ebe92b58ca3e68fa8ea8f70d4b0b4cee (diff) | |
download | lighttpd-master.tar.gz |
git-svn-id: svn://svn.lighttpd.net/lighttpd/trunk@3041 152afb58-edef-0310-8abb-c4023f1b3aa9
Diffstat (limited to 'src/array.h')
-rw-r--r-- | src/array.h | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/src/array.h b/src/array.h deleted file mode 100644 index 0fa73e87..00000000 --- a/src/array.h +++ /dev/null @@ -1,160 +0,0 @@ -#ifndef ARRAY_H -#define ARRAY_H - -#include "settings.h" - -#include <stdlib.h> -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif -#ifdef HAVE_PCRE_H -# include <pcre.h> -#endif -#include "buffer.h" - -#define DATA_IS_STRING(x) (x->type == TYPE_STRING) - -typedef enum { TYPE_UNSET, TYPE_STRING, TYPE_COUNT, TYPE_ARRAY, TYPE_INTEGER, TYPE_FASTCGI, TYPE_CONFIG } data_type_t; -#define DATA_UNSET \ - data_type_t type; \ - buffer *key; \ - int is_index_key; /* 1 if key is an array index (auto-generated keys) */ \ - struct data_unset *(*copy)(const struct data_unset *src); \ - void (* free)(struct data_unset *p); \ - void (* reset)(struct data_unset *p); \ - int (*insert_dup)(struct data_unset *dst, struct data_unset *src); \ - void (*print)(const struct data_unset *p, int depth) - -typedef struct data_unset { - DATA_UNSET; -} data_unset; - -typedef struct { - data_unset **data; - - size_t *sorted; - - size_t used; - size_t size; - - size_t unique_ndx; - - size_t next_power_of_2; - int is_weakref; /* data is weakref, don't bother the data */ -} array; - -typedef struct { - DATA_UNSET; - - int count; -} data_count; - -LI_API data_count* data_count_init(void); - -typedef struct { - DATA_UNSET; - - buffer *value; -} data_string; - -LI_API data_string* data_string_init(void); -LI_API data_string* data_response_init(void); - -typedef struct { - DATA_UNSET; - - array *value; -} data_array; - -LI_API data_array* data_array_init(void); - -/** - * possible compare ops in the configfile parser - */ -typedef enum { - CONFIG_COND_UNSET, - CONFIG_COND_EQ, /** == */ - CONFIG_COND_MATCH, /** =~ */ - CONFIG_COND_NE, /** != */ - CONFIG_COND_NOMATCH /** !~ */ -} config_cond_t; - -/** - * possible fields to match against - */ -typedef enum { - COMP_UNSET, - COMP_SERVER_SOCKET, - COMP_HTTP_URL, - COMP_HTTP_HOST, - COMP_HTTP_REFERER, - COMP_HTTP_USER_AGENT, - COMP_HTTP_COOKIE, - COMP_HTTP_SCHEME, - COMP_HTTP_REMOTE_IP, - COMP_HTTP_QUERY_STRING, - COMP_HTTP_REQUEST_METHOD, - COMP_PHYSICAL_PATH, - COMP_PHYSICAL_PATH_EXISTS, - - COMP_LAST_ELEMENT -} comp_key_t; - -/* $HTTP["host"] == "incremental.home.kneschke.de" { ... } - * for print: comp_key op string - * for compare: comp cond string/regex - */ - -typedef struct _data_config data_config; -struct _data_config { - DATA_UNSET; - - array *value; - - buffer *comp_key; - comp_key_t comp; - - config_cond_t cond; - buffer *op; - - int context_ndx; /* more or less like an id */ - array *childs; - /* nested */ - data_config *parent; - /* for chaining only */ - data_config *prev; - data_config *next; - - buffer *string; -#ifdef HAVE_PCRE_H - pcre *regex; - pcre_extra *regex_study; -#endif -}; - -LI_API data_config* data_config_init(void); - -typedef struct { - DATA_UNSET; - - int value; -} data_integer; - -LI_API data_integer* data_integer_init(void); -LI_API array* array_init(void); -LI_API array* array_init_array(array *a); -LI_API void array_free(array *a); -LI_API void array_reset(array *a); -LI_API int array_insert_unique(array *a, data_unset *str); -LI_API data_unset* array_pop(array *a); -LI_API int array_print(array *a, int depth); -LI_API data_unset* array_get_unused_element(array *a, data_type_t t); -LI_API data_unset* array_get_element(array *a, const char *key, size_t key_len); -LI_API void array_set_key_value(array *hdrs, const char *key, size_t key_len, const char *value, size_t val_len); -LI_API void array_append_key_value(array *hdrs, const char *key, size_t key_len, const char *value, size_t val_len); -LI_API data_unset* array_replace(array *a, data_unset *du); -LI_API int array_strcasecmp(const char *a, size_t a_len, const char *b, size_t b_len); -LI_API void array_print_indent(int depth); -LI_API size_t array_get_max_key_length(array *a); - -#endif |