⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cql.h

📁 harvest是一个下载html网页得机器人
💻 H
字号:
/* $Id: cql.h,v 1.4 2003/05/27 09:46:26 mike Exp $   Copyright (C) 2002-2003   Index Data ApsThis file is part of the YAZ toolkit.See the file LICENSE.*/#ifndef CQL_H_INCLUDED#define CQL_H_INCLUDED#include <stdio.h>#include <yaz/yconfig.h>typedef struct cql_parser *CQL_parser;/** * cql_parser_create: * * creates a CQL parser. * * Returns CQL parser or NULL if parser could not be created. */YAZ_EXPORT CQL_parser cql_parser_create(void);/** * cql_parser_destroy: * @cp:  A CQL parser * * Destroy CQL parser. This function does nothing if * NULL pointer is received. */YAZ_EXPORT void cql_parser_destroy(CQL_parser cp);/** * cql_parser_string: * @cp:  A CQL parser. * @str:  A query string to be parsed. * * Parses a CQL query string. * * Returns 0 if parsing was succesful; non-zero (error code) if * unsuccesful. */YAZ_EXPORT int cql_parser_string(CQL_parser cp, const char *str);/** * cql_parser_stream: * @cp:  A CQL parser. * @getbyte:  Handler to read one character (for parsing). * @ungetbyte: Handler to unread one byte (for parsing). * @client_data:  User data associated with getbyte/ungetbyte handlers. * * Parses a CQL query from a user defined stream. * * Returns 0 if parsing was succesful; non-zero (error code) if * unsuccesful. */YAZ_EXPORT int cql_parser_stream(CQL_parser cp,                      int (*getbyte)(void *client_data),                      void (*ungetbyte)(int b, void *client_data),                      void *client_data);/** * cql_parser_stdio: * @cp:  A CQL parser. * @f: FILE handler in read mode. * * Parses a CQL query from a file. * * Returns 0 if parsing was succesful; non-zero (error code) if * unsuccesful. */YAZ_EXPORTint cql_parser_stdio(CQL_parser cp, FILE *f);#define CQL_NODE_ST 1#define CQL_NODE_BOOL 2#define CQL_NODE_MOD 3struct cql_node {    int which;    union {        struct {            char *index;            char *term;            char *relation;            struct cql_node *modifiers;            struct cql_node *prefixes;        } st;        struct {            char *value;            struct cql_node *left;            struct cql_node *right;            struct cql_node *modifiers;            struct cql_node *prefixes;        } boolean;        struct {            char *name;            char *value;            struct cql_node *next;        } mod;    } u;};struct cql_properties;struct cql_buf_write_info {    int max;    int off;    char *buf;};YAZ_EXPORTvoid cql_buf_write_handler (const char *b, void *client_data);YAZ_EXPORTvoid cql_node_print(struct cql_node *cn);YAZ_EXPORTstruct cql_node *cql_node_mk_sc(const char *index,                                const char *relation,                                const char *term);YAZ_EXPORTstruct cql_node *cql_node_mk_boolean(const char *op);YAZ_EXPORTvoid cql_node_destroy(struct cql_node *cn);YAZ_EXPORTstruct cql_node *cql_node_prefix(struct cql_node *n,                                  const char *prefix,                                 const char *uri);YAZ_EXPORTstruct cql_node *cql_node_mk_mod(const char *name,                                 const char *value);YAZ_EXPORTstruct cql_node *cql_node_dup (struct cql_node *cp);YAZ_EXPORTstruct cql_node *cql_parser_result(CQL_parser cp);YAZ_EXPORTvoid cql_to_xml(struct cql_node *cn,                 void (*pr)(const char *buf, void *client_data),                void *client_data);YAZ_EXPORTvoid cql_to_xml_stdio(struct cql_node *cn, FILE *f);YAZ_EXPORTint cql_to_xml_buf(struct cql_node *cn, char *out, int max);YAZ_EXPORTstruct cql_node *cql_node_mk_proxargs(const char *relation,                                      const char *distance,                                      const char *unit,                                      const char *ordering);YAZ_EXPORTvoid cql_fputs(const char *buf, void *client_data);typedef struct cql_transform_t_ *cql_transform_t;YAZ_EXPORTcql_transform_t cql_transform_open_FILE (FILE *f);YAZ_EXPORTcql_transform_t cql_transform_open_fname(const char *fname);YAZ_EXPORTvoid cql_transform_close(cql_transform_t ct);YAZ_EXPORTvoid cql_transform_pr(cql_transform_t ct,                      struct cql_node *cn,                      void (*pr)(const char *buf, void *client_data),                      void *client_data);YAZ_EXPORTint cql_transform_FILE(cql_transform_t ct,                       struct cql_node *cn, FILE *f);YAZ_EXPORTint cql_transform_buf(cql_transform_t ct,                      struct cql_node *cn, char *out, int max);YAZ_EXPORTint cql_transform_error(cql_transform_t ct, const char **addinfo);YAZ_EXPORTconst char *cql_strerror(int code);#endif/* CQL_H_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -