home *** CD-ROM | disk | FTP | other *** search
/ Datatid 1999 #6 / Datatid_1999-06.iso / internet / Tango352Promo / P.SQL / PTKPKG.1 / BTRCONST.H < prev    next >
Encoding:
C/C++ Source or Header  |  1998-10-06  |  22.3 KB  |  499 lines

  1. #ifndef _BTRCONST_H_INCLUDED
  2. /*************************************************************************
  3. **
  4. **  Copyright 1982-1997 Pervasive Software Inc. All Rights Reserved
  5. **
  6. *************************************************************************/
  7. /***************************************************************************
  8.    BTRCONST.H - Btrieve Constants
  9.       This file contains various Btrieve constants for use by
  10.       Btrieve 7.x C/C++ applications.
  11.  
  12. ***************************************************************************/
  13. /***************************************************************************
  14.                                Size Constants
  15. ***************************************************************************/
  16. #define ACS_SIZE            265      /* Alternate Collating Sequence size */
  17. #define ACS_FILLER_SIZE     260
  18. #define ACS_BYTE_MAP_SIZE   256
  19. #define ACS_NAME_SIZE       8
  20. #define ISR_TABLE_NAME_SIZE 16
  21. #define ISR_FILLER_SIZE     248
  22.  
  23. #define BLOB_HEADER_LEN   0x0014     /* record chunk offset */
  24.  
  25. #if defined (BTI_DOS) || defined (BTI_WIN) || defined (BTI_WIN_32) \
  26.   || defined (BTI_DOS_32R) || defined (BTI_DOS_32P) || defined (BTI_DOS_32B)
  27. #define MAX_DATABUF_SIZE  57000L
  28. #endif
  29.  
  30. #if defined (BTI_OS2)  || defined (BTI_OS2_32) || defined (BTI_NLM) || \
  31.     defined (BTI_SOL)  || defined (BTI_HPUX)   || defined (BTI_AIX) || \
  32.     defined (BTI_IRIX) || defined (BTI_DEC_UNIX)
  33.  
  34. #define MAX_DATABUF_SIZE  65000L
  35. #endif
  36.  
  37. #define MIN_PAGE              512
  38. #define MAX_PAGE              4096
  39. #define MAX_KEY_SIZE          255
  40. #define MAX_KEY_SEG           119
  41. #define OWNER_NAME_SIZE       8+1        /* 8 characters + binary 0 */
  42. #define POS_BLOCK_SIZE        128
  43. #define PHYSICAL_POS_BUF_LEN  4          /* data buf size for Get Position */
  44. #define MAX_FIXED_RECORD_LEN  4088       /* maximum fixed record length */
  45. #define MAX_STATBUF_SIZE      33455L     /* B_STAT maximum data buffer size */
  46.  
  47. /***************************************************************************
  48.                           'Chunk' API Constatnts
  49. ***************************************************************************/
  50. #define GET_SIGNATURE_INDEX         4L
  51. #define GET_NUM_CHUNKS_INDEX        8L
  52. #define GET_CHUNK_OFFSET_INDEX      12L
  53. #define GET_CHUNK_LEN_INDEX         16L
  54. #define GET_USER_DATA_PTR_INDEX     20L
  55.  
  56. #define UPDATE_SIGNATURE_INDEX       0L
  57. #define UPDATE_NUM_CHUNKS_INDEX      4L
  58. #define UPDATE_CHUNK_OFFSET_INDEX    8L
  59. #define UPDATE_CHUNK_LEN_INDEX       12L
  60. #define UPDATE_USER_DATA_PTR_INDEX   16L
  61.  
  62. #define RECTANGLE_DIRECT_SIGN    0x80000002L
  63. #define RECTANGLE_INDIRECT_SIGN  0x80000003L
  64. #define APPEND_TO_BLOB           0x20000000L
  65. #define GET_DRTC_XTRACTOR_KEY    0xFE
  66. #define NEXT_IN_BLOB             0x40000000L
  67. #define XTRACTR_INDIRECT_SIGN    0x80000001L
  68. #define XTRACTR_DIRECT_SIGN      0x80000000L
  69. #define TRUNC_SIGN               0x80000004L
  70. #define NEXT_IN_BLOB             0x40000000L
  71. #define PARTS_OF_KEY             0x00800000L
  72. #define TRUNC_AFTER_UPDATE       0x00400000L
  73. #define CHUNK_NOBIAS_MASK ~(NEXT_IN_BLOB     |\
  74.                             APPEND_TO_BLOB   |\
  75.                             PARTS_OF_KEY     |\
  76.                             TRUNC_AFTER_UPDATE)
  77.  
  78. #define CHUNK_NO_INTERNAL_CURRENCY 0x0001
  79. #define MUST_READ_DATA_PAGE        0x0002
  80. #define NO_INTERNAL_CURRENCY       0
  81.  
  82. /***************************************************************************
  83.                                Operation Codes
  84. ***************************************************************************/
  85. #define B_OPEN               0
  86. #define B_CLOSE              1
  87. #define B_INSERT             2
  88. #define B_UPDATE             3
  89. #define B_DELETE             4
  90. #define B_GET_EQUAL          5
  91. #define B_GET_NEXT           6
  92. #define B_GET_PREVIOUS       7
  93. #define B_GET_GT             8
  94. #define B_GET_GE             9
  95. #define B_GET_LT            10
  96. #define B_GET_LE            11
  97. #define B_GET_FIRST         12
  98. #define B_GET_LAST          13
  99. #define B_CREATE            14
  100. #define B_STAT              15
  101. #define B_EXTEND            16
  102. #define B_SET_DIR           17
  103. #define B_GET_DIR           18
  104. #define B_BEGIN_TRAN        19
  105. #define B_END_TRAN          20
  106. #define B_ABORT_TRAN        21
  107. #define B_GET_POSITION      22
  108. #define B_GET_DIRECT        23
  109. #define B_STEP_NEXT         24
  110. #define B_STOP              25
  111. #define B_VERSION           26
  112. #define B_UNLOCK            27
  113. #define B_RESET             28
  114. #define B_SET_OWNER         29
  115. #define B_CLEAR_OWNER       30
  116. #define B_BUILD_INDEX       31
  117. #define B_DROP_INDEX        32
  118. #define B_STEP_FIRST        33
  119. #define B_STEP_LAST         34
  120. #define B_STEP_PREVIOUS     35
  121. #define B_GET_NEXT_EXTENDED 36
  122. #define B_GET_PREV_EXTENDED 37
  123. #define B_STEP_NEXT_EXT     38
  124. #define B_STEP_PREVIOUS_EXT 39
  125. #define B_EXT_INSERT        40
  126. #define B_MISC_DATA         41
  127. #define B_CONTINUOUS        42
  128. #define B_SEEK_PERCENT      44
  129. #define B_GET_PERCENT       45
  130. #define B_CHUNK_UPDATE      53
  131. #define B_EXTENDED_STAT     65
  132.  
  133. /***************************************************************************
  134.                            Operation Bias Codes
  135. ***************************************************************************/
  136. #define S_WAIT_LOCK    100
  137. #define S_NOWAIT_LOCK  200    /* function code bias for lock                */
  138. #define M_WAIT_LOCK    300    /* function code bias for multiple loop lock  */
  139. #define M_NOWAIT_LOCK  400    /* function code bias for multiple lock       */
  140.  
  141. #define WAIT_T         119    /* begin transaction with wait (same as 19)   */
  142. #define NOWAIT_T       219    /* begin transaction with nowait              */
  143. #define WAIT3_T        319    /* begin transaction with wait (same as 19)   */
  144. #define NOWAIT4_T      419    /* begin transaction with nowait              */
  145. #define CCURR_T_BIAS  1000    /* function code bias for consurrent trans    */
  146. #define NOWRITE_WAIT   500    /* function code bias when ins/del/upd should */
  147.  
  148. /***************************************************************************
  149.                    Key Number Bias Codes & Special Key Codes
  150.                The hexadecimal values below are unsigned values.
  151. ***************************************************************************/
  152. #define KEY_BIAS                            50
  153. #define DROP_BUT_NO_RENUMBER                0x80  /* key num bias for Drop  */
  154.                                                   /* Preserves key #s       */
  155. #define CREATE_SUPPLEMENTAL_AS_THIS_KEY_NUM 0x80  /* key bias for Create SI */
  156. #define CREATE_NEW_FILE                     0xFF
  157. #define DONT_CREATE_WITH_TTS                0xFE
  158. #define CREATE_NEW_FILE_NO_TTS              0xFD
  159. #define IGNORE_KEY                        0xFFFF   /* ignore the key number */
  160. #define ALTERNATE_STAT_BUF                0xFFFF         /* use with B_STAT */
  161.  
  162. /***************************************************************************
  163.                            Btrieve File Open Modes
  164.              The hexadecimal values below are unsigned values.
  165. ***************************************************************************/
  166. #define B_NORMAL           0x00   /* normal mode        */
  167. #define ACCELERATED        0xFF   /* accelerated mode   */
  168. #define EXCLUSIVE          0xFC   /* exclusive mode     */
  169. #define MINUSONE           0xFF   /* byte value for -1  */
  170. #define READONLY           0xFE   /* read only mode     */
  171.  
  172.  
  173. /***************************************************************************
  174.                             Btrieve Return Codes
  175. ***************************************************************************/
  176. #define B_NO_ERROR                          0
  177. #define B_INVALID_FUNCTION                  1
  178. #define B_IO_ERROR                          2
  179. #define B_FILE_NOT_OPEN                     3
  180. #define B_KEY_VALUE_NOT_FOUND               4
  181. #define B_DUPLICATE_KEY_VALUE               5
  182. #define B_INVALID_KEYNUMBER                 6
  183. #define B_DIFFERENT_KEYNUMBER               7
  184. #define B_POSITION_NOT_SET                  8
  185. #define B_END_OF_FILE                       9
  186. #define B_MODIFIABLE_KEYVALUE_ERROR         10
  187. #define B_FILENAME_BAD                      11
  188. #define B_FILE_NOT_FOUND                    12
  189. #define B_EXTENDED_FILE_ERROR               13
  190. #define B_PREIMAGE_OPEN_ERROR               14
  191. #define B_PREIMAGE_IO_ERROR                 15
  192. #define B_EXPANSION_ERROR                   16
  193. #define B_CLOSE_ERROR                       17
  194. #define B_DISKFULL                          18
  195. #define B_UNRECOVERABLE_ERROR               19
  196. #define B_RECORD_MANAGER_INACTIVE           20
  197. #define B_KEYBUFFER_TOO_SHORT               21
  198. #define B_DATALENGTH_ERROR                  22
  199. #define B_POSITIONBLOCK_LENGTH              23
  200. #define B_PAGE_SIZE_ERROR                   24
  201. #define B_CREATE_IO_ERROR                   25
  202. #define B_NUMBER_OF_KEYS                    26
  203. #define B_INVALID_KEY_POSITION              27
  204. #define B_INVALID_RECORD_LENGTH             28
  205. #define B_INVALID_KEYLENGTH                 29
  206. #define B_NOT_A_BTRIEVE_FILE                30
  207. #define B_FILE_ALREADY_EXTENDED             31
  208. #define B_EXTEND_IO_ERROR                   32
  209. #define B_BTR_CANNOT_UNLOAD                 33
  210. #define B_INVALID_EXTENSION_NAME            34
  211. #define B_DIRECTORY_ERROR                   35
  212. #define B_TRANSACTION_ERROR                 36
  213. #define B_TRANSACTION_IS_ACTIVE             37
  214. #define B_TRANSACTION_FILE_IO_ERROR         38
  215. #define B_END_TRANSACTION_ERROR             39
  216. #define B_TRANSACTION_MAX_FILES             40
  217. #define B_OPERATION_NOT_ALLOWED             41
  218. #define B_INCOMPLETE_ACCEL_ACCESS           42
  219. #define B_INVALID_RECORD_ADDRESS            43
  220. #define B_NULL_KEYPATH                      44
  221. #define B_INCONSISTENT_KEY_FLAGS            45
  222. #define B_ACCESS_TO_FILE_DENIED             46
  223. #define B_MAXIMUM_OPEN_FILES                47
  224. #define B_INVALID_ALT_SEQUENCE_DEF          48
  225. #define B_KEY_TYPE_ERROR                    49
  226. #define B_OWNER_ALREADY_SET                 50
  227. #define B_INVALID_OWNER                     51
  228. #define B_ERROR_WRITING_CACHE               52
  229. #define B_INVALID_INTERFACE                 53
  230. #define B_VARIABLE_PAGE_ERROR               54
  231. #define B_AUTOINCREMENT_ERROR               55
  232. #define B_INCOMPLETE_INDEX                  56
  233. #define B_EXPANED_MEM_ERROR                 57
  234. #define B_COMPRESS_BUFFER_TOO_SHORT         58
  235. #define B_FILE_ALREADY_EXISTS               59
  236. #define B_REJECT_COUNT_REACHED              60
  237. #define B_SMALL_EX_GET_BUFFER_ERROR         61
  238. #define B_INVALID_GET_EXPRESSION            62
  239. #define B_INVALID_EXT_INSERT_BUFF           63
  240. #define B_OPTIMIZE_LIMIT_REACHED            64
  241. #define B_INVALID_EXTRACTOR                 65
  242. #define B_RI_TOO_MANY_DATABASES             66
  243. #define B_RIDDF_CANNOT_OPEN                 67
  244. #define B_RI_CASCADE_TOO_DEEP               68
  245. #define B_RI_CASCADE_ERROR                  69
  246. #define B_RI_VIOLATION                      71
  247. #define B_RI_REFERENCED_FILE_CANNOT_OPEN    72
  248. #define B_RI_OUT_OF_SYNC                    73
  249. #define B_END_CHANGED_TO_ABORT              74
  250. #define B_RI_CONFLICT                       76
  251. #define B_CANT_LOOP_IN_SERVER               77
  252. #define B_DEAD_LOCK                         78
  253. #define B_PROGRAMMING_ERROR                 79
  254. #define B_CONFLICT                          80
  255. #define B_LOCKERROR                         81
  256. #define B_LOST_POSITION                     82
  257. #define B_READ_OUTSIDE_TRANSACTION          83
  258. #define B_RECORD_INUSE                      84
  259. #define B_FILE_INUSE                        85
  260. #define B_FILE_TABLE_FULL                   86
  261. #define B_NOHANDLES_AVAILABLE               87
  262. #define B_INCOMPATIBLE_MODE_ERROR           88
  263.  
  264. #define B_DEVICE_TABLE_FULL                 90
  265. #define B_SERVER_ERROR                      91
  266. #define B_TRANSACTION_TABLE_FULL            92
  267. #define B_INCOMPATIBLE_LOCK_TYPE            93
  268. #define B_PERMISSION_ERROR                  94
  269. #define B_SESSION_NO_LONGER_VALID           95
  270. #define B_COMMUNICATIONS_ERROR              96
  271. #define B_DATA_MESSAGE_TOO_SMALL            97
  272. #define B_INTERNAL_TRANSACTION_ERROR        98
  273. #define B_REQUESTER_CANT_ACCESS_RUNTIME     99
  274. #define B_NO_CACHE_BUFFERS_AVAIL            100
  275. #define B_NO_OS_MEMORY_AVAIL                101
  276. #define B_NO_STACK_AVAIL                    102
  277. #define B_CHUNK_OFFSET_TOO_LONG             103
  278. #define B_LOCALE_ERROR                      104
  279. #define B_CANNOT_CREATE_WITH_BAT            105
  280. #define B_CHUNK_CANNOT_GET_NEXT             106
  281. #define B_CHUNK_INCOMPATIBLE_FILE           107
  282.  
  283. #define B_TRANSACTION_TOO_COMPLEX           109
  284.  
  285. #define B_ARCH_BLOG_OPEN_ERROR              110
  286. #define B_ARCH_FILE_NOT_LOGGED              111
  287. #define B_ARCH_FILE_IN_USE                  112
  288. #define B_ARCH_LOGFILE_NOT_FOUND            113
  289. #define B_ARCH_LOGFILE_INVALID              114
  290. #define B_ARCH_DUMPFILE_ACCESS_ERROR        115
  291.  
  292. #define B_NO_SYSTEM_LOCKS_AVAILABLE         130
  293. #define B_FILE_FULL                         132
  294. #define B_MORE_THAN_5_CONCURRENT_USERS      133
  295.  
  296. #define B_ISR_READ_ERROR                    134  /* Old definition     */
  297. #define B_ISR_NOT_FOUND                     134  /* New definition     */
  298.  
  299. #define B_ISR_FORMAT_INVALID                135  /* Old definition     */
  300. #define B_ISR_INVALID                       135  /* New definition     */
  301. #define B_ACS_NOT_FOUND                     136
  302. #define B_CANNOT_CONVERT_RP                 137
  303. #define B_INVALID_NULL_INDICATOR            138
  304. #define B_INVALID_KEY_OPTION                139
  305. #define B_INCOMPATIBLE_CLOSE                140
  306. #define B_INVALID_USERNAME                  141
  307. #define B_INVALID_DATABASE                  142
  308. #define B_NO_SSQL_RIGHTS                    143
  309. #define B_ALREADY_LOGGED_IN                 144
  310. #define B_NO_DATABASE_SERVICES              145
  311. #define B_DUPLICATE_SYSTEM_KEY              146
  312. #define B_LOG_SEGMENT_MISSING               147
  313. #define B_ROLL_FORWARD_ERROR                148
  314. #define B_SYSTEM_KEY_INTERNAL               149
  315. #define B_DBS_INTERNAL_ERROR                150
  316. #define B_NESTING_DEPTH_ERROR               151
  317.  
  318. #define B_INVALID_PARAMETER_TO_MKDE         160
  319.  
  320. /* User Count Manager Return code */
  321. #define B_USER_COUNT_LIMIT_EXCEEDED         161
  322.  
  323. #define B_CLIENT_TABLE_FULL                 162
  324.  
  325. /* Windows/OS2 Client Return codes */
  326. #define B_LOCK_PARM_OUTOFRANGE             1001
  327. #define B_MEM_ALLOCATION_ERR               1002
  328. #define B_MEM_PARM_TOO_SMALL               1003
  329. #define B_PAGE_SIZE_PARM_OUTOFRANGE        1004
  330. #define B_INVALID_PREIMAGE_PARM            1005
  331. #define B_PREIMAGE_BUF_PARM_OUTOFRANGE     1006
  332. #define B_FILES_PARM_OUTOFRANGE            1007
  333. #define B_INVALID_INIT_PARM                1008
  334. #define B_INVALID_TRANS_PARM               1009
  335. #define B_ERROR_ACC_TRANS_CONTROL_FILE     1010
  336. #define B_COMPRESSION_BUF_PARM_OUTOFRANGE  1011
  337. #define B_INV_N_OPTION                     1012
  338. #define B_TASK_LIST_FULL                   1013
  339. #define B_STOP_WARNING                     1014
  340. #define B_POINTER_PARM_INVALID             1015
  341. #define B_ALREADY_INITIALIZED              1016
  342. #define B_REQ_CANT_FIND_RES_DLL            1017
  343. #define B_ALREADY_INSIDE_BTR_FUNCTION      1018
  344. #define B_CALLBACK_ABORT                   1019
  345. #define B_INTF_COMM_ERROR                  1020
  346. #define B_FAILED_TO_INITIALIZE             1021
  347. #define B_MKDE_SHUTTING_DOWN               1022
  348.  
  349. /* Btrieve requestor status codes */
  350. #define B_INTERNAL_ERROR                   2000
  351. #define B_INSUFFICIENT_MEM_ALLOC           2001
  352. #define B_INVALID_OPTION                   2002
  353. #define B_NO_LOCAL_ACCESS_ALLOWED          2003
  354. #define B_SPX_NOT_INSTALLED                2004
  355. #define B_INCORRECT_SPX_VERSION            2005
  356. #define B_NO_AVAIL_SPX_CONNECTION          2006
  357. #define B_INVALID_PTR_PARM                 2007
  358. #define B_CANT_CONNECT_TO_615              2008
  359. #define B_CANT_LOAD_MKDE_ROUTER            2009
  360. #define B_UT_THUNK_NOT_LOADED              2010
  361. #define B_NO_RESOURCE_DLL                  2011
  362. #define B_OS_ERROR                         2012
  363.  
  364. /*  MKDE Router status codes */
  365. #define B_MK_ROUTER_MEM_ERROR              3000
  366. #define B_MK_NO_LOCAL_ACCESS_ALLOWED       3001
  367. #define B_MK_NO_RESOURCE_DLL               3002
  368. #define B_MK_INCOMPAT_COMPONENT            3003
  369. #define B_MK_TIMEOUT_ERROR                 3004
  370. #define B_MK_OS_ERROR                      3005
  371. #define B_MK_INVALID_SESSION               3006
  372. #define B_MK_SERVER_NOT_FOUND              3007
  373. #define B_MK_INVALID_CONFIG                3008
  374. #define B_MK_NETAPI_NOT_LOADED             3009
  375. #define B_MK_NWAPI_NOT_LOADED              3010
  376. #define B_MK_THUNK_NOT_LOADED              3011
  377. #define B_MK_LOCAL_NOT_LOADED              3012
  378. #define B_MK_PNSL_NOT_LOADED               3013
  379. #define B_MK_CANT_FIND_ENGINE              3014
  380. #define B_MK_INIT_ERROR                    3015
  381. #define B_MK_INTERNAL_ERROR                3016
  382. #define B_MK_LOCAL_MKDE_DATABUF_TOO_SMALL  3017
  383. #define B_MK_CLOSED_ERROR                  3018
  384. #define B_MK_SEMAPHORE_ERROR               3019
  385. #define B_MK_LOADING_ERROR                 3020
  386. #define B_MK_BAD_SRB_FORMAT                3021
  387. #define B_MK_DATABUF_LEN_TOO_LARGE         3022
  388. #define B_MK_TASK_TABLE_FULL               3023
  389. #define B_MK_INVALID_OP_ON_REMOTE          3024
  390. #define B_MK_PIDS_NOT_LOADED               3025
  391. #define B_MK_BAD_PIDS                      3026
  392. #define B_MK_IDS_CONNECT_FAILURE           3027
  393. #define B_MK_IDS_LOGIN_FAILURE             3028
  394.  
  395. /* PNSL status codes */
  396. #define  B_NL_FAILURE                      3101
  397. #define  B_NL_NOT_INITIALIZED              3102
  398. #define  B_NL_NAME_NOT_FOUND               3103
  399. #define  B_NL_PERMISSION_ERROR             3104
  400. #define  B_NL_NO_AVAILABLE_TRANSPORT       3105
  401. #define  B_NL_CONNECTION_FAILURE           3106
  402. #define  B_NL_OUT_OF_MEMORY                3107
  403. #define  B_NL_INVALID_SESSION              3108
  404. #define  B_NL_MORE_DATA                    3109
  405. #define  B_NL_NOT_CONNECTED                3110
  406. #define  B_NL_SEND_FAILURE                 3111
  407. #define  B_NL_RECEIVE_FAILURE              3112
  408. #define  B_NL_INVALID_SERVER_TYPE          3113
  409. #define  B_NL_SRT_FULL                     3114
  410. #define  B_NL_TRANSPORT_FAILURE            3115
  411. #define  B_NL_RCV_DATA_OVERFLOW            3116
  412. #define  B_NL_CST_FULL                     3117
  413. #define  B_NL_INVALID_ADDRESS_FAMILY       3118
  414. #define  B_NL_NO_AUTH_CONTEXT_AVAILABLE    3119
  415. #define  B_NL_INVALID_AUTH_TYPE            3120
  416. #define  B_NL_INVALID_AUTH_OBJECT          3121
  417. #define  B_NL_AUTH_LEN_TOO_SMALL           3122
  418. #define  B_NL_INVALID_SESSION_LEVEL_PARM   3123
  419. #define  B_NL_TASK_TABLE_FULL              3124
  420. #define  B_NL_NDS_NAME_RESOLUTION_ERROR    3125
  421. #define  B_NL_FILE_NAME_RESOLUTION_ERROR   3126
  422. #define  B_NL_IDS_SEND_FAILURE             3127
  423. #define  B_NL_IDS_RCV_FAILURE              3128
  424.  
  425. /***************************************************************************
  426.                       File flag definitions
  427.       The hexadecimal values below are unsigned values.
  428. ***************************************************************************/
  429. #define VAR_RECS                0x0001
  430. #define BLANK_TRUNC             0x0002
  431. #define PRE_ALLOC               0x0004
  432. #define DATA_COMP               0x0008
  433. #define KEY_ONLY                0x0010
  434. #define BALANCED_KEYS           0x0020
  435. #define FREE_10                 0x0040
  436. #define FREE_20                 0x0080
  437. #define FREE_30                 ( FREE_10 | FREE_20 )
  438. #define DUP_PTRS                0x0100
  439. #define INCLUDE_SYSTEM_DATA     0x0200
  440. #define SPECIFY_KEY_NUMS        0x0400
  441. #define VATS_SUPPORT            0x0800
  442. #define NO_INCLUDE_SYSTEM_DATA  0x1200
  443.  
  444. /***************************************************************************
  445.                       Key Flag Definitions
  446.      The hexadecimal values below are unsigned values.
  447. ***************************************************************************/
  448. #define DUP             0x0001                   /* Duplicates allowed mask */
  449. #define MOD             0x0002                       /* Modifiable key mask */
  450. #define BIN             0x0004          /* Binary or extended key type mask */
  451. #define NUL             0x0008                             /* Null key mask */
  452. #define SEG             0x0010                        /* Segmented key mask */
  453. #define ALT             0x0020         /* Alternate collating sequence mask */
  454. #define NUMBERED_ACS    0x0420                  /* Use Numbered ACS in file */
  455. #define NAMED_ACS       0x0C20                     /* Use Named ACS in file */
  456.  
  457. #define DESC_KEY        0x0040                /* Key stored descending mask */
  458. #define REPEAT_DUPS_KEY 0x0080            /* Dupes handled w/ unique suffix */
  459. #define EXTTYPE_KEY     0x0100          /* Extended key types are specified */
  460. #define MANUAL_KEY      0x0200   /* Manual key which can be optionally null */
  461.                                         /* (then key is not inc. in B-tree) */
  462. #define NOCASE_KEY      0x0400                      /* Case insensitive key */
  463. #define KEYONLY_FILE    0x4000                        /* key only type file */
  464. #define PENDING_KEY     0x8000         /* Set during a create or drop index */
  465. #define ALLOWABLE_KFLAG_PRE6 0x037F          /* (before ver 6.0, no nocase. */
  466.  
  467.  
  468. /***************************************************************************
  469.                       Extended Key Types
  470. ***************************************************************************/
  471. #define STRING_TYPE           0
  472. #define INTEGER_TYPE          1
  473. #define IEEE_TYPE             2
  474. #define DATE_TYPE             3
  475. #define TIME_TYPE             4
  476. #define DECIMAL_TYPE          5
  477. #define MONEY_TYPE            6
  478. #define LOGICAL_TYPE          7
  479. #define NUMERIC_TYPE          8
  480. #define BFLOAT_TYPE           9
  481. #define LSTRING_TYPE         10
  482. #define ZSTRING_TYPE         11
  483. #define UNSIGNED_BINARY_TYPE 14
  484. #define AUTOINCREMENT_TYPE   15
  485. #define STS                  17
  486. #define NUMERIC_SA           18
  487. #define CURRENCY_TYPE        19
  488. #define TIMESTAMP_TYPE       20
  489.  
  490. /***************************************************************************
  491.                       ACS Signature Types
  492. ***************************************************************************/
  493. #define ALT_ID               0xAC
  494. #define COUNTRY_CODE_PAGE_ID 0xAD
  495. #define ISR_ID               0xAE
  496.  
  497. #define _BTRCONST_H_INCLUDED
  498. #endif
  499.