From: Adam Dickmeiss Date: Wed, 8 Dec 2004 12:23:08 +0000 (+0000) Subject: Move/refactoring of public interfaces.. X-Git-Tag: snippet.version.1~229 X-Git-Url: http://git.indexdata.com/?p=idzebra-moved-to-github.git;a=commitdiff_plain;h=05b9b8ed020c5bfa48a913d6a2e2b50ddf1bab8e Move/refactoring of public interfaces.. Dictionary now public. Private header dict-p.h added. Block File now public. Private headers mfile.h moved to away from include. --- diff --git a/bfile/Makefile.am b/bfile/Makefile.am index f375a78..05db97f 100644 --- a/bfile/Makefile.am +++ b/bfile/Makefile.am @@ -1,7 +1,7 @@ -## $Id: Makefile.am,v 1.3 2004-08-24 10:37:18 adam Exp $ Copyright (C) 1994-1998, Index Data ApS +## $Id: Makefile.am,v 1.4 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1994-1998, Index Data ApS lib_LTLIBRARIES = libidzebra-bfile.la AM_CPPFLAGS = -I$(srcdir)/../include $(YAZINC) -libidzebra_bfile_la_SOURCES = bfile.c mfile.c cfile.c commit.c cfile.h +libidzebra_bfile_la_SOURCES = bfile.c mfile.c cfile.c commit.c cfile.h mfile.h diff --git a/bfile/bfile.c b/bfile/bfile.c index 3ba061e..999cdf4 100644 --- a/bfile/bfile.c +++ b/bfile/bfile.c @@ -1,5 +1,5 @@ -/* $Id: bfile.c,v 1.37 2004-11-19 10:26:53 heikki Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 +/* $Id: bfile.c,v 1.38 2004-12-08 12:23:08 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps This file is part of the Zebra server. @@ -20,8 +20,6 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - - #include #include #include @@ -33,10 +31,17 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #endif #include -#include - +#include +#include "mfile.h" #include "cfile.h" +struct BFile_struct +{ + MFile mf; + Zebra_lock_rdwr rdwr_lock; + struct CFile_struct *cf; +}; + struct BFiles_struct { MFile_area commit_area; MFile_area_struct *register_area; @@ -117,7 +122,7 @@ int bf_close (BFile bf) BFile bf_open (BFiles bfs, const char *name, int block_size, int wflag) { - BFile tmp = (BFile) xmalloc(sizeof(BFile_struct)); + BFile tmp = (BFile) xmalloc(sizeof(struct BFile_struct)); if (bfs->commit_area) { diff --git a/bfile/cfile.c b/bfile/cfile.c index 6d460c1..60dc4d2 100644 --- a/bfile/cfile.c +++ b/bfile/cfile.c @@ -1,4 +1,4 @@ -/* $Id: cfile.c,v 1.31 2004-11-19 10:26:53 heikki Exp $ +/* $Id: cfile.c,v 1.32 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -20,14 +20,12 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - - #include #include #include #include -#include +#include "mfile.h" #include "cfile.h" static int write_head (CFile cf) diff --git a/bfile/commit.c b/bfile/commit.c index 83d54a9..c6f7422 100644 --- a/bfile/commit.c +++ b/bfile/commit.c @@ -1,4 +1,4 @@ -/* $Id: commit.c,v 1.21 2004-11-19 10:26:53 heikki Exp $ +/* $Id: commit.c,v 1.22 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -21,12 +21,11 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA */ - #include #include #include -#include +#include "mfile.h" #include "cfile.h" #define CF_OPTIMIZE_COMMIT 0 diff --git a/bfile/mfile.c b/bfile/mfile.c index bbbc1cf..3f673aa 100644 --- a/bfile/mfile.c +++ b/bfile/mfile.c @@ -1,4 +1,4 @@ -/* $Id: mfile.c,v 1.56 2004-11-19 10:26:53 heikki Exp $ +/* $Id: mfile.c,v 1.57 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003 Index Data Aps @@ -44,7 +44,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "mfile.h" static int scan_areadef(MFile_area ma, const char *ad, const char *base) { diff --git a/bfile/mfile.h b/bfile/mfile.h new file mode 100644 index 0000000..3cf4cda --- /dev/null +++ b/bfile/mfile.h @@ -0,0 +1,155 @@ +/* $Id: mfile.h,v 1.1 2004-12-08 12:23:08 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 + Index Data Aps + +This file is part of the Zebra server. + +Zebra is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + + + +#ifndef MFILE_H +#define MFILE_H + +#include +#include +#include + +#ifdef WIN32 + +/* 64-bit access .. */ +typedef __int64 mfile_off_t; +#define mfile_seek _lseeki64 + +#else +#include +typedef off_t mfile_off_t; +#define mfile_seek lseek +#endif + +#ifndef FILENAME_MAX +#include +#define FILENAME_MAX MAXPATHLEN +#endif + +#include + +YAZ_BEGIN_CDECL + +#define MF_MIN_BLOCKS_CREAT 1 /* minimum free blocks in new dir */ +#define MF_MAX_PARTS 28 /* max # of part-files per metafile */ + +#define mf_blocksize(mf) ((mf)->blocksize) + + +typedef struct mf_dir +{ + char name[FILENAME_MAX+1]; + mfile_off_t max_bytes; /* allocated bytes in this dir. */ + mfile_off_t avail_bytes; /* bytes left */ + struct mf_dir *next; +} mf_dir; + +typedef struct part_file +{ + zint number; + zint top; + zint blocks; + mfile_off_t bytes; + mf_dir *dir; + char *path; + int fd; +} part_file; + +struct MFile_area_struct; +typedef struct MFile_area_struct *MFile_area; + +typedef struct meta_file +{ + char name[FILENAME_MAX+1]; + part_file files[MF_MAX_PARTS]; + int no_files; + int cur_file; + int open; /* is this file open? */ + int unlink_flag; + int blocksize; + mfile_off_t min_bytes_creat; /* minimum bytes required to enter directory */ + MFile_area ma; + int wr; + Zebra_mutex mutex; + + struct meta_file *next; +} *MFile, meta_file; + +typedef struct MFile_area_struct +{ + char name[FILENAME_MAX+1]; + mf_dir *dirs; + struct meta_file *mfiles; + struct MFile_area_struct *next; /* global list of active areas */ + Zebra_mutex mutex; +} MFile_area_struct; + +/* + * Open an area, cotaining metafiles in directories. + */ +MFile_area mf_init(const char *name, const char *spec, const char *base); + +/* + * Release an area. + */ +void mf_destroy(MFile_area ma); + +/* + * Open a metafile. + */ +MFile mf_open(MFile_area ma, const char *name, int block_size, int wflag); + +/* + * Close a metafile. + */ +int mf_close(MFile mf); + +/* + * Read one block from a metafile. Interface mirrors bfile. + */ +int mf_read(MFile mf, zint no, int offset, int nbytes, void *buf); + +/* + * Same. + */ +int mf_write(MFile mf, zint no, int offset, int nbytes, const void *buf); + +/* + * Destroy a metafile, unlinking component files. File must be open. + */ +int mf_unlink(MFile mf); + + +/* + * Destroy all metafiles. No files may be opened. + */ +void mf_reset(MFile_area ma); + +/* + * Unlink the file by name, rather than MFile-handle. + */ +int mf_unlink_name(MFile_area, const char *name); + +YAZ_END_CDECL + +#endif diff --git a/dict/Makefile.am b/dict/Makefile.am index 045aaba..ff21250 100644 --- a/dict/Makefile.am +++ b/dict/Makefile.am @@ -1,4 +1,4 @@ -## $Id: Makefile.am,v 1.10 2004-12-07 14:57:08 adam Exp $ +## $Id: Makefile.am,v 1.11 2004-12-08 12:23:08 adam Exp $ lib_LTLIBRARIES = libidzebra-dict.la noinst_PROGRAMS = dicttest dictext @@ -14,8 +14,9 @@ LDADD = libidzebra-dict.la \ ../util/libidzebra-util.la \ $(YAZLALIB) -libidzebra_dict_la_SOURCES = scan.c dopen.c dclose.c drdwr.c open.c \ - close.c insert.c lookup.c lookupec.c lookgrep.c delete.c dcompact.c +libidzebra_dict_la_SOURCES = dopen.c dclose.c drdwr.c open.c close.c \ + insert.c lookup.c lookupec.c lookgrep.c delete.c scan.c dcompact.c \ + dict-p.h dicttest_SOURCES = dicttest.c diff --git a/dict/close.c b/dict/close.c index 0044e9a..fe3f192 100644 --- a/dict/close.c +++ b/dict/close.c @@ -1,4 +1,4 @@ -/* $Id: close.c,v 1.7 2002-08-02 19:26:55 adam Exp $ +/* $Id: close.c,v 1.8 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -27,7 +27,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" int dict_close (Dict dict) { diff --git a/dict/dclose.c b/dict/dclose.c index 92142d8..859a8a4 100644 --- a/dict/dclose.c +++ b/dict/dclose.c @@ -1,4 +1,4 @@ -/* $Id: dclose.c,v 1.6 2002-08-02 19:26:55 adam Exp $ +/* $Id: dclose.c,v 1.7 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -27,7 +27,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" int dict_bf_close (Dict_BFile dbf) { diff --git a/dict/dcompact.c b/dict/dcompact.c index 715b0a2..56f27ec 100644 --- a/dict/dcompact.c +++ b/dict/dcompact.c @@ -1,4 +1,4 @@ -/* $Id: dcompact.c,v 1.10 2004-11-19 10:26:54 heikki Exp $ +/* $Id: dcompact.c,v 1.11 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -28,7 +28,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" static void dict_copy_page(Dict dict, char *to_p, char *from_p, int *map) { diff --git a/dict/delete.c b/dict/delete.c index 3e36689..e126a4f 100644 --- a/dict/delete.c +++ b/dict/delete.c @@ -1,4 +1,4 @@ -/* $Id: delete.c,v 1.9 2003-06-30 15:56:48 adam Exp $ +/* $Id: delete.c,v 1.10 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003 Index Data Aps @@ -25,7 +25,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" static void dict_del_subtree (Dict dict, Dict_ptr ptr, void *client, diff --git a/dict/dict-p.h b/dict/dict-p.h new file mode 100644 index 0000000..ec76e39 --- /dev/null +++ b/dict/dict-p.h @@ -0,0 +1,111 @@ +/* $Id: dict-p.h,v 1.1 2004-12-08 12:23:08 adam Exp $ + Copyright (C) 2004 + Index Data Aps + +This file is part of the Zebra server. + +Zebra is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + +#ifndef DICT_P_H +#define DICT_P_H + +#include + +YAZ_BEGIN_CDECL + +#define DICT_MAGIC "dict01" + +#define DICT_DEFAULT_PAGESIZE 4096 + +struct Dict_head { + char magic_str[8]; + int page_size; + int compact_flag; + Dict_ptr root, last, freelist; +}; + +struct Dict_file_block +{ + struct Dict_file_block *h_next, **h_prev; + struct Dict_file_block *lru_next, *lru_prev; + void *data; + int dirty; + int no; + int nbytes; +}; + +typedef struct Dict_file_struct +{ + int cache; + BFile bf; + + struct Dict_file_block *all_blocks; + struct Dict_file_block *free_list; + struct Dict_file_block **hash_array; + + struct Dict_file_block *lru_back, *lru_front; + int hash_size; + void *all_data; + + int block_size; + int hits; + int misses; + int compact_flag; +} *Dict_BFile; + +struct Dict_struct { + int rw; + Dict_BFile dbf; + const char **(*grep_cmap)(void *vp, const char **from, int len); + void *grep_cmap_data; + struct Dict_head head; +}; + +int dict_bf_readp (Dict_BFile bf, int no, void **bufp); +int dict_bf_newp (Dict_BFile bf, int no, void **bufp, int nbytes); +int dict_bf_touch (Dict_BFile bf, int no); +void dict_bf_flush_blocks (Dict_BFile bf, int no_to_flush); +Dict_BFile dict_bf_open (BFiles bfs, const char *name, int block_size, + int cache, int rw); +int dict_bf_close (Dict_BFile dbf); +void dict_bf_compact (Dict_BFile dbf); + +#define DICT_EOS 0 +#define DICT_type(x) 0[(Dict_ptr*) x] +#define DICT_backptr(x) 1[(Dict_ptr*) x] +#define DICT_bsize(x) 2[(short*)((char*)(x)+2*sizeof(Dict_ptr))] +#define DICT_nodir(x) 0[(short*)((char*)(x)+2*sizeof(Dict_ptr))] +#define DICT_size(x) 1[(short*)((char*)(x)+2*sizeof(Dict_ptr))] +#define DICT_infoffset (2*sizeof(Dict_ptr)+3*sizeof(short)) +#define DICT_xxxxpagesize(x) ((x)->head.page_size) + +#define DICT_to_str(x) sizeof(Dict_info)+sizeof(Dict_ptr) + +/* + type type of page + backptr pointer to parent + nextptr pointer to next page (if any) + nodir no of words + size size of strings,info,ptr entries + + dir[0..nodir-1] + ptr,info,string + */ + +YAZ_END_CDECL + +#endif diff --git a/dict/dicttest.c b/dict/dicttest.c index c5fa828..0138e2c 100644 --- a/dict/dicttest.c +++ b/dict/dicttest.c @@ -1,4 +1,4 @@ -/* $Id: dicttest.c,v 1.30 2004-11-19 10:26:55 heikki Exp $ +/* $Id: dicttest.c,v 1.31 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -20,14 +20,12 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ - - #include #include #include #include -#include +#include #include char *prog; diff --git a/dict/dopen.c b/dict/dopen.c index 12e1e9c..d014eb4 100644 --- a/dict/dopen.c +++ b/dict/dopen.c @@ -1,4 +1,4 @@ -/* $Id: dopen.c,v 1.9 2002-08-02 19:26:55 adam Exp $ +/* $Id: dopen.c,v 1.10 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -30,7 +30,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" static void common_init (Dict_BFile bf, int block_size, int cache) { diff --git a/dict/drdwr.c b/dict/drdwr.c index 8350c3e..6781556 100644 --- a/dict/drdwr.c +++ b/dict/drdwr.c @@ -1,4 +1,4 @@ -/* $Id: drdwr.c,v 1.14 2004-11-19 10:26:55 heikki Exp $ +/* $Id: drdwr.c,v 1.15 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -32,7 +32,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" void dict_pr_lru (Dict_BFile bf) { diff --git a/dict/insert.c b/dict/insert.c index 2d4543a..6ca8ecc 100644 --- a/dict/insert.c +++ b/dict/insert.c @@ -1,4 +1,4 @@ -/* $Id: insert.c,v 1.23 2004-11-19 10:26:55 heikki Exp $ +/* $Id: insert.c,v 1.24 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -27,7 +27,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" #define CHECK 0 diff --git a/dict/lookgrep.c b/dict/lookgrep.c index 2fc27bf..0820ffd 100644 --- a/dict/lookgrep.c +++ b/dict/lookgrep.c @@ -1,4 +1,4 @@ -/* $Id: lookgrep.c,v 1.27 2004-11-19 10:26:55 heikki Exp $ +/* $Id: lookgrep.c,v 1.28 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -28,7 +28,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" typedef unsigned MatchWord; #define WORD_BITS 32 diff --git a/dict/lookup.c b/dict/lookup.c index 465479d..a962376 100644 --- a/dict/lookup.c +++ b/dict/lookup.c @@ -1,4 +1,4 @@ -/* $Id: lookup.c,v 1.11 2002-08-02 19:26:55 adam Exp $ +/* $Id: lookup.c,v 1.12 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -27,7 +27,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" static char *dict_look (Dict dict, const Dict_char *str, Dict_ptr ptr) { diff --git a/dict/lookupec.c b/dict/lookupec.c index 3fca01d..12fd18f 100644 --- a/dict/lookupec.c +++ b/dict/lookupec.c @@ -1,4 +1,4 @@ -/* $Id: lookupec.c,v 1.10 2002-08-02 19:26:55 adam Exp $ +/* $Id: lookupec.c,v 1.11 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -26,7 +26,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" typedef unsigned MatchWord; diff --git a/dict/open.c b/dict/open.c index 79ebe4c..d361619 100644 --- a/dict/open.c +++ b/dict/open.c @@ -1,4 +1,4 @@ -/* $Id: open.c,v 1.21 2004-11-19 10:26:55 heikki Exp $ +/* $Id: open.c,v 1.22 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -26,7 +26,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" Dict dict_open (BFiles bfs, const char *name, int cache, int rw, int compact_flag, int page_size) diff --git a/dict/scan.c b/dict/scan.c index ad9c2d3..7a05b22 100644 --- a/dict/scan.c +++ b/dict/scan.c @@ -1,4 +1,4 @@ -/* $Id: scan.c,v 1.17 2004-12-07 20:04:39 adam Exp $ +/* $Id: scan.c,v 1.18 2004-12-08 12:23:08 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002 Index Data Aps @@ -26,7 +26,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include "dict-p.h" int dict_scan_trav (Dict dict, Dict_ptr ptr, int pos, Dict_char *str, int start, int *count, void *client, diff --git a/dict/scantest.c b/dict/scantest.c index a3fb50a..273aab4 100644 --- a/dict/scantest.c +++ b/dict/scantest.c @@ -1,4 +1,4 @@ -/* $Id: scantest.c,v 1.1 2004-12-07 14:57:08 adam Exp $ +/* $Id: scantest.c,v 1.2 2004-12-08 12:23:08 adam Exp $ Copyright (C) 2003,2004 Index Data Aps @@ -25,7 +25,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include struct handle_info { int b; diff --git a/include/Makefile.am b/include/Makefile.am index 9907b9b..494098a 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -1,7 +1,7 @@ -# $Id: Makefile.am,v 1.17 2004-09-28 12:39:54 adam Exp $ -noinst_HEADERS = bfile.h bset.h charmap.h \ -dict.h direntz.h isam-codec.h isamb.h isamc.h isamg.h \ -isams.h mfile.h passwddb.h dfa.h zebra_xpath.h d1_absyn.h \ +# $Id: Makefile.am,v 1.18 2004-12-08 12:23:08 adam Exp $ +noinst_HEADERS = bset.h charmap.h \ +direntz.h isam-codec.h isamb.h isamc.h isamg.h \ +isams.h passwddb.h dfa.h zebra_xpath.h d1_absyn.h \ rset.h set.h sortidx.h str.h zebra-lock.h zebrautl.h SUBDIRS = idzebra diff --git a/include/bfile.h b/include/bfile.h deleted file mode 100644 index d82d7a8..0000000 --- a/include/bfile.h +++ /dev/null @@ -1,86 +0,0 @@ -/* $Id: bfile.h,v 1.22 2004-08-04 08:35:23 adam Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 - Index Data Aps - -This file is part of the Zebra server. - -Zebra is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -Zebra is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. -*/ - -#ifndef BFILE_H -#define BFILE_H - -#include - -YAZ_BEGIN_CDECL - -#define bf_blocksize(bf) mf_blocksize(bf->mf) - -typedef struct BFiles_struct *BFiles; - -BFiles bfs_create (const char *spec, const char *base); -void bfs_destroy (BFiles bfiles); - -typedef struct BFile_struct -{ - MFile mf; - Zebra_lock_rdwr rdwr_lock; - struct CFile_struct *cf; -} *BFile, BFile_struct; - -/* bf_close: closes bfile. - returns 0 if successful; non-zero otherwise - */ -int bf_close (BFile); - -/* bf_open: opens bfile. - opens bfile with name 'name' and with 'block_size' as block size. - returns bfile handle is successful; NULL otherwise - */ -BFile bf_open (BFiles bfs, const char *name, int block_size, int wflag); - -/* bf_read: reads bytes from bfile 'bf'. - reads 'nbytes' bytes (or whole block if 0) from offset 'offset' from - block 'no'. stores contents in buffer 'buf'. - returns 1 if whole block could be read; 0 otherwise. - */ -int bf_read (BFile bf, zint no, int offset, int nbytes, void *buf); - -/* bf_write: writes bytes to bfile 'bf'. - writes 'nbytes' bytes (or whole block if 0) at offset 'offset' to - block 'no'. retrieves contents from buffer 'buf'. - returns 0 if successful; non-zero otherwise. - */ -int bf_write (BFile bf, zint no, int offset, int nbytes, const void *buf); - -/* bf_cache: enables bfile cache if spec is not NULL */ -void bf_cache (BFiles bfs, const char *spec); - -/* bf_commitExists: returns 1 if commit is pending; 0 otherwise */ -int bf_commitExists (BFiles bfs); - -/* bf_commitExec: executes commit */ -void bf_commitExec (BFiles bfs); - -/* bf_commitClean: cleans commit files, etc */ -void bf_commitClean (BFiles bfs, const char *spec); - -/* bf_reset: delete register and shadow completely */ -void bf_reset (BFiles bfs); - -YAZ_END_CDECL - -#endif diff --git a/include/dict.h b/include/dict.h deleted file mode 100644 index 74761f4..0000000 --- a/include/dict.h +++ /dev/null @@ -1,149 +0,0 @@ -/* $Id: dict.h,v 1.34 2004-11-19 10:26:55 heikki Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 - Index Data Aps - -This file is part of the Zebra server. - -Zebra is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -Zebra is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. -*/ - - - -#ifndef DICT_H -#define DICT_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef unsigned Dict_ptr; -typedef unsigned char Dict_char; - -struct Dict_head { - char magic_str[8]; - int page_size; - int compact_flag; - Dict_ptr root, last, freelist; -}; - -struct Dict_file_block -{ - struct Dict_file_block *h_next, **h_prev; - struct Dict_file_block *lru_next, *lru_prev; - void *data; - int dirty; - int no; - int nbytes; -}; - -typedef struct Dict_file_struct -{ - int cache; - BFile bf; - - struct Dict_file_block *all_blocks; - struct Dict_file_block *free_list; - struct Dict_file_block **hash_array; - - struct Dict_file_block *lru_back, *lru_front; - int hash_size; - void *all_data; - - int block_size; - int hits; - int misses; - int compact_flag; -} *Dict_BFile; - -typedef struct Dict_struct { - int rw; - Dict_BFile dbf; - const char **(*grep_cmap)(void *vp, const char **from, int len); - void *grep_cmap_data; - struct Dict_head head; -} *Dict; - -#define DICT_MAGIC "dict01" - -#define DICT_DEFAULT_PAGESIZE 4096 - -int dict_bf_readp (Dict_BFile bf, int no, void **bufp); -int dict_bf_newp (Dict_BFile bf, int no, void **bufp, int nbytes); -int dict_bf_touch (Dict_BFile bf, int no); -void dict_bf_flush_blocks (Dict_BFile bf, int no_to_flush); -Dict_BFile dict_bf_open (BFiles bfs, const char *name, int block_size, - int cache, int rw); -int dict_bf_close (Dict_BFile dbf); -void dict_bf_compact (Dict_BFile dbf); - -Dict dict_open (BFiles bfs, const char *name, int cache, int rw, - int compact_flag, int page_size); -int dict_close (Dict dict); -int dict_insert (Dict dict, const char *p, int userlen, void *userinfo); -int dict_delete (Dict dict, const char *p); -int dict_delete_subtree (Dict dict, const char *p, void *client, - int (*f)(const char *info, void *client)); -char *dict_lookup (Dict dict, const char *p); -int dict_lookup_ec (Dict dict, char *p, int range, - int (*f)(char *name)); -int dict_lookup_grep (Dict dict, const char *p, int range, void *client, - int *max_pos, int init_pos, - int (*f)(char *name, const char *info, - void *client)); -int dict_strcmp (const Dict_char *s1, const Dict_char *s2); -int dict_strncmp (const Dict_char *s1, const Dict_char *s2, size_t n); -int dict_strlen (const Dict_char *s); -int dict_scan (Dict dict, char *str, - int *before, int *after, void *client, - int (*f)(char *name, const char *info, int pos, - void *client)); - -void dict_grep_cmap (Dict dict, void *vp, - const char **(*cmap)(void *vp, - const char **from, int len)); -int dict_copy_compact (BFiles bfs, const char *from, const char *to); - - -#define DICT_EOS 0 -#define DICT_type(x) 0[(Dict_ptr*) x] -#define DICT_backptr(x) 1[(Dict_ptr*) x] -#define DICT_bsize(x) 2[(short*)((char*)(x)+2*sizeof(Dict_ptr))] -#define DICT_nodir(x) 0[(short*)((char*)(x)+2*sizeof(Dict_ptr))] -#define DICT_size(x) 1[(short*)((char*)(x)+2*sizeof(Dict_ptr))] -#define DICT_infoffset (2*sizeof(Dict_ptr)+3*sizeof(short)) -#define DICT_xxxxpagesize(x) ((x)->head.page_size) - -#define DICT_to_str(x) sizeof(Dict_info)+sizeof(Dict_ptr) - -/* - type type of page - backptr pointer to parent - nextptr pointer to next page (if any) - nodir no of words - size size of strings,info,ptr entries - - dir[0..nodir-1] - ptr,info,string - */ -#ifdef __cplusplus -} -#endif - - -#endif diff --git a/include/idzebra/Makefile.am b/include/idzebra/Makefile.am index 1b59ed1..bd15739 100644 --- a/include/idzebra/Makefile.am +++ b/include/idzebra/Makefile.am @@ -1,4 +1,4 @@ -# $Id: Makefile.am,v 1.3 2004-09-28 12:39:54 adam Exp $ +# $Id: Makefile.am,v 1.4 2004-12-08 12:23:09 adam Exp $ -pkginclude_HEADERS=api.h version.h res.h recctrl.h data1.h recgrs.h zebramap.h +pkginclude_HEADERS=api.h version.h res.h recctrl.h data1.h recgrs.h zebramap.h bfile.h dict.h diff --git a/include/idzebra/bfile.h b/include/idzebra/bfile.h new file mode 100644 index 0000000..486f868 --- /dev/null +++ b/include/idzebra/bfile.h @@ -0,0 +1,87 @@ +/* $Id: bfile.h,v 1.1 2004-12-08 12:23:09 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 + Index Data Aps + +This file is part of the Zebra server. + +Zebra is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + +#ifndef BFILE_H +#define BFILE_H + +#include + +YAZ_BEGIN_CDECL + +typedef struct BFiles_struct *BFiles; +typedef struct BFile_struct *BFile; + +BFiles bfs_create (const char *spec, const char *base); +void bfs_destroy (BFiles bfiles); + +/* bf_close: closes bfile. + returns 0 if successful; non-zero otherwise + */ +YAZ_EXPORT +int bf_close (BFile); + +/* bf_open: opens bfile. + opens bfile with name 'name' and with 'block_size' as block size. + returns bfile handle is successful; NULL otherwise + */ +YAZ_EXPORT +BFile bf_open (BFiles bfs, const char *name, int block_size, int wflag); + +/* bf_read: reads bytes from bfile 'bf'. + reads 'nbytes' bytes (or whole block if 0) from offset 'offset' from + block 'no'. stores contents in buffer 'buf'. + returns 1 if whole block could be read; 0 otherwise. + */ +YAZ_EXPORT +int bf_read (BFile bf, zint no, int offset, int nbytes, void *buf); + +/* bf_write: writes bytes to bfile 'bf'. + writes 'nbytes' bytes (or whole block if 0) at offset 'offset' to + block 'no'. retrieves contents from buffer 'buf'. + returns 0 if successful; non-zero otherwise. + */ +YAZ_EXPORT +int bf_write (BFile bf, zint no, int offset, int nbytes, const void *buf); + +/* bf_cache: enables bfile cache if spec is not NULL */ +YAZ_EXPORT +void bf_cache (BFiles bfs, const char *spec); + +/* bf_commitExists: returns 1 if commit is pending; 0 otherwise */ +YAZ_EXPORT +int bf_commitExists (BFiles bfs); + +/* bf_commitExec: executes commit */ +YAZ_EXPORT +void bf_commitExec (BFiles bfs); + +/* bf_commitClean: cleans commit files, etc */ +YAZ_EXPORT +void bf_commitClean (BFiles bfs, const char *spec); + +/* bf_reset: delete register and shadow completely */ +YAZ_EXPORT +void bf_reset (BFiles bfs); + +YAZ_END_CDECL + +#endif diff --git a/include/idzebra/dict.h b/include/idzebra/dict.h new file mode 100644 index 0000000..5dc9e2b --- /dev/null +++ b/include/idzebra/dict.h @@ -0,0 +1,87 @@ +/* $Id: dict.h,v 1.1 2004-12-08 12:23:09 adam Exp $ + Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 + Index Data Aps + +This file is part of the Zebra server. + +Zebra is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 2, or (at your option) any later +version. + +Zebra is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with Zebra; see the file LICENSE.zebra. If not, write to the +Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA +02111-1307, USA. +*/ + +#ifndef DICT_H +#define DICT_H + +#include +#include + +YAZ_BEGIN_CDECL + +typedef struct Dict_struct *Dict; + +typedef unsigned Dict_ptr; +typedef unsigned char Dict_char; + +YAZ_EXPORT +Dict dict_open (BFiles bfs, const char *name, int cache, int rw, + int compact_flag, int page_size); + +YAZ_EXPORT +int dict_close (Dict dict); + +YAZ_EXPORT +int dict_insert (Dict dict, const char *p, int userlen, void *userinfo); + +YAZ_EXPORT +int dict_delete (Dict dict, const char *p); + +YAZ_EXPORT +int dict_delete_subtree (Dict dict, const char *p, void *client, + int (*f)(const char *info, void *client)); +YAZ_EXPORT +char *dict_lookup (Dict dict, const char *p); + +YAZ_EXPORT +int dict_lookup_ec (Dict dict, char *p, int range, int (*f)(char *name)); + +YAZ_EXPORT +int dict_lookup_grep (Dict dict, const char *p, int range, void *client, + int *max_pos, int init_pos, + int (*f)(char *name, const char *info, void *client)); + +YAZ_EXPORT +int dict_strcmp (const Dict_char *s1, const Dict_char *s2); + +YAZ_EXPORT +int dict_strncmp (const Dict_char *s1, const Dict_char *s2, size_t n); + +YAZ_EXPORT +int dict_strlen (const Dict_char *s); + +YAZ_EXPORT +int dict_scan (Dict dict, char *str, + int *before, int *after, void *client, + int (*f)(char *name, const char *info, int pos, void *client)); + +YAZ_EXPORT +void dict_grep_cmap (Dict dict, void *vp, + const char **(*cmap)(void *vp, + const char **from, int len)); + +YAZ_EXPORT +int dict_copy_compact (BFiles bfs, const char *from, const char *to); + +YAZ_END_CDECL + +#endif diff --git a/include/isamb.h b/include/isamb.h index 93ea909..147e8e2 100644 --- a/include/isamb.h +++ b/include/isamb.h @@ -1,4 +1,4 @@ -/* $Id: isamb.h,v 1.15 2004-09-09 10:08:04 heikki Exp $ +/* $Id: isamb.h,v 1.16 2004-12-08 12:23:09 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -23,7 +23,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #ifndef ISAMB_H #define ISAMB_H -#include +#include #include YAZ_BEGIN_CDECL diff --git a/include/isamc.h b/include/isamc.h index 0dc73ec..61cc81a 100644 --- a/include/isamc.h +++ b/include/isamc.h @@ -1,4 +1,4 @@ -/* $Id: isamc.h,v 1.13 2004-08-04 08:35:23 adam Exp $ +/* $Id: isamc.h,v 1.14 2004-12-08 12:23:09 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -24,7 +24,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #define ISAMC_H #include -#include +#include YAZ_BEGIN_CDECL diff --git a/include/isams.h b/include/isams.h index 7338d93..eac4fd5 100644 --- a/include/isams.h +++ b/include/isams.h @@ -1,4 +1,4 @@ -/* $Id: isams.h,v 1.6 2004-08-04 08:35:23 adam Exp $ +/* $Id: isams.h,v 1.7 2004-12-08 12:23:09 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -25,7 +25,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #define ISAMS_H #include -#include +#include #include #ifdef __cplusplus diff --git a/include/mfile.h b/include/mfile.h deleted file mode 100644 index 7c0ab1f..0000000 --- a/include/mfile.h +++ /dev/null @@ -1,155 +0,0 @@ -/* $Id: mfile.h,v 1.23 2004-08-25 09:23:35 adam Exp $ - Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 - Index Data Aps - -This file is part of the Zebra server. - -Zebra is free software; you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free -Software Foundation; either version 2, or (at your option) any later -version. - -Zebra is distributed in the hope that it will be useful, but WITHOUT ANY -WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. - -You should have received a copy of the GNU General Public License -along with Zebra; see the file LICENSE.zebra. If not, write to the -Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. -*/ - - - -#ifndef MFILE_H -#define MFILE_H - -#include -#include -#include - -#ifdef WIN32 - -/* 64-bit access .. */ -typedef __int64 mfile_off_t; -#define mfile_seek _lseeki64 - -#else -#include -typedef off_t mfile_off_t; -#define mfile_seek lseek -#endif - -#ifndef FILENAME_MAX -#include -#define FILENAME_MAX MAXPATHLEN -#endif - -#include - -YAZ_BEGIN_CDECL - -#define MF_MIN_BLOCKS_CREAT 1 /* minimum free blocks in new dir */ -#define MF_MAX_PARTS 28 /* max # of part-files per metafile */ - -#define mf_blocksize(mf) ((mf)->blocksize) - - -typedef struct mf_dir -{ - char name[FILENAME_MAX+1]; - mfile_off_t max_bytes; /* allocated bytes in this dir. */ - mfile_off_t avail_bytes; /* bytes left */ - struct mf_dir *next; -} mf_dir; - -typedef struct part_file -{ - zint number; - zint top; - zint blocks; - mfile_off_t bytes; - mf_dir *dir; - char *path; - int fd; -} part_file; - -struct MFile_area_struct; -typedef struct MFile_area_struct *MFile_area; - -typedef struct meta_file -{ - char name[FILENAME_MAX+1]; - part_file files[MF_MAX_PARTS]; - int no_files; - int cur_file; - int open; /* is this file open? */ - int unlink_flag; - int blocksize; - mfile_off_t min_bytes_creat; /* minimum bytes required to enter directory */ - MFile_area ma; - int wr; - Zebra_mutex mutex; - - struct meta_file *next; -} *MFile, meta_file; - -typedef struct MFile_area_struct -{ - char name[FILENAME_MAX+1]; - mf_dir *dirs; - struct meta_file *mfiles; - struct MFile_area_struct *next; /* global list of active areas */ - Zebra_mutex mutex; -} MFile_area_struct; - -/* - * Open an area, cotaining metafiles in directories. - */ -MFile_area mf_init(const char *name, const char *spec, const char *base); - -/* - * Release an area. - */ -void mf_destroy(MFile_area ma); - -/* - * Open a metafile. - */ -MFile mf_open(MFile_area ma, const char *name, int block_size, int wflag); - -/* - * Close a metafile. - */ -int mf_close(MFile mf); - -/* - * Read one block from a metafile. Interface mirrors bfile. - */ -int mf_read(MFile mf, zint no, int offset, int nbytes, void *buf); - -/* - * Same. - */ -int mf_write(MFile mf, zint no, int offset, int nbytes, const void *buf); - -/* - * Destroy a metafile, unlinking component files. File must be open. - */ -int mf_unlink(MFile mf); - - -/* - * Destroy all metafiles. No files may be opened. - */ -void mf_reset(MFile_area ma); - -/* - * Unlink the file by name, rather than MFile-handle. - */ -int mf_unlink_name(MFile_area, const char *name); - -YAZ_END_CDECL - -#endif diff --git a/include/sortidx.h b/include/sortidx.h index 58266ae..b48e014 100644 --- a/include/sortidx.h +++ b/include/sortidx.h @@ -1,4 +1,4 @@ -/* $Id: sortidx.h,v 1.5 2004-08-25 09:23:36 adam Exp $ +/* $Id: sortidx.h,v 1.6 2004-12-08 12:23:09 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -24,7 +24,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #define SORTIDX_H #include -#include +#include #ifdef __cplusplus extern "C" { diff --git a/index/index.h b/index/index.h index 6f005d8..c87fc73 100644 --- a/index/index.h +++ b/index/index.h @@ -1,4 +1,4 @@ -/* $Id: index.h,v 1.126 2004-11-29 21:55:25 adam Exp $ +/* $Id: index.h,v 1.127 2004-12-08 12:23:09 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -33,7 +33,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #endif #include -#include +#include #include #include #include diff --git a/index/recindex.h b/index/recindex.h index 15201a2..962d238 100644 --- a/index/recindex.h +++ b/index/recindex.h @@ -1,4 +1,4 @@ -/* $Id: recindex.h,v 1.21 2004-08-04 08:35:23 adam Exp $ +/* $Id: recindex.h,v 1.22 2004-12-08 12:23:09 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -24,7 +24,8 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #define RECINDEX_H #include -#include +#include +#include YAZ_BEGIN_CDECL diff --git a/index/recindxp.h b/index/recindxp.h index d98729e..afa3f83 100644 --- a/index/recindxp.h +++ b/index/recindxp.h @@ -1,4 +1,4 @@ -/* $Id: recindxp.h,v 1.15 2004-08-09 09:06:13 adam Exp $ +/* $Id: recindxp.h,v 1.16 2004-12-08 12:23:09 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -22,7 +22,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "recindex.h" -#include +#include YAZ_BEGIN_CDECL diff --git a/index/sortidx.c b/index/sortidx.c index 2f61fed..4dd91b7 100644 --- a/index/sortidx.c +++ b/index/sortidx.c @@ -1,4 +1,4 @@ -/* $Id: sortidx.c,v 1.10 2004-11-19 10:27:03 heikki Exp $ +/* $Id: sortidx.c,v 1.11 2004-12-08 12:23:09 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -25,7 +25,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include #include -#include +#include #include #define SORT_IDX_BLOCKSIZE 64 diff --git a/isamc/isamc-p.h b/isamc/isamc-p.h index 65f559c..148096d 100644 --- a/isamc/isamc-p.h +++ b/isamc/isamc-p.h @@ -1,4 +1,4 @@ -/* $Id: isamc-p.h,v 1.11 2004-08-06 12:28:23 adam Exp $ +/* $Id: isamc-p.h,v 1.12 2004-12-08 12:23:10 adam Exp $ Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002,2003,2004 Index Data Aps @@ -22,7 +22,7 @@ Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA -#include +#include #include YAZ_BEGIN_CDECL diff --git a/win/zebra.nsi b/win/zebra.nsi index 5a246de..cc1aaf0 100644 --- a/win/zebra.nsi +++ b/win/zebra.nsi @@ -1,4 +1,4 @@ -; $Id: zebra.nsi,v 1.24 2004-08-25 09:21:43 adam Exp $ +; $Id: zebra.nsi,v 1.25 2004-12-08 12:23:10 adam Exp $ !define VERSION "1.4.0" @@ -136,6 +136,7 @@ Section "Zebra Source" File ..\recctrl\*.h SetOutPath $INSTDIR\dict File ..\dict\*.c + File ..\dict\*.h SetOutPath $INSTDIR\bfile File ..\bfile\*.c File ..\bfile\*.h