a99  V32.6
allegro Windows Hauptprogramm
 Alle Klassen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
aideclar.h
gehe zur Dokumentation dieser Datei
1 // aideclar.h : Funktionsdeklarationen, ident. f. .c und .cpp
2 // 1995-05-23 / 2011
3 // Copyright 2011 Universitätsbibliothek Braunschweig, more see bottom
4 
5 // Die Funktionen mit Grossbuchstaben im Namen koennen
6 // aus Anwendungen direkt aufgerufen werden
7 // Mit **** sind die gekennzeichnet, mit denen man fuer allegro-Anwendungen
8 // auskommt, die anderen sind groesstenteils nur innerhalb aindex verwendet
9 // d.h. nicht sinnvoll von aussen aufrufbar
10 
11 // Deklarationen, geordnet nach den einzelnen Modulen
12 
13 // ---------------
14 // aiprepar.cpp : Vorbereitungen: Speicher strukturieren bzw. Index oeffnen
15 // ---------------
16 
17 SHORT NewAIX(SHORT filbs,SHORT nregs,SHORT blocs);
18 PTRL aidataxf(aiDATEI *ainmb,unsigned int rsize);
19 aiINDX *aichktf(SHORT filno);
20 SHORT aiendv(void);
21 uSHORT aifixint(aiDATEI *ainmb);
22 SHORT aichkupt(aiDATEI *ainmb);
23 void aiwritrv(CHAR *tp, SHORT wrdcnt);
24 void aiprefrv(aiDATEI *ainmb);
25 SHORT aiprefrd(aiDATEI *ainmb);
26 SHORT aiprefwr(aiDATEI *ainmb);
27 SHORT aiOPEN(SHORT filno,CHAR *filnam,SHORT filmod); // ****
28 SHORT aiknowri(aiTRSTR *aibloc );
29 SHORT aiCLOSE(SHORT filno,SHORT filmod); // ****
30 SHORT updted(aiDATEI *); // Flag: Wurde Datei geaendert?
31 
32 // -------------
33 // aicore1.cpp : Indexdatei bzw. Register neu anlegen
34 // -------------
35 
36 // ****
37 SHORT aiNewInx(SHORT rgnum, char *filnam, SHORT kylgth, SHORT nmreg, uSHORT expndz, SHORT filmod);
38 SHORT aiNewReg(SHORT rgnum, SHORT kylgth, CHAR membno);
39 
40 // -------------
41 // aicore2.cpp : Interne Kernfunktionen
42 // -------------
43 
44 SHORT aifkno(aiTRSTR *aibloc, CHAR *aikey, CHAR ai_str);
45 aiTRSTR *aiknoget(RECNR knot, aiINDX *aixf);
46 aiTRSTR *aidatlru(aiTRSTR *aigetf);
47 void aipraxr(aiTRSTR *aibloc);
48 SHORT aiknord(aiTRSTR *aibloc,RECNR knot, aiINDX *aixf);
49 PTRL axENT(SHORT rgnum);
50 RECNR aigrtrot(aiINDX *aixf);
51 CHAR *aidatpoi(aiTRSTR *aibloc, SHORT aiG_pos);
52 CHAR *aidathi(aiTRSTR *aibloc);
54 
55 #ifdef LoHi
57 #else
59 #endif
60 
61 CHAR *aivlxpr(aiTRSTR *bp, SHORT n);
62 
63 // ---------------
64 // aicore2s.cpp : Einzelplatzversionen (schneller)
65 // ---------------
66 
67 SHORT aifknoS(aiTRSTR *aibloc, CHAR *aikey, CHAR ai_str);
68 aiTRSTR *aiknogetS(RECNR knot, aiINDX *aixf);
69 SHORT aiknordS(aiTRSTR *aibloc,RECNR knot, aiINDX *aixf);
71 CHAR *aidathiS(aiTRSTR *aibloc);
72 
73 #ifdef LoHi
75 #else
77 #endif
78 
79 // ---------------
80 // aiefunc1.cpp : Interne Dateifunktionen
81 // ---------------
82 
83 int aiopn(aiDATEI *ainmb, SHORT modus);
84 int aicrt(aiDATEI *ainmb);
85 SHORT aisav(aiDATEI *ainmb);
86 void ai_dump(SHORT datno);
87 SHORT aiLok(RECNR knot, aiINDX *aixf);
88 SHORT aiUnlk(RECNR knot, aiINDX *aixf);
89 
90 // ---------------
91 // aiefunc2.cpp : Interne Hilfsfunktionen
92 // ---------------
93 
94 CHAR *aispace(unsigned int numobj, unsigned int sizobj);
95 void airels(CHAR *objptr);
96 
97 #ifndef aicopy
98 void aicopy(CHAR *dp, CHAR *sp, uSHORT n);
99 #endif
100 SHORT aierro(SHORT err_no);
101 void aiAbort(SHORT err_no);
102 
103 #ifdef HITOLO
104 void ai_flip(CHAR *tp, SHORT wrdcnt);
105 #endif
106 
107 void ai_exchg(CHAR *tp,SHORT len);
108 SHORT aifpos(aiDATEI *ainmb, PTRL airecnum);
109 
110 SHORT airw(SHORT opcod, aiDATEI *ainmb, RECNR airecnum,CHAR *blocadr, unsigned int bloclen);
111 // read-write file, opcod=0: READ, =1: WRITE
112 SHORT ai_fclose(aiDATEI *ainmb, SHORT clmode); // close file
113 SHORT ai_delt(CHAR *filnam); // delete file
114 
115 // ---------------
116 // aicompar.cpp : Vergleichsfunktionen
117 // ---------------
118 
119 SHORT compar(CHAR *val1, CHAR *val2, aiINDX *aixf);
120 int ai_scmpar(unsigned char *a, unsigned char *b); // Vergleich mit Wertetabelle
121 
122 
123 // ---------------
124 // aifind.cpp : Schluessel finden und blaettern
125 // ---------------
126 
127 PTRL aiEntEq(SHORT rgnum, CHAR *srcval);
128 PTRL aiEntGe(SHORT rgnum,CHAR *srcval, CHAR *aikey); // ****
129 PTRL aiEntNx(SHORT rgnum, CHAR *aikey); // ****
130 PTRL aiEntPr(SHORT rgnum, CHAR *aikey); // ****
131 PTRL aiEntFi(SHORT rgnum, CHAR *aikey);
132 PTRL aiEntLa(SHORT rgnum, CHAR *aikey);
133 PTRL aiEntGt(SHORT rgnum, CHAR *srcval, CHAR *aikey); // ****
134 PTRL aiEntLt(SHORT rgnum, CHAR *srcval, CHAR *aikey); // ****
135 PTRL aiEntLe(SHORT rgnum, CHAR *srcval, CHAR *aikey);
136 PTRL aifent(aiINDX *aixf, CHAR *aikey, CHAR ai_str);
137 PTRL leftix(CHAR *aikey, aiINDX *aixf, aiTRSTR *aibloc, CHAR ai_str);
138 
139 // ---------------
140 // aifinds.cpp : Einzelplatzversionen von ein paar Funktionen (schneller)
141 // ---------------
142 
143 PTRL aiEntNxS(SHORT rgnum, CHAR *aikey); // ****
144 PTRL aiEntGeS(SHORT rgnum, CHAR *srcval, CHAR *aikey);
145 PTRL aiEntPrS(SHORT rgnum, CHAR *aikey);
146 PTRL aifentS(aiINDX *aixf, CHAR *aikey, CHAR ai_str);
147 PTRL leftixS(CHAR *aikey, aiINDX *aixf, aiTRSTR *aibloc, CHAR ai_str);
148 
149 // ---------------
150 // aiinskey.cpp : Schluessel einordnen
151 // ---------------
152 
153 SHORT aiEntIn(SHORT rgnum, CHAR *srcval, PTRL airecnum, SHORT aiaddt); // ****
154 SHORT aiinsrt(aiTRSTR *aibloc, aiINDX *aixf, CHAR *aikey, PTRL pntr, SHORT aiaddt);
155 SHORT adwurz(aiINDX *aixf, PTRL lpntr, PTRL rpntr, CHAR *aikey);
156 aiTRSTR *nwknot(aiINDX *aixf, RECNR *pknot, SHORT fresh);
157 void kyins(aiTRSTR *bp, CHAR *ip, PTRL pntr);
158 
159 // ---------------
160 // airemkey.cpp : Schluessel beseitigen
161 // ---------------
162 
163 SHORT aiEntLo(SHORT rgnum, CHAR *srcval, PTRL airecnum); // ****
164 SHORT aiEntDl(aiINDX *aixf, CHAR *aikey, PTRL pntr);
165 #ifndef aiIMMED
166 SHORT rtknot(RECNR knot, aiDATEI *aixf);
167 #endif
168 SHORT delexp(aiTRSTR *bp);
169 
170 // ---------------
171 // aichange.cpp
172 // ---------------
173 
174 SHORT updhd(aiINDX *aixf, PTRL chgnum);
175 SHORT savekn(aiTRSTR *bloc, SHORT knotsz);
176 void setdpl(CHAR *ip, aiINDX *aixf, PTRL *ai_poin);
177 aiTRSTR *mvrght(CHAR *aikey, aiINDX *aixf, aiTRSTR *aibloc);
178 void shiftr(SHORT n, aiTRSTR *bp, uSHORT ai_byte);
179 void shiftl(SHORT n, aiTRSTR *bp, uSHORT ai_byte);
180 
181 // Nur fuer das Programm QRIX, letzte Mischphase
182 // ---------------
183 // aiserial.cpp : vorsortierte Schluessel in Indexdatei wandeln
184 // ---------------
185 
186 aiTRSTR *serins(aiTRSTR *aibloc, CHAR *aikey, RECNR airecnum, aiDATEI *aixf);
187 aiTRSTR *skpreg(aiDATEI *aixf);
188 SHORT aiEntAd(SHORT rgnum, CHAR *srcval, PTRL airecnum, SHORT aiaddt);
189 void newlfflg(aiTRSTR *bp, aiDATEI *kp);
190 void nonlfflg(aiTRSTR *bp, aiDATEI *kp);
191 
192 /*
193  Copyright 2011 Universitätsbibliothek Braunschweig
194 
195  Licensed under the Apache License, Version 2.0 (the "License");
196  you may not use this file except in compliance with the License.
197  You may obtain a copy of the License at
198 
199  http://www.apache.org/licenses/LICENSE-2.0
200 
201  Unless required by applicable law or agreed to in writing, software
202  distributed under the License is distributed on an "AS IS" BASIS,
203  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
204  See the License for the specific language governing permissions and
205  limitations under the License.
206 */
207