| 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 | |
|---|
| 53 | typedef 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 | |
|---|
| 59 | typedef struct ifpbuffer { |
|---|
| 60 | IFPSTRU buff[MAXIFPMEM]; |
|---|
| 61 | } IFPBUFFER; |
|---|
| 62 | |
|---|
| 63 | typedef struct ifpheaders { |
|---|
| 64 | INFO ifpblk; |
|---|
| 65 | INFO offset; |
|---|
| 66 | }IFPHEADERS; |
|---|
| 67 | |
|---|
| 68 | typedef struct tree_path { |
|---|
| 69 | int top; |
|---|
| 70 | PUNT stck[MAX_TREE_LEVEL]; |
|---|
| 71 | } TREE_PATH; |
|---|
| 72 | |
|---|
| 73 | typedef 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 | |
|---|
| 80 | typedef 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 | |
|---|
| 87 | typedef 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 | |
|---|
| 98 | typedef 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 |
|---|
| 112 | void ifp_init_hd(int *hdn); |
|---|
| 113 | void ifp_ins_new_hd(INFO blk,INFO off, |
|---|
| 114 | INFO hdblk[],INFO hdoff[],int hdmax,int *hdn); |
|---|
| 115 | #else |
|---|
| 116 | void ifp_init_hd(); |
|---|
| 117 | void ifp_ins_new_hd(); |
|---|
| 118 | #endif |
|---|
| 119 | |
|---|
| 120 | #if DEBIFUPD |
|---|
| 121 | #if ANSI |
|---|
| 122 | void upif_chgtostr(UCHR *v,int n,UCHR *tkey); |
|---|
| 123 | void upif_gera_keys(INVMAP *invp,int ident, |
|---|
| 124 | int level, PUNT punt,int treecase,FILE *fkeys); |
|---|
| 125 | void upif_print_btree(INVMAP *invp,int ident,int level, |
|---|
| 126 | PUNT punt,int treecase,FILE *fout); |
|---|
| 127 | void upif_print_leaf(L0STRU *l0p); |
|---|
| 128 | void upif_print_node(N0STRU *n0p); |
|---|
| 129 | void lifp_print_cnt(INVMAP *invp); |
|---|
| 130 | #else |
|---|
| 131 | void upif_chgtostr(); |
|---|
| 132 | void upif_gera_keys(); |
|---|
| 133 | void upif_print_btree(); |
|---|
| 134 | void upif_print_leaf(); |
|---|
| 135 | void upif_print_node(); |
|---|
| 136 | void lifp_print_cnt(); |
|---|
| 137 | #endif |
|---|
| 138 | #endif /* DEBIFUPD */ |
|---|
| 139 | |
|---|
| 140 | #endif /* CIUPI_H */ |
|---|