Towards 2.0.22.
[idzebra-moved-to-github.git] / index / recindex.h
index 86bb465..0376f6d 100644 (file)
@@ -1,5 +1,5 @@
-/* $Id: recindex.h,v 1.28 2006-08-14 10:40:15 adam Exp $
-   Copyright (C) 1995-2006
+/* $Id: recindex.h,v 1.33 2007-11-28 11:16:32 adam Exp $
+   Copyright (C) 1995-2007
    Index Data ApS
 
 This file is part of the Zebra server.
@@ -32,7 +32,7 @@ YAZ_BEGIN_CDECL
 #define REC_NO_INFO 8
 
 typedef struct record_info {
-    SYSNO sysno;
+    zint sysno;
     int newFlag;
     char *info[REC_NO_INFO];
     size_t size[REC_NO_INFO];
@@ -43,20 +43,57 @@ typedef struct record_info {
 
 typedef struct records_info *Records;
 
-Record rec_cp(Record rec);
+/** \brief marks record for deletion (on file storage)
+    \param p records handle
+    \param recpp record pointer
+    \returns ZEBRA_OK / ZEBRA_FAIL
+*/
 ZEBRA_RES rec_del(Records p, Record *recpp);
-void rec_rm(Record *recpp);
+
+/** \brief frees record (from memory)
+    \param recpp record pointer
+*/
+void rec_free(Record *recpp);
+
+/** \brief puts record (writes into file storage)
+    \param p records handle
+    \param recpp record pointer
+    \returns ZEBRA_OK / ZEBRA_FAIL
+*/
 ZEBRA_RES rec_put(Records p, Record *recpp);
+
+/** \brief creates new record (to be written to file storage)
+    \param p records handle
+    \returns record pointer (or NULL on error)
+*/
 Record rec_new(Records p);
-Record rec_get(Records p, SYSNO sysno);
+/** \brief gets record - with given system number
+    \param p records handle
+    \param sysno system ID (external number)
+    \returns record pointer (or NULL on error)
+*/
+Record rec_get(Records p, zint sysno);
+
+/** \brief gets root record
+    \param p records handle
+    \returns record pointer (or NULL on error)
+*/
 Record rec_get_root(Records p);
 ZEBRA_RES rec_close (Records *p);
+
+/** \brief opens records system
+    \param bfs block file storage
+    \param rw read-write flag(0=read only, 1=write)
+    \param compression_method REC_COMPRESS_ type 
+*/
 Records rec_open(BFiles bfs, int rw, int compression_method);
+
 char *rec_strdup(const char *s, size_t *len);
 void rec_prstat(Records p);
 
-SYSNO rec_sysno_to_int(SYSNO sysno);
+zint rec_sysno_to_int(zint sysno);
 
+/** \brief compression types */
 #define REC_COMPRESS_NONE   0
 #define REC_COMPRESS_BZIP2  1
 
@@ -70,6 +107,17 @@ enum {
     recInfo_sortKeys
 };
 
+typedef struct recindex *recindex_t;
+
+recindex_t recindex_open(BFiles bfs, int rw, int use_isamb);
+void recindex_close(recindex_t p);
+int recindex_read_head(recindex_t p, void *buf);
+const char *recindex_get_fname(recindex_t p);
+ZEBRA_RES recindex_write_head(recindex_t p, const void *buf, size_t len);
+int recindex_read_indx(recindex_t p, zint sysno, void *buf, int itemsize, 
+                       int ignoreError);
+void recindex_write_indx(recindex_t p, zint sysno, void *buf, int itemsize);
+
 YAZ_END_CDECL
 #endif
 /*