btrieveCpp.h
Go to the documentation of this file.
1 //
3 // Copyright (C) 2016 - Actian Corp.
4 //
6 
7 // This file lives in project "psql.core" and "psql.docs".
8 // Make sure you correctly commit this file to both projects.
9 // Do NOT simply make a copy of it.
10 
11 #ifndef _BTRIEVECPP_H
12 #define _BTRIEVECPP_H
13 
14 #include <set>
15 
16 #include "btrieveC.h"
17 
18 class BtrieveClient;
19 class BtrieveCollection;
20 class BtrieveDocumentSet;
21 class BtrieveFile;
24 class BtrieveFilter;
30 class BtrieveKeySegment;
31 class BtrieveVersion;
32 
35 {
36 public:
38  static const int MAXIMUM_RECORD_LENGTH = BTRIEVE_MAXIMUM_RECORD_LENGTH;
39 
41  static const int MAXIMUM_KEY_LENGTH = BTRIEVE_MAXIMUM_KEY_LENGTH;
42 
45  enum ACSMode {
47  ACS_MODE_NONE = BTRIEVE_ACS_MODE_NONE,
49  ACS_MODE_NAMED = BTRIEVE_ACS_MODE_NAMED,
51  ACS_MODE_NUMBERED = BTRIEVE_ACS_MODE_NUMBERED,
53  ACS_MODE_CASE_INSENSITIVE = BTRIEVE_ACS_MODE_CASE_INSENSITIVE,
55  ACS_MODE_DEFAULT = BTRIEVE_ACS_MODE_DEFAULT,
57  ACS_MODE_UNKNOWN = BTRIEVE_ACS_MODE_UNKNOWN
58  };
59 
63  enum CreateMode {
65  CREATE_MODE_OVERWRITE = BTRIEVE_CREATE_MODE_OVERWRITE,
67  CREATE_MODE_NO_OVERWRITE = BTRIEVE_CREATE_MODE_NO_OVERWRITE,
69  CREATE_MODE_UNKNOWN = BTRIEVE_CREATE_MODE_UNKNOWN
70  };
74  enum Comparison {
76  COMPARISON_NONE = BTRIEVE_COMPARISON_NONE,
78  COMPARISON_EQUAL = BTRIEVE_COMPARISON_EQUAL,
80  COMPARISON_GREATER_THAN = BTRIEVE_COMPARISON_GREATER_THAN,
82  COMPARISON_LESS_THAN = BTRIEVE_COMPARISON_LESS_THAN,
84  COMPARISON_NOT_EQUAL = BTRIEVE_COMPARISON_NOT_EQUAL,
86  COMPARISON_GREATER_THAN_OR_EQUAL = BTRIEVE_COMPARISON_GREATER_THAN_OR_EQUAL,
88  COMPARISON_LESS_THAN_OR_EQUAL = BTRIEVE_COMPARISON_LESS_THAN_OR_EQUAL,
90  COMPARISON_LIKE = BTRIEVE_COMPARISON_LIKE,
92  COMPARISON_NOT_LIKE = BTRIEVE_COMPARISON_NOT_LIKE,
94  COMPARISON_UNKNOWN = BTRIEVE_COMPARISON_UNKNOWN
95  };
96 
100  enum Connector {
102  CONNECTOR_LAST = BTRIEVE_CONNECTOR_LAST,
104  CONNECTOR_AND = BTRIEVE_CONNECTOR_AND,
106  CONNECTOR_OR = BTRIEVE_CONNECTOR_OR,
108  CONNECTOR_UNKNOWN = BTRIEVE_CONNECTOR_UNKNOWN
109  };
110 
111 
113  enum DiskDrive {
115  DISK_DRIVE_A = BTRIEVE_DISK_DRIVE_A,
117  DISK_DRIVE_B = BTRIEVE_DISK_DRIVE_B,
119  DISK_DRIVE_C = BTRIEVE_DISK_DRIVE_C,
121  DISK_DRIVE_D = BTRIEVE_DISK_DRIVE_D,
123  DISK_DRIVE_E = BTRIEVE_DISK_DRIVE_E,
125  DISK_DRIVE_F = BTRIEVE_DISK_DRIVE_F,
127  DISK_DRIVE_G = BTRIEVE_DISK_DRIVE_G,
129  DISK_DRIVE_H = BTRIEVE_DISK_DRIVE_H,
131  DISK_DRIVE_I = BTRIEVE_DISK_DRIVE_I,
133  DISK_DRIVE_J = BTRIEVE_DISK_DRIVE_J,
135  DISK_DRIVE_K = BTRIEVE_DISK_DRIVE_K,
137  DISK_DRIVE_L = BTRIEVE_DISK_DRIVE_L,
139  DISK_DRIVE_M = BTRIEVE_DISK_DRIVE_M,
141  DISK_DRIVE_N = BTRIEVE_DISK_DRIVE_N,
143  DISK_DRIVE_O = BTRIEVE_DISK_DRIVE_O,
145  DISK_DRIVE_P = BTRIEVE_DISK_DRIVE_P,
147  DISK_DRIVE_Q = BTRIEVE_DISK_DRIVE_Q,
149  DISK_DRIVE_R = BTRIEVE_DISK_DRIVE_R,
151  DISK_DRIVE_S = BTRIEVE_DISK_DRIVE_S,
153  DISK_DRIVE_T = BTRIEVE_DISK_DRIVE_T,
155  DISK_DRIVE_U = BTRIEVE_DISK_DRIVE_U,
157  DISK_DRIVE_V = BTRIEVE_DISK_DRIVE_V,
159  DISK_DRIVE_W = BTRIEVE_DISK_DRIVE_W,
161  DISK_DRIVE_X = BTRIEVE_DISK_DRIVE_X,
163  DISK_DRIVE_Y = BTRIEVE_DISK_DRIVE_Y,
165  DISK_DRIVE_Z = BTRIEVE_DISK_DRIVE_Z,
167  DISK_DRIVE_DEFAULT = BTRIEVE_DISK_DRIVE_DEFAULT,
169  DISK_DRIVE_UNKNOWN = BTRIEVE_DISK_DRIVE_UNKNOWN
170  };
171 
178  DUPLICATE_MODE_NOT_ALLOWED = BTRIEVE_DUPLICATE_MODE_NOT_ALLOWED,
180  DUPLICATE_MODE_ALLOWED_NONREPEATING = BTRIEVE_DUPLICATE_MODE_ALLOWED_NONREPEATING,
182  DUPLICATE_MODE_ALLOWED_REPEATING = BTRIEVE_DUPLICATE_MODE_ALLOWED_REPEATING,
184  DUPLICATE_MODE_UNKNOWN = BTRIEVE_DUPLICATE_MODE_UNKNOWN
185  };
186 
191  enum DataType {
193  DATA_TYPE_CHAR = BTRIEVE_DATA_TYPE_CHAR,
195  DATA_TYPE_ZSTRING = BTRIEVE_DATA_TYPE_ZSTRING,
197  DATA_TYPE_INTEGER = BTRIEVE_DATA_TYPE_INTEGER,
199  DATA_TYPE_UNSIGNED_BINARY = BTRIEVE_DATA_TYPE_UNSIGNED_BINARY,
201  DATA_TYPE_FLOAT = BTRIEVE_DATA_TYPE_FLOAT,
203  DATA_TYPE_AUTOINCREMENT = BTRIEVE_DATA_TYPE_AUTOINCREMENT,
205  DATA_TYPE_DATE = BTRIEVE_DATA_TYPE_DATE,
207  DATA_TYPE_NUMERICSTS = BTRIEVE_DATA_TYPE_NUMERICSTS,
209  DATA_TYPE_TIME = BTRIEVE_DATA_TYPE_TIME,
211  DATA_TYPE_NUMERICSA = BTRIEVE_DATA_TYPE_NUMERICSA,
213  DATA_TYPE_DECIMAL = BTRIEVE_DATA_TYPE_DECIMAL,
215  DATA_TYPE_CURRENCY = BTRIEVE_DATA_TYPE_CURRENCY,
217  DATA_TYPE_MONEY = BTRIEVE_DATA_TYPE_MONEY,
219  DATA_TYPE_TIMESTAMP = BTRIEVE_DATA_TYPE_TIMESTAMP,
221  DATA_TYPE_LOGICAL = BTRIEVE_DATA_TYPE_LOGICAL,
223  DATA_TYPE_WSTRING = BTRIEVE_DATA_TYPE_WSTRING,
225  DATA_TYPE_NUMERIC = BTRIEVE_DATA_TYPE_NUMERIC,
227  DATA_TYPE_WZSTRING = BTRIEVE_DATA_TYPE_WZSTRING,
229  DATA_TYPE_BFLOAT = BTRIEVE_DATA_TYPE_BFLOAT,
231  DATA_TYPE_GUID = BTRIEVE_DATA_TYPE_GUID,
233  DATA_TYPE_LSTRING = BTRIEVE_DATA_TYPE_LSTRING,
235  DATA_TYPE_NULL_INDICATOR_SEGMENT = BTRIEVE_DATA_TYPE_NULL_INDICATOR_SEGMENT,
237  DATA_TYPE_LEGACY_STRING = BTRIEVE_DATA_TYPE_LEGACY_STRING,
239  DATA_TYPE_LEGACY_BINARY = BTRIEVE_DATA_TYPE_LEGACY_BINARY,
241  DATA_TYPE_UNKNOWN = BTRIEVE_DATA_TYPE_UNKNOWN
242  };
243 
248  enum FileVersion {
250  FILE_VERSION_6_0 = BTRIEVE_FILE_VERSION_6_0,
252  FILE_VERSION_6_1 = BTRIEVE_FILE_VERSION_6_1,
254  FILE_VERSION_7_0 = BTRIEVE_FILE_VERSION_7_0,
256  FILE_VERSION_8_0 = BTRIEVE_FILE_VERSION_8_0,
258  FILE_VERSION_9_0 = BTRIEVE_FILE_VERSION_9_0,
260  FILE_VERSION_9_5 = BTRIEVE_FILE_VERSION_9_5,
262  FILE_VERSION_13_0 = BTRIEVE_FILE_VERSION_13_0,
264  FILE_VERSION_DEFAULT = BTRIEVE_FILE_VERSION_DEFAULT,
266  FILE_VERSION_UNKNOWN = BTRIEVE_FILE_VERSION_UNKNOWN
267  };
268 
275  FREE_SPACE_THRESHOLD_10_PERCENT = BTRIEVE_FREE_SPACE_THRESHOLD_10_PERCENT,
277  FREE_SPACE_THRESHOLD_20_PERCENT = BTRIEVE_FREE_SPACE_THRESHOLD_20_PERCENT,
279  FREE_SPACE_THRESHOLD_30_PERCENT = BTRIEVE_FREE_SPACE_THRESHOLD_30_PERCENT,
281  FREE_SPACE_THRESHOLD_DEFAULT = BTRIEVE_FREE_SPACE_THRESHOLD_DEFAULT,
283  FREE_SPACE_THRESHOLD_UNKNOWN = BTRIEVE_FREE_SPACE_THRESHOLD_UNKNOWN
284  };
285 
290  enum Index {
292  INDEX_1 = BTRIEVE_INDEX_1,
294  INDEX_2 = BTRIEVE_INDEX_2,
296  INDEX_3 = BTRIEVE_INDEX_3,
298  INDEX_4 = BTRIEVE_INDEX_4,
300  INDEX_5 = BTRIEVE_INDEX_5,
302  INDEX_6 = BTRIEVE_INDEX_6,
304  INDEX_7 = BTRIEVE_INDEX_7,
306  INDEX_8 = BTRIEVE_INDEX_8,
308  INDEX_9 = BTRIEVE_INDEX_9,
310  INDEX_10 = BTRIEVE_INDEX_10,
312  INDEX_11 = BTRIEVE_INDEX_11,
314  INDEX_12 = BTRIEVE_INDEX_12,
316  INDEX_13 = BTRIEVE_INDEX_13,
318  INDEX_14 = BTRIEVE_INDEX_14,
320  INDEX_15 = BTRIEVE_INDEX_15,
322  INDEX_16 = BTRIEVE_INDEX_16,
324  INDEX_17 = BTRIEVE_INDEX_17,
326  INDEX_18 = BTRIEVE_INDEX_18,
328  INDEX_19 = BTRIEVE_INDEX_19,
330  INDEX_20 = BTRIEVE_INDEX_20,
332  INDEX_21 = BTRIEVE_INDEX_21,
334  INDEX_22 = BTRIEVE_INDEX_22,
336  INDEX_23 = BTRIEVE_INDEX_23,
338  INDEX_24 = BTRIEVE_INDEX_24,
340  INDEX_25 = BTRIEVE_INDEX_25,
342  INDEX_26 = BTRIEVE_INDEX_26,
344  INDEX_27 = BTRIEVE_INDEX_27,
346  INDEX_28 = BTRIEVE_INDEX_28,
348  INDEX_29 = BTRIEVE_INDEX_29,
350  INDEX_30 = BTRIEVE_INDEX_30,
352  INDEX_31 = BTRIEVE_INDEX_31,
354  INDEX_32 = BTRIEVE_INDEX_32,
356  INDEX_33 = BTRIEVE_INDEX_33,
358  INDEX_34 = BTRIEVE_INDEX_34,
360  INDEX_35 = BTRIEVE_INDEX_35,
362  INDEX_36 = BTRIEVE_INDEX_36,
364  INDEX_37 = BTRIEVE_INDEX_37,
366  INDEX_38 = BTRIEVE_INDEX_38,
368  INDEX_39 = BTRIEVE_INDEX_39,
370  INDEX_40 = BTRIEVE_INDEX_40,
372  INDEX_41 = BTRIEVE_INDEX_41,
374  INDEX_42 = BTRIEVE_INDEX_42,
376  INDEX_43 = BTRIEVE_INDEX_43,
378  INDEX_44 = BTRIEVE_INDEX_44,
380  INDEX_45 = BTRIEVE_INDEX_45,
382  INDEX_46 = BTRIEVE_INDEX_46,
384  INDEX_47 = BTRIEVE_INDEX_47,
386  INDEX_48 = BTRIEVE_INDEX_48,
388  INDEX_49 = BTRIEVE_INDEX_49,
390  INDEX_50 = BTRIEVE_INDEX_50,
392  INDEX_51 = BTRIEVE_INDEX_51,
394  INDEX_52 = BTRIEVE_INDEX_52,
396  INDEX_53 = BTRIEVE_INDEX_53,
398  INDEX_54 = BTRIEVE_INDEX_54,
400  INDEX_55 = BTRIEVE_INDEX_55,
402  INDEX_56 = BTRIEVE_INDEX_56,
404  INDEX_57 = BTRIEVE_INDEX_57,
406  INDEX_58 = BTRIEVE_INDEX_58,
408  INDEX_59 = BTRIEVE_INDEX_59,
410  INDEX_60 = BTRIEVE_INDEX_60,
412  INDEX_61 = BTRIEVE_INDEX_61,
414  INDEX_62 = BTRIEVE_INDEX_62,
416  INDEX_63 = BTRIEVE_INDEX_63,
418  INDEX_64 = BTRIEVE_INDEX_64,
420  INDEX_65 = BTRIEVE_INDEX_65,
422  INDEX_66 = BTRIEVE_INDEX_66,
424  INDEX_67 = BTRIEVE_INDEX_67,
426  INDEX_68 = BTRIEVE_INDEX_68,
428  INDEX_69 = BTRIEVE_INDEX_69,
430  INDEX_70 = BTRIEVE_INDEX_70,
432  INDEX_71 = BTRIEVE_INDEX_71,
434  INDEX_72 = BTRIEVE_INDEX_72,
436  INDEX_73 = BTRIEVE_INDEX_73,
438  INDEX_74 = BTRIEVE_INDEX_74,
440  INDEX_75 = BTRIEVE_INDEX_75,
442  INDEX_76 = BTRIEVE_INDEX_76,
444  INDEX_77 = BTRIEVE_INDEX_77,
446  INDEX_78 = BTRIEVE_INDEX_78,
448  INDEX_79 = BTRIEVE_INDEX_79,
450  INDEX_80 = BTRIEVE_INDEX_80,
452  INDEX_81 = BTRIEVE_INDEX_81,
454  INDEX_82 = BTRIEVE_INDEX_82,
456  INDEX_83 = BTRIEVE_INDEX_83,
458  INDEX_84 = BTRIEVE_INDEX_84,
460  INDEX_85 = BTRIEVE_INDEX_85,
462  INDEX_86 = BTRIEVE_INDEX_86,
464  INDEX_87 = BTRIEVE_INDEX_87,
466  INDEX_88 = BTRIEVE_INDEX_88,
468  INDEX_89 = BTRIEVE_INDEX_89,
470  INDEX_90 = BTRIEVE_INDEX_90,
472  INDEX_91 = BTRIEVE_INDEX_91,
474  INDEX_92 = BTRIEVE_INDEX_92,
476  INDEX_93 = BTRIEVE_INDEX_93,
478  INDEX_94 = BTRIEVE_INDEX_94,
480  INDEX_95 = BTRIEVE_INDEX_95,
482  INDEX_96 = BTRIEVE_INDEX_96,
484  INDEX_97 = BTRIEVE_INDEX_97,
486  INDEX_98 = BTRIEVE_INDEX_98,
488  INDEX_99 = BTRIEVE_INDEX_99,
490  INDEX_100 = BTRIEVE_INDEX_100,
492  INDEX_101 = BTRIEVE_INDEX_101,
494  INDEX_102 = BTRIEVE_INDEX_102,
496  INDEX_103 = BTRIEVE_INDEX_103,
498  INDEX_104 = BTRIEVE_INDEX_104,
500  INDEX_105 = BTRIEVE_INDEX_105,
502  INDEX_106 = BTRIEVE_INDEX_106,
504  INDEX_107 = BTRIEVE_INDEX_107,
506  INDEX_108 = BTRIEVE_INDEX_108,
508  INDEX_109 = BTRIEVE_INDEX_109,
510  INDEX_110 = BTRIEVE_INDEX_110,
512  INDEX_111 = BTRIEVE_INDEX_111,
514  INDEX_112 = BTRIEVE_INDEX_112,
516  INDEX_113 = BTRIEVE_INDEX_113,
518  INDEX_114 = BTRIEVE_INDEX_114,
520  INDEX_115 = BTRIEVE_INDEX_115,
522  INDEX_116 = BTRIEVE_INDEX_116,
524  INDEX_117 = BTRIEVE_INDEX_117,
526  INDEX_118 = BTRIEVE_INDEX_118,
528  INDEX_119 = BTRIEVE_INDEX_119,
530  INDEX_SYSTEM = BTRIEVE_INDEX_SYSTEM,
532  INDEX_NONE = BTRIEVE_INDEX_NONE,
534  INDEX_UNKNOWN = BTRIEVE_INDEX_UNKNOWN
535  };
536 
540  LOCATION_MODE_NO_PREFERENCE = BTRIEVE_LOCATION_MODE_NO_PREFERENCE,
542  LOCATION_MODE_FORCE_LOCAL = BTRIEVE_LOCATION_MODE_FORCE_LOCAL,
544  LOCATION_MODE_FORCE_REMOTE = BTRIEVE_LOCATION_MODE_FORCE_REMOTE,
546  LOCATION_MODE_UNKNOWN = BTRIEVE_LOCATION_MODE_UNKNOWN
547  };
548 
553  enum LockMode {
555  LOCK_MODE_NONE = BTRIEVE_LOCK_MODE_NONE,
557  LOCK_MODE_SINGLE_WAIT = BTRIEVE_LOCK_MODE_SINGLE_WAIT,
559  LOCK_MODE_SINGLE_NO_WAIT = BTRIEVE_LOCK_MODE_SINGLE_NO_WAIT,
561  LOCK_MODE_MULTIPLE_WAIT = BTRIEVE_LOCK_MODE_MULTIPLE_WAIT,
563  LOCK_MODE_MULTIPLE_NO_WAIT = BTRIEVE_LOCK_MODE_MULTIPLE_NO_WAIT,
565  LOCK_MODE_UNKNOWN = BTRIEVE_LOCK_MODE_UNKNOWN
566  };
567 
570  enum NullKeyMode {
572  NULL_KEY_MODE_NONE = BTRIEVE_NULL_KEY_MODE_NONE,
574  NULL_KEY_MODE_ALL_SEGMENTS = BTRIEVE_NULL_KEY_MODE_ALL_SEGMENTS,
576  NULL_KEY_MODE_ANY_SEGMENTS = BTRIEVE_NULL_KEY_MODE_ANY_SEGMENTS,
578  NULL_KEY_MODE_UNKNOWN = BTRIEVE_NULL_KEY_MODE_UNKNOWN
579  };
580 
584  enum OpenMode {
586  OPEN_MODE_NORMAL = BTRIEVE_OPEN_MODE_NORMAL,
588  OPEN_MODE_ACCELERATED = BTRIEVE_OPEN_MODE_ACCELERATED,
590  OPEN_MODE_READ_ONLY = BTRIEVE_OPEN_MODE_READ_ONLY,
592  OPEN_MODE_EXCLUSIVE = BTRIEVE_OPEN_MODE_EXCLUSIVE,
594  OPEN_MODE_UNKNOWN = BTRIEVE_OPEN_MODE_UNKNOWN
595  };
596 
599  enum OwnerMode {
601  OWNER_MODE_NONE = BTRIEVE_OWNER_MODE_NONE,
603  OWNER_MODE_NO_ENCRYPTION_NO_READ_ALLOWED = BTRIEVE_OWNER_MODE_NO_ENCRYPTION_NO_READ_ALLOWED,
605  OWNER_MODE_NO_ENCRYPTION_READ_ALLOWED = BTRIEVE_OWNER_MODE_NO_ENCRYPTION_READ_ALLOWED,
607  OWNER_MODE_ENCRYPTION_NO_READ_ALLOWED = BTRIEVE_OWNER_MODE_ENCRYPTION_NO_READ_ALLOWED,
609  OWNER_MODE_ENCRYPTION_READ_ALLOWED = BTRIEVE_OWNER_MODE_ENCRYPTION_READ_ALLOWED,
611  OWNER_MODE_UNKNOWN = BTRIEVE_OWNER_MODE_UNKNOWN
612  };
613 
618  PAGE_LOCK_TYPE_NONE = BTRIEVE_PAGE_LOCK_TYPE_NONE,
620  PAGE_LOCK_TYPE_DATA_PAGE = BTRIEVE_PAGE_LOCK_TYPE_DATA_PAGE,
622  PAGE_LOCK_TYPE_INDEX_PAGE = BTRIEVE_PAGE_LOCK_TYPE_INDEX_PAGE,
624  PAGE_LOCK_TYPE_VARIABLE_PAGE = BTRIEVE_PAGE_LOCK_TYPE_VARIABLE_PAGE,
626  PAGE_LOCK_TYPE_UNKNOWN = BTRIEVE_PAGE_LOCK_TYPE_UNKNOWN
627  };
628 
633  enum PageSize {
635  PAGE_SIZE_512 = BTRIEVE_PAGE_SIZE_512,
637  PAGE_SIZE_1024 = BTRIEVE_PAGE_SIZE_1024,
639  PAGE_SIZE_1536 = BTRIEVE_PAGE_SIZE_1536,
641  PAGE_SIZE_2048 = BTRIEVE_PAGE_SIZE_2048,
643  PAGE_SIZE_3072 = BTRIEVE_PAGE_SIZE_3072,
645  PAGE_SIZE_3584 = BTRIEVE_PAGE_SIZE_3584,
647  PAGE_SIZE_4096 = BTRIEVE_PAGE_SIZE_4096,
649  PAGE_SIZE_8192 = BTRIEVE_PAGE_SIZE_8192,
651  PAGE_SIZE_16384 = BTRIEVE_PAGE_SIZE_16384,
653  PAGE_SIZE_DEFAULT = BTRIEVE_PAGE_SIZE_DEFAULT,
655  PAGE_SIZE_UNKNOWN = BTRIEVE_PAGE_SIZE_UNKNOWN
656  };
657 
664  RECORD_COMPRESSION_MODE_NONE = BTRIEVE_RECORD_COMPRESSION_MODE_NONE,
666  RECORD_COMPRESSION_MODE_BLANK_TRUNCATION = BTRIEVE_RECORD_COMPRESSION_MODE_BLANK_TRUNCATION,
668  RECORD_COMPRESSION_MODE_RUN_LENGTH_ENCODING = BTRIEVE_RECORD_COMPRESSION_MODE_RUN_LENGTH_ENCODING,
670  RECORD_COMPRESSION_MODE_UNKNOWN = BTRIEVE_RECORD_COMPRESSION_MODE_UNKNOWN
671  };
672 
677  enum StatusCode {
679  STATUS_CODE_NO_ERROR = BTRIEVE_STATUS_CODE_NO_ERROR,
681  STATUS_CODE_INVALID_FUNCTION = BTRIEVE_STATUS_CODE_INVALID_FUNCTION,
683  STATUS_CODE_IO_ERROR = BTRIEVE_STATUS_CODE_IO_ERROR,
685  STATUS_CODE_FILE_NOT_OPEN = BTRIEVE_STATUS_CODE_FILE_NOT_OPEN,
687  STATUS_CODE_KEY_VALUE_NOT_FOUND = BTRIEVE_STATUS_CODE_KEY_VALUE_NOT_FOUND,
689  STATUS_CODE_DUPLICATE_KEY_VALUE = BTRIEVE_STATUS_CODE_DUPLICATE_KEY_VALUE,
691  STATUS_CODE_INVALID_INDEX_NUMBER = BTRIEVE_STATUS_CODE_INVALID_INDEX_NUMBER,
693  STATUS_CODE_DIFFERENT_INDEX_NUMBER = BTRIEVE_STATUS_CODE_DIFFERENT_INDEX_NUMBER,
695  STATUS_CODE_POSITION_NOT_SET = BTRIEVE_STATUS_CODE_POSITION_NOT_SET,
697  STATUS_CODE_END_OF_FILE = BTRIEVE_STATUS_CODE_END_OF_FILE,
699  STATUS_CODE_MODIFIABLE_KEYVALUE_ERROR = BTRIEVE_STATUS_CODE_MODIFIABLE_KEYVALUE_ERROR,
701  STATUS_CODE_FILENAME_BAD = BTRIEVE_STATUS_CODE_FILENAME_BAD,
703  STATUS_CODE_FILE_NOT_FOUND = BTRIEVE_STATUS_CODE_FILE_NOT_FOUND,
705  STATUS_CODE_EXTENDED_FILE_ERROR = BTRIEVE_STATUS_CODE_EXTENDED_FILE_ERROR,
707  STATUS_CODE_PREIMAGE_OPEN_ERROR = BTRIEVE_STATUS_CODE_PREIMAGE_OPEN_ERROR,
709  STATUS_CODE_PREIMAGE_IO_ERROR = BTRIEVE_STATUS_CODE_PREIMAGE_IO_ERROR,
711  STATUS_CODE_EXPANSION_ERROR = BTRIEVE_STATUS_CODE_EXPANSION_ERROR,
713  STATUS_CODE_CLOSE_ERROR = BTRIEVE_STATUS_CODE_CLOSE_ERROR,
715  STATUS_CODE_DISKFULL = BTRIEVE_STATUS_CODE_DISKFULL,
717  STATUS_CODE_UNRECOVERABLE_ERROR = BTRIEVE_STATUS_CODE_UNRECOVERABLE_ERROR,
719  STATUS_CODE_RECORD_MANAGER_INACTIVE = BTRIEVE_STATUS_CODE_RECORD_MANAGER_INACTIVE,
721  STATUS_CODE_KEYBUFFER_TOO_SHORT = BTRIEVE_STATUS_CODE_KEYBUFFER_TOO_SHORT,
723  STATUS_CODE_DATALENGTH_ERROR = BTRIEVE_STATUS_CODE_DATALENGTH_ERROR,
725  STATUS_CODE_POSITIONBLOCK_LENGTH = BTRIEVE_STATUS_CODE_POSITIONBLOCK_LENGTH,
727  STATUS_CODE_PAGE_SIZE_ERROR = BTRIEVE_STATUS_CODE_PAGE_SIZE_ERROR,
729  STATUS_CODE_CREATE_IO_ERROR = BTRIEVE_STATUS_CODE_CREATE_IO_ERROR,
731  STATUS_CODE_NUMBER_OF_INDEXES = BTRIEVE_STATUS_CODE_NUMBER_OF_INDEXES,
733  STATUS_CODE_INVALID_KEY_POSITION = BTRIEVE_STATUS_CODE_INVALID_KEY_POSITION,
735  STATUS_CODE_INVALID_RECORD_LENGTH = BTRIEVE_STATUS_CODE_INVALID_RECORD_LENGTH,
737  STATUS_CODE_INVALID_KEYLENGTH = BTRIEVE_STATUS_CODE_INVALID_KEYLENGTH,
739  STATUS_CODE_NOT_A_BTRIEVE_FILE = BTRIEVE_STATUS_CODE_NOT_A_BTRIEVE_FILE,
741  STATUS_CODE_FILE_ALREADY_EXTENDED = BTRIEVE_STATUS_CODE_FILE_ALREADY_EXTENDED,
743  STATUS_CODE_EXTEND_IO_ERROR = BTRIEVE_STATUS_CODE_EXTEND_IO_ERROR,
745  STATUS_CODE_BTR_CANNOT_UNLOAD = BTRIEVE_STATUS_CODE_BTR_CANNOT_UNLOAD,
747  STATUS_CODE_INVALID_EXTENSION_NAME = BTRIEVE_STATUS_CODE_INVALID_EXTENSION_NAME,
749  STATUS_CODE_DIRECTORY_ERROR = BTRIEVE_STATUS_CODE_DIRECTORY_ERROR,
751  STATUS_CODE_TRANSACTION_ERROR = BTRIEVE_STATUS_CODE_TRANSACTION_ERROR,
753  STATUS_CODE_TRANSACTION_IS_ACTIVE = BTRIEVE_STATUS_CODE_TRANSACTION_IS_ACTIVE,
755  STATUS_CODE_TRANSACTION_FILE_IO_ERROR = BTRIEVE_STATUS_CODE_TRANSACTION_FILE_IO_ERROR,
757  STATUS_CODE_END_TRANSACTION_ERROR = BTRIEVE_STATUS_CODE_END_TRANSACTION_ERROR,
759  STATUS_CODE_TRANSACTION_MAX_FILES = BTRIEVE_STATUS_CODE_TRANSACTION_MAX_FILES,
761  STATUS_CODE_OPERATION_NOT_ALLOWED = BTRIEVE_STATUS_CODE_OPERATION_NOT_ALLOWED,
763  STATUS_CODE_INCOMPLETE_ACCEL_ACCESS = BTRIEVE_STATUS_CODE_INCOMPLETE_ACCEL_ACCESS,
765  STATUS_CODE_INVALID_RECORD_ADDRESS = BTRIEVE_STATUS_CODE_INVALID_RECORD_ADDRESS,
767  STATUS_CODE_NULL_KEYPATH = BTRIEVE_STATUS_CODE_NULL_KEYPATH,
769  STATUS_CODE_INCONSISTENT_KEY_FLAGS = BTRIEVE_STATUS_CODE_INCONSISTENT_KEY_FLAGS,
771  STATUS_CODE_ACCESS_TO_FILE_DENIED = BTRIEVE_STATUS_CODE_ACCESS_TO_FILE_DENIED,
773  STATUS_CODE_MAXIMUM_OPEN_FILES = BTRIEVE_STATUS_CODE_MAXIMUM_OPEN_FILES,
775  STATUS_CODE_INVALID_ALT_SEQUENCE_DEF = BTRIEVE_STATUS_CODE_INVALID_ALT_SEQUENCE_DEF,
777  STATUS_CODE_KEY_TYPE_ERROR = BTRIEVE_STATUS_CODE_KEY_TYPE_ERROR,
779  STATUS_CODE_OWNER_ALREADY_SET = BTRIEVE_STATUS_CODE_OWNER_ALREADY_SET,
781  STATUS_CODE_INVALID_OWNER = BTRIEVE_STATUS_CODE_INVALID_OWNER,
783  STATUS_CODE_ERROR_WRITING_CACHE = BTRIEVE_STATUS_CODE_ERROR_WRITING_CACHE,
785  STATUS_CODE_INVALID_INTERFACE = BTRIEVE_STATUS_CODE_INVALID_INTERFACE,
787  STATUS_CODE_VARIABLE_PAGE_ERROR = BTRIEVE_STATUS_CODE_VARIABLE_PAGE_ERROR,
789  STATUS_CODE_AUTOINCREMENT_ERROR = BTRIEVE_STATUS_CODE_AUTOINCREMENT_ERROR,
791  STATUS_CODE_INCOMPLETE_INDEX = BTRIEVE_STATUS_CODE_INCOMPLETE_INDEX,
793  STATUS_CODE_EXPANED_MEM_ERROR = BTRIEVE_STATUS_CODE_EXPANED_MEM_ERROR,
795  STATUS_CODE_COMPRESS_BUFFER_TOO_SHORT = BTRIEVE_STATUS_CODE_COMPRESS_BUFFER_TOO_SHORT,
797  STATUS_CODE_FILE_ALREADY_EXISTS = BTRIEVE_STATUS_CODE_FILE_ALREADY_EXISTS,
799  STATUS_CODE_REJECT_COUNT_REACHED = BTRIEVE_STATUS_CODE_REJECT_COUNT_REACHED,
801  STATUS_CODE_SMALL_EX_GET_BUFFER_ERROR = BTRIEVE_STATUS_CODE_SMALL_EX_GET_BUFFER_ERROR,
803  STATUS_CODE_INVALID_GET_EXPRESSION = BTRIEVE_STATUS_CODE_INVALID_GET_EXPRESSION,
805  STATUS_CODE_INVALID_EXT_INSERT_BUFF = BTRIEVE_STATUS_CODE_INVALID_EXT_INSERT_BUFF,
807  STATUS_CODE_OPTIMIZE_LIMIT_REACHED = BTRIEVE_STATUS_CODE_OPTIMIZE_LIMIT_REACHED,
809  STATUS_CODE_INVALID_EXTRACTOR = BTRIEVE_STATUS_CODE_INVALID_EXTRACTOR,
811  STATUS_CODE_RI_TOO_MANY_DATABASES = BTRIEVE_STATUS_CODE_RI_TOO_MANY_DATABASES,
813  STATUS_CODE_RIDDF_CANNOT_OPEN = BTRIEVE_STATUS_CODE_RIDDF_CANNOT_OPEN,
815  STATUS_CODE_RI_CASCADE_TOO_DEEP = BTRIEVE_STATUS_CODE_RI_CASCADE_TOO_DEEP,
817  STATUS_CODE_RI_CASCADE_ERROR = BTRIEVE_STATUS_CODE_RI_CASCADE_ERROR,
819  STATUS_CODE_RI_VIOLATION = BTRIEVE_STATUS_CODE_RI_VIOLATION,
821  STATUS_CODE_RI_REFERENCED_FILE_CANNOT_OPEN = BTRIEVE_STATUS_CODE_RI_REFERENCED_FILE_CANNOT_OPEN,
823  STATUS_CODE_RI_OUT_OF_SYNC = BTRIEVE_STATUS_CODE_RI_OUT_OF_SYNC,
825  STATUS_CODE_END_CHANGED_TO_ABORT = BTRIEVE_STATUS_CODE_END_CHANGED_TO_ABORT,
827  STATUS_CODE_RI_CONFLICT = BTRIEVE_STATUS_CODE_RI_CONFLICT,
829  STATUS_CODE_CANT_LOOP_IN_SERVER = BTRIEVE_STATUS_CODE_CANT_LOOP_IN_SERVER,
831  STATUS_CODE_DEAD_LOCK = BTRIEVE_STATUS_CODE_DEAD_LOCK,
833  STATUS_CODE_PROGRAMMING_ERROR = BTRIEVE_STATUS_CODE_PROGRAMMING_ERROR,
835  STATUS_CODE_CONFLICT = BTRIEVE_STATUS_CODE_CONFLICT,
837  STATUS_CODE_LOCKERROR = BTRIEVE_STATUS_CODE_LOCKERROR,
839  STATUS_CODE_LOST_POSITION = BTRIEVE_STATUS_CODE_LOST_POSITION,
841  STATUS_CODE_READ_OUTSIDE_TRANSACTION = BTRIEVE_STATUS_CODE_READ_OUTSIDE_TRANSACTION,
843  STATUS_CODE_RECORD_INUSE = BTRIEVE_STATUS_CODE_RECORD_INUSE,
845  STATUS_CODE_FILE_INUSE = BTRIEVE_STATUS_CODE_FILE_INUSE,
847  STATUS_CODE_FILE_TABLE_FULL = BTRIEVE_STATUS_CODE_FILE_TABLE_FULL,
849  STATUS_CODE_NOHANDLES_AVAILABLE = BTRIEVE_STATUS_CODE_NOHANDLES_AVAILABLE,
851  STATUS_CODE_INCOMPATIBLE_MODE_ERROR = BTRIEVE_STATUS_CODE_INCOMPATIBLE_MODE_ERROR,
853  STATUS_CODE_DEVICE_TABLE_FULL = BTRIEVE_STATUS_CODE_DEVICE_TABLE_FULL,
855  STATUS_CODE_SERVER_ERROR = BTRIEVE_STATUS_CODE_SERVER_ERROR,
857  STATUS_CODE_TRANSACTION_TABLE_FULL = BTRIEVE_STATUS_CODE_TRANSACTION_TABLE_FULL,
859  STATUS_CODE_INCOMPATIBLE_LOCK_TYPE = BTRIEVE_STATUS_CODE_INCOMPATIBLE_LOCK_TYPE,
861  STATUS_CODE_PERMISSION_ERROR = BTRIEVE_STATUS_CODE_PERMISSION_ERROR,
863  STATUS_CODE_SESSION_NO_LONGER_VALID = BTRIEVE_STATUS_CODE_SESSION_NO_LONGER_VALID,
865  STATUS_CODE_COMMUNICATIONS_ERROR = BTRIEVE_STATUS_CODE_COMMUNICATIONS_ERROR,
867  STATUS_CODE_DATA_MESSAGE_TOO_SMALL = BTRIEVE_STATUS_CODE_DATA_MESSAGE_TOO_SMALL,
869  STATUS_CODE_INTERNAL_TRANSACTION_ERROR = BTRIEVE_STATUS_CODE_INTERNAL_TRANSACTION_ERROR,
871  STATUS_CODE_REQUESTER_CANT_ACCESS_RUNTIME = BTRIEVE_STATUS_CODE_REQUESTER_CANT_ACCESS_RUNTIME,
873  STATUS_CODE_NO_CACHE_BUFFERS_AVAIL = BTRIEVE_STATUS_CODE_NO_CACHE_BUFFERS_AVAIL,
875  STATUS_CODE_NO_OS_MEMORY_AVAIL = BTRIEVE_STATUS_CODE_NO_OS_MEMORY_AVAIL,
877  STATUS_CODE_NO_STACK_AVAIL = BTRIEVE_STATUS_CODE_NO_STACK_AVAIL,
879  STATUS_CODE_CHUNK_OFFSET_TOO_LONG = BTRIEVE_STATUS_CODE_CHUNK_OFFSET_TOO_LONG,
881  STATUS_CODE_LOCALE_ERROR = BTRIEVE_STATUS_CODE_LOCALE_ERROR,
883  STATUS_CODE_CANNOT_CREATE_WITH_VAT = BTRIEVE_STATUS_CODE_CANNOT_CREATE_WITH_VAT,
885  STATUS_CODE_CHUNK_CANNOT_GET_NEXT = BTRIEVE_STATUS_CODE_CHUNK_CANNOT_GET_NEXT,
887  STATUS_CODE_CHUNK_INCOMPATIBLE_FILE = BTRIEVE_STATUS_CODE_CHUNK_INCOMPATIBLE_FILE,
889  STATUS_CODE_TRANSACTION_TOO_COMPLEX = BTRIEVE_STATUS_CODE_TRANSACTION_TOO_COMPLEX,
891  STATUS_CODE_ARCH_BLOG_OPEN_ERROR = BTRIEVE_STATUS_CODE_ARCH_BLOG_OPEN_ERROR,
893  STATUS_CODE_ARCH_FILE_NOT_LOGGED = BTRIEVE_STATUS_CODE_ARCH_FILE_NOT_LOGGED,
895  STATUS_CODE_ARCH_FILE_IN_USE = BTRIEVE_STATUS_CODE_ARCH_FILE_IN_USE,
897  STATUS_CODE_ARCH_LOGFILE_NOT_FOUND = BTRIEVE_STATUS_CODE_ARCH_LOGFILE_NOT_FOUND,
899  STATUS_CODE_ARCH_LOGFILE_INVALID = BTRIEVE_STATUS_CODE_ARCH_LOGFILE_INVALID,
901  STATUS_CODE_ARCH_DUMPFILE_ACCESS_ERROR = BTRIEVE_STATUS_CODE_ARCH_DUMPFILE_ACCESS_ERROR,
903  STATUS_CODE_LOCATOR_FILE_INDICATOR = BTRIEVE_STATUS_CODE_LOCATOR_FILE_INDICATOR,
905  STATUS_CODE_NO_SYSTEM_LOCKS_AVAILABLE = BTRIEVE_STATUS_CODE_NO_SYSTEM_LOCKS_AVAILABLE,
907  STATUS_CODE_FILE_FULL = BTRIEVE_STATUS_CODE_FILE_FULL,
909  STATUS_CODE_MORE_THAN_5_CONCURRENT_USERS = BTRIEVE_STATUS_CODE_MORE_THAN_5_CONCURRENT_USERS,
911  STATUS_CODE_ISR_NOT_FOUND = BTRIEVE_STATUS_CODE_ISR_NOT_FOUND,
913  STATUS_CODE_ISR_INVALID = BTRIEVE_STATUS_CODE_ISR_INVALID,
915  STATUS_CODE_ACS_NOT_FOUND = BTRIEVE_STATUS_CODE_ACS_NOT_FOUND,
917  STATUS_CODE_CANNOT_CONVERT_RP = BTRIEVE_STATUS_CODE_CANNOT_CONVERT_RP,
919  STATUS_CODE_INVALID_NULL_INDICATOR = BTRIEVE_STATUS_CODE_INVALID_NULL_INDICATOR,
921  STATUS_CODE_INVALID_KEY_OPTION = BTRIEVE_STATUS_CODE_INVALID_KEY_OPTION,
923  STATUS_CODE_INCOMPATIBLE_CLOSE = BTRIEVE_STATUS_CODE_INCOMPATIBLE_CLOSE,
925  STATUS_CODE_INVALID_USERNAME = BTRIEVE_STATUS_CODE_INVALID_USERNAME,
927  STATUS_CODE_INVALID_DATABASE = BTRIEVE_STATUS_CODE_INVALID_DATABASE,
929  STATUS_CODE_NO_SSQL_RIGHTS = BTRIEVE_STATUS_CODE_NO_SSQL_RIGHTS,
931  STATUS_CODE_ALREADY_LOGGED_IN = BTRIEVE_STATUS_CODE_ALREADY_LOGGED_IN,
933  STATUS_CODE_NO_DATABASE_SERVICES = BTRIEVE_STATUS_CODE_NO_DATABASE_SERVICES,
935  STATUS_CODE_DUPLICATE_SYSTEM_KEY = BTRIEVE_STATUS_CODE_DUPLICATE_SYSTEM_KEY,
937  STATUS_CODE_LOG_SEGMENT_MISSING = BTRIEVE_STATUS_CODE_LOG_SEGMENT_MISSING,
939  STATUS_CODE_ROLL_FORWARD_ERROR = BTRIEVE_STATUS_CODE_ROLL_FORWARD_ERROR,
941  STATUS_CODE_SYSTEM_KEY_INTERNAL = BTRIEVE_STATUS_CODE_SYSTEM_KEY_INTERNAL,
943  STATUS_CODE_DBS_INTERNAL_ERROR = BTRIEVE_STATUS_CODE_DBS_INTERNAL_ERROR,
945  STATUS_CODE_NESTING_DEPTH_ERROR = BTRIEVE_STATUS_CODE_NESTING_DEPTH_ERROR,
947  STATUS_CODE_INVALID_PARAMETER_TO_MKDE = BTRIEVE_STATUS_CODE_INVALID_PARAMETER_TO_MKDE,
949  STATUS_CODE_USER_COUNT_LIMIT_EXCEEDED = BTRIEVE_STATUS_CODE_USER_COUNT_LIMIT_EXCEEDED,
951  STATUS_CODE_CLIENT_TABLE_FULL = BTRIEVE_STATUS_CODE_CLIENT_TABLE_FULL,
953  STATUS_CODE_LAST_SEGMENT_ERROR = BTRIEVE_STATUS_CODE_LAST_SEGMENT_ERROR,
955  STATUS_CODE_LOGIN_FAILED_BAD_USERNAME = BTRIEVE_STATUS_CODE_LOGIN_FAILED_BAD_USERNAME,
957  STATUS_CODE_LOGIN_FAILED_BAD_PASSWORD = BTRIEVE_STATUS_CODE_LOGIN_FAILED_BAD_PASSWORD,
959  STATUS_CODE_LOGIN_FAILED_BAD_DATABASE = BTRIEVE_STATUS_CODE_LOGIN_FAILED_BAD_DATABASE,
961  STATUS_CODE_LOGIN_ALREADY_LOGGED_IN = BTRIEVE_STATUS_CODE_LOGIN_ALREADY_LOGGED_IN,
963  STATUS_CODE_LOGIN_LOGOUT_FAILED = BTRIEVE_STATUS_CODE_LOGIN_LOGOUT_FAILED,
965  STATUS_CODE_LOGIN_WRONG_URI_FORMAT = BTRIEVE_STATUS_CODE_LOGIN_WRONG_URI_FORMAT,
967  STATUS_CODE_LOGIN_FILE_AND_TABLE_NOT_FOUND = BTRIEVE_STATUS_CODE_LOGIN_FILE_AND_TABLE_NOT_FOUND,
969  STATUS_CODE_LOGIN_TABLE_NOT_IN_DATABASE = BTRIEVE_STATUS_CODE_LOGIN_TABLE_NOT_IN_DATABASE,
971  STATUS_CODE_LOGIN_DIRECTORY_NOT_IN_DATABASE = BTRIEVE_STATUS_CODE_LOGIN_DIRECTORY_NOT_IN_DATABASE,
973  STATUS_CODE_LOCK_PARM_OUTOFRANGE = BTRIEVE_STATUS_CODE_LOCK_PARM_OUTOFRANGE,
975  STATUS_CODE_MEM_ALLOCATION_ERR = BTRIEVE_STATUS_CODE_MEM_ALLOCATION_ERR,
977  STATUS_CODE_MEM_PARM_TOO_SMALL = BTRIEVE_STATUS_CODE_MEM_PARM_TOO_SMALL,
979  STATUS_CODE_PAGE_SIZE_PARM_OUTOFRANGE = BTRIEVE_STATUS_CODE_PAGE_SIZE_PARM_OUTOFRANGE,
981  STATUS_CODE_INVALID_PREIMAGE_PARM = BTRIEVE_STATUS_CODE_INVALID_PREIMAGE_PARM,
983  STATUS_CODE_PREIMAGE_BUF_PARM_OUTOFRANGE = BTRIEVE_STATUS_CODE_PREIMAGE_BUF_PARM_OUTOFRANGE,
985  STATUS_CODE_FILES_PARM_OUTOFRANGE = BTRIEVE_STATUS_CODE_FILES_PARM_OUTOFRANGE,
987  STATUS_CODE_INVALID_INIT_PARM = BTRIEVE_STATUS_CODE_INVALID_INIT_PARM,
989  STATUS_CODE_INVALID_TRANS_PARM = BTRIEVE_STATUS_CODE_INVALID_TRANS_PARM,
991  STATUS_CODE_ERROR_ACC_TRANS_CONTROL_FILE = BTRIEVE_STATUS_CODE_ERROR_ACC_TRANS_CONTROL_FILE,
993  STATUS_CODE_COMPRESSION_BUF_PARM_OUTOFRANGE = BTRIEVE_STATUS_CODE_COMPRESSION_BUF_PARM_OUTOFRANGE,
995  STATUS_CODE_INV_N_OPTION = BTRIEVE_STATUS_CODE_INV_N_OPTION,
997  STATUS_CODE_TASK_LIST_FULL = BTRIEVE_STATUS_CODE_TASK_LIST_FULL,
999  STATUS_CODE_STOP_WARNING = BTRIEVE_STATUS_CODE_STOP_WARNING,
1001  STATUS_CODE_POINTER_PARM_INVALID = BTRIEVE_STATUS_CODE_POINTER_PARM_INVALID,
1003  STATUS_CODE_ALREADY_INITIALIZED = BTRIEVE_STATUS_CODE_ALREADY_INITIALIZED,
1005  STATUS_CODE_REQ_CANT_FIND_RES_DLL = BTRIEVE_STATUS_CODE_REQ_CANT_FIND_RES_DLL,
1007  STATUS_CODE_ALREADY_INSIDE_BTR_FUNCTION = BTRIEVE_STATUS_CODE_ALREADY_INSIDE_BTR_FUNCTION,
1009  STATUS_CODE_CALLBACK_ABORT = BTRIEVE_STATUS_CODE_CALLBACK_ABORT,
1011  STATUS_CODE_INTF_COMM_ERROR = BTRIEVE_STATUS_CODE_INTF_COMM_ERROR,
1013  STATUS_CODE_FAILED_TO_INITIALIZE = BTRIEVE_STATUS_CODE_FAILED_TO_INITIALIZE,
1015  STATUS_CODE_MKDE_SHUTTING_DOWN = BTRIEVE_STATUS_CODE_MKDE_SHUTTING_DOWN,
1017  STATUS_CODE_INTERNAL_ERROR = BTRIEVE_STATUS_CODE_INTERNAL_ERROR,
1019  STATUS_CODE_INSUFFICIENT_MEM_ALLOC = BTRIEVE_STATUS_CODE_INSUFFICIENT_MEM_ALLOC,
1021  STATUS_CODE_INVALID_OPTION = BTRIEVE_STATUS_CODE_INVALID_OPTION,
1023  STATUS_CODE_NO_LOCAL_ACCESS_ALLOWED = BTRIEVE_STATUS_CODE_NO_LOCAL_ACCESS_ALLOWED,
1025  STATUS_CODE_SPX_NOT_INSTALLED = BTRIEVE_STATUS_CODE_SPX_NOT_INSTALLED,
1027  STATUS_CODE_INCORRECT_SPX_VERSION = BTRIEVE_STATUS_CODE_INCORRECT_SPX_VERSION,
1029  STATUS_CODE_NO_AVAIL_SPX_CONNECTION = BTRIEVE_STATUS_CODE_NO_AVAIL_SPX_CONNECTION,
1031  STATUS_CODE_INVALID_PTR_PARM = BTRIEVE_STATUS_CODE_INVALID_PTR_PARM,
1033  STATUS_CODE_CANT_CONNECT_TO_615 = BTRIEVE_STATUS_CODE_CANT_CONNECT_TO_615,
1035  STATUS_CODE_CANT_LOAD_MKDE_ROUTER = BTRIEVE_STATUS_CODE_CANT_LOAD_MKDE_ROUTER,
1037  STATUS_CODE_UT_THUNK_NOT_LOADED = BTRIEVE_STATUS_CODE_UT_THUNK_NOT_LOADED,
1039  STATUS_CODE_NO_RESOURCE_DLL = BTRIEVE_STATUS_CODE_NO_RESOURCE_DLL,
1041  STATUS_CODE_OS_ERROR = BTRIEVE_STATUS_CODE_OS_ERROR,
1043  STATUS_CODE_MK_ROUTER_MEM_ERROR = BTRIEVE_STATUS_CODE_MK_ROUTER_MEM_ERROR,
1045  STATUS_CODE_MK_NO_LOCAL_ACCESS_ALLOWED = BTRIEVE_STATUS_CODE_MK_NO_LOCAL_ACCESS_ALLOWED,
1047  STATUS_CODE_MK_NO_RESOURCE_DLL = BTRIEVE_STATUS_CODE_MK_NO_RESOURCE_DLL,
1049  STATUS_CODE_MK_INCOMPAT_COMPONENT = BTRIEVE_STATUS_CODE_MK_INCOMPAT_COMPONENT,
1051  STATUS_CODE_MK_TIMEOUT_ERROR = BTRIEVE_STATUS_CODE_MK_TIMEOUT_ERROR,
1053  STATUS_CODE_MK_OS_ERROR = BTRIEVE_STATUS_CODE_MK_OS_ERROR,
1055  STATUS_CODE_MK_INVALID_SESSION = BTRIEVE_STATUS_CODE_MK_INVALID_SESSION,
1057  STATUS_CODE_MK_SERVER_NOT_FOUND = BTRIEVE_STATUS_CODE_MK_SERVER_NOT_FOUND,
1059  STATUS_CODE_MK_INVALID_CONFIG = BTRIEVE_STATUS_CODE_MK_INVALID_CONFIG,
1061  STATUS_CODE_MK_NETAPI_NOT_LOADED = BTRIEVE_STATUS_CODE_MK_NETAPI_NOT_LOADED,
1063  STATUS_CODE_MK_NWAPI_NOT_LOADED = BTRIEVE_STATUS_CODE_MK_NWAPI_NOT_LOADED,
1065  STATUS_CODE_MK_THUNK_NOT_LOADED = BTRIEVE_STATUS_CODE_MK_THUNK_NOT_LOADED,
1067  STATUS_CODE_MK_LOCAL_NOT_LOADED = BTRIEVE_STATUS_CODE_MK_LOCAL_NOT_LOADED,
1069  STATUS_CODE_MK_PNSL_NOT_LOADED = BTRIEVE_STATUS_CODE_MK_PNSL_NOT_LOADED,
1071  STATUS_CODE_MK_CANT_FIND_ENGINE = BTRIEVE_STATUS_CODE_MK_CANT_FIND_ENGINE,
1073  STATUS_CODE_MK_INIT_ERROR = BTRIEVE_STATUS_CODE_MK_INIT_ERROR,
1075  STATUS_CODE_MK_INTERNAL_ERROR = BTRIEVE_STATUS_CODE_MK_INTERNAL_ERROR,
1077  STATUS_CODE_MK_LOCAL_MKDE_DATABUF_TOO_SMALL = BTRIEVE_STATUS_CODE_MK_LOCAL_MKDE_DATABUF_TOO_SMALL,
1079  STATUS_CODE_MK_CLOSED_ERROR = BTRIEVE_STATUS_CODE_MK_CLOSED_ERROR,
1081  STATUS_CODE_MK_SEMAPHORE_ERROR = BTRIEVE_STATUS_CODE_MK_SEMAPHORE_ERROR,
1083  STATUS_CODE_MK_LOADING_ERROR = BTRIEVE_STATUS_CODE_MK_LOADING_ERROR,
1085  STATUS_CODE_MK_BAD_SRB_FORMAT = BTRIEVE_STATUS_CODE_MK_BAD_SRB_FORMAT,
1087  STATUS_CODE_MK_DATABUF_LEN_TOO_LARGE = BTRIEVE_STATUS_CODE_MK_DATABUF_LEN_TOO_LARGE,
1089  STATUS_CODE_MK_TASK_TABLE_FULL = BTRIEVE_STATUS_CODE_MK_TASK_TABLE_FULL,
1091  STATUS_CODE_MK_INVALID_OP_ON_REMOTE = BTRIEVE_STATUS_CODE_MK_INVALID_OP_ON_REMOTE,
1093  STATUS_CODE_MK_PIDS_NOT_LOADED = BTRIEVE_STATUS_CODE_MK_PIDS_NOT_LOADED,
1095  STATUS_CODE_MK_BAD_PIDS = BTRIEVE_STATUS_CODE_MK_BAD_PIDS,
1097  STATUS_CODE_MK_IDS_CONNECT_FAILURE = BTRIEVE_STATUS_CODE_MK_IDS_CONNECT_FAILURE,
1099  STATUS_CODE_MK_IDS_LOGIN_FAILURE = BTRIEVE_STATUS_CODE_MK_IDS_LOGIN_FAILURE,
1101  STATUS_CODE_NL_FAILURE = BTRIEVE_STATUS_CODE_NL_FAILURE,
1103  STATUS_CODE_NL_NOT_INITIALIZED = BTRIEVE_STATUS_CODE_NL_NOT_INITIALIZED,
1105  STATUS_CODE_NL_NAME_NOT_FOUND = BTRIEVE_STATUS_CODE_NL_NAME_NOT_FOUND,
1107  STATUS_CODE_NL_PERMISSION_ERROR = BTRIEVE_STATUS_CODE_NL_PERMISSION_ERROR,
1109  STATUS_CODE_NL_NO_AVAILABLE_TRANSPORT = BTRIEVE_STATUS_CODE_NL_NO_AVAILABLE_TRANSPORT,
1111  STATUS_CODE_NL_CONNECTION_FAILURE = BTRIEVE_STATUS_CODE_NL_CONNECTION_FAILURE,
1113  STATUS_CODE_NL_OUT_OF_MEMORY = BTRIEVE_STATUS_CODE_NL_OUT_OF_MEMORY,
1115  STATUS_CODE_NL_INVALID_SESSION = BTRIEVE_STATUS_CODE_NL_INVALID_SESSION,
1117  STATUS_CODE_NL_MORE_DATA = BTRIEVE_STATUS_CODE_NL_MORE_DATA,
1119  STATUS_CODE_NL_NOT_CONNECTED = BTRIEVE_STATUS_CODE_NL_NOT_CONNECTED,
1121  STATUS_CODE_NL_SEND_FAILURE = BTRIEVE_STATUS_CODE_NL_SEND_FAILURE,
1123  STATUS_CODE_NL_RECEIVE_FAILURE = BTRIEVE_STATUS_CODE_NL_RECEIVE_FAILURE,
1125  STATUS_CODE_NL_INVALID_SERVER_TYPE = BTRIEVE_STATUS_CODE_NL_INVALID_SERVER_TYPE,
1127  STATUS_CODE_NL_SRT_FULL = BTRIEVE_STATUS_CODE_NL_SRT_FULL,
1129  STATUS_CODE_NL_TRANSPORT_FAILURE = BTRIEVE_STATUS_CODE_NL_TRANSPORT_FAILURE,
1131  STATUS_CODE_NL_RCV_DATA_OVERFLOW = BTRIEVE_STATUS_CODE_NL_RCV_DATA_OVERFLOW,
1133  STATUS_CODE_NL_CST_FULL = BTRIEVE_STATUS_CODE_NL_CST_FULL,
1135  STATUS_CODE_NL_INVALID_ADDRESS_FAMILY = BTRIEVE_STATUS_CODE_NL_INVALID_ADDRESS_FAMILY,
1137  STATUS_CODE_NL_NO_AUTH_CONTEXT_AVAILABLE = BTRIEVE_STATUS_CODE_NL_NO_AUTH_CONTEXT_AVAILABLE,
1139  STATUS_CODE_NL_INVALID_AUTH_TYPE = BTRIEVE_STATUS_CODE_NL_INVALID_AUTH_TYPE,
1141  STATUS_CODE_NL_INVALID_AUTH_OBJECT = BTRIEVE_STATUS_CODE_NL_INVALID_AUTH_OBJECT,
1143  STATUS_CODE_NL_AUTH_LEN_TOO_SMALL = BTRIEVE_STATUS_CODE_NL_AUTH_LEN_TOO_SMALL,
1145  STATUS_CODE_NL_INVALID_SESSION_LEVEL_PARM = BTRIEVE_STATUS_CODE_NL_INVALID_SESSION_LEVEL_PARM,
1147  STATUS_CODE_NL_TASK_TABLE_FULL = BTRIEVE_STATUS_CODE_NL_TASK_TABLE_FULL,
1149  STATUS_CODE_NL_NDS_NAME_RESOLUTION_ERROR = BTRIEVE_STATUS_CODE_NL_NDS_NAME_RESOLUTION_ERROR,
1151  STATUS_CODE_NL_FILE_NAME_RESOLUTION_ERROR = BTRIEVE_STATUS_CODE_NL_FILE_NAME_RESOLUTION_ERROR,
1153  STATUS_CODE_NL_IDS_SEND_FAILURE = BTRIEVE_STATUS_CODE_NL_IDS_SEND_FAILURE,
1155  STATUS_CODE_NL_IDS_RCV_FAILURE = BTRIEVE_STATUS_CODE_NL_IDS_RCV_FAILURE,
1157  STATUS_CODE_UNKNOWN = BTRIEVE_STATUS_CODE_UNKNOWN
1158  };
1159 
1166  SYSTEM_DATA_MODE_YES = BTRIEVE_SYSTEM_DATA_MODE_YES,
1168  SYSTEM_DATA_MODE_NO = BTRIEVE_SYSTEM_DATA_MODE_NO,
1170  SYSTEM_DATA_MODE_DEFAULT = BTRIEVE_SYSTEM_DATA_MODE_DEFAULT,
1172  SYSTEM_DATA_MODE_UNKNOWN = BTRIEVE_SYSTEM_DATA_MODE_UNKNOWN
1173  };
1174 
1178  TRANSACTION_MODE_EXCLUSIVE = BTRIEVE_TRANSACTION_MODE_EXCLUSIVE,
1180  TRANSACTION_MODE_CONCURRENT_WRITE_WAIT = BTRIEVE_TRANSACTION_MODE_CONCURRENT_WRITE_WAIT,
1182  TRANSACTION_MODE_CONCURRENT_NO_WRITE_WAIT = BTRIEVE_TRANSACTION_MODE_CONCURRENT_NO_WRITE_WAIT,
1184  TRANSACTION_MODE_UNKNOWN = BTRIEVE_TRANSACTION_MODE_UNKNOWN
1185  };
1186 
1190  enum UnlockMode {
1192  UNLOCK_MODE_SINGLE = BTRIEVE_UNLOCK_MODE_SINGLE,
1194  UNLOCK_MODE_MULTIPLE = BTRIEVE_UNLOCK_MODE_MULTIPLE,
1196  UNLOCK_MODE_UNKNOWN = BTRIEVE_UNLOCK_MODE_UNKNOWN
1197  };
1198 
1205  VARIABLE_LENGTH_RECORDS_MODE_NO = BTRIEVE_VARIABLE_LENGTH_RECORDS_MODE_NO,
1207  VARIABLE_LENGTH_RECORDS_MODE_YES = BTRIEVE_VARIABLE_LENGTH_RECORDS_MODE_YES,
1209  VARIABLE_LENGTH_RECORDS_MODE_YES_VARIABLE_ALLOCATION_TAILS = BTRIEVE_VARIABLE_LENGTH_RECORDS_MODE_YES_VARIABLE_ALLOCATION_TAILS,
1211  VARIABLE_LENGTH_RECORDS_MODE_UNKNOWN = BTRIEVE_VARIABLE_LENGTH_RECORDS_MODE_UNKNOWN
1212  };
1213 
1218  VERSION_TYPE_NONE = BTRIEVE_VERSION_TYPE_NONE,
1220  VERSION_TYPE_BTRIEVE_ENGINE = BTRIEVE_VERSION_TYPE_BTRIEVE_ENGINE,
1222  VERSION_TYPE_WORKGROUP_ENGINE = BTRIEVE_VERSION_TYPE_WORKGROUP_ENGINE,
1224  VERSION_TYPE_DOS_WORKSTATION = BTRIEVE_VERSION_TYPE_DOS_WORKSTATION,
1226  VERSION_TYPE_CLIENT_REQUESTOR = BTRIEVE_VERSION_TYPE_CLIENT_REQUESTOR,
1228  VERSION_TYPE_WINDOWS_SERVER_ENGINE = BTRIEVE_VERSION_TYPE_WINDOWS_SERVER_ENGINE,
1230  VERSION_TYPE_UNIX = BTRIEVE_VERSION_TYPE_UNIX,
1232  VERSION_TYPE_CLIENT_ENGINE = BTRIEVE_VERSION_TYPE_CLIENT_ENGINE,
1234  VERSION_TYPE_UNKNOWN = BTRIEVE_VERSION_TYPE_UNKNOWN
1235  };
1236 
1242  static const char *ACSModeToString(ACSMode ACSMode);
1248  static const char *DuplicateModeToString(DuplicateMode duplicateMode);
1254  static const char *DataTypeToString(DataType dataType);
1260  static const char *FileVersionToString(FileVersion fileVersion);
1266  static const char *FreeSpaceThresholdToString(FreeSpaceThreshold freeSpaceThreshold);
1272  static const char *IndexToString(Index index);
1278  static const char *NullKeyModeToString(NullKeyMode nullKeyMode);
1284  static const char *PageSizeToString(PageSize pageSize);
1290  static const char *RecordCompressionModeToString(RecordCompressionMode recordCompressionMode);
1296  static const char *StatusCodeToString(StatusCode statusCode);
1302  static const char *SystemDataModeToString(SystemDataMode systemDataMode);
1308  static const char *VersionTypeToString(VersionType versionType);
1314  static const char *PageLockTypeToString(PageLockType pageLockType);
1320  static const char *LockModeToString(LockMode lockMode);
1326  static const char *OwnerModeToString(OwnerMode ownerMode);
1332  static const char *VariableLengthRecordsModeToString(VariableLengthRecordsMode variableLengthRecordsMode);
1336  static long long UnixEpochMicrosecondsToTimestamp(long long microseconds);
1340  static long long TimestampToUnixEpochMicroseconds(long long timestamp);
1341 
1342 private:
1343  Btrieve();
1344  ~Btrieve();
1345 };
1346 
1349 {
1350 public:
1355  BtrieveClient(int serviceAgentIdentifier, int clientIdentifier);
1356  BtrieveClient();
1357  ~BtrieveClient();
1358 
1367  Btrieve::StatusCode GetVersion(BtrieveVersion *btrieveVersion, BtrieveFile *btrieveFile = NULL);
1379  Btrieve::StatusCode FileOpen(BtrieveFile *btrieveFile, const char *fileName, const char *ownerName, Btrieve::OpenMode openMode, Btrieve::LocationMode locationMode = Btrieve::LOCATION_MODE_NO_PREFERENCE);
1389  Btrieve::StatusCode FileOpen(BtrieveFile *btrieveFile, const wchar_t *fileName, const char *ownerName, Btrieve::OpenMode openMode, Btrieve::LocationMode locationMode = Btrieve::LOCATION_MODE_NO_PREFERENCE);
1390 
1391 // Avoid Windows renaming of GetCurrentDirectory.
1392 #ifdef GetCurrentDirectory
1393  #undef GetCurrentDirectory
1394 #endif
1395 
1401  const char *GetCurrentDirectory(Btrieve::DiskDrive diskDrive);
1402  #ifndef SWIG
1403  Btrieve::StatusCode GetCurrentDirectory(Btrieve::DiskDrive diskDrive, char *currentDirectory, int currentDirectorySize);
1412  #endif
1413  Btrieve::StatusCode GetCurrentDirectory(Btrieve::DiskDrive diskDrive, wchar_t *currentDirectory, int currentDirectorySize);
1426  Btrieve::StatusCode ContinuousOperationBegin(const char *pathNames);
1432  Btrieve::StatusCode ContinuousOperationBegin(const wchar_t *pathNames);
1438  Btrieve::StatusCode ContinuousOperationEnd(const char *pathNames);
1444  Btrieve::StatusCode ContinuousOperationEnd(const wchar_t *pathNames);
1452  Btrieve::StatusCode FileClose(BtrieveFile *btrieveFile);
1463  Btrieve::StatusCode FileCreate(BtrieveFileAttributes *btrieveFileAttributes, const char *fileName, Btrieve::CreateMode createMode, Btrieve::LocationMode locationMode = Btrieve::LOCATION_MODE_NO_PREFERENCE);
1475  Btrieve::StatusCode FileCreate(BtrieveFileAttributes *btrieveFileAttributes, BtrieveIndexAttributes *btrieveIndexAttributes, const char *fileName, Btrieve::CreateMode createMode, Btrieve::LocationMode locationMode = Btrieve::LOCATION_MODE_NO_PREFERENCE);
1486  Btrieve::StatusCode FileCreate(BtrieveFileAttributes *btrieveFileAttributes, const wchar_t *fileName, Btrieve::CreateMode createMode, Btrieve::LocationMode locationMode = Btrieve::LOCATION_MODE_NO_PREFERENCE);
1498  Btrieve::StatusCode FileCreate(BtrieveFileAttributes *btrieveFileAttributes, BtrieveIndexAttributes *btrieveIndexAttributes, const wchar_t *fileName, Btrieve::CreateMode createMode, Btrieve::LocationMode locationMode = Btrieve::LOCATION_MODE_NO_PREFERENCE);
1506  Btrieve::StatusCode FileDelete(const char *fileName);
1514  Btrieve::StatusCode FileDelete(const wchar_t *fileName);
1521  Btrieve::StatusCode FileRename(const char *existingFileName, const char *newFileName);
1528  Btrieve::StatusCode FileRename(const wchar_t *existingFileName, const wchar_t *newFileName);
1533  Btrieve::StatusCode GetLastStatusCode();
1541  Btrieve::StatusCode Login(const char *databaseURI);
1547  Btrieve::StatusCode Login(const wchar_t *databaseURI);
1555  Btrieve::StatusCode Logout(const char *databaseURI);
1561  Btrieve::StatusCode Logout(const wchar_t *databaseURI);
1566  Btrieve::StatusCode Reset();
1567 
1568 // Avoid Windows renaming of SetCurrentDirectory.
1569 #ifdef SetCurrentDirectory
1570  #undef SetCurrentDirectory
1571 #endif
1572 
1580  Btrieve::StatusCode SetCurrentDirectory(const char *currentDirectory);
1588  Btrieve::StatusCode SetCurrentDirectory(const wchar_t *currentDirectory);
1593  Btrieve::StatusCode Stop();
1598  Btrieve::StatusCode TransactionAbort();
1605  Btrieve::StatusCode TransactionBegin(Btrieve::TransactionMode transactionMode, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
1610  Btrieve::StatusCode TransactionEnd();
1615  int GetServiceAgentIdentifier();
1620  int GetClientIdentifier();
1626  Btrieve::StatusCode CollectionCreate(const char *collectionName);
1632  Btrieve::StatusCode CollectionDelete(const char *collectionName);
1639  Btrieve::StatusCode CollectionRename(const char *existingCollectionName, const char *newCollectionName);
1646  Btrieve::StatusCode CollectionOpen(BtrieveCollection *btrieveCollection, const char *collectionName);
1652  Btrieve::StatusCode CollectionClose(BtrieveCollection *btrieveCollection);
1653 
1654 private:
1655  btrieve_client_t btrieveClient;
1656 };
1657 
1671 {
1672  friend class BtrieveClient;
1673 
1674 protected:
1675  btrieve_file_t GetBtrieveFile();
1676  btrieve_file_t *GetBtrieveFilePtr();
1677  BtrieveFile(btrieve_file_t btrieveFileIn);
1678 
1679 public:
1683  BtrieveFile();
1685  ~BtrieveFile();
1686 
1697  Btrieve::StatusCode RecordDelete();
1714  int RecordRetrieveByFraction(Btrieve::Index index, int numerator, int denominator, char *record, int recordSize, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
1730  int RecordRetrieveByPercentage(Btrieve::Index index, int percentage, char *record, int recordSize, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
1747  int RecordRetrieveByCursorPosition(Btrieve::Index index, long long cursorPosition, char *record, int recordSize, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
1765  int RecordRetrieve(Btrieve::Comparison comparison, Btrieve::Index index, const char *key, int keyLength, char *record, int recordSize, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
1780  Btrieve::StatusCode KeyRetrieve(Btrieve::Comparison comparison, Btrieve::Index index, const char *key, int keyLength);
1794  Btrieve::StatusCode BulkRetrieveNext(BtrieveBulkRetrieveAttributes *bulkRetrieveAttributes, BtrieveBulkRetrieveResult *bulkRetrieveResult, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
1806  Btrieve::StatusCode BulkRetrievePrevious(BtrieveBulkRetrieveAttributes *bulkRetrieveAttributes, BtrieveBulkRetrieveResult *bulkRetrieveResult, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
1818  Btrieve::StatusCode GetInformation(BtrieveFileInformation *btrieveFileInformation);
1833  int RecordRetrieveFirst(Btrieve::Index index, char *record, int recordSize, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
1845  Btrieve::StatusCode KeyRetrieveFirst(Btrieve::Index index, char *key, int keySize);
1859  int GetNumerator(long long cursorPosition, int denominator);
1874  int GetNumerator(Btrieve::Index index, const char *key, int keyLength, int denominator);
1889  int RecordRetrieveLast(Btrieve::Index index, char *record, int recordSize, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
1901  Btrieve::StatusCode KeyRetrieveLast(Btrieve::Index index, char *key, int keySize);
1923  Btrieve::StatusCode KeyRetrieveNext(char *key, int keySize);
1937  int RecordRetrieveNext(char *record, int recordSize, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
1950  int GetPercentage(long long cursorPosition);
1964  int GetPercentage(Btrieve::Index index, const char *key, int keyLength);
1976  long long GetCursorPosition();
1987  Btrieve::StatusCode KeyRetrievePrevious(char *key, int keySize);
1999  int RecordRetrievePrevious(char *record, int recordSize, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
2015  int RecordRetrieveChunk(int offset, int length, char *chunk, int chunkSize, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
2030  int RecordRetrieveChunk(int length, char *chunk, int chunkSize, Btrieve::LockMode lockMode = Btrieve::LOCK_MODE_NONE);
2042  Btrieve::StatusCode IndexCreate(BtrieveIndexAttributes *btrieveIndexAttributes);
2052  Btrieve::StatusCode IndexDrop(Btrieve::Index index);
2066  Btrieve::StatusCode RecordCreate(char *record, int recordLength);
2079  Btrieve::StatusCode BulkCreate(BtrieveBulkCreatePayload *btrieveBulkCreatePayload, BtrieveBulkCreateResult *btrieveBulkCreateResult);
2094  Btrieve::StatusCode SetOwner(Btrieve::OwnerMode ownerMode, const char *ownerName = NULL, const char *ownerNameAgain = NULL, bool useLongOwnerName = true);
2103  Btrieve::StatusCode RecordTruncate(int offset);
2111  Btrieve::StatusCode RecordTruncate();
2123  Btrieve::StatusCode RecordUnlock(Btrieve::UnlockMode unlockMode);
2134  Btrieve::StatusCode UnlockCursorPosition(long long cursorPosition);
2147  Btrieve::StatusCode RecordUpdate(const char *record, int recordLength);
2160  Btrieve::StatusCode RecordAppendChunk(const char *chunk, int chunkLength);
2173  Btrieve::StatusCode RecordUpdateChunk(int offset, const char *chunk, int chunkLength);
2185  Btrieve::StatusCode RecordUpdateChunk(const char *chunk, int chunkLength);
2186 
2187 private:
2188  btrieve_file_t btrieveFile;
2189 };
2190 
2193 {
2194  friend class BtrieveClient;
2195 
2196 protected:
2197  btrieve_file_attributes_t GetBtrieveFileAttributes();
2198 
2199 public:
2204 
2214  Btrieve::StatusCode SetBalancedIndexes(bool enableBalancedIndexes);
2225  Btrieve::StatusCode SetRecordCompressionMode(Btrieve::RecordCompressionMode recordCompressionMode);
2237  Btrieve::StatusCode SetReservedDuplicatePointerCount(int reservedDuplicatePointerCount);
2248  Btrieve::StatusCode SetFileVersion(Btrieve::FileVersion fileVersion);
2259  Btrieve::StatusCode SetFreeSpaceThreshold(Btrieve::FreeSpaceThreshold freeSpaceThreshold);
2274  Btrieve::StatusCode SetPageSize(Btrieve::PageSize pageSize, bool enablePageCompression = false);
2284  Btrieve::StatusCode SetFixedRecordLength(int fixedRecordLength);
2294  Btrieve::StatusCode SetPreallocatedPageCount(int preallocatedPageCount);
2304  Btrieve::StatusCode SetSystemDataMode(Btrieve::SystemDataMode systemDataMode);
2314  Btrieve::StatusCode SetVariableLengthRecordsMode(Btrieve::VariableLengthRecordsMode variableLengthRecordsMode);
2325  Btrieve::StatusCode SetKeyOnly(bool enableKeyOnly);
2326 
2327 private:
2328  btrieve_file_attributes_t btrieveFileAttributes;
2329 };
2330 
2333 {
2334  friend class BtrieveFile;
2335 
2336 protected:
2337  btrieve_file_information_t GetBtrieveFileInformation();
2338 
2339 public:
2345 
2360  Btrieve::FileVersion GetFileVersion();
2368  Btrieve::FreeSpaceThreshold GetFreeSpaceThreshold();
2376  Btrieve::PageSize GetPageSize();
2383  Btrieve::SystemDataMode GetSystemDataMode();
2392  Btrieve::StatusCode GetKeySegment(BtrieveKeySegment *btrieveKeySegment, int keySegmentNumber);
2400  int GetBalancedIndexes();
2407  Btrieve::RecordCompressionMode GetRecordCompressionMode();
2415  int GetKeyOnly();
2423  int GetPageCompression();
2431  int GetPagePreallocation();
2438  Btrieve::VariableLengthRecordsMode GetVariableLengthRecordsMode();
2445  int GetUnusedDuplicatePointerCount();
2452  int GetIndexCount();
2459  int GetFixedRecordLength();
2467  long long GetRecordCount();
2475  int GetSegmented();
2482  int GetUnusedPageCount();
2490  Btrieve::Index GetLogIndex();
2498  int GetLoggable();
2506  int GetSystemIndexPresent();
2513  int GetSystemIndexSize();
2521  int GetSystemIndexUsed();
2528  int GetSystemIndexVersion();
2536  long long GetDuplicateRecordConflictCursorPosition();
2544  Btrieve::Index GetDuplicateRecordConflictIndex();
2551  int GetIdentifier();
2558  int GetHandleCount();
2565  int GetOpenTimestamp();
2572  int GetUsageCount();
2580  int GetExplicitLocks();
2588  int GetClientTransactions();
2596  int GetReadOnly();
2604  int GetContinuousOperation();
2612  int GetReferentialIntegrityConstraints();
2620  Btrieve::OwnerMode GetOwnerMode();
2628  int GetWrongOwner();
2635  int GetGatewayMajorVersion();
2642  int GetGatewayMinorVersion();
2649  int GetGatewayPatchLevel();
2656  int GetGatewayPlatform();
2663  const char *GetGatewayName();
2664  #ifndef SWIG
2665  Btrieve::StatusCode GetGatewayName(char *name, int nameSize);
2673  #endif
2674  int GetLockOwnerImplicitLock();
2689  int GetLockOwnerFileLock();
2697  int GetLockOwnerRecordLock();
2705  int GetLockOwnerSameProcess();
2713  int GetLockOwnerWriteNoWait();
2721  int GetLockOwnerWriteHold();
2728  int GetLockOwnerTimeInTransaction();
2735  int GetLockOwnerTransactionLevel();
2742  const char *GetLockOwnerName();
2743  #ifndef SWIG
2744  Btrieve::StatusCode GetLockOwnerName(char *name, int nameSize);
2752  #endif
2753  int GetLockOwnerServiceAgentIdentifier();
2766  int GetLockOwnerClientIdentifier();
2774  Btrieve::LockMode GetLockOwnerExplicitLockMode();
2782  Btrieve::PageLockType GetLockOwnerPageLockType();
2790  Btrieve::Index GetLockOwnerIndex();
2797  const char *GetReferentialIntegrityFileName();
2798  #ifndef SWIG
2799  Btrieve::StatusCode GetReferentialIntegrityFileName(char *name, int nameSize);
2807  #endif
2808  int GetReferentialIntegrityOperationCode();
2822  long long GetReferentialIntegrityCursorPosition();
2829  int GetSegmentCount();
2837  const char *GetSegmentFileName(int segmentFileNumber);
2838  #ifndef SWIG
2839  Btrieve::StatusCode GetSegmentFileName(int segmentFileNumber, char *name, int nameSize);
2848  #endif
2849 
2850  // TODO: Coalesce some of the following.
2858  int GetSecurityHandleTrusted();
2866  int GetSecurityHandleImplicit();
2874  int GetSecurityHandleExplicit();
2882  int GetSecurityHandleAuthenticationByDatabase();
2890  int GetSecurityHandleAuthorizationByDatabase();
2898  int GetSecurityHandleWindowsNamedPipe();
2906  int GetSecurityHandleWorkgroup();
2914  int GetSecurityHandleBtpasswd();
2922  int GetSecurityHandlePAM();
2930  int GetSecurityHandleRTSSComplete();
2938  int GetSecurityHandleRTSSPreauthorized();
2946  int GetSecurityHandleRTSSDisabled();
2954  int GetSecurityCurrentDatabaseTrusted();
2962  int GetSecurityCurrentDatabaseImplicit();
2970  int GetSecurityCurrentDatabaseExplicit();
2978  int GetSecurityCurrentDatabaseAuthenticationByDatabase();
2986  int GetSecurityCurrentDatabaseAuthorizationByDatabase();
2994  int GetSecurityCurrentDatabaseWindowsNamedPipe();
3002  int GetSecurityCurrentDatabaseWorkgroup();
3010  int GetSecurityCurrentDatabaseBtpasswd();
3018  int GetSecurityCurrentDatabasePAM();
3026  int GetSecurityCurrentDatabaseRTSSComplete();
3034  int GetSecurityCurrentDatabaseRTSSPreauthorized();
3042  int GetSecurityCurrentDatabaseRTSSDisabled();
3050  int GetSecurityPermissionNoRights();
3058  int GetSecurityPermissionOpen();
3066  int GetSecurityPermissionRead();
3074  int GetSecurityPermissionCreateFile();
3082  int GetSecurityPermissionUpdate();
3090  int GetSecurityPermissionCreateRecord();
3098  int GetSecurityPermissionDelete();
3106  int GetSecurityPermissionExecute();
3114  int GetSecurityPermissionAlter();
3122  int GetSecurityPermissionRefer();
3130  int GetSecurityPermissionCreateView();
3138  int GetSecurityPermissionCreateStoredProcedure();
3145  const char *GetSecurityHandleDatabaseName();
3146  #ifndef SWIG
3147  Btrieve::StatusCode GetSecurityHandleDatabaseName(char *name, int nameSize);
3155  #endif
3156  const char *GetSecurityHandleTableName();
3163  #ifndef SWIG
3164  Btrieve::StatusCode GetSecurityHandleTableName(char *name, int nameSize);
3172  #endif
3173  const char *GetSecurityHandleUserName();
3180  #ifndef SWIG
3181  Btrieve::StatusCode GetSecurityHandleUserName(char *name, int nameSize);
3189  #endif
3190  const char *GetSecurityCurrentDatabaseName();
3197  #ifndef SWIG
3198  Btrieve::StatusCode GetSecurityCurrentDatabaseName(char *name, int nameSize);
3206  #endif
3207  const char *GetSecurityCurrentUserName();
3214  #ifndef SWIG
3215  Btrieve::StatusCode GetSecurityCurrentUserName(char *name, int nameSize);
3223  #endif
3224 
3225 private:
3226  btrieve_file_information_t btrieveFileInformation;
3227 };
3228 
3231 {
3233 
3234 protected:
3235  btrieve_filter_t GetBtrieveFilter();
3236 
3237 public:
3240  BtrieveFilter();
3241  ~BtrieveFilter();
3242 
3252  Btrieve::StatusCode SetComparison(Btrieve::Comparison comparison);
3263  Btrieve::StatusCode SetComparisonConstant(const char *constant, int constantLength);
3273  Btrieve::StatusCode SetComparisonField(int offset);
3286  Btrieve::StatusCode SetField(int offset, int length, Btrieve::DataType dataType);
3294  Btrieve::StatusCode SetLikeCodePageName(const char *name);
3302  Btrieve::StatusCode SetConnector(Btrieve::Connector connector);
3313  Btrieve::StatusCode SetACSMode(Btrieve::ACSMode ACSMode);
3321  Btrieve::StatusCode SetACSUserDefined(const char *name);
3331  Btrieve::StatusCode SetACSName(const char *name);
3332 
3333 private:
3334  btrieve_filter_t btrieveFilter;
3335 };
3336 
3339 {
3340  friend class BtrieveFile;
3341 
3342 protected:
3343  btrieve_bulk_retrieve_attributes_t GetBtrieveBulkRetrieveAttributes();
3344 
3345 public:
3350 
3362  Btrieve::StatusCode AddField(int offset, int length);
3372  Btrieve::StatusCode AddFilter(BtrieveFilter *btrieveFilter);
3382  Btrieve::StatusCode SetMaximumRecordCount(int maximumRecordCount);
3392  Btrieve::StatusCode SetMaximumRejectCount(int maximumRejectCount);
3402  Btrieve::StatusCode SetSkipCurrentRecord(bool skipCurrentRecord);
3403 
3404 private:
3405  btrieve_bulk_retrieve_attributes_t bulkRetrieveAttributes;
3406 };
3407 
3410 {
3411  friend class BtrieveFile;
3412 
3413 protected:
3414  btrieve_bulk_retrieve_result_t GetBtrieveBulkRetrieveResult();
3415 
3416 public:
3421 
3438  int GetRecord(int recordNumber, char *record, int recordSize);
3445  int GetRecordCount();
3453  int GetRecordLength(int recordNumber);
3462  long long GetRecordCursorPosition(int recordNumber);
3463 
3464 private:
3465  btrieve_bulk_retrieve_result_t bulkRetrieveResult;
3466 };
3467 
3470 {
3471  friend class BtrieveClient;
3472  friend class BtrieveFile;
3473 
3474 protected:
3475  btrieve_index_attributes_t GetBtrieveIndexAttributes();
3476 
3477 public:
3482 
3492  Btrieve::StatusCode AddKeySegment(BtrieveKeySegment *btrieveKeySegment);
3502  Btrieve::StatusCode SetIndex(Btrieve::Index index);
3512  Btrieve::StatusCode SetDuplicateMode(Btrieve::DuplicateMode duplicateMode);
3522  Btrieve::StatusCode SetModifiable(bool enableModifiable);
3530  Btrieve::StatusCode SetACSMode(Btrieve::ACSMode ACSMode);
3541  Btrieve::StatusCode SetACSName(const char *ACSName);
3549  Btrieve::StatusCode SetACSNumber(int ACSNumber);
3559  Btrieve::StatusCode SetACSUserDefined(const char *ACSName, const char *ACSMap, int ACSMapLength);
3560 
3561 private:
3562  btrieve_index_attributes_t btrieveIndexAttributes;
3563 };
3564 
3567 {
3568  friend class BtrieveFile;
3569 
3570 protected:
3571  btrieve_bulk_create_payload_t GetBtrieveBulkCreatePayload();
3572 
3573 public:
3578 
3589  Btrieve::StatusCode AddRecord(const char *record, int recordLength);
3590 
3591 private:
3592  btrieve_bulk_create_payload_t btrieveBulkCreatePayload;
3593 };
3594 
3597 {
3598  friend class BtrieveFile;
3599 
3600 protected:
3601  btrieve_bulk_create_result_t GetBtrieveBulkCreateResult();
3602 
3603 public:
3608 
3622  int GetRecordCount();
3631  long long GetRecordCursorPosition(int recordNumber);
3632 
3633 private:
3634  btrieve_bulk_create_result_t btrieveBulkCreateResult;
3635 };
3636 
3639 {
3642 
3643 protected:
3644  btrieve_key_segment_t GetBtrieveKeySegment();
3645  BtrieveKeySegment(btrieve_key_segment_t btrieveKeySegmentIn);
3646 
3647 public:
3651  ~BtrieveKeySegment();
3652 
3667  Btrieve::ACSMode GetACSMode();
3675  int GetModifiable();
3683  int GetKeyContinues();
3691  Btrieve::DataType GetDataType();
3698  int GetACSNumber();
3706  int GetDescendingSortOrder();
3714  Btrieve::DuplicateMode GetDuplicateMode();
3722  Btrieve::Index GetIndex();
3729  int GetLength();
3737  Btrieve::NullKeyMode GetNullKeyMode();
3744  int GetNullValue();
3751  int GetOffset();
3759  long long GetUniqueValueCount();
3769  Btrieve::StatusCode SetDescendingSortOrder(bool setDescendingSortOrder);
3782  Btrieve::StatusCode SetField(int offset, int length, Btrieve::DataType dataType);
3792  Btrieve::StatusCode SetNullKeyMode(Btrieve::NullKeyMode nullKeyMode);
3802  Btrieve::StatusCode SetNullValue(int nullValue);
3803 
3804 private:
3805  btrieve_key_segment_t btrieveKeySegment;
3806 };
3807 
3810 {
3811  friend class BtrieveClient;
3812 
3813 protected:
3814  btrieve_version_t GetBtrieveVersion();
3815 
3816 public:
3820  BtrieveVersion();
3821  ~BtrieveVersion();
3822 
3839  Btrieve::VersionType GetClientVersionType();
3849  Btrieve::VersionType GetRemoteVersionType();
3859  Btrieve::VersionType GetLocalVersionType();
3868  int GetClientRevisionNumber();
3877  int GetClientVersionNumber();
3886  int GetRemoteRevisionNumber();
3895  int GetRemoteVersionNumber();
3904  int GetLocalRevisionNumber();
3913  int GetLocalVersionNumber();
3914 
3915 private:
3916  btrieve_version_t btrieveVersion;
3917 };
3918 
3936 //
4165 
4168 class LINKAGE BtrieveCollection
4169 {
4170  friend class BtrieveClient;
4171 
4172 protected:
4173  void SetBtrieveClient(BtrieveClient *btrieveClient);
4174  BtrieveFile *GetBtrieveFile();
4175 
4176 public:
4178  BtrieveCollection();
4180  ~BtrieveCollection();
4181 
4189  long long DocumentCreate(const char *json, const char *blob, int blobLength);
4196  const char *DocumentRetrieve(long long id, char *blob, int blobSize);
4201  const char *DocumentRetrieve(long long id);
4210  Btrieve::StatusCode DocumentUpdate(long long id, const char *json, const char *blob, int blobLength);
4216  Btrieve::StatusCode DocumentDelete(long long id);
4217  // TODO: Support case insensitive names in query.
4248  Btrieve::StatusCode Query(BtrieveDocumentSet *btrieveDocumentSet, const char *query);
4254 
4255 private:
4256  BtrieveClient *btrieveClient;
4257  BtrieveFile *btrieveFile;
4258  Btrieve::StatusCode lastStatusCode;
4259 };
4260 
4262 class LINKAGE BtrieveDocumentSet
4263 {
4264  friend class BtrieveCollection;
4265 
4266 protected:
4267  std::set<long long> *GetStdSet();
4268 
4269 public:
4271  BtrieveDocumentSet();
4272  ~BtrieveDocumentSet();
4273 
4278  long long Size();
4283  long long Pop();
4288  Btrieve::StatusCode GetLastStatusCode();
4289 
4290 private:
4291  // TODO: Use unordered sets?
4292  std::set<long long> *stdSet;
4293  Btrieve::StatusCode lastStatusCode;
4294 };
4296 
4297 #endif
Definition: btrieveC.h:97
Definition: btrieveC.h:407
Definition: btrieveC.h:421
Definition: btrieveC.h:247
Definition: btrieveC.h:175
Definition: btrieveC.h:363
Definition: btrieveC.h:357
Definition: btrieveC.h:373
Definition: btrieveC.h:307
Definition: btrieveC.h:383
Definition: btrieveC.h:145
Definition: btrieveC.h:393
Definition: btrieveC.h:400
Definition: btrieveC.h:306
FileVersion
The Btrieve file versions.
Definition: btrieveCpp.h:248
Definition: btrieveC.h:397
Definition: btrieveC.h:126
Definition: btrieveC.h:448
Definition: btrieveC.h:278
Definition: btrieveC.h:450
Definition: btrieveC.h:319
The Btrieve bulk retrieve result class.
Definition: btrieveCpp.h:3409
Definition: btrieveC.h:456
Definition: btrieveC.h:152
Definition: btrieveC.h:277
The Btrieve file attributes class.
Definition: btrieveCpp.h:2192
Definition: btrieveC.h:292
Definition: btrieveC.h:318
Definition: btrieveC.h:118
Definition: btrieveC.h:311
Definition: btrieveC.h:207
Definition: btrieveC.h:159
Definition: btrieveC.h:44
struct btrieve_client * btrieve_client_t
Definition: btrieveC.h:468
Definition: btrieveC.h:414
Definition: btrieveC.h:372
Definition: btrieveC.h:371
VariableLengthRecordsMode
The Btrieve variable length records modes.
Definition: btrieveCpp.h:1203
Definition: btrieveC.h:63
Definition: btrieveC.h:396
Definition: btrieveC.h:367
Definition: btrieveC.h:364
Definition: btrieveC.h:135
Definition: btrieveC.h:313
struct btrieve_file_attributes * btrieve_file_attributes_t
Definition: btrieveC.h:470
Definition: btrieveC.h:399
Definition: btrieveC.h:295
Definition: btrieveC.h:246
Definition: btrieveC.h:376
Definition: btrieveC.h:125
Definition: btrieveC.h:405
Definition: btrieveC.h:367
Definition: btrieveC.h:234
Definition: btrieveC.h:213
Definition: btrieveC.h:103
Definition: btrieveC.h:292
Btrieve::StatusCode GetLastStatusCode()
Get the last status code.
Definition: btrieveC.h:422
Definition: btrieveC.h:364
Definition: btrieveC.h:169
Connector
The Btrieve connectors.
Definition: btrieveCpp.h:100
Definition: btrieveC.h:187
Definition: btrieveC.h:153
The Btrieve file information class.
Definition: btrieveCpp.h:2332
Definition: btrieveC.h:409
Definition: btrieveC.h:365
VersionType
The Btrieve version types.
Definition: btrieveCpp.h:1216
Definition: btrieveC.h:309
Definition: btrieveC.h:416
NullKeyMode
The Btrieve null key modes.
Definition: btrieveCpp.h:570
Definition: btrieveC.h:209
Definition: btrieveC.h:310
Definition: btrieveC.h:222
Definition: btrieveC.h:293
Definition: btrieveC.h:306
Definition: btrieveC.h:238
Definition: btrieveC.h:215
#define BTRIEVE_MAXIMUM_RECORD_LENGTH
Definition: btrieveC.h:22
Definition: btrieveC.h:450
Definition: btrieveC.h:311
Definition: btrieveC.h:335
Definition: btrieveC.h:361
Definition: btrieveC.h:365
Definition: btrieveC.h:214
Definition: btrieveC.h:447
Definition: btrieveC.h:249
Definition: btrieveC.h:51
Definition: btrieveC.h:310
Definition: btrieveC.h:84
Btrieve::StatusCode GetLastStatusCode()
Get the last status code.
Definition: btrieveC.h:385
Definition: btrieveC.h:391
struct btrieve_bulk_create_result * btrieve_bulk_create_result_t
Definition: btrieveC.h:461
Definition: btrieveC.h:143
Definition: btrieveC.h:331
Definition: btrieveC.h:39
Definition: btrieveC.h:391
Definition: btrieveC.h:326
Definition: btrieveC.h:244
Definition: btrieveC.h:321
The Btrieve bulk create result class.
Definition: btrieveCpp.h:3596
ACSMode
The Btrieve alternate collation sequence modes.
Definition: btrieveCpp.h:45
Definition: btrieveC.h:372
Definition: btrieveC.h:366
Definition: btrieveC.h:395
Definition: btrieveC.h:399
Definition: btrieveC.h:330
Definition: btrieveC.h:313
Definition: btrieveC.h:441
Definition: btrieveC.h:193
Definition: btrieveC.h:282
Definition: btrieveC.h:368
Definition: btrieveC.h:251
Definition: btrieveC.h:335
Definition: btrieveC.h:387
Definition: btrieveC.h:437
#define BTRIEVE_MAXIMUM_KEY_LENGTH
Definition: btrieveC.h:24
Definition: btrieveC.h:366
Definition: btrieveC.h:196
Definition: btrieveC.h:411
Definition: btrieveC.h:223
Definition: btrieveC.h:336
Index
The Btrieve indexes.
Definition: btrieveCpp.h:290
Definition: btrieveC.h:388
Definition: btrieveC.h:308
PageLockType
The Btrieve page lock type.
Definition: btrieveCpp.h:616
Definition: btrieveC.h:313
Definition: btrieveC.h:401
Definition: btrieveC.h:369
Definition: btrieveC.h:331
Definition: btrieveC.h:254
Definition: btrieveC.h:394
Definition: btrieveC.h:362
Definition: btrieveC.h:449
Definition: btrieveC.h:413
Definition: btrieveC.h:377
Definition: btrieveC.h:62
Definition: btrieveC.h:283
Definition: btrieveC.h:300
Definition: btrieveC.h:398
Definition: btrieveC.h:380
Definition: btrieveC.h:392
Definition: btrieveC.h:426
Definition: btrieveC.h:417
Definition: btrieveC.h:411
Definition: btrieveC.h:374
Definition: btrieveC.h:265
Definition: btrieveC.h:277
RecordCompressionMode
The Btrieve record compression modes.
Definition: btrieveCpp.h:662
Definition: btrieveC.h:49
StatusCode
The Btrieve status codes.
Definition: btrieveCpp.h:677
Definition: btrieveC.h:379
Definition: btrieveC.h:368
Definition: btrieveC.h:400
Definition: btrieveC.h:240
Definition: btrieveC.h:452
Definition: btrieveC.h:107
Definition: btrieveC.h:146
Definition: btrieveC.h:305
The Btrieve class.
Definition: btrieveCpp.h:34
Definition: btrieveC.h:318
Definition: btrieveC.h:30
Definition: btrieveC.h:378
Definition: btrieveC.h:390
Definition: btrieveC.h:357
Definition: btrieveC.h:381
#define LINKAGE
Definition: btrieveC.h:18
Definition: btrieveC.h:395
Definition: btrieveC.h:308
Comparison
The Btrieve comparisons.
Definition: btrieveCpp.h:74
Definition: btrieveC.h:422
Definition: btrieveC.h:29
Definition: btrieveC.h:451
Definition: btrieveC.h:182
Definition: btrieveC.h:200
Definition: btrieveC.h:314
struct btrieve_key_segment * btrieve_key_segment_t
Definition: btrieveC.h:474
Definition: btrieveC.h:300
Definition: btrieveC.h:312
Definition: btrieveC.h:111
Definition: btrieveC.h:278
Definition: btrieveC.h:423
Definition: btrieveC.h:340
Definition: btrieveC.h:206
Definition: btrieveC.h:425
Definition: btrieveC.h:92
Definition: btrieveC.h:421
Definition: btrieveC.h:409
Definition: btrieveC.h:326
OpenMode
The Btrieve open modes.
Definition: btrieveCpp.h:584
struct btrieve_bulk_create_payload * btrieve_bulk_create_payload_t
Definition: btrieveC.h:460
Definition: btrieveC.h:391
Definition: btrieveC.h:376
PageSize
The Btrieve page sizes.
Definition: btrieveCpp.h:633
Definition: btrieveC.h:430
Definition: btrieveC.h:128
Definition: btrieveC.h:406
Definition: btrieveC.h:424
Definition: btrieveC.h:389
Definition: btrieveC.h:287
Definition: btrieveC.h:352
Definition: btrieveC.h:385
Definition: btrieveC.h:211
Definition: btrieveC.h:43
Definition: btrieveC.h:59
Definition: btrieveC.h:216
None.
Definition: btrieveCpp.h:555
Definition: btrieveC.h:410
Definition: btrieveC.h:387
OwnerMode
The Btrieve file owner modes.
Definition: btrieveCpp.h:599
Definition: btrieveC.h:457
Definition: btrieveC.h:410
Definition: btrieveC.h:370
Definition: btrieveC.h:189
Definition: btrieveC.h:105
Definition: btrieveC.h:185
Definition: btrieveC.h:405
Definition: btrieveC.h:322
Definition: btrieveC.h:288
Definition: btrieveC.h:412
Definition: btrieveC.h:106
The Btrieve bulk retrieve attributes class.
Definition: btrieveCpp.h:3338
Definition: btrieveC.h:301
Definition: btrieveC.h:336
Definition: btrieveC.h:386
Definition: btrieveC.h:377
Definition: btrieveC.h:396
Definition: btrieveC.h:431
Definition: btrieveC.h:195
Definition: btrieveC.h:330
Definition: btrieveC.h:198
Definition: btrieveC.h:230
Definition: btrieveC.h:374
Definition: btrieveC.h:353
Definition: btrieveC.h:336
Definition: btrieveC.h:406
Definition: btrieveC.h:109
UnlockMode
The Btrieve unlock modes.
Definition: btrieveCpp.h:1190
Definition: btrieveC.h:321
Definition: btrieveC.h:264
Definition: btrieveC.h:163
Definition: btrieveC.h:393
DuplicateMode
The Btrieve duplicate modes.
Definition: btrieveCpp.h:176
Definition: btrieveC.h:308
Definition: btrieveC.h:416
No preference.
Definition: btrieveCpp.h:540
Definition: btrieveC.h:278
Definition: btrieveC.h:309
struct btrieve_filter * btrieve_filter_t
Definition: btrieveC.h:472
Definition: btrieveC.h:229
Definition: btrieveC.h:204
The Btrieve file class.
Definition: btrieveCpp.h:1670
Definition: btrieveC.h:389
Definition: btrieveC.h:115
Definition: btrieveC.h:415
Definition: btrieveC.h:366
The Btrieve version class.
Definition: btrieveCpp.h:3809
Definition: btrieveC.h:387
Definition: btrieveC.h:372
Definition: btrieveC.h:83
Definition: btrieveC.h:374
The Btrieve bulk create payload class.
Definition: btrieveCpp.h:3566
Definition: btrieveC.h:76
Btrieve::StatusCode GetLastStatusCode()
Get the last status code.
Definition: btrieveC.h:442
Definition: btrieveC.h:219
Definition: btrieveC.h:192
Definition: btrieveC.h:380
Definition: btrieveC.h:436
struct btrieve_bulk_retrieve_result * btrieve_bulk_retrieve_result_t
Definition: btrieveC.h:465
Definition: btrieveC.h:378
Definition: btrieveC.h:390
Definition: btrieveC.h:401
struct btrieve_bulk_retrieve_attributes * btrieve_bulk_retrieve_attributes_t
Definition: btrieveC.h:463
Definition: btrieveC.h:369
Definition: btrieveC.h:442
Definition: btrieveC.h:370
Definition: btrieveC.h:384
Definition: btrieveC.h:176
Definition: btrieveC.h:436
The Btrieve index attributes class.
Definition: btrieveCpp.h:3469
Definition: btrieveC.h:357
Definition: btrieveC.h:309
Definition: btrieveC.h:220
Definition: btrieveC.h:390
Definition: btrieveC.h:441
Definition: btrieveC.h:399
Definition: btrieveC.h:408
Definition: btrieveC.h:412
Definition: btrieveC.h:293
Definition: btrieveC.h:396
Definition: btrieveC.h:307
Definition: btrieveC.h:186
Definition: btrieveC.h:379
Definition: btrieveC.h:42
Definition: btrieveC.h:232
Definition: btrieveC.h:386
Definition: btrieveC.h:341
Definition: btrieveC.h:383
Definition: btrieveC.h:311
Definition: btrieveC.h:160
Definition: btrieveC.h:71
Definition: btrieveC.h:235
Definition: btrieveC.h:227
TransactionMode
The Btrieve transaction modes.
Definition: btrieveCpp.h:1176
Definition: btrieveC.h:56
Definition: btrieveC.h:77
Definition: btrieveC.h:423
Definition: btrieveC.h:456
Definition: btrieveC.h:363
FreeSpaceThreshold
The Btrieve free space thresholds.
Definition: btrieveCpp.h:273
Definition: btrieveC.h:447
Definition: btrieveC.h:375
Definition: btrieveC.h:365
Definition: btrieveC.h:380
Definition: btrieveC.h:45
Definition: btrieveC.h:114
Definition: btrieveC.h:306
Definition: btrieveC.h:157
Definition: btrieveC.h:386
Definition: btrieveC.h:437
Definition: btrieveC.h:371
Definition: btrieveC.h:228
Definition: btrieveC.h:101
Definition: btrieveC.h:60
Definition: btrieveC.h:397
Definition: btrieveC.h:224
Definition: btrieveC.h:80
Definition: btrieveC.h:363
Definition: btrieveC.h:149
Definition: btrieveC.h:382
Definition: btrieveC.h:217
Definition: btrieveC.h:319
Definition: btrieveC.h:376
Definition: btrieveC.h:361
Definition: btrieveC.h:379
Definition: btrieveC.h:369
CreateMode
The Btrieve create modes.
Definition: btrieveCpp.h:63
struct btrieve_file * btrieve_file_t
Definition: btrieveC.h:469
struct btrieve_index_attributes * btrieve_index_attributes_t
Definition: btrieveC.h:473
Definition: btrieveC.h:292
Definition: btrieveC.h:310
Definition: btrieveC.h:361
Definition: btrieveC.h:451
Definition: btrieveC.h:373
Definition: btrieveC.h:305
Definition: btrieveC.h:27
The Btrieve key segment class.
Definition: btrieveCpp.h:3638
Definition: btrieveC.h:383
Definition: btrieveC.h:397
Definition: btrieveC.h:305
Definition: btrieveC.h:102
Definition: btrieveC.h:99
Definition: btrieveC.h:96
Definition: btrieveC.h:335
Definition: btrieveC.h:367
Definition: btrieveC.h:373
LocationMode
The Btrieve location modes.
Definition: btrieveCpp.h:538
Definition: btrieveC.h:394
Definition: btrieveC.h:151
Definition: btrieveC.h:364
Definition: btrieveC.h:378
Definition: btrieveC.h:277
Definition: btrieveC.h:301
Definition: btrieveC.h:38
Definition: btrieveC.h:449
Definition: btrieveC.h:141
Definition: btrieveC.h:307
Definition: btrieveC.h:295
Definition: btrieveC.h:266
The Btrieve client class.
Definition: btrieveCpp.h:1348
Definition: btrieveC.h:341
Definition: btrieveC.h:398
Definition: btrieveC.h:203
Definition: btrieveC.h:326
Definition: btrieveC.h:368
DiskDrive
The Btrieve disk drives.
Definition: btrieveCpp.h:113
Definition: btrieveC.h:389
Definition: btrieveC.h:362
Definition: btrieveC.h:348
Definition: btrieveC.h:398
Definition: btrieveC.h:164
Definition: btrieveC.h:208
Definition: btrieveC.h:432
Definition: btrieveC.h:53
Definition: btrieveC.h:448
Definition: btrieveC.h:245
Definition: btrieveC.h:457
Definition: btrieveC.h:385
Definition: btrieveC.h:150
Definition: btrieveC.h:312
LockMode
The Btrieve lock modes.
Definition: btrieveCpp.h:553
Definition: btrieveC.h:388
Definition: btrieveC.h:294
struct btrieve_file_information * btrieve_file_information_t
Definition: btrieveC.h:471
Definition: btrieveC.h:407
Definition: btrieveC.h:312
Definition: btrieveC.h:346
Definition: btrieveC.h:362
Definition: btrieveC.h:381
Definition: btrieveC.h:94
Definition: btrieveC.h:35
Definition: btrieveC.h:36
Definition: btrieveC.h:392
Definition: btrieveC.h:104
Definition: btrieveC.h:181
Definition: btrieveC.h:110
Definition: btrieveC.h:393
Definition: btrieveC.h:370
Definition: btrieveC.h:144
Definition: btrieveC.h:248
Definition: btrieveC.h:375
Definition: btrieveC.h:384
Definition: btrieveC.h:340
Definition: btrieveC.h:414
The Btrieve filter class.
Definition: btrieveCpp.h:3230
Definition: btrieveC.h:225
Definition: btrieveC.h:430
Definition: btrieveC.h:342
SystemDataMode
The Btrieve system data modes.
Definition: btrieveCpp.h:1164
Definition: btrieveC.h:158
Definition: btrieveC.h:52
Definition: btrieveC.h:382
Definition: btrieveC.h:112
Definition: btrieveC.h:382
Definition: btrieveC.h:320
Definition: btrieveC.h:388
Definition: btrieveC.h:375
Definition: btrieveC.h:381
Definition: btrieveC.h:384
Definition: btrieveC.h:78
Definition: btrieveC.h:371
Definition: btrieveC.h:296
Definition: btrieveC.h:392
Definition: btrieveC.h:261
Definition: btrieveC.h:394
struct btrieve_version * btrieve_version_t
Definition: btrieveC.h:475
Definition: btrieveC.h:221
Definition: btrieveC.h:270
DataType
The Btrieve data types.
Definition: btrieveCpp.h:191
Definition: btrieveC.h:239
Definition: btrieveC.h:408
Definition: btrieveC.h:148
Definition: btrieveC.h:377
Definition: btrieveC.h:413
Definition: btrieveC.h:400
Definition: btrieveC.h:28
Definition: btrieveC.h:241
Definition: btrieveC.h:431
Definition: btrieveC.h:156
Definition: btrieveC.h:395
Definition: btrieveC.h:443