root/trunk/ciupi.h

Revision 389, 4.0 kB (checked in by heitor.barbieri, 3 weeks ago)

essage first commit

Line 
1#ifndef CIUPI_H
2#define CIUPI_H
3
4#define TRACEhh        0
5#define DEBIFUPD  0
6#define IFUPDXUP  1
7#define IFUPDXLD  2
8
9#define LKXONLY 1                       /* allow .lkx processing */
10
11
12/* IFMAXTIV=127 numero de elementos do ifprec. O primeiro e' o numero
13   do bloco. Sobram 126 posicoes p/ postings. O indice varia 0..125
14*/
15#define MAXIDXPST        IFMAXTIV-2  /* Indice maximo p/ um posting */
16
17#if SINDO_OK
18/* IFMAXTIV=127 numero de elementos do ifprec.  O indice varia 0..126
19                #define IFMAXTIV    127         /* gdb */
20                typedef struct ifpstru {
21                    INFO     ifpblk;            /* gdb .ifp blk order */
22                    INFO     ifprec[IFMAXTIV];  /* gdb .ifp data */
23                } IFPSTRU;
24*/
25#define MAXIDXPST        (IFMAXTIV-1)  /* Indice maximo p/ um posting */
26#endif /* SINDO_OK */
27
28#define PSTSIZE          2
29#define IDXHEADSIZE      5
30
31#ifndef BOOLEAN
32#define BOOLEAN         int
33#endif  /* BOOLEAN */ /* HB - winnt.h */
34
35#define FALSE           0
36#define TRUE            1
37
38#define UNDEF_OPER      ' '
39#define INSERTION       'I'
40#define DELETION        'D'
41
42#define NOFIRST         FALSE
43#define ISFIRST         TRUE
44#define MAX_TREE_LEVEL  MAXLIV
45
46
47#define MAXIFPMEM               2       /* Number of IFPREC in memory */
48#define MAXPSTSSEG              32767   /* gdb ? */
49#define KEEP_HEADERS            TRUE
50#define DONT_KEEP_HEADERS       FALSE
51#define BUFFER_FULL             gbuf>=MAXIFPMEM-1
52
53typedef struct ifpavailpos {    /* First ifp record */
54    INFO     ifpblk;            /* gdb .ifp blk order */
55    INFO     nxtb;              /* ifprec[0] */
56    INFO     nxtp;              /* ifprec[1] */
57} IFPAVAILPOS;
58
59typedef struct ifpbuffer {
60    IFPSTRU buff[MAXIFPMEM];
61} IFPBUFFER;
62
63typedef struct ifpheaders {
64   INFO ifpblk;
65   INFO offset;
66}IFPHEADERS;
67
68typedef struct tree_path {
69  int top;
70  PUNT  stck[MAX_TREE_LEVEL];
71 } TREE_PATH;
72
73typedef struct n1struw {
74    PUNT     pos               PACKED;  /* gdb .n01 pos */
75    UWORD      ock               PACKED;  /* gdb .n01 ock */
76    UWORD      it                PACKED;  /* gdb .n01 it */
77    N1IDXE   idx[TWORDN+1]     PACKED;  /* gdb .n01 idx */
78} N1STRUW;
79
80typedef struct n2struw{
81    PUNT     pos               PACKED;  /* gdb .n02 pos */
82    UWORD      ock               PACKED;  /* gdb .n02 ock */
83    UWORD      it                PACKED;  /* gdb .n02 it */
84    N2IDXE   idx[TWORDN+1]     PACKED;  /* gdb .n02 idx */
85} N2STRUW;
86
87typedef struct l1struw {
88    PUNT     pos               PACKED;  /* gdb .l01 pos */
89    UWORD      ock               PACKED;  /* gdb .l01 ock */
90    UWORD      it                PACKED;  /* gdb .l01 it */
91    PUNT     ps                PACKED;  /* gdb .l01 ps */
92#if LIND
93    PUNT     psb               PACKED;  /* tlc gdb .l0x ps backward */
94#endif
95    L1IDXE   idx[TWORDF+1]     PACKED;  /* gdb .l01 idx */
96} L1STRUW;
97
98typedef struct l2struw {
99    PUNT     pos               PACKED;  /* gdb .l02 pos */
100    UWORD      ock               PACKED;  /* gdb .l02 ock */
101    UWORD      it                PACKED;  /* gdb .l02 it */
102    PUNT     ps                PACKED;  /* gdb .l02 ps */
103#if LIND
104    PUNT     psb               PACKED;  /* tlc gdb .l0x ps backward */
105#endif
106    L2IDXE   idx[TWORDF+1]     PACKED;  /* gdb .l02 idx */
107} L2STRUW;
108
109#define IFPmaxhd (IFMAXTIV+1)/(IDXHEADSIZE+PSTSIZE) /* 128/(5+2) */
110
111#if ANSI
112void ifp_init_hd(int *hdn);
113void ifp_ins_new_hd(INFO blk,INFO off,
114                    INFO hdblk[],INFO hdoff[],int hdmax,int *hdn);
115#else
116void ifp_init_hd();
117void ifp_ins_new_hd();
118#endif
119
120#if DEBIFUPD
121#if ANSI
122void upif_chgtostr(UCHR *v,int n,UCHR *tkey);
123void upif_gera_keys(INVMAP *invp,int ident,
124                    int level, PUNT punt,int treecase,FILE *fkeys);
125void upif_print_btree(INVMAP *invp,int ident,int level,
126                      PUNT punt,int treecase,FILE *fout);
127void upif_print_leaf(L0STRU *l0p);
128void upif_print_node(N0STRU *n0p);
129void lifp_print_cnt(INVMAP *invp);
130#else
131void upif_chgtostr();
132void upif_gera_keys();
133void upif_print_btree();
134void upif_print_leaf();
135void upif_print_node();
136void lifp_print_cnt();
137#endif
138#endif /* DEBIFUPD */
139
140#endif /* CIUPI_H */
Note: See TracBrowser for help on using the browser.