-/*
- * Copyright (c) 1995-2000, Index Data.
- * See the file LICENSE for details.
- * Sebastian Hammer, Adam Dickmeiss
- *
- * $Log: yaz-util.h,v $
- * Revision 1.4 2002-08-27 14:02:43 adam
- * Simple iconv library
- *
- * Revision 1.3 2001/04/06 12:26:46 adam
- * Optional CCL module. Moved atoi_n to marcdisp.h from yaz-util.h.
- *
- * Revision 1.2 2000/02/28 11:20:06 adam
- * Using autoconf. New definitions: YAZ_BEGIN_CDECL/YAZ_END_CDECL.
- *
- * Revision 1.1 1999/11/30 13:47:11 adam
- * Improved installation. Moved header files to include/yaz.
- *
- * Revision 1.6 1997/10/27 13:52:46 adam
- * Header yaz-util includes all YAZ utility header files.
- *
- * Revision 1.5 1997/09/04 07:58:36 adam
- * Added prototype for atoi_n.
+/* This file is part of the YAZ toolkit.
+ * Copyright (C) Index Data.
+ * All rights reserved.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
*
- * Revision 1.4 1997/09/01 08:49:54 adam
- * New windows NT/95 port using MSV5.0. To export DLL functions the
- * YAZ_EXPORT modifier was added. Defined in yconfig.h.
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of Index Data nor the names of its contributors
+ * may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
*
- * Revision 1.3 1997/05/14 06:53:54 adam
- * C++ support.
- *
- * Revision 1.2 1996/02/20 17:58:09 adam
- * Added const to yaz_matchstr.
- *
- * Revision 1.1 1996/02/20 16:32:49 quinn
- * Created util file.
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * \file yaz-util.h
+ * \brief Header for common YAZ utilities
*/
#ifndef YAZ_UTIL_H
#define YAZ_UTIL_H
#include <yaz/yconfig.h>
+#include <yaz/yaz-version.h>
#include <yaz/xmalloc.h>
+
#include <yaz/log.h>
+
#include <yaz/tpath.h>
#include <yaz/options.h>
#include <yaz/wrbuf.h>
#include <yaz/nmem.h>
#include <yaz/readconf.h>
#include <yaz/marcdisp.h>
+#include <yaz/yaz-iconv.h>
+#include <yaz/matchstr.h>
+
+/** \mainpage YAZ
+ \section intro_sec Introduction
+
+ For a general introduction to YAZ, read the
+ YAZ User's Guide and Reference at
+ http://www.indexdata.com/yaz/doc/
+ This is also located in the doc directory of the YAZ distribution.
+ (This main page is from yaz-util.h).
+
+ The following sections is just a summary of the most important
+ header files and where they belong.
+
+ \section utilities Utilies
+ Logging (syslog-like) utility \ref log.h .
+
+ Memory management for small blocks \ref nmem.h .
+
+ Write string buffer \ref wrbuf.h .
+
+ Options handling \ref options.h .
+
+ Character conversion \ref yaz-iconv.h .
+
+ MARC / MARCXML \ref marcdisp.h .
+
+ Testing framework: \ref test.h .
+
+ Record conversion: \ref record_conv.h .
+
+ Record retrieval: \ref retrieval.h .
+
+ Timing : \ref timing.h .
-YAZ_BEGIN_CDECL
+ Locking: \ref mutex.h .
-typedef struct yaz_iconv_struct *yaz_iconv_t;
-#define YAZ_ICONV_UNKNOWN 1
-#define YAZ_ICONV_E2BIG 2
-#define YAZ_ICONV_EILSEQ 3
-#define YAZ_ICONV_EINVAL 4
+ Daemon: \ref daemon.h .
-YAZ_EXPORT yaz_iconv_t yaz_iconv_open (const char *tocode,
- const char *fromcode);
-YAZ_EXPORT size_t yaz_iconv (yaz_iconv_t cd, char **inbuf, size_t *inbytesleft,
- char **outbuf, size_t *outbytesleft);
-YAZ_EXPORT int yaz_iconv_error (yaz_iconv_t cd);
+ Windows Service: \ref sc.h .
-YAZ_EXPORT int yaz_iconv_close (yaz_iconv_t cd);
+ \section queryparsers Query parsers
-YAZ_EXPORT int yaz_matchstr(const char *s1, const char *s2);
+ PQF parsing: \ref pquery.h .
+ CCL parsing: \ref ccl.h .
-YAZ_END_CDECL
+ CQL parsing and conversion: \ref cql.h .
+ Z39.50 sort: \ref sortspec.h .
+
+ \section ber BER handling
+
+ BER utilities (ODR): \ref odr.h .
+
+ \section z3950 Z39.50
+
+ Z39.50 common header: \ref proto.h .
+
+ Z39.50 core codecs: \ref z-core.h.
+
+ Z39.50 related formats:
+ \ref z-accdes1.h , \ref z-core.h ,
+ \ref z-estask.h , \ref z-oclcui.h , \ref z-sum.h
+ \ref z-accform1.h , \ref z-date.h ,
+ \ref z-exp.h , \ref z-opac.h , \ref z-sutrs.h
+ \ref z-acckrb1.h , \ref z-diag1.h ,
+ \ref z-grs.h , \ref z-rrf1.h , \ref z-uifr1.h
+ \ref z-charneg.h , \ref z-espec1.h
+ \ref z-mterm2.h , \ref z-rrf2.h , \ref z-univ.h .
+
+ Z39.50 extended services:
+ \ref zes-admin.h , \ref zes-exps.h , \ref zes-pquery.h ,
+ \ref zes-pset.h , \ref zes-update.h ,
+ \ref zes-expi.h , \ref zes-order.h , \ref zes-psched.h ,
+ \ref zes-update0.h .
+
+ Z39.50 diagnostics: \ref diagbib1.h .
+
+ Z39.50 externals: \ref prt-ext.h .
+
+ \section GDU Generic Data Unit (HTTP and BER)
+
+ Definitions for GDU and HTTP: \ref zgdu.h .
+
+ \section SRU SRU
+
+ SRU/SRW definitions: \ref srw.h .
+
+ SRW diagnostics: \ref diagsrw.h .
+
+ \section ILL ILL
+
+ Common header: \ref ill.h .
+
+ Codecs: \ref ill-core.h
+
+ \section ZOOM ZOOM
+
+ Common header: \ref zoom.h .
+
+ \section GFS Generic Frontend Server (GFS)
+
+ Header: \ref backend.h .
+
+*/
#endif
+
+/*
+ * Local variables:
+ * c-basic-offset: 4
+ * c-file-style: "Stroustrup"
+ * indent-tabs-mode: nil
+ * End:
+ * vim: shiftwidth=4 tabstop=8 expandtab
+ */
+