#ifndef SP_CURSOR_H_ #define SP_CURSOR_H_ /* * sophia database * sphia.org * * Copyright (c) Dmitry Simonenko * BSD License */ typedef struct spc spc; #define SPCNONE 0 #define SPCITXN 1 #define SPCI0 2 #define SPCI1 4 #define SPCP 16 struct spc { spmagic m; sporder o; sp *s; spii i0, i1; spii itxn; sppageh *ph; sppage *p; int pi; /* page space index */ spvh *pv; int pvi; /* version page index */ int mask; /* last iteration advance mask */ spref r; /* last iteration result */ }; void sp_cursoropen(spc*, sp*, sporder, char*, int); void sp_cursorclose(spc*); int sp_iterate(spc*); int sp_match(sp*, void*, size_t, void**, size_t*); #endif