X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=index%2Frecindex.h;h=af1da33ecf35280a997af639c54acd927450380f;hb=9cf5dedda26c0ebaf38daa6fa3f15a763d6b2fcb;hp=6d0b23c43c66b18f96fa6721de8947b037c72fd8;hpb=5214040d316f7b5228e46e1749505e3c0c8869d4;p=idzebra-moved-to-github.git diff --git a/index/recindex.h b/index/recindex.h index 6d0b23c..af1da33 100644 --- a/index/recindex.h +++ b/index/recindex.h @@ -4,27 +4,76 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: recindex.h,v $ - * Revision 1.1 1995-11-15 14:46:21 adam + * Revision 1.10 1996-10-29 14:06:53 adam + * Include zebrautl.h instead of alexutil.h. + * + * Revision 1.9 1996/05/01 13:46:36 adam + * First work on multiple records in one file. + * New option, -offset, to the "unread" command in the filter module. + * + * Revision 1.8 1995/12/06 12:41:25 adam + * New command 'stat' for the index program. + * Filenames can be read from stdin by specifying '-'. + * Bug fix/enhancement of the transformation from terms to regular + * expressons in the search engine. + * + * Revision 1.7 1995/11/28 09:09:45 adam + * Zebra config renamed. + * Use setting 'recordId' to identify record now. + * Bug fix in recindex.c: rec_release_blocks was invokeded even + * though the blocks were already released. + * File traversal properly deletes records when needed. + * + * Revision 1.6 1995/11/27 09:56:21 adam + * Record info elements better enumerated. Internal store of records. + * + * Revision 1.5 1995/11/25 10:24:07 adam + * More record fields - they are enumerated now. + * New options: flagStoreData flagStoreKey. + * + * Revision 1.4 1995/11/22 17:19:19 adam + * Record management uses the bfile system. + * + * Revision 1.3 1995/11/20 16:59:46 adam + * New update method: the 'old' keys are saved for each records. + * + * Revision 1.2 1995/11/15 19:13:08 adam + * Work on record management. + * + * Revision 1.1 1995/11/15 14:46:21 adam * Started work on better record management system. * */ -#include +#include -typedef struct records_info { - int fd; - char *fname; - struct records_head { - char magic[8]; - int no_records; - int freelist; - } head; -} *Records; +#define REC_NO_INFO 8 typedef struct record_info { int sysno; - char *type; - char *fname; - char *kinfo; + int newFlag; + char *info[REC_NO_INFO]; + size_t size[REC_NO_INFO]; } *Record; +typedef struct records_info *Records; + +Record rec_cp (Record rec); +void rec_del (Records p, Record *recpp); +void rec_rm (Record *recpp); +void rec_put (Records p, Record *recpp); +Record rec_new (Records p); +Record rec_get (Records p, int sysno); +void rec_close (Records *p); +Records rec_open (int rw); +char *rec_strdup (const char *s, size_t *len); + +enum { + recInfo_fileType, + recInfo_filename, + recInfo_delKeys, + recInfo_databaseName, + recInfo_storeData, + recInfo_offset +}; +