summaryrefslogtreecommitdiffstats
path: root/biology/emboss/files/patch-ajindex.h
diff options
context:
space:
mode:
Diffstat (limited to 'biology/emboss/files/patch-ajindex.h')
-rw-r--r--biology/emboss/files/patch-ajindex.h170
1 files changed, 170 insertions, 0 deletions
diff --git a/biology/emboss/files/patch-ajindex.h b/biology/emboss/files/patch-ajindex.h
new file mode 100644
index 0000000..bcd3faa
--- /dev/null
+++ b/biology/emboss/files/patch-ajindex.h
@@ -0,0 +1,170 @@
+--- ajax/ajindex.h.orig Mon Jan 23 12:17:10 2006
++++ ajax/ajindex.h Thu Dec 22 13:12:32 2005
+@@ -67,6 +67,23 @@
+ } AjOBtNode;
+ #define AjPBtNode AjOBtNode*
+
++
++
++
++typedef struct AjSBtMem
++{
++ struct AjSBtMem *next;
++ struct AjSBtMem *prev;
++ AjPStr *karray;
++ ajlong *parray;
++ ajlong *overflows;
++ AjBool used;
++} AjOBtMem;
++#define AjPBtMem AjOBtMem*
++
++
++
++
+ /* @data AjPBtId ***************************************************
+ **
+ ** Btree ID
+@@ -137,6 +154,54 @@
+
+
+
++/* @data AjPBtNumId ***************************************************
++**
++** Btree ID
++**
++** @attr id [AjPStr] Unique ID
++** @attr dbno [ajint] Database file number
++** @attr dups [ajint] Duplicates
++** @attr offset [ajlong] Offset within database file (ftello)
++** @attr refoffset [ajlong] Offset within reference database file (ftello)
++******************************************************************************/
++
++typedef struct AjSBtNumId
++{
++ ajint dbno;
++ ajlong offset;
++ ajlong refoffset;
++} AjOBtNumId;
++#define AjPBtNumId AjOBtNumId*
++
++
++
++
++/* @data AjPNumBucket ***************************************************
++**
++** Offset bucket structure on disc
++**
++** Key, filenumber, ftell ID, subkey page (char*, ajint, ajlong, ajlong)
++**
++** @attr NodeType [ajint] Node type
++** @attr Nentries [ajint] Number of entries
++** @attr Overflow [ajlong] Offset to overflow block
++** @attr offset [ajlong*] file offsets
++** @attr refoffset [ajlong*] ref file offsets
++** @attr offset [ajint*] database numbers
++******************************************************************************/
++
++typedef struct AjSNumBucket
++{
++ ajint NodeType;
++ ajint Nentries;
++ ajlong Overflow;
++ AjPBtNumId *NumId;
++} AjONumBucket;
++#define AjPNumBucket AjONumBucket*
++
++
++
++
+ /* Database file name structure
+ **
+ ** ajint order Order of B+tree
+@@ -387,6 +452,10 @@
+ ** @attr snperbucket [ajint] Undocumented
+ ** @attr secrootblock [ajlong] secondary tree root block
+ ** @attr kwlimit [ajint] Max length of secondary key
++** @attr bmem [AjPBtMem] primary memory allocation MRU bottom
++** @attr bsmem [AjPBtMem] secondary memory allocation MRU bottom
++** @attr tmem [AjPBtMem] primary memory allocation MRU top
++** @attr tsmem [AjPBtMem] secondary memory allocation MRU top
+ ******************************************************************************/
+
+ typedef struct AjSBtCache
+@@ -409,6 +478,12 @@
+ ajint snperbucket;
+ ajlong secrootblock;
+ ajint kwlimit;
++
++ AjPBtMem bmem;
++ AjPBtMem tmem;
++ AjPBtMem bsmem;
++ AjPBtMem tsmem;
++
+ } AjOBtcache;
+ #define AjPBtcache AjOBtcache*
+
+@@ -511,6 +586,32 @@
+
+
+
++/* @data AjPBtHybrid ***************************************************
++**
++** Btree ID
++**
++** @attr key1 [AjPStr] Unique ID
++** @attr dbno [ajint] Database file number
++** @attr dups [ajint] Duplicates
++** @attr offset [ajlong] Offset within database file (ftello)** @attr refoffset [ajlong] Offset within reference database file (ftello)
++** @attr refoffset [ajlong] Offset within reference database file (ftello)
++** @attr treeblock [ajlong] Secondary tree root page
++******************************************************************************/
++
++typedef struct AjSBtHybrid
++{
++ AjPStr key1;
++ ajint dbno;
++ ajint dups;
++ ajlong offset;
++ ajlong refoffset;
++ ajlong treeblock;
++} AjOBtHybrid;
++#define AjPBtHybrid AjOBtHybrid*
++
++
++
++
+ AjPBtcache ajBtreeCacheNewC(const char *file, const char *ext,
+ const char *idir, const char *mode,
+ ajint pagesize, ajint order, ajint fill,
+@@ -553,7 +654,8 @@
+ AjBool ajBtreeReplaceId(AjPBtcache cache, const AjPBtId rid);
+
+ ajint ajBtreeReadEntries(const char *filename, const char *indexdir,
+- AjPStr **seqfiles, AjPStr **reffiles);
++ const char *directory,
++ AjPStr **seqfiles, AjPStr **reffiles);
+ void ajBtreeInsertDupId(AjPBtcache cache, AjPBtId id);
+ AjPList ajBtreeDupFromKey(AjPBtcache cache, const char *key);
+
+@@ -580,6 +682,21 @@
+ void ajBtreeInsertKeyword(AjPBtcache cache, const AjPBtPri pri);
+
+ void ajBtreeLockTest(AjPBtcache cache);
++
++
++
++AjPBtpage ajBtreeHybFindInsert(AjPBtcache cache, const char *key);
++AjPBtpage ajBtreeNumFindInsert(AjPBtcache cache, const ajlong key);
++
++void ajBtreeInsertNum(AjPBtcache cache, AjPBtNumId num, AjPBtpage page);
++void ajBtreeHybInsertId(AjPBtcache cache, AjPBtHybrid hyb);
++AjPBtHybrid ajBtreeHybNew(void);
++void ajBtreeHybDel(AjPBtHybrid *thys);
++void ajBtreeFreePriArray(AjPBtcache cache);
++void ajBtreeFreeSecArray(AjPBtcache cache);
++void ajBtreeHybLeafList(AjPBtcache cache, ajlong rootblock,
++ AjPStr idname, AjPList list);
++
+
+ #endif
+
OpenPOWER on IntegriCloud