X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=zoom%2Fzoom-p.h;h=2d7d95dbd0850ec72e05360862735158103ba737;hb=00a3858993442806aca78f82e28f88c5942dc135;hp=4991cde2569f401cf3fb99d54eba7c7e13c6e3db;hpb=bc66c2a11aa31c16f46c49100e99dc9b7e940faf;p=yaz-moved-to-github.git diff --git a/zoom/zoom-p.h b/zoom/zoom-p.h index 4991cde..2d7d95d 100644 --- a/zoom/zoom-p.h +++ b/zoom/zoom-p.h @@ -1,13 +1,16 @@ /* * Private C header for ZOOM C. - * $Id: zoom-p.h,v 1.2 2001-10-24 12:24:43 adam Exp $ + * $Id: zoom-p.h,v 1.12 2002-08-20 08:19:40 adam Exp $ */ #include #include #include #include +#include + +typedef struct ZOOM_Event_p *ZOOM_Event; -struct Z3950_search_p { +struct ZOOM_query_p { Z_Query *query; Z_SortKeySpecList *sort_spec; int refcount; @@ -18,17 +21,18 @@ struct Z3950_search_p { #define STATE_CONNECTING 1 #define STATE_ESTABLISHED 2 -#define Z3950_SELECT_READ 1 -#define Z3950_SELECT_WRITE 2 -#define Z3950_SELECT_EXCEPT 4 +#define ZOOM_SELECT_READ 1 +#define ZOOM_SELECT_WRITE 2 +#define ZOOM_SELECT_EXCEPT 4 -struct Z3950_connection_p { +struct ZOOM_connection_p { COMSTACK cs; char *host_port; int error; char *addinfo; int state; int mask; + int reconnect_ok; ODR odr_in; ODR odr_out; char *buf_in; @@ -36,78 +40,118 @@ struct Z3950_connection_p { char *buf_out; int len_out; char *proxy; + char *charset; + char *lang; char *cookie_out; char *cookie_in; + char *client_IP; int async; - int event_pending; - Z3950_task tasks; - Z3950_options options; - Z3950_resultset resultsets; + int support_named_resultsets; + int last_event; + ZOOM_task tasks; + ZOOM_options options; + ZOOM_resultset resultsets; + ZOOM_Event m_queue_front; + ZOOM_Event m_queue_back; }; -struct Z3950_options_entry { +struct ZOOM_options_entry { char *name; char *value; - struct Z3950_options_entry *next; + struct ZOOM_options_entry *next; }; -struct Z3950_options_p { +struct ZOOM_options_p { int refcount; void *callback_handle; - Z3950_options_callback callback_func; - struct Z3950_options_entry *entries; - Z3950_options parent; + ZOOM_options_callback callback_func; + struct ZOOM_options_entry *entries; + ZOOM_options parent1; + ZOOM_options parent2; }; -typedef struct Z3950_record_cache_p *Z3950_record_cache; +typedef struct ZOOM_record_cache_p *ZOOM_record_cache; -struct Z3950_resultset_p { +struct ZOOM_resultset_p { Z_Query *r_query; Z_SortKeySpecList *r_sort_spec; - Z3950_search search; + ZOOM_query search; int refcount; int size; int start; int count; int piggyback; + char *setname; ODR odr; - Z3950_record_cache record_cache; - Z3950_options options; - Z3950_connection connection; - Z3950_resultset next; + ZOOM_record_cache record_cache; + ZOOM_options options; + ZOOM_connection connection; + ZOOM_resultset next; }; -struct Z3950_record_p { +struct ZOOM_record_p { ODR odr; WRBUF wrbuf_marc; Z_NamePlusRecord *npr; }; -struct Z3950_record_cache_p { - struct Z3950_record_p rec; +struct ZOOM_record_cache_p { + struct ZOOM_record_p rec; char *elementSetName; + char *syntax; int pos; - Z3950_record_cache next; + ZOOM_record_cache next; +}; + +struct ZOOM_scanset_p { + int refcount; + ODR odr; + ZOOM_options options; + ZOOM_connection connection; + Z_AttributesPlusTerm *termListAndStartPoint; + Z_AttributeSetId *attributeSet; + Z_ScanResponse *scan_response; +}; + +struct ZOOM_package_p { + int refcount; + ODR odr_out; + ZOOM_options options; + ZOOM_connection connection; + char *buf_out; + int len_out; }; -struct Z3950_task_p { +struct ZOOM_task_p { int running; int which; union { -#define Z3950_TASK_SEARCH 1 - Z3950_resultset resultset; -#define Z3950_TASK_RETRIEVE 2 - /** also resultset here */ - +#define ZOOM_TASK_SEARCH 1 + struct { + ZOOM_resultset resultset; + } search; +#define ZOOM_TASK_RETRIEVE 2 + struct { + int start; + ZOOM_resultset resultset; + int count; + } retrieve; +#define ZOOM_TASK_CONNECT 3 +#define ZOOM_TASK_SCAN 4 + struct { + ZOOM_scanset scan; + } scan; +#define ZOOM_TASK_PACKAGE 5 + ZOOM_package package; } u; - Z3950_task next; + ZOOM_task next; }; -#ifndef YAZ_DATE -COMSTACK cs_create_host(const char *type_and_host, int blocking, void **vp); -Odr_oid *yaz_str_to_z3950oid (ODR o, int oid_class, const char *str); -Z_SortKeySpecList *yaz_sort_spec (ODR out, const char *arg); -#else -#include -#endif +struct ZOOM_Event_p { + int kind; + ZOOM_Event next; + ZOOM_Event prev; +}; + +void ZOOM_options_addref (ZOOM_options opt);