Subversion Repositories planix.SVN

Rev

Blame | Last modification | View Log | RSS feed

/* a hash file */
struct Ndbhf
{
        Ndbhf   *next;

        int     fd;
        ulong   dbmtime;        /* mtime of data base */
        int     hlen;           /* length (in entries) of hash table */
        char    attr[Ndbalen];  /* attribute hashed */

        uchar   buf[256];       /* hash file buffer */
        long    off;            /* offset of first byte of buffer */
        int     len;            /* length of valid data in buffer */
};

char*           _ndbparsetuple(char*, Ndbtuple**);
Ndbtuple*       _ndbparseline(char*);

#define ISWHITE(x) ((x) == ' ' || (x) == '\t' || (x) == '\r')
#define EATWHITE(x) while(ISWHITE(*(x)))(x)++

extern Ndbtuple *_ndbtfree;

/* caches */
void    _ndbcacheflush(Ndb *db);
int     _ndbcachesearch(Ndb *db, Ndbs *s, char *attr, char *val, Ndbtuple **t);
Ndbtuple* _ndbcacheadd(Ndb *db, Ndbs *s, char *attr, char *val, Ndbtuple *t);