1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
|
/***********************************************************************
* Microsoft Jet
*
* Microsoft Confidential. Copyright 1991-1993 Microsoft Corporation.
*
* Component:
*
* File: jet.h
*
* File Comments:
*
* Public header file with JET API definition.
*
* Revision History:
*
* [0] 04-Jan-92 richards Added this header
*
***********************************************************************/
//
// This __JET500 essentially creates two version of this file in this
// same file. All the jet500 stuff is in __JET500 macro
//
#if __JET500
#include "jet500.h"
//
// End of 500 series jet.h
#else
//
// Original jet.h starts here. i.e jet.h of 200 series db.
//
#if !defined(_JET_INCLUDED)
#define _JET_INCLUDED
#ifdef __cplusplus
extern "C" {
#endif
#pragma pack(4)
#if defined(_M_ALPHA) /* 0:32 Flat Model (Alpha AXP) */
#define _far
#define JET_API __stdcall
#define JET_NODSAPI __stdcall
#elif defined(M_MRX000) /* 0:32 Flat Model (MIPS Rx000) */
#define _far
#define JET_API __stdcall
#define JET_NODSAPI __stdcall
#else /* 0:32 flat model (Intel 32-bit ) */
#define _far
#define JET_API __stdcall /* CONSIDER: Switch to __stdcall */
#define JET_NODSAPI __stdcall /* CONSIDER: Switch to __stdcall */
#endif
typedef long JET_ERR;
typedef unsigned long JET_INSTANCE; /* Instance Identifier */
typedef unsigned long JET_SESID; /* Session Identifier */
typedef unsigned long JET_TABLEID; /* Table Identifier */
typedef unsigned long JET_COLUMNID; /* Column Identifier */
typedef unsigned long JET_DBID; /* Database Identifier */
typedef unsigned long JET_OBJTYP; /* Object Type */
typedef unsigned long JET_COLTYP; /* Column Type */
typedef unsigned long JET_GRBIT; /* Group of Bits */
typedef unsigned long JET_ACM; /* Access Mask */
typedef unsigned long JET_RNT; /* Repair Notification Type */
typedef unsigned long JET_SNP; /* Status Notification Process */
typedef unsigned long JET_SNT; /* Status Notification Type */
typedef unsigned long JET_SNC; /* Status Notification Code */
typedef double JET_DATESERIAL; /* JET_coltypDateTime format */
#if defined(_M_ALPHA) /* 0:32 Flat Model (Intel 80x86) */
typedef JET_ERR (__stdcall *JET_PFNSTATUS)(JET_SESID sesid, JET_SNP snp, JET_SNT snt, void _far *pv);
#elif defined(M_MRX000) /* 0:32 Flat Model (MIPS Rx000) */
typedef JET_ERR (__stdcall *JET_PFNSTATUS)(JET_SESID sesid, JET_SNP snp, JET_SNT snt, void _far *pv);
#else /* 0:32 flat model (Alpha AXP ) */
typedef JET_ERR (__stdcall *JET_PFNSTATUS)(JET_SESID sesid, JET_SNP snp, JET_SNT snt, void _far *pv);
#endif
/* Session information bits */
#define JET_bitCIMCommitted 0x00000001
#define JET_bitCIMDirty 0x00000002
#define JET_bitAggregateTransaction 0x00000008
/* JetGetLastErrorInfo structure */
typedef struct
{
unsigned long cbStruct; /* Size of this structure */
JET_ERR err; /* Extended error code (if any) */
unsigned long ul1; /* First general purpose integer */
unsigned long ul2; /* Second general purpose integer */
unsigned long ul3; /* Third general purpose integer */
} JET_EXTERR;
/* Status Notification Structures */
typedef struct /* Status Notification Progress */
{
unsigned long cbStruct; /* Size of this structure */
unsigned long cunitDone; /* Number of units of work completed */
unsigned long cunitTotal; /* Total number of units of work */
} JET_SNPROG;
/* ErrCount Notification Structures */
typedef struct /* Status Notification Progress */
{
unsigned long cbStruct; /* Size of this structure */
unsigned long cRecUniqueKeyViolation;
unsigned long cRecTypeConversionFail;
unsigned long cRecRecordLocked;
unsigned long cRecTotal; /* Total number of units of work */
} JET_SNERRCNT;
typedef struct /* Status Notification Message */
{
unsigned long cbStruct; /* Size of this structure */
JET_SNC snc; /* Status Notification Code */
unsigned long ul; /* Numeric identifier */
char sz[256]; /* Identifier */
} JET_SNMSG;
typedef struct
{
unsigned long cbStruct;
JET_OBJTYP objtyp;
JET_DATESERIAL dtCreate;
JET_DATESERIAL dtUpdate;
JET_GRBIT grbit;
unsigned long flags;
unsigned long cRecord;
unsigned long cPage;
} JET_OBJECTINFO;
typedef struct
{
unsigned int dbid;
char szDatabaseName[256];
char szNewDatabaseName[256];
} JET_RSTMAP; /* restore map */
/* The following flags appear in the grbit field above */
#define JET_bitTableInfoUpdatable 0x00000001
#define JET_bitTableInfoBookmark 0x00000002
#define JET_bitTableInfoRollback 0x00000004
#define JET_bitTableInfoRestartable 0x00000008
#define JET_bitTableInfoNoInserts 0x00000010
/* The following flags occur in the flags field above */
#define JET_bitSaveUIDnPWD 0x20000000 /* this bit is only */
/* appropriate for rmt links */
#define JET_bitObjectExclusive 0x40000000 /* Open link exclusively */
#define JET_bitObjectSystem 0x80000000
typedef struct
{
unsigned long cbStruct;
JET_TABLEID tableid;
unsigned long cRecord;
JET_COLUMNID columnidcontainername;
JET_COLUMNID columnidobjectname;
JET_COLUMNID columnidobjtyp;
JET_COLUMNID columniddtCreate;
JET_COLUMNID columniddtUpdate;
JET_COLUMNID columnidgrbit;
JET_COLUMNID columnidflags;
JET_COLUMNID columnidcRecord; /* Level 2 info */
JET_COLUMNID columnidcPage; /* Level 2 info */
} JET_OBJECTLIST;
#define cObjectInfoCols 9 /* CONSIDER: Internal */
typedef struct
{
unsigned long cbStruct;
JET_TABLEID tableid;
unsigned long cRecord;
JET_COLUMNID columnidSid;
JET_COLUMNID columnidACM;
JET_COLUMNID columnidgrbit; /* grbit from JetSetAccess */
} JET_OBJECTACMLIST;
#define cObjectAcmCols 3 /* CONSIDER: Internal */
typedef struct
{
unsigned long cbStruct;
JET_TABLEID tableid;
unsigned long cRecord;
JET_COLUMNID columnidPresentationOrder;
JET_COLUMNID columnidcolumnname;
JET_COLUMNID columnidcolumnid;
JET_COLUMNID columnidcoltyp;
JET_COLUMNID columnidCountry;
JET_COLUMNID columnidLangid;
JET_COLUMNID columnidCp;
JET_COLUMNID columnidCollate;
JET_COLUMNID columnidcbMax;
JET_COLUMNID columnidgrbit;
JET_COLUMNID columnidDefault;
JET_COLUMNID columnidBaseTableName;
JET_COLUMNID columnidBaseColumnName;
JET_COLUMNID columnidDefinitionName;
} JET_COLUMNLIST;
#define cColumnInfoCols 14 /* CONSIDER: Internal */
typedef struct
{
unsigned long cbStruct;
JET_COLUMNID columnid;
JET_COLTYP coltyp;
unsigned short wCountry;
unsigned short langid;
unsigned short cp;
unsigned short wCollate; /* Must be 0 */
unsigned long cbMax;
JET_GRBIT grbit;
} JET_COLUMNDEF;
typedef struct
{
unsigned long cbStruct;
JET_COLUMNID columnid;
JET_COLTYP coltyp;
unsigned short wCountry;
unsigned short langid;
unsigned short cp;
unsigned short wFiller; /* Must be 0 */
unsigned long cbMax;
JET_GRBIT grbit;
char szBaseTableName[256]; /* CONSIDER: Too large? */
char szBaseColumnName[256]; /* CONSIDER: Too large? */
} JET_COLUMNBASE;
typedef struct
{
unsigned long cbStruct;
JET_TABLEID tableid;
unsigned long cRecord;
JET_COLUMNID columnidindexname;
JET_COLUMNID columnidgrbitIndex;
JET_COLUMNID columnidcKey;
JET_COLUMNID columnidcEntry;
JET_COLUMNID columnidcPage;
JET_COLUMNID columnidcColumn;
JET_COLUMNID columnidiColumn;
JET_COLUMNID columnidcolumnid;
JET_COLUMNID columnidcoltyp;
JET_COLUMNID columnidCountry;
JET_COLUMNID columnidLangid;
JET_COLUMNID columnidCp;
JET_COLUMNID columnidCollate;
JET_COLUMNID columnidgrbitColumn;
JET_COLUMNID columnidcolumnname;
} JET_INDEXLIST;
#define cIndexInfoCols 15 /* CONSIDER: Internal */
typedef struct
{
unsigned long cbStruct;
JET_TABLEID tableid;
unsigned long cRecord;
JET_COLUMNID columnidReferenceName;
JET_COLUMNID columnidgrbit;
JET_COLUMNID columnidcColumn;
JET_COLUMNID columnidiColumn;
JET_COLUMNID columnidReferencingTableName;
JET_COLUMNID columnidReferencingColumnName;
JET_COLUMNID columnidReferencedTableName;
JET_COLUMNID columnidReferencedColumnName;
} JET_RELATIONSHIPLIST;
/* for backward compatibility */
typedef JET_RELATIONSHIPLIST JET_REFERENCELIST;
#define cReferenceInfoCols 8 /* CONSIDER: Internal */
typedef struct
{
unsigned long cbStruct;
unsigned long ibLongValue;
unsigned long itagSequence;
JET_COLUMNID columnidNextTagged;
} JET_RETINFO;
typedef struct
{
unsigned long cbStruct;
unsigned long ibLongValue;
unsigned long itagSequence;
} JET_SETINFO;
typedef struct
{
unsigned long cbStruct;
unsigned long centriesLT;
unsigned long centriesInRange;
unsigned long centriesTotal;
} JET_RECPOS;
typedef struct
{
unsigned long cDiscont;
unsigned long cUnfixedMessyPage;
unsigned long centriesLT;
unsigned long centriesTotal;
} PERS_OLCSTAT;
typedef struct
{
unsigned long cDiscont;
unsigned long cUnfixedMessyPage;
unsigned long centriesLT;
unsigned long centriesTotal;
unsigned long cpgCompactFreed;
} JET_OLCSTAT;
typedef struct
{
unsigned long ctableid;
JET_TABLEID rgtableid[1];
} JET_MGBLIST;
/*** Property Manager Structure ***/
typedef struct
{
unsigned long cbStruct;
JET_TABLEID tableid;
JET_COLUMNID columnidColumnName;
JET_COLUMNID columnidPropertyName;
JET_COLUMNID columnidGrbit;
JET_COLUMNID columnidPropertyValue;
JET_COLUMNID columnidColtyp;
} JET_PROPERTYLIST;
/************************************************************************/
/************************* JET CONSTANTS ************************/
/************************************************************************/
#define JET_tableidNil ((JET_TABLEID) 0xFFFFFFFF)
#define JET_sesidNil ((JET_SESID) 0xFFFFFFFF)
/* Max size of a bookmark */
#define JET_cbBookmarkMost 256
/* Max length of a object/column/index/property name */
#define JET_cbNameMost 64
/* Max length of a "name.name.name..." construct */
#define JET_cbFullNameMost 255
/* Max size of non-long-value column data */
#define JET_cbColumnMost 255
/* Max size of a sort/index key */
#define JET_cbKeyMost 255
/* Max number of components in a sort/index key */
#define JET_ccolKeyMost 10
/* Max number of columns in a table/query */
#define JET_ccolTableMost 255
/* Max Length of a property in the property manager */
#define JET_cbPropertyMost 2048
/* Largest initial substring of a long value used in an expression */
#define JET_cbExprLVMost 0x8000L /*** 32 K ***/
/* Max size of returned (from SQLDriverConnect) conn string */
#define JET_cbConnectMost 255
/* Max number of levels in an MGB */
#define JET_wGroupLevelMax 12
/* Size restrictions for Pins */
#define JET_cchPINMax 20
#define JET_cchPINMin 4
/* System parameter codes for JetSetSystemParameter */
#define JET_paramSysDbPath 0 /* Path to the system database */
#define JET_paramTempPath 1 /* Path to the temporary file directory */
#define JET_paramPfnStatus 2 /* Status callback function */
#define JET_paramPfnError 3 /* Error callback function */
#define JET_paramHwndODBC 4 /* Window handle for ODBC use */
#define JET_paramIniPath 5 /* Path to the ini file */
#define JET_paramPageTimeout 6 /* Red ISAM page timeout value */
#define JET_paramODBCQueryTimeout 7 /* ODBC async query timeout value */
#define JET_paramMaxBuffers 8 /* Bytes to use for page buffers */
#define JET_paramMaxSessions 9 /* Maximum number of sessions */
#define JET_paramMaxOpenTables 10 /* Maximum number of open tables */
#define JET_paramMaxVerPages 11 /* Maximum number of modified pages */
#define JET_paramMaxCursors 12 /* Maximum number of open cursors */
#define JET_paramLogFilePath 13 /* Path to the log file directory */
#define JET_paramMaxOpenTableIndexes 14 /* Maximum open table indexes */
#define JET_paramMaxTemporaryTables 15 /* Maximum concurrent JetCreateIndex */
#define JET_paramLogBuffers 16 /* Maximum log buffers */
#define JET_paramLogFileSectors 17 /* Maximum log sectors per log file */
#define JET_paramLogFlushThreshold 18 /* Log buffer flush threshold */
#define JET_paramBfThrshldLowPrcnt 19 /* Low threshold ( % ) for buffers */
#define JET_paramBfThrshldHighPrcnt 20 /* High threshold ( % ) for buffers */
#define JET_paramWaitLogFlush 21 /* msec for waiting log flush */
#define JET_paramLogFlushPeriod 22 /* msec for waiting log flush */
#define JET_paramLogCheckpointPeriod 23 /* msec for waiting log flush */
#define JET_paramLogWaitingUserMax 24 /* Maximum # user waiting log flush */
#define JET_paramODBCLoginTimeout 25 /* ODBC connection attempt timeout value */
#define JET_paramExprObject 26 /* Expression Evaluation callback */
#define JET_paramGetTypeComp 27 /* Expression Evaluation callback */
#define JET_paramHostVersion 28 /* Host Version callback */
#define JET_paramSQLTraceMode 29 /* Enable/disable SQL tracing */
#define JET_paramRecovery 30 /* Switch for log on/off */
#define JET_paramRestorePath 31 /* Path to restoring directory */
#define JET_paramTransactionLevel 32 /* Transaction level of session */
#define JET_paramSessionInfo 33 /* Session info */
#define JET_paramPageFragment 34 /* Largest page extent considered fragment */
#define JET_paramJetInternal 35 /* Whether internal to JET; if set, allows ISAM to do things which are prevented in general */
#define JET_paramMaxOpenDatabases 36 /* Maximum number of open databases */
#define JET_paramOnLineCompact 37 /* Options for compact pages on-line */
#define JET_paramFullQJet 38 /* Allow full QJet functionality */
#define JET_paramRmtXactIsolation 39 /* Do not share connections with other sessions */
#define JET_paramBufLRUKCorrInterval 40
#define JET_paramBufBatchIOMax 41
#define JET_paramPageReadAheadMax 42
#define JET_paramAsynchIOMax 43
#define JET_paramAssertAction 44 /* debug only determines action on assert */
#define JET_paramEventSource 45 /* NT event log */
#define JET_paramEventId 46 /* NT event id */
#define JET_paramEventCategory 47 /* NT event category */
/* Flags for JetIdle */
#define JET_bitIdleRemoveReadLocks 0x00000001
#define JET_bitIdleFlushBuffers 0x00000002
#define JET_bitIdleCompact 0x00000004
/* Flags for JetEndSession */
#define JET_bitForceSessionClosed 0x00000001
/* Flags for JetOpenDatabase */
#define JET_bitDbReadOnly 0x00000001
#define JET_bitDbExclusive 0x00000002 /* multiple opens allowed */
#define JET_bitDbRemoteSilent 0x00000004
#define JET_bitDbSingleExclusive 0x00000008 /* opened exactly once */
/* Flags for JetCloseDatabase */
#define JET_bitDbForceClose 0x00000001
/* Flags for JetCreateDatabase */
#define JET_bitDbEncrypt 0x00000001
#define JET_bitDbVersion10 0x00000002
#define JET_bitDbVersion1x 0x00000004
#define JET_bitDbRecoveryOff 0x00000008 /* disable logging/recovery */
#define JET_bitDbNoLogging 0x00000010 /* no logging */
#define JET_bitDbCompleteConnstr 0x00000020
/* Flags for JetBackup */
#define JET_bitBackupIncremental 0x00000001
#define JET_bitKeepOldLogs 0x00000002
#define JET_bitOverwriteExisting 0x00000004
/* Database types */
#define JET_dbidNil ((JET_DBID) 0xFFFFFFFF)
#define JET_dbidNoValid ((JET_DBID) 0xFFFFFFFE) /* used as a flag to indicate that there is no valid dbid */
/* Flags for JetCreateLink */
/* Can use JET_bitObjectExclusive to cause linked to database to be opened */
/* exclusively. */
/* Flags for JetAddColumn, JetGetColumnInfo, JetOpenTempTable */
#define JET_bitColumnFixed 0x00000001
#define JET_bitColumnTagged 0x00000002
#define JET_bitColumnNotNULL 0x00000004
#define JET_bitColumnVersion 0x00000008
#define JET_bitColumnAutoincrement 0x00000010
#define JET_bitColumnUpdatable 0x00000020 /* JetGetColumnInfo only */
#define JET_bitColumnTTKey 0x00000040 /* JetOpenTempTable only */
#define JET_bitColumnTTDescending 0x00000080 /* JetOpenTempTable only */
#define JET_bitColumnNotLast 0x00000100 /* Installable ISAM option */
#define JET_bitColumnRmtGraphic 0x00000200 /* JetGetColumnInfo */
#define JET_bitColumnMultiValued 0x00000400
/* Flags for JetMakeKey */
#define JET_bitNewKey 0x00000001
#define JET_bitStrLimit 0x00000002
#define JET_bitSubStrLimit 0x00000004
#define JET_bitNormalizedKey 0x00000008
#define JET_bitKeyDataZeroLength 0x00000010
#ifdef DBCS /* johnta: LIKE "ABC" not converted to ="ABC" for Japanese */
#define JET_bitLikeExtra1 0x00000020
#endif /* DBCS */
/* Flags for ErrDispSetIndexRange */
#define JET_bitRangeInclusive 0x00000001 /* CONSIDER: Internal */
#define JET_bitRangeUpperLimit 0x00000002 /* CONSIDER: Internal */
/* Constants for JetMove */
#define JET_MoveFirst (0x80000000)
#define JET_MovePrevious (-1)
#define JET_MoveNext (+1)
#define JET_MoveLast (0x7fffffff)
/* Flags for JetMove */
#define JET_bitMoveKeyNE 0x00000001
#define JET_bitMoveCheckTS 0x00000002
#define JET_bitMoveInPage 0x00000004
/* Flags for JetSeek */
#define JET_bitSeekEQ 0x00000001
#define JET_bitSeekLT 0x00000002
#define JET_bitSeekLE 0x00000004
#define JET_bitSeekGE 0x00000008
#define JET_bitSeekGT 0x00000010
#define JET_bitSetIndexRange 0x00000020
/* Flags for JetFastFind */
#define JET_bitFFindBackwards 0x00000001
#define JET_bitFFindFromCursor 0x00000004
/* Flags for JetCreateIndex */
#define JET_bitIndexUnique 0x00000001
#define JET_bitIndexPrimary 0x00000002
#define JET_bitIndexDisallowNull 0x00000004
#define JET_bitIndexIgnoreNull 0x00000008
#define JET_bitIndexClustered 0x00000010
#define JET_bitIndexIgnoreAnyNull 0x00000020
#define JET_bitIndexReference 0x80000000 /* IndexInfo only */
/* Flags for index key definition */
#define JET_bitKeyAscending 0x00000000
#define JET_bitKeyDescending 0x00000001
/* Flags for JetCreateRelationship */
#define JET_bitRelationUnique 0x00000001
#define JET_bitRelationDontEnforce 0x00000002
#define JET_bitRelationInherited 0x00000004
#define JET_bitRelationTestLegal 0x00000008 /* don't create relationship */
#define JET_bitRelationshipMatchMask 0x000000F0
#define JET_bitRelationMatchDefault 0x00000000
#define JET_bitRelationMatchFull 0x00000010
#define JET_bitRelationUpdateActionMask 0x00000F00
#define JET_bitRelationUpdateDisallow 0x00000000
#define JET_bitRelationUpdateCascade 0x00000100
#define JET_bitRelationUpdateSetNull 0x00000200
#define JET_bitRelationUpdateSetDefault 0x00000300
#define JET_bitRelationDeleteActionMask 0x0000F000
#define JET_bitRelationDeleteDisallow 0x00000000
#define JET_bitRelationDeleteCascade 0x00001000
#define JET_bitRelationDeleteSetNull 0x00002000
#define JET_bitRelationDeleteSetDefault 0x00003000
#define JET_bitRelationUserMask 0xFF000000 /* non-enforced values */
#define JET_bitRelationJoinMask 0x03000000
#define JET_bitRelationInner 0x00000000
#define JET_bitRelationLeft 0x01000000
#define JET_bitRelationRight 0x02000000
/* Flags for JetCreateReference/JetCreateRelationship */
/* NOTE: use the bitRelationship flags instead! */
#define JET_ReferenceUnique JET_bitRelationUnique
#define JET_ReferenceDontEnforce JET_bitRelationDontEnforce
#define JET_ReferenceMatchTypeMask JET_bitRelationMatchMask
#define JET_ReferenceMatchDefault JET_bitRelationMatchDefault
#define JET_ReferenceMatchFull JET_bitRelationMatchFull
#define JET_ReferenceUpdateActionMask JET_bitRelationUpdateActionMask
#define JET_ReferenceUpdateDisallow JET_bitRelationUpdateDisallow
#define JET_ReferenceUpdateCascade JET_bitRelationUpdateCascade
#define JET_ReferenceUpdateSetNull JET_bitRelationUpdateSetNull
#define JET_ReferenceUpdateSetDefault JET_bitRelationUpdateSetDefault
#define JET_ReferenceDeleteActionMask JET_bitRelationDeleteActionMask
#define JET_ReferenceDeleteDisallow JET_bitRelationDeleteDisallow
#define JET_ReferenceDeleteCascade JET_bitRelationDeleteCascade
#define JET_ReferenceDeleteSetNull JET_bitRelationDeleteSetNull
#define JET_ReferenceDeleteSetDefault JET_bitRelationDeleteSetDefault
/* Flags for JetOpenTable */
#define JET_bitTableDenyWrite 0x00000001
#define JET_bitTableDenyRead 0x00000002
#define JET_bitTableReadOnly 0x00000004
#define JET_bitTableAppendOnly 0x00000008
#define JET_bitTableUpdatable 0x00000010
#define JET_bitTableScrollable 0x00000020
#define JET_bitTableFixedSet 0x00000040 /* Fixed working set */
#define JET_bitTableInconsistent 0x00000080
#define JET_bitTableBulk 0x00000100
#define JET_bitTableUsePrimaryIndex 0x00000200 /* Use with FixedSet */
#define JET_bitTableSampleData 0x00000400
#define JET_bitTableQuickBrowse 0x00000800 /* Bias optimizer toward index usage */
#define JET_bitTableDDL 0x00001000 /* similar to JET_bitTableBulk, for DDL */
#define JET_bitTablePassThrough 0x00002000 /* Remote DBs Only */
#define JET_bitTableRowReturning 0x00004000
/* Flags for JetSetQoSql/JetRetrieveQoSql */
#define JET_bitSqlPassThrough 0x00000001 /* Pass through Query returning records */
#define JET_bitSqlSPTBulkOp 0x00000002 /* SPT query returning no table */
/* Flags for JetOpenVtQbe */
#define JET_bitQBEAddBrackets 0x00000001
#define JET_bitQBERemoveEquals 0x00000002
/* Flags for JetOpenTempTable and ErrIsamOpenTempTable */
#define JET_bitTTIndexed 0x00000001 /* Allow seek */
#define JET_bitTTUnique 0x00000002 /* Remove duplicates */
#define JET_bitTTUpdatable 0x00000004 /* Allow updates */
#define JET_bitTTScrollable 0x00000008 /* Allow backwards scrolling */
/* Flags for JetSetColumn */
#define JET_bitSetAppendLV 0x00000001
#define JET_bitSetValidate 0x00000002
#define JET_bitSetOverwriteLV 0x00000004
#define JET_bitSetSizeLV 0x00000008
#define JET_bitSetValidateColumn 0x00000010
#define JET_bitSetZeroLength 0x00000020
/* Set column parameter structure for JetSetColumns */
typedef struct {
JET_COLUMNID columnid;
const void _far *pvData;
unsigned long cbData;
JET_GRBIT grbit;
unsigned long ibLongValue;
unsigned long itagSequence;
JET_ERR err;
} JET_SETCOLUMN;
/* Options for JetPrepareUpdate */
#define JET_prepInsert 0
#define JET_prepInsertBeforeCurrent 1
#define JET_prepReplace 2
#define JET_prepCancel 3
#define JET_prepReplaceNoLock 4
#define JET_prepInsertCopy 5
/* Flags for JetRetrieveColumn */
#define JET_bitRetrieveCopy 0x00000001
#define JET_bitRetrieveFromIndex 0x00000002
#define JET_bitRetrieveCase 0x00000004
#define JET_bitRetrieveTag 0x00000008
#define JET_bitRetrieveRecord 0x80000000
#define JET_bitRetrieveFDB 0x40000000
#define JET_bitRetrieveBookmarks 0x20000000
/* Retrieve column parameter structure for JetRetrieveColumns */
typedef struct {
JET_COLUMNID columnid;
void _far *pvData;
unsigned long cbData;
unsigned long cbActual;
JET_GRBIT grbit;
unsigned long ibLongValue;
unsigned long itagSequence;
JET_COLUMNID columnidNextTagged;
JET_ERR err;
} JET_RETRIEVECOLUMN;
/* Flags for JetFillFatCursor */
#define JET_bitFCFillRange 0x00000001
#define JET_bitFCRefreshRange 0x00000002
#define JET_bitFCFillMemos 0x00000004
/* Flags for JetCommitTransaction */
#define JET_bitCommitFlush 0x00000001
/* Flags for JetRollback */
#define JET_bitRollbackAll 0x00000001
/* Flags for JetSetAccess and JetGetAccess */
#define JET_bitACEInheritable 0x00000001
/* Flags for JetCreateSystemDatabase */
#define JET_bitSysDbOverwrite 0x00000001
/* Flags for Jet Property Management */
#define JET_bitPropDDL 0x00000001 /* also used for setting */
#define JET_bitPropInherited 0x00000002 /* not used for setting */
/* JPM Flags that are only used for setting properties */
#define JET_bitPropReplaceOnly 0x00000010
#define JET_bitPropInsertOnly 0x00000020
#define JET_bitPropDeleteOnly 0x00000040
/* InfoLevels for Jet Property Management */
#define JET_PropertyValue 0
#define JET_PropertyCount 1
#define JET_PropertySingleCollection 2
#define JET_PropertyAllCollections 3
/* Collate values for JetGetColumnInfo and JetGetIndexInfo */
#define JET_sortBinary 0x0000
#define JET_sortEFGPI 0x0100
#define JET_sortSNIFD 0x0101
#define JET_sortSpanish 0x0102
#define JET_sortDutch 0x0103
#define JET_sortSweFin 0x0104
#define JET_sortNorDan 0x0105
#define JET_sortIcelandic 0x0106
#define JET_sortCyrillic 0x0107
#define JET_sortCzech 0x0108
#define JET_sortHungarian 0x0109
#define JET_sortPolish 0x010A
#define JET_sortArabic 0x010B
#define JET_sortHebrew 0x010C
#define JET_sortMax 0x010C /* Max for nonDBCS sort orders */
#ifdef DBCS /* johnta: Add the new Japanese sorting order */
#define JET_sortJapanese 0x010D
#endif /* DBCS */
#define JET_sortUnknown 0xFFFF
/* Paradox ISAM specific collate values */
#define JET_sortPdxIntl 0x1000
#define JET_sortPdxSwedFin 0x1001
#define JET_sortPdxNorDan 0x1002
/* Info parameter for JetGetDatabaseInfo */
#define JET_DbInfoFilename 0
#define JET_DbInfoConnect 1
#define JET_DbInfoCountry 2
#define JET_DbInfoLangid 3
#define JET_DbInfoCp 4
#define JET_DbInfoCollate 5
#define JET_DbInfoOptions 6
#define JET_DbInfoTransactions 7
#define JET_DbInfoVersion 8
#define JET_DbInfoIsam 9
/* Database versions returned by JetGetDatabaseInfo */
#define JET_DbVersion10 0x00010000
#define JET_DbVersion11 0x00010001
#define JET_DbVersion20 0x00020000
/* Isam specific info returned by JetGetDatabaseInfo */
#define JET_IsamInvalid 0
#define JET_IsamBuiltinRed 1
#define JET_IsamBuiltinBlue 2
#define JET_IsamInstRed 21
#define JET_IsamInstBlue 22
#define JET_IsamInstFox 23
#define JET_IsamInstParadox 24
#define JET_IsamInstDbase 25
#define JET_IsamInstBtrieve 26
#define JET_IsamBuilinMost JET_BuiltinBlue
#define JET_IsamInstMin JET_IsamInstRed
#define JET_IsamInstMost JET_IsamInstBtrieve
/* Link specific info for link identification */
#define JET_bitLinkInvalid 0x00000000
#define JET_bitLinkRemote 0x00100000
#define JET_bitLinkBuiltinRed 0x00200000
#define JET_bitLinkBuiltinBlue 0x00300000
#define JET_bitLinkInstRed 0x00400000
#define JET_bitLinkInstBlue 0x00500000
#define JET_bitLinkInstFox 0x00600000
#define JET_bitLinkInstParadox 0x00700000
#define JET_bitLinkInstDbase 0x00800000
#define JET_bitLinkInstBtrieve 0x00900000
#define JET_bitFourByteBookmark 0x00000001
#define JET_bitContiguousBookmarks 0x00000002
/* Column data types */
/* the column types are represented with 4 bits */
/* make sure the choices below fit! */
/* NOTE: all comb of the 4 bits are now used! */
/* CONSIDER: to allow more datatypes, either */
/* CONSIDER: JET_coltypDatabase and JET_coltypTableid must */
/* CONSIDER: change or the 4 bit dependancy must be removed */
#define JET_coltypNil 0
#define JET_coltypBit 1 /* True or False, Never NULL */
#define JET_coltypUnsignedByte 2 /* 1-byte integer, unsigned */
#define JET_coltypShort 3 /* 2-byte integer, signed */
#define JET_coltypLong 4 /* 4-byte integer, signed */
#define JET_coltypCurrency 5 /* 8 byte integer, signed */
#define JET_coltypIEEESingle 6 /* 4-byte IEEE single precision */
#define JET_coltypIEEEDouble 7 /* 8-byte IEEE double precision */
#define JET_coltypDateTime 8 /* Integral date, fractional time */
#define JET_coltypBinary 9 /* Binary data, < 255 bytes */
#define JET_coltypText 10 /* ANSI text, case insensitive, < 255 bytes */
#define JET_coltypLongBinary 11 /* Binary data, long value */
#define JET_coltypLongText 12 /* ANSI text, long value */
/* The following are additional types used for query parameters */
/* NOTE: Code depends on these being contiguous with the normal coltyps */
/* CONSIDER: Remove the above dependency on contiguous coltyps in QJET */
#define JET_coltypDatabase 13 /* Database name parameter */
#define JET_coltypTableid 14 /* Tableid parameter */
#define JET_coltypOLE 15 /* OLE blob */
#define JET_coltypMax 16 /* the number of column types */
/* used for validity tests and */
/* array declarations. */
/* Info levels for JetGetObjectInfo */
#define JET_ObjInfo 0U
#define JET_ObjInfoListNoStats 1U
#define JET_ObjInfoList 2U
#define JET_ObjInfoSysTabCursor 3U
#define JET_ObjInfoListACM 4U /* Blocked by JetGetObjectInfo */
#define JET_ObjInfoNoStats 5U
#define JET_ObjInfoSysTabReadOnly 6U
#define JET_ObjInfoRulesLoaded 7U
#define JET_ObjInfoMax 8U
/* Info levels for JetGetTableInfo */
#define JET_TblInfo 0U
#define JET_TblInfoName 1U
#define JET_TblInfoDbid 2U
#define JET_TblInfoMostMany 3U
#define JET_TblInfoRvt 4U
#define JET_TblInfoOLC 5U
#define JET_TblInfoResetOLC 6U
#define JET_TblInfoSpaceUsage 7U
#define JET_TblInfoDumpTable 8U
/* Info levels for JetGetIndexInfo and JetGetTableIndexInfo */
#define JET_IdxInfo 0U
#define JET_IdxInfoList 1U
#define JET_IdxInfoSysTabCursor 2U
#define JET_IdxInfoOLC 3U
#define JET_IdxInfoResetOLC 4U
/* Info levels for JetGetReferenceInfo and JetGetTableReferenceInfo */
#define JET_ReferenceInfo 0U
#define JET_ReferenceInfoReferencing 1U
#define JET_ReferenceInfoReferenced 2U
#define JET_ReferenceInfoAll 3U
#define JET_ReferenceInfoCursor 4U
/* Info levels for JetGetColumnInfo and JetGetTableColumnInfo */
#define JET_ColInfo 0U
#define JET_ColInfoList 1U
/* CONSIDER: Info level 2 is valid */
#define JET_ColInfoSysTabCursor 3U
#define JET_ColInfoBase 4U
/* Attribute types for query definitions */
#define JET_qoaBeginDef 0
#define JET_qoaOperation 1
#define JET_qoaParameter 2
#define JET_qoaOptions 3
#define JET_qoaDatabase 4
#define JET_qoaInputTable 5
#define JET_qoaOutput 6
#define JET_qoaJoin 7
#define JET_qoaRestriction 8
#define JET_qoaGroup 9
#define JET_qoaGroupRstr 10
#define JET_qoaOrdering 11
#define JET_qoaEndDef 255
#define JET_qoaValidLeast JET_qoaOperation
#define JET_qoaValidMost JET_qoaOrdering
/* Query object options */
#define JET_bitFqoOutputAllCols 0x0001
#define JET_bitFqoRemoveDups 0x0002
#define JET_bitFqoOwnerAccess 0x0004
#define JET_bitFqoDistinctRow 0x0008
#define JET_bitFqoTop 0x0010
#define JET_bitFqoPercent 0x0020
#define JET_bitFqoCorresponding 0x0040 /* JET_qopSetOperation */
/* Query object join type */
#define JET_fjoinInner 1
#define JET_fjoinLeftOuter 2
#define JET_fjoinRightOuter 3
/* Query object operations */
#define JET_qopSelect 1
#define JET_qopSelectInto 2
#define JET_qopInsertSelection 3
#define JET_qopUpdate 4
#define JET_qopDelete 5
#define JET_qopTransform 6
#define JET_qopDDL 7
#define JET_qopSqlPassThrough 8
#define JET_qopSetOperation 9
#define JET_qopSPTBulk 10
#define JET_bitqopSelect 0x0000
#define JET_bitqopTransform 0x0010
#define JET_bitqopDelete 0x0020
#define JET_bitqopUpdate 0x0030
#define JET_bitqopInsertSelection 0x0040
#define JET_bitqopSelectInto 0x0050
#define JET_bitqopDDL 0x0060
#define JET_bitqopSqlPassThrough 0x0070
#define JET_bitqopSetOperation 0x0080
#define JET_bitqopSPTBulk 0x0090
/* Engine Object Types */
#define JET_objtypNil 0
#define JET_objtypTable 1
#define JET_objtypDb 2
#define JET_objtypContainer 3
#define JET_objtypSQLLink 4
#define JET_objtypQuery 5
#define JET_objtypLink 6
#define JET_objtypTemplate 7
#define JET_objtypRelationship 8
/* All types less than JET_objtypClientMin are reserved by JET */
#define JET_objtypClientMin 0x8000
/* Security Constant Values */
#define JET_cchUserNameMax 20
#define JET_cchPasswordMax 14
/* Security Access Masks */
#define JET_acmNoAccess 0x00000000L
#define JET_acmFullAccess 0x000FFFFFL
#define JET_acmSpecificMask 0x0000FFFFL
#define JET_acmSpecific_1 0x00000001L
#define JET_acmSpecific_2 0x00000002L
#define JET_acmSpecific_3 0x00000004L
#define JET_acmSpecific_4 0x00000008L
#define JET_acmSpecific_5 0x00000010L
#define JET_acmSpecific_6 0x00000020L
#define JET_acmSpecific_7 0x00000040L
#define JET_acmSpecific_8 0x00000080L
#define JET_acmSpecific_9 0x00000100L
#define JET_acmSpecific_10 0x00000200L
#define JET_acmSpecific_11 0x00000400L
#define JET_acmSpecific_12 0x00000800L
#define JET_acmSpecific_13 0x00001000L
#define JET_acmSpecific_14 0x00002000L
#define JET_acmSpecific_15 0x00004000L
#define JET_acmSpecific_16 0x00008000L
#define JET_acmStandardMask 0x00FF0000L
#define JET_acmDelete 0x00010000L
#define JET_acmReadControl 0x00020000L
#define JET_acmWriteDac 0x00040000L
#define JET_acmWriteOwner 0x00080000L
#define JET_acmTblCreate (JET_acmSpecific_1)
#define JET_acmTblAccessRcols (JET_acmSpecific_2)
#define JET_acmTblReadDef (JET_acmSpecific_3)
#define JET_acmTblWriteDef (JET_acmSpecific_4)
#define JET_acmTblRetrieveData (JET_acmSpecific_5)
#define JET_acmTblInsertData (JET_acmSpecific_6)
#define JET_acmTblReplaceData (JET_acmSpecific_7)
#define JET_acmTblDeleteData (JET_acmSpecific_8)
#define JET_acmDbCreate (JET_acmSpecific_1)
#define JET_acmDbOpen (JET_acmSpecific_2)
/* Compact Options */
#define JET_bitCompactEncrypt 0x00000001 /* Dest is encrypted */
#define JET_bitCompactDecrypt 0x00000002 /* Dest is not encrypted */
#define JET_bitCompactDontCopyLocale 0x00000004 /* Don't copy locale from source to dest */
#define JET_bitCompactVersion10 0x00000008 /* Destination is version 1.0 format */
#define JET_bitCompactVersion1x 0x00000010 /* Destination is version 1.x format */
/* On-line Compact Options */
#define JET_bitCompactOn 0x00000001 /* enable on-line compaction */
/* Repair Notification Types */
#define JET_rntSelfContained 0 /* CONSIDER: These are SNCs */
#define JET_rntDeletedIndex 1
#define JET_rntDeletedRec 2
#define JET_rntDeletedLv 3
#define JET_rntTruncated 4
/* Status Notification Processes */
#define JET_snpIndex 0
#define JET_snpQuery 1
#define JET_snpRepair 2
#define JET_snpImex 3
#define JET_snpCompact 4
#define JET_snpFastFind 5
#define JET_snpODBCNotReady 6
#define JET_snpQuerySort 7
#define JET_snpRestore 8
/* Status Notification Types */
#define JET_sntProgress 0 /* callback for progress */
#define JET_sntMessage 1
#define JET_sntBulkRecords 2 /* callback for # rec for bulk op */
#define JET_sntFail 3 /* callback for failure during progress */
#define JET_sntErrCount 4 /* callback for err count */
#define JET_sntBegin 5 /* callback for beginning of operation */
#define JET_sntComplete 6 /* callback for completion of operation */
#define JET_sntCantRollback 7 /* callback for no rollback */
#define JET_sntRestoreMap 8 /* callback for restore map */
/* Message codes for JET_snpCompact */
#define JET_sncCopyObject 0 /* Starting to copy object */
#define JET_sncCopyFailed 1 /* Copy of this object failed */
#define JET_sncYield 2 /* Client can yield/check for user interrupt */
#define JET_sncTransactionFull 3 /* Client can yield/check for user interrupt */
#define JET_sncAboutToWrap 4 /* Find find is about to wrap */
/* Message codes for JET_snpODBCNotReady */
#define JET_sncODBCNotReady 0 /* Waiting for results from ODBC */
/* Constants for the [ODBC] section of JET.INI */
#define JET_SQLTraceCanonical 0x0001 /* Output ODBC Generic SQL */
/* Constants for the [Debug] section of JET.INI */
/* APITrace */
#define JET_APITraceEnter 0x0001
#define JET_APITraceExit 0x0002
#define JET_APITraceExitError 0x0004
#define JET_APIBreakOnError 0x0008
#define JET_APITraceCount 0x0010
#define JET_APITraceNoIdle 0x0020
#define JET_APITraceParameters 0x0040
/* IdleTrace */
#define JET_IdleTraceCursor 0x0001
#define JET_IdleTraceBuffer 0x0002
#define JET_IdleTraceFlush 0x0004
/* AssertAction */
#define JET_AssertExit 0x0000 /* Exit the application */
#define JET_AssertBreak 0x0001 /* Break to debugger */
#define JET_AssertMsgBox 0x0002 /* Display message box */
#define JET_AssertStop 0x0004 /* Alert and stop */
/* IOTrace */
#define JET_IOTraceAlloc 0x0001 /* DB Page Allocation */
#define JET_IOTraceFree 0x0002 /* DB Page Free */
#define JET_IOTraceRead 0x0004 /* DB Page Read */
#define JET_IOTraceWrite 0x0008 /* DB Page Write */
#define JET_IOTraceError 0x0010 /* DB Page I/O Error */
/* MemTrace */
#define JET_MemTraceAlloc 0x0001 /* Memory allocation */
#define JET_MemTraceRealloc 0x0002 /* Memory reallocation */
#define JET_MemTraceFree 0x0004 /* Memory free */
/* RmtTrace */
#define JET_RmtTraceError 0x0001 /* Remote server error message */
#define JET_RmtTraceSql 0x0002 /* Remote SQL Prepares & Exec's */
#define JET_RmtTraceAPI 0x0004 /* Remote ODBC API calls */
#define JET_RmtTraceODBC 0x0008
#define JET_RmtSyncODBC 0x0010 /* Turn on ODBC Sync mode */
/**********************************************************************/
/*********************** ERROR CODES **************************/
/**********************************************************************/
/* SUCCESS */
#define JET_errSuccess 0 /* Successful Operation */
/* ERRORS */
#define JET_wrnNyi -1 /* Function Not Yet Implemented */
/* SYSTEM errors
/**/
#define JET_errRfsFailure -100 /* JET_errRfsFailure */
#define JET_errRfsNotArmed -101 /* JET_errRfsFailure */
#define JET_errFileClose -102 /* Could not close DOS file */
#define JET_errNoMoreThreads -103 /* Could not start thread */
#define JET_errNoComputerName -104 /* fail to get computername */
#define JET_errTooManyIO -105 /* System busy due to too many IOs */
/* BUFFER MANAGER errors
/**/
#define wrnBFNotSynchronous 200 /* Buffer page evicted */
#define wrnBFPageNotFound 201 /* Page not found */
#define errBFInUse -202 /* Cannot abandon buffer */
/* DIRECTORY MANAGER errors
/**/
#define errPMOutOfPageSpace -300 /* Out of page space */
#define errPMItagTooBig -301 /* Itag too big */
#define errPMRecDeleted -302 /* Record deleted */
#define errPMTagsUsedUp -303 /* Tags used up */
#define wrnBMConflict 304 /* conflict in BM Clean up */
#define errDIRNoShortCircuit -305 /* No Short Circuit Avail */
#define errDIRCannotSplit -306 /* Cannot horizontally split FDP */
#define errDIRTop -307 /* Cannot go up */
#define errDIRFDP 308 /* On an FDP Node */
#define errDIRNotSynchronous -309 /* May have left critical section */
#define wrnDIREmptyPage 310 /* Moved through empty page */
#define errSPConflict -311 /* Device extent being extended */
#define wrnNDFoundLess 312 /* Found Less */
#define wrnNDFoundGreater 313 /* Found Greater */
#define errNDOutSonRange -314 /* Son out of range */
#define errNDOutItemRange -315 /* Item out of range */
#define errNDGreaterThanAllItems -316 /* Greater than all items */
#define errNDLastItemNode -317 /* Last node of item list */
#define errNDFirstItemNode -318 /* First node of item list */
#define wrnNDDuplicateItem 319 /* Duplicated Item */
#define errNDNoItem -320 /* Item not there */
#define JET_wrnRemainingVersions 321 /* Some versions couldn't be cleaned */
#define JET_wrnPreviousVersion 322 /* Version already existed */
#define JET_errPageBoundary -323 /* Reached Page Boundary */
#define JET_errKeyBoundary -324 /* Reached Key Boundary */
#define errDIRInPageFather -325 /* sridFather in page to free
/* RECORD MANAGER errors
/**/
#define wrnFLDKeyTooBig 400 /* Key too big (truncated it) */
#define errFLDTooManySegments -401 /* Too many key segments */
#define wrnFLDNullKey 402 /* Key is entirely NULL */
#define wrnFLDOutOfKeys 403 /* No more keys to extract */
#define wrnFLDNullSeg 404 /* Null segment in key */
#define wrnRECLongField 405 /* Separated long field */
#define JET_wrnRecordFoundGreater JET_wrnSeekNotEqual
#define JET_wrnRecordFoundLess JET_wrnSeekNotEqual
#define JET_errColumnIllegalNull JET_errNullInvalid
/* LOGGING/RECOVERY errors
/**/
#define JET_errRestoreFailed -500 /* Restore failed */
#define JET_errLogFileCorrupt -501 /* Log file is corrupt */
#define errLGNoMoreRecords -502 /* Last log record read */
#define JET_errNoBackupDirectory -503 /* No backup directory given */
#define JET_errBackupDirectoryNotEmpty -504 /* The backup directory is not emtpy */
#define JET_errBackupInProgress -505 /* Backup is active already */
#define JET_errFailRestoreDatabase -506 /* Fail to restore (copy) database */
#define JET_errNoDatabasesForRestore -507 /* No databases for restor found */
#define JET_errMissingLogFile -508 /* jet.log for restore is missing */
#define JET_errMissingPreviousLogFile -509 /* Missing the log file for check point */
#define JET_errLogWriteFail -510 /* Fail when writing to log file */
#define JET_errLogNotContigous -511 /* Fail to incremental backup for non-contiguous generation number */
#define JET_errFailToMakeTempDirectory -512 /* Fail to make a temp directory */
#define JET_errFailToCleanTempDirectory -513 /* Fail to clean up temp directory */
#define JET_errBadLogVersion -514 /* Version of log file is not compatible with Jet version */
#define JET_errBadNextLogVersion -515 /* Version of next log file is not compatible with current one */
#define JET_errLoggingDisabled -516 /* Log is not active */
#define JET_errLogBufferTooSmall -517 /* Log buffer is too small for recovery */
#define errLGNotSynchronous -518 /* retry to LGLogRec */
#define JET_errFeatureNotAvailable -1001 /* API not supported */
#define JET_errInvalidName -1002 /* Invalid name */
#define JET_errInvalidParameter -1003 /* Invalid API parameter */
#define JET_wrnColumnNull 1004 /* Column is NULL-valued */
#define JET_errReferenceNotFound -1005 /* No such reference */
#define JET_wrnBufferTruncated 1006 /* Buf too short, data truncated */
#define JET_wrnDatabaseAttached 1007 /* Database is already attached */
#define JET_wrnOnEndPoint 1008 /* On end point */
#define JET_wrnSortOverflow 1009 /* Sort does not fit in memory */
#define JET_errInvalidDatabaseId -1010 /* Invalid database id */
#define JET_errOutOfMemory -1011 /* Out of Memory */
#define JET_errCantAllocatePage -1012 /* Couldn't allocate a page */
#define JET_errNoMoreCursors -1013 /* Max # of cursors allocated */
#define JET_errOutOfBuffers -1014 /* JET_errOutOfBuffers */
#define JET_errTooManyIndexes -1015 /* Too many indexes */
#define JET_errTooManyKeys -1016 /* Too many columns in an index */
#define JET_errRecordDeleted -1017 /* Record has been deleted */
#define JET_errReadVerifyFailure -1018 /* Read verification error */
#define JET_errFilesysVersion -1019 /* Obsolete database format */
#define JET_errNoMoreFiles -1020 /* No more file handles */
#define JET_errDiskNotReady -1021 /* Disk not ready */
#define JET_errDiskIO -1022 /* JET_errDiskIO */
#define JET_errInvalidPath -1023 /* JET_errInvalidPath */
#define JET_errFileShareViolation -1024 /* JET_errFileShareViolation */
#define JET_errFileLockViolation -1025 /* JET_errFileLockViolation */
#define JET_errRecordTooBig -1026 /* JET_errRecordTooBig */
#define JET_errTooManyOpenDatabases -1027 /* Database limit reached */
#define JET_errInvalidDatabase -1028 /* This isn't a database */
#define JET_errNotInitialized -1029 /* JetInit not yet called */
#define JET_errAlreadyInitialized -1030 /* JetInit already called */
#define JET_errFileLockingUnavailable -1031 /* JET_errFileLockingUnavailable */
#define JET_errFileAccessDenied -1032 /* JET_errFileAccessDenied */
#define JET_errSharingBufferExceeded -1033 /* OS sharing buffer exceeded */
#define JET_errQueryNotSupported -1034 /* Query support unavailable */
#define JET_errSQLLinkNotSupported -1035 /* SQL Link support unavailable */
#define JET_errTaskLimitExceeded -1036 /* Too many client tasks */
#define JET_errUnsupportedOSVersion -1037 /* Unsupported OS version */
#define JET_errBufferTooSmall -1038 /* Buffer is too small */
#define JET_wrnSeekNotEqual 1039 /* SeekLE or SeekGE didn't find exact match */
#define JET_errTooManyColumns -1040 /* Too many columns defined */
#define JET_errTooManyFixedColumns -1041 /* Too many fixed columns defined */
#define JET_errTooManyVariableColumns -1042 /* Too many variable columns defined */
#define JET_errContainerNotEmpty -1043 /* Container is not empty */
#define JET_errInvalidFilename -1044 /* Filename is invalid */
#define JET_errInvalidBookmark -1045 /* Invalid bookmark */
#define JET_errColumnInUse -1046 /* Column used in an index */
#define JET_errInvalidBufferSize -1047 /* Data buffer doesn't match column size */
#define JET_errColumnNotUpdatable -1048 /* Can't set column value */
#define JET_wrnCommitNotFlushed 1049 /* Commit did not flush to disk */
#define JET_errAbortSalvage -1050 /* Forced Salvager abort */
#define JET_errIndexInUse -1051 /* Index is in use */
#define JET_errLinkNotSupported -1052 /* Link support unavailable */
#define JET_errNullKeyDisallowed -1053 /* Null keys are disallowed on index */
#define JET_errNotInTransaction -1054 /* JET_errNotInTransaction */
#define JET_wrnNoErrorInfo 1055 /* No extended error information */
#define JET_errInstallableIsamNotFound -1056 /* Installable ISAM not found */
#define JET_errOperationCancelled -1057 /* Operation canceled by client */
#define JET_wrnNoIdleActivity 1058 /* No idle activity occured */
#define JET_errTooManyActiveUsers -1059 /* Too many active database users */
#define JET_errInvalidAppend -1060 /* Cannot append long value */
#define JET_errInvalidCountry -1061 /* Invalid or unknown country code */
#define JET_errInvalidLanguageId -1062 /* Invalid or unknown language id */
#define JET_errInvalidCodePage -1063 /* Invalid or unknown code page */
#define JET_errCantBuildKey -1064 /* Can't build key for this sort order. */
#define JET_errIllegalReentrancy -1065 /* Re-entrancy on same cursor family */
#define JET_errIllegalRelationship -1066 /* Can't create relationship */
#define JET_wrnNoWriteLock 1067 /* No write lock at transaction level 0 */
#define JET_errDBVerFeatureNotAvailable -1067 /* API not supported using old database format*/
#define JET_errCantBegin -1101 /* Cannot BeginSession */
#define JET_errWriteConflict -1102 /* Write lock failed due to outstanding write lock */
#define JET_errTransTooDeep -1103 /* Xactions nested too deeply */
#define JET_errInvalidSesid -1104 /* Invalid session handle */
#define JET_errReadConflict -1105 /* Commit lock failed due to outstanding read lock */
#define JET_errCommitConflict -1106 /* Read lock failed due to outstanding commit lock */
#define JET_errSessionWriteConflict -1107 /* Another session has private version of page */
#define JET_errInTransaction -1108 /* Operation not allowed within a transaction */
#define JET_errDatabaseDuplicate -1201 /* Database already exists */
#define JET_errDatabaseInUse -1202 /* Database in use */
#define JET_errDatabaseNotFound -1203 /* No such database */
#define JET_errDatabaseInvalidName -1204 /* Invalid database name */
#define JET_errDatabaseInvalidPages -1205 /* Invalid number of pages */
#define JET_errDatabaseCorrupted -1206 /* non-db file or corrupted db */
#define JET_errDatabaseLocked -1207 /* Database exclusively locked */
#define JET_wrnDatabaseEncrypted 1208 /* Database is encrypted */
#define JET_wrnTableEmpty 1301 /* Open an empty table */
#define JET_errTableLocked -1302 /* Table is exclusively locked */
#define JET_errTableDuplicate -1303 /* Table already exists */
#define JET_errTableInUse -1304 /* Table is in use, cannot lock */
#define JET_errObjectNotFound -1305 /* No such table or object */
#define JET_errCannotRename -1306 /* Cannot rename temporary file */
#define JET_errDensityInvalid -1307 /* Bad file/index density */
#define JET_errTableNotEmpty -1308 /* Cannot define clustered index */
#define JET_errTableNotLocked -1309 /* No DDLs w/o exclusive lock */
#define JET_errInvalidTableId -1310 /* Invalid table id */
#define JET_errTooManyOpenTables -1311 /* Cannot open any more tables */
#define JET_errIllegalOperation -1312 /* Oper. not supported on table */
#define JET_wrnExecSegReleased 1313 /* Query Execution segment is released */
#define JET_errObjectDuplicate -1314 /* Table or object name in use */
#define JET_errRulesLoaded -1315 /* Rules loaded, can't define more */
#define JET_errInvalidObject -1316 /* object is invalid for operation */
#define JET_errIndexCantBuild -1401 /* Cannot build clustered index */
#define JET_errIndexHasPrimary -1402 /* Primary index already defined */
#define JET_errIndexDuplicate -1403 /* Index is already defined */
#define JET_errIndexNotFound -1404 /* No such index */
#define JET_errIndexMustStay -1405 /* Cannot delete clustered index */
#define JET_errIndexInvalidDef -1406 /* Illegal index definition */
#define JET_errSelfReference -1407 /* Referencing/Referenced index is the same */
#define JET_errIndexHasClustered -1408 /* Clustered index already defined */
#define JET_errColumnLong -1501 /* column value is long */
#define JET_errColumnNoChunk -1502 /* no such chunk in field */
#define JET_errColumnDoesNotFit -1503 /* Field will not fit in record */
#define JET_errNullInvalid -1504 /* Null not valid */
#define JET_errColumnIndexed -1505 /* Column indexed, cannot delete */
#define JET_errColumnTooBig -1506 /* Field length is > maximum */
#define JET_errColumnNotFound -1507 /* No such column */
#define JET_errColumnDuplicate -1508 /* Field is already defined */
#define JET_errTaggedDefault -1509 /* No defaults on tagged fields */
#define JET_errColumn2ndSysMaint -1510 /* Second autoinc or version column */
#define JET_errInvalidColumnType -1511 /* Invalid column data type */
#define JET_wrnColumnMaxTruncated 1512 /* Max length too big, truncated */
#define JET_errColumnCannotIndex -1513 /* Cannot index Bit,LongText,LongBinary */
#define JET_errTaggedNotNULL -1514 /* No non-NULL tagged fields */
#define JET_errNoCurrentIndex -1515 /* Invalid w/o a current index */
#define JET_errKeyIsMade -1516 /* The key is completely made */
#define JET_errBadColumnId -1517 /* Column Id Incorrect */
#define JET_errBadItagSequence -1518 /* Bad itagSequence for tagged column */
#define JET_errColumnInRelationship -1519 /* Cannot delete, column participates in relationship */
#define JET_wrnCopyLongValue 1520 /* Single instance column bursted */
#define JET_errCannotBeTagged -1521 /* AutoIncrement and Version cannot be tagged */
#define JET_errRecordNotFound -1601 /* The key was not found */
#define JET_errRecordNoCopy -1602 /* No working buffer */
#define JET_errNoCurrentRecord -1603 /* Currency not on a record */
#define JET_errRecordClusteredChanged -1604 /* Primary key may not change */
#define JET_errKeyDuplicate -1605 /* Illegal duplicate key */
#define JET_errCannotInsertBefore -1606 /* Cannot insert before current */
#define JET_errAlreadyPrepared -1607 /* Already copy/clear current */
#define JET_errKeyNotMade -1608 /* No call to JetMakeKey */
#define JET_errUpdateNotPrepared -1609 /* No call to JetPrepareUpdate */
#define JET_wrnDataHasChanged 1610 /* Data has changed */
#define JET_errDataHasChanged -1611 /* Data has changed; operation aborted */
#define JET_errIntegrityViolationMaster -1612 /* References to key exist */
#define JET_errIntegrityViolationSlave -1613 /* No referenced key exists */
#define JET_wrnMuchDataChanged 1614 /* Repaint whole datasheet */
#define JET_errIncorrectJoinKey -1615 /* Master key does not match lookup key */
#define JET_wrnKeyChanged 1618 /* Moved to new key */
#define JET_wrnSyncedToDelRec 1699 /* CONSIDER: QJET INTERNAL */
#define JET_errRedoPrepUpdate 1698 /* CONSIDER: QJET INTERNAL(jpbulk.c)*/
#define JET_errTooManySorts -1701 /* Too many sort processes */
#define JET_errInvalidOnSort -1702 /* Invalid operation on Sort */
#define JET_errConfigOpenError -1801 /* Config. file can't be opened */
#define JET_errSysDatabaseOpenError -1802 /* System db could not be opened */
#define JET_errTempFileOpenError -1803 /* Temp file could not be opened */
#define JET_errDatabaseOpenError -1804 /* Database file can't be opened */
#define JET_errTooManyAttachedDatabases -1805 /* Too many open databases */
#define JET_errDatabaseCloseError -1806 /* Db file could not be closed */
#define JET_errTooManyOpenFiles -1807 /* Too many files open */
#define JET_errDiskFull -1808 /* No space left on disk */
#define JET_errPermissionDenied -1809 /* Permission denied */
#define JET_errSortFileOpenError -1810 /* Could not open sort file */
#define JET_errFileNotFound -1811 /* File not found */
#define JET_errTempDiskFull -1812 /* No space left on disk */
#define JET_wrnFileOpenReadOnly 1813 /* Database file is read only */
#define JET_errAfterInitialization -1850 /* Cannot Restore after init. */
#define JET_errSeriesTooLong -1851 /* New log generation id too big */
#define JET_errLogCorrupted -1852 /* Logs could not be interpreted */
#define JET_errCannotOpenSystemDb -1901 /* failed sysdb on beginsession */
#define JET_errInvalidLogon -1902 /* invalid logon at beginsession */
#define JET_errInvalidAccountName -1903 /* invalid account name */
#define JET_errInvalidSid -1904 /* invalid SID */
#define JET_errInvalidPassword -1905 /* invalid password */
#define JET_errInvalidOperation -1906 /* invalid operation */
#define JET_errAccessDenied -1907 /* access denied */
#define JET_errNoMSysAccounts -1908 /* Can't open MSysAccounts */
#define JET_errNoMSysGroups -1909 /* Can't open MSysGroups */
#define JET_errInvalidPin -1910 /* invalid pin */
#define JET_errRmtSqlError -2001 /* RMT: ODBC call failed */
#define JET_errRmtMissingOdbcDll -2006 /* RMT: Can't load ODBC DLL */
#define JET_errRmtInsertFailed -2007 /* RMT: Insert statement failed */
#define JET_errRmtDeleteFailed -2008 /* RMT: Delete statement failed */
#define JET_errRmtUpdateFailed -2009 /* RMT: Update statement failed */
#define JET_errRmtColDataTruncated -2010 /* RMT: data truncated */
#define JET_errRmtTypeIncompat -2011 /* RMT: Can't create JET type on server */
#define JET_errRmtCreateTableFailed -2012 /* RMT: Create table stmt failed */
#define JET_errRmtNotSupported -2014 /* RMT: Function not legal for rdb */
#define JET_errRmtValueOutOfRange -2020 /* RMT: Data value out of range */
#define JET_errRmtStillExec -2021 /* RMT INTERNAL: SQL_STILL_EXECUTING */
#define JET_errRmtQueryTimeout -2022 /* RMT: Server Not Responding */
#define JET_wrnRmtNeedLvData 2023 /* RMT: Internal only - need Lv data */
#define JET_wrnFatCursorUseless 2024 /* Fat cursor has no effect ***/
#define JET_errRmtWrongSPVer -2025 /* RMT: INTERNAL: wrong SProc ver ***/
#define JET_errRmtLinkOutOfSync -2026 /* RMT: the def for the rmt tbl has changed */
#define JET_errRmtDenyWriteIsInvalid -2027 /* RMT: Can't open DenyWrite */
#define JET_errRmtDriverCantConv -2029 /* RMT: INTERNAL: driver cannot convert */
#define JET_errRmtTableAmbiguous -2030 /* RMT: Table ambiguous: must specifier owner */
#define JET_errRmtBogusConnStr -2031 /* RMT: SPT: Bad connect string */
#define JET_errQueryInvalidAttribute -3001 /* Invalid query attribute */
#define JET_errQueryOnlyOneRow -3002 /* Only 1 such row allowed */
#define JET_errQueryIncompleteRow -3003 /* Missing value in row */
#define JET_errQueryInvalidFlag -3004 /* Invalid value in Flag field */
#define JET_errQueryCycle -3005 /* Cycle in query definition */
#define JET_errQueryInvalidJoinTable -3006 /* Invalid table in join */
#define JET_errQueryAmbigRef -3007 /* Ambiguous column reference */
#define JET_errQueryUnboundRef -3008 /* Cannot bind name */
#define JET_errQueryParmRedef -3009 /* Parm redefined with different type */
#define JET_errQueryMissingParms -3010 /* Too few parameters supplied */
#define JET_errQueryInvalidOutput -3011 /* Invalid query output */
#define JET_errQueryInvalidHaving -3012 /* HAVING clause without aggregation */
#define JET_errQueryDuplicateAlias -3013 /* Duplicate output alias */
#define JET_errQueryInvalidMGBInput -3014 /* Cannot input from MGB */
#define JET_errQueryInvalidOrder -3015 /* Invalid ORDER BY expression */
#define JET_errQueryTooManyLevels -3016 /* Too many levels on MGB */
#define JET_errQueryMissingLevel -3017 /* Missing intermediate MGB level */
#define JET_errQueryIllegalAggregate -3018 /* Aggregates not allowed */
#define JET_errQueryDuplicateOutput -3019 /* Duplicate destination output */
#define JET_errQueryIsBulkOp -3020 /* Grbit should be set for Bulk Operation */
#define JET_errQueryIsNotBulkOp -3021 /* Query is not a Bulk Operation */
#define JET_errQueryIllegalOuterJoin -3022 /* No inconsistent updates on outer joins */
#define JET_errQueryNullRequired -3023 /* Column must be NULL */
#define JET_errQueryNoOutputs -3024 /* Query must have an output */
#define JET_errQueryNoInputTables -3025 /* Query must have an input */
#define JET_wrnQueryNonUpdatableRvt 3026 /* Query is not updatable (but IS RVT) */
#define JET_errQueryInvalidAlias -3027 /* Bogus character in alias name */
#define JET_errQueryInvalidBulkInput -3028 /* Cannot input from bulk operation */
#define JET_errQueryNotDirectChild -3029 /* T.* must use direct child */
#define JET_errQueryExprEvaluation -3030 /* Expression evaluation error */
#define JET_errQueryIsNotRowReturning -3031 /* Query does not return rows */
#define JET_wrnQueryNonRvt 3032 /* Can't create RVT, query is static */
#define JET_errQueryParmTypeMismatch -3033 /* Wrong parameter type given */
#define JET_errQueryChanging -3034 /* Query Objects are being updated */
#define JET_errQueryNotUpdatable -3035 /* Operation must use an updatable query */
#define JET_errQueryMissingColumnName -3036 /* Missing destination column */
#define JET_errQueryTableDuplicate -3037 /* Repeated table name in FROM list */
#define JET_errQueryIsMGB -3038 /* Query is an MGB */
#define JET_errQueryInsIntoBulkMGB -3039 /* Cannot insert into Bulk/MGB */
#define JET_errQueryDistinctNotAllowed -3040 /* DISTINCT not allowed for MGB */
#define JET_errQueryDistinctRowNotAllow -3041 /* DISTINCTROW not allowed for MGB */
#define JET_errQueryNoDbForParmDestTbl -3045 /* Dest DB for VT parm not allowed */
#define JET_errQueryDuplicatedFixedSet -3047 /* Duplicated Fixed Value */
#define JET_errQueryNoDeleteTables -3048 /* Must specify tables to delete from */
#define JET_errQueryCannotDelete -3049 /* Cannot delete from specified tables */
#define JET_errQueryTooManyGroupExprs -3050 /* Too many GROUP BY expressions */
#define JET_errQueryTooManyOrderExprs -3051 /* Too many ORDER BY expressions */
#define JET_errQueryTooManyDistExprs -3052 /* Too many DISTINCT output expressions */
#define JET_errQueryBadValueList -3053 /* Malformed value list in Transform */
#define JET_errConnStrTooLong -3054 /* Connect string too long */
#define JET_errQueryInvalidParm -3055 /* Invalid Parmeter Name (>64 char) */
#define JET_errQueryContainsDbParm -3056 /* Can't get parameters with Db Parm */
#define JET_errQueryBadUpwardRefed -3057 /* Illegally Upward ref'ed */
#define JET_errQueryAmbiguousJoins -3058 /* Joins in a QO are ambiguous */
#define JET_errQueryIsNotDDL -3059 /* Not a DDL Operation */
#define JET_errNoDbInConnStr -3060 /* No database in connect string */
#define JET_wrnQueryIsNotRowReturning 3061 /* Not row returning */
#define JET_errTooManyFindSessions -3062 /* RVT already has a find session open */
#define JET_errSingleValueExpected -3063 /* At most one record with one column can be returned from a scalar subquery */
#define JET_errColumnCountMismatch -3064 /* Union Query: number of columns in children dont match */
#define JET_errQueryTopNotAllowed -3065 /* Top not allowed for MGB */
#define JET_errQueryIsDDL -3066 /* Must set JET_bitTableDDL */
#define JET_errQueryIsCorrupt -3067 /* Query is Corrupt */
#define JET_errQuerySPTBulkSucceeded -3068 /* INTERNAL only */
#define JET_errSPTReturnedNoRecords -3069 /* SPT marked as RowReturning did not return a table */
#define JET_errExprSyntax -3100 /* Syntax error in expression */
#define JET_errExprIllegalType -3101 /* Illegal type in expression */
#define JET_errExprUnknownFunction -3102 /* Unknown function in expression */
#define JET_errSQLSyntax -3500 /* Bogus SQL statement type */
#define JET_errSQLParameterSyntax -3501 /* Parameter clause syntax error */
#define JET_errSQLInsertSyntax -3502 /* INSERT clause syntax error */
#define JET_errSQLUpdateSyntax -3503 /* UPDATE clause syntax error */
#define JET_errSQLSelectSyntax -3504 /* SELECT clause syntax error */
#define JET_errSQLDeleteSyntax -3505 /* Expected 'FROM' after 'DELETE' */
#define JET_errSQLFromSyntax -3506 /* FROM clause syntax error */
#define JET_errSQLGroupBySyntax -3507 /* GROUP BY clause syntax error */
#define JET_errSQLOrderBySyntax -3508 /* ORDER BY clause syntax error */
#define JET_errSQLLevelSyntax -3509 /* LEVEL syntax error */
#define JET_errSQLJoinSyntax -3510 /* JOIN syntax error */
#define JET_errSQLTransformSyntax -3511 /* TRANSFORM syntax error */
#define JET_errSQLHavingSyntax -3512 /* HAVING clause syntax error */
#define JET_errSQLWhereSyntax -3513 /* WHERE clause syntax error */
#define JET_errSQLProcedureSyntax -3514 /* Expected query name after 'PROCEDURE' */
#define JET_errSQLNotEnoughBuf -3515 /* Buffer too small for SQL string */
#define JET_errSQLMissingSemicolon -3516 /* Missing ; at end of SQL statement */
#define JET_errSQLTooManyTokens -3517 /* Characters after end of SQL statement */
#define JET_errSQLOwnerAccessSyntax -3518 /* OWNERACCESS OPTION syntax error */
#define JET_errV11NotSupported -3519 /* not supported in V11 */
#define JET_errV10Format -3520 /* can be present in V10 format only */
#define JET_errSQLUnionSyntax -3521 /* UNION query syntax error */
#define JET_errSqlPassThrough -3523 /* Pass Through query Disallowed */
#define JET_wrnSqlPassThrough 3524 /* Pass Through query involved */
#define JET_errDDLConstraintSyntax -3550 /* constraint syntax error */
#define JET_errDDLCreateTableSyntax -3551 /* create table syntax error */
#define JET_errDDLCreateIndexSyntax -3552 /* create index syntax error */
#define JET_errDDLColumnDefSyntax -3553 /* column def syntax error */
#define JET_errDDLAlterTableSyntax -3554 /* alter table syntax error */
#define JET_errDDLDropIndexSyntax -3555 /* drop index syntax error */
#define JET_errDDLDropSyntax -3556 /* drop view/procedure syntax error */
#define JET_errDDLCreateViewSyntax -3557 /* create view syntax error */
#define JET_errNoSuchProperty -3600 /* Property was not found */
#define JET_errPropertyTooLarge -3601 /* Small Property larger than 2K */
#define JET_errJPMInvalidForV1x -3602 /* No JPM for V1.x databases */
#define JET_errPropertyExists -3603 /* Property already exists */
#define JET_errInvalidDelete -3604 /* DeleteOnly called with non-zero cbData */
#define JET_wrnFindWrapped 3700 /* Cursor wrapped during fast find */
#define JET_errTLVNativeUserTablesOnly -3700 /* TLVs can only be placed on native user tables/columns */
#define JET_errTLVNoNull -3701 /* This field cannot be null */
#define JET_errTLVNoBlank -3702 /* This column cannot be blank */
#define JET_errTLVRuleViolation -3703 /* This validation rule must be met */
#define JET_errTLVInvalidColumn -3704 /* This TLV property cannot be placed on this column */
#define JET_errTLVExprEvaluation -3705 /* Expression evaluation error */
#define JET_errTLVExprUnknownFunc -3706 /* Unknown function in TLV expression */
#define JET_errTLVExprSyntax -3707 /* Syntax error in TLV expression */
/* CONSIDER: Remove the following error. */
#define JET_errGeneral -5001 /* I-ISAM: assert failure */
#define JET_errRecordLocked -5002 /* I-ISAM: record locked */
#define JET_wrnColumnDataTruncated 5003 /* I-ISAM: data truncated */
#define JET_errTableNotOpen -5004 /* I-ISAM: table is not open */
#define JET_errDecryptFail -5005 /* I-ISAM: incorrect password */
#define JET_wrnCurrencyLost 5007 /* I-ISAM: currency lost - must first/last */
#define JET_errDateOutOfRange -5008 /* I-ISAM: invalid date */
#define JET_wrnOptionsIgnored 5011 /* I-ISAM: options were ignored */
#define JET_errTableNotComplete -5012 /* I-ISAM: incomplete table definition */
#define JET_errIllegalNetworkOption -5013 /* I-ISAM: illegal network option */
#define JET_errIllegalTimeoutOption -5014 /* I-ISAM: illegal timeout option */
#define JET_errNotExternalFormat -5015 /* I-ISAM: invalid file format */
#define JET_errUnexpectedEngineReturn -5016 /* I-ISAM: unexpected engine error code */
#define JET_errNumericFieldOverflow -5017 /* I-ISAM: can't convert to native type */
#define JET_errIndexHasNoPrimary -5020 /* Paradox: no primary index */
#define JET_errTableSortOrderMismatch -5021 /* Paradox: sort order mismatch */
#define JET_errNoConfigParameters -5023 /* Paradox: net path or user name missing */
#define JET_errCantAccessParadoxNetDir -5024 /* Paradox: bad Paradox net path */
#define JET_errObsoleteLockFile -5025 /* Paradox: obsolete lock file */
#define JET_errIllegalCollatingSequence -5026 /* Paradox: invalid sort sequence */
#define JET_errWrongCollatingSequence -5027 /* Paradox: wrong sort sequence */
#define JET_errCantUseUnkeyedTable -5028 /* Paradox: can't open unkeyed table */
#define JET_errINFFileError -5101 /* dBase: invalid .INF file */
#define JET_errCantMakeINFFile -5102 /* dBase: can't open .INF file */
#define JET_wrnCantMaintainIndex 5103 /* dBase: unmaintainable index */
#define JET_errMissingMemoFile -5104 /* dBase: missing memo file */
#define JET_errIllegalCenturyOption -5105 /* dBase: Illegal century option */
#define JET_errIllegalDeletedOption -5106 /* dBase: Illegal deleted option */
#define JET_errIllegalStatsOption -5107 /* dBase: Illegal statistics option */
#define JET_errIllegalDateOption -5108 /* dBase: Illegal date option */
#define JET_errIllegalMarkOption -5109 /* dBase: Illegal mark option */
#define JET_wrnDuplicateIndexes 5110 /* dBase: duplicate indexes in INF file */
#define JET_errINFIndexNotFound -5111 /* dBase: missing index in INF file */
#define JET_errWrongMemoFileType -5112 /* dBase: wrong memo file type */
#define JET_errIllegalExactOption -5113 /* dBase: Illegal exact option */
#define JET_errTooManyLongFields -5200 /* Btrieve: more than one memo field */
#define JET_errCantStartBtrieve -5201 /* Btrieve: wbtrcall.dll missing */
#define JET_errBadConfigParameters -5202 /* Btrieve: win.ini [btrieve] options wrong */
#define JET_errIndexesChanged -5203 /* Btrieve: need to GetIndexInfo */
#define JET_errNonModifiableKey -5204 /* Btrieve: can't modify record column */
#define JET_errOutOfBVResources -5205 /* Btrieve: out of resources */
#define JET_errBtrieveDeadlock -5206 /* Btrieve: locking deadlock */
#define JET_errBtrieveFailure -5207 /* Btrieve: Btrieve DLL failure */
#define JET_errBtrieveDDCorrupted -5208 /* Btrieve: data dictionary corrupted */
#define JET_errBtrieveTooManyTasks -5209 /* Btrieve: too many tasks */
#define JET_errIllegalIndexDDFOption -5210 /* Btrieve: Illegal IndexDDF option */
#define JET_errIllegalDataCodePage -5211 /* Btrieve: Illeagl DataCodePage option */
#define JET_errXtrieveEnvironmentError -5212 /* Btrieve: Xtrieve INI options bad */
#define JET_errMissingDDFFile -5213 /* Btrieve: Missing field.ddf */
#define JET_errIlleaglIndexNumberOption -5214 /* Btrieve: Illeagl IndexRenumber option */
/* Extended error codes must be in the following range. */
/* Major error codes may not be in this range. */
#define JET_errMinorLeast -8000
#define JET_errMinorMost -8999
#define JET_errFindExprSyntax -8001 /* Syntax error in FastFind expression */
#define JET_errQbeExprSyntax -8002 /* Syntax error in QBE expression */
#define JET_errInputTableNotFound -8003 /* Non-existant object in FROM list */
#define JET_errQueryExprSyntax -8004 /* Syntax error in some query expression */
#define JET_errQodefExprSyntax -8005 /* Syntax error in expression column */
#define JET_errExpAliasAfterAS -8006 /* Expected alias after 'AS' in FROM list */
#define JET_errExpBYAfterGROUP -8007 /* Expected 'BY' after 'GROUP' */
#define JET_errExpBYAfterORDER -8008 /* Expected 'BY' after 'ORDER' */
#define JET_errExpClsParenAfterColList -8009 /* Expected ')' after column list */
#define JET_errExpColNameAfterPIVOT -8010 /* Expected column name after 'PIVOT' */
#define JET_errExpDatabaseAfterIN -8011 /* Expected database name after 'IN' */
#define JET_errExpDatatypeAfterParmName -8012 /* Expected datatype after parameter name */
#define JET_errExpEqualAfterUpdColName -8013 /* Expected '=' after update column name */
#define JET_errExpExprAfterON -8014 /* Expected join expression after 'ON' */
#define JET_errExpExprAfterTRANSFORM -8015 /* Expected expression after 'TRANSFORM' */
#define JET_errExpExprAfterWHERE -8016 /* Expected expression after 'WHERE' */
#define JET_errExpGroupClauseInXform -8017 /* Transform expects GROUP BY clause */
#define JET_errExpGroupingExpr -8018 /* Expected grouping expression */
#define JET_errExpHavingExpr -8019 /* Expected HAVING expression */
#define JET_errExpINTOAfterINSERT -8020 /* Expected 'INTO' after 'INSERT' */
#define JET_errExpJOINAfterJoinType -8021 /* Expected 'JOIN' after INNER/LEFT/RIGHT */
#define JET_errExpLEVELAfterSelectList -8022 /* Expected LEVEL after select list */
#define JET_errExpNumberAfterLEVEL -8023 /* Expected number after 'LEVEL' */
#define JET_errExpONAfterRightTable -8024 /* Expected 'ON' after right join table */
#define JET_errExpOrderExpr -8025 /* Expected ordering expression */
#define JET_errExpOutputAliasAfterAS -8026 /* Expected output alias after 'AS' */
#define JET_errExpOutputExpr -8027 /* Expected output expression */
#define JET_errExpPIVOTAfterSelectStmt -8028 /* Expected 'PIVOT' after SELECT statement */
#define JET_errExpRightJoinTable -8029 /* Expected right join table after 'JOIN' */
#define JET_errExpSELECTAfterInsClause -8030 /* Expected 'SELECT' after INSERT clause */
#define JET_errExpSELECTAfterXformExpr -8031 /* Expected 'SELECT' after Transform fact */
#define JET_errExpSETAfterTableName -8032 /* Expected 'SET' after table name */
#define JET_errExpSemiAfterLevelNumber -8033 /* Expected ';' after level number */
#define JET_errExpSemiAfterParmList -8034 /* Expected ';' after parmeter list */
#define JET_errExpSemiAfterPivotClause -8035 /* Expected ';' after PIVOT clause */
#define JET_errExpSemiAtEndOfSQL -8036 /* Expected ';' at end of SQL statement */
#define JET_errExpTableName -8037 /* Expected table name */
#define JET_errExpTableNameAfterINTO -8038 /* Expected table name after 'INTO' */
#define JET_errExpUpdExprAfterEqual -8039 /* Expected update expression after '=' */
#define JET_errExpUpdateColName -8040 /* Expected update column name */
#define JET_errInvTokenAfterFromList -8041 /* Bogus token after FROM list */
#define JET_errInvTokenAfterGroupList -8042 /* Bogus token after GROUP BY list */
#define JET_errInvTokenAfterHavingCls -8043 /* Bogus token after HAVING clause */
#define JET_errInvTokenAfterOrderClause -8044 /* Bogus token after ORDER BY clause */
#define JET_errInvTokenAfterSelectCls -8045 /* Bogus token after SELECT clause */
#define JET_errInvTokenAfterWhereClause -8046 /* Bogus token after WHERE clause */
#define JET_errLevelNumberTooBig -8047 /* Number after 'LEVEL' too big */
#define JET_errLevelOnNonMGB -8048 /* LEVEL allowed only in MGB */
#define JET_errIllegalDetailReference -8049 /* Not group key or agg, but not MGB detail */
#define JET_errAggOverMixedLevels -8050 /* Agg. arg. uses outputs from > 1 level */
#define JET_errAggregatingHigherLevel -8051 /* Agg. over output of same/higher level */
#define JET_errNullInJoinKey -8052 /* Cannot set column in join key to NULL */
#define JET_errValueBreaksJoin -8053 /* Join is broken by column value(s) */
#define JET_errInsertIntoUnknownColumn -8054 /* INSERT INTO unknown column name */
#define JET_errNoSelectIntoColumnName -8055 /* No dest. col. name in SELECT INTO stmt */
#define JET_errNoInsertColumnName -8056 /* No dest. col. name in INSERT stmt */
#define JET_errColumnNotInJoinTable -8057 /* Join expr refers to non-join table */
#define JET_errAggregateInJoin -8058 /* Aggregate in JOIN clause */
#define JET_errAggregateInWhere -8059 /* Aggregate in WHERE clause */
#define JET_errAggregateInOrderBy -8060 /* Aggregate in ORDER BY clause */
#define JET_errAggregateInGroupBy -8061 /* Aggregate in GROUP BY clause */
#define JET_errAggregateInArgument -8062 /* Aggregate in argument expression */
#define JET_errHavingOnTransform -8063 /* HAVING clause on TRANSFORM query */
#define JET_errHavingWithoutGrouping -8064 /* HAVING clause w/o grouping/aggregation */
#define JET_errHavingOnMGB -8065 /* HAVING clause on MGB query */
#define JET_errOutputAliasCycle -8066 /* Cycle in SELECT list (via aliases) */
#define JET_errDotStarWithGrouping -8067 /* 'T.*' with grouping, but not MGB level 0 */
#define JET_errStarWithGrouping -8068 /* '*' with grouping, but not MGB detail */
#define JET_errQueryTreeCycle -8069 /* Cycle in tree of query objects */
#define JET_errTableRepeatInFromList -8072 /* Table appears twice in FROM list */
#define JET_errTooManyXformLevels -8073 /* Level > 2 in TRANSFORM query */
#define JET_errTooManyMGBLevels -8074 /* Too many levels in MGB */
#define JET_errNoUpdateColumnName -8075 /* No dest. column name in UPDATE stmt */
#define JET_errJoinTableNotInput -8076 /* Join table not in FROM list */
#define JET_errUnaliasedSelfJoin -8077 /* Join tables have same name */
#define JET_errOutputLevelTooBig -8078 /* Output w/ level > 1+max group level */
#define JET_errOrderVsGroup -8079 /* ORDER BY conflicts with GROUP BY */
#define JET_errOrderVsDistinct -8080 /* ORDER BY conflicts with DISTINCT */
#define JET_errExpLeftParenthesis -8082 /* Expected '(' */
#define JET_errExpRightParenthesis -8083 /* Expected ')' */
#define JET_errEvalEBESErr -8084 /* EB/ES error evaluating expression */
#define JET_errQueryExpCloseQuote -8085 /* Unmatched quote for database name */
#define JET_errQueryParmNotDatabase -8086 /* Parameter type should be database */
#define JET_errQueryParmNotTableid -8087 /* Parameter type should be tableid */
#define JET_errExpIdentifierM -8088 /* Expected identifier */
#define JET_errExpQueryName -8089 /* Expected query name after PROCEDURE */
#define JET_errExprUnknownFunctionM -8090 /* Unknown function in expression */
#define JET_errQueryAmbigRefM -8091 /* Ambiguous column reference */
#define JET_errQueryBadBracketing -8092 /* Bad bracketing of identifier */
#define JET_errQueryBadQodefName -8093 /* Invalid name in QODEF row */
#define JET_errQueryBulkColNotUpd -8094 /* Column not updatable (bulk op) */
#define JET_errQueryDistinctNotAllowedM -8095 /* DISTINCT not allowed for MGB */
#define JET_errQueryDuplicateAliasM -8096 /* Duplicate output alias */
#define JET_errQueryDuplicateOutputM -8097 /* Duplicate destination output */
#define JET_errQueryDuplicatedFixedSetM -8098 /* Duplicated Fixed Value */
#define JET_errQueryIllegalOuterJoinM -8099 /* No inconsistent updates on outer joins */
#define JET_errQueryIncompleteRowM -8100 /* Missing value in row */
#define JET_errQueryInvalidAttributeM -8101 /* Invalid query attribute */
#define JET_errQueryInvalidBulkInputM -8102 /* Cannot input from bulk operation */
#define JET_errQueryInvalidFlagM -8103 /* Invalid value in Flag field */
#define JET_errQueryInvalidMGBInputM -8104 /* Cannot input from MGB */
#define JET_errQueryLVInAggregate -8105 /* Illegal long value in aggregate */
#define JET_errQueryLVInDistinct -8106 /* Illegal long value in DISTINCT */
#define JET_errQueryLVInGroupBy -8107 /* Illegal long value in GROUP BY */
#define JET_errQueryLVInHaving -8108 /* Illegal long value in HAVING */
#define JET_errQueryLVInJoin -8109 /* Illegal long value in JOIN */
#define JET_errQueryLVInOrderBy -8110 /* Illegal long value in ORDER BY */
#define JET_errQueryMissingLevelM -8111 /* Missing intermediate MGB level */
#define JET_errQueryMissingParmsM -8112 /* Too few parameters supplied */
#define JET_errQueryNoDbForParmDestTblM -8113 /* Dest DB for VT parm not allowed */
#define JET_errQueryNoDeletePerm -8114 /* No delete permission on table/query */
#define JET_errQueryNoInputTablesM -8115 /* Query must have an input */
#define JET_errQueryNoInsertPerm -8116 /* No insert permission on table/query */
#define JET_errQueryNoOutputsM -8117 /* Query must have an output */
#define JET_errQueryNoReadDefPerm -8118 /* No permission to read query definition */
#define JET_errQueryNoReadPerm -8119 /* No read permission on table/query */
#define JET_errQueryNoReplacePerm -8120 /* No replace permission on table/query */
#define JET_errQueryNoTblCrtPerm -8121 /* No CreateTable permission (bulk op) */
#define JET_errQueryNotDirectChildM -8122 /* T.* must use direct child */
#define JET_errQueryNullRequiredM -8123 /* Column must be NULL */
#define JET_errQueryOnlyOneRowM -8124 /* Only 1 such row allowed */
#define JET_errQueryOutputColNotUpd -8125 /* Query output column not updatable */
#define JET_errQueryParmRedefM -8126 /* Parm redefined with different type */
#define JET_errQueryParmTypeMismatchM -8127 /* Wrong parameter type given */
#define JET_errQueryUnboundRefM -8128 /* Cannot bind name */
#define JET_errRmtConnectFailedM -8129 /* RMT: Connection attempt failed */
#define JET_errRmtDeleteFailedM -8130 /* RMT: Delete statement failed */
#define JET_errRmtInsertFailedM -8131 /* RMT: Insert statement failed */
#define JET_errRmtMissingOdbcDllM -8132 /* RMT: Can't load ODBC DLL */
#define JET_errRmtSqlErrorM -8133 /* RMT: ODBC call failed */
#define JET_errRmtUpdateFailedM -8134 /* RMT: Update statement failed */
#define JET_errSQLDeleteSyntaxM -8135 /* Expected 'FROM' after 'DELETE' */
#define JET_errSQLSyntaxM -8136 /* Bogus SQL statement type */
#define JET_errSQLTooManyTokensM -8137 /* Characters after end of SQL statement */
#define JET_errStarNotAtLevel0 -8138 /* '*' illegal above level 0 */
#define JET_errQueryParmTypeNotAllowed -8139 /* Parameter type not allowed for expression */
#define JET_errQueryTooManyDestColumn -8142 /* Too many destination column sepcified */
#define JET_errSQLNoInsertColumnName -8143 /* No dest. col. name in INSERT stmt */
#define JET_errRmtLinkNotFound -8144 /* RMT: link not found */
#define JET_errRmtTooManyColumns -8145 /* RMT: Too many columns on Select Into */
#define JET_errWriteConflictM -8146 /* Write lock failed due to outstanding write lock */
#define JET_errReadConflictM -8147 /* Commit lock failed due to outstanding read lock */
#define JET_errCommitConflictM -8148 /* Read lock failed due to outstanding commit lock */
#define JET_errTableLockedM -8149 /* Table is exclusively locked */
#define JET_errTableInUseM -8150 /* Table is in use, cannot lock */
#define JET_errQueryTooManyXvtColumn -8151 /* Too many cross table column headers */
#define JET_errOutputTableNotFound -8152 /* Non-existent table in Insert Into */
#define JET_errTableLockedQM -8153 /* Table is exclusively locked */
#define JET_errTableInUseQM -8154 /* Table is in use, cannot lock */
#define JET_errTableLockedMUQM -8155 /* Table is exclusively locked */
#define JET_errTableInUseMUQM -8156 /* Table is in use, cannot lock */
#define JET_errQueryInvalidParmM -8157 /* Invalid Parmeter Name (>64 char) */
#define JET_errFileNotFoundM -8158 /* File not found */
#define JET_errFileShareViolationM -8159 /* File sharing violation */
#define JET_errFileAccessDeniedM -8160 /* Access denied */
#define JET_errInvalidPathM -8161 /* Invalid Path */
#define JET_errTableDuplicateM -8162 /* Table already exists */
#define JET_errQueryBadUpwardRefedM -8163 /* Illegally Upward ref'ed */
#define JET_errIntegrityViolMasterM -8164 /* References to key exist */
#define JET_errIntegrityViolSlaveM -8165 /* No referenced key exists */
#define JET_errSQLUnexpectedWithM -8166 /* Unexpected 'with' in this place */
#define JET_errSQLOwnerAccessM -8167 /* Owner Access Option is defined Twice */
#define JET_errSQLOwnerAccessSyntaxM -8168 /* Owner Access Option Syntax Error */
#define JET_errSQLOwnerAccessDef -8169 /* Owner Access Option is defined more than once */
#define JET_errAccessDeniedM -8170 /* Generic Access Denied */
#define JET_errUnexpectedEngineReturnM -8171 /* I-ISAM: unexpected engine error code */
#define JET_errQueryTopNotAllowedM -8172 /* Top not allowed for MGB */
#define JET_errInvTokenAfterTableCls -8173 /* Bogus token after table clause */
#define JET_errInvTokenAfterRParen -8174 /* Unexpected tokens after a closing paren */
#define JET_errQueryBadValueListM -8175 /* Malformed value list in Transform */
#define JET_errQueryIsCorruptM -8176 /* Query is Corrupt */
#define JET_errInvalidTopArgumentM -8177 /* Select Top argument is invalid */
#define JET_errQueryIsSnapshot -8178 /* Query is a snapshot */
#define JET_errQueryExprOutput -8179 /* Output is a calculated column */
#define JET_errQueryTableRO -8180 /* Column comes from read-only table */
#define JET_errQueryRowDeleted -8181 /* Column comes from deleted row */
#define JET_errQueryRowLocked -8182 /* Column comes from locked row */
#define JET_errQueryFixupChanged -8183 /* Would row-fixup away from pending changes */
#define JET_errQueryCantFillIn -8184 /* Fill-in-the-blank only on most-many */
#define JET_errQueryWouldOrphan -8185 /* Would orphan joined records */
#define JET_errIncorrectJoinKeyM -8186 /* Must match join key in lookup table */
#define JET_errQueryLVInSubqueryM -8187 /* Illegal long value in subquery */
#define JET_errInvalidDatabaseM -8188 /* Unrecognized database format */
#define JET_errOrderVsUnion -8189 /* You can only order by an outputted column in a union */
#define JET_errTLVCouldNotBindRef -8190 /* Unknown token in TLV expression */
#define JET_errCouldNotBindRef -8191 /* Unknown token in FastFind expression */
#define JET_errQueryPKeyNotOutput -8192 /* Primary key not output */
#define JET_errQueryJKeyNotOutput -8193 /* Join key not output */
#define JET_errExclusiveDBConflict -8194 /* Conflict with exclusive user */
#define JET_errQueryNoJoinedRecord -8195 /* No F.I.T.B. insert if no joined record */
#define JET_errQueryLVInSetOp -8196 /* Illegal long value in set operation */
#define JET_errTLVExprUnknownFunctionM -8197 /* Unknown function in TLV expression */
#define JET_errInvalidNameM -8198 /* Invalid name */
#define JET_errDDLExpColName -8200 /* expect column name */
#define JET_errDDLExpLP -8201 /* expect '(' */
#define JET_errDDLExpRP -8202 /* expect ')' */
#define JET_errDDLExpIndex -8203 /* expect INDEX */
#define JET_errDDLExpIndexName -8204 /* expect index name */
#define JET_errDDLExpOn -8205 /* expect ON */
#define JET_errDDLExpKey -8206 /* expect KEY */
#define JET_errDDLExpReferences -8207 /* expect REFERENCES */
#define JET_errDDLExpTableName -8208 /* expect table name */
#define JET_errDDLExpFullOrPartial -8209 /* expect FULL or PARTIAL */
#define JET_errDDLExpCascadeOrSet -8210 /* expect CASCADE or SET */
#define JET_errDDLExpNull -8211 /* expect NULL */
#define JET_errDDLExpUpdateOrDelete -8212 /* expect UPDATE or DELETE */
#define JET_errDDLExpConstraintName -8213 /* expect constraint name */
#define JET_errDDLExpForeign -8214 /* expect FOREIGN */
#define JET_errDDLExpDatatype -8215 /* expect data type */
#define JET_errDDLExpIndexOpt -8216 /* expect index options */
#define JET_errDDLExpWith -8217 /* expect WITH */
#define JET_errDDLExpTable -8218 /* expect TABLE */
#define JET_errDDLExpEos -8219 /* expect End Of String */
#define JET_errDDLExpAddOrDrop -8220 /* expect ADD or Drop */
#define JET_errDDLCreateView -8221 /* Create view not supported */
#define JET_errDDLCreateProc -8222 /* Create proc not supported */
#define JET_errDDLExpObjectName -8223 /* expect object name */
#define JET_errDDLExpColumn -8224 /* expect COLUMN */
#define JET_errV11TableNameNotInScope -8250 /* referenced table not in join clause */
#define JET_errV11OnlyTwoTables -8251 /* exactly two tables should be referenced in join */
#define JET_errV11OneSided -8252 /* all tables come from one side of input */
#define JET_errV11Ambiguous -8253 /* Join clause is ambiguous when stored in V1 format */
#define JET_errTLVExprSyntaxM -8260 /* Syntax error in TLV expression */
#define JET_errTLVNoNullM -8261 /* This field cannot be null */
#define JET_errTLVNoBlankM -8262 /* This column cannot be blank */
#define JET_errTLVRuleViolationM -8263 /* This validation rule must be met */
#define JET_errDDLCreateViewSyntaxM -8264 /* create view syntax error */
/***********************
The following error code ranges are reserved for external use.
As is true for Jet error codes, these ranges cover the negative
as well as positive form of the numbers in the range.
30000 through 30999 for use by Vt Object as defined in jeteb.h
32000 through 32767 for use by Import/Export as defined in jetutil.h
***********************/
/**********************************************************************/
/*********************** PROTOTYPES **************************/
/**********************************************************************/
#if !defined(_JET_NOPROTOTYPES)
/****************************************************************************
ISAM API
*****************************************************************************/
JET_ERR JET_API JetInit(JET_INSTANCE _far *pinstance);
JET_ERR JET_API JetTerm(JET_INSTANCE instance);
JET_ERR JET_API JetSetSystemParameter(JET_INSTANCE _far *pinstance, JET_SESID sesid, unsigned long paramid,
unsigned long lParam, const char _far *sz);
JET_ERR JET_API JetGetSystemParameter(JET_INSTANCE instance, JET_SESID sesid, unsigned long paramid,
unsigned long _far *plParam, char _far *sz, unsigned long cbMax);
JET_ERR JET_API JetGetLastErrorInfo(JET_SESID sesid,
JET_EXTERR _far *pexterr, unsigned long cbexterrMax,
char _far *sz1, unsigned long cch1Max,
char _far *sz2, unsigned long cch2Max,
char _far *sz3, unsigned long cch3Max,
unsigned long _far *pcch3Actual);
JET_ERR JET_API JetBeginSession(JET_INSTANCE instance, JET_SESID _far *psesid,
const char _far *szUserName, const char _far *szPassword);
JET_ERR JET_API JetDupSession(JET_SESID sesid, JET_SESID _far *psesid);
JET_ERR JET_API JetEndSession(JET_SESID sesid, JET_GRBIT grbit);
JET_ERR JET_API JetGetVersion(JET_SESID sesid, unsigned long _far *pwVersion);
JET_ERR JET_API JetIdle(JET_SESID sesid, JET_GRBIT grbit);
JET_ERR JET_API JetCapability(JET_SESID sesid, JET_DBID dbid,
unsigned long lArea, unsigned long lFunction, JET_GRBIT _far *pgrbit);
JET_ERR JET_API JetCreateDatabase(JET_SESID sesid,
const char _far *szFilename, const char _far *szConnect,
JET_DBID _far *pdbid, JET_GRBIT grbit);
JET_ERR JET_API JetAttachDatabase(JET_SESID sesid, const char _far *szFilename, JET_GRBIT grbit );
JET_ERR JET_API JetDetachDatabase(JET_SESID sesid, const char _far *szFilename);
JET_ERR JET_API JetCreateTable(JET_SESID sesid, JET_DBID dbid,
const char _far *szTableName, unsigned long lPages, unsigned long lDensity,
JET_TABLEID _far *ptableid);
JET_ERR JET_API JetRenameTable(JET_SESID sesid, JET_DBID dbid,
const char _far *szTableName, const char _far *szTableNew);
JET_ERR JET_API JetDeleteTable(JET_SESID sesid, JET_DBID dbid,
const char _far *szTableName);
JET_ERR JET_API JetGetTableColumnInfo(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szColumnName, void _far *pvResult, unsigned long cbMax,
unsigned long InfoLevel);
JET_ERR JET_API JetGetColumnInfo(JET_SESID sesid, JET_DBID dbid,
const char _far *szTableName, const char _far *szColumnName,
void _far *pvResult, unsigned long cbMax, unsigned long InfoLevel);
JET_ERR JET_API JetAddColumn(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szColumn, const JET_COLUMNDEF _far *pcolumndef,
const void _far *pvDefault, unsigned long cbDefault,
JET_COLUMNID _far *pcolumnid);
JET_ERR JET_API JetRenameColumn(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szColumn, const char _far *szColumnNew);
JET_ERR JET_API JetDeleteColumn(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szColumn);
JET_ERR JET_API JetGetTableIndexInfo(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szIndexName, void _far *pvResult, unsigned long cbResult,
unsigned long InfoLevel);
JET_ERR JET_API JetGetTableReferenceInfo(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szReferenceName, void _far *pvResult,
unsigned long cbResult, unsigned long InfoLevel);
JET_ERR JET_API JetGetTableInfo(JET_SESID sesid, JET_TABLEID tableid,
void _far *pvResult, unsigned long cbMax, unsigned long InfoLevel);
JET_ERR JET_API JetGetIndexInfo(JET_SESID sesid, JET_DBID dbid,
const char _far *szTableName, const char _far *szIndexName,
void _far *pvResult, unsigned long cbResult, unsigned long InfoLevel);
JET_ERR JET_API JetGetReferenceInfo(JET_SESID sesid, JET_DBID dbid,
const char _far *szTableName, const char _far *szReference,
void _far *pvResult, unsigned long cbResult, unsigned long InfoLevel);
JET_ERR JET_API JetCreateIndex(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szIndexName, JET_GRBIT grbit,
const char _far *szKey, unsigned long cbKey, unsigned long lDensity);
JET_ERR JET_API JetRenameIndex(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szIndex, const char _far *szIndexNew);
JET_ERR JET_API JetDeleteIndex(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szIndexName);
JET_ERR JET_API JetCreateReference(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szReferenceName, const char _far *szColumns,
const char _far *szReferencedTable,
const char _far *szReferencedColumns, JET_GRBIT grbit);
JET_ERR JET_API JetRenameReference(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szReference, const char _far *szReferenceNew);
JET_ERR JET_API JetDeleteReference(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szReferenceName);
JET_ERR JET_API JetGetObjectInfo(JET_SESID sesid, JET_DBID dbid,
JET_OBJTYP objtyp, const char _far *szContainerName,
const char _far *szObjectName, void _far *pvResult, unsigned long cbMax,
unsigned long InfoLevel);
JET_ERR JET_API JetCreateObject(JET_SESID sesid, JET_DBID dbid,
const char _far *szContainerName, const char _far *szObjectName,
JET_OBJTYP objtyp);
JET_ERR JET_API JetDeleteObject(JET_SESID sesid, JET_DBID dbid,
const char _far *szContainerName, const char _far *szObjectName);
JET_ERR JET_API JetRenameObject(JET_SESID sesid, JET_DBID dbid,
const char _far *szContainerName, const char _far *szObjectName,
const char _far *szObjectNew);
JET_ERR JET_API JetBeginTransaction(JET_SESID sesid);
JET_ERR JET_API JetCommitTransaction(JET_SESID sesid, JET_GRBIT grbit);
JET_ERR JET_API JetRollback(JET_SESID sesid, JET_GRBIT grbit);
JET_ERR JET_API JetUpdateUserFunctions(JET_SESID sesid);
JET_ERR JET_API JetGetDatabaseInfo(JET_SESID sesid, JET_DBID dbid,
void _far *pvResult, unsigned long cbMax, unsigned long InfoLevel);
JET_ERR JET_API JetCloseDatabase(JET_SESID sesid, JET_DBID dbid,
JET_GRBIT grbit);
JET_ERR JET_API JetCloseTable(JET_SESID sesid, JET_TABLEID tableid);
JET_ERR JET_API JetOpenDatabase(JET_SESID sesid, const char _far *szFilename,
const char _far *szConnect, JET_DBID _far *pdbid, JET_GRBIT grbit);
JET_ERR JET_API JetOpenTable(JET_SESID sesid, JET_DBID dbid,
const char _far *szTableName, const void _far *pvParameters,
unsigned long cbParameters, JET_GRBIT grbit, JET_TABLEID _far *ptableid);
JET_ERR JET_API JetDelete(JET_SESID sesid, JET_TABLEID tableid);
JET_ERR JET_API JetUpdate(JET_SESID sesid, JET_TABLEID tableid,
void _far *pvBookmark, unsigned long cbBookmark,
unsigned long _far *pcbActual);
JET_ERR JET_API JetRetrieveColumn(JET_SESID sesid, JET_TABLEID tableid,
JET_COLUMNID columnid, void _far *pvData, unsigned long cbData,
unsigned long _far *pcbActual, JET_GRBIT grbit, JET_RETINFO _far *pretinfo);
JET_ERR JET_API JetRetrieveColumns( JET_SESID sesid, JET_TABLEID tableid,
JET_RETRIEVECOLUMN *pretrievecolumn, unsigned long cretrievecolumn );
JET_ERR JET_API JetSetColumn(JET_SESID sesid, JET_TABLEID tableid,
JET_COLUMNID columnid, const void _far *pvData, unsigned long cbData,
JET_GRBIT grbit, JET_SETINFO _far *psetinfo);
JET_ERR JET_API JetSetColumns(JET_SESID sesid, JET_TABLEID tableid,
JET_SETCOLUMN *psetcolumn, unsigned long csetcolumn );
JET_ERR JET_API JetPrepareUpdate(JET_SESID sesid, JET_TABLEID tableid,
unsigned long prep);
JET_ERR JET_API JetGetRecordPosition(JET_SESID sesid, JET_TABLEID tableid,
JET_RECPOS _far *precpos, unsigned long cbRecpos);
JET_ERR JET_API JetGotoPosition(JET_SESID sesid, JET_TABLEID tableid,
JET_RECPOS *precpos );
JET_ERR JET_API JetGetCursorInfo(JET_SESID sesid, JET_TABLEID tableid,
void _far *pvResult, unsigned long cbMax, unsigned long InfoLevel);
JET_ERR JET_API JetDupCursor(JET_SESID sesid, JET_TABLEID tableid,
JET_TABLEID _far *ptableid, JET_GRBIT grbit);
JET_ERR JET_API JetGetCurrentIndex(JET_SESID sesid, JET_TABLEID tableid,
char _far *szIndexName, unsigned long cchIndexName);
JET_ERR JET_API JetSetCurrentIndex(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szIndexName);
JET_ERR JET_API JetMove(JET_SESID sesid, JET_TABLEID tableid,
long cRow, JET_GRBIT grbit);
JET_ERR JET_API JetMakeKey(JET_SESID sesid, JET_TABLEID tableid,
const void _far *pvData, unsigned long cbData, JET_GRBIT grbit);
JET_ERR JET_API JetSeek(JET_SESID sesid, JET_TABLEID tableid,
JET_GRBIT grbit);
JET_ERR JET_API JetFastFind(JET_SESID sesid, JET_DBID dbid,
JET_TABLEID tableid, const char _far *szExpr, JET_GRBIT grbit,
signed long _far *pcrow);
JET_ERR JET_API JetFastFindBegin(JET_SESID sesid, JET_DBID dbid,
JET_TABLEID tableid, const char _far *szExpr, JET_GRBIT grbit);
JET_ERR JET_API JetFastFindEnd(JET_SESID sesid, JET_TABLEID tableid);
JET_ERR JET_API JetGetBookmark(JET_SESID sesid, JET_TABLEID tableid,
void _far *pvBookmark, unsigned long cbMax,
unsigned long _far *pcbActual);
JET_ERR JET_API JetRefreshLink(JET_SESID sesid, JET_DBID dbid,
const char _far *szLinkName, const char _far *szConnect,
const char _far *szDatabase);
#ifdef _MSC_VER /* CONSIDER: CSL doesn't like this */
JET_ERR JET_API JetRepairDatabase(JET_SESID sesid, const char _far *lszDbFile,
JET_PFNSTATUS pfnstatus);
#endif /* _MSC_VER */
JET_ERR JET_API JetCompact(JET_SESID sesid, const char _far *szDatabaseSrc,
const char _far *szConnectSrc, const char _far *szDatabaseDest,
const char _far *szConnectDest, JET_PFNSTATUS pfnStatus,
JET_GRBIT grbit);
JET_ERR JET_API JetGotoBookmark(JET_SESID sesid, JET_TABLEID tableid,
void _far *pvBookmark, unsigned long cbBookmark);
JET_ERR JET_API JetComputeStats(JET_SESID sesid, JET_TABLEID tableid);
JET_ERR JET_API JetCreateRelationship(JET_SESID sesid,JET_DBID dbidIn,
const char _far *szRelationshipName, const char _far *szObjectName,
const char _far *szColumns, const char _far *szReferencedObject,
const char _far *szReferncedColumns, char _far *szLongName,
unsigned long cbMax, unsigned long _far *pcbActual, JET_GRBIT grbit);
JET_ERR JET_API JetDeleteRelationship(JET_SESID sesid, JET_DBID dbidIn,
const char _far *szName);
JET_ERR JET_API JetGetRelationshipInfo(JET_SESID sesid, JET_DBID dbid,
const char _far *szTableName, const char _far *szRelationship,
void _far *pvResult, unsigned long cbResult);
/*****************************************************************************
SEC API
*****************************************************************************/
JET_ERR JET_API JetGetSidFromName(JET_SESID sesid, const char _far *szName,
void _far *pvSid, unsigned long cbMax, unsigned long _far *pcbActual,
long _far *pfGroup);
JET_ERR JET_API JetGetNameFromSid(JET_SESID sesid,
const void _far *pvSid, unsigned long cbSid,
char _far *szName, unsigned long cchName, long _far *pfGroup);
JET_ERR JET_API JetCreateUser(JET_SESID sesid, const char _far *szUser,
const char _far *szPassword, const char _far *szPin);
JET_ERR JET_API JetChangeUserPassword(JET_SESID sesid,
const char _far *szUser, const char _far *szOldPassword,
const char _far *szNewPassword);
JET_ERR JET_API JetDeleteUser(JET_SESID sesid, const char _far *szUser);
JET_ERR JET_API JetCreateGroup(JET_SESID sesid, const char _far *szGroup,
const char _far *szPin);
JET_ERR JET_API JetAddMember(JET_SESID sesid,
const char _far *szGroup, const char _far *szUser);
JET_ERR JET_API JetRemoveMember(JET_SESID sesid,
const char _far *szGroup, const char _far *szUser);
JET_ERR JET_API JetDeleteGroup(JET_SESID sesid, const char _far *szGroup);
JET_ERR JET_API JetSetAccess(JET_SESID sesid, JET_DBID dbid,
const char _far *szContainerName, const char _far *szObjectName,
const char _far *szName, JET_ACM acm, JET_GRBIT grbit);
JET_ERR JET_API JetGetAccess(JET_SESID sesid, JET_DBID dbid,
const char _far *szContainerName, const char _far *szObjectName,
const char _far *szName, long fIndividual,
JET_ACM _far *pacm, JET_GRBIT _far *pgrbit);
JET_ERR JET_API JetValidateAccess(JET_SESID sesid, JET_DBID dbid,
const char _far *szContainerName, const char _far *szObjectName,
JET_ACM acmRequired);
JET_ERR JET_API JetSetOwner(JET_SESID sesid, JET_DBID dbid,
const char _far *szContainerName, const char _far *szObjectName,
const char _far *szName);
JET_ERR JET_API JetGetOwner(JET_SESID sesid, JET_DBID dbid,
const char _far *szContainerName, const char _far *szObjectName,
char _far *szName, unsigned long cchMax);
/*****************************************************************************
Property Management API
*****************************************************************************/
JET_ERR JET_API JetSetProperty(JET_SESID sesid, JET_DBID dbid,
const char _far *szContainerName, const char _far *szObjectName,
const char _far *szSubObjectName, const char _far *szPropertyName,
void _far *pvData, unsigned long cbData, JET_COLTYP coltyp,
JET_GRBIT grbit);
JET_ERR JET_API JetRetrieveProperty(JET_SESID sesid, JET_DBID dbid,
const char _far *szContainerName, const char _far *szObjectName,
const char _far *szSubObjectName, const char _far *szPropertyName,
void _far *pvData, unsigned long cbData, unsigned long _far *pcbActual,
JET_COLTYP _far *pcoltyp, JET_GRBIT grbit, unsigned long InfoLevel);
JET_ERR JET_API JetSetTableProperty(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szSubObjectName, const char _far *szPropertyName,
void _far *pvData, unsigned long cbData, JET_COLTYP coltyp,
JET_GRBIT grbit);
JET_ERR JET_API JetRetrieveTableProperty(JET_SESID sesid, JET_TABLEID tableid,
const char _far *szSubObjectName, const char _far *szPropertyName,
void _far *pvData, unsigned long cbData, unsigned long _far *pcbActual,
JET_COLTYP _far *pcoltyp, JET_GRBIT grbit, unsigned long InfoLevel);
/*****************************************************************************
LINK API
*****************************************************************************/
JET_ERR JET_API JetCreateLink(JET_SESID sesid, JET_DBID dbid,
const char _far *szLink, JET_DBID dbidFrom, const char _far *szFrom,
JET_GRBIT grbit);
JET_ERR JET_API JetExecuteSql(JET_SESID sesid, JET_DBID dbid,
const char _far *szSql);
/***************************************************************************
Query API
*****************************************************************************/
JET_ERR JET_API JetOpenVtQbe(JET_SESID sesid, const char _far *szExpn,
long _far *plCols, JET_TABLEID _far *ptableid, JET_GRBIT grbit);
JET_ERR JET_API JetCreateQuery(JET_SESID sesid, JET_DBID dbid,
const char _far *szQuery, JET_TABLEID _far *ptableid);
JET_ERR JET_API JetOpenQueryDef(JET_SESID sesid, JET_DBID dbid,
const char _far *szQuery, JET_TABLEID _far *ptableid);
/* CONSIDER: Is rgchSql a zero-terminated string? Maybe it should be for
* consistency.
*/
JET_ERR JET_API JetSetQoSql(JET_SESID sesid, JET_TABLEID tableid,
char _far *rgchSql, unsigned long cchSql, const char _far *szConnect,
JET_GRBIT grbit);
JET_ERR JET_API JetRetrieveQoSql(JET_SESID sesid, JET_TABLEID tableid,
char _far *rgchSql, unsigned long cchMax,
unsigned long _far *pcchActual, void _far *pvConnect,
unsigned long cbConnectMax, unsigned long _far *pcbConnectActual,
JET_GRBIT _far *pgrbit);
JET_ERR JET_API JetCopyQuery(JET_SESID sesid, JET_TABLEID tableidSrc,
JET_DBID dbidDest, const char _far *szQueryDest,
JET_TABLEID _far *ptableidDest);
JET_ERR JET_API JetOpenSVT(JET_SESID sesid, JET_DBID dbid,
const char _far *szQuery, const void _far *pvParameters,
unsigned long cbParameters, unsigned long crowSample, JET_GRBIT grbit,
void _far *pmgblist, unsigned long cbMax, unsigned long _far *pcbActual);
JET_ERR JET_API JetGetQueryParameterInfo(JET_SESID sesid, JET_DBID dbid,
const char _far *szQuery, void _far *pvResult, unsigned long cbMax,
unsigned long _far *pcbActual);
JET_ERR JET_API JetRestartQuery(JET_SESID sesid, JET_TABLEID tableid,
const void _far *pvParameters, unsigned long cbParameters);
JET_ERR JET_API JetSetFatCursor(JET_SESID sesid, JET_TABLEID tableid,
void _far *pvBookmark, unsigned long cbBookmark, unsigned long crowSize);
JET_ERR JET_API JetFillFatCursor(JET_SESID sesid, JET_TABLEID tableid,
void _far *pvBookmark, unsigned long cbBookmark, unsigned long crow,
unsigned long _far *pcrow, JET_GRBIT grbit);
JET_ERR JET_API JetExecuteTempQuery(JET_SESID sesid, JET_DBID dbid,
JET_TABLEID tableid, const void _far *pvParameters,
unsigned long cbParameters, JET_GRBIT grbit, JET_TABLEID _far *ptableid);
JET_ERR JET_API JetExecuteTempSVT(JET_SESID sesid, JET_DBID dbid,
JET_TABLEID tableid, const void _far *pvParameters,
unsigned long cbParameters, unsigned long crowSample, JET_GRBIT grbit,
void _far *pmgblist, unsigned long cbMax, unsigned long _far *pcbActual);
JET_ERR JET_API JetGetTempQueryColumnInfo(JET_SESID sesid, JET_DBID dbid,
JET_TABLEID tableid, const char _far *szColumnName,
void _far *pvResult, unsigned long cbMax, unsigned long InfoLevel);
JET_ERR JET_API JetGetTempQueryParameterInfo(JET_SESID sesid, JET_DBID dbid,
JET_TABLEID tableid, void _far *pvResult, unsigned long cbMax,
unsigned long _far *pcbActual);
JET_ERR JET_API JetValidateData(JET_SESID sesid, JET_TABLEID tableidBase,
JET_TABLEID _far *ptableid );
/***************************************************************************
API for Installable ISAMs
****************************************************************************/
typedef unsigned long JET_VSESID; /* Received from dispatcher */
struct tagVDBFNDEF;
typedef unsigned long JET_VDBID; /* Received from dispatcher */
JET_ERR JET_API JetAllocateDbid(JET_SESID sesid, JET_DBID _far *pdbid, JET_VDBID vdbid, const struct tagVDBFNDEF _far *pvdbfndef, JET_VSESID vsesid);
JET_ERR JET_API JetUpdateDbid(JET_SESID sesid, JET_DBID dbid, JET_VDBID vdbid, const struct tagVDBFNDEF _far *pvdbfndef);
JET_ERR JET_API JetReleaseDbid(JET_SESID sesid, JET_DBID dbid);
struct tagVTFNDEF;
typedef unsigned long JET_VTID; /* Received from dispatcher */
JET_ERR JET_API JetAllocateTableid(JET_SESID sesid, JET_TABLEID _far *ptableid, JET_VTID vtid, const struct tagVTFNDEF _far *pvtfndef, JET_VSESID vsesid);
JET_ERR JET_API JetUpdateTableid(JET_SESID sesid, JET_TABLEID tableid, JET_VTID vtid, const struct tagVTFNDEF _far *pvtfndef);
JET_ERR JET_API JetReleaseTableid(JET_SESID sesid, JET_TABLEID tableid);
JET_ERR JET_API JetOpenTempTable(JET_SESID sesid,
const JET_COLUMNDEF _far *prgcolumndef, unsigned long ccolumn,
JET_GRBIT grbit, JET_TABLEID _far *ptableid,
JET_COLUMNID _far *prgcolumnid);
/***************************************************************************
MISC JET API
****************************************************************************/
JET_ERR JET_API JetStringCompare(char _far *pb1, unsigned long cb1,
char _far *pb2, unsigned long cb2, unsigned long sort,
long _far *plResult);
/***************************************************************************
ADDITIONAL JET BLUE API
****************************************************************************/
JET_ERR JET_API JetBackup( const char _far *szBackupPath, JET_GRBIT grbit );
JET_ERR JET_API JetRestore(const char _far *sz, int crstmap, JET_RSTMAP *rgrstmap, JET_PFNSTATUS pfn );
JET_ERR JET_API JetSetIndexRange(JET_SESID sesid,
JET_TABLEID tableidSrc, JET_GRBIT grbit);
JET_ERR JET_API JetIndexRecordCount(JET_SESID sesid,
JET_TABLEID tableid, unsigned long _far *pcrec, unsigned long crecMax );
JET_ERR JET_API JetRetrieveKey(JET_SESID sesid,
JET_TABLEID tableid, void _far *pvData, unsigned long cbMax,
unsigned long _far *pcbActual, JET_GRBIT grbit );
#ifdef JETSER
JET_ERR JET_API JetGetChecksum( JET_SESID sesid,
JET_TABLEID tableid, unsigned long _far *pulChecksum );
JET_ERR JET_API JetGetObjidFromName(JET_SESID sesid,
JET_DBID dbid, const char _far *szContainerName,
const char _far *szObjectName,
unsigned long _far *pulObjectId );
#endif
#endif /* _JET_NOPROTOTYPES */
#undef _far
#pragma pack()
#ifdef __cplusplus
}
#endif
#endif /* _JET_INCLUDED */
#endif __JET500
|