1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
|
\hypertarget{xbdbf_8h_source}{}\doxysection{xbdbf.\+h}
\label{xbdbf_8h_source}\index{/mnt/1Tdata/xbase/xbase64-\/4.0.2/src/include/xbdbf.h@{/mnt/1Tdata/xbase/xbase64-\/4.0.2/src/include/xbdbf.h}}
\mbox{\hyperlink{xbdbf_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 \textcolor{comment}{/* xbdbf.h}}
\DoxyCodeLine{2 \textcolor{comment}{}}
\DoxyCodeLine{3 \textcolor{comment}{XBase64 Software Library}}
\DoxyCodeLine{4 \textcolor{comment}{}}
\DoxyCodeLine{5 \textcolor{comment}{Copyright (c) 1997,2003,2014, 2022 Gary A Kunkel}}
\DoxyCodeLine{6 \textcolor{comment}{}}
\DoxyCodeLine{7 \textcolor{comment}{The xb64 software library is covered under the terms of the GPL Version 3, 2007 license.}}
\DoxyCodeLine{8 \textcolor{comment}{}}
\DoxyCodeLine{9 \textcolor{comment}{Email Contact:}}
\DoxyCodeLine{10 \textcolor{comment}{}}
\DoxyCodeLine{11 \textcolor{comment}{ XDB-\/devel@lists.sourceforge.net}}
\DoxyCodeLine{12 \textcolor{comment}{ XDB-\/users@lists.sourceforge.net}}
\DoxyCodeLine{13 \textcolor{comment}{}}
\DoxyCodeLine{14 \textcolor{comment}{*/}}
\DoxyCodeLine{15 }
\DoxyCodeLine{16 }
\DoxyCodeLine{17 \textcolor{preprocessor}{\#ifndef \_\_XB\_XBDBF\_H\_\_}}
\DoxyCodeLine{18 \textcolor{preprocessor}{\#define \_\_XB\_XBDBF\_H\_\_}}
\DoxyCodeLine{19 }
\DoxyCodeLine{20 \textcolor{comment}{//\#ifdef CMAKE\_COMPILER\_IS\_GNUCC}}
\DoxyCodeLine{21 \textcolor{comment}{//\#pragma interface}}
\DoxyCodeLine{22 \textcolor{comment}{//\#endif}}
\DoxyCodeLine{23 }
\DoxyCodeLine{24 \textcolor{keyword}{namespace }\mbox{\hyperlink{namespacexb}{xb}}\{}
\DoxyCodeLine{25 }
\DoxyCodeLine{26 \textcolor{comment}{/*****************************/}}
\DoxyCodeLine{27 \textcolor{comment}{/* Field Types */}}
\DoxyCodeLine{28 }
\DoxyCodeLine{29 \textcolor{preprocessor}{\#define XB\_CHAR\_FLD 'C'}}
\DoxyCodeLine{30 \textcolor{preprocessor}{\#define XB\_LOGICAL\_FLD 'L'}}
\DoxyCodeLine{31 \textcolor{preprocessor}{\#define XB\_NUMERIC\_FLD 'N'}}
\DoxyCodeLine{32 \textcolor{preprocessor}{\#define XB\_DATE\_FLD 'D'}}
\DoxyCodeLine{33 \textcolor{preprocessor}{\#define XB\_MEMO\_FLD 'M'}}
\DoxyCodeLine{34 \textcolor{preprocessor}{\#define XB\_FLOAT\_FLD 'F'}}
\DoxyCodeLine{35 }
\DoxyCodeLine{36 \textcolor{comment}{/*****************************/}}
\DoxyCodeLine{37 \textcolor{comment}{/* File Status Codes */}}
\DoxyCodeLine{38 }
\DoxyCodeLine{39 \textcolor{preprocessor}{\#define XB\_CLOSED 0}}
\DoxyCodeLine{40 \textcolor{preprocessor}{\#define XB\_OPEN 1}}
\DoxyCodeLine{41 \textcolor{preprocessor}{\#define XB\_UPDATED 2}}
\DoxyCodeLine{42 }
\DoxyCodeLine{43 }
\DoxyCodeLine{44 \textcolor{comment}{/*****************************/}}
\DoxyCodeLine{45 \textcolor{comment}{/* File Access Modes */}}
\DoxyCodeLine{46 \textcolor{comment}{// \#define XB\_SINGLE\_USER 0 // file buffering on}}
\DoxyCodeLine{47 \textcolor{comment}{// \#define XB\_MULTI\_USER 1 // file buffering off}}
\DoxyCodeLine{48 }
\DoxyCodeLine{49 \textcolor{comment}{/*****************************/}}
\DoxyCodeLine{50 \textcolor{comment}{/* File Lock Functions */}}
\DoxyCodeLine{51 \textcolor{preprocessor}{\#define XB\_LOCK 0}}
\DoxyCodeLine{52 \textcolor{preprocessor}{\#define XB\_UNLOCK 1}}
\DoxyCodeLine{53 }
\DoxyCodeLine{54 \textcolor{preprocessor}{\#define LK\_DBASE 1}}
\DoxyCodeLine{55 \textcolor{preprocessor}{\#define LK\_CLIPPER 2 }\textcolor{comment}{// future}}
\DoxyCodeLine{56 \textcolor{preprocessor}{\#define LK\_FOX 3 }\textcolor{comment}{// future}}
\DoxyCodeLine{57 \textcolor{preprocessor}{\#define LK\_XBASE64 9 }\textcolor{comment}{// future}}
\DoxyCodeLine{58 }
\DoxyCodeLine{59 \textcolor{comment}{/*****************************/}}
\DoxyCodeLine{60 \textcolor{comment}{/* Record retrieve options */}}
\DoxyCodeLine{61 \textcolor{preprocessor}{\#define XB\_ALL\_RECS 0}}
\DoxyCodeLine{62 \textcolor{preprocessor}{\#define XB\_ACTIVE\_RECS 1}}
\DoxyCodeLine{63 \textcolor{preprocessor}{\#define XB\_DELETED\_RECS 2}}
\DoxyCodeLine{64 }
\DoxyCodeLine{65 }
\DoxyCodeLine{66 \textcolor{comment}{/*****************************/}}
\DoxyCodeLine{67 \textcolor{comment}{/* Other defines */}}
\DoxyCodeLine{68 }
\DoxyCodeLine{69 \textcolor{preprocessor}{\#define XB\_OVERLAY 1}}
\DoxyCodeLine{70 \textcolor{preprocessor}{\#define XB\_DONTOVERLAY 0}}
\DoxyCodeLine{71 \textcolor{preprocessor}{\#define XB\_CHAREOF '\(\backslash\)x1A' }\textcolor{comment}{/* end of DBF */}\textcolor{preprocessor}{}}
\DoxyCodeLine{72 \textcolor{preprocessor}{\#define XB\_CHARHDR '\(\backslash\)x0D' }\textcolor{comment}{/* header terminator */}\textcolor{preprocessor}{}}
\DoxyCodeLine{73 }
\DoxyCodeLine{74 }
\DoxyCodeLine{76 }
\DoxyCodeLine{95 \textcolor{keyword}{struct }XBDLLEXPORT \mbox{\hyperlink{structxb_1_1xbSchema}{xbSchema}} \{}
\DoxyCodeLine{96 \textcolor{keywordtype}{char} cFieldName[11];}
\DoxyCodeLine{97 \textcolor{keywordtype}{char} \mbox{\hyperlink{structxb_1_1xbSchema_a1d612b2ed5dc0b0289c9e91b3cda3a25}{cType}};}
\DoxyCodeLine{98 xbInt16 \mbox{\hyperlink{structxb_1_1xbSchema_a2da554af25ef628acf59bb52996056ac}{iFieldLen}}; \textcolor{comment}{/* fields are stored as one byte on record*/}}
\DoxyCodeLine{99 xbInt16 \mbox{\hyperlink{structxb_1_1xbSchema_a55bab3bb69dee3508d168c93e182d4b9}{iNoOfDecs}};}
\DoxyCodeLine{100 \};}
\DoxyCodeLine{101 }
\DoxyCodeLine{103 \textcolor{keyword}{struct }XBDLLEXPORT xbSchemaRec \{}
\DoxyCodeLine{104 \textcolor{keywordtype}{char} cFieldName[11]; \textcolor{comment}{/* ASCIIZ field name */}}
\DoxyCodeLine{105 \textcolor{keywordtype}{char} cType; \textcolor{comment}{/* field type */}}
\DoxyCodeLine{106 \textcolor{keywordtype}{char} *pAddress; \textcolor{comment}{/* pointer to field in record buffer 1 */}}
\DoxyCodeLine{107 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cFieldLen; \textcolor{comment}{/* fields are stored as one byte on record */}}
\DoxyCodeLine{108 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cNoOfDecs;}
\DoxyCodeLine{109 \textcolor{keywordtype}{char} *pAddress2; \textcolor{comment}{/* pointer to field in record buffer 2 */}}
\DoxyCodeLine{110 xbInt16 iLongFieldLen; \textcolor{comment}{/* to handle long field lengths */}}
\DoxyCodeLine{111 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cIxFlag; \textcolor{comment}{/* DBase IV Index field flag */}}
\DoxyCodeLine{112 \};}
\DoxyCodeLine{114 }
\DoxyCodeLine{115 }
\DoxyCodeLine{116 }
\DoxyCodeLine{118 \textcolor{preprocessor}{\#ifdef XB\_INDEX\_SUPPORT}}
\DoxyCodeLine{119 \textcolor{keyword}{class }XBDLLEXPORT xbIx;}
\DoxyCodeLine{120 \textcolor{comment}{// structure for file list, each open DBF file can have one or more index files}}
\DoxyCodeLine{121 \textcolor{keyword}{struct }XBDLLEXPORT xbIxList \{}
\DoxyCodeLine{122 xbIxList *next;}
\DoxyCodeLine{123 xbIx *ix;}
\DoxyCodeLine{124 xbString *sFmt;}
\DoxyCodeLine{125 \};}
\DoxyCodeLine{126 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
\DoxyCodeLine{128 \textcolor{comment}{}}
\DoxyCodeLine{129 }
\DoxyCodeLine{131 }
\DoxyCodeLine{150 \textcolor{keyword}{class }XBDLLEXPORT \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} : \textcolor{keyword}{public} \mbox{\hyperlink{classxb_1_1xbFile}{xbFile}} \{}
\DoxyCodeLine{151 }
\DoxyCodeLine{152 \textcolor{keyword}{public}:}
\DoxyCodeLine{153 \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}}( \mbox{\hyperlink{classxb_1_1xbXBase}{xbXBase}} *x );}
\DoxyCodeLine{154 \textcolor{keyword}{virtual} \mbox{\hyperlink{classxb_1_1xbDbf}{\string~xbDbf}}();}
\DoxyCodeLine{155 }
\DoxyCodeLine{156 \textcolor{keyword}{virtual} xbInt16 Abort();}
\DoxyCodeLine{157 \textcolor{keyword}{virtual} xbInt16 AppendRecord();}
\DoxyCodeLine{158 \textcolor{keyword}{virtual} xbInt16 BlankRecord();}
\DoxyCodeLine{159 \textcolor{keyword}{virtual} xbInt16 Commit();}
\DoxyCodeLine{160 \textcolor{keyword}{virtual} xbInt16 Close();}
\DoxyCodeLine{161 \textcolor{keyword}{virtual} xbInt16 CopyDbfStructure( \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} *dNewTable, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableAlias, xbInt16 iOverlay, xbInt16 iShareMode );}
\DoxyCodeLine{162 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a73e41bfe679dd06ab16c436652df93f1}{CreateTable}} ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias, \mbox{\hyperlink{structxb_1_1xbSchema}{xbSchema}} *pSchema, xbInt16 iOverlay, xbInt16 iShareMode ) = 0;}
\DoxyCodeLine{163 \textcolor{keyword}{virtual} xbInt16 DeleteTable ();}
\DoxyCodeLine{164 \textcolor{keyword}{virtual} xbInt16 DeleteAll ( xbInt16 iOption );}
\DoxyCodeLine{165 \textcolor{keyword}{virtual} xbInt16 DeleteAllRecords ();}
\DoxyCodeLine{166 \textcolor{keyword}{virtual} xbInt16 DeleteRecord ();}
\DoxyCodeLine{167 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_ab1f4a515533402f872cedcd0322aabd4}{DumpHeader}} ( xbInt16 iOption ) \textcolor{keyword}{const};}
\DoxyCodeLine{168 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a3a6a068addffd06fc9a996639d6ca69e}{DumpRecord}} ( xbUInt32 ulRecNo, xbInt16 iOutputDest = 0, xbInt16 iOutputFmt = 0 );}
\DoxyCodeLine{169 \textcolor{keyword}{virtual} xbInt16 GetAutoCommit () \textcolor{keyword}{const};}
\DoxyCodeLine{170 \textcolor{keyword}{virtual} xbInt16 GetAutoCommit ( xbInt16 iOption ) \textcolor{keyword}{const};}
\DoxyCodeLine{171 \textcolor{keyword}{virtual} xbUInt32 GetCurRecNo () \textcolor{keyword}{const};}
\DoxyCodeLine{172 \textcolor{keyword}{virtual} xbInt16 GetDbfStatus () \textcolor{keyword}{const};}
\DoxyCodeLine{173 \textcolor{keyword}{virtual} xbInt32 GetFieldCnt () \textcolor{keyword}{const};}
\DoxyCodeLine{174 \textcolor{keyword}{virtual} xbInt16 GetFirstRecord ();}
\DoxyCodeLine{175 \textcolor{keyword}{virtual} xbInt16 GetFirstRecord ( xbInt16 iOption );}
\DoxyCodeLine{176 \textcolor{keyword}{virtual} xbInt16 GetLastRecord ();}
\DoxyCodeLine{177 \textcolor{keyword}{virtual} xbInt16 GetLastRecord ( xbInt16 iOption );}
\DoxyCodeLine{178 }
\DoxyCodeLine{179 \textcolor{keyword}{virtual} xbInt16 GetNextRecord ();}
\DoxyCodeLine{180 \textcolor{keyword}{virtual} xbInt16 GetNextRecord ( xbInt16 iOption );}
\DoxyCodeLine{181 \textcolor{keyword}{virtual} xbInt16 GetNextRecord ( xbInt16 iOption, xbUInt32 ulStartRec );}
\DoxyCodeLine{182 \textcolor{keyword}{virtual} xbInt32 \mbox{\hyperlink{classxb_1_1xbDbf_a13393704a8a191d4d6555ae31d3c3e92}{GetPhysicalIxCnt}} () \textcolor{keyword}{const};}
\DoxyCodeLine{183 \textcolor{keyword}{virtual} xbInt16 GetPrevRecord ();}
\DoxyCodeLine{184 \textcolor{keyword}{virtual} xbInt16 GetPrevRecord ( xbInt16 iOption );}
\DoxyCodeLine{185 \textcolor{keyword}{virtual} xbInt16 GetRecord ( xbUInt32 ulRecNo );}
\DoxyCodeLine{186 \textcolor{keyword}{virtual} xbInt16 GetRecordCnt ( xbUInt32 \& ulRecCnt );}
\DoxyCodeLine{187 \textcolor{keyword}{virtual} \textcolor{keywordtype}{char} * GetRecordBuf ( xbInt16 iOpt = 0 ) \textcolor{keyword}{const};}
\DoxyCodeLine{188 \textcolor{keyword}{virtual} xbUInt16 GetRecordLen () \textcolor{keyword}{const};}
\DoxyCodeLine{189 \textcolor{keyword}{virtual} \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&GetTblAlias() \textcolor{keyword}{const};}
\DoxyCodeLine{190 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a49212a9eb17f7fa9f303e08d5fc50fc6}{GetVersion}} () \textcolor{keyword}{const} = 0; }
\DoxyCodeLine{191 \textcolor{keyword}{virtual} \mbox{\hyperlink{classxb_1_1xbXBase}{xbXBase}} *GetXbasePtr () \textcolor{keyword}{const}; \textcolor{comment}{// return xbase pointer}}
\DoxyCodeLine{192 }
\DoxyCodeLine{193 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \mbox{\hyperlink{classxb_1_1xbDbf_ac856fc1b110b46aefa1b2f5c0f530aa2}{MemoFieldsExist}} () \textcolor{keyword}{const};}
\DoxyCodeLine{194 }
\DoxyCodeLine{195 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a97366c7362e409d7f09973a6aef8dad0}{Open}} ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName );}
\DoxyCodeLine{196 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_ac658818bf9b8f8ff7467d8d80495b324}{Open}} ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias );}
\DoxyCodeLine{197 \textcolor{keyword}{virtual} xbInt16 \mbox{\hyperlink{classxb_1_1xbDbf_a4d018cbf44d8d8b2145c9acab02c8adf}{Open}} ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias, xbInt16 iOpenMode, xbInt16 iShareMode ) = 0;}
\DoxyCodeLine{198 \textcolor{keyword}{virtual} xbInt16 Pack ();}
\DoxyCodeLine{199 \textcolor{keyword}{virtual} xbInt16 Pack ( xbUInt32 \&ulDeletedRecCnt );}
\DoxyCodeLine{200 }
\DoxyCodeLine{201 }
\DoxyCodeLine{202 \textcolor{keyword}{virtual} xbInt16 PutRecord (); \textcolor{comment}{// Put record to current location}}
\DoxyCodeLine{203 \textcolor{keyword}{virtual} xbInt16 PutRecord ( xbUInt32 ulRecNo );}
\DoxyCodeLine{204 \textcolor{keyword}{virtual} xbInt16 ReadHeader ( xbInt16 iFilePositionOption, xbInt16 iReadOption );}
\DoxyCodeLine{205 \textcolor{keyword}{virtual} xbInt16 RecordDeleted ( xbInt16 iOpt = 0 ) \textcolor{keyword}{const};}
\DoxyCodeLine{206 }
\DoxyCodeLine{207 \textcolor{keyword}{virtual} xbInt16 SetAutoCommit ( xbInt16 iAutoCommit );}
\DoxyCodeLine{208 }
\DoxyCodeLine{209 \textcolor{keyword}{virtual} xbInt16 UndeleteAllRecords();}
\DoxyCodeLine{210 \textcolor{keyword}{virtual} xbInt16 UndeleteRecord ();}
\DoxyCodeLine{211 \textcolor{keyword}{virtual} xbInt16 Zap ();}
\DoxyCodeLine{212 }
\DoxyCodeLine{213 }
\DoxyCodeLine{214 \textcolor{comment}{/* field methods */}}
\DoxyCodeLine{215 \textcolor{comment}{//virtual xbInt16 GetRawField( xbInt16 iFieldNo, char *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw ) const;}}
\DoxyCodeLine{216 \textcolor{keyword}{virtual} xbInt16 GetField(xbInt16 iFieldNo, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldValue, xbInt16 iRecBufSw ) \textcolor{keyword}{const};}
\DoxyCodeLine{217 \textcolor{keyword}{virtual} xbInt16 GetField(xbInt16 iFieldNo, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldValue) \textcolor{keyword}{const};}
\DoxyCodeLine{218 \textcolor{keyword}{virtual} xbInt16 GetField(\textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldValue) \textcolor{keyword}{const};}
\DoxyCodeLine{219 \textcolor{keyword}{virtual} xbInt16 GetFieldDecimal( xbInt16 iFieldNo, xbInt16 \&iFieldDecimal ) \textcolor{keyword}{const};}
\DoxyCodeLine{220 \textcolor{keyword}{virtual} xbInt16 GetFieldDecimal( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbInt16 \&iFieldDecimal ) \textcolor{keyword}{const};}
\DoxyCodeLine{221 \textcolor{keyword}{virtual} xbInt16 GetFieldLen( xbInt16 iFieldNo, xbInt16 \&iFieldLen ) \textcolor{keyword}{const};}
\DoxyCodeLine{222 \textcolor{keyword}{virtual} xbInt16 GetFieldLen( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbInt16 \&iFieldLen ) \textcolor{keyword}{const};}
\DoxyCodeLine{223 \textcolor{keyword}{virtual} xbInt16 GetFieldName( xbInt16 iFieldNo, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName ) \textcolor{keyword}{const};}
\DoxyCodeLine{224 }
\DoxyCodeLine{225 \textcolor{keyword}{virtual} xbInt16 GetFieldNo( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbInt16 \&iFieldNo ) \textcolor{keyword}{const};}
\DoxyCodeLine{226 \textcolor{keyword}{virtual} xbInt16 GetFieldNo( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName ) \textcolor{keyword}{const};}
\DoxyCodeLine{227 }
\DoxyCodeLine{228 \textcolor{keyword}{virtual} xbInt16 GetFieldType( xbInt16 iFieldNo, \textcolor{keywordtype}{char} \&cFieldType ) \textcolor{keyword}{const};}
\DoxyCodeLine{229 \textcolor{keyword}{virtual} xbInt16 GetFieldType( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \textcolor{keywordtype}{char} \&cFieldType ) \textcolor{keyword}{const};}
\DoxyCodeLine{230 \textcolor{keyword}{virtual} xbInt16 PutField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData );}
\DoxyCodeLine{231 \textcolor{keyword}{virtual} xbInt16 PutField( xbInt16 iFieldNo, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData );}
\DoxyCodeLine{232 }
\DoxyCodeLine{233 \textcolor{keyword}{virtual} xbInt16 PutLogicalField( xbInt16 iFieldNo, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData );}
\DoxyCodeLine{234 \textcolor{keyword}{virtual} xbInt16 PutLogicalField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData );}
\DoxyCodeLine{235 \textcolor{keyword}{virtual} xbInt16 GetLogicalField( xbInt16 iFieldNo, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData ) \textcolor{keyword}{const};}
\DoxyCodeLine{236 \textcolor{keyword}{virtual} xbInt16 GetLogicalField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldData) \textcolor{keyword}{const};}
\DoxyCodeLine{237 }
\DoxyCodeLine{238 \textcolor{keyword}{virtual} xbInt16 PutLogicalField( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bFieldData );}
\DoxyCodeLine{239 \textcolor{keyword}{virtual} xbInt16 PutLogicalField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bFieldData );}
\DoxyCodeLine{240 \textcolor{keyword}{virtual} xbInt16 GetLogicalField( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bFieldData ) \textcolor{keyword}{const};}
\DoxyCodeLine{241 \textcolor{keyword}{virtual} xbInt16 GetLogicalField( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bFieldData, xbInt16 iRecBufSw ) \textcolor{keyword}{const};}
\DoxyCodeLine{242 \textcolor{keyword}{virtual} xbInt16 GetLogicalField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} \&bFieldData) \textcolor{keyword}{const};}
\DoxyCodeLine{243 }
\DoxyCodeLine{244 \textcolor{keyword}{virtual} xbInt16 GetLongField( xbInt16 iFieldNo, xbInt32 \&lFieldValue ) \textcolor{keyword}{const};}
\DoxyCodeLine{245 \textcolor{keyword}{virtual} xbInt16 GetLongField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbInt32 \&lFieldValue ) \textcolor{keyword}{const};}
\DoxyCodeLine{246 \textcolor{keyword}{virtual} xbInt16 PutLongField( xbInt16 iFieldNo, xbInt32 lFieldValue );}
\DoxyCodeLine{247 \textcolor{keyword}{virtual} xbInt16 PutLongField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldNo, xbInt32 lFieldValue );}
\DoxyCodeLine{248 }
\DoxyCodeLine{249 \textcolor{keyword}{virtual} xbInt16 GetULongField( xbInt16 iFieldNo, xbUInt32 \&lFieldValue ) \textcolor{keyword}{const};}
\DoxyCodeLine{250 \textcolor{keyword}{virtual} xbInt16 GetULongField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, xbUInt32 \&lFieldValue ) \textcolor{keyword}{const};}
\DoxyCodeLine{251 \textcolor{keyword}{virtual} xbInt16 PutULongField( xbInt16 iFieldNo, xbUInt32 lFieldValue );}
\DoxyCodeLine{252 \textcolor{keyword}{virtual} xbInt16 PutULongField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldNo, xbUInt32 lFieldValue );}
\DoxyCodeLine{253 }
\DoxyCodeLine{254 \textcolor{keyword}{virtual} xbInt16 GetDoubleField( xbInt16 FieldNo, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dFieldValue ) \textcolor{keyword}{const};}
\DoxyCodeLine{255 \textcolor{keyword}{virtual} xbInt16 GetDoubleField( xbInt16 FieldNo, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dFieldValue, xbInt16 iRecBufSw ) \textcolor{keyword}{const};}
\DoxyCodeLine{256 \textcolor{keyword}{virtual} xbInt16 GetDoubleField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dFieldValue ) \textcolor{keyword}{const};}
\DoxyCodeLine{257 \textcolor{keyword}{virtual} xbInt16 PutDoubleField( xbInt16 FieldNo, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dFieldValue );}
\DoxyCodeLine{258 \textcolor{keyword}{virtual} xbInt16 PutDoubleField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&FieldName, \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} dFieldValue );}
\DoxyCodeLine{259 }
\DoxyCodeLine{260 \textcolor{keyword}{virtual} xbInt16 GetFloatField( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xbFloat}} \&fFieldValue ) \textcolor{keyword}{const};}
\DoxyCodeLine{261 \textcolor{keyword}{virtual} xbInt16 GetFloatField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xbFloat}} \&fFieldValue ) \textcolor{keyword}{const};}
\DoxyCodeLine{262 \textcolor{keyword}{virtual} xbInt16 PutFloatField( xbInt16 iFieldNo, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xbFloat}} fFieldValue );}
\DoxyCodeLine{263 \textcolor{keyword}{virtual} xbInt16 PutFloatField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{namespacexb_a83aa6a550398db55973aa9fb4257e66e}{xbFloat}} fFieldValue );}
\DoxyCodeLine{264 }
\DoxyCodeLine{265 \textcolor{keyword}{virtual} xbInt16 GetDateField( xbInt16 iFieldNo, \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dt ) \textcolor{keyword}{const};}
\DoxyCodeLine{266 \textcolor{keyword}{virtual} xbInt16 GetDateField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dt ) \textcolor{keyword}{const};}
\DoxyCodeLine{267 \textcolor{keyword}{virtual} xbInt16 PutDateField( xbInt16 iFieldNo, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dt );}
\DoxyCodeLine{268 \textcolor{keyword}{virtual} xbInt16 PutDateField( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dt );}
\DoxyCodeLine{269 }
\DoxyCodeLine{270 }
\DoxyCodeLine{271 }
\DoxyCodeLine{272 \textcolor{preprocessor}{ \#ifdef XB\_MEMO\_SUPPORT}}
\DoxyCodeLine{273 \textcolor{keyword}{virtual} xbInt16 GetMemoFieldCnt () \textcolor{keyword}{const};}
\DoxyCodeLine{274 \textcolor{keyword}{virtual} xbMemo *GetMemoPtr ();}
\DoxyCodeLine{275 \textcolor{keyword}{virtual} xbUInt32 GetCreateMemoBlockSize() \textcolor{keyword}{const};}
\DoxyCodeLine{276 \textcolor{keyword}{virtual} xbInt16 GetMemoField ( xbInt16 iFldNo, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sMemoData );}
\DoxyCodeLine{277 \textcolor{keyword}{virtual} xbInt16 GetMemoField ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \& sFldName, \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sMemoData );}
\DoxyCodeLine{278 \textcolor{keyword}{virtual} xbInt16 GetMemoFieldLen ( xbInt16 iFldNo, xbUInt32 \&ullMemoFieldLen );}
\DoxyCodeLine{279 \textcolor{keyword}{virtual} xbInt16 GetMemoFieldLen ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \& sFldName, xbUInt32 \&ulMemoFieldLen );}
\DoxyCodeLine{280 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} MemoFieldExists ( xbInt16 iFieldNo ) \textcolor{keyword}{const};}
\DoxyCodeLine{281 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} MemoFieldExists ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFieldName ) \textcolor{keyword}{const};}
\DoxyCodeLine{282 \textcolor{keyword}{virtual} xbInt16 SetCreateMemoBlockSize( xbUInt32 ulBlockSize ) = 0;}
\DoxyCodeLine{283 \textcolor{keyword}{virtual} xbInt16 UpdateMemoField ( xbInt16 iFldNo, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sMemoData );}
\DoxyCodeLine{284 \textcolor{keyword}{virtual} xbInt16 UpdateMemoField ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \& sFldName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sMemoData );}
\DoxyCodeLine{285 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_MEMO\_SUPPORT}}
\DoxyCodeLine{286 }
\DoxyCodeLine{287 }
\DoxyCodeLine{288 \textcolor{preprocessor}{ \#ifdef XB\_LOCKING\_SUPPORT}}
\DoxyCodeLine{289 \textcolor{keyword}{virtual} xbInt16 LockTable ( xbInt16 iLockFunction );}
\DoxyCodeLine{290 \textcolor{keyword}{virtual} xbInt16 LockRecord ( xbInt16 iLockFunction, xbUInt32 ulRecNo );}
\DoxyCodeLine{291 \textcolor{keyword}{virtual} xbInt16 LockAppend ( xbInt16 iLockFunction );}
\DoxyCodeLine{292 \textcolor{keyword}{virtual} xbInt16 LockHeader ( xbInt16 iLockFunction );}
\DoxyCodeLine{293 }
\DoxyCodeLine{294 \textcolor{preprocessor}{ \#ifdef XB\_MEMO\_SUPPORT}}
\DoxyCodeLine{295 \textcolor{keyword}{virtual} xbInt16 LockMemo ( xbInt16 iLockFunction );}
\DoxyCodeLine{296 \textcolor{keyword}{virtual} \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetMemoLocked () \textcolor{keyword}{const}; }
\DoxyCodeLine{297 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_MEMO\_LOCK}}
\DoxyCodeLine{298 }
\DoxyCodeLine{299 \textcolor{preprocessor}{ \#ifdef XB\_INDEX\_SUPPORT}}
\DoxyCodeLine{300 \textcolor{keyword}{virtual} xbInt16 LockIndices ( xbInt16 iLockFunction );}
\DoxyCodeLine{301 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
\DoxyCodeLine{302 }
\DoxyCodeLine{303 xbInt16 GetAutoLock () \textcolor{keyword}{const};}
\DoxyCodeLine{304 \textcolor{keywordtype}{void} SetAutoLock ( xbInt16 iAutoLock );}
\DoxyCodeLine{305 xbInt16 GetLockFlavor () \textcolor{keyword}{const};}
\DoxyCodeLine{306 \textcolor{keywordtype}{void} SetLockFlavor ( xbInt16 iLockFlavor );}
\DoxyCodeLine{307 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetTableLocked () \textcolor{keyword}{const};}
\DoxyCodeLine{308 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} GetHeaderLocked () \textcolor{keyword}{const};}
\DoxyCodeLine{309 xbUInt32 GetAppendLocked () \textcolor{keyword}{const};}
\DoxyCodeLine{310 xbLinkListNode<xbUInt32> * GetFirstRecLock () \textcolor{keyword}{const};}
\DoxyCodeLine{311 }
\DoxyCodeLine{312 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
\DoxyCodeLine{313 \textcolor{keywordtype}{void} DumpTableLockStatus() \textcolor{keyword}{const};}
\DoxyCodeLine{314 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_DEBUG\_SUPPORT}}
\DoxyCodeLine{315 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_LOCKING\_SUPPORT}}
\DoxyCodeLine{316 }
\DoxyCodeLine{317 }
\DoxyCodeLine{318 \textcolor{preprocessor}{ \#ifdef XB\_INDEX\_SUPPORT}}
\DoxyCodeLine{319 \textcolor{keyword}{virtual} xbInt16 CloseIndexFile( xbIx *pIx );}
\DoxyCodeLine{320 \textcolor{keyword}{virtual} xbInt16 CreateTag( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIxType, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sKey, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFilter, }
\DoxyCodeLine{321 xbInt16 iDescending, xbInt16 iUnique, xbInt16 iOverLay, xbIx **xbIxOut, \textcolor{keywordtype}{void} **vpTagOut );}
\DoxyCodeLine{322 \textcolor{keyword}{virtual} xbInt16 DeleteTag( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIxType, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sName );}
\DoxyCodeLine{323 \textcolor{keyword}{virtual} xbInt16 DeleteAllIndexFiles();}
\DoxyCodeLine{324 \textcolor{keyword}{virtual} xbInt16 Find( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sKey );}
\DoxyCodeLine{325 \textcolor{keyword}{virtual} xbInt16 Find( \mbox{\hyperlink{classxb_1_1xbDate}{xbDate}} \&dtKey );}
\DoxyCodeLine{326 \textcolor{keyword}{virtual} xbInt16 Find( \mbox{\hyperlink{namespacexb_a25f47b226ce924a5c78f97989b0744a2}{xbDouble}} \&dKey );}
\DoxyCodeLine{327 \textcolor{keyword}{virtual} xbIx *GetCurIx() \textcolor{keyword}{const};}
\DoxyCodeLine{328 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} *GetCurTag() \textcolor{keyword}{const};}
\DoxyCodeLine{329 }
\DoxyCodeLine{330 \textcolor{keyword}{virtual} xbInt16 GetFirstKey();}
\DoxyCodeLine{331 \textcolor{keyword}{virtual} xbInt16 GetNextKey();}
\DoxyCodeLine{332 \textcolor{keyword}{virtual} xbInt16 GetPrevKey();}
\DoxyCodeLine{333 \textcolor{keyword}{virtual} xbInt16 GetLastKey();}
\DoxyCodeLine{334 }
\DoxyCodeLine{335 \textcolor{keyword}{virtual} \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&GetCurIxType() \textcolor{keyword}{const};}
\DoxyCodeLine{336 \textcolor{keyword}{virtual} \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&GetCurTagName() \textcolor{keyword}{const};}
\DoxyCodeLine{337 \textcolor{keyword}{virtual} xbIxList *GetIxList() \textcolor{keyword}{const};}
\DoxyCodeLine{338 xbLinkListNode<xbTag *> *GetTagList () \textcolor{keyword}{const};}
\DoxyCodeLine{339 \textcolor{keyword}{virtual} xbInt16 OpenIndex( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIxType, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIndexName );}
\DoxyCodeLine{340 \textcolor{keyword}{virtual} xbInt16 SetCurTag( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTagName );}
\DoxyCodeLine{341 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} SetCurTag( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sIxType, xbIx *pIx, \textcolor{keywordtype}{void} *vpTag );}
\DoxyCodeLine{342 }
\DoxyCodeLine{343 \textcolor{preprocessor}{ \#ifdef XB\_DEBUG\_SUPPORT}}
\DoxyCodeLine{344 \textcolor{keyword}{virtual} xbInt16 CheckTagIntegrity( xbInt16 iTagOpt, xbInt16 iOutputOpt );}
\DoxyCodeLine{345 \textcolor{keyword}{virtual} xbInt16 Reindex( xbInt16 iTagOpt );}
\DoxyCodeLine{346 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_DEBUG\_SUPPORT}}
\DoxyCodeLine{347 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
\DoxyCodeLine{348 }
\DoxyCodeLine{349 \textcolor{preprocessor}{ \#ifdef XB\_NDXINF\_SUPPORT}}
\DoxyCodeLine{350 \textcolor{keyword}{virtual} xbInt16 AssociateIndex( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sType, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sName, xbInt16 iOption );}
\DoxyCodeLine{351 xbLinkListNode<xbString> *GetNdxInfList() \textcolor{keyword}{const};}
\DoxyCodeLine{352 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_NDXINF\_SUPPORT}}
\DoxyCodeLine{353 }
\DoxyCodeLine{354 \textcolor{comment}{//\#ifdef XB\_MDX\_SUPPORT}}
\DoxyCodeLine{355 \textcolor{comment}{//virtual xbInt16 GetCreateMdxBlockSize() const;}}
\DoxyCodeLine{356 \textcolor{comment}{//virtual xbInt16 SetCreateMdxBlockSize( xbInt16 ulBlockSize );}}
\DoxyCodeLine{357 \textcolor{comment}{//\#endif}}
\DoxyCodeLine{358 }
\DoxyCodeLine{359 }
\DoxyCodeLine{360 }
\DoxyCodeLine{361 \textcolor{keyword}{protected}:}
\DoxyCodeLine{362 \textcolor{preprocessor}{ \#ifdef XB\_INDEX\_SUPPORT}}
\DoxyCodeLine{363 \textcolor{keyword}{friend} \textcolor{keyword}{class }xbIx;}
\DoxyCodeLine{364 \textcolor{keyword}{friend} \textcolor{keyword}{class }xbIxMdx;}
\DoxyCodeLine{365 }
\DoxyCodeLine{366 xbInt16 AddIndex( xbIx *ix, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sFmt );}
\DoxyCodeLine{367 \textcolor{keywordtype}{void} ClearTagList();}
\DoxyCodeLine{368 \textcolor{keyword}{virtual} xbInt16 GetNdxInfFileName( \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sNdxIdxFileName );}
\DoxyCodeLine{369 xbInt16 RemoveIndex( xbIx * ix );}
\DoxyCodeLine{370 \textcolor{keywordtype}{void} UpdateSchemaIxFlag( xbInt16 iFldNo, \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cVal );}
\DoxyCodeLine{371 \textcolor{keyword}{virtual} xbInt16 UpdateTagList ();}
\DoxyCodeLine{372 \textcolor{preprocessor}{ \#endif}}
\DoxyCodeLine{373 }
\DoxyCodeLine{374 }
\DoxyCodeLine{375 }
\DoxyCodeLine{376 \textcolor{preprocessor}{ \#ifdef XB\_LOCKING\_SUPPORT}}
\DoxyCodeLine{377 \textcolor{keywordtype}{void} SetHeaderLocked ( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bTableLocked );}
\DoxyCodeLine{378 \textcolor{keywordtype}{void} SetTableLocked ( \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bTableLocked );}
\DoxyCodeLine{379 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_LOCKING\_SUPORT}}
\DoxyCodeLine{380 }
\DoxyCodeLine{381 \textcolor{preprocessor}{ \#ifdef XB\_MEMO\_SUPPORT}}
\DoxyCodeLine{382 xbInt16 iMemoFieldCnt; \textcolor{comment}{// Memo field cnt in the table}}
\DoxyCodeLine{383 xbMemo *Memo; \textcolor{comment}{// Pointer to memo class}}
\DoxyCodeLine{384 xbUInt32 ulCreateMemoBlockSize; \textcolor{comment}{// blocksize to use when creating dbt file}}
\DoxyCodeLine{385 \textcolor{preprocessor}{ \#endif}}
\DoxyCodeLine{386 }
\DoxyCodeLine{387 \textcolor{preprocessor}{ \#ifdef XB\_NDXINF\_SUPPORT}}
\DoxyCodeLine{388 \textcolor{keyword}{virtual} xbInt16 DeleteNdxInfData();}
\DoxyCodeLine{389 \textcolor{keyword}{virtual} xbInt16 LoadNdxInfData();}
\DoxyCodeLine{390 \textcolor{keyword}{virtual} xbInt16 SaveNdxInfData();}
\DoxyCodeLine{391 \textcolor{preprocessor}{ \#endif }\textcolor{comment}{// XB\_NDXINF\_SUPPORT}}
\DoxyCodeLine{392 }
\DoxyCodeLine{393 \textcolor{comment}{/*}}
\DoxyCodeLine{394 \textcolor{comment}{ \#ifdef XB\_MDX\_SUPPORT}}
\DoxyCodeLine{395 \textcolor{comment}{ xbInt16 iCreateMdxBlockSize;}}
\DoxyCodeLine{396 \textcolor{comment}{ \#endif // XB\_MDX\_SUPPORT}}
\DoxyCodeLine{397 \textcolor{comment}{*/}}
\DoxyCodeLine{398 }
\DoxyCodeLine{399 \textcolor{keyword}{virtual} xbInt16 GetRawField( xbInt16 iFieldNo, \textcolor{keywordtype}{char} *Buf, xbUInt32 BufSize, xbInt16 iRecBufSw ) \textcolor{keyword}{const};}
\DoxyCodeLine{400 \textcolor{keyword}{virtual} \textcolor{keywordtype}{void} InitVars(); }
\DoxyCodeLine{401 \textcolor{keyword}{virtual} xbInt16 SetVersion() = 0;}
\DoxyCodeLine{402 \textcolor{keyword}{virtual} xbInt16 ValidateSchema( \mbox{\hyperlink{structxb_1_1xbSchema}{xbSchema}} * s ) = 0;}
\DoxyCodeLine{403 xbInt16 WriteHeader( xbInt16 iPositionOption, xbInt16 iWriteOption );}
\DoxyCodeLine{404 }
\DoxyCodeLine{405 }
\DoxyCodeLine{406 xbUInt32 ulCurRec; \textcolor{comment}{// Current record or zero}}
\DoxyCodeLine{407 xbInt16 iAutoCommit; \textcolor{comment}{// Auto commit updates if not explicitly performed before moving off record?}}
\DoxyCodeLine{408 \textcolor{comment}{// -\/1 -\/-\/> Use DBMS default}}
\DoxyCodeLine{409 \textcolor{comment}{// 0 -\/-\/> No auto update on this table, regardless of DBMS setting}}
\DoxyCodeLine{410 \textcolor{comment}{// 1 -\/-\/> Auto update on this table, regardless of DBMS setting}}
\DoxyCodeLine{411 }
\DoxyCodeLine{412 xbInt16 iFileVersion; \textcolor{comment}{// xBase file version -\/ which class is in play}}
\DoxyCodeLine{413 }
\DoxyCodeLine{414 }
\DoxyCodeLine{415 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sAlias; \textcolor{comment}{// table alias}}
\DoxyCodeLine{416 xbInt16 iNoOfFields;}
\DoxyCodeLine{417 xbInt16 iDbfStatus; \textcolor{comment}{// 0 = closed}}
\DoxyCodeLine{418 \textcolor{comment}{// 1 = open}}
\DoxyCodeLine{419 \textcolor{comment}{// 2 = updates pending}}
\DoxyCodeLine{420 }
\DoxyCodeLine{421 xbSchemaRec *SchemaPtr; \textcolor{comment}{// Pointer to field data}}
\DoxyCodeLine{422 \textcolor{keywordtype}{char} *RecBuf; \textcolor{comment}{// Pointer to record buffer}}
\DoxyCodeLine{423 \textcolor{keywordtype}{char} *RecBuf2; \textcolor{comment}{// Pointer to original rec buf}}
\DoxyCodeLine{424 }
\DoxyCodeLine{425 }
\DoxyCodeLine{426 \textcolor{comment}{/* Next several variables are database header fields, up through dbase V */}}
\DoxyCodeLine{427 \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{char} cVersion;}
\DoxyCodeLine{428 \textcolor{keywordtype}{char} cUpdateYY;}
\DoxyCodeLine{429 \textcolor{keywordtype}{char} cUpdateMM;}
\DoxyCodeLine{430 \textcolor{keywordtype}{char} cUpdateDD;}
\DoxyCodeLine{431 xbUInt32 ulNoOfRecs;}
\DoxyCodeLine{432 xbUInt16 uiHeaderLen;}
\DoxyCodeLine{433 xbUInt16 uiRecordLen;}
\DoxyCodeLine{434 \textcolor{keywordtype}{char} cTransactionFlag;}
\DoxyCodeLine{435 \textcolor{keywordtype}{char} cEncryptionFlag;}
\DoxyCodeLine{436 \textcolor{keywordtype}{char} cIndexFlag;}
\DoxyCodeLine{437 \textcolor{keywordtype}{char} cLangDriver; \textcolor{comment}{// dbase 7 sets to 1B}}
\DoxyCodeLine{438 }
\DoxyCodeLine{439 }
\DoxyCodeLine{440 }
\DoxyCodeLine{441 \textcolor{keyword}{private}:}
\DoxyCodeLine{442 \textcolor{keywordtype}{void} ResetNoOfRecords(); }
\DoxyCodeLine{443 }
\DoxyCodeLine{444 }
\DoxyCodeLine{445 \textcolor{preprocessor}{\#ifdef XB\_LOCKING\_SUPPORT}}
\DoxyCodeLine{446 xbInt16 iAutoLock; \textcolor{comment}{// 0 -\/ autolock off, 1 -\/ autolock on}}
\DoxyCodeLine{447 xbInt16 iLockFlavor;}
\DoxyCodeLine{448 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bTableLocked; \textcolor{comment}{// is the table locked}}
\DoxyCodeLine{449 \mbox{\hyperlink{namespacexb_ab1a750481dd487f0d384aa1d200dff0f}{xbBool}} bHeaderLocked; \textcolor{comment}{// is the header locked}}
\DoxyCodeLine{450 xbUInt32 ulAppendLocked; \textcolor{comment}{// record number of the new record for the append lock operation}}
\DoxyCodeLine{451 xbLinkListOrd<xbUInt32> lloRecLocks; \textcolor{comment}{// ordered link list of locked records}}
\DoxyCodeLine{452 \textcolor{preprocessor}{\#endif}}
\DoxyCodeLine{453 }
\DoxyCodeLine{454 }
\DoxyCodeLine{455 \textcolor{preprocessor}{\#ifdef XB\_INDEX\_SUPPORT}}
\DoxyCodeLine{456 xbIxList *ixList; \textcolor{comment}{// pointer to a list of indices associated with the table}}
\DoxyCodeLine{457 \textcolor{comment}{// \#ifdef XB\_MDX\_SUPPORT}}
\DoxyCodeLine{458 \textcolor{comment}{// xbIx *ixMdx; // pointer to production multi-\/tag index file}}
\DoxyCodeLine{459 \textcolor{comment}{// \#endif}}
\DoxyCodeLine{460 xbIx *pCurIx; \textcolor{comment}{// Pointer to current index class}}
\DoxyCodeLine{461 \textcolor{keywordtype}{void} *vpCurIxTag; \textcolor{comment}{// Pointer to current tag}}
\DoxyCodeLine{462 \mbox{\hyperlink{classxb_1_1xbString}{xbString}} sCurIxType; \textcolor{comment}{// Current index type}}
\DoxyCodeLine{463 xbLinkList<xbTag *> llTags; \textcolor{comment}{// linked list of open tags}}
\DoxyCodeLine{464 }
\DoxyCodeLine{465 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_INDEX\_SUPPORT}}
\DoxyCodeLine{466 }
\DoxyCodeLine{467 \textcolor{preprocessor}{\#ifdef XB\_NDXINF\_SUPPORT}}
\DoxyCodeLine{468 xbLinkList<xbString> llNdxInfData; \textcolor{comment}{// linked list of strings containing ndx file entries}}
\DoxyCodeLine{469 \textcolor{preprocessor}{\#endif }\textcolor{comment}{// XB\_NDXINF\_SUPPORT}}
\DoxyCodeLine{470 }
\DoxyCodeLine{471 }
\DoxyCodeLine{472 \};}
\DoxyCodeLine{473 }
\DoxyCodeLine{474 }
\DoxyCodeLine{475 \textcolor{preprocessor}{\#ifdef XB\_DBF3\_SUPPORT}}
\DoxyCodeLine{477 }
\DoxyCodeLine{483 \textcolor{keyword}{class }XBDLLEXPORT xbDbf3 : \textcolor{keyword}{public} \mbox{\hyperlink{classxb_1_1xbDbf}{xbDbf}} \{}
\DoxyCodeLine{484 \textcolor{keyword}{public}:}
\DoxyCodeLine{485 xbDbf3(\mbox{\hyperlink{classxb_1_1xbXBase}{xbXBase}} *x);}
\DoxyCodeLine{486 \string~xbDbf3();}
\DoxyCodeLine{487 \textcolor{keyword}{virtual} xbInt16 CreateTable ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias, \mbox{\hyperlink{structxb_1_1xbSchema}{xbSchema}} *, xbInt16 iOverlay, xbInt16 iShareMode );}
\DoxyCodeLine{488 \textcolor{keyword}{virtual} xbInt16 GetVersion () \textcolor{keyword}{const};}
\DoxyCodeLine{489 \textcolor{keyword}{virtual} xbInt16 Open ( \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sTableName, \textcolor{keyword}{const} \mbox{\hyperlink{classxb_1_1xbString}{xbString}} \&sAlias, xbInt16 iOpenMode, xbInt16 iShareMode );}
\DoxyCodeLine{490 }
\DoxyCodeLine{491 \textcolor{preprocessor}{ \#ifdef XB\_MEMO\_SUPPORT}}
\DoxyCodeLine{492 \textcolor{keyword}{virtual} xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize );}
\DoxyCodeLine{493 \textcolor{preprocessor}{ \#endif}}
\DoxyCodeLine{494 }
\DoxyCodeLine{495 \textcolor{keyword}{protected}:}
\DoxyCodeLine{496 xbInt16 SetVersion ();}
\DoxyCodeLine{497 \textcolor{keyword}{virtual} xbInt16 ValidateSchema( \mbox{\hyperlink{structxb_1_1xbSchema}{xbSchema}} *s );}
\DoxyCodeLine{498 }
\DoxyCodeLine{499 \textcolor{keyword}{private}:}
\DoxyCodeLine{500 }
\DoxyCodeLine{501 \};}
\DoxyCodeLine{502 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_DBF3\_SUPPORT */}\textcolor{preprocessor}{}}
\DoxyCodeLine{503 }
\DoxyCodeLine{504 }
\DoxyCodeLine{505 \textcolor{preprocessor}{\#ifdef XB\_DBF4\_SUPPORT}}
\DoxyCodeLine{507 }
\DoxyCodeLine{512 \textcolor{keyword}{class }XBDLLEXPORT xbDbf4 : \textcolor{keyword}{public} \mbox{\hyperlink{namespacexb_ab2eae4b4732466698a7fdd89d77ba53b}{xbDbf}} \{}
\DoxyCodeLine{513 \textcolor{keyword}{public}:}
\DoxyCodeLine{514 xbDbf4( \mbox{\hyperlink{namespacexb_a97858ddeb1c4b0100f3edc1a46d3a8b0}{xbXBase}} *x );}
\DoxyCodeLine{515 }
\DoxyCodeLine{516 \string~xbDbf4();}
\DoxyCodeLine{517 }
\DoxyCodeLine{518 \textcolor{keyword}{virtual} xbInt16 CreateTable ( \textcolor{keyword}{const} xbString \&sTableName, \textcolor{keyword}{const} xbString \&sAlias, xbSchema *, xbInt16 iOverlay, xbInt16 iShareMode );}
\DoxyCodeLine{519 \textcolor{keyword}{virtual} xbInt16 GetVersion () \textcolor{keyword}{const};}
\DoxyCodeLine{520 \textcolor{keyword}{virtual} xbInt16 Open ( \textcolor{keyword}{const} xbString \&sTableName, \textcolor{keyword}{const} xbString \&sAlias, xbInt16 iOpenMode, xbInt16 iShareMode );}
\DoxyCodeLine{521 }
\DoxyCodeLine{522 \textcolor{preprocessor}{ \#ifdef XB\_MEMO\_SUPPORT}}
\DoxyCodeLine{523 \textcolor{keyword}{virtual} xbInt16 SetCreateMemoBlockSize( xbUInt32 iBlockSize );}
\DoxyCodeLine{524 \textcolor{preprocessor}{ \#endif}}
\DoxyCodeLine{525 }
\DoxyCodeLine{526 \textcolor{keyword}{protected}:}
\DoxyCodeLine{527 \textcolor{comment}{// void InitVars ();}}
\DoxyCodeLine{528 xbInt16 SetVersion();}
\DoxyCodeLine{529 \textcolor{keyword}{virtual} xbInt16 ValidateSchema ( xbSchema *s );}
\DoxyCodeLine{530 }
\DoxyCodeLine{531 \textcolor{keyword}{private}:}
\DoxyCodeLine{532 }
\DoxyCodeLine{533 \};}
\DoxyCodeLine{534 }
\DoxyCodeLine{535 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* XB\_DBF4\_SUPPORT */}\textcolor{preprocessor}{}}
\DoxyCodeLine{536 }
\DoxyCodeLine{537 \} \textcolor{comment}{/* namespace xb */}}
\DoxyCodeLine{538 \textcolor{preprocessor}{\#endif }\textcolor{comment}{/* \_\_XB\_DBF\_H\_\_ */}\textcolor{preprocessor}{}}
\end{DoxyCode}
|