#ifndef _K_QUERY_H
#define _K_QUERY_H
#include <OS.h>
#ifndef _QUERY_H
typedef enum {
B_INVALID_OP = 0,
B_EQ,
B_GT,
B_GE,
B_LT,
B_LE,
B_NE,
B_CONTAINS,
B_BEGINS_WITH,
B_ENDS_WITH,
B_AND = 0x101,
B_OR,
B_NOT,
_B_RESERVED_OP_ = 0x100000
} query_op;
#endif
struct query_exp;
struct query_term {
struct query_exp *exp;
char *str;
};
typedef struct query_exp {
query_op op;
struct query_term lv;
struct query_term rv;
} query_exp;
extern char *query_unescape_string(const char *q, const char **newq, char delim);
extern char *query_strip_bracketed_Cc(char *str);
extern status_t query_parse(const char *query, query_exp **tree);
#endif