home *** CD-ROM | disk | FTP | other *** search
- #ifndef _VTABLE_H_
- #define _VTABLE_H_
- typedef int (*vtablecmp)(void*,void*,int);
- /*
- * Variable length tables;
- */
- typedef struct {
- int magic;
- int end;
- char *data;
- int rec_size;
- int num_slots;
- vtablecmp cmp;
- } vtable;
-
- vtable *VTableCreate(int recsize);
- int VTableSet(vtable *,int recsize);
- void VTableAppend(vtable *,char *data);
- void VTableDestroy(vtable *);
- char * VTableIndex(vtable *,int inx);
- char * VTableNext(vtable *,int *inx,int step);
- void VTableRemove(vtable *,char *rec);
- void VTableIRemove(vtable *,int position);
-
- extern int VTableSize(vtable *vt);
- extern void VTableZero(vtable *vt);
- extern void VTableSetCmp(vtable *,vtablecmp);
- extern int VTableAlloc(vtable *,int);
- #endif /* _VTABLE_H_ */
-