1
0
Fork 0
mirror of https://github.com/puma/puma.git synced 2022-11-09 13:48:40 -05:00
puma--puma/ext/http11/tst.h
filipe 706aef01fb After some discussion with tst upstream author (Peter A friend), he changed the tst library to meet mongrel needs,
and he also close the bug upstream :D So we are in sync with his source code and bug 10279 is closed with this
commit.



git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@586 19e92222-5c0b-0410-8929-a290d50e31e9
2007-09-13 04:12:01 +00:00

40 lines
764 B
C

struct node
{
unsigned char value;
struct node *left;
struct node *middle;
struct node *right;
};
struct tst
{
int node_line_width;
struct node_lines *node_lines;
struct node *free_list;
struct node *head[127];
};
struct node_lines
{
struct node *node_line;
struct node_lines *next;
};
enum tst_constants
{
TST_OK, TST_ERROR, TST_NULL_KEY, TST_DUPLICATE_KEY, TST_REPLACE, TST_LONGEST_MATCH
};
struct tst *tst_init(int node_line_width);
int tst_insert(unsigned char *key, void *data, struct tst *tst, int option, void **exist_ptr);
void *tst_search(const unsigned char *key, struct tst *tst, int option, unsigned int *match_len);
void *tst_delete(unsigned char *key, struct tst *tst);
void tst_cleanup(struct tst *tst);