X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Fsession.h;h=e0cba4c2c82cf9b2471a220c3873587b6bb32d30;hp=bf196e48e68539b65eb16d66813e7f31982ba845;hb=62fd62f25a6893d042c4c87f8c770929fd8cf95d;hpb=c6e47cbbff56f39f6d81b079ebaeac41d793d4d9 diff --git a/src/session.h b/src/session.h index bf196e4..e0cba4c 100644 --- a/src/session.h +++ b/src/session.h @@ -1,25 +1,48 @@ /* - * Copyright (C) 1995-2003, Index Data + * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. - * Sebastian Hammer, Adam Dickmeiss * - * $Id: session.h,v 1.1 2003-10-27 12:21:35 adam Exp $ + * $Id: session.h,v 1.13 2007-01-03 08:42:15 adam Exp $ + */ +/** + * \file session.h + * \brief Internal Header for GFS. */ - #ifndef SESSION_H #define SESSION_H -#include #include +#include #include #include #include +#include +#include #include "eventl.h" +struct gfs_server { + statserv_options_block cb; + char *host; + int listen_ref; + cql_transform_t cql_transform; + void *server_node_ptr; + char *directory; + char *docpath; + char *stylesheet; + yaz_retrieval_t retrieval; + struct gfs_server *next; +}; + +struct gfs_listen { + char *id; + char *address; + struct gfs_listen *next; +}; + typedef enum { - REQUEST_IDLE, /* the request is just sitting in the queue */ - REQUEST_PENDING /* operation pending (b'end processing or network I/O*/ - /* this list will have more elements when acc/res control is added */ + REQUEST_IDLE, /* the request is just sitting in the queue */ + REQUEST_PENDING /* operation pending (b'end processing or network I/O*/ + /* this list will have more elements when acc/res control is added */ } request_state; typedef struct request @@ -87,9 +110,13 @@ typedef struct association unsigned cs_accept_mask; struct bend_initrequest *init; + statserv_options_block *last_control; + + struct gfs_server *server; } association; -association *create_association(IOCHAN channel, COMSTACK link); +association *create_association(IOCHAN channel, COMSTACK link, + const char *apdufile); void destroy_association(association *h); void ir_session(IOCHAN h, int event); @@ -104,4 +131,16 @@ void request_release(request *r); int statserv_must_terminate(void); +int control_association(association *assoc, const char *host, int force); + +int ir_read(IOCHAN h, int event); + #endif +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +