home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume26 / ns2tab / part01 / vtable.h < prev   
Encoding:
C/C++ Source or Header  |  1993-04-04  |  744 b   |  30 lines

  1. #ifndef _VTABLE_H_
  2. #define _VTABLE_H_
  3. typedef int (*vtablecmp)(void*,void*,int);
  4. /*
  5.  * Variable length tables;
  6.  */
  7. typedef struct {
  8.    int magic;
  9.    int end;
  10.    char *data;
  11.    int rec_size;
  12.    int num_slots;
  13.    vtablecmp cmp;
  14. } vtable;
  15.  
  16. vtable *VTableCreate(int recsize);
  17. int     VTableSet(vtable *,int recsize);
  18. void    VTableAppend(vtable *,char *data);
  19. void    VTableDestroy(vtable *);
  20. char *  VTableIndex(vtable *,int inx);
  21. char *  VTableNext(vtable *,int *inx,int step);
  22. void    VTableRemove(vtable *,char *rec);
  23. void    VTableIRemove(vtable *,int position);
  24.  
  25. extern int VTableSize(vtable *vt);
  26. extern void VTableZero(vtable *vt);
  27. extern void VTableSetCmp(vtable *,vtablecmp);
  28. extern int VTableAlloc(vtable *,int);
  29. #endif /* _VTABLE_H_ */
  30.