X-Git-Url: http://lists.indexdata.com/cgi-bin?a=blobdiff_plain;ds=sidebyside;f=src%2Fconfig.h;h=53c1de6328f38fdb7d96e3745860ca1d0456e426;hb=dde4a5914bbb5511a91e73d8ab45210b48637596;hp=801e4cb08592b1140b35036c76e8099f9f9688a4;hpb=57c8fe348b7ffe005ac2825e84e237de34113987;p=pazpar2-moved-to-github.git diff --git a/src/config.h b/src/config.h index 801e4cb..53c1de6 100644 --- a/src/config.h +++ b/src/config.h @@ -1,5 +1,89 @@ #ifndef CONFIG_H #define CONFIG_H +#include +#include +#include + +struct conf_termlist +{ + char *name; + struct conf_termlist *next; +}; + +struct conf_service +{ + struct conf_termlist *termlists; +}; + +struct conf_server +{ + char *host; + int port; + char *proxy_host; + int proxy_port; + struct conf_service *service; + struct conf_server *next; +}; + +struct conf_queryprofile +{ +}; + +struct conf_retrievalmap +{ + enum { + Map_xslt + } type; + char *charset; + char *format; + xsltStylesheet *stylesheet; + struct conf_retrievalmap *next; +}; + +struct conf_retrievalprofile +{ + char *requestsyntax; + enum { + Nativesyn_xml, + Nativesyn_iso2709 + } native_syntax; + enum { + Nativeform_na, + Nativeform_marc21, + } native_format; + char *native_encoding; + enum { + Nativemapto_na, + Nativemapto_marcxml, + Nativemapto_marcxchange + } native_mapto; + yaz_marc_t yaz_marc; + struct conf_retrievalmap *maplist; + struct conf_retrievalprofile *next; +}; + +struct conf_config +{ + struct conf_server *servers; + struct conf_queryprofile *queryprofiles; + struct conf_retrievalprofile *retrievalprofiles; +}; + +#ifndef CONFIG_NOEXTERNS + +extern struct conf_config *config; + +#endif + +int read_config(const char *fname); #endif + +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */