home *** CD-ROM | disk | FTP | other *** search
/ Super Net 1 / SUPERNET_1.iso / PC / OTROS / EXTRAS / UUCODE / UUPC / TEST / UPC12ES4.ZIP / RNEWS / idx.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-10-30  |  1.2 KB  |  65 lines

  1. /* idx.h
  2.  *
  3.  * simple index manager for UUPC news
  4.  *
  5.  * Author:  Kai Uwe Rommel <rommel@ars.muc.de>
  6.  * Created: Sun Aug 15 1993
  7.  */
  8.  
  9. /* $Id: IDX.H 1.1 1993/09/05 10:56:49 rommel Exp $ */
  10.  
  11. /* $Log: IDX.H $
  12.  * Revision 1.1  1993/09/05  10:56:49  rommel
  13.  * Initial revision
  14.  * */
  15.  
  16. #ifndef _IDX_H
  17. #define _IDX_H
  18.  
  19. #define IDX_MAGIC      4712
  20.  
  21. #define IDX_MAXKEY     80
  22. #define IDX_MINITEM    10
  23. #define IDX_MAXITEM    (IDX_MINITEM * 2)
  24. #define IDX_MAXSTACK   20
  25.  
  26. typedef struct
  27. {
  28.   char key[IDX_MAXKEY];
  29.   long offset;
  30.   short size;
  31.   long child;
  32. }
  33. ITEM;
  34.  
  35. typedef struct
  36. {
  37.   short items;
  38.   ITEM item[IDX_MAXITEM];
  39.   long child_0;
  40. }
  41. PAGE;
  42.  
  43. typedef struct
  44. {
  45.   int magic;
  46.   int file;
  47.   long size;
  48.   PAGE page;
  49.   long page_number;
  50.   int page_dirty;
  51.   long page_stack[IDX_MAXSTACK];
  52.   int page_stacksize;
  53. }
  54. IDX;
  55.  
  56. extern IDX *idx_init(int file);
  57. extern void idx_exit(IDX *idx);
  58. extern int idx_addkey(IDX *idx, char *key, long offset, int size);
  59. extern int idx_getkey(IDX *idx, char *key, long *offset, int *size);
  60. extern int idx_delkey(IDX *idx, char *key, long *offset, int *size);
  61.  
  62. #endif /* _IDX_H */
  63.  
  64. /* end of idx.h */
  65.