|
root / base / usr / src / uts / common / smb
smb Plain Text 4493 lines 177.3 KB
   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
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
# Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
#

include ../../../Makefile.master

HDRS=	\
	doserror.h		\
	lmerr.h			\
	ntaccess.h		\
	nterror.h		\
	ntstatus.h		\
	winioctl.h		\
	wintypes.h


ROOTDIR= $(ROOT)/usr/include/smb
ROOTHDRS= $(HDRS:%=$(ROOTDIR)/%)
CHECKHDRS= $(HDRS:%.h=%.check)

$(ROOTDIR)/%: %
	$(INS.file)

$(ROOTDIR):
	$(INS.dir)

.KEEP_STATE:

.PARALLEL: $(CHECKHDRS)

install_h: $(ROOTDIR) $(ROOTHDRS)

check: $(CHECKHDRS)
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */

/*
 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
 */

#ifndef _SMB_DOSERROR_H
#define	_SMB_DOSERROR_H

/*
 * This file defines the list of DOS error codes. I think the error
 * codes are divided into different classes, which is why there are
 * duplicate values.
 */

#ifdef __cplusplus
extern "C" {
#endif


/*
 * Error source or class
 */
#define	ERRDOS		0x01	/* Core DOS operating system error. */
#define	ERRSRV		0x02	/* Server network file error */
#define	ERRHRD		0x03	/* Hardware error */
#define	ERRCMD		0xFF	/* Command was not in the "SMB" format. */


/*
 * ERRDOS error codes
 */
#define	ERRbadfunc	1	/* Invalid function. */
#define	ERRbadfile	2	/* File not found (last component) */
#define	ERRbadpath	3	/* path not found (directory part) */
#define	ERRnofids	4	/* Too many open files. */
#define	ERRnoaccess	5	/* Access denied. */
#define	ERRbadfid	6	/* Invalid file handle. */
#define	ERRbadmcb	7	/* Memory control blocks destroyed. */
#define	ERRnomem	8	/* Insufficient memory. */
#define	ERRbadmem	9	/* Invalid memory block address. */
#define	ERRbadenv	10	/* Invalid environment. */
#define	ERRbadformat	11	/* Invalid format. */
#define	ERRbadaccess	12	/* Invalid open mode. */
#define	ERRbaddata	13	/* Invalid data (from IOCTL calls) */
#define	ERRbaddrive	15	/* Invalid drive specified. */
#define	ERRremcd	16	/* Attempted to delete current directory. */
#define	ERRdiffdevice	17	/* Not same device (cross volume rename) */
#define	ERRnofiles	18	/* File search found no more files. */
#define	ERRbadshare	32	/* Share mode conflict with existing open. */
#define	ERRlock		33	/* Lock conflict with existing lock, etc. */
#define	ERRdiskfull	39	/* No space left on device. */
#define	ERRfilexists	80	/* Requested file name already exists. */

/*
 * These are compatible with the MS header files, but the
 * smb/nterror.h names for these are preferred.
 */
#define	ERRbadpipe	230	/* See ERROR_BAD_PIPE (named pipe invalid) */
#define	ERRpipebusy	231	/* See ERROR_PIPE_BUSY (all instances busy) */
#define	ERRpipeclosing	232	/* See ERROR_NO_DATA (pipe closing) */
#define	ERRnotconnected	233	/* See ERROR_PIPE_NOT_CONNECTED */
#define	ERRmoredata	234	/* See ERROR_MORE_DATA (pipe has more) */


/*
 * ERRSRV error codes
 */
#define	ERRerror	1	/* Non-specific error code. */
#define	ERRbadpw	2	/* Bad password (tree connect, etc) */
#define	ERRbadtype	3	/* reserved */
#define	ERRaccess	4	/* access denied */
#define	ERRinvnid	5	/* Invalid tree ID */
#define	ERRinvnetname	6	/* Invalid network name (tree connect) */
#define	ERRinvdevice	7	/* Invalid device (print jobs, etc.) */
#define	ERRqfull	49	/* Print queue full (files) */
#define	ERRqtoobig	50	/* Print queue full (no space) */
#define	ERRqeof		51	/* EOF on print queue dump. */
#define	ERRinvpfid	52	/* Invalid print file FID. */
#define	ERRsmbcmd	64	/* Server did not recognize the command. */
#define	ERRsrverror	65	/* Server encountered an internal error. */
#define	ERRfilespecs	67	/* FID and path param combination is bad. */
#define	ERRbadpermits	69	/* Access permissions invalid (SetF*) */
#define	ERRsetattrmode	71	/* Attribute mode invalid (SetF*) */
#define	ERRpaused	81	/* Server is paused. */
#define	ERRmsgoff	82	/* Not receiving messages. */
#define	ERRnoroom	83	/* No room to buffer message. */
#define	ERRrmuns	87	/* Too many remote user names (messaging) */
#define	ERRtimeout	88	/* Operation timed out. */
#define	ERRnoresource	89	/* No resources available for request. */
#define	ERRtoomanyuids	90	/* Too many UIDs active on connection. */
#define	ERRbaduid	91	/* UID is not valid. */

#define	ERRusempx	250	/* Temporarily unable to support Raw, */
				/* use MPX mode */
#define	ERRusestd	251	/* Temporarily unable to support Raw, */
				/* use stdandard r/w */
#define	ERRcontmpx	252	/* Continue in MPX mode */

#define	ERRnosupport	0xffff	/* Function not supported. */


/*
 * ERRHRD error codes
 */
#define	ERRnowrite	19	/* Attempt to write on write-protected media */
#define	ERRbadunit	20	/* Unknown unit. */
#define	ERRnotready	21	/* Drive not ready. */
#define	ERRbadcmd	22	/* Unknown command. */
#define	ERRdata		23	/* Data error (CRC). */
#define	ERRbadreq	24	/* Bad request structure length. */
#define	ERRseek		25	/* Seek error. */
#define	ERRbadmedia	26	/* Unknown media type. */
#define	ERRbadsector	27	/* Sector not found. */
#define	ERRnopaper	28	/* Printer out of paper. */
#define	ERRwrite	29	/* Write fault. */
#define	ERRread		30	/* Read fault. */
#define	ERRgeneral	31	/* General failure. */
/*	ERRbadshare	32	Same as for DOSERR (see above) */
/*	ERRlock		33	Same as for DOSERR (see above) */
#define	ERRwrongdisk	34	/* The wrong disk was found in a drive. */
#define	ERRFCBUnavail	35	/* No FCBs are available to process request. */
#define	ERRsharebufexc	36	/* A sharing buffer has been exceeded. */


#ifdef __cplusplus
}
#endif

#endif /* _SMB_DOSERROR_H */
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */

/*
 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
 */

#ifndef _SMB_LMERR_H
#define	_SMB_LMERR_H

/*
 * This file contains the LAN Manager network error definitions. All
 * network error codes are relative to NERR_BASE (2100), assigned by
 * Microsoft, to avoid conflicts with system and redirector error
 * codes. It should be safe to mix NERR error codes with the Win32
 * error codes defined in nterror.h.
 *
 * This file defines error codes in the range 2100 - 2999. NERR values
 * must not exceed MAX_NERR (2999); values above this are used by other
 * services.
 *
 * The range 2750-2799 has been allocated to the IBM LAN Server.
 * The range 2900-2999 has been reserved for Microsoft OEMs.
 *
 * See lmcons.h for information on the full LANMAN error code range.
 *
 * See msdn.microsoft.com for additional information on the meaning
 * of each error code.
 *
 * This file is compatible with the Windows SDK file: Include/LMErr.h
 * Please preserve this compatibility.
 */

#ifdef __cplusplus
extern "C" {
#endif

#define	NERR_Success		0

#define	NERR_BASE		2100

/* UNUSED BASE+0 */
/* UNUSED BASE+1 */
#define	NERR_NetNotStarted	(NERR_BASE+2)
#define	NERR_UnknownServer	(NERR_BASE+3)
#define	NERR_ShareMem		(NERR_BASE+4)

#define	NERR_NoNetworkResource	(NERR_BASE+5)
#define	NERR_RemoteOnly		(NERR_BASE+6)
#define	NERR_DevNotRedirected	(NERR_BASE+7)
/* NERR_BASE+8 is ERROR_CONNECTED_OTHER_PASSWORD */
/* NERR_BASE+9 is ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT */
/* UNUSED BASE+10 */
/* UNUSED BASE+11 */
/* UNUSED BASE+12 */
/* UNUSED BASE+13 */
#define	NERR_ServerNotStarted	(NERR_BASE+14)
#define	NERR_ItemNotFound	(NERR_BASE+15)
#define	NERR_UnknownDevDir	(NERR_BASE+16)
#define	NERR_RedirectedPath	(NERR_BASE+17)
#define	NERR_DuplicateShare	(NERR_BASE+18)
#define	NERR_NoRoom		(NERR_BASE+19)
/* UNUSED BASE+20 */
#define	NERR_TooManyItems	(NERR_BASE+21)
#define	NERR_InvalidMaxUsers	(NERR_BASE+22)
#define	NERR_BufTooSmall	(NERR_BASE+23)
/* UNUSED BASE+24 */
/* UNUSED BASE+25 */
/* UNUSED BASE+26 */
#define	NERR_RemoteErr		(NERR_BASE+27)
/* UNUSED BASE+28 */
/* UNUSED BASE+29 */
/* UNUSED BASE+30 */
#define	NERR_LanmanIniError	(NERR_BASE+31)
/* UNUSED BASE+32 */
/* UNUSED BASE+33 */
/* UNUSED BASE+34 */
/* UNUSED BASE+35 */
#define	NERR_NetworkError	(NERR_BASE+36)
#define	NERR_WkstaInconsistentState (NERR_BASE+37)
#define	NERR_WkstaNotStarted	(NERR_BASE+38)
#define	NERR_BrowserNotStarted	(NERR_BASE+39)
#define	NERR_InternalError	(NERR_BASE+40)
#define	NERR_BadTransactConfig	(NERR_BASE+41)
#define	NERR_InvalidAPI		(NERR_BASE+42)
#define	NERR_BadEventName	(NERR_BASE+43)
#define	NERR_DupNameReboot	(NERR_BASE+44)

/*
 * Config API related
 * Error codes from BASE+45 to BASE+49
 */
/* UNUSED BASE+45 */
#define	NERR_CfgCompNotFound	(NERR_BASE+46)
#define	NERR_CfgParamNotFound	(NERR_BASE+47)
#define	NERR_LineTooLong	(NERR_BASE+49)

/*
 * Spooler API related
 * Error codes from BASE+50 to BASE+79
 */
#define	NERR_QNotFound		(NERR_BASE+50)
#define	NERR_JobNotFound	(NERR_BASE+51)
#define	NERR_DestNotFound	(NERR_BASE+52)
#define	NERR_DestExists		(NERR_BASE+53)
#define	NERR_QExists		(NERR_BASE+54)
#define	NERR_QNoRoom		(NERR_BASE+55)
#define	NERR_JobNoRoom		(NERR_BASE+56)
#define	NERR_DestNoRoom		(NERR_BASE+57)
#define	NERR_DestIdle		(NERR_BASE+58)
#define	NERR_DestInvalidOp	(NERR_BASE+59)
#define	NERR_ProcNoRespond	(NERR_BASE+60)
#define	NERR_SpoolerNotLoaded	(NERR_BASE+61)
#define	NERR_DestInvalidState	(NERR_BASE+62)
#define	NERR_QInvalidState	(NERR_BASE+63)
#define	NERR_JobInvalidState	(NERR_BASE+64)
#define	NERR_SpoolNoMemory	(NERR_BASE+65)
#define	NERR_DriverNotFound	(NERR_BASE+66)
#define	NERR_DataTypeInvalid	(NERR_BASE+67)
#define	NERR_ProcNotFound	(NERR_BASE+68)

/*
 * Service API related
 * Error codes from BASE+80 to BASE+99
 */
#define	NERR_ServiceTableLocked (NERR_BASE+80)
#define	NERR_ServiceTableFull	(NERR_BASE+81)
#define	NERR_ServiceInstalled	(NERR_BASE+82)
#define	NERR_ServiceEntryLocked (NERR_BASE+83)
#define	NERR_ServiceNotInstalled (NERR_BASE+84)
#define	NERR_BadServiceName	(NERR_BASE+85)
#define	NERR_ServiceCtlTimeout	(NERR_BASE+86)
#define	NERR_ServiceCtlBusy	(NERR_BASE+87)
#define	NERR_BadServiceProgName (NERR_BASE+88)
#define	NERR_ServiceNotCtrl	(NERR_BASE+89)
#define	NERR_ServiceKillProc	(NERR_BASE+90)
#define	NERR_ServiceCtlNotValid (NERR_BASE+91)
#define	NERR_NotInDispatchTbl	(NERR_BASE+92)
#define	NERR_BadControlRecv	(NERR_BASE+93)
#define	NERR_ServiceNotStarting (NERR_BASE+94)

/*
 * Wksta and Logon API related
 * Error codes from BASE+100 to BASE+118
 */
#define	NERR_AlreadyLoggedOn	(NERR_BASE+100)
#define	NERR_NotLoggedOn	(NERR_BASE+101)
#define	NERR_BadUsername	(NERR_BASE+102)
#define	NERR_BadPassword	(NERR_BASE+103)
#define	NERR_UnableToAddName_W	(NERR_BASE+104)
#define	NERR_UnableToAddName_F	(NERR_BASE+105)
#define	NERR_UnableToDelName_W	(NERR_BASE+106)
#define	NERR_UnableToDelName_F	(NERR_BASE+107)
/* UNUSED BASE+108 */
#define	NERR_LogonsPaused	(NERR_BASE+109)
#define	NERR_LogonServerConflict (NERR_BASE+110)
#define	NERR_LogonNoUserPath	(NERR_BASE+111)
#define	NERR_LogonScriptError	(NERR_BASE+112)
/* UNUSED BASE+113 */
#define	NERR_StandaloneLogon	(NERR_BASE+114)
#define	NERR_LogonServerNotFound (NERR_BASE+115)
#define	NERR_LogonDomainExists	(NERR_BASE+116)
#define	NERR_NonValidatedLogon	(NERR_BASE+117)

/*
 * ACF API related (access, user, group)
 * Error codes from BASE+119 to BASE+149
 */
#define	NERR_ACFNotFound	(NERR_BASE+119)
#define	NERR_GroupNotFound	(NERR_BASE+120)
#define	NERR_UserNotFound	(NERR_BASE+121)
#define	NERR_ResourceNotFound	(NERR_BASE+122)
#define	NERR_GroupExists	(NERR_BASE+123)
#define	NERR_UserExists		(NERR_BASE+124)
#define	NERR_ResourceExists	(NERR_BASE+125)
#define	NERR_NotPrimary		(NERR_BASE+126)
#define	NERR_ACFNotLoaded	(NERR_BASE+127)
#define	NERR_ACFNoRoom		(NERR_BASE+128)
#define	NERR_ACFFileIOFail	(NERR_BASE+129)
#define	NERR_ACFTooManyLists	(NERR_BASE+130)
#define	NERR_UserLogon		(NERR_BASE+131)
#define	NERR_ACFNoParent	(NERR_BASE+132)
#define	NERR_CanNotGrowSegment	(NERR_BASE+133)
#define	NERR_SpeGroupOp		(NERR_BASE+134)
#define	NERR_NotInCache		(NERR_BASE+135)
#define	NERR_UserInGroup	(NERR_BASE+136)
#define	NERR_UserNotInGroup	(NERR_BASE+137)
#define	NERR_AccountUndefined	(NERR_BASE+138)
#define	NERR_AccountExpired	(NERR_BASE+139)
#define	NERR_InvalidWorkstation (NERR_BASE+140)
#define	NERR_InvalidLogonHours	(NERR_BASE+141)
#define	NERR_PasswordExpired	(NERR_BASE+142)
#define	NERR_PasswordCantChange (NERR_BASE+143)
#define	NERR_PasswordHistConflict (NERR_BASE+144)
#define	NERR_PasswordTooShort	(NERR_BASE+145)
#define	NERR_PasswordTooRecent	(NERR_BASE+146)
#define	NERR_InvalidDatabase	(NERR_BASE+147)
#define	NERR_DatabaseUpToDate	(NERR_BASE+148)
#define	NERR_SyncRequired	(NERR_BASE+149)

/*
 * Use API related
 * Error codes from BASE+150 to BASE+169
 */
#define	NERR_UseNotFound	(NERR_BASE+150)
#define	NERR_BadAsgType		(NERR_BASE+151)
#define	NERR_DeviceIsShared	(NERR_BASE+152)

/*
 * Message Server related
 * Error codes BASE+170 to BASE+209
 */
#define	NERR_NoComputerName	(NERR_BASE+170)
#define	NERR_MsgAlreadyStarted	(NERR_BASE+171)
#define	NERR_MsgInitFailed	(NERR_BASE+172)
#define	NERR_NameNotFound	(NERR_BASE+173)
#define	NERR_AlreadyForwarded	(NERR_BASE+174)
#define	NERR_AddForwarded	(NERR_BASE+175)
#define	NERR_AlreadyExists	(NERR_BASE+176)
#define	NERR_TooManyNames	(NERR_BASE+177)
#define	NERR_DelComputerName	(NERR_BASE+178)
#define	NERR_LocalForward	(NERR_BASE+179)
#define	NERR_GrpMsgProcessor	(NERR_BASE+180)
#define	NERR_PausedRemote	(NERR_BASE+181)
#define	NERR_BadReceive		(NERR_BASE+182)
#define	NERR_NameInUse		(NERR_BASE+183)
#define	NERR_MsgNotStarted	(NERR_BASE+184)
#define	NERR_NotLocalName	(NERR_BASE+185)
#define	NERR_NoForwardName	(NERR_BASE+186)
#define	NERR_RemoteFull		(NERR_BASE+187)
#define	NERR_NameNotForwarded	(NERR_BASE+188)
#define	NERR_TruncatedBroadcast (NERR_BASE+189)
#define	NERR_InvalidDevice	(NERR_BASE+194)
#define	NERR_WriteFault		(NERR_BASE+195)
/* UNUSED BASE+196 */
#define	NERR_DuplicateName	(NERR_BASE+197)
#define	NERR_DeleteLater	(NERR_BASE+198)
#define	NERR_IncompleteDel	(NERR_BASE+199)
#define	NERR_MultipleNets	(NERR_BASE+200)

/*
 * NERR_BASE+201 is ERROR_OPEN_FILES
 * NERR_BASE+202 is ERROR_ACTIVE_CONNECTIONS
 * NERR_BASE+204 is ERROR_DEVICE_IN_USE
 * (see nterror.h)
 */

/*
 * Server API related
 * Error codes BASE+210 to BASE+229
 */
#define	NERR_NetNameNotFound	(NERR_BASE+210)
#define	NERR_DeviceNotShared	(NERR_BASE+211)
#define	NERR_ClientNameNotFound (NERR_BASE+212)
#define	NERR_FileIdNotFound	(NERR_BASE+214)
#define	NERR_ExecFailure	(NERR_BASE+215)
#define	NERR_TmpFile		(NERR_BASE+216)
#define	NERR_TooMuchData	(NERR_BASE+217)
#define	NERR_DeviceShareConflict (NERR_BASE+218)
#define	NERR_BrowserTableIncomplete (NERR_BASE+219)
#define	NERR_NotLocalDomain	(NERR_BASE+220)
#define	NERR_IsDfsShare		(NERR_BASE+221)

/*
 * CharDev API related
 * Error codes BASE+230 to BASE+249
 */
/* UNUSED BASE+230 */
#define	NERR_DevInvalidOpCode	(NERR_BASE+231)
#define	NERR_DevNotFound	(NERR_BASE+232)
#define	NERR_DevNotOpen		(NERR_BASE+233)
#define	NERR_BadQueueDevString	(NERR_BASE+234)
#define	NERR_BadQueuePriority	(NERR_BASE+235)
#define	NERR_NoCommDevs		(NERR_BASE+237)
#define	NERR_QueueNotFound	(NERR_BASE+238)
#define	NERR_BadDevString	(NERR_BASE+240)
#define	NERR_BadDev		(NERR_BASE+241)
#define	NERR_InUseBySpooler	(NERR_BASE+242)
#define	NERR_CommDevInUse	(NERR_BASE+243)

/*
 * NetICanonicalize and NetIType and NetIMakeLMFileName
 * NetIListCanon and NetINameCheck
 * Error codes BASE+250 to BASE+269
 */
#define	NERR_InvalidComputer	(NERR_BASE+251)
/* UNUSED BASE+252 */
/* UNUSED BASE+253 */
#define	NERR_MaxLenExceeded	(NERR_BASE+254)
/* UNUSED BASE+255 */
#define	NERR_BadComponent	(NERR_BASE+256)
#define	NERR_CantType		(NERR_BASE+257)
/* UNUSED BASE+258 */
/* UNUSED BASE+259 */
#define	NERR_TooManyEntries	(NERR_BASE+262)

/*
 * NetProfile
 * Error codes BASE+270 to BASE+276
 */
#define	NERR_ProfileFileTooBig	(NERR_BASE+270)
#define	NERR_ProfileOffset	(NERR_BASE+271)
#define	NERR_ProfileCleanup	(NERR_BASE+272)
#define	NERR_ProfileUnknownCmd	(NERR_BASE+273)
#define	NERR_ProfileLoadErr	(NERR_BASE+274)
#define	NERR_ProfileSaveErr	(NERR_BASE+275)

/*
 * NetAudit and NetErrorLog
 * Error codes BASE+277 to BASE+279
 */
#define	NERR_LogOverflow	(NERR_BASE+277)
#define	NERR_LogFileChanged	(NERR_BASE+278)
#define	NERR_LogFileCorrupt	(NERR_BASE+279)

/*
 * NetRemote
 * Error codes BASE+280 to BASE+299
 */
#define	NERR_SourceIsDir	(NERR_BASE+280)
#define	NERR_BadSource		(NERR_BASE+281)
#define	NERR_BadDest		(NERR_BASE+282)
#define	NERR_DifferentServers	(NERR_BASE+283)
/* UNUSED BASE+284 */
#define	NERR_RunSrvPaused	(NERR_BASE+285)
/* UNUSED BASE+286 */
/* UNUSED BASE+287 */
/* UNUSED BASE+288 */
#define	NERR_ErrCommRunSrv	(NERR_BASE+289)
/* UNUSED BASE+290 */
#define	NERR_ErrorExecingGhost	(NERR_BASE+291)
#define	NERR_ShareNotFound	(NERR_BASE+292)
/* UNUSED BASE+293 */
/* UNUSED BASE+294 */


/*
 * NetWksta.sys (redir) returned error codes.
 * NERR_BASE + (300-329)
 */
#define	NERR_InvalidLana	(NERR_BASE+300)
#define	NERR_OpenFiles		(NERR_BASE+301)
#define	NERR_ActiveConns	(NERR_BASE+302)
#define	NERR_BadPasswordCore	(NERR_BASE+303)
#define	NERR_DevInUse		(NERR_BASE+304)
#define	NERR_LocalDrive		(NERR_BASE+305)

/*
 * Alert error codes.
 * NERR_BASE + (330-339)
 */
#define	NERR_AlertExists	(NERR_BASE+330)
#define	NERR_TooManyAlerts	(NERR_BASE+331)
#define	NERR_NoSuchAlert	(NERR_BASE+332)
#define	NERR_BadRecipient	(NERR_BASE+333)
#define	NERR_AcctLimitExceeded	(NERR_BASE+334)

/*
 * Additional Error and Audit log codes.
 * NERR_BASE +(340-343)
 */
#define	NERR_InvalidLogSeek	(NERR_BASE+340)
/* UNUSED BASE+341 */
/* UNUSED BASE+342 */
/* UNUSED BASE+343 */

/*
 * Additional UAS and NETLOGON codes
 * NERR_BASE +(350-359)
 */
#define	NERR_BadUasConfig	(NERR_BASE+350)
#define	NERR_InvalidUASOp	(NERR_BASE+351)
#define	NERR_LastAdmin		(NERR_BASE+352)
#define	NERR_DCNotFound		(NERR_BASE+353)
#define	NERR_LogonTrackingError (NERR_BASE+354)
#define	NERR_NetlogonNotStarted (NERR_BASE+355)
#define	NERR_CanNotGrowUASFile	(NERR_BASE+356)
#define	NERR_TimeDiffAtDC	(NERR_BASE+357)
#define	NERR_PasswordMismatch	(NERR_BASE+358)

/*
 * Server Integration error codes.
 * NERR_BASE +(360-369)
 */
#define	NERR_NoSuchServer	(NERR_BASE+360)
#define	NERR_NoSuchSession	(NERR_BASE+361)
#define	NERR_NoSuchConnection	(NERR_BASE+362)
#define	NERR_TooManyServers	(NERR_BASE+363)
#define	NERR_TooManySessions	(NERR_BASE+364)
#define	NERR_TooManyConnections (NERR_BASE+365)
#define	NERR_TooManyFiles	(NERR_BASE+366)
#define	NERR_NoAlternateServers (NERR_BASE+367)
/* UNUSED BASE+368 */
/* UNUSED BASE+369 */
#define	NERR_TryDownLevel		(NERR_BASE+370)

/*
 * UPS error codes.
 * NERR_BASE + (380-384)
 */
#define	NERR_UPSDriverNotStarted	(NERR_BASE+380)
#define	NERR_UPSInvalidConfig		(NERR_BASE+381)
#define	NERR_UPSInvalidCommPort		(NERR_BASE+382)
#define	NERR_UPSSignalAsserted		(NERR_BASE+383)
#define	NERR_UPSShutdownFailed		(NERR_BASE+384)

/*
 * Remoteboot error codes.
 * NERR_BASE + (400-419)
 * Error codes 400 - 405 are used by RPLBOOT.SYS.
 * Error codes 403, 407 - 416 are used by RPLLOADR.COM,
 * Error code 417 is the alerter message of REMOTEBOOT (RPLSERVR.EXE).
 * Error code 418 is for when REMOTEBOOT can't start
 * Error code 419 is for a disallowed 2nd rpl connection
 */
#define	NERR_BadDosRetCode		(NERR_BASE+400)
#define	NERR_ProgNeedsExtraMem		(NERR_BASE+401)
#define	NERR_BadDosFunction		(NERR_BASE+402)
#define	NERR_RemoteBootFailed		(NERR_BASE+403)
#define	NERR_BadFileCheckSum		(NERR_BASE+404)
#define	NERR_NoRplBootSystem		(NERR_BASE+405)
#define	NERR_RplLoadrNetBiosErr		(NERR_BASE+406)
#define	NERR_RplLoadrDiskErr		(NERR_BASE+407)
#define	NERR_ImageParamErr		(NERR_BASE+408)
#define	NERR_TooManyImageParams		(NERR_BASE+409)
#define	NERR_NonDosFloppyUsed		(NERR_BASE+410)
#define	NERR_RplBootRestart		(NERR_BASE+411)
#define	NERR_RplSrvrCallFailed		(NERR_BASE+412)
#define	NERR_CantConnectRplSrvr		(NERR_BASE+413)
#define	NERR_CantOpenImageFile		(NERR_BASE+414)
#define	NERR_CallingRplSrvr		(NERR_BASE+415)
#define	NERR_StartingRplBoot		(NERR_BASE+416)
#define	NERR_RplBootServiceTerm		(NERR_BASE+417)
#define	NERR_RplBootStartFailed		(NERR_BASE+418)
#define	NERR_RPL_CONNECTED		(NERR_BASE+419)

/*
 * FTADMIN API error codes
 * NERR_BASE + (425-434)
 * (Currently not used in NT)
 */

/*
 * Browser service API error codes
 * NERR_BASE + (450-475)
 */
#define	NERR_BrowserConfiguredToNotRun	(NERR_BASE+450)

/*
 * Additional Remoteboot error codes.
 * NERR_BASE + (510-550)
 */
#define	NERR_RplNoAdaptersStarted	(NERR_BASE+510)
#define	NERR_RplBadRegistry		(NERR_BASE+511)
#define	NERR_RplBadDatabase		(NERR_BASE+512)
#define	NERR_RplRplfilesShare		(NERR_BASE+513)
#define	NERR_RplNotRplServer		(NERR_BASE+514)
#define	NERR_RplCannotEnum		(NERR_BASE+515)
#define	NERR_RplWkstaInfoCorrupted	(NERR_BASE+516)
#define	NERR_RplWkstaNotFound		(NERR_BASE+517)
#define	NERR_RplWkstaNameUnavailable	(NERR_BASE+518)
#define	NERR_RplProfileInfoCorrupted	(NERR_BASE+519)
#define	NERR_RplProfileNotFound		(NERR_BASE+520)
#define	NERR_RplProfileNameUnavailable	(NERR_BASE+521)
#define	NERR_RplProfileNotEmpty		(NERR_BASE+522)
#define	NERR_RplConfigInfoCorrupted	(NERR_BASE+523)
#define	NERR_RplConfigNotFound		(NERR_BASE+524)
#define	NERR_RplAdapterInfoCorrupted	(NERR_BASE+525)
#define	NERR_RplInternal		(NERR_BASE+526)
#define	NERR_RplVendorInfoCorrupted	(NERR_BASE+527)
#define	NERR_RplBootInfoCorrupted	(NERR_BASE+528)
#define	NERR_RplWkstaNeedsUserAcct	(NERR_BASE+529)
#define	NERR_RplNeedsRPLUSERAcct	(NERR_BASE+530)
#define	NERR_RplBootNotFound		(NERR_BASE+531)
#define	NERR_RplIncompatibleProfile	(NERR_BASE+532)
#define	NERR_RplAdapterNameUnavailable	(NERR_BASE+533)
#define	NERR_RplConfigNotEmpty		(NERR_BASE+534)
#define	NERR_RplBootInUse		(NERR_BASE+535)
#define	NERR_RplBackupDatabase		(NERR_BASE+536)
#define	NERR_RplAdapterNotFound		(NERR_BASE+537)
#define	NERR_RplVendorNotFound		(NERR_BASE+538)
#define	NERR_RplVendorNameUnavailable	(NERR_BASE+539)
#define	NERR_RplBootNameUnavailable	(NERR_BASE+540)
#define	NERR_RplConfigNameUnavailable	(NERR_BASE+541)

/*
 * Dfs API error codes.
 * NERR_BASE + (560-590)
 */
#define	NERR_DfsInternalCorruption	(NERR_BASE+560)
#define	NERR_DfsVolumeDataCorrupt	(NERR_BASE+561)
#define	NERR_DfsNoSuchVolume		(NERR_BASE+562)
#define	NERR_DfsVolumeAlreadyExists	(NERR_BASE+563)
#define	NERR_DfsAlreadyShared		(NERR_BASE+564)
#define	NERR_DfsNoSuchShare		(NERR_BASE+565)
#define	NERR_DfsNotALeafVolume		(NERR_BASE+566)
#define	NERR_DfsLeafVolume		(NERR_BASE+567)
#define	NERR_DfsVolumeHasMultipleServers (NERR_BASE+568)
#define	NERR_DfsCantCreateJunctionPoint	(NERR_BASE+569)
#define	NERR_DfsServerNotDfsAware	(NERR_BASE+570)
#define	NERR_DfsBadRenamePath		(NERR_BASE+571)
#define	NERR_DfsVolumeIsOffline		(NERR_BASE+572)
#define	NERR_DfsNoSuchServer		(NERR_BASE+573)
#define	NERR_DfsCyclicalName		(NERR_BASE+574)
#define	NERR_DfsNotSupportedInServerDfs	(NERR_BASE+575)
#define	NERR_DfsInternalError		(NERR_BASE+590)

/*
 * Net setup error codes.
 * NERR_BASE + (591-595)
 */
#define	NERR_SetupAlreadyJoined		(NERR_BASE+591)
#define	NERR_SetupNotJoined		(NERR_BASE+592)
#define	NERR_SetupDomainController	(NERR_BASE+593)
#define	NERR_DefaultJoinRequired	(NERR_BASE+594)
#define	NERR_InvalidWorkgroupName	(NERR_BASE+595)
#define	NERR_NameUsesIncompatibleCodePage (NERR_BASE+596)
#define	NERR_ComputerAccountNotFound	(NERR_BASE+597)
#define	NERR_PersonalSku		(NERR_BASE+598)

/*
 * MAX_NERR is the last value in the NERR range.
 * Do not exceed this value here.
 */
#define	MAX_NERR			(NERR_BASE+899)

#ifdef __cplusplus
}
#endif

#endif /* _SMB_LMERR_H */
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */
/*
 * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 *
 * Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
 */

#ifndef _SMBSRV_NTACCESS_H
#define	_SMBSRV_NTACCESS_H

/*
 * This file defines the NT compatible access control masks and values.
 * An access mask as a 32-bit value arranged as shown below.
 *
 *   31-28    Generic bits, interpreted per object type
 *   27-26    Reserved, must-be-zero
 *   25       Maximum allowed
 *   24       System Security rights (SACL is SD)
 *   23-16    Standard access rights, generic to all object types
 *   15-0     Specific access rights, object specific
 *
 *   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
 *   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
 *   +---------------+---------------+-------------------------------+
 *   |G|G|G|G|Res'd|A| StandardRights|         SpecificRights        |
 *   |R|W|E|A|     |S|               |                               |
 *   +-+-------------+---------------+-------------------------------+
 */

#ifdef __cplusplus
extern "C" {
#endif

/*
 * Specific rights for files, pipes and directories.
 */
#define	FILE_READ_DATA			(0x0001) /* file & pipe */
#define	FILE_LIST_DIRECTORY		(0x0001) /* directory */
#define	FILE_WRITE_DATA			(0x0002) /* file & pipe */
#define	FILE_ADD_FILE			(0x0002) /* directory */
#define	FILE_APPEND_DATA		(0x0004) /* file */
#define	FILE_ADD_SUBDIRECTORY		(0x0004) /* directory */
#define	FILE_CREATE_PIPE_INSTANCE	(0x0004) /* named pipe */
#define	FILE_READ_EA			(0x0008) /* file & directory */
#define	FILE_READ_PROPERTIES		(0x0008) /* pipe */
#define	FILE_WRITE_EA			(0x0010) /* file & directory */
#define	FILE_WRITE_PROPERTIES		(0x0010) /* pipe */
#define	FILE_EXECUTE			(0x0020) /* file */
#define	FILE_TRAVERSE			(0x0020) /* directory */
#define	FILE_DELETE_CHILD		(0x0040) /* directory */
#define	FILE_READ_ATTRIBUTES		(0x0080) /* all */
#define	FILE_WRITE_ATTRIBUTES		(0x0100) /* all */
#define	FILE_SPECIFIC_ALL		(0x000001FFL)
#define	SPECIFIC_RIGHTS_ALL		(0x0000FFFFL)


/*
 * Standard rights:
 *
 * DELETE	The right to delete the object.
 *
 * READ_CONTROL The right to read the information in the object's security
 *              descriptor, not including the information in the SACL.
 *
 * WRITE_DAC    The right to modify the DACL in the object's security
 *	        descriptor.
 *
 * WRITE_OWNER  The right to change the owner in the object's security
 *	        descriptor.
 *
 * SYNCHRONIZE  The right to use the object for synchronization. This enables
 *              a thread to wait until the object is in the signaled state.
 */
#define	DELETE				(0x00010000L)
#define	READ_CONTROL			(0x00020000L)
#define	WRITE_DAC			(0x00040000L)
#define	WRITE_OWNER			(0x00080000L) /* take ownership */
#define	SYNCHRONIZE			(0x00100000L)
#define	STANDARD_RIGHTS_REQUIRED	(0x000F0000L)
#define	STANDARD_RIGHTS_ALL		(0x001F0000L)


#define	STANDARD_RIGHTS_READ		(READ_CONTROL)
#define	STANDARD_RIGHTS_WRITE		(READ_CONTROL)
#define	STANDARD_RIGHTS_EXECUTE		(READ_CONTROL)

#define	FILE_METADATA_ALL		(FILE_READ_EA		|\
					FILE_READ_ATTRIBUTES	|\
					READ_CONTROL		|\
					FILE_WRITE_EA		|\
					FILE_WRITE_ATTRIBUTES	|\
					WRITE_DAC		|\
					WRITE_OWNER		|\
					SYNCHRONIZE)

#define	FILE_DATA_ALL			(FILE_READ_DATA		|\
					FILE_WRITE_DATA		|\
					FILE_APPEND_DATA	|\
					FILE_EXECUTE		|\
					DELETE)

#define	FILE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF)


/*
 * Miscellaneous bits: SACL access and maximum allowed access.
 */
#define	ACCESS_SYSTEM_SECURITY		(0x01000000L)
#define	MAXIMUM_ALLOWED			(0x02000000L)


/*
 * Generic rights. These are shorthands that are interpreted as
 * appropriate for the type of secured object being accessed.
 */
#define	GENERIC_ALL			(0x10000000UL)
#define	GENERIC_EXECUTE			(0x20000000UL)
#define	GENERIC_WRITE			(0x40000000UL)
#define	GENERIC_READ			(0x80000000UL)

#define	FILE_GENERIC_READ (STANDARD_RIGHTS_READ |		\
	    FILE_READ_DATA		|			\
	    FILE_READ_ATTRIBUTES	|			\
	    FILE_READ_EA		|			\
	    SYNCHRONIZE)

#define	FILE_GENERIC_WRITE (STANDARD_RIGHTS_WRITE |		\
	    FILE_WRITE_DATA		|			\
	    FILE_WRITE_ATTRIBUTES	|			\
	    FILE_WRITE_EA		|			\
	    FILE_APPEND_DATA		|			\
	    SYNCHRONIZE)

#define	FILE_GENERIC_EXECUTE (STANDARD_RIGHTS_EXECUTE |		\
	    FILE_READ_ATTRIBUTES	|			\
	    FILE_EXECUTE		|			\
	    SYNCHRONIZE)

#define	FILE_GENERIC_ALL (FILE_GENERIC_READ |			\
	    FILE_GENERIC_WRITE		|			\
	    FILE_GENERIC_EXECUTE)


/*
 * LSA policy desired access masks.
 */
#define	POLICY_VIEW_LOCAL_INFORMATION		0x00000001L
#define	POLICY_VIEW_AUDIT_INFORMATION		0x00000002L
#define	POLICY_GET_PRIVATE_INFORMATION		0x00000004L
#define	POLICY_TRUST_ADMIN			0x00000008L
#define	POLICY_CREATE_ACCOUNT			0x00000010L
#define	POLICY_CREATE_SECRET			0x00000020L
#define	POLICY_CREATE_PRIVILEGE			0x00000040L
#define	POLICY_SET_DEFAULT_QUOTA_LIMITS		0x00000080L
#define	POLICY_SET_AUDIT_REQUIREMENTS		0x00000100L
#define	POLICY_AUDIT_LOG_ADMIN			0x00000200L
#define	POLICY_SERVER_ADMIN			0x00000400L
#define	POLICY_LOOKUP_NAMES			0x00000800L


/*
 * SAM specific rights desired access masks. These definitions are listed
 * mostly as a convenience; they don't seem to be documented. Setting the
 * desired access mask to GENERIC_EXECUTE and STANDARD_RIGHTS_EXECUTE
 * seems to work when just looking up information.
 */
#define	SAM_LOOKUP_INFORMATION (GENERIC_EXECUTE		\
	    | STANDARD_RIGHTS_EXECUTE)

#define	SAM_ACCESS_USER_READ		0x0000031BL
#define	SAM_ACCESS_USER_UPDATE		0x0000031FL
#define	SAM_ACCESS_USER_SETPWD		0x0000037FL
#define	SAM_CONNECT_CREATE_ACCOUNT	0x00000020L
#define	SAM_ENUM_LOCAL_DOMAIN		0x00000030L
#define	SAM_DOMAIN_CREATE_ACCOUNT	0x00000211L


/*
 * File attributes
 *
 * Note:  0x00000008 is reserved for use for the old DOS VOLID (volume ID)
 *        and is therefore not considered valid in NT.
 *
 * Note:  0x00000010 is reserved for use for the old DOS SUBDIRECTORY flag
 *        and is therefore not considered valid in NT.  This flag has
 *        been disassociated with file attributes since the other flags are
 *        protected with READ_ and WRITE_ATTRIBUTES access to the file.
 *
 * Note:  Note also that the order of these flags is set to allow both the
 *        FAT and the Pinball File Systems to directly set the attributes
 *        flags in attributes words without having to pick each flag out
 *        individually.  The order of these flags should not be changed!
 *
 * The file attributes are defined in smbsrv/smb_vops.h
 */

/* Filesystem Attributes */
#define	FILE_CASE_SENSITIVE_SEARCH	0x00000001
#define	FILE_CASE_PRESERVED_NAMES	0x00000002
#define	FILE_UNICODE_ON_DISK		0x00000004
#define	FILE_PERSISTENT_ACLS		0x00000008
#define	FILE_FILE_COMPRESSION		0x00000010
#define	FILE_VOLUME_QUOTAS		0x00000020
#define	FILE_SUPPORTS_SPARSE_FILES	0x00000040
#define	FILE_SUPPORTS_REPARSE_POINTS	0x00000080
#define	FILE_SUPPORTS_REMOTE_STORAGE	0x00000100
#define	FILE_VOLUME_IS_COMPRESSED	0x00008000
#define	FILE_SUPPORTS_OBJECT_IDS	0x00010000
#define	FILE_SUPPORTS_ENCRYPTION	0x00020000
#define	FILE_NAMED_STREAMS		0x00040000
#define	FILE_READ_ONLY_VOLUME		0x00080000

#ifdef __cplusplus
}
#endif

#endif /* _SMBSRV_NTACCESS_H */
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */

/*
 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
 */

#ifndef _SMB_NTERROR_H
#define	_SMB_NTERROR_H

/*
 * This file defines the list of Win32 error codes. If you need
 * an error code that is defined in the [MS-ERREF] document but
 * is not listed here, please add it to the file.  This file is
 * compatible with the Windows SDK file Include/WinError.h
 * Please preserve this compatibility.
 *
 * Be careful not to confuse status codes with error codes. The status
 * codes are listed in ntstatus.h.  Some mappings between NT status
 * codes and Win32 error codes is provided in the Microsoft knowledge
 * base article Q113996.
 *
 * Win32 error codes are 32-bit values with the following format
 * (winerror.h):
 *
 *   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
 *   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
 *  +---+-+-+-----------------------+-------------------------------+
 *  |Sev|C|R|     Facility          |               Code            |
 *  +---+-+-+-----------------------+-------------------------------+
 *
 *  Sev        severity code
 *               00 - Success
 *               01 - Informational
 *               10 - Warning
 *               11 - Error
 *
 *  C          customer/client flag (set to 1 for user defined codes).
 *  R          reserved (set to zero)
 *  Facility   facility code
 *  Code       facility's status code
 */


#ifdef __cplusplus
extern "C" {
#endif


/*
 * Facility codes
 */
#define	FACILITY_NULL			0
#define	FACILITY_RPC			1
#define	FACILITY_DISPATCH		2
#define	FACILITY_STORAGE		3
#define	FACILITY_ITF			4
/* 5 */
/* 6 */
#define	FACILITY_WIN32			7
#define	FACILITY_WINDOWS		8
#define	FACILITY_SSPI			9
#define	FACILITY_CONTROL		10
#define	FACILITY_CERT			11
#define	FACILITY_INTERNET		12
#define	FACILITY_MEDIASERVER		13
#define	FACILITY_MSMQ			14
#define	FACILITY_SETUPAPI		15


/*
 * Complete list of Win32 error codes. For error description
 * you can look at MS-KB articles 155011 and 155012
 */

#define	ERROR_SUCCESS			0
#define	NO_ERROR			0
#define	ERROR_INVALID_FUNCTION		1
#define	ERROR_FILE_NOT_FOUND		2
#define	ERROR_PATH_NOT_FOUND		3
#define	ERROR_TOO_MANY_OPEN_FILES	4
#define	ERROR_ACCESS_DENIED		5
#define	ERROR_INVALID_HANDLE		6
#define	ERROR_ARENA_TRASHED		7
#define	ERROR_NOT_ENOUGH_MEMORY		8
#define	ERROR_INVALID_BLOCK		9
#define	ERROR_BAD_ENVIRONMENT		10
#define	ERROR_BAD_FORMAT		11
#define	ERROR_INVALID_ACCESS		12
#define	ERROR_INVALID_DATA		13
#define	ERROR_OUTOFMEMORY		14
#define	ERROR_INVALID_DRIVE		15
#define	ERROR_CURRENT_DIRECTORY		16
#define	ERROR_NOT_SAME_DEVICE		17
#define	ERROR_NO_MORE_FILES		18
#define	ERROR_WRITE_PROTECT		19
#define	ERROR_BAD_UNIT			20
#define	ERROR_NOT_READY			21
#define	ERROR_BAD_COMMAND		22
#define	ERROR_CRC			23
#define	ERROR_BAD_LENGTH		24
#define	ERROR_SEEK			25
#define	ERROR_NOT_DOS_DISK		26
#define	ERROR_SECTOR_NOT_FOUND		27
#define	ERROR_OUT_OF_PAPER		28
#define	ERROR_WRITE_FAULT		29
#define	ERROR_READ_FAULT		30
#define	ERROR_GEN_FAILURE		31
#define	ERROR_SHARING_VIOLATION		32
#define	ERROR_LOCK_VIOLATION		33
#define	ERROR_WRONG_DISK		34
#define	ERROR_SHARING_BUFFER_EXCEEDED	36
#define	ERROR_HANDLE_EOF		38
#define	ERROR_HANDLE_DISK_FULL		39
#define	ERROR_NOT_SUPPORTED		50
#define	ERROR_REM_NOT_LIST		51
#define	ERROR_DUP_NAME			52
#define	ERROR_BAD_NETPATH		53
#define	ERROR_NETWORK_BUSY		54
#define	ERROR_DEV_NOT_EXIST		55
#define	ERROR_TOO_MANY_CMDS		56
#define	ERROR_ADAP_HDW_ERR		57
#define	ERROR_BAD_NET_RESP		58
#define	ERROR_UNEXP_NET_ERR		59
#define	ERROR_BAD_REM_ADAP		60
#define	ERROR_PRINTQ_FULL		61
#define	ERROR_NO_SPOOL_SPACE		62
#define	ERROR_PRINT_CANCELLED		63
#define	ERROR_NETNAME_DELETED		64
#define	ERROR_NETWORK_ACCESS_DENIED	65
#define	ERROR_BAD_DEV_TYPE		66
#define	ERROR_BAD_NET_NAME		67
#define	ERROR_TOO_MANY_NAMES		68
#define	ERROR_TOO_MANY_SESS		69
#define	ERROR_SHARING_PAUSED		70
#define	ERROR_REQ_NOT_ACCEP		71
#define	ERROR_REDIR_PAUSED		72
#define	ERROR_FILE_EXISTS		80
#define	ERROR_CANNOT_MAKE		82
#define	ERROR_FAIL_I24			83
#define	ERROR_OUT_OF_STRUCTURES		84
#define	ERROR_ALREADY_ASSIGNED		85
#define	ERROR_INVALID_PASSWORD		86
#define	ERROR_INVALID_PARAMETER		87
#define	ERROR_NET_WRITE_FAULT		88
#define	ERROR_NO_PROC_SLOTS		89
#define	ERROR_TOO_MANY_SEMAPHORES	100
#define	ERROR_EXCL_SEM_ALREADY_OWNED	101
#define	ERROR_SEM_IS_SET		102
#define	ERROR_TOO_MANY_SEM_REQUESTS	103
#define	ERROR_INVALID_AT_INTERRUPT_TIME 104
#define	ERROR_SEM_OWNER_DIED		105
#define	ERROR_SEM_USER_LIMIT		106
#define	ERROR_DISK_CHANGE		107
#define	ERROR_DRIVE_LOCKED		108
#define	ERROR_BROKEN_PIPE		109
#define	ERROR_OPEN_FAILED		110
#define	ERROR_BUFFER_OVERFLOW		111
#define	ERROR_DISK_FULL			112
#define	ERROR_NO_MORE_SEARCH_HANDLES	113
#define	ERROR_INVALID_TARGET_HANDLE	114
#define	ERROR_INVALID_CATEGORY		117
#define	ERROR_INVALID_VERIFY_SWITCH	118
#define	ERROR_BAD_DRIVER_LEVEL		119
#define	ERROR_CALL_NOT_IMPLEMENTED	120
#define	ERROR_SEM_TIMEOUT		121
#define	ERROR_INSUFFICIENT_BUFFER	122
#define	ERROR_INVALID_NAME		123
#define	ERROR_INVALID_LEVEL		124
#define	ERROR_NO_VOLUME_LABEL		125
#define	ERROR_MOD_NOT_FOUND		126
#define	ERROR_PROC_NOT_FOUND		127
#define	ERROR_WAIT_NO_CHILDREN		128
#define	ERROR_CHILD_NOT_COMPLETE	129
#define	ERROR_DIRECT_ACCESS_HANDLE	130
#define	ERROR_NEGATIVE_SEEK		131
#define	ERROR_SEEK_ON_DEVICE		132
#define	ERROR_IS_JOIN_TARGET		133
#define	ERROR_IS_JOINED			134
#define	ERROR_IS_SUBSTED		135
#define	ERROR_NOT_JOINED		136
#define	ERROR_NOT_SUBSTED		137
#define	ERROR_JOIN_TO_JOIN		138
#define	ERROR_SUBST_TO_SUBST		139
#define	ERROR_JOIN_TO_SUBST		140
#define	ERROR_SUBST_TO_JOIN		141
#define	ERROR_BUSY_DRIVE		142
#define	ERROR_SAME_DRIVE		143
#define	ERROR_DIR_NOT_ROOT		144
#define	ERROR_DIR_NOT_EMPTY		145
#define	ERROR_IS_SUBST_PATH		146
#define	ERROR_IS_JOIN_PATH		147
#define	ERROR_PATH_BUSY			148
#define	ERROR_IS_SUBST_TARGET		149
#define	ERROR_SYSTEM_TRACE		150
#define	ERROR_INVALID_EVENT_COUNT	151
#define	ERROR_TOO_MANY_MUXWAITERS	152
#define	ERROR_INVALID_LIST_FORMAT	153
#define	ERROR_LABEL_TOO_LONG		154
#define	ERROR_TOO_MANY_TCBS		155
#define	ERROR_SIGNAL_REFUSED		156
#define	ERROR_DISCARDED			157
#define	ERROR_NOT_LOCKED		158
#define	ERROR_BAD_THREADID_ADDR		159
#define	ERROR_BAD_ARGUMENTS		160
#define	ERROR_BAD_PATHNAME		161
#define	ERROR_SIGNAL_PENDING		162
#define	ERROR_MAX_THRDS_REACHED		164
#define	ERROR_LOCK_FAILED		167
#define	ERROR_BUSY			170
#define	ERROR_CANCEL_VIOLATION		173
#define	ERROR_ATOMIC_LOCKS_NOT_SUPPORTED 174
#define	ERROR_INVALID_SEGMENT_NUMBER	180
#define	ERROR_INVALID_ORDINAL		182
#define	ERROR_ALREADY_EXISTS		183
#define	ERROR_INVALID_FLAG_NUMBER	186
#define	ERROR_SEM_NOT_FOUND		187
#define	ERROR_INVALID_STARTING_CODESEG	188
#define	ERROR_INVALID_STACKSEG		189
#define	ERROR_INVALID_MODULETYPE	190
#define	ERROR_INVALID_EXE_SIGNATURE	191
#define	ERROR_EXE_MARKED_INVALID	192
#define	ERROR_BAD_EXE_FORMAT		193
#define	ERROR_ITERATED_DATA_EXCEEDS_64k 194
#define	ERROR_INVALID_MINALLOCSIZE	195
#define	ERROR_DYNLINK_FROM_INVALID_RING 196
#define	ERROR_IOPL_NOT_ENABLED		197
#define	ERROR_INVALID_SEGDPL		198
#define	ERROR_AUTODATASEG_EXCEEDS_64k	199
#define	ERROR_RING2SEG_MUST_BE_MOVABLE	200
#define	ERROR_RELOC_CHAIN_XEEDS_SEGLIM	201
#define	ERROR_INFLOOP_IN_RELOC_CHAIN	202
#define	ERROR_ENVVAR_NOT_FOUND		203
#define	ERROR_NO_SIGNAL_SENT		205
#define	ERROR_FILENAME_EXCED_RANGE	206
#define	ERROR_RING2_STACK_IN_USE	207
#define	ERROR_META_EXPANSION_TOO_LONG	208
#define	ERROR_INVALID_SIGNAL_NUMBER	209
#define	ERROR_THREAD_1_INACTIVE		210
#define	ERROR_LOCKED			212
#define	ERROR_TOO_MANY_MODULES		214
#define	ERROR_NESTING_NOT_ALLOWED	215
#define	ERROR_EXE_MACHINE_TYPE_MISMATCH 216
#define	ERROR_BAD_PIPE			230
#define	ERROR_PIPE_BUSY			231
#define	ERROR_NO_DATA			232
#define	ERROR_PIPE_NOT_CONNECTED	233
#define	ERROR_MORE_DATA			234
#define	ERROR_VC_DISCONNECTED		240
#define	ERROR_INVALID_EA_NAME		254
#define	ERROR_EA_LIST_INCONSISTENT	255
#define	ERROR_NO_MORE_ITEMS		259
#define	ERROR_CANNOT_COPY		266
#define	ERROR_DIRECTORY			267
#define	ERROR_EAS_DIDNT_FIT		275
#define	ERROR_EA_FILE_CORRUPT		276
#define	ERROR_EA_TABLE_FULL		277
#define	ERROR_INVALID_EA_HANDLE		278
#define	ERROR_EAS_NOT_SUPPORTED		282
#define	ERROR_NOT_OWNER			288
#define	ERROR_TOO_MANY_POSTS		298
#define	ERROR_PARTIAL_COPY		299
#define	ERROR_OPLOCK_NOT_GRANTED	300
#define	ERROR_INVALID_OPLOCK_PROTOCOL	301
#define	ERROR_DISK_TOO_FRAGMENTED	302
#define	ERROR_DELETE_PENDING		303
#define	ERROR_MR_MID_NOT_FOUND		317
#define	ERROR_INVALID_ADDRESS		487
#define	ERROR_ARITHMETIC_OVERFLOW	534
#define	ERROR_PIPE_CONNECTED		535
#define	ERROR_PIPE_LISTENING		536
#define	ERROR_EA_ACCESS_DENIED		994
#define	ERROR_OPERATION_ABORTED		995
#define	ERROR_IO_INCOMPLETE		996
#define	ERROR_IO_PENDING		997
#define	ERROR_NOACCESS			998
#define	ERROR_SWAPERROR			999
#define	ERROR_STACK_OVERFLOW		1001
#define	ERROR_INVALID_MESSAGE		1002
#define	ERROR_CAN_NOT_COMPLETE		1003
#define	ERROR_INVALID_FLAGS		1004
#define	ERROR_UNRECOGNIZED_VOLUME	1005
#define	ERROR_FILE_INVALID		1006
#define	ERROR_FULLSCREEN_MODE		1007
#define	ERROR_NO_TOKEN			1008
#define	ERROR_BADDB			1009
#define	ERROR_BADKEY			1010
#define	ERROR_CANTOPEN			1011
#define	ERROR_CANTREAD			1012
#define	ERROR_CANTWRITE			1013
#define	ERROR_REGISTRY_RECOVERED	1014
#define	ERROR_REGISTRY_CORRUPT		1015
#define	ERROR_REGISTRY_IO_FAILED	1016
#define	ERROR_NOT_REGISTRY_FILE		1017
#define	ERROR_KEY_DELETED		1018
#define	ERROR_NO_LOG_SPACE		1019
#define	ERROR_KEY_HAS_CHILDREN		1020
#define	ERROR_CHILD_MUST_BE_VOLATILE	1021
#define	ERROR_NOTIFY_ENUM_DIR		1022
#define	ERROR_DEPENDENT_SERVICES_RUNNING 1051
#define	ERROR_INVALID_SERVICE_CONTROL	1052
#define	ERROR_SERVICE_REQUEST_TIMEOUT	1053
#define	ERROR_SERVICE_NO_THREAD		1054
#define	ERROR_SERVICE_DATABASE_LOCKED	1055
#define	ERROR_SERVICE_ALREADY_RUNNING	1056
#define	ERROR_INVALID_SERVICE_ACCOUNT	1057
#define	ERROR_SERVICE_DISABLED		1058
#define	ERROR_CIRCULAR_DEPENDENCY	1059
#define	ERROR_SERVICE_DOES_NOT_EXIST	1060
#define	ERROR_SERVICE_CANNOT_ACCEPT_CTRL 1061
#define	ERROR_SERVICE_NOT_ACTIVE	1062
#define	ERROR_FAILED_SERVICE_CONTROLLER_CONNECT 1063
#define	ERROR_EXCEPTION_IN_SERVICE	1064
#define	ERROR_DATABASE_DOES_NOT_EXIST	1065
#define	ERROR_SERVICE_SPECIFIC_ERROR	1066
#define	ERROR_PROCESS_ABORTED		1067
#define	ERROR_SERVICE_DEPENDENCY_FAIL	1068
#define	ERROR_SERVICE_LOGON_FAILED	1069
#define	ERROR_SERVICE_START_HANG	1070
#define	ERROR_INVALID_SERVICE_LOCK	1071
#define	ERROR_SERVICE_MARKED_FOR_DELETE 1072
#define	ERROR_SERVICE_EXISTS		1073
#define	ERROR_ALREADY_RUNNING_LKG	1074
#define	ERROR_SERVICE_DEPENDENCY_DELETED 1075
#define	ERROR_BOOT_ALREADY_ACCEPTED	1076
#define	ERROR_SERVICE_NEVER_STARTED	1077
#define	ERROR_DUPLICATE_SERVICE_NAME	1078
#define	ERROR_DIFFERENT_SERVICE_ACCOUNT 1079
#define	ERROR_CANNOT_DETECT_DRIVER_FAILURE 1080
#define	ERROR_CANNOT_DETECT_PROCESS_ABORT 1081
#define	ERROR_NO_RECOVERY_PROGRAM	1082
#define	ERROR_SERVICE_NOT_IN_EXE	1083
#define	ERROR_NOT_SAFEBOOT_SERVICE	1084

#define	ERROR_END_OF_MEDIA		1100
#define	ERROR_FILEMARK_DETECTED		1101
#define	ERROR_BEGINNING_OF_MEDIA	1102
#define	ERROR_SETMARK_DETECTED		1103
#define	ERROR_NO_DATA_DETECTED		1104
#define	ERROR_PARTITION_FAILURE		1105
#define	ERROR_INVALID_BLOCK_LENGTH	1106
#define	ERROR_DEVICE_NOT_PARTITIONED	1107
#define	ERROR_UNABLE_TO_LOCK_MEDIA	1108
#define	ERROR_UNABLE_TO_UNLOAD_MEDIA	1109
#define	ERROR_MEDIA_CHANGED		1110
#define	ERROR_BUS_RESET			1111
#define	ERROR_NO_MEDIA_IN_DRIVE		1112
#define	ERROR_NO_UNICODE_TRANSLATION	1113
#define	ERROR_DLL_INIT_FAILED		1114
#define	ERROR_SHUTDOWN_IN_PROGRESS	1115
#define	ERROR_NO_SHUTDOWN_IN_PROGRESS	1116
#define	ERROR_IO_DEVICE			1117
#define	ERROR_SERIAL_NO_DEVICE		1118
#define	ERROR_IRQ_BUSY			1119
#define	ERROR_MORE_WRITES		1120
#define	ERROR_COUNTER_TIMEOUT		1121
#define	ERROR_FLOPPY_ID_MARK_NOT_FOUND	1122
#define	ERROR_FLOPPY_WRONG_CYLINDER	1123
#define	ERROR_FLOPPY_UNKNOWN_ERROR	1124
#define	ERROR_FLOPPY_BAD_REGISTERS	1125
#define	ERROR_DISK_RECALIBRATE_FAILED	1126
#define	ERROR_DISK_OPERATION_FAILED	1127
#define	ERROR_DISK_RESET_FAILED		1128
#define	ERROR_EOM_OVERFLOW		1129
#define	ERROR_NOT_ENOUGH_SERVER_MEMORY	1130
#define	ERROR_POSSIBLE_DEADLOCK		1131
#define	ERROR_MAPPED_ALIGNMENT		1132
#define	ERROR_SET_POWER_STATE_VETOED	1140
#define	ERROR_SET_POWER_STATE_FAILED	1141
#define	ERROR_TOO_MANY_LINKS		1142
#define	ERROR_OLD_WIN_VERSION		1150
#define	ERROR_APP_WRONG_OS		1151
#define	ERROR_SINGLE_INSTANCE_APP	1152
#define	ERROR_RMODE_APP			1153
#define	ERROR_INVALID_DLL		1154
#define	ERROR_NO_ASSOCIATION		1155
#define	ERROR_DDE_FAIL			1156
#define	ERROR_DLL_NOT_FOUND		1157
#define	ERROR_NO_MORE_USER_HANDLES	1158
#define	ERROR_MESSAGE_SYNC_ONLY		1159
#define	ERROR_SOURCE_ELEMENT_EMPTY	1160
#define	ERROR_DESTINATION_ELEMENT_FULL	1161
#define	ERROR_ILLEGAL_ELEMENT_ADDRESS	1162
#define	ERROR_MAGAZINE_NOT_PRESENT	1163
#define	ERROR_DEVICE_REINITIALIZATION_NEEDED 1164
#define	ERROR_DEVICE_REQUIRES_CLEANING	1165
#define	ERROR_DEVICE_DOOR_OPEN		1166
#define	ERROR_DEVICE_NOT_CONNECTED	1167
#define	ERROR_NOT_FOUND			1168
#define	ERROR_NO_MATCH			1169
#define	ERROR_SET_NOT_FOUND		1170
#define	ERROR_POINT_NOT_FOUND		1171
#define	ERROR_NO_TRACKING_SERVICE	1172
#define	ERROR_NO_VOLUME_ID		1173
#define	ERROR_UNABLE_TO_REMOVE_REPLACED	1175
#define	ERROR_UNABLE_TO_MOVE_REPLACEMENT 1176
#define	ERROR_UNABLE_TO_MOVE_REPLACEMENT_2 1177
#define	ERROR_JOURNAL_DELETE_IN_PROGRESS 1178
#define	ERROR_JOURNAL_NOT_ACTIVE	1179
#define	ERROR_POTENTIAL_FILE_FOUND	1180
#define	ERROR_JOURNAL_ENTRY_DELETED	1181

#define	ERROR_BAD_DEVICE		1200
#define	ERROR_CONNECTION_UNAVAIL	1201
#define	ERROR_DEVICE_ALREADY_REMEMBERED	1202
#define	ERROR_NO_NET_OR_BAD_PATH	1203
#define	ERROR_BAD_PROVIDER		1204
#define	ERROR_CANNOT_OPEN_PROFILE	1205
#define	ERROR_BAD_PROFILE		1206
#define	ERROR_NOT_CONTAINER		1207
#define	ERROR_EXTENDED_ERROR		1208
#define	ERROR_INVALID_GROUPNAME		1209
#define	ERROR_INVALID_COMPUTERNAME	1210
#define	ERROR_INVALID_EVENTNAME		1211
#define	ERROR_INVALID_DOMAINNAME	1212
#define	ERROR_INVALID_SERVICENAME	1213
#define	ERROR_INVALID_NETNAME		1214
#define	ERROR_INVALID_SHARENAME		1215
#define	ERROR_INVALID_PASSWORDNAME	1216
#define	ERROR_INVALID_MESSAGENAME	1217
#define	ERROR_INVALID_MESSAGEDEST	1218
#define	ERROR_SESSION_CREDENTIAL_CONFLICT 1219
#define	ERROR_REMOTE_SESSION_LIMIT_EXCEEDED 1220
#define	ERROR_DUP_DOMAINNAME		1221
#define	ERROR_NO_NETWORK		1222
#define	ERROR_CANCELLED			1223
#define	ERROR_USER_MAPPED_FILE		1224
#define	ERROR_CONNECTION_REFUSED	1225
#define	ERROR_GRACEFUL_DISCONNECT	1226
#define	ERROR_ADDRESS_ALREADY_ASSOCIATED 1227
#define	ERROR_ADDRESS_NOT_ASSOCIATED	1228
#define	ERROR_CONNECTION_INVALID	1229
#define	ERROR_CONNECTION_ACTIVE		1230
#define	ERROR_NETWORK_UNREACHABLE	1231
#define	ERROR_HOST_UNREACHABLE		1232
#define	ERROR_PROTOCOL_UNREACHABLE	1233
#define	ERROR_PORT_UNREACHABLE		1234
#define	ERROR_REQUEST_ABORTED		1235
#define	ERROR_CONNECTION_ABORTED	1236
#define	ERROR_RETRY			1237
#define	ERROR_CONNECTION_COUNT_LIMIT	1238
#define	ERROR_LOGIN_TIME_RESTRICTION	1239
#define	ERROR_LOGIN_WKSTA_RESTRICTION	1240
#define	ERROR_INCORRECT_ADDRESS		1241
#define	ERROR_ALREADY_REGISTERED	1242
#define	ERROR_SERVICE_NOT_FOUND		1243
#define	ERROR_NOT_AUTHENTICATED		1244
#define	ERROR_NOT_LOGGED_ON		1245
#define	ERROR_CONTINUE			1246
#define	ERROR_ALREADY_INITIALIZED	1247
#define	ERROR_NO_MORE_DEVICES		1248
#define	ERROR_NO_SUCH_SITE		1249
#define	ERROR_DOMAIN_CONTROLLER_EXISTS	1250
#define	ERROR_ONLY_IF_CONNECTED		1251
#define	ERROR_OVERRIDE_NOCHANGES	1252
#define	ERROR_BAD_USER_PROFILE		1253
#define	ERROR_NOT_SUPPORTED_ON_SBS	1254
#define	ERROR_SERVER_SHUTDOWN_IN_PROGRESS 1255
#define	ERROR_HOST_DOWN			1256
#define	ERROR_NON_ACCOUNT_SID		1257
#define	ERROR_NON_DOMAIN_SID		1258
#define	ERROR_APPHELP_BLOCK		1259
#define	ERROR_ACCESS_DISABLED_BY_POLICY	1260
#define	ERROR_REG_NAT_CONSUMPTION	1261
#define	ERROR_CSCSHARE_OFFLINE		1262
#define	ERROR_PKINIT_FAILURE		1263
#define	ERROR_SMARTCARD_SUBSYSTEM_FAILURE 1264
#define	ERROR_DOWNGRADE_DETECTED	1265

#define	SEC_E_SMARTCARD_CERT_REVOKED	1266
#define	SEC_E_ISSUING_CA_UNTRUSTED	1267
#define	SEC_E_REVOCATION_OFFLINE_C	1268
#define	SEC_E_PKINIT_CLIENT_FAILURE	1269
#define	SEC_E_SMARTCARD_CERT_EXPIRED	1270

#define	ERROR_MACHINE_LOCKED		1271
#define	ERROR_CALLBACK_SUPPLIED_INVALID_DATA 1273
#define	ERROR_SYNC_FOREGROUND_REFRESH_REQUIRED 1274
#define	ERROR_DRIVER_BLOCKED		1275
#define	ERROR_INVALID_IMPORT_OF_NON_DLL	1276

#define	ERROR_NOT_ALL_ASSIGNED		1300
#define	ERROR_SOME_NOT_MAPPED		1301
#define	ERROR_NO_QUOTAS_FOR_ACCOUNT	1302
#define	ERROR_LOCAL_USER_SESSION_KEY	1303
#define	ERROR_NULL_LM_PASSWORD		1304
#define	ERROR_UNKNOWN_REVISION		1305
#define	ERROR_REVISION_MISMATCH		1306
#define	ERROR_INVALID_OWNER		1307
#define	ERROR_INVALID_PRIMARY_GROUP	1308
#define	ERROR_NO_IMPERSONATION_TOKEN	1309
#define	ERROR_CANT_DISABLE_MANDATORY	1310
#define	ERROR_NO_LOGON_SERVERS		1311
#define	ERROR_NO_SUCH_LOGON_SESSION	1312
#define	ERROR_NO_SUCH_PRIVILEGE		1313
#define	ERROR_PRIVILEGE_NOT_HELD	1314
#define	ERROR_INVALID_ACCOUNT_NAME	1315
#define	ERROR_USER_EXISTS		1316
#define	ERROR_NO_SUCH_USER		1317
#define	ERROR_GROUP_EXISTS		1318
#define	ERROR_NO_SUCH_GROUP		1319
#define	ERROR_MEMBER_IN_GROUP		1320
#define	ERROR_MEMBER_NOT_IN_GROUP	1321
#define	ERROR_LAST_ADMIN		1322
#define	ERROR_WRONG_PASSWORD		1323
#define	ERROR_ILL_FORMED_PASSWORD	1324
#define	ERROR_PASSWORD_RESTRICTION	1325
#define	ERROR_LOGON_FAILURE		1326
#define	ERROR_ACCOUNT_RESTRICTION	1327
#define	ERROR_INVALID_LOGON_HOURS	1328
#define	ERROR_INVALID_WORKSTATION	1329
#define	ERROR_PASSWORD_EXPIRED		1330
#define	ERROR_ACCOUNT_DISABLED		1331
#define	ERROR_NONE_MAPPED		1332
#define	ERROR_TOO_MANY_LUIDS_REQUESTED	1333
#define	ERROR_LUIDS_EXHAUSTED		1334
#define	ERROR_INVALID_SUB_AUTHORITY	1335
#define	ERROR_INVALID_ACL		1336
#define	ERROR_INVALID_SID		1337
#define	ERROR_INVALID_SECURITY_DESCR	1338
#define	ERROR_BAD_INHERITANCE_ACL	1340
#define	ERROR_SERVER_DISABLED		1341
#define	ERROR_SERVER_NOT_DISABLED	1342
#define	ERROR_INVALID_ID_AUTHORITY	1343
#define	ERROR_ALLOTTED_SPACE_EXCEEDED	1344
#define	ERROR_INVALID_GROUP_ATTRIBUTES	1345
#define	ERROR_BAD_IMPERSONATION_LEVEL	1346
#define	ERROR_CANT_OPEN_ANONYMOUS	1347
#define	ERROR_BAD_VALIDATION_CLASS	1348
#define	ERROR_BAD_TOKEN_TYPE		1349
#define	ERROR_NO_SECURITY_ON_OBJECT	1350
#define	ERROR_CANT_ACCESS_DOMAIN_INFO	1351
#define	ERROR_INVALID_SERVER_STATE	1352
#define	ERROR_INVALID_DOMAIN_STATE	1353
#define	ERROR_INVALID_DOMAIN_ROLE	1354
#define	ERROR_NO_SUCH_DOMAIN		1355
#define	ERROR_DOMAIN_EXISTS		1356
#define	ERROR_DOMAIN_LIMIT_EXCEEDED	1357
#define	ERROR_INTERNAL_DB_CORRUPTION	1358
#define	ERROR_INTERNAL_ERROR		1359
#define	ERROR_GENERIC_NOT_MAPPED	1360
#define	ERROR_BAD_DESCRIPTOR_FORMAT	1361
#define	ERROR_NOT_LOGON_PROCESS		1362
#define	ERROR_LOGON_SESSION_EXISTS	1363
#define	ERROR_NO_SUCH_PACKAGE		1364
#define	ERROR_BAD_LOGON_SESSION_STATE	1365
#define	ERROR_LOGON_SESSION_COLLISION	1366
#define	ERROR_INVALID_LOGON_TYPE	1367
#define	ERROR_CANNOT_IMPERSONATE	1368
#define	ERROR_RXACT_INVALID_STATE	1369
#define	ERROR_RXACT_COMMIT_FAILURE	1370
#define	ERROR_SPECIAL_ACCOUNT		1371
#define	ERROR_SPECIAL_GROUP		1372
#define	ERROR_SPECIAL_USER		1373
#define	ERROR_MEMBERS_PRIMARY_GROUP	1374
#define	ERROR_TOKEN_ALREADY_IN_USE	1375
#define	ERROR_NO_SUCH_ALIAS		1376
#define	ERROR_MEMBER_NOT_IN_ALIAS	1377
#define	ERROR_MEMBER_IN_ALIAS		1378
#define	ERROR_ALIAS_EXISTS		1379
#define	ERROR_LOGON_NOT_GRANTED		1380
#define	ERROR_TOO_MANY_SECRETS		1381
#define	ERROR_SECRET_TOO_LONG		1382
#define	ERROR_INTERNAL_DB_ERROR		1383
#define	ERROR_TOO_MANY_CONTEXT_IDS	1384
#define	ERROR_LOGON_TYPE_NOT_GRANTED	1385
#define	ERROR_NT_CROSS_ENCRYPTION_REQUIRED 1386
#define	ERROR_NO_SUCH_MEMBER		1387
#define	ERROR_INVALID_MEMBER		1388
#define	ERROR_TOO_MANY_SIDS		1389
#define	ERROR_LM_CROSS_ENCRYPTION_REQUIRED 1390
#define	ERROR_NO_INHERITANCE		1391
#define	ERROR_FILE_CORRUPT		1392
#define	ERROR_DISK_CORRUPT		1393
#define	ERROR_NO_USER_SESSION_KEY	1394
#define	ERROR_LICENSE_QUOTA_EXCEEDED	1395
#define	ERROR_WRONG_TARGET_NAME		1396
#define	ERROR_MUTUAL_AUTH_FAILED	1397
#define	ERROR_TIME_SKEW			1398
#define	ERROR_CURRENT_DOMAIN_NOT_ALLOWED 1399
#define	ERROR_INVALID_WINDOW_HANDLE	1400
#define	ERROR_INVALID_MENU_HANDLE	1401
#define	ERROR_INVALID_CURSOR_HANDLE	1402
#define	ERROR_INVALID_ACCEL_HANDLE	1403
#define	ERROR_INVALID_HOOK_HANDLE	1404
#define	ERROR_INVALID_DWP_HANDLE	1405
#define	ERROR_TLW_WITH_WSCHILD		1406
#define	ERROR_CANNOT_FIND_WND_CLASS	1407
#define	ERROR_WINDOW_OF_OTHER_THREAD	1408
#define	ERROR_HOTKEY_ALREADY_REGISTERED 1409
#define	ERROR_CLASS_ALREADY_EXISTS	1410
#define	ERROR_CLASS_DOES_NOT_EXIST	1411
#define	ERROR_CLASS_HAS_WINDOWS		1412
#define	ERROR_INVALID_INDEX		1413
#define	ERROR_INVALID_ICON_HANDLE	1414
#define	ERROR_PRIVATE_DIALOG_INDEX	1415
#define	ERROR_LISTBOX_ID_NOT_FOUND	1416
#define	ERROR_NO_WILDCARD_CHARACTERS	1417
#define	ERROR_CLIPBOARD_NOT_OPEN	1418
#define	ERROR_HOTKEY_NOT_REGISTERED	1419
#define	ERROR_WINDOW_NOT_DIALOG		1420
#define	ERROR_CONTROL_ID_NOT_FOUND	1421
#define	ERROR_INVALID_COMBOBOX_MESSAGE	1422
#define	ERROR_WINDOW_NOT_COMBOBOX	1423
#define	ERROR_INVALID_EDIT_HEIGHT	1424
#define	ERROR_DC_NOT_FOUND		1425
#define	ERROR_INVALID_HOOK_FILTER	1426
#define	ERROR_INVALID_FILTER_PROC	1427
#define	ERROR_HOOK_NEEDS_HMOD		1428
#define	ERROR_GLOBAL_ONLY_HOOK		1429
#define	ERROR_JOURNAL_HOOK_SET		1430
#define	ERROR_HOOK_NOT_INSTALLED	1431
#define	ERROR_INVALID_LB_MESSAGE	1432
#define	ERROR_SETCOUNT_ON_BAD_LB	1433
#define	ERROR_LB_WITHOUT_TABSTOPS	1434
#define	ERROR_DESTROY_OBJECT_OF_OTHER_THREAD 1435
#define	ERROR_CHILD_WINDOW_MENU		1436
#define	ERROR_NO_SYSTEM_MENU		1437
#define	ERROR_INVALID_MSGBOX_STYLE	1438
#define	ERROR_INVALID_SPI_VALUE		1439
#define	ERROR_SCREEN_ALREADY_LOCKED	1440
#define	ERROR_HWNDS_HAVE_DIFF_PARENT	1441
#define	ERROR_NOT_CHILD_WINDOW		1442
#define	ERROR_INVALID_GW_COMMAND	1443
#define	ERROR_INVALID_THREAD_ID		1444
#define	ERROR_NON_MDICHILD_WINDOW	1445
#define	ERROR_POPUP_ALREADY_ACTIVE	1446
#define	ERROR_NO_SCROLLBARS		1447
#define	ERROR_INVALID_SCROLLBAR_RANGE	1448
#define	ERROR_INVALID_SHOWWIN_COMMAND	1449
#define	ERROR_NO_SYSTEM_RESOURCES	1450
#define	ERROR_NONPAGED_SYSTEM_RESOURCES 1451
#define	ERROR_PAGED_SYSTEM_RESOURCES	1452
#define	ERROR_WORKING_SET_QUOTA		1453
#define	ERROR_PAGEFILE_QUOTA		1454
#define	ERROR_COMMITMENT_LIMIT		1455
#define	ERROR_MENU_ITEM_NOT_FOUND	1456
#define	ERROR_INVALID_KEYBOARD_HANDLE	1457
#define	ERROR_HOOK_TYPE_NOT_ALLOWED	1458
#define	ERROR_REQUIRES_INTERACTIVE_WINDOWSTATION 1459
#define	ERROR_TIMEOUT			1460
#define	ERROR_INVALID_MONITOR_HANDLE	1461

#define	ERROR_EVENTLOG_FILE_CORRUPT	1500
#define	ERROR_EVENTLOG_CANT_START	1501
#define	ERROR_LOG_FILE_FULL		1502
#define	ERROR_EVENTLOG_FILE_CHANGED	1503

/*
 * 1600-1699 installer errors
 */
#define	ERROR_INSTALL_SERVICE_FAILURE	1601
#define	ERROR_INSTALL_USEREXIT		1602
#define	ERROR_INSTALL_FAILURE		1603
#define	ERROR_INSTALL_SUSPEND		1604
#define	ERROR_UNKNOWN_PRODUCT		1605
#define	ERROR_UNKNOWN_FEATURE		1606
#define	ERROR_UNKNOWN_COMPONENT		1607
#define	ERROR_UNKNOWN_PROPERTY		1608
#define	ERROR_INVALID_HANDLE_STATE	1609
#define	ERROR_BAD_CONFIGURATION		1610
#define	ERROR_INDEX_ABSENT		1611
#define	ERROR_INSTALL_SOURCE_ABSENT	1612
#define	ERROR_INSTALL_PACKAGE_VERSION	1613
#define	ERROR_PRODUCT_UNINSTALLED	1614
#define	ERROR_BAD_QUERY_SYNTAX		1615
#define	ERROR_INVALID_FIELD		1616
#define	ERROR_DEVICE_REMOVED		1617
#define	ERROR_INSTALL_ALREADY_RUNNING	1618
#define	ERROR_INSTALL_PACKAGE_OPEN_FAILED 1619
#define	ERROR_INSTALL_PACKAGE_INVALID	1620
#define	ERROR_INSTALL_UI_FAILURE	1621
#define	ERROR_INSTALL_LOG_FAILURE	1622
#define	ERROR_INSTALL_LANGUAGE_UNSUPPORTED 1623
#define	ERROR_INSTALL_TRANSFORM_FAILURE	1624
#define	ERROR_INSTALL_PACKAGE_REJECTED	1625
#define	ERROR_FUNCTION_NOT_CALLED	1626
#define	ERROR_FUNCTION_FAILED		1627
#define	ERROR_INVALID_TABLE		1628
#define	ERROR_DATATYPE_MISMATCH		1629
#define	ERROR_UNSUPPORTED_TYPE		1630
#define	ERROR_CREATE_FAILED		1631
#define	ERROR_INSTALL_TEMP_UNWRITABLE	1632
#define	ERROR_INSTALL_PLATFORM_UNSUPPORTED 1633
#define	ERROR_INSTALL_NOTUSED		1634
#define	ERROR_PATCH_PACKAGE_OPEN_FAILED	1635
#define	ERROR_PATCH_PACKAGE_INVALID	1636
#define	ERROR_PATCH_PACKAGE_UNSUPPORTED	1637
#define	ERROR_PRODUCT_VERSION		1638
#define	ERROR_INVALID_COMMAND_LINE	1639
#define	ERROR_INSTALL_REMOTE_DISALLOWED	1640
#define	ERROR_SUCCESS_REBOOT_INITIATED	1641
#define	ERROR_PATCH_TARGET_NOT_FOUND	1642
#define	ERROR_PATCH_PACKAGE_REJECTED	1643
#define	ERROR_INSTALL_TRANSFORM_REJECTED 1644

#define	RPC_S_INVALID_STRING_BINDING	1700
#define	RPC_S_WRONG_KIND_OF_BINDING	1701
#define	RPC_S_INVALID_BINDING		1702
#define	RPC_S_PROTSEQ_NOT_SUPPORTED	1703
#define	RPC_S_INVALID_RPC_PROTSEQ	1704
#define	RPC_S_INVALID_STRING_UUID	1705
#define	RPC_S_INVALID_ENDPOINT_FORMAT	1706
#define	RPC_S_INVALID_NET_ADDR		1707
#define	RPC_S_NO_ENDPOINT_FOUND		1708
#define	RPC_S_INVALID_TIMEOUT		1709
#define	RPC_S_OBJECT_NOT_FOUND		1710
#define	RPC_S_ALREADY_REGISTERED	1711
#define	RPC_S_TYPE_ALREADY_REGISTERED	1712
#define	RPC_S_ALREADY_LISTENING		1713
#define	RPC_S_NO_PROTSEQS_REGISTERED	1714
#define	RPC_S_NOT_LISTENING		1715
#define	RPC_S_UNKNOWN_MGR_TYPE		1716
#define	RPC_S_UNKNOWN_IF		1717
#define	RPC_S_NO_BINDINGS		1718
#define	RPC_S_NO_PROTSEQS		1719
#define	RPC_S_CANT_CREATE_ENDPOINT	1720
#define	RPC_S_OUT_OF_RESOURCES		1721
#define	RPC_S_SERVER_UNAVAILABLE	1722
#define	RPC_S_SERVER_TOO_BUSY		1723
#define	RPC_S_INVALID_NETWORK_OPTIONS	1724
#define	RPC_S_NO_CALL_ACTIVE		1725
#define	RPC_S_CALL_FAILED		1726
#define	RPC_S_CALL_FAILED_DNE		1727
#define	RPC_S_PROTOCOL_ERROR		1728
#define	RPC_S_UNSUPPORTED_TRANS_SYN	1730
#define	RPC_S_UNSUPPORTED_TYPE		1732
#define	RPC_S_INVALID_TAG		1733
#define	RPC_S_INVALID_BOUND		1734
#define	RPC_S_NO_ENTRY_NAME		1735
#define	RPC_S_INVALID_NAME_SYNTAX	1736
#define	RPC_S_UNSUPPORTED_NAME_SYNTAX	1737
#define	RPC_S_UUID_NO_ADDRESS		1739
#define	RPC_S_DUPLICATE_ENDPOINT	1740
#define	RPC_S_UNKNOWN_AUTHN_TYPE	1741
#define	RPC_S_MAX_CALLS_TOO_SMALL	1742
#define	RPC_S_STRING_TOO_LONG		1743
#define	RPC_S_PROTSEQ_NOT_FOUND		1744
#define	RPC_S_PROCNUM_OUT_OF_RANGE	1745
#define	RPC_S_BINDING_HAS_NO_AUTH	1746
#define	RPC_S_UNKNOWN_AUTHN_SERVICE	1747
#define	RPC_S_UNKNOWN_AUTHN_LEVEL	1748
#define	RPC_S_INVALID_AUTH_IDENTITY	1749
#define	RPC_S_UNKNOWN_AUTHZ_SERVICE	1750
#define	EPT_S_INVALID_ENTRY		1751
#define	EPT_S_CANT_PERFORM_OP		1752
#define	EPT_S_NOT_REGISTERED		1753
#define	RPC_S_NOTHING_TO_EXPORT		1754
#define	RPC_S_INCOMPLETE_NAME		1755
#define	RPC_S_INVALID_VERS_OPTION	1756
#define	RPC_S_NO_MORE_MEMBERS		1757
#define	RPC_S_NOT_ALL_OBJS_UNEXPORTED	1758
#define	RPC_S_INTERFACE_NOT_FOUND	1759
#define	RPC_S_ENTRY_ALREADY_EXISTS	1760
#define	RPC_S_ENTRY_NOT_FOUND		1761
#define	RPC_S_NAME_SERVICE_UNAVAILABLE	1762
#define	RPC_S_INVALID_NAF_ID		1763
#define	RPC_S_CANNOT_SUPPORT		1764
#define	RPC_S_NO_CONTEXT_AVAILABLE	1765
#define	RPC_S_INTERNAL_ERROR		1766
#define	RPC_S_ZERO_DIVIDE		1767
#define	RPC_S_ADDRESS_ERROR		1768
#define	RPC_S_FP_DIV_ZERO		1769
#define	RPC_S_FP_UNDERFLOW		1770
#define	RPC_S_FP_OVERFLOW		1771
#define	RPC_X_NO_MORE_ENTRIES		1772
#define	RPC_X_SS_CHAR_TRANS_OPEN_FAIL	1773
#define	RPC_X_SS_CHAR_TRANS_SHORT_FILE	1774
#define	RPC_X_SS_IN_NULL_CONTEXT	1775
#define	RPC_X_SS_CONTEXT_DAMAGED	1777
#define	RPC_X_SS_HANDLES_MISMATCH	1778
#define	RPC_X_SS_CANNOT_GET_CALL_HANDLE 1779
#define	RPC_X_NULL_REF_POINTER		1780
#define	RPC_X_ENUM_VALUE_OUT_OF_RANGE	1781
#define	RPC_X_BYTE_COUNT_TOO_SMALL	1782
#define	RPC_X_BAD_STUB_DATA		1783
#define	ERROR_INVALID_USER_BUFFER	1784
#define	ERROR_UNRECOGNIZED_MEDIA	1785
#define	ERROR_NO_TRUST_LSA_SECRET	1786
#define	ERROR_NO_TRUST_SAM_ACCOUNT	1787
#define	ERROR_TRUSTED_DOMAIN_FAILURE	1788
#define	ERROR_TRUSTED_RELATIONSHIP_FAILURE 1789
#define	ERROR_TRUST_FAILURE		1790
#define	RPC_S_CALL_IN_PROGRESS		1791
#define	ERROR_NETLOGON_NOT_STARTED	1792
#define	ERROR_ACCOUNT_EXPIRED		1793
#define	ERROR_REDIRECTOR_HAS_OPEN_HANDLES 1794
#define	ERROR_PRINTER_DRIVER_ALREADY_INSTALLED 1795
#define	ERROR_UNKNOWN_PORT		1796
#define	ERROR_UNKNOWN_PRINTER_DRIVER	1797
#define	ERROR_UNKNOWN_PRINTPROCESSOR	1798
#define	ERROR_INVALID_SEPARATOR_FILE	1799
#define	ERROR_INVALID_PRIORITY		1800
#define	ERROR_INVALID_PRINTER_NAME	1801
#define	ERROR_PRINTER_ALREADY_EXISTS	1802
#define	ERROR_INVALID_PRINTER_COMMAND	1803
#define	ERROR_INVALID_DATATYPE		1804
#define	ERROR_INVALID_ENVIRONMENT	1805
#define	RPC_S_NO_MORE_BINDINGS		1806
#define	ERROR_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT 1807
#define	ERROR_NOLOGON_WORKSTATION_TRUST_ACCOUNT 1808
#define	ERROR_NOLOGON_SERVER_TRUST_ACCOUNT 1809
#define	ERROR_DOMAIN_TRUST_INCONSISTENT 1810
#define	ERROR_SERVER_HAS_OPEN_HANDLES	1811
#define	ERROR_RESOURCE_DATA_NOT_FOUND	1812
#define	ERROR_RESOURCE_TYPE_NOT_FOUND	1813
#define	ERROR_RESOURCE_NAME_NOT_FOUND	1814
#define	ERROR_RESOURCE_LANG_NOT_FOUND	1815
#define	ERROR_NOT_ENOUGH_QUOTA		1816
#define	RPC_S_NO_INTERFACES		1817
#define	RPC_S_CALL_CANCELLED		1818
#define	RPC_S_BINDING_INCOMPLETE	1819
#define	RPC_S_COMM_FAILURE		1820
#define	RPC_S_UNSUPPORTED_AUTHN_LEVEL	1821
#define	RPC_S_NO_PRINC_NAME		1822
#define	RPC_S_NOT_RPC_ERROR		1823
#define	RPC_S_UUID_LOCAL_ONLY		1824
#define	RPC_S_SEC_PKG_ERROR		1825
#define	RPC_S_NOT_CANCELLED		1826
#define	RPC_X_INVALID_ES_ACTION		1827
#define	RPC_X_WRONG_ES_VERSION		1828
#define	RPC_X_WRONG_STUB_VERSION	1829
#define	RPC_X_INVALID_PIPE_OBJECT	1830
#define	RPC_X_WRONG_PIPE_ORDER		1831
#define	RPC_X_WRONG_PIPE_VERSION	1832
#define	RPC_S_GROUP_MEMBER_NOT_FOUND	1898
#define	EPT_S_CANT_CREATE		1899
#define	RPC_S_INVALID_OBJECT		1900
#define	ERROR_INVALID_TIME		1901
#define	ERROR_INVALID_FORM_NAME		1902
#define	ERROR_INVALID_FORM_SIZE		1903
#define	ERROR_ALREADY_WAITING		1904
#define	ERROR_PRINTER_DELETED		1905
#define	ERROR_INVALID_PRINTER_STATE	1906
#define	ERROR_PASSWORD_MUST_CHANGE	1907
#define	ERROR_DOMAIN_CONTROLLER_NOT_FOUND 1908
#define	ERROR_ACCOUNT_LOCKED_OUT	1909
#define	OR_INVALID_OXID			1910
#define	OR_INVALID_OID			1911
#define	OR_INVALID_SET			1912
#define	RPC_S_SEND_INCOMPLETE		1913
#define	RPC_S_INVALID_ASYNC_HANDLE	1914
#define	RPC_S_INVALID_ASYNC_CALL	1915
#define	RPC_X_PIPE_CLOSED		1916
#define	RPC_X_PIPE_DISCIPLINE_ERROR	1917
#define	RPC_X_PIPE_EMPTY		1918
#define	ERROR_NO_SITENAME		1919
#define	ERROR_CANT_ACCESS_FILE		1920
#define	ERROR_CANT_RESOLVE_FILENAME	1921
#define	RPC_S_ENTRY_TYPE_MISMATCH	1922
#define	RPC_S_NOT_ALL_OBJS_EXPORTED	1923
#define	RPC_S_INTERFACE_NOT_EXPORTED	1924
#define	RPC_S_PROFILE_NOT_ADDED		1925
#define	RPC_S_PRF_ELT_NOT_ADDED		1926
#define	RPC_S_PRF_ELT_NOT_REMOVED	1927
#define	RPC_S_GRP_ELT_NOT_ADDED		1928
#define	RPC_S_GRP_ELT_NOT_REMOVED	1929
#define	ERROR_KM_DRIVER_BLOCKED		1930
#define	ERROR_CONTEXT_EXPIRED		1931

#define	ERROR_INVALID_PIXEL_FORMAT	2000
#define	ERROR_BAD_DRIVER		2001
#define	ERROR_INVALID_WINDOW_STYLE	2002
#define	ERROR_METAFILE_NOT_SUPPORTED	2003
#define	ERROR_TRANSFORM_NOT_SUPPORTED	2004
#define	ERROR_CLIPPING_NOT_SUPPORTED	2005

/*
 * Note: See lmerr.h for codes 2100-2999
 * (except for these next few)
 */
#define	ERROR_CONNECTED_OTHER_PASSWORD		2108
#define	ERROR_CONNECTED_OTHER_PASSWORD_DEFAULT	2109
#define	ERROR_BAD_USERNAME			2202
#define	ERROR_NOT_CONNECTED			2250
#define	ERROR_OPEN_FILES			2401
#define	ERROR_ACTIVE_CONNECTIONS		2402
#define	ERROR_DEVICE_IN_USE			2404

#define	ERROR_UNKNOWN_PRINT_MONITOR		3000
#define	ERROR_PRINTER_DRIVER_IN_USE		3001
#define	ERROR_SPOOL_FILE_NOT_FOUND		3002
#define	ERROR_SPL_NO_STARTDOC			3003
#define	ERROR_SPL_NO_ADDJOB			3004
#define	ERROR_PRINT_PROCESSOR_ALREADY_INSTALLED	3005
#define	ERROR_PRINT_MONITOR_ALREADY_INSTALLED	3006
#define	ERROR_INVALID_PRINT_MONITOR		3007
#define	ERROR_PRINT_MONITOR_IN_USE		3008
#define	ERROR_PRINTER_HAS_JOBS_QUEUED		3009
#define	ERROR_SUCCESS_REBOOT_REQUIRED		3010
#define	ERROR_SUCCESS_RESTART_REQUIRED		3011
#define	ERROR_PRINTER_NOT_FOUND			3012
#define	ERROR_PRINTER_DRIVER_WARNED		3013
#define	ERROR_PRINTER_DRIVER_BLOCKED		3014

#define	ERROR_WINS_INTERNAL			4000
#define	ERROR_CAN_NOT_DEL_LOCAL_WINS		4001
#define	ERROR_STATIC_INIT			4002
#define	ERROR_INC_BACKUP			4003
#define	ERROR_FULL_BACKUP			4004
#define	ERROR_REC_NON_EXISTENT			4005
#define	ERROR_RPL_NOT_ALLOWED			4006

#define	ERROR_DHCP_ADDRESS_CONFLICT		4100
#define	ERROR_WMI_GUID_NOT_FOUND		4200
#define	ERROR_WMI_INSTANCE_NOT_FOUND		4201
#define	ERROR_WMI_ITEMID_NOT_FOUND		4202
#define	ERROR_WMI_TRY_AGAIN			4203
#define	ERROR_WMI_DP_NOT_FOUND			4204
#define	ERROR_WMI_UNRESOLVED_INSTANCE_REF	4205
#define	ERROR_WMI_ALREADY_ENABLED		4206
#define	ERROR_WMI_GUID_DISCONNECTED		4207
#define	ERROR_WMI_SERVER_UNAVAILABLE		4208
#define	ERROR_WMI_DP_FAILED			4209
#define	ERROR_WMI_INVALID_MOF			4210
#define	ERROR_WMI_INVALID_REGINFO		4211
#define	ERROR_WMI_ALREADY_DISABLED		4212
#define	ERROR_WMI_READ_ONLY			4213
#define	ERROR_WMI_SET_FAILURE			4214

#define	ERROR_INVALID_MEDIA			4300
#define	ERROR_INVALID_LIBRARY			4301
#define	ERROR_INVALID_MEDIA_POOL		4302
#define	ERROR_DRIVE_MEDIA_MISMATCH		4303
#define	ERROR_MEDIA_OFFLINE			4304
#define	ERROR_LIBRARY_OFFLINE			4305
#define	ERROR_EMPTY				4306
#define	ERROR_NOT_EMPTY				4307
#define	ERROR_MEDIA_UNAVAILABLE			4308
#define	ERROR_RESOURCE_DISABLED			4309
#define	ERROR_INVALID_CLEANER			4310
#define	ERROR_UNABLE_TO_CLEAN			4311
#define	ERROR_OBJECT_NOT_FOUND			4312
#define	ERROR_DATABASE_FAILURE			4313
#define	ERROR_DATABASE_FULL			4314
#define	ERROR_MEDIA_INCOMPATIBLE		4315
#define	ERROR_RESOURCE_NOT_PRESENT		4316
#define	ERROR_INVALID_OPERATION			4317
#define	ERROR_MEDIA_NOT_AVAILABLE		4318
#define	ERROR_DEVICE_NOT_AVAILABLE		4319
#define	ERROR_REQUEST_REFUSED			4320
#define	ERROR_INVALID_DRIVE_OBJECT		4321
#define	ERROR_LIBRARY_FULL			4322
#define	ERROR_MEDIUM_NOT_ACCESSIBLE		4323
#define	ERROR_UNABLE_TO_LOAD_MEDIUM		4324
#define	ERROR_UNABLE_TO_INVENTORY_DRIVE		4325
#define	ERROR_UNABLE_TO_INVENTORY_SLOT		4326
#define	ERROR_UNABLE_TO_INVENTORY_TRANSPORT	4327
#define	ERROR_TRANSPORT_FULL			4328
#define	ERROR_CONTROLLING_IEPORT		4329
#define	ERROR_UNABLE_TO_EJECT_MOUNTED_MEDIA	4330
#define	ERROR_CLEANER_SLOT_SET			4331
#define	ERROR_CLEANER_SLOT_NOT_SET		4332
#define	ERROR_CLEANER_CARTRIDGE_SPENT		4333
#define	ERROR_UNEXPECTED_OMID			4334
#define	ERROR_CANT_DELETE_LAST_ITEM		4335
#define	ERROR_MESSAGE_EXCEEDS_MAX_SIZE		4336
#define	ERROR_VOLUME_CONTAINS_SYS_FILES		4337
#define	ERROR_INDIGENOUS_TYPE			4338
#define	ERROR_NO_SUPPORTING_DRIVES		4339
#define	ERROR_CLEANER_CARTRIDGE_INSTALLED	4340

#define	ERROR_FILE_OFFLINE			4350
#define	ERROR_REMOTE_STORAGE_NOT_ACTIVE 	4351
#define	ERROR_REMOTE_STORAGE_MEDIA_ERROR	4352
#define	ERROR_NOT_A_REPARSE_POINT		4390
#define	ERROR_REPARSE_ATTRIBUTE_CONFLICT	4391
#define	ERROR_INVALID_REPARSE_DATA		4392
#define	ERROR_REPARSE_TAG_INVALID		4393
#define	ERROR_REPARSE_TAG_MISMATCH		4394

#define	ERROR_VOLUME_NOT_SIS_ENABLED		4500

/*
 * 5000-5999 appear to be cluster sub-system errors.
 */
#define	ERROR_DEPENDENT_RESOURCE_EXISTS		5001
#define	ERROR_DEPENDENCY_NOT_FOUND		5002
#define	ERROR_DEPENDENCY_ALREADY_EXISTS 	5003
#define	ERROR_RESOURCE_NOT_ONLINE		5004
#define	ERROR_HOST_NODE_NOT_AVAILABLE		5005
#define	ERROR_RESOURCE_NOT_AVAILABLE		5006
#define	ERROR_RESOURCE_NOT_FOUND		5007
#define	ERROR_SHUTDOWN_CLUSTER			5008
#define	ERROR_CANT_EVICT_ACTIVE_NODE		5009
#define	ERROR_OBJECT_ALREADY_EXISTS		5010
#define	ERROR_OBJECT_IN_LIST			5011
#define	ERROR_GROUP_NOT_AVAILABLE		5012
#define	ERROR_GROUP_NOT_FOUND			5013
#define	ERROR_GROUP_NOT_ONLINE			5014
#define	ERROR_HOST_NODE_NOT_RESOURCE_OWNER	5015
#define	ERROR_HOST_NODE_NOT_GROUP_OWNER		5016
#define	ERROR_RESMON_CREATE_FAILED		5017
#define	ERROR_RESMON_ONLINE_FAILED		5018
#define	ERROR_RESOURCE_ONLINE			5019
#define	ERROR_QUORUM_RESOURCE			5020
#define	ERROR_NOT_QUORUM_CAPABLE		5021
#define	ERROR_CLUSTER_SHUTTING_DOWN		5022
#define	ERROR_INVALID_STATE			5023
#define	ERROR_RESOURCE_PROPERTIES_STORED	5024
#define	ERROR_NOT_QUORUM_CLASS			5025
#define	ERROR_CORE_RESOURCE			5026
#define	ERROR_QUORUM_RESOURCE_ONLINE_FAILED	5027
#define	ERROR_QUORUMLOG_OPEN_FAILED		5028
#define	ERROR_CLUSTERLOG_CORRUPT		5029
#define	ERROR_CLUSTERLOG_RECORD_EXCEEDS_MAXSIZE 5030
#define	ERROR_CLUSTERLOG_EXCEEDS_MAXSIZE	5031
#define	ERROR_CLUSTERLOG_CHKPOINT_NOT_FOUND	5032
#define	ERROR_CLUSTERLOG_NOT_ENOUGH_SPACE	5033
#define	ERROR_QUORUM_OWNER_ALIVE		5034
#define	ERROR_NETWORK_NOT_AVAILABLE		5035
#define	ERROR_NODE_NOT_AVAILABLE		5036
#define	ERROR_ALL_NODES_NOT_AVAILABLE		5037
#define	ERROR_RESOURCE_FAILED			5038
#define	ERROR_CLUSTER_INVALID_NODE		5039
#define	ERROR_CLUSTER_NODE_EXISTS		5040
#define	ERROR_CLUSTER_JOIN_IN_PROGRESS		5041
#define	ERROR_CLUSTER_NODE_NOT_FOUND		5042
#define	ERROR_CLUSTER_LOCAL_NODE_NOT_FOUND	5043
#define	ERROR_CLUSTER_NETWORK_EXISTS		5044
#define	ERROR_CLUSTER_NETWORK_NOT_FOUND		5045
#define	ERROR_CLUSTER_NETINTERFACE_EXISTS	5046
#define	ERROR_CLUSTER_NETINTERFACE_NOT_FOUND	5047
#define	ERROR_CLUSTER_INVALID_REQUEST		5048
#define	ERROR_CLUSTER_INVALID_NETWORK_PROVIDER	5049
#define	ERROR_CLUSTER_NODE_DOWN			5050
#define	ERROR_CLUSTER_NODE_UNREACHABLE		5051
#define	ERROR_CLUSTER_NODE_NOT_MEMBER		5052
#define	ERROR_CLUSTER_JOIN_NOT_IN_PROGRESS	5053
#define	ERROR_CLUSTER_INVALID_NETWORK		5054
#define	ERROR_CLUSTER_NODE_UP			5056
#define	ERROR_CLUSTER_IPADDR_IN_USE		5057
#define	ERROR_CLUSTER_NODE_NOT_PAUSED		5058
#define	ERROR_CLUSTER_NO_SECURITY_CONTEXT	5059
#define	ERROR_CLUSTER_NETWORK_NOT_INTERNAL	5060
#define	ERROR_CLUSTER_NODE_ALREADY_UP		5061
#define	ERROR_CLUSTER_NODE_ALREADY_DOWN		5062
#define	ERROR_CLUSTER_NETWORK_ALREADY_ONLINE	5063
#define	ERROR_CLUSTER_NETWORK_ALREADY_OFFLINE	5064
#define	ERROR_CLUSTER_NODE_ALREADY_MEMBER	5065
#define	ERROR_CLUSTER_LAST_INTERNAL_NETWORK	5066
#define	ERROR_CLUSTER_NETWORK_HAS_DEPENDENTS	5067
#define	ERROR_INVALID_OPERATION_ON_QUORUM	5068
#define	ERROR_DEPENDENCY_NOT_ALLOWED		5069
#define	ERROR_CLUSTER_NODE_PAUSED		5070
#define	ERROR_NODE_CANT_HOST_RESOURCE		5071
#define	ERROR_CLUSTER_NODE_NOT_READY		5072
#define	ERROR_CLUSTER_NODE_SHUTTING_DOWN	5073
#define	ERROR_CLUSTER_JOIN_ABORTED		5074
#define	ERROR_CLUSTER_INCOMPATIBLE_VERSIONS	5075
#define	ERROR_CLUSTER_MAXNUM_OF_RESOURCES_EXCEEDED 5076
#define	ERROR_CLUSTER_SYSTEM_CONFIG_CHANGED	5077
#define	ERROR_CLUSTER_RESOURCE_TYPE_NOT_FOUND	5078
#define	ERROR_CLUSTER_RESTYPE_NOT_SUPPORTED	5079
#define	ERROR_CLUSTER_RESNAME_NOT_FOUND		5080
#define	ERROR_CLUSTER_NO_RPC_PACKAGES_REGISTERED 5081
#define	ERROR_CLUSTER_OWNER_NOT_IN_PREFLIST	5082
#define	ERROR_CLUSTER_DATABASE_SEQMISMATCH	5083
#define	ERROR_RESMON_INVALID_STATE		5084
#define	ERROR_CLUSTER_GUM_NOT_LOCKER		5085
#define	ERROR_QUORUM_DISK_NOT_FOUND		5086
#define	ERROR_DATABASE_BACKUP_CORRUPT		5087
#define	ERROR_CLUSTER_NODE_ALREADY_HAS_DFS_ROOT	5088
#define	ERROR_RESOURCE_PROPERTY_UNCHANGEABLE	5089
#define	ERROR_CLUSTER_MEMBERSHIP_INVALID_STATE	5890
#define	ERROR_CLUSTER_QUORUMLOG_NOT_FOUND	5891
#define	ERROR_CLUSTER_MEMBERSHIP_HALT		5892
#define	ERROR_CLUSTER_INSTANCE_ID_MISMATCH	5893
#define	ERROR_CLUSTER_NETWORK_NOT_FOUND_FOR_IP	5894
#define	ERROR_CLUSTER_PROPERTY_DATA_TYPE_MISMATCH 5895
#define	ERROR_CLUSTER_EVICT_WITHOUT_CLEANUP	5896
#define	ERROR_CLUSTER_PARAMETER_MISMATCH	5897
#define	ERROR_NODE_CANNOT_BE_CLUSTERED		5898
#define	ERROR_CLUSTER_WRONG_OS_VERSION		5899
#define	ERROR_CLUSTER_CANT_CREATE_DUP_CLUSTER_NAME 5900

/*
 * 6000-6099? encrypted file system error codes
 */
#define	ERROR_ENCRYPTION_FAILED			6000
#define	ERROR_DECRYPTION_FAILED			6001
#define	ERROR_FILE_ENCRYPTED			6002
#define	ERROR_NO_RECOVERY_POLICY		6003
#define	ERROR_NO_EFS				6004
#define	ERROR_WRONG_EFS				6005
#define	ERROR_NO_USER_KEYS			6006
#define	ERROR_FILE_NOT_ENCRYPTED		6007
#define	ERROR_NOT_EXPORT_FORMAT			6008
#define	ERROR_FILE_READ_ONLY			6009
#define	ERROR_DIR_EFS_DISALLOWED		6010
#define	ERROR_EFS_SERVER_NOT_TRUSTED		6011
#define	ERROR_BAD_RECOVERY_POLICY		6012
#define	ERROR_EFS_ALG_BLOB_TOO_BIG		6013
#define	ERROR_VOLUME_NOT_SUPPORT_EFS		6014
#define	ERROR_EFS_DISABLED			6015
#define	ERROR_EFS_VERSION_NOT_SUPPORT		6016

#define	ERROR_NO_BROWSER_SERVERS_FOUND		6118

/*
 * 8200-8999? directory service errors
 */
#define	ERROR_DS_NOT_INSTALLED			8200
#define	ERROR_DS_MEMBERSHIP_EVALUATED_LOCALLY	8201
#define	ERROR_DS_NO_ATTRIBUTE_OR_VALUE		8202
#define	ERROR_DS_INVALID_ATTRIBUTE_SYNTAX	8203
#define	ERROR_DS_ATTRIBUTE_TYPE_UNDEFINED	8204
#define	ERROR_DS_ATTRIBUTE_OR_VALUE_EXISTS	8205
#define	ERROR_DS_BUSY				8206
#define	ERROR_DS_UNAVAILABLE			8207
#define	ERROR_DS_NO_RIDS_ALLOCATED		8208
#define	ERROR_DS_NO_MORE_RIDS			8209
#define	ERROR_DS_INCORRECT_ROLE_OWNER		8210
#define	ERROR_DS_RIDMGR_INIT_ERROR		8211
#define	ERROR_DS_OBJ_CLASS_VIOLATION		8212
#define	ERROR_DS_CANT_ON_NON_LEAF		8213
#define	ERROR_DS_CANT_ON_RDN			8214
#define	ERROR_DS_CANT_MOD_OBJ_CLASS		8215
#define	ERROR_DS_CROSS_DOM_MOVE_ERROR		8216
#define	ERROR_DS_GC_NOT_AVAILABLE		8217
#define	ERROR_SHARED_POLICY			8218
#define	ERROR_POLICY_OBJECT_NOT_FOUND		8219
#define	ERROR_POLICY_ONLY_IN_DS			8220
#define	ERROR_PROMOTION_ACTIVE			8221
#define	ERROR_NO_PROMOTION_ACTIVE		8222
#define	ERROR_DS_OPERATIONS_ERROR		8224
#define	ERROR_DS_PROTOCOL_ERROR			8225
#define	ERROR_DS_TIMELIMIT_EXCEEDED		8226
#define	ERROR_DS_SIZELIMIT_EXCEEDED		8227
#define	ERROR_DS_ADMIN_LIMIT_EXCEEDED		8228
#define	ERROR_DS_COMPARE_FALSE			8229
#define	ERROR_DS_COMPARE_TRUE			8230
#define	ERROR_DS_AUTH_METHOD_NOT_SUPPORTED	8231
#define	ERROR_DS_STRONG_AUTH_REQUIRED		8232
#define	ERROR_DS_INAPPROPRIATE_AUTH		8233
#define	ERROR_DS_AUTH_UNKNOWN			8234
#define	ERROR_DS_REFERRAL			8235
#define	ERROR_DS_UNAVAILABLE_CRIT_EXTENSION	8236
#define	ERROR_DS_CONFIDENTIALITY_REQUIRED	8237
#define	ERROR_DS_INAPPROPRIATE_MATCHING		8238
#define	ERROR_DS_CONSTRAINT_VIOLATION		8239
#define	ERROR_DS_NO_SUCH_OBJECT			8240
#define	ERROR_DS_ALIAS_PROBLEM			8241
#define	ERROR_DS_INVALID_DN_SYNTAX		8242
#define	ERROR_DS_IS_LEAF			8243
#define	ERROR_DS_ALIAS_DEREF_PROBLEM		8244
#define	ERROR_DS_UNWILLING_TO_PERFORM		8245
#define	ERROR_DS_LOOP_DETECT			8246
#define	ERROR_DS_NAMING_VIOLATION		8247
#define	ERROR_DS_OBJECT_RESULTS_TOO_LARGE	8248
#define	ERROR_DS_AFFECTS_MULTIPLE_DSAS		8249
#define	ERROR_DS_SERVER_DOWN			8250
#define	ERROR_DS_LOCAL_ERROR			8251
#define	ERROR_DS_ENCODING_ERROR			8252
#define	ERROR_DS_DECODING_ERROR			8253
#define	ERROR_DS_FILTER_UNKNOWN			8254
#define	ERROR_DS_PARAM_ERROR			8255
#define	ERROR_DS_NOT_SUPPORTED			8256
#define	ERROR_DS_NO_RESULTS_RETURNED		8257
#define	ERROR_DS_CONTROL_NOT_FOUND		8258
#define	ERROR_DS_CLIENT_LOOP			8259
#define	ERROR_DS_REFERRAL_LIMIT_EXCEEDED	8260
#define	ERROR_DS_SORT_CONTROL_MISSING		8261
#define	ERROR_DS_OFFSET_RANGE_ERROR		8262
#define	ERROR_DS_ROOT_MUST_BE_NC		8301
#define	ERROR_DS_ADD_REPLICA_INHIBITED		8302
#define	ERROR_DS_ATT_NOT_DEF_IN_SCHEMA		8303
#define	ERROR_DS_MAX_OBJ_SIZE_EXCEEDED		8304
#define	ERROR_DS_OBJ_STRING_NAME_EXISTS		8305
#define	ERROR_DS_NO_RDN_DEFINED_IN_SCHEMA	8306
#define	ERROR_DS_RDN_DOESNT_MATCH_SCHEMA	8307
#define	ERROR_DS_NO_REQUESTED_ATTS_FOUND	8308
#define	ERROR_DS_USER_BUFFER_TO_SMALL		8309
#define	ERROR_DS_ATT_IS_NOT_ON_OBJ		8310
#define	ERROR_DS_ILLEGAL_MOD_OPERATION		8311
#define	ERROR_DS_OBJ_TOO_LARGE			8312
#define	ERROR_DS_BAD_INSTANCE_TYPE		8313
#define	ERROR_DS_MASTERDSA_REQUIRED		8314
#define	ERROR_DS_OBJECT_CLASS_REQUIRED		8315
#define	ERROR_DS_MISSING_REQUIRED_ATT		8316
#define	ERROR_DS_ATT_NOT_DEF_FOR_CLASS		8317
#define	ERROR_DS_ATT_ALREADY_EXISTS		8318
#define	ERROR_DS_CANT_ADD_ATT_VALUES		8320
#define	ERROR_DS_SINGLE_VALUE_CONSTRAINT	8321
#define	ERROR_DS_RANGE_CONSTRAINT		8322
#define	ERROR_DS_ATT_VAL_ALREADY_EXISTS		8323
#define	ERROR_DS_CANT_REM_MISSING_ATT		8324
#define	ERROR_DS_CANT_REM_MISSING_ATT_VAL	8325
#define	ERROR_DS_ROOT_CANT_BE_SUBREF		8326
#define	ERROR_DS_NO_CHAINING			8327
#define	ERROR_DS_NO_CHAINED_EVAL		8328
#define	ERROR_DS_NO_PARENT_OBJECT		8329
#define	ERROR_DS_PARENT_IS_AN_ALIAS		8330
#define	ERROR_DS_CANT_MIX_MASTER_AND_REPS	8331
#define	ERROR_DS_CHILDREN_EXIST			8332
#define	ERROR_DS_OBJ_NOT_FOUND			8333
#define	ERROR_DS_ALIASED_OBJ_MISSING		8334
#define	ERROR_DS_BAD_NAME_SYNTAX		8335
#define	ERROR_DS_ALIAS_POINTS_TO_ALIAS		8336
#define	ERROR_DS_CANT_DEREF_ALIAS		8337
#define	ERROR_DS_OUT_OF_SCOPE			8338
#define	ERROR_DS_OBJECT_BEING_REMOVED		8339
#define	ERROR_DS_CANT_DELETE_DSA_OBJ		8340
#define	ERROR_DS_GENERIC_ERROR			8341
#define	ERROR_DS_DSA_MUST_BE_INT_MASTER		8342
#define	ERROR_DS_CLASS_NOT_DSA			8343
#define	ERROR_DS_INSUFF_ACCESS_RIGHTS		8344
#define	ERROR_DS_ILLEGAL_SUPERIOR		8345
#define	ERROR_DS_ATTRIBUTE_OWNED_BY_SAM		8346
#define	ERROR_DS_NAME_TOO_MANY_PARTS		8347
#define	ERROR_DS_NAME_TOO_LONG			8348
#define	ERROR_DS_NAME_VALUE_TOO_LONG		8349
#define	ERROR_DS_NAME_UNPARSEABLE		8350
#define	ERROR_DS_NAME_TYPE_UNKNOWN		8351
#define	ERROR_DS_NOT_AN_OBJECT			8352
#define	ERROR_DS_SEC_DESC_TOO_SHORT		8353
#define	ERROR_DS_SEC_DESC_INVALID		8354
#define	ERROR_DS_NO_DELETED_NAME		8355
#define	ERROR_DS_SUBREF_MUST_HAVE_PARENT	8356
#define	ERROR_DS_NCNAME_MUST_BE_NC		8357
#define	ERROR_DS_CANT_ADD_SYSTEM_ONLY		8358
#define	ERROR_DS_CLASS_MUST_BE_CONCRETE		8359
#define	ERROR_DS_INVALID_DMD			8360
#define	ERROR_DS_OBJ_GUID_EXISTS		8361
#define	ERROR_DS_NOT_ON_BACKLINK		8362
#define	ERROR_DS_NO_CROSSREF_FOR_NC		8363
#define	ERROR_DS_SHUTTING_DOWN			8364
#define	ERROR_DS_UNKNOWN_OPERATION		8365
#define	ERROR_DS_INVALID_ROLE_OWNER		8366
#define	ERROR_DS_COULDNT_CONTACT_FSMO		8367
#define	ERROR_DS_CROSS_NC_DN_RENAME		8368
#define	ERROR_DS_CANT_MOD_SYSTEM_ONLY		8369
#define	ERROR_DS_REPLICATOR_ONLY		8370
#define	ERROR_DS_OBJ_CLASS_NOT_DEFINED		8371
#define	ERROR_DS_OBJ_CLASS_NOT_SUBCLASS		8372
#define	ERROR_DS_NAME_REFERENCE_INVALID		8373
#define	ERROR_DS_CROSS_REF_EXISTS		8374
#define	ERROR_DS_CANT_DEL_MASTER_CROSSREF	8375
#define	ERROR_DS_SUBTREE_NOTIFY_NOT_NC_HEAD	8376
#define	ERROR_DS_NOTIFY_FILTER_TOO_COMPLEX	8377
#define	ERROR_DS_DUP_RDN			8378
#define	ERROR_DS_DUP_OID			8379
#define	ERROR_DS_DUP_MAPI_ID			8380
#define	ERROR_DS_DUP_SCHEMA_ID_GUID		8381
#define	ERROR_DS_DUP_LDAP_DISPLAY_NAME		8382
#define	ERROR_DS_SEMANTIC_ATT_TEST		8383
#define	ERROR_DS_SYNTAX_MISMATCH		8384
#define	ERROR_DS_EXISTS_IN_MUST_HAVE		8385
#define	ERROR_DS_EXISTS_IN_MAY_HAVE		8386
#define	ERROR_DS_NONEXISTENT_MAY_HAVE		8387
#define	ERROR_DS_NONEXISTENT_MUST_HAVE		8388
#define	ERROR_DS_AUX_CLS_TEST_FAIL		8389
#define	ERROR_DS_NONEXISTENT_POSS_SUP		8390
#define	ERROR_DS_SUB_CLS_TEST_FAIL		8391
#define	ERROR_DS_BAD_RDN_ATT_ID_SYNTAX		8392
#define	ERROR_DS_EXISTS_IN_AUX_CLS		8393
#define	ERROR_DS_EXISTS_IN_SUB_CLS		8394
#define	ERROR_DS_EXISTS_IN_POSS_SUP		8395
#define	ERROR_DS_RECALCSCHEMA_FAILED		8396
#define	ERROR_DS_TREE_DELETE_NOT_FINISHED	8397
#define	ERROR_DS_CANT_DELETE			8398
#define	ERROR_DS_ATT_SCHEMA_REQ_ID		8399
#define	ERROR_DS_BAD_ATT_SCHEMA_SYNTAX		8400
#define	ERROR_DS_CANT_CACHE_ATT			8401
#define	ERROR_DS_CANT_CACHE_CLASS		8402
#define	ERROR_DS_CANT_REMOVE_ATT_CACHE		8403
#define	ERROR_DS_CANT_REMOVE_CLASS_CACHE	8404
#define	ERROR_DS_CANT_RETRIEVE_DN		8405
#define	ERROR_DS_MISSING_SUPREF			8406
#define	ERROR_DS_CANT_RETRIEVE_INSTANCE		8407
#define	ERROR_DS_CODE_INCONSISTENCY		8408
#define	ERROR_DS_DATABASE_ERROR			8409
#define	ERROR_DS_GOVERNSID_MISSING		8410
#define	ERROR_DS_MISSING_EXPECTED_ATT		8411
#define	ERROR_DS_NCNAME_MISSING_CR_REF		8412
#define	ERROR_DS_SECURITY_CHECKING_ERROR	8413
#define	ERROR_DS_SCHEMA_NOT_LOADED		8414
#define	ERROR_DS_SCHEMA_ALLOC_FAILED		8415
#define	ERROR_DS_ATT_SCHEMA_REQ_SYNTAX		8416
#define	ERROR_DS_GCVERIFY_ERROR			8417
#define	ERROR_DS_DRA_SCHEMA_MISMATCH		8418
#define	ERROR_DS_CANT_FIND_DSA_OBJ		8419
#define	ERROR_DS_CANT_FIND_EXPECTED_NC		8420
#define	ERROR_DS_CANT_FIND_NC_IN_CACHE		8421
#define	ERROR_DS_CANT_RETRIEVE_CHILD		8422
#define	ERROR_DS_SECURITY_ILLEGAL_MODIFY	8423
#define	ERROR_DS_CANT_REPLACE_HIDDEN_REC	8424
#define	ERROR_DS_BAD_HIERARCHY_FILE		8425
#define	ERROR_DS_BUILD_HIERARCHY_TABLE_FAILED	8426
#define	ERROR_DS_CONFIG_PARAM_MISSING		8427
#define	ERROR_DS_COUNTING_AB_INDICES_FAILED	8428
#define	ERROR_DS_HIERARCHY_TABLE_MALLOC_FAILED	8429
#define	ERROR_DS_INTERNAL_FAILURE		8430
#define	ERROR_DS_UNKNOWN_ERROR			8431
#define	ERROR_DS_ROOT_REQUIRES_CLASS_TOP	8432
#define	ERROR_DS_REFUSING_FSMO_ROLES		8433
#define	ERROR_DS_MISSING_FSMO_SETTINGS		8434
#define	ERROR_DS_UNABLE_TO_SURRENDER_ROLES	8435
#define	ERROR_DS_DRA_GENERIC			8436
#define	ERROR_DS_DRA_INVALID_PARAMETER		8437
#define	ERROR_DS_DRA_BUSY			8438
#define	ERROR_DS_DRA_BAD_DN			8439
#define	ERROR_DS_DRA_BAD_NC			8440
#define	ERROR_DS_DRA_DN_EXISTS			8441
#define	ERROR_DS_DRA_INTERNAL_ERROR		8442
#define	ERROR_DS_DRA_INCONSISTENT_DIT		8443
#define	ERROR_DS_DRA_CONNECTION_FAILED		8444
#define	ERROR_DS_DRA_BAD_INSTANCE_TYPE		8445
#define	ERROR_DS_DRA_OUT_OF_MEM			8446
#define	ERROR_DS_DRA_MAIL_PROBLEM		8447
#define	ERROR_DS_DRA_REF_ALREADY_EXISTS		8448
#define	ERROR_DS_DRA_REF_NOT_FOUND		8449
#define	ERROR_DS_DRA_OBJ_IS_REP_SOURCE		8450
#define	ERROR_DS_DRA_DB_ERROR			8451
#define	ERROR_DS_DRA_NO_REPLICA			8452
#define	ERROR_DS_DRA_ACCESS_DENIED		8453
#define	ERROR_DS_DRA_NOT_SUPPORTED		8454
#define	ERROR_DS_DRA_RPC_CANCELLED		8455
#define	ERROR_DS_DRA_SOURCE_DISABLED		8456
#define	ERROR_DS_DRA_SINK_DISABLED		8457
#define	ERROR_DS_DRA_NAME_COLLISION		8458
#define	ERROR_DS_DRA_SOURCE_REINSTALLED		8459
#define	ERROR_DS_DRA_MISSING_PARENT		8460
#define	ERROR_DS_DRA_PREEMPTED			8461
#define	ERROR_DS_DRA_ABANDON_SYNC		8462
#define	ERROR_DS_DRA_SHUTDOWN			8463
#define	ERROR_DS_DRA_INCOMPATIBLE_PARTIAL_SET	8464
#define	ERROR_DS_DRA_SOURCE_IS_PARTIAL_REPLICA	8465
#define	ERROR_DS_DRA_EXTN_CONNECTION_FAILED	8466
#define	ERROR_DS_INSTALL_SCHEMA_MISMATCH	8467
#define	ERROR_DS_DUP_LINK_ID			8468
#define	ERROR_DS_NAME_ERROR_RESOLVING		8469
#define	ERROR_DS_NAME_ERROR_NOT_FOUND		8470
#define	ERROR_DS_NAME_ERROR_NOT_UNIQUE		8471
#define	ERROR_DS_NAME_ERROR_NO_MAPPING		8472
#define	ERROR_DS_NAME_ERROR_DOMAIN_ONLY		8473
#define	ERROR_DS_NAME_ERROR_NO_SYNTACTICAL_MAPPING 8474
#define	ERROR_DS_CONSTRUCTED_ATT_MOD		8475
#define	ERROR_DS_WRONG_OM_OBJ_CLASS		8476
#define	ERROR_DS_DRA_REPL_PENDING		8477
#define	ERROR_DS_DS_REQUIRED			8478
#define	ERROR_DS_INVALID_LDAP_DISPLAY_NAME	8479
#define	ERROR_DS_NON_BASE_SEARCH		8480
#define	ERROR_DS_CANT_RETRIEVE_ATTS		8481
#define	ERROR_DS_BACKLINK_WITHOUT_LINK		8482
#define	ERROR_DS_EPOCH_MISMATCH			8483
#define	ERROR_DS_SRC_NAME_MISMATCH		8484
#define	ERROR_DS_SRC_AND_DST_NC_IDENTICAL	8485
#define	ERROR_DS_DST_NC_MISMATCH		8486
#define	ERROR_DS_NOT_AUTHORITIVE_FOR_DST_NC	8487
#define	ERROR_DS_SRC_GUID_MISMATCH		8488
#define	ERROR_DS_CANT_MOVE_DELETED_OBJECT	8489
#define	ERROR_DS_PDC_OPERATION_IN_PROGRESS	8490
#define	ERROR_DS_CROSS_DOMAIN_CLEANUP_REQD	8491
#define	ERROR_DS_ILLEGAL_XDOM_MOVE_OPERATION	8492
#define	ERROR_DS_CANT_WITH_ACCT_GROUP_MEMBERSHPS 8493
#define	ERROR_DS_NC_MUST_HAVE_NC_PARENT		8494
#define	ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE	8495
#define	ERROR_DS_DST_DOMAIN_NOT_NATIVE		8496
#define	ERROR_DS_MISSING_INFRASTRUCTURE_CONTAINER 8497
#define	ERROR_DS_CANT_MOVE_ACCOUNT_GROUP	8498
#define	ERROR_DS_CANT_MOVE_RESOURCE_GROUP	8499
#define	ERROR_DS_INVALID_SEARCH_FLAG		8500
#define	ERROR_DS_NO_TREE_DELETE_ABOVE_NC	8501
#define	ERROR_DS_COULDNT_LOCK_TREE_FOR_DELETE	8502
#define	ERROR_DS_COULDNT_IDENTIFY_OBJECTS_FOR_TREE_DELETE 8503
#define	ERROR_DS_SAM_INIT_FAILURE		8504
#define	ERROR_DS_SENSITIVE_GROUP_VIOLATION	8505
#define	ERROR_DS_CANT_MOD_PRIMARYGROUPID	8506
#define	ERROR_DS_ILLEGAL_BASE_SCHEMA_MOD	8507
#define	ERROR_DS_NONSAFE_SCHEMA_CHANGE		8508
#define	ERROR_DS_SCHEMA_UPDATE_DISALLOWED	8509
#define	ERROR_DS_CANT_CREATE_UNDER_SCHEMA	8510
#define	ERROR_DS_INSTALL_NO_SRC_SCH_VERSION	8511
#define	ERROR_DS_INSTALL_NO_SCH_VERSION_IN_INIFILE 8512
#define	ERROR_DS_INVALID_GROUP_TYPE		8513
#define	ERROR_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN 8514
#define	ERROR_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN 8515
#define	ERROR_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER	8516
#define	ERROR_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER 8517
#define	ERROR_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER 8518
#define	ERROR_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER 8519
#define	ERROR_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER 8520
#define	ERROR_DS_HAVE_PRIMARY_MEMBERS		8521
#define	ERROR_DS_STRING_SD_CONVERSION_FAILED	8522
#define	ERROR_DS_NAMING_MASTER_GC		8523
#define	ERROR_DS_DNS_LOOKUP_FAILURE		8524
#define	ERROR_DS_COULDNT_UPDATE_SPNS		8525
#define	ERROR_DS_CANT_RETRIEVE_SD		8526
#define	ERROR_DS_KEY_NOT_UNIQUE			8527
#define	ERROR_DS_WRONG_LINKED_ATT_SYNTAX	8528
#define	ERROR_DS_SAM_NEED_BOOTKEY_PASSWORD	8529
#define	ERROR_DS_SAM_NEED_BOOTKEY_FLOPPY	8530
#define	ERROR_DS_CANT_START			8531
#define	ERROR_DS_INIT_FAILURE			8532
#define	ERROR_DS_NO_PKT_PRIVACY_ON_CONNECTION	8533
#define	ERROR_DS_SOURCE_DOMAIN_IN_FOREST	8534
#define	ERROR_DS_DESTINATION_DOMAIN_NOT_IN_FOREST 8535
#define	ERROR_DS_DESTINATION_AUDITING_NOT_ENABLED 8536
#define	ERROR_DS_CANT_FIND_DC_FOR_SRC_DOMAIN	8537
#define	ERROR_DS_SRC_OBJ_NOT_GROUP_OR_USER	8538
#define	ERROR_DS_SRC_SID_EXISTS_IN_FOREST	8539
#define	ERROR_DS_SRC_AND_DST_OBJECT_CLASS_MISMATCH 8540
#define	ERROR_SAM_INIT_FAILURE			8541
#define	ERROR_DS_DRA_SCHEMA_INFO_SHIP		8542
#define	ERROR_DS_DRA_SCHEMA_CONFLICT		8543
#define	ERROR_DS_DRA_EARLIER_SCHEMA_CONFLICT	8544
#define	ERROR_DS_DRA_OBJ_NC_MISMATCH		8545
#define	ERROR_DS_NC_STILL_HAS_DSAS		8546
#define	ERROR_DS_GC_REQUIRED			8547
#define	ERROR_DS_LOCAL_MEMBER_OF_LOCAL_ONLY	8548
#define	ERROR_DS_NO_FPO_IN_UNIVERSAL_GROUPS	8549
#define	ERROR_DS_CANT_ADD_TO_GC			8550
#define	ERROR_DS_NO_CHECKPOINT_WITH_PDC		8551
#define	ERROR_DS_SOURCE_AUDITING_NOT_ENABLED	8552
#define	ERROR_DS_CANT_CREATE_IN_NONDOMAIN_NC	8553
#define	ERROR_DS_INVALID_NAME_FOR_SPN		8554
#define	ERROR_DS_FILTER_USES_CONTRUCTED_ATTRS	8555
#define	ERROR_DS_UNICODEPWD_NOT_IN_QUOTES	8556
#define	ERROR_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED	8557
#define	ERROR_DS_MUST_BE_RUN_ON_DST_DC		8558
#define	ERROR_DS_SRC_DC_MUST_BE_SP4_OR_GREATER	8559
#define	ERROR_DS_CANT_TREE_DELETE_CRITICAL_OBJ	8560
#define	ERROR_DS_INIT_FAILURE_CONSOLE		8561
#define	ERROR_DS_SAM_INIT_FAILURE_CONSOLE	8562
#define	ERROR_DS_FOREST_VERSION_TOO_HIGH	8563
#define	ERROR_DS_DOMAIN_VERSION_TOO_HIGH	8564
#define	ERROR_DS_FOREST_VERSION_TOO_LOW		8565
#define	ERROR_DS_DOMAIN_VERSION_TOO_LOW		8566
#define	ERROR_DS_INCOMPATIBLE_VERSION		8567
#define	ERROR_DS_LOW_DSA_VERSION		8568
#define	ERROR_DS_NO_BEHAVIOR_VERSION_IN_MIXEDDOMAIN 8569
#define	ERROR_DS_NOT_SUPPORTED_SORT_ORDER	8570
#define	ERROR_DS_NAME_NOT_UNIQUE		8571
#define	ERROR_DS_MACHINE_ACCOUNT_CREATED_PRENT4	8572
#define	ERROR_DS_OUT_OF_VERSION_STORE		8573
#define	ERROR_DS_INCOMPATIBLE_CONTROLS_USED	8574
#define	ERROR_DS_NO_REF_DOMAIN			8575
#define	ERROR_DS_RESERVED_LINK_ID		8576
#define	ERROR_DS_LINK_ID_NOT_AVAILABLE		8577
#define	ERROR_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER	8578
#define	ERROR_DS_MODIFYDN_DISALLOWED_BY_INSTANCE_TYPE 8579
#define	ERROR_DS_NO_OBJECT_MOVE_IN_SCHEMA_NC	8580
#define	ERROR_DS_MODIFYDN_DISALLOWED_BY_FLAG	8581
#define	ERROR_DS_MODIFYDN_WRONG_GRANDPARENT	8582
#define	ERROR_DS_NAME_ERROR_TRUST_REFERRAL	8583
#define	ERROR_NOT_SUPPORTED_ON_STANDARD_SERVER	8584
#define	ERROR_DS_CANT_ACCESS_REMOTE_PART_OF_AD	8585
#define	ERROR_DS_CR_IMPOSSIBLE_TO_VALIDATE_V2	8586
#define	ERROR_DS_THREAD_LIMIT_EXCEEDED		8587
#define	ERROR_DS_NOT_CLOSEST			8588
#define	ERROR_DS_CANT_DERIVE_SPN_WITHOUT_SERVER_REF 8589
#define	ERROR_DS_SINGLE_USER_MODE_FAILED	8590
#define	ERROR_DS_NTDSCRIPT_SYNTAX_ERROR		8591
#define	ERROR_DS_NTDSCRIPT_PROCESS_ERROR	8592
#define	ERROR_DS_DIFFERENT_REPL_EPOCHS		8593
#define	ERROR_DS_DRS_EXTENSIONS_CHANGED		8594
#define	ERROR_DS_REPLICA_SET_CHANGE_NOT_ALLOWED_ON_DISABLED_CR 8595
#define	ERROR_DS_NO_MSDS_INTID			8596
#define	ERROR_DS_DUP_MSDS_INTID			8597
#define	ERROR_DS_EXISTS_IN_RDNATTID		8598
#define	ERROR_DS_AUTHORIZATION_FAILED		8599
#define	ERROR_DS_INVALID_SCRIPT			8600
#define	ERROR_DS_REMOTE_CROSSREF_OP_FAILED	8601

/*
 * 9000-9999? domain name service errors
 */
#define	DNS_ERROR_RESPONSE_CODES_BASE		9000
#define	DNS_ERROR_RCODE_NO_ERROR	NO_ERROR
#define	DNS_ERROR_MASK			DNS_ERROR_RESPONSE_CODES_BASE
#define	DNS_ERROR_RCODE_FORMAT_ERROR		9001
#define	DNS_ERROR_RCODE_SERVER_FAILURE		9002
#define	DNS_ERROR_RCODE_NAME_ERROR		9003
#define	DNS_ERROR_RCODE_NOT_IMPLEMENTED		9004
#define	DNS_ERROR_RCODE_REFUSED			9005
#define	DNS_ERROR_RCODE_YXDOMAIN		9006
#define	DNS_ERROR_RCODE_YXRRSET			9007
#define	DNS_ERROR_RCODE_NXRRSET			9008
#define	DNS_ERROR_RCODE_NOTAUTH			9009
#define	DNS_ERROR_RCODE_NOTZONE			9010
#define	DNS_ERROR_RCODE_BADSIG			9016
#define	DNS_ERROR_RCODE_BADKEY			9017
#define	DNS_ERROR_RCODE_BADTIME			9018
#define	DNS_ERROR_RCODE_LAST		DNS_ERROR_RCODE_BADTIME
#define	DNS_ERROR_PACKET_FMT_BASE		9500
#define	DNS_INFO_NO_RECORDS			9501
#define	DNS_ERROR_BAD_PACKET			9502
#define	DNS_ERROR_NO_PACKET			9503
#define	DNS_ERROR_RCODE				9504
#define	DNS_ERROR_UNSECURE_PACKET		9505
#define	DNS_STATUS_PACKET_UNSECURE	DNS_ERROR_UNSECURE_PACKET
#define	DNS_ERROR_NO_MEMORY		ERROR_OUTOFMEMORY
#define	DNS_ERROR_INVALID_NAME		ERROR_INVALID_NAME
#define	DNS_ERROR_INVALID_DATA		ERROR_INVALID_DATA
#define	DNS_ERROR_GENERAL_API_BASE		9550
#define	DNS_ERROR_INVALID_TYPE			9551
#define	DNS_ERROR_INVALID_IP_ADDRESS		9552
#define	DNS_ERROR_INVALID_PROPERTY		9553
#define	DNS_ERROR_TRY_AGAIN_LATER		9554
#define	DNS_ERROR_NOT_UNIQUE			9555
#define	DNS_ERROR_NON_RFC_NAME			9556
#define	DNS_STATUS_FQDN				9557
#define	DNS_STATUS_DOTTED_NAME			9558
#define	DNS_STATUS_SINGLE_PART_NAME		9559
#define	DNS_ERROR_INVALID_NAME_CHAR		9560
#define	DNS_ERROR_NUMERIC_NAME			9561
#define	DNS_ERROR_NOT_ALLOWED_ON_ROOT_SERVER	9562
#define	DNS_ERROR_ZONE_BASE			9600
#define	DNS_ERROR_ZONE_DOES_NOT_EXIST		9601
#define	DNS_ERROR_NO_ZONE_INFO			9602
#define	DNS_ERROR_INVALID_ZONE_OPERATION	9603
#define	DNS_ERROR_ZONE_CONFIGURATION_ERROR	9604
#define	DNS_ERROR_ZONE_HAS_NO_SOA_RECORD	9605
#define	DNS_ERROR_ZONE_HAS_NO_NS_RECORDS	9606
#define	DNS_ERROR_ZONE_LOCKED			9607
#define	DNS_ERROR_ZONE_CREATION_FAILED		9608
#define	DNS_ERROR_ZONE_ALREADY_EXISTS		9609
#define	DNS_ERROR_AUTOZONE_ALREADY_EXISTS	9610
#define	DNS_ERROR_INVALID_ZONE_TYPE		9611
#define	DNS_ERROR_SECONDARY_REQUIRES_MASTER_IP	9612
#define	DNS_ERROR_ZONE_NOT_SECONDARY		9613
#define	DNS_ERROR_NEED_SECONDARY_ADDRESSES	9614
#define	DNS_ERROR_WINS_INIT_FAILED		9615
#define	DNS_ERROR_NEED_WINS_SERVERS		9616
#define	DNS_ERROR_NBSTAT_INIT_FAILED		9617
#define	DNS_ERROR_SOA_DELETE_INVALID		9618
#define	DNS_ERROR_FORWARDER_ALREADY_EXISTS	9619
#define	DNS_ERROR_ZONE_REQUIRES_MASTER_IP	9620
#define	DNS_ERROR_ZONE_IS_SHUTDOWN		9621
#define	DNS_ERROR_DATAFILE_BASE			9650
#define	DNS_ERROR_PRIMARY_REQUIRES_DATAFILE	9651
#define	DNS_ERROR_INVALID_DATAFILE_NAME		9652
#define	DNS_ERROR_DATAFILE_OPEN_FAILURE		9653
#define	DNS_ERROR_FILE_WRITEBACK_FAILED		9654
#define	DNS_ERROR_DATAFILE_PARSING		9655
#define	DNS_ERROR_DATABASE_BASE			9700
#define	DNS_ERROR_RECORD_DOES_NOT_EXIST		9701
#define	DNS_ERROR_RECORD_FORMAT			9702
#define	DNS_ERROR_NODE_CREATION_FAILED		9703
#define	DNS_ERROR_UNKNOWN_RECORD_TYPE		9704
#define	DNS_ERROR_RECORD_TIMED_OUT		9705
#define	DNS_ERROR_NAME_NOT_IN_ZONE		9706
#define	DNS_ERROR_CNAME_LOOP			9707
#define	DNS_ERROR_NODE_IS_CNAME			9708
#define	DNS_ERROR_CNAME_COLLISION		9709
#define	DNS_ERROR_RECORD_ONLY_AT_ZONE_ROOT	9710
#define	DNS_ERROR_RECORD_ALREADY_EXISTS		9711
#define	DNS_ERROR_SECONDARY_DATA		9712
#define	DNS_ERROR_NO_CREATE_CACHE_DATA		9713
#define	DNS_ERROR_NAME_DOES_NOT_EXIST		9714
#define	DNS_WARNING_PTR_CREATE_FAILED		9715
#define	DNS_WARNING_DOMAIN_UNDELETED		9716
#define	DNS_ERROR_DS_UNAVAILABLE		9717
#define	DNS_ERROR_DS_ZONE_ALREADY_EXISTS	9718
#define	DNS_ERROR_NO_BOOTFILE_IF_DS_ZONE	9719
#define	DNS_ERROR_OPERATION_BASE		9750
#define	DNS_INFO_AXFR_COMPLETE			9751
#define	DNS_ERROR_AXFR				9752
#define	DNS_INFO_ADDED_LOCAL_WINS		9753
#define	DNS_ERROR_SECURE_BASE			9800
#define	DNS_STATUS_CONTINUE_NEEDED		9801
#define	DNS_ERROR_SETUP_BASE			9850
#define	DNS_ERROR_NO_TCPIP			9851
#define	DNS_ERROR_NO_DNS_SERVERS		9852
#define	DNS_ERROR_DP_BASE			9900
#define	DNS_ERROR_DP_DOES_NOT_EXIST		9901
#define	DNS_ERROR_DP_ALREADY_EXISTS		9902
#define	DNS_ERROR_DP_NOT_ENLISTED		9903
#define	DNS_ERROR_DP_ALREADY_ENLISTED		9904

#define	RPC_E_CALL_REJECTED			0x80010001U
#define	RPC_E_CALL_CANCELED			0x80010002U
#define	RPC_E_CANTPOST_INSENDCALL		0x80010003U
#define	RPC_E_CANTCALLOUT_INASYNCCALL		0x80010004U
#define	RPC_E_CANTCALLOUT_INEXTERNALCALL	0x80010005U
#define	RPC_E_CONNECTION_TERMINATED		0x80010006U
#define	RPC_E_SERVER_DIED			0x80010007U
#define	RPC_E_CLIENT_DIED			0x80010008U
#define	RPC_E_INVALID_DATAPACKET		0x80010009U
#define	RPC_E_CANTTRANSMIT_CALL			0x8001000AU
#define	RPC_E_CLIENT_CANTMARSHAL_DATA		0x8001000BU
#define	RPC_E_CLIENT_CANTUNMARSHAL_DATA		0x8001000CU
#define	RPC_E_SERVER_CANTMARSHAL_DATA		0x8001000DU
#define	RPC_E_SERVER_CANTUNMARSHAL_DATA		0x8001000EU
#define	RPC_E_INVALID_DATA			0x8001000FU
#define	RPC_E_INVALID_PARAMETER			0x80010010U
#define	RPC_E_CANTCALLOUT_AGAIN			0x80010011U
#define	RPC_E_SERVER_DIED_DNE			0x80010012U
#define	RPC_E_SYS_CALL_FAILED			0x80010100U
#define	RPC_E_OUT_OF_RESOURCES			0x80010101U
#define	RPC_E_ATTEMPTED_MULTITHREAD		0x80010102U
#define	RPC_E_NOT_REGISTERED			0x80010103U
#define	RPC_E_FAULT				0x80010104U
#define	RPC_E_SERVERFAULT			0x80010105U
#define	RPC_E_CHANGED_MODE			0x80010106U
#define	RPC_E_INVALIDMETHOD			0x80010107U
#define	RPC_E_DISCONNECTED			0x80010108U
#define	RPC_E_RETRY				0x80010109U
#define	RPC_E_SERVERCALL_RETRYLATER		0x8001010AU
#define	RPC_E_SERVERCALL_REJECTED		0x8001010BU
#define	RPC_E_INVALID_CALLDATA			0x8001010CU
#define	RPC_E_CANTCALLOUT_ININPUTSYNCCALL	0x8001010DU
#define	RPC_E_WRONG_THREAD			0x8001010EU
#define	RPC_E_THREAD_NOT_INIT			0x8001010FU
#define	RPC_E_VERSION_MISMATCH			0x80010110U
#define	RPC_E_INVALID_HEADER			0x80010111U
#define	RPC_E_INVALID_EXTENSION			0x80010112U
#define	RPC_E_INVALID_IPID			0x80010113U
#define	RPC_E_INVALID_OBJECT			0x80010114U
#define	RPC_S_CALLPENDING			0x80010115U
#define	RPC_S_WAITONTIMER			0x80010116U
#define	RPC_E_CALL_COMPLETE			0x80010117U
#define	RPC_E_UNSECURE_CALL			0x80010118U
#define	RPC_E_TOO_LATE				0x80010119U
#define	RPC_E_NO_GOOD_SECURITY_PACKAGES		0x8001011AU
#define	RPC_E_ACCESS_DENIED			0x8001011BU
#define	RPC_E_REMOTE_DISABLED			0x8001011CU
#define	RPC_E_UNEXPECTED			0x8001FFFFU

#ifdef __cplusplus
}
#endif


#endif /* _SMB_NTERROR_H */
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */

/*
 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
 * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
 */

#ifndef _SMB_NTSTATUS_H
#define	_SMB_NTSTATUS_H

/*
 * This file defines the list of Win32 status codes. If you need
 * a status code that is defined in the [MS-ERREF] document but
 * is not listed here, please add it to the file.
 *
 * Be careful not to confuse error codes with status codes. The error
 * codes are listed in nterror.h.  Some mappings between NT status
 * codes and Win32 error codes is provided in the Microsoft knowledge
 * base article Q113996.
 *
 * Also note that this file is used as the input to a small AWK program
 * to generate an error name lookup table.  If you modify this file,
 * please check that a make in libsmb is successful.  At present, the
 * AWK program checks that the NTSTATUS constants are in this format:
 * 0x0123CDEF  Please keep that format.
 *
 * Win32 error codes are 32-bit values with the following format
 * (ntstatus.h):
 *
 *   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
 *   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
 *  +---+-+-+-----------------------+-------------------------------+
 *  |Sev|C|R|     Facility          |               Code            |
 *  +---+-+-+-----------------------+-------------------------------+
 *
 *  Sev     severity code
 *          00 - Success
 *          01 - Informational
 *          10 - Warning
 *          11 - Error
 *
 *  C - is the Customer code flag
 *  R - is a reserved bit
 *  Facility - is the facility code
 *  Code - is the facility's status code
 */

#ifdef __cplusplus
extern "C" {
#endif

/*
 * One non-NT macro added for getting the severity value
 * from a given NT status code.  Evaluates to one of the
 * SEVERITY values defined below.
 */
#define	NT_SC_SEVERITY(S)	(((S) >> 30) & 3)

/*
 * All NT-compatible from here on.
 * (modulo the "NT_" prefix)
 */

/*
 * Define the severity codes (same as in the NT DDK).
 * These are the top two bits, so shift left 30 bits.
 */
#define	NT_STATUS_SEVERITY_SUCCESS		0
#define	NT_STATUS_SEVERITY_INFORMATIONAL	1	/* 0x40000000 */
#define	NT_STATUS_SEVERITY_WARNING		2	/* 0x80000000 */
#define	NT_STATUS_SEVERITY_ERROR		3	/* 0xC0000000 */

/*
 * Please keep the following defines sorted by number.
 */

#define	NT_STATUS_SUCCESS				0x00000000

/* Facility OS (0x..00....) */
/* All severity zero (success) */
#define	NT_STATUS_ABANDONED				0x00000080
#define	NT_STATUS_USER_APC				0x000000C0
#define	NT_STATUS_KERNEL_APC				0x00000100
#define	NT_STATUS_ALERTED				0x00000101
#define	NT_STATUS_TIMEOUT				0x00000102
#define	NT_STATUS_PENDING				0x00000103
#define	NT_STATUS_REPARSE				0x00000104
#define	NT_STATUS_MORE_ENTRIES				0x00000105
#define	NT_STATUS_NOT_ALL_ASSIGNED			0x00000106
#define	NT_STATUS_SOME_NOT_MAPPED			0x00000107
#define	NT_STATUS_OPLOCK_BREAK_IN_PROGRESS		0x00000108
#define	NT_STATUS_VOLUME_MOUNTED			0x00000109
#define	NT_STATUS_RXACT_COMMITTED			0x0000010A
#define	NT_STATUS_NOTIFY_CLEANUP			0x0000010B
#define	NT_STATUS_NOTIFY_ENUM_DIR			0x0000010C
#define	NT_STATUS_NO_QUOTAS_FOR_ACCOUNT			0x0000010D
#define	NT_STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED	0x0000010E
#define	NT_STATUS_PAGE_FAULT_TRANSITION			0x00000110
#define	NT_STATUS_PAGE_FAULT_DEMAND_ZERO		0x00000111
#define	NT_STATUS_PAGE_FAULT_COPY_ON_WRITE		0x00000112
#define	NT_STATUS_PAGE_FAULT_GUARD_PAGE			0x00000113
#define	NT_STATUS_PAGE_FAULT_PAGING_FILE		0x00000114
#define	NT_STATUS_CACHE_PAGE_LOCKED			0x00000115
#define	NT_STATUS_CRASH_DUMP				0x00000116
#define	NT_STATUS_BUFFER_ALL_ZEROS			0x00000117
#define	NT_STATUS_REPARSE_OBJECT			0x00000118
#define	NT_STATUS_RESOURCE_REQUIREMENTS_CHANGED		0x00000119
#define	NT_STATUS_TRANSLATION_COMPLETE			0x00000120
#define	NT_STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY	0x00000121
#define	NT_STATUS_NOTHING_TO_TERMINATE			0x00000122
#define	NT_STATUS_PROCESS_NOT_IN_JOB			0x00000123
#define	NT_STATUS_PROCESS_IN_JOB			0x00000124
#define	NT_STATUS_VOLSNAP_HIBERNATE_READY		0x00000125
#define	NT_STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY	0x00000126
#define	NT_STATUS_INTERRUPT_VECTOR_ALREADY_CONNECTED	0x00000127
#define	NT_STATUS_INTERRUPT_STILL_CONNECTED		0x00000128
#define	NT_STATUS_PROCESS_CLONED			0x00000129
#define	NT_STATUS_FILE_LOCKED_WITH_ONLY_READERS		0x0000012A
#define	NT_STATUS_FILE_LOCKED_WITH_WRITERS		0x0000012B
#define	NT_STATUS_RESOURCEMANAGER_READ_ONLY		0x00000202
#define	NT_STATUS_OPLOCK_SWITCHED_TO_NEW_HANDLE		0x00000215
#define	NT_STATUS_OPLOCK_HANDLE_CLOSED			0x00000216
#define	NT_STATUS_WAIT_FOR_OPLOCK			0x00000367

/* All severity 1 (informational) */
#define	NT_STATUS_OBJECT_NAME_EXISTS			0x40000000
#define	NT_STATUS_THREAD_WAS_SUSPENDED			0x40000001
#define	NT_STATUS_WORKING_SET_LIMIT_RANGE		0x40000002
#define	NT_STATUS_IMAGE_NOT_AT_BASE			0x40000003
#define	NT_STATUS_RXACT_STATE_CREATED			0x40000004
#define	NT_STATUS_SEGMENT_NOTIFICATION			0x40000005
#define	NT_STATUS_LOCAL_USER_SESSION_KEY		0x40000006
#define	NT_STATUS_BAD_CURRENT_DIRECTORY			0x40000007
#define	NT_STATUS_SERIAL_MORE_WRITES			0x40000008
#define	NT_STATUS_REGISTRY_RECOVERED			0x40000009
#define	NT_STATUS_FT_READ_RECOVERY_FROM_BACKUP		0x4000000A
#define	NT_STATUS_FT_WRITE_RECOVERY			0x4000000B
#define	NT_STATUS_SERIAL_COUNTER_TIMEOUT		0x4000000C
#define	NT_STATUS_NULL_LM_PASSWORD			0x4000000D
#define	NT_STATUS_IMAGE_MACHINE_TYPE_MISMATCH		0x4000000E
#define	NT_STATUS_RECEIVE_PARTIAL			0x4000000F
#define	NT_STATUS_RECEIVE_EXPEDITED			0x40000010
#define	NT_STATUS_RECEIVE_PARTIAL_EXPEDITED		0x40000011
#define	NT_STATUS_EVENT_DONE				0x40000012
#define	NT_STATUS_EVENT_PENDING				0x40000013
#define	NT_STATUS_CHECKING_FILE_SYSTEM			0x40000014
#define	NT_STATUS_FATAL_APP_EXIT			0x40000015
#define	NT_STATUS_PREDEFINED_HANDLE			0x40000016
#define	NT_STATUS_WAS_UNLOCKED				0x40000017
#define	NT_STATUS_SERVICE_NOTIFICATION			0x40000018
#define	NT_STATUS_WAS_LOCKED				0x40000019
#define	NT_STATUS_LOG_HARD_ERROR			0x4000001A
#define	NT_STATUS_ALREADY_WIN32				0x4000001B
#define	NT_STATUS_WX86_UNSIMULATE			0x4000001C
#define	NT_STATUS_WX86_CONTINUE				0x4000001D
#define	NT_STATUS_WX86_SINGLE_STEP			0x4000001E
#define	NT_STATUS_WX86_BREAKPOINT			0x4000001F
#define	NT_STATUS_WX86_EXCEPTION_CONTINUE		0x40000020
#define	NT_STATUS_WX86_EXCEPTION_LASTCHANCE		0x40000021
#define	NT_STATUS_WX86_EXCEPTION_CHAIN			0x40000022
#define	NT_STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE	0x40000023
#define	NT_STATUS_NO_YIELD_PERFORMED			0x40000024
#define	NT_STATUS_TIMER_RESUME_IGNORED			0x40000025
#define	NT_STATUS_ARBITRATION_UNHANDLED			0x40000026
#define	NT_STATUS_CARDBUS_NOT_SUPPORTED			0x40000027
#define	NT_STATUS_WX86_CREATEWX86TIB			0x40000028
#define	NT_STATUS_MP_PROCESSOR_MISMATCH			0x40000029
#define	NT_STATUS_HIBERNATED				0x4000002A
#define	NT_STATUS_RESUME_HIBERNATION			0x4000002B
#define	NT_STATUS_FIRMWARE_UPDATED			0x4000002C
#define	NT_STATUS_DRIVERS_LEAKING_LOCKED_PAGES		0x4000002D
#define	NT_STATUS_MESSAGE_RETRIEVED			0x4000002E
#define	NT_STATUS_SYSTEM_POWERSTATE_TRANSITION		0x4000002F
#define	NT_STATUS_ALPC_CHECK_COMPLETION_LIST		0x40000030
#define	NT_STATUS_SYSTEM_POWERSTATE_COMPLEX_TRANSITION	0x40000031
#define	NT_STATUS_ACCESS_AUDIT_BY_POLICY		0x40000032
#define	NT_STATUS_ABANDON_HIBERFILE			0x40000033
#define	NT_STATUS_BIZRULES_NOT_ENABLED			0x40000034
#define	NT_STATUS_WAKE_SYSTEM				0x40000294
#define	NT_STATUS_DS_SHUTTING_DOWN			0x40000370

/* Facility RPC Runtime (0x..02....) */
#define	RPC_NT_UUID_LOCAL_ONLY				0x40020056
#define	RPC_NT_SEND_INCOMPLETE				0x400200AF

/* All severity 2 (warning) */
#define	NT_STATUS_GUARD_PAGE_VIOLATION			0x80000001
#define	NT_STATUS_DATATYPE_MISALIGNMENT			0x80000002
#define	NT_STATUS_BREAKPOINT				0x80000003
#define	NT_STATUS_SINGLE_STEP				0x80000004
#define	NT_STATUS_BUFFER_OVERFLOW			0x80000005
#define	NT_STATUS_NO_MORE_FILES				0x80000006
#define	NT_STATUS_WAKE_SYSTEM_DEBUGGER			0x80000007
#define	NT_STATUS_HANDLES_CLOSED			0x8000000A
#define	NT_STATUS_NO_INHERITANCE			0x8000000B
#define	NT_STATUS_GUID_SUBSTITUTION_MADE		0x8000000C
#define	NT_STATUS_PARTIAL_COPY				0x8000000D
#define	NT_STATUS_DEVICE_PAPER_EMPTY			0x8000000E
#define	NT_STATUS_DEVICE_POWERED_OFF			0x8000000F
#define	NT_STATUS_DEVICE_OFF_LINE			0x80000010
#define	NT_STATUS_DEVICE_BUSY				0x80000011
#define	NT_STATUS_NO_MORE_EAS				0x80000012
#define	NT_STATUS_INVALID_EA_NAME			0x80000013
#define	NT_STATUS_EA_LIST_INCONSISTENT			0x80000014
#define	NT_STATUS_INVALID_EA_FLAG			0x80000015
#define	NT_STATUS_VERIFY_REQUIRED			0x80000016
#define	NT_STATUS_EXTRANEOUS_INFORMATION		0x80000017
#define	NT_STATUS_RXACT_COMMIT_NECESSARY		0x80000018
#define	NT_STATUS_NO_MORE_ENTRIES			0x8000001A
#define	NT_STATUS_FILEMARK_DETECTED			0x8000001B
#define	NT_STATUS_MEDIA_CHANGED				0x8000001C
#define	NT_STATUS_BUS_RESET				0x8000001D
#define	NT_STATUS_END_OF_MEDIA				0x8000001E
#define	NT_STATUS_BEGINNING_OF_MEDIA			0x8000001F
#define	NT_STATUS_MEDIA_CHECK				0x80000020
#define	NT_STATUS_SETMARK_DETECTED			0x80000021
#define	NT_STATUS_NO_DATA_DETECTED			0x80000022
#define	NT_STATUS_REDIRECTOR_HAS_OPEN_HANDLES		0x80000023
#define	NT_STATUS_SERVER_HAS_OPEN_HANDLES		0x80000024
#define	NT_STATUS_ALREADY_DISCONNECTED			0x80000025
#define	NT_STATUS_LONGJUMP				0x80000026
#define	NT_STATUS_CLEANER_CARTRIDGE_INSTALLED		0x80000027
#define	NT_STATUS_PLUGPLAY_QUERY_VETOED			0x80000028
#define	NT_STATUS_UNWIND_CONSOLIDATE			0x80000029
#define	NT_STATUS_REGISTRY_HIVE_RECOVERED		0x8000002A
#define	NT_STATUS_DLL_MIGHT_BE_INSECURE			0x8000002B
#define	NT_STATUS_DLL_MIGHT_BE_INCOMPATIBLE		0x8000002C
#define	NT_STATUS_STOPPED_ON_SYMLINK			0x8000002D
#define	NT_STATUS_CANNOT_GRANT_REQUESTED_OPLOCK		0x8000002E
#define	NT_STATUS_DEVICE_REQUIRES_CLEANING		0x80000288
#define	NT_STATUS_DEVICE_DOOR_OPEN			0x80000289
#define	NT_STATUS_DATA_LOST_REPAIR			0x80000803

/* facility cluster (0x8013....) etc, not used */

/* All severity 3 (error) */
#define	NT_STATUS_UNSUCCESSFUL				0xC0000001
#define	NT_STATUS_NOT_IMPLEMENTED			0xC0000002
#define	NT_STATUS_INVALID_INFO_CLASS			0xC0000003
#define	NT_STATUS_INFO_LENGTH_MISMATCH			0xC0000004
#define	NT_STATUS_ACCESS_VIOLATION			0xC0000005
#define	NT_STATUS_IN_PAGE_ERROR				0xC0000006
#define	NT_STATUS_PAGEFILE_QUOTA			0xC0000007
#define	NT_STATUS_INVALID_HANDLE			0xC0000008
#define	NT_STATUS_BAD_INITIAL_STACK			0xC0000009
#define	NT_STATUS_BAD_INITIAL_PC			0xC000000A
#define	NT_STATUS_INVALID_CID				0xC000000B
#define	NT_STATUS_TIMER_NOT_CANCELED			0xC000000C
#define	NT_STATUS_INVALID_PARAMETER			0xC000000D
#define	NT_STATUS_NO_SUCH_DEVICE			0xC000000E
#define	NT_STATUS_NO_SUCH_FILE				0xC000000F
#define	NT_STATUS_INVALID_DEVICE_REQUEST		0xC0000010
#define	NT_STATUS_END_OF_FILE				0xC0000011
#define	NT_STATUS_WRONG_VOLUME				0xC0000012
#define	NT_STATUS_NO_MEDIA_IN_DEVICE			0xC0000013
#define	NT_STATUS_UNRECOGNIZED_MEDIA			0xC0000014
#define	NT_STATUS_NONEXISTENT_SECTOR			0xC0000015
#define	NT_STATUS_MORE_PROCESSING_REQUIRED		0xC0000016
#define	NT_STATUS_NO_MEMORY				0xC0000017
#define	NT_STATUS_CONFLICTING_ADDRESSES			0xC0000018
#define	NT_STATUS_NOT_MAPPED_VIEW			0xC0000019
#define	NT_STATUS_UNABLE_TO_FREE_VM			0xC000001A
#define	NT_STATUS_UNABLE_TO_DELETE_SECTION		0xC000001B
#define	NT_STATUS_INVALID_SYSTEM_SERVICE		0xC000001C
#define	NT_STATUS_ILLEGAL_INSTRUCTION			0xC000001D
#define	NT_STATUS_INVALID_LOCK_SEQUENCE			0xC000001E
#define	NT_STATUS_INVALID_VIEW_SIZE			0xC000001F
#define	NT_STATUS_INVALID_FILE_FOR_SECTION		0xC0000020
#define	NT_STATUS_ALREADY_COMMITTED			0xC0000021
#define	NT_STATUS_ACCESS_DENIED				0xC0000022
#define	NT_STATUS_BUFFER_TOO_SMALL			0xC0000023
#define	NT_STATUS_OBJECT_TYPE_MISMATCH			0xC0000024
#define	NT_STATUS_NONCONTINUABLE_EXCEPTION		0xC0000025
#define	NT_STATUS_INVALID_DISPOSITION			0xC0000026
#define	NT_STATUS_UNWIND				0xC0000027
#define	NT_STATUS_BAD_STACK				0xC0000028
#define	NT_STATUS_INVALID_UNWIND_TARGET			0xC0000029
#define	NT_STATUS_NOT_LOCKED				0xC000002A
#define	NT_STATUS_PARITY_ERROR				0xC000002B
#define	NT_STATUS_UNABLE_TO_DECOMMIT_VM			0xC000002C
#define	NT_STATUS_NOT_COMMITTED				0xC000002D
#define	NT_STATUS_INVALID_PORT_ATTRIBUTES		0xC000002E
#define	NT_STATUS_PORT_MESSAGE_TOO_LONG			0xC000002F
#define	NT_STATUS_INVALID_PARAMETER_MIX			0xC0000030
#define	NT_STATUS_INVALID_QUOTA_LOWER			0xC0000031
#define	NT_STATUS_DISK_CORRUPT_ERROR			0xC0000032
#define	NT_STATUS_OBJECT_NAME_INVALID			0xC0000033
#define	NT_STATUS_OBJECT_NAME_NOT_FOUND			0xC0000034
#define	NT_STATUS_OBJECT_NAME_COLLISION			0xC0000035
#define	NT_STATUS_PORT_DISCONNECTED			0xC0000037
#define	NT_STATUS_DEVICE_ALREADY_ATTACHED		0xC0000038
#define	NT_STATUS_OBJECT_PATH_INVALID			0xC0000039
#define	NT_STATUS_OBJECT_PATH_NOT_FOUND			0xC000003A
#define	NT_STATUS_OBJECT_PATH_SYNTAX_BAD		0xC000003B
#define	NT_STATUS_DATA_OVERRUN				0xC000003C
#define	NT_STATUS_DATA_LATE_ERROR			0xC000003D
#define	NT_STATUS_DATA_ERROR				0xC000003E
#define	NT_STATUS_CRC_ERROR				0xC000003F
#define	NT_STATUS_SECTION_TOO_BIG			0xC0000040
#define	NT_STATUS_PORT_CONNECTION_REFUSED		0xC0000041
#define	NT_STATUS_INVALID_PORT_HANDLE			0xC0000042
#define	NT_STATUS_SHARING_VIOLATION			0xC0000043
#define	NT_STATUS_QUOTA_EXCEEDED			0xC0000044
#define	NT_STATUS_INVALID_PAGE_PROTECTION		0xC0000045
#define	NT_STATUS_MUTANT_NOT_OWNED			0xC0000046
#define	NT_STATUS_SEMAPHORE_LIMIT_EXCEEDED		0xC0000047
#define	NT_STATUS_PORT_ALREADY_SET			0xC0000048
#define	NT_STATUS_SECTION_NOT_IMAGE			0xC0000049
#define	NT_STATUS_SUSPEND_COUNT_EXCEEDED		0xC000004A
#define	NT_STATUS_THREAD_IS_TERMINATING			0xC000004B
#define	NT_STATUS_BAD_WORKING_SET_LIMIT			0xC000004C
#define	NT_STATUS_INCOMPATIBLE_FILE_MAP			0xC000004D
#define	NT_STATUS_SECTION_PROTECTION			0xC000004E
#define	NT_STATUS_EAS_NOT_SUPPORTED			0xC000004F
#define	NT_STATUS_EA_TOO_LARGE				0xC0000050
#define	NT_STATUS_NONEXISTENT_EA_ENTRY			0xC0000051
#define	NT_STATUS_NO_EAS_ON_FILE			0xC0000052
#define	NT_STATUS_EA_CORRUPT_ERROR			0xC0000053
#define	NT_STATUS_FILE_LOCK_CONFLICT			0xC0000054
#define	NT_STATUS_LOCK_NOT_GRANTED			0xC0000055
#define	NT_STATUS_DELETE_PENDING			0xC0000056
#define	NT_STATUS_CTL_FILE_NOT_SUPPORTED		0xC0000057
#define	NT_STATUS_UNKNOWN_REVISION			0xC0000058
#define	NT_STATUS_REVISION_MISMATCH			0xC0000059
#define	NT_STATUS_INVALID_OWNER				0xC000005A
#define	NT_STATUS_INVALID_PRIMARY_GROUP			0xC000005B
#define	NT_STATUS_NO_IMPERSONATION_TOKEN		0xC000005C
#define	NT_STATUS_CANT_DISABLE_MANDATORY		0xC000005D
#define	NT_STATUS_NO_LOGON_SERVERS			0xC000005E
#define	NT_STATUS_NO_SUCH_LOGON_SESSION			0xC000005F
#define	NT_STATUS_NO_SUCH_PRIVILEGE			0xC0000060
#define	NT_STATUS_PRIVILEGE_NOT_HELD			0xC0000061
#define	NT_STATUS_INVALID_ACCOUNT_NAME			0xC0000062
#define	NT_STATUS_USER_EXISTS				0xC0000063
#define	NT_STATUS_NO_SUCH_USER				0xC0000064
#define	NT_STATUS_GROUP_EXISTS				0xC0000065
#define	NT_STATUS_NO_SUCH_GROUP				0xC0000066
#define	NT_STATUS_MEMBER_IN_GROUP			0xC0000067
#define	NT_STATUS_MEMBER_NOT_IN_GROUP			0xC0000068
#define	NT_STATUS_LAST_ADMIN				0xC0000069
#define	NT_STATUS_WRONG_PASSWORD			0xC000006A
#define	NT_STATUS_ILL_FORMED_PASSWORD			0xC000006B
#define	NT_STATUS_PASSWORD_RESTRICTION			0xC000006C
#define	NT_STATUS_LOGON_FAILURE				0xC000006D
#define	NT_STATUS_ACCOUNT_RESTRICTION			0xC000006E
#define	NT_STATUS_INVALID_LOGON_HOURS			0xC000006F
#define	NT_STATUS_INVALID_WORKSTATION			0xC0000070
#define	NT_STATUS_PASSWORD_EXPIRED			0xC0000071
#define	NT_STATUS_ACCOUNT_DISABLED			0xC0000072
#define	NT_STATUS_NONE_MAPPED				0xC0000073
#define	NT_STATUS_TOO_MANY_LUIDS_REQUESTED		0xC0000074
#define	NT_STATUS_LUIDS_EXHAUSTED			0xC0000075
#define	NT_STATUS_INVALID_SUB_AUTHORITY			0xC0000076
#define	NT_STATUS_INVALID_ACL				0xC0000077
#define	NT_STATUS_INVALID_SID				0xC0000078
#define	NT_STATUS_INVALID_SECURITY_DESCR		0xC0000079
#define	NT_STATUS_PROCEDURE_NOT_FOUND			0xC000007A
#define	NT_STATUS_INVALID_IMAGE_FORMAT			0xC000007B
#define	NT_STATUS_NO_TOKEN				0xC000007C
#define	NT_STATUS_BAD_INHERITANCE_ACL			0xC000007D
#define	NT_STATUS_RANGE_NOT_LOCKED			0xC000007E
#define	NT_STATUS_DISK_FULL				0xC000007F
#define	NT_STATUS_SERVER_DISABLED			0xC0000080
#define	NT_STATUS_SERVER_NOT_DISABLED			0xC0000081
#define	NT_STATUS_TOO_MANY_GUIDS_REQUESTED		0xC0000082
#define	NT_STATUS_GUIDS_EXHAUSTED			0xC0000083
#define	NT_STATUS_INVALID_ID_AUTHORITY			0xC0000084
#define	NT_STATUS_AGENTS_EXHAUSTED			0xC0000085
#define	NT_STATUS_INVALID_VOLUME_LABEL			0xC0000086
#define	NT_STATUS_SECTION_NOT_EXTENDED			0xC0000087
#define	NT_STATUS_NOT_MAPPED_DATA			0xC0000088
#define	NT_STATUS_RESOURCE_DATA_NOT_FOUND		0xC0000089
#define	NT_STATUS_RESOURCE_TYPE_NOT_FOUND		0xC000008A
#define	NT_STATUS_RESOURCE_NAME_NOT_FOUND		0xC000008B
#define	NT_STATUS_ARRAY_BOUNDS_EXCEEDED			0xC000008C
#define	NT_STATUS_FLOAT_DENORMAL_OPERAND		0xC000008D
#define	NT_STATUS_FLOAT_DIVIDE_BY_ZERO			0xC000008E
#define	NT_STATUS_FLOAT_INEXACT_RESULT			0xC000008F
#define	NT_STATUS_FLOAT_INVALID_OPERATION		0xC0000090
#define	NT_STATUS_FLOAT_OVERFLOW			0xC0000091
#define	NT_STATUS_FLOAT_STACK_CHECK			0xC0000092
#define	NT_STATUS_FLOAT_UNDERFLOW			0xC0000093
#define	NT_STATUS_INTEGER_DIVIDE_BY_ZERO		0xC0000094
#define	NT_STATUS_INTEGER_OVERFLOW			0xC0000095
#define	NT_STATUS_PRIVILEGED_INSTRUCTION		0xC0000096
#define	NT_STATUS_TOO_MANY_PAGING_FILES			0xC0000097
#define	NT_STATUS_FILE_INVALID				0xC0000098
#define	NT_STATUS_ALLOTTED_SPACE_EXCEEDED		0xC0000099
#define	NT_STATUS_INSUFFICIENT_RESOURCES		0xC000009A
#define	NT_STATUS_DFS_EXIT_PATH_FOUND			0xC000009B
#define	NT_STATUS_DEVICE_DATA_ERROR			0xC000009C
#define	NT_STATUS_DEVICE_NOT_CONNECTED			0xC000009D
#define	NT_STATUS_DEVICE_POWER_FAILURE			0xC000009E
#define	NT_STATUS_FREE_VM_NOT_AT_BASE			0xC000009F
#define	NT_STATUS_MEMORY_NOT_ALLOCATED			0xC00000A0
#define	NT_STATUS_WORKING_SET_QUOTA			0xC00000A1
#define	NT_STATUS_MEDIA_WRITE_PROTECTED			0xC00000A2
#define	NT_STATUS_DEVICE_NOT_READY			0xC00000A3
#define	NT_STATUS_INVALID_GROUP_ATTRIBUTES		0xC00000A4
#define	NT_STATUS_BAD_IMPERSONATION_LEVEL		0xC00000A5
#define	NT_STATUS_CANT_OPEN_ANONYMOUS			0xC00000A6
#define	NT_STATUS_BAD_VALIDATION_CLASS			0xC00000A7
#define	NT_STATUS_BAD_TOKEN_TYPE			0xC00000A8
#define	NT_STATUS_BAD_MASTER_BOOT_RECORD		0xC00000A9
#define	NT_STATUS_INSTRUCTION_MISALIGNMENT		0xC00000AA
#define	NT_STATUS_INSTANCE_NOT_AVAILABLE		0xC00000AB
#define	NT_STATUS_PIPE_NOT_AVAILABLE			0xC00000AC
#define	NT_STATUS_INVALID_PIPE_STATE			0xC00000AD
#define	NT_STATUS_PIPE_BUSY				0xC00000AE
#define	NT_STATUS_ILLEGAL_FUNCTION			0xC00000AF
#define	NT_STATUS_PIPE_DISCONNECTED			0xC00000B0
#define	NT_STATUS_PIPE_CLOSING				0xC00000B1
#define	NT_STATUS_PIPE_CONNECTED			0xC00000B2
#define	NT_STATUS_PIPE_LISTENING			0xC00000B3
#define	NT_STATUS_INVALID_READ_MODE			0xC00000B4
#define	NT_STATUS_IO_TIMEOUT				0xC00000B5
#define	NT_STATUS_FILE_FORCED_CLOSED			0xC00000B6
#define	NT_STATUS_PROFILING_NOT_STARTED			0xC00000B7
#define	NT_STATUS_PROFILING_NOT_STOPPED			0xC00000B8
#define	NT_STATUS_COULD_NOT_INTERPRET			0xC00000B9
#define	NT_STATUS_FILE_IS_A_DIRECTORY			0xC00000BA
#define	NT_STATUS_NOT_SUPPORTED				0xC00000BB
#define	NT_STATUS_REMOTE_NOT_LISTENING			0xC00000BC
#define	NT_STATUS_DUPLICATE_NAME			0xC00000BD
#define	NT_STATUS_BAD_NETWORK_PATH			0xC00000BE
#define	NT_STATUS_NETWORK_BUSY				0xC00000BF
#define	NT_STATUS_DEVICE_DOES_NOT_EXIST			0xC00000C0
#define	NT_STATUS_TOO_MANY_COMMANDS			0xC00000C1
#define	NT_STATUS_ADAPTER_HARDWARE_ERROR		0xC00000C2
#define	NT_STATUS_INVALID_NETWORK_RESPONSE		0xC00000C3
#define	NT_STATUS_UNEXPECTED_NETWORK_ERROR		0xC00000C4
#define	NT_STATUS_BAD_REMOTE_ADAPTER			0xC00000C5
#define	NT_STATUS_PRINT_QUEUE_FULL			0xC00000C6
#define	NT_STATUS_NO_SPOOL_SPACE			0xC00000C7
#define	NT_STATUS_PRINT_CANCELLED			0xC00000C8
#define	NT_STATUS_NETWORK_NAME_DELETED			0xC00000C9
#define	NT_STATUS_NETWORK_ACCESS_DENIED			0xC00000CA
#define	NT_STATUS_BAD_DEVICE_TYPE			0xC00000CB
#define	NT_STATUS_BAD_NETWORK_NAME			0xC00000CC
#define	NT_STATUS_TOO_MANY_NAMES			0xC00000CD
#define	NT_STATUS_TOO_MANY_SESSIONS			0xC00000CE
#define	NT_STATUS_SHARING_PAUSED			0xC00000CF
#define	NT_STATUS_REQUEST_NOT_ACCEPTED			0xC00000D0
#define	NT_STATUS_REDIRECTOR_PAUSED			0xC00000D1
#define	NT_STATUS_NET_WRITE_FAULT			0xC00000D2
#define	NT_STATUS_PROFILING_AT_LIMIT			0xC00000D3
#define	NT_STATUS_NOT_SAME_DEVICE			0xC00000D4
#define	NT_STATUS_FILE_RENAMED				0xC00000D5
#define	NT_STATUS_VIRTUAL_CIRCUIT_CLOSED		0xC00000D6
#define	NT_STATUS_NO_SECURITY_ON_OBJECT			0xC00000D7
#define	NT_STATUS_CANT_WAIT				0xC00000D8
#define	NT_STATUS_PIPE_EMPTY				0xC00000D9
#define	NT_STATUS_CANT_ACCESS_DOMAIN_INFO		0xC00000DA
#define	NT_STATUS_CANT_TERMINATE_SELF			0xC00000DB
#define	NT_STATUS_INVALID_SERVER_STATE			0xC00000DC
#define	NT_STATUS_INVALID_DOMAIN_STATE			0xC00000DD
#define	NT_STATUS_INVALID_DOMAIN_ROLE			0xC00000DE
#define	NT_STATUS_NO_SUCH_DOMAIN			0xC00000DF
#define	NT_STATUS_DOMAIN_EXISTS				0xC00000E0
#define	NT_STATUS_DOMAIN_LIMIT_EXCEEDED			0xC00000E1
#define	NT_STATUS_OPLOCK_NOT_GRANTED			0xC00000E2
#define	NT_STATUS_INVALID_OPLOCK_PROTOCOL		0xC00000E3
#define	NT_STATUS_INTERNAL_DB_CORRUPTION		0xC00000E4
#define	NT_STATUS_INTERNAL_ERROR			0xC00000E5
#define	NT_STATUS_GENERIC_NOT_MAPPED			0xC00000E6
#define	NT_STATUS_BAD_DESCRIPTOR_FORMAT			0xC00000E7
#define	NT_STATUS_INVALID_USER_BUFFER			0xC00000E8
#define	NT_STATUS_UNEXPECTED_IO_ERROR			0xC00000E9
#define	NT_STATUS_UNEXPECTED_MM_CREATE_ERR		0xC00000EA
#define	NT_STATUS_UNEXPECTED_MM_MAP_ERROR		0xC00000EB
#define	NT_STATUS_UNEXPECTED_MM_EXTEND_ERR		0xC00000EC
#define	NT_STATUS_NOT_LOGON_PROCESS			0xC00000ED
#define	NT_STATUS_LOGON_SESSION_EXISTS			0xC00000EE
#define	NT_STATUS_INVALID_PARAMETER_1			0xC00000EF
#define	NT_STATUS_INVALID_PARAMETER_2			0xC00000F0
#define	NT_STATUS_INVALID_PARAMETER_3			0xC00000F1
#define	NT_STATUS_INVALID_PARAMETER_4			0xC00000F2
#define	NT_STATUS_INVALID_PARAMETER_5			0xC00000F3
#define	NT_STATUS_INVALID_PARAMETER_6			0xC00000F4
#define	NT_STATUS_INVALID_PARAMETER_7			0xC00000F5
#define	NT_STATUS_INVALID_PARAMETER_8			0xC00000F6
#define	NT_STATUS_INVALID_PARAMETER_9			0xC00000F7
#define	NT_STATUS_INVALID_PARAMETER_10			0xC00000F8
#define	NT_STATUS_INVALID_PARAMETER_11			0xC00000F9
#define	NT_STATUS_INVALID_PARAMETER_12			0xC00000FA
#define	NT_STATUS_REDIRECTOR_NOT_STARTED		0xC00000FB
#define	NT_STATUS_REDIRECTOR_STARTED			0xC00000FC
#define	NT_STATUS_STACK_OVERFLOW			0xC00000FD
#define	NT_STATUS_NO_SUCH_PACKAGE			0xC00000FE
#define	NT_STATUS_BAD_FUNCTION_TABLE			0xC00000FF
#define	NT_STATUS_VARIABLE_NOT_FOUND			0xC0000100
#define	NT_STATUS_DIRECTORY_NOT_EMPTY			0xC0000101
#define	NT_STATUS_FILE_CORRUPT_ERROR			0xC0000102
#define	NT_STATUS_NOT_A_DIRECTORY			0xC0000103
#define	NT_STATUS_BAD_LOGON_SESSION_STATE		0xC0000104
#define	NT_STATUS_LOGON_SESSION_COLLISION		0xC0000105
#define	NT_STATUS_NAME_TOO_LONG				0xC0000106
#define	NT_STATUS_FILES_OPEN				0xC0000107
#define	NT_STATUS_CONNECTION_IN_USE			0xC0000108
#define	NT_STATUS_MESSAGE_NOT_FOUND			0xC0000109
#define	NT_STATUS_PROCESS_IS_TERMINATING		0xC000010A
#define	NT_STATUS_INVALID_LOGON_TYPE			0xC000010B
#define	NT_STATUS_NO_GUID_TRANSLATION			0xC000010C
#define	NT_STATUS_CANNOT_IMPERSONATE			0xC000010D
#define	NT_STATUS_IMAGE_ALREADY_LOADED			0xC000010E
/* Old: NT_STATUS_ABIOS_... 0xC000010F - 0xC0000116 */
#define	NT_STATUS_NO_LDT				0xC0000117
#define	NT_STATUS_INVALID_LDT_SIZE			0xC0000118
#define	NT_STATUS_INVALID_LDT_OFFSET			0xC0000119
#define	NT_STATUS_INVALID_LDT_DESCRIPTOR		0xC000011A
#define	NT_STATUS_INVALID_IMAGE_NE_FORMAT		0xC000011B
#define	NT_STATUS_RXACT_INVALID_STATE			0xC000011C
#define	NT_STATUS_RXACT_COMMIT_FAILURE			0xC000011D
#define	NT_STATUS_MAPPED_FILE_SIZE_ZERO			0xC000011E
#define	NT_STATUS_TOO_MANY_OPENED_FILES			0xC000011F
#define	NT_STATUS_CANCELLED				0xC0000120
#define	NT_STATUS_CANNOT_DELETE				0xC0000121
#define	NT_STATUS_INVALID_COMPUTER_NAME			0xC0000122
#define	NT_STATUS_FILE_DELETED				0xC0000123
#define	NT_STATUS_SPECIAL_ACCOUNT			0xC0000124
#define	NT_STATUS_SPECIAL_GROUP				0xC0000125
#define	NT_STATUS_SPECIAL_USER				0xC0000126
#define	NT_STATUS_MEMBERS_PRIMARY_GROUP			0xC0000127
#define	NT_STATUS_FILE_CLOSED				0xC0000128
#define	NT_STATUS_TOO_MANY_THREADS			0xC0000129
#define	NT_STATUS_THREAD_NOT_IN_PROCESS			0xC000012A
#define	NT_STATUS_TOKEN_ALREADY_IN_USE			0xC000012B
#define	NT_STATUS_PAGEFILE_QUOTA_EXCEEDED		0xC000012C
#define	NT_STATUS_COMMITMENT_LIMIT			0xC000012D
#define	NT_STATUS_INVALID_IMAGE_LE_FORMAT		0xC000012E
#define	NT_STATUS_INVALID_IMAGE_NOT_MZ			0xC000012F
#define	NT_STATUS_INVALID_IMAGE_PROTECT			0xC0000130
#define	NT_STATUS_INVALID_IMAGE_WIN_16			0xC0000131
#define	NT_STATUS_LOGON_SERVER_CONFLICT			0xC0000132
#define	NT_STATUS_TIME_DIFFERENCE_AT_DC			0xC0000133
#define	NT_STATUS_SYNCHRONIZATION_REQUIRED		0xC0000134
#define	NT_STATUS_DLL_NOT_FOUND				0xC0000135
#define	NT_STATUS_OPEN_FAILED				0xC0000136
#define	NT_STATUS_IO_PRIVILEGE_FAILED			0xC0000137
#define	NT_STATUS_ORDINAL_NOT_FOUND			0xC0000138
#define	NT_STATUS_ENTRYPOINT_NOT_FOUND			0xC0000139
#define	NT_STATUS_CONTROL_C_EXIT			0xC000013A
#define	NT_STATUS_LOCAL_DISCONNECT			0xC000013B
#define	NT_STATUS_REMOTE_DISCONNECT			0xC000013C
#define	NT_STATUS_REMOTE_RESOURCES			0xC000013D
#define	NT_STATUS_LINK_FAILED				0xC000013E
#define	NT_STATUS_LINK_TIMEOUT				0xC000013F
#define	NT_STATUS_INVALID_CONNECTION			0xC0000140
#define	NT_STATUS_INVALID_ADDRESS			0xC0000141
#define	NT_STATUS_DLL_INIT_FAILED			0xC0000142
#define	NT_STATUS_MISSING_SYSTEMFILE			0xC0000143
#define	NT_STATUS_UNHANDLED_EXCEPTION			0xC0000144
#define	NT_STATUS_APP_INIT_FAILURE			0xC0000145
#define	NT_STATUS_PAGEFILE_CREATE_FAILED		0xC0000146
#define	NT_STATUS_NO_PAGEFILE				0xC0000147
#define	NT_STATUS_INVALID_LEVEL				0xC0000148
#define	NT_STATUS_WRONG_PASSWORD_CORE			0xC0000149
#define	NT_STATUS_ILLEGAL_FLOAT_CONTEXT			0xC000014A
#define	NT_STATUS_PIPE_BROKEN				0xC000014B
#define	NT_STATUS_REGISTRY_CORRUPT			0xC000014C
#define	NT_STATUS_REGISTRY_IO_FAILED			0xC000014D
#define	NT_STATUS_NO_EVENT_PAIR				0xC000014E
#define	NT_STATUS_UNRECOGNIZED_VOLUME			0xC000014F
#define	NT_STATUS_SERIAL_NO_DEVICE_INITED		0xC0000150
#define	NT_STATUS_NO_SUCH_ALIAS				0xC0000151
#define	NT_STATUS_MEMBER_NOT_IN_ALIAS			0xC0000152
#define	NT_STATUS_MEMBER_IN_ALIAS			0xC0000153
#define	NT_STATUS_ALIAS_EXISTS				0xC0000154
#define	NT_STATUS_LOGON_NOT_GRANTED			0xC0000155
#define	NT_STATUS_TOO_MANY_SECRETS			0xC0000156
#define	NT_STATUS_SECRET_TOO_LONG			0xC0000157
#define	NT_STATUS_INTERNAL_DB_ERROR			0xC0000158
#define	NT_STATUS_FULLSCREEN_MODE			0xC0000159
#define	NT_STATUS_TOO_MANY_CONTEXT_IDS			0xC000015A
#define	NT_STATUS_LOGON_TYPE_NOT_GRANTED		0xC000015B
#define	NT_STATUS_NOT_REGISTRY_FILE			0xC000015C
#define	NT_STATUS_NT_CROSS_ENCRYPTION_REQUIRED		0xC000015D
#define	NT_STATUS_DOMAIN_CTRLR_CONFIG_ERROR		0xC000015E
#define	NT_STATUS_FT_MISSING_MEMBER			0xC000015F
#define	NT_STATUS_ILL_FORMED_SERVICE_ENTRY		0xC0000160
#define	NT_STATUS_ILLEGAL_CHARACTER			0xC0000161
#define	NT_STATUS_UNMAPPABLE_CHARACTER			0xC0000162
#define	NT_STATUS_UNDEFINED_CHARACTER			0xC0000163
#define	NT_STATUS_FLOPPY_VOLUME				0xC0000164
#define	NT_STATUS_FLOPPY_ID_MARK_NOT_FOUND		0xC0000165
#define	NT_STATUS_FLOPPY_WRONG_CYLINDER			0xC0000166
#define	NT_STATUS_FLOPPY_UNKNOWN_ERROR			0xC0000167
#define	NT_STATUS_FLOPPY_BAD_REGISTERS			0xC0000168
#define	NT_STATUS_DISK_RECALIBRATE_FAILED		0xC0000169
#define	NT_STATUS_DISK_OPERATION_FAILED			0xC000016A
#define	NT_STATUS_DISK_RESET_FAILED			0xC000016B
#define	NT_STATUS_SHARED_IRQ_BUSY			0xC000016C
#define	NT_STATUS_FT_ORPHANING				0xC000016D
#define	NT_STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT	0xC000016E
#define	NT_STATUS_PARTITION_FAILURE			0xC0000172
#define	NT_STATUS_INVALID_BLOCK_LENGTH			0xC0000173
#define	NT_STATUS_DEVICE_NOT_PARTITIONED		0xC0000174
#define	NT_STATUS_UNABLE_TO_LOCK_MEDIA			0xC0000175
#define	NT_STATUS_UNABLE_TO_UNLOAD_MEDIA		0xC0000176
#define	NT_STATUS_EOM_OVERFLOW				0xC0000177
#define	NT_STATUS_NO_MEDIA				0xC0000178
#define	NT_STATUS_NO_SUCH_MEMBER			0xC000017A
#define	NT_STATUS_INVALID_MEMBER			0xC000017B
#define	NT_STATUS_KEY_DELETED				0xC000017C
#define	NT_STATUS_NO_LOG_SPACE				0xC000017D
#define	NT_STATUS_TOO_MANY_SIDS				0xC000017E
#define	NT_STATUS_LM_CROSS_ENCRYPTION_REQUIRED		0xC000017F
#define	NT_STATUS_KEY_HAS_CHILDREN			0xC0000180
#define	NT_STATUS_CHILD_MUST_BE_VOLATILE		0xC0000181
#define	NT_STATUS_DEVICE_CONFIGURATION_ERROR		0xC0000182
#define	NT_STATUS_DRIVER_INTERNAL_ERROR			0xC0000183
#define	NT_STATUS_INVALID_DEVICE_STATE			0xC0000184
#define	NT_STATUS_IO_DEVICE_ERROR			0xC0000185
#define	NT_STATUS_DEVICE_PROTOCOL_ERROR			0xC0000186
#define	NT_STATUS_BACKUP_CONTROLLER			0xC0000187
#define	NT_STATUS_LOG_FILE_FULL				0xC0000188
#define	NT_STATUS_TOO_LATE				0xC0000189
#define	NT_STATUS_NO_TRUST_LSA_SECRET			0xC000018A
#define	NT_STATUS_NO_TRUST_SAM_ACCOUNT			0xC000018B
#define	NT_STATUS_TRUSTED_DOMAIN_FAILURE		0xC000018C
#define	NT_STATUS_TRUSTED_RELATIONSHIP_FAILURE		0xC000018D
#define	NT_STATUS_EVENTLOG_FILE_CORRUPT			0xC000018E
#define	NT_STATUS_EVENTLOG_CANT_START			0xC000018F
#define	NT_STATUS_TRUST_FAILURE				0xC0000190
#define	NT_STATUS_MUTANT_LIMIT_EXCEEDED			0xC0000191
#define	NT_STATUS_NETLOGON_NOT_STARTED			0xC0000192
#define	NT_STATUS_ACCOUNT_EXPIRED			0xC0000193
#define	NT_STATUS_POSSIBLE_DEADLOCK			0xC0000194
#define	NT_STATUS_NETWORK_CREDENTIAL_CONFLICT		0xC0000195
#define	NT_STATUS_REMOTE_SESSION_LIMIT			0xC0000196
#define	NT_STATUS_EVENTLOG_FILE_CHANGED			0xC0000197
#define	NT_STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT	0xC0000198
#define	NT_STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT	0xC0000199
#define	NT_STATUS_NOLOGON_SERVER_TRUST_ACCOUNT		0xC000019A
#define	NT_STATUS_DOMAIN_TRUST_INCONSISTENT		0xC000019B
#define	NT_STATUS_FS_DRIVER_REQUIRED			0xC000019C
#define	NT_STATUS_IMAGE_ALREADY_LOADED_AS_DLL		0xC000019D
/* Was: NT_STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_REGISTRY_SETTING */
#define	NT_STATUS_INCOMPATIBLE_WITH_GLOBAL_SHORT_NAME_SETTING	0xC000019E
#define	NT_STATUS_SHORT_NAMES_NOT_ENABLED_ON_VOLUME	0xC000019F
#define	NT_STATUS_SECURITY_STREAM_IS_INCONSISTENT	0xC00001A0
#define	NT_STATUS_INVALID_LOCK_RANGE			0xC00001A1
#define	NT_STATUS_INVALID_ACE_CONDITION			0xC00001A2
#define	NT_STATUS_IMAGE_SUBSYSTEM_NOT_PRESENT		0xC00001A3
#define	NT_STATUS_NOTIFICATION_GUID_ALREADY_DEFINED	0xC00001A4
#define	NT_STATUS_NETWORK_OPEN_RESTRICTION		0xC0000201
#define	NT_STATUS_NO_USER_SESSION_KEY			0xC0000202
#define	NT_STATUS_USER_SESSION_DELETED			0xC0000203
#define	NT_STATUS_RESOURCE_LANG_NOT_FOUND		0xC0000204
#define	NT_STATUS_INSUFF_SERVER_RESOURCES		0xC0000205
#define	NT_STATUS_INVALID_BUFFER_SIZE			0xC0000206
#define	NT_STATUS_INVALID_ADDRESS_COMPONENT		0xC0000207
#define	NT_STATUS_INVALID_ADDRESS_WILDCARD		0xC0000208
#define	NT_STATUS_TOO_MANY_ADDRESSES			0xC0000209
#define	NT_STATUS_ADDRESS_ALREADY_EXISTS		0xC000020A
#define	NT_STATUS_ADDRESS_CLOSED			0xC000020B
#define	NT_STATUS_CONNECTION_DISCONNECTED		0xC000020C
#define	NT_STATUS_CONNECTION_RESET			0xC000020D
#define	NT_STATUS_TOO_MANY_NODES			0xC000020E
#define	NT_STATUS_TRANSACTION_ABORTED			0xC000020F
#define	NT_STATUS_TRANSACTION_TIMED_OUT			0xC0000210
#define	NT_STATUS_TRANSACTION_NO_RELEASE		0xC0000211
#define	NT_STATUS_TRANSACTION_NO_MATCH			0xC0000212
#define	NT_STATUS_TRANSACTION_RESPONDED			0xC0000213
#define	NT_STATUS_TRANSACTION_INVALID_ID		0xC0000214
#define	NT_STATUS_TRANSACTION_INVALID_TYPE		0xC0000215
#define	NT_STATUS_NOT_SERVER_SESSION			0xC0000216
#define	NT_STATUS_NOT_CLIENT_SESSION			0xC0000217
#define	NT_STATUS_CANNOT_LOAD_REGISTRY_FILE		0xC0000218
#define	NT_STATUS_DEBUG_ATTACH_FAILED			0xC0000219
#define	NT_STATUS_SYSTEM_PROCESS_TERMINATED		0xC000021A
#define	NT_STATUS_DATA_NOT_ACCEPTED			0xC000021B
#define	NT_STATUS_NO_BROWSER_SERVERS_FOUND		0xC000021C
#define	NT_STATUS_VDM_HARD_ERROR			0xC000021D
#define	NT_STATUS_DRIVER_CANCEL_TIMEOUT			0xC000021E
#define	NT_STATUS_REPLY_MESSAGE_MISMATCH		0xC000021F
#define	NT_STATUS_MAPPED_ALIGNMENT			0xC0000220
#define	NT_STATUS_IMAGE_CHECKSUM_MISMATCH		0xC0000221
#define	NT_STATUS_LOST_WRITEBEHIND_DATA			0xC0000222
#define	NT_STATUS_CLIENT_SERVER_PARAMETERS_INVALID	0xC0000223
#define	NT_STATUS_PASSWORD_MUST_CHANGE			0xC0000224
#define	NT_STATUS_NOT_FOUND				0xC0000225
#define	NT_STATUS_NOT_TINY_STREAM			0xC0000226
#define	NT_STATUS_RECOVERY_FAILURE			0xC0000227
#define	NT_STATUS_STACK_OVERFLOW_READ			0xC0000228
#define	NT_STATUS_FAIL_CHECK				0xC0000229
#define	NT_STATUS_DUPLICATE_OBJECTID			0xC000022A
#define	NT_STATUS_OBJECTID_EXISTS			0xC000022B
#define	NT_STATUS_CONVERT_TO_LARGE			0xC000022C
#define	NT_STATUS_RETRY					0xC000022D
#define	NT_STATUS_FOUND_OUT_OF_SCOPE			0xC000022E
#define	NT_STATUS_ALLOCATE_BUCKET			0xC000022F
#define	NT_STATUS_PROPSET_NOT_FOUND			0xC0000230
#define	NT_STATUS_MARSHALL_OVERFLOW			0xC0000231
#define	NT_STATUS_INVALID_VARIANT			0xC0000232
#define	NT_STATUS_DOMAIN_CONTROLLER_NOT_FOUND		0xC0000233
#define	NT_STATUS_ACCOUNT_LOCKED_OUT			0xC0000234
#define	NT_STATUS_HANDLE_NOT_CLOSABLE			0xC0000235
#define	NT_STATUS_CONNECTION_REFUSED			0xC0000236
#define	NT_STATUS_GRACEFUL_DISCONNECT			0xC0000237
#define	NT_STATUS_ADDRESS_ALREADY_ASSOCIATED		0xC0000238
#define	NT_STATUS_ADDRESS_NOT_ASSOCIATED		0xC0000239
#define	NT_STATUS_CONNECTION_INVALID			0xC000023A
#define	NT_STATUS_CONNECTION_ACTIVE			0xC000023B
#define	NT_STATUS_NETWORK_UNREACHABLE			0xC000023C
#define	NT_STATUS_HOST_UNREACHABLE			0xC000023D
#define	NT_STATUS_PROTOCOL_UNREACHABLE			0xC000023E
#define	NT_STATUS_PORT_UNREACHABLE			0xC000023F
#define	NT_STATUS_REQUEST_ABORTED			0xC0000240
#define	NT_STATUS_CONNECTION_ABORTED			0xC0000241
#define	NT_STATUS_BAD_COMPRESSION_BUFFER		0xC0000242
#define	NT_STATUS_USER_MAPPED_FILE			0xC0000243
#define	NT_STATUS_AUDIT_FAILED				0xC0000244
#define	NT_STATUS_TIMER_RESOLUTION_NOT_SET		0xC0000245
#define	NT_STATUS_CONNECTION_COUNT_LIMIT		0xC0000246
#define	NT_STATUS_LOGIN_TIME_RESTRICTION		0xC0000247
#define	NT_STATUS_LOGIN_WKSTA_RESTRICTION		0xC0000248
#define	NT_STATUS_IMAGE_MP_UP_MISMATCH			0xC0000249
#define	NT_STATUS_INSUFFICIENT_LOGON_INFO		0xC0000250
#define	NT_STATUS_BAD_DLL_ENTRYPOINT			0xC0000251
#define	NT_STATUS_BAD_SERVICE_ENTRYPOINT		0xC0000252
#define	NT_STATUS_LPC_REPLY_LOST			0xC0000253
#define	NT_STATUS_IP_ADDRESS_CONFLICT1			0xC0000254
#define	NT_STATUS_IP_ADDRESS_CONFLICT2			0xC0000255
#define	NT_STATUS_REGISTRY_QUOTA_LIMIT			0xC0000256
#define	NT_STATUS_PATH_NOT_COVERED			0xC0000257
#define	NT_STATUS_NO_CALLBACK_ACTIVE			0xC0000258
#define	NT_STATUS_LICENSE_QUOTA_EXCEEDED		0xC0000259
#define	NT_STATUS_PWD_TOO_SHORT				0xC000025A
#define	NT_STATUS_PWD_TOO_RECENT			0xC000025B
#define	NT_STATUS_PWD_HISTORY_CONFLICT			0xC000025C
#define	NT_STATUS_PLUGPLAY_NO_DEVICE			0xC000025E
#define	NT_STATUS_UNSUPPORTED_COMPRESSION		0xC000025F
#define	NT_STATUS_INVALID_HW_PROFILE			0xC0000260
#define	NT_STATUS_INVALID_PLUGPLAY_DEVICE_PATH		0xC0000261
#define	NT_STATUS_DRIVER_ORDINAL_NOT_FOUND		0xC0000262
#define	NT_STATUS_DRIVER_ENTRYPOINT_NOT_FOUND		0xC0000263
#define	NT_STATUS_RESOURCE_NOT_OWNED			0xC0000264
#define	NT_STATUS_TOO_MANY_LINKS			0xC0000265
#define	NT_STATUS_QUOTA_LIST_INCONSISTENT		0xC0000266
#define	NT_STATUS_FILE_IS_OFFLINE			0xC0000267
#define	NT_STATUS_EVALUATION_EXPIRATION			0xC0000268
#define	NT_STATUS_ILLEGAL_DLL_RELOCATION		0xC0000269
#define	NT_STATUS_LICENSE_VIOLATION			0xC000026A
#define	NT_STATUS_DLL_INIT_FAILED_LOGOFF		0xC000026B
#define	NT_STATUS_DRIVER_UNABLE_TO_LOAD			0xC000026C
#define	NT_STATUS_DFS_UNAVAILABLE			0xC000026D
#define	NT_STATUS_VOLUME_DISMOUNTED			0xC000026E
#define	NT_STATUS_WX86_INTERNAL_ERROR			0xC000026F
#define	NT_STATUS_WX86_FLOAT_STACK_CHECK		0xC0000270
#define	NT_STATUS_VALIDATE_CONTINUE			0xC0000271
#define	NT_STATUS_NO_MATCH				0xC0000272
#define	NT_STATUS_NO_MORE_MATCHES			0xC0000273
#define	NT_STATUS_NOT_A_REPARSE_POINT			0xC0000275
#define	NT_STATUS_IO_REPARSE_TAG_INVALID		0xC0000276
#define	NT_STATUS_IO_REPARSE_TAG_MISMATCH		0xC0000277
#define	NT_STATUS_IO_REPARSE_DATA_INVALID		0xC0000278
#define	NT_STATUS_IO_REPARSE_TAG_NOT_HANDLED		0xC0000279
#define	NT_STATUS_REPARSE_POINT_NOT_RESOLVED		0xC0000280
#define	NT_STATUS_DIRECTORY_IS_A_REPARSE_POINT		0xC0000281
#define	NT_STATUS_RANGE_LIST_CONFLICT			0xC0000282
#define	NT_STATUS_SOURCE_ELEMENT_EMPTY			0xC0000283
#define	NT_STATUS_DESTINATION_ELEMENT_FULL		0xC0000284
#define	NT_STATUS_ILLEGAL_ELEMENT_ADDRESS		0xC0000285
#define	NT_STATUS_MAGAZINE_NOT_PRESENT			0xC0000286
#define	NT_STATUS_REINITIALIZATION_NEEDED		0xC0000287
/*	NT_STATUS_DEVICE_REQUIRES_CLEANING		0x80000288 */
/*	NT_STATUS_DEVICE_DOOR_OPEN			0x80000289 */
#define	NT_STATUS_ENCRYPTION_FAILED			0xC000028A
#define	NT_STATUS_DECRYPTION_FAILED			0xC000028B
#define	NT_STATUS_RANGE_NOT_FOUND			0xC000028C
#define	NT_STATUS_NO_RECOVERY_POLICY			0xC000028D
#define	NT_STATUS_NO_EFS				0xC000028E
#define	NT_STATUS_WRONG_EFS				0xC000028F
#define	NT_STATUS_NO_USER_KEYS				0xC0000290
#define	NT_STATUS_FILE_NOT_ENCRYPTED			0xC0000291
#define	NT_STATUS_NOT_EXPORT_FORMAT			0xC0000292
#define	NT_STATUS_FILE_ENCRYPTED			0xC0000293
/*	NT_STATUS_WAKE_SYSTEM				0x40000294 */
#define	NT_STATUS_WMI_GUID_NOT_FOUND			0xC0000295
#define	NT_STATUS_WMI_INSTANCE_NOT_FOUND		0xC0000296
#define	NT_STATUS_WMI_ITEMID_NOT_FOUND			0xC0000297
#define	NT_STATUS_WMI_TRY_AGAIN				0xC0000298
#define	NT_STATUS_SHARED_POLICY				0xC0000299
#define	NT_STATUS_POLICY_OBJECT_NOT_FOUND		0xC000029A
#define	NT_STATUS_POLICY_ONLY_IN_DS			0xC000029B
#define	NT_STATUS_VOLUME_NOT_UPGRADED			0xC000029C
#define	NT_STATUS_REMOTE_STORAGE_NOT_ACTIVE		0xC000029D
#define	NT_STATUS_REMOTE_STORAGE_MEDIA_ERROR		0xC000029E
#define	NT_STATUS_NO_TRACKING_SERVICE			0xC000029F
#define	NT_STATUS_SERVER_SID_MISMATCH			0xC00002A0
#define	NT_STATUS_DS_NO_ATTRIBUTE_OR_VALUE		0xC00002A1
#define	NT_STATUS_DS_INVALID_ATTRIBUTE_SYNTAX		0xC00002A2
#define	NT_STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED		0xC00002A3
#define	NT_STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS		0xC00002A4
#define	NT_STATUS_DS_BUSY				0xC00002A5
#define	NT_STATUS_DS_UNAVAILABLE			0xC00002A6
#define	NT_STATUS_DS_NO_RIDS_ALLOCATED			0xC00002A7
#define	NT_STATUS_DS_NO_MORE_RIDS			0xC00002A8
#define	NT_STATUS_DS_INCORRECT_ROLE_OWNER		0xC00002A9
#define	NT_STATUS_DS_RIDMGR_INIT_ERROR			0xC00002AA
#define	NT_STATUS_DS_OBJ_CLASS_VIOLATION		0xC00002AB
#define	NT_STATUS_DS_CANT_ON_NON_LEAF			0xC00002AC
#define	NT_STATUS_DS_CANT_ON_RDN			0xC00002AD
#define	NT_STATUS_DS_CANT_MOD_OBJ_CLASS			0xC00002AE
#define	NT_STATUS_DS_CROSS_DOM_MOVE_FAILED		0xC00002AF
#define	NT_STATUS_DS_GC_NOT_AVAILABLE			0xC00002B0
#define	NT_STATUS_DIRECTORY_SERVICE_REQUIRED		0xC00002B1
#define	NT_STATUS_REPARSE_ATTRIBUTE_CONFLICT		0xC00002B2
#define	NT_STATUS_CANT_ENABLE_DENY_ONLY			0xC00002B3
#define	NT_STATUS_FLOAT_MULTIPLE_FAULTS			0xC00002B4
#define	NT_STATUS_FLOAT_MULTIPLE_TRAPS			0xC00002B5
#define	NT_STATUS_DEVICE_REMOVED			0xC00002B6
#define	NT_STATUS_JOURNAL_DELETE_IN_PROGRESS		0xC00002B7
#define	NT_STATUS_JOURNAL_NOT_ACTIVE			0xC00002B8
#define	NT_STATUS_NOINTERFACE				0xC00002B9
#define	NT_STATUS_DS_ADMIN_LIMIT_EXCEEDED		0xC00002C1
#define	NT_STATUS_DRIVER_FAILED_SLEEP			0xC00002C2
#define	NT_STATUS_MUTUAL_AUTHENTICATION_FAILED		0xC00002C3
#define	NT_STATUS_CORRUPT_SYSTEM_FILE			0xC00002C4
#define	NT_STATUS_DATATYPE_MISALIGNMENT_ERROR		0xC00002C5
#define	NT_STATUS_WMI_READ_ONLY				0xC00002C6
#define	NT_STATUS_WMI_SET_FAILURE			0xC00002C7
#define	NT_STATUS_COMMITMENT_MINIMUM			0xC00002C8
#define	NT_STATUS_REG_NAT_CONSUMPTION			0xC00002C9
#define	NT_STATUS_TRANSPORT_FULL			0xC00002CA
#define	NT_STATUS_DS_SAM_INIT_FAILURE			0xC00002CB
#define	NT_STATUS_ONLY_IF_CONNECTED			0xC00002CC
#define	NT_STATUS_DS_SENSITIVE_GROUP_VIOLATION		0xC00002CD
#define	NT_STATUS_PNP_RESTART_ENUMERATION		0xC00002CE
#define	NT_STATUS_JOURNAL_ENTRY_DELETED			0xC00002CF
#define	NT_STATUS_DS_CANT_MOD_PRIMARYGROUPID		0xC00002D0
#define	NT_STATUS_SYSTEM_IMAGE_BAD_SIGNATURE		0xC00002D1
#define	NT_STATUS_PNP_REBOOT_REQUIRED			0xC00002D2
#define	NT_STATUS_POWER_STATE_INVALID			0xC00002D3
#define	NT_STATUS_DS_INVALID_GROUP_TYPE			0xC00002D4
#define	NT_STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN	0xC00002D5
#define	NT_STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN	0xC00002D6
#define	NT_STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER	0xC00002D7
#define	NT_STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER	0xC00002D8
#define	NT_STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER	0xC00002D9
#define	NT_STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER 0xC00002DA
#define	NT_STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER 0xC00002DB
#define	NT_STATUS_DS_HAVE_PRIMARY_MEMBERS		0xC00002DC
#define	NT_STATUS_WMI_NOT_SUPPORTED			0xC00002DD
#define	NT_STATUS_INSUFFICIENT_POWER			0xC00002DE
#define	NT_STATUS_SAM_NEED_BOOTKEY_PASSWORD		0xC00002DF
#define	NT_STATUS_SAM_NEED_BOOTKEY_FLOPPY		0xC00002E0
#define	NT_STATUS_DS_CANT_START				0xC00002E1
#define	NT_STATUS_DS_INIT_FAILURE			0xC00002E2
#define	NT_STATUS_SAM_INIT_FAILURE			0xC00002E3
#define	NT_STATUS_DS_GC_REQUIRED			0xC00002E4
#define	NT_STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY		0xC00002E5
#define	NT_STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS		0xC00002E6
#define	NT_STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED	0xC00002E7
#define	NT_STATUS_MULTIPLE_FAULT_VIOLATION		0xC00002E8
#define	NT_STATUS_CURRENT_DOMAIN_NOT_ALLOWED		0xC00002E9
#define	NT_STATUS_CANNOT_MAKE				0xC00002EA
#define	NT_STATUS_SYSTEM_SHUTDOWN			0xC00002EB
#define	NT_STATUS_DS_INIT_FAILURE_CONSOLE		0xC00002EC
#define	NT_STATUS_DS_SAM_INIT_FAILURE_CONSOLE		0xC00002ED
#define	NT_STATUS_UNFINISHED_CONTEXT_DELETED		0xC00002EE
#define	NT_STATUS_NO_TGT_REPLY				0xC00002EF
#define	NT_STATUS_OBJECTID_NOT_FOUND			0xC00002F0
#define	NT_STATUS_NO_IP_ADDRESSES			0xC00002F1
#define	NT_STATUS_WRONG_CREDENTIAL_HANDLE		0xC00002F2
#define	NT_STATUS_CRYPTO_SYSTEM_INVALID			0xC00002F3
#define	NT_STATUS_MAX_REFERRALS_EXCEEDED		0xC00002F4
#define	NT_STATUS_MUST_BE_KDC				0xC00002F5
#define	NT_STATUS_STRONG_CRYPTO_NOT_SUPPORTED		0xC00002F6
#define	NT_STATUS_TOO_MANY_PRINCIPALS			0xC00002F7
#define	NT_STATUS_NO_PA_DATA				0xC00002F8
#define	NT_STATUS_PKINIT_NAME_MISMATCH			0xC00002F9
#define	NT_STATUS_SMARTCARD_LOGON_REQUIRED		0xC00002FA
#define	NT_STATUS_KDC_INVALID_REQUEST			0xC00002FB
#define	NT_STATUS_KDC_UNABLE_TO_REFER			0xC00002FC
#define	NT_STATUS_KDC_UNKNOWN_ETYPE			0xC00002FD
#define	NT_STATUS_SHUTDOWN_IN_PROGRESS			0xC00002FE
#define	NT_STATUS_SERVER_SHUTDOWN_IN_PROGRESS		0xC00002FF
#define	NT_STATUS_NOT_SUPPORTED_ON_SBS			0xC0000300
#define	NT_STATUS_WMI_GUID_DISCONNECTED			0xC0000301
#define	NT_STATUS_WMI_ALREADY_DISABLED			0xC0000302
#define	NT_STATUS_WMI_ALREADY_ENABLED			0xC0000303
#define	NT_STATUS_MFT_TOO_FRAGMENTED			0xC0000304
#define	NT_STATUS_COPY_PROTECTION_FAILURE		0xC0000305
#define	NT_STATUS_CSS_AUTHENTICATION_FAILURE		0xC0000306
#define	NT_STATUS_CSS_KEY_NOT_PRESENT			0xC0000307
#define	NT_STATUS_CSS_KEY_NOT_ESTABLISHED		0xC0000308
#define	NT_STATUS_CSS_SCRAMBLED_SECTOR			0xC0000309
#define	NT_STATUS_CSS_REGION_MISMATCH			0xC000030A
#define	NT_STATUS_CSS_RESETS_EXHAUSTED			0xC000030B
#define	NT_STATUS_PKINIT_FAILURE			0xC0000320
#define	NT_STATUS_SMARTCARD_SUBSYSTEM_FAILURE		0xC0000321
#define	NT_STATUS_NO_KERB_KEY				0xC0000322
#define	NT_STATUS_HOST_DOWN				0xC0000350
#define	NT_STATUS_UNSUPPORTED_PREAUTH			0xC0000351
#define	NT_STATUS_EFS_ALG_BLOB_TOO_BIG			0xC0000352
#define	NT_STATUS_PORT_NOT_SET				0xC0000353
#define	NT_STATUS_DEBUGGER_INACTIVE			0xC0000354
#define	NT_STATUS_DS_VERSION_CHECK_FAILURE		0xC0000355
#define	NT_STATUS_AUDITING_DISABLED			0xC0000356
#define	NT_STATUS_PRENT4_MACHINE_ACCOUNT		0xC0000357
#define	NT_STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER	0xC0000358
#define	NT_STATUS_INVALID_IMAGE_WIN_32			0xC0000359
#define	NT_STATUS_INVALID_IMAGE_WIN_64			0xC000035A
#define	NT_STATUS_BAD_BINDINGS				0xC000035B
#define	NT_STATUS_NETWORK_SESSION_EXPIRED		0xC000035C
#define	NT_STATUS_APPHELP_BLOCK				0xC000035D
#define	NT_STATUS_ALL_SIDS_FILTERED			0xC000035E
#define	NT_STATUS_NOT_SAFE_MODE_DRIVER			0xC000035F
#define	NT_STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT	0xC0000361
#define	NT_STATUS_ACCESS_DISABLED_BY_POLICY_PATH	0xC0000362
#define	NT_STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER	0xC0000363
#define	NT_STATUS_ACCESS_DISABLED_BY_POLICY_OTHER	0xC0000364
#define	NT_STATUS_FAILED_DRIVER_ENTRY			0xC0000365
#define	NT_STATUS_DEVICE_ENUMERATION_ERROR		0xC0000366
/*	NT_STATUS_WAIT_FOR_OPLOCK			0x00000367 */
#define	NT_STATUS_MOUNT_POINT_NOT_RESOLVED		0xC0000368
#define	NT_STATUS_INVALID_DEVICE_OBJECT_PARAMETER	0xC0000369
#define	NT_STATUS_MCA_OCCURED				0xC000036A
#define	NT_STATUS_DRIVER_BLOCKED_CRITICAL		0xC000036B
#define	NT_STATUS_DRIVER_BLOCKED			0xC000036C
#define	NT_STATUS_DRIVER_DATABASE_ERROR			0xC000036D
#define	NT_STATUS_SYSTEM_HIVE_TOO_LARGE			0xC000036E
#define	NT_STATUS_INVALID_IMPORT_OF_NON_DLL		0xC000036F
/*	NT_STATUS_DS_SHUTTING_DOWN			0x40000370 */
#define	NT_STATUS_NO_SECRETS				0xC0000371
#define	NT_STATUS_ACCESS_DISABLED_NO_SAFER_UI_BY_POLICY	0xC0000372
#define	NT_STATUS_FAILED_STACK_SWITCH			0xC0000373
#define	NT_STATUS_HEAP_CORRUPTION			0xC0000374
#define	NT_STATUS_SMARTCARD_WRONG_PIN			0xC0000380
#define	NT_STATUS_SMARTCARD_CARD_BLOCKED		0xC0000381
#define	NT_STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED	0xC0000382
#define	NT_STATUS_SMARTCARD_NO_CARD			0xC0000383
#define	NT_STATUS_SMARTCARD_NO_KEY_CONTAINER		0xC0000384
#define	NT_STATUS_SMARTCARD_NO_CERTIFICATE		0xC0000385
#define	NT_STATUS_SMARTCARD_NO_KEYSET			0xC0000386
#define	NT_STATUS_SMARTCARD_IO_ERROR			0xC0000387
#define	NT_STATUS_DOWNGRADE_DETECTED			0xC0000388
#define	NT_STATUS_SMARTCARD_CERT_REVOKED		0xC0000389
#define	NT_STATUS_ISSUING_CA_UNTRUSTED			0xC000038A
#define	NT_STATUS_REVOCATION_OFFLINE_C			0xC000038B
#define	NT_STATUS_PKINIT_CLIENT_FAILURE			0xC000038C
#define	NT_STATUS_SMARTCARD_CERT_EXPIRED		0xC000038D
#define	NT_STATUS_DRIVER_FAILED_PRIOR_UNLOAD		0xC000038E
#define	NT_STATUS_SMARTCARD_SILENT_CONTEXT		0xC000038F
#define	NT_STATUS_PER_USER_TRUST_QUOTA_EXCEEDED		0xC0000401
#define	NT_STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED		0xC0000402
#define	NT_STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED	0xC0000403
#define	NT_STATUS_DS_NAME_NOT_UNIQUE			0xC0000404
#define	NT_STATUS_DS_DUPLICATE_ID_FOUND			0xC0000405
#define	NT_STATUS_DS_GROUP_CONVERSION_ERROR		0xC0000406
#define	NT_STATUS_VOLSNAP_PREPARE_HIBERNATE		0xC0000407
#define	NT_STATUS_USER2USER_REQUIRED			0xC0000408
#define	NT_STATUS_STACK_BUFFER_OVERRUN			0xC0000409
#define	NT_STATUS_NO_S4U_PROT_SUPPORT			0xC000040A
#define	NT_STATUS_CROSSREALM_DELEGATION_FAILURE		0xC000040B
#define	NT_STATUS_REVOCATION_OFFLINE_KDC		0xC000040C
#define	NT_STATUS_ISSUING_CA_UNTRUSTED_KDC		0xC000040D
#define	NT_STATUS_KDC_CERT_EXPIRED			0xC000040E
#define	NT_STATUS_KDC_CERT_REVOKED			0xC000040F
#define	NT_STATUS_PARAMETER_QUOTA_EXCEEDED		0xC0000410
#define	NT_STATUS_HIBERNATION_FAILURE			0xC0000411
#define	NT_STATUS_DELAY_LOAD_FAILED			0xC0000412
#define	NT_STATUS_AUTHENTICATION_FIREWALL_FAILED	0xC0000413
#define	NT_STATUS_VDM_DISALLOWED			0xC0000414
#define	NT_STATUS_HUNG_DISPLAY_DRIVER_THREAD		0xC0000415
/* Was: NT_STATUS_INSUFFICIENT_RESOURCE_FOR_SPECIFIED_SHARED_SECTION_SIZE */
#define	NT_STATUS_INSUFFICIENT_RESOURCE_FOR_SHARED_SECTION_SIZE 0xC0000416
#define	NT_STATUS_INVALID_CRUNTIME_PARAMETER		0xC0000417
#define	NT_STATUS_NTLM_BLOCKED				0xC0000418
#define	NT_STATUS_DS_SRC_SID_EXISTS_IN_FOREST		0xC0000419
#define	NT_STATUS_DS_DOMAIN_NAME_EXISTS_IN_FOREST	0xC000041A
#define	NT_STATUS_DS_FLAT_NAME_EXISTS_IN_FOREST		0xC000041B
#define	NT_STATUS_INVALID_USER_PRINCIPAL_NAME		0xC000041C
#define	NT_STATUS_ASSERTION_FAILURE			0xC0000420
#define	NT_STATUS_VERIFIER_STOP				0xC0000421
#define	NT_STATUS_CALLBACK_POP_STACK			0xC0000423
#define	NT_STATUS_INCOMPATIBLE_DRIVER_BLOCKED		0xC0000424
#define	NT_STATUS_HIVE_UNLOADED				0xC0000425
#define	NT_STATUS_COMPRESSION_DISABLED			0xC0000426
#define	NT_STATUS_FILE_SYSTEM_LIMITATION		0xC0000427
#define	NT_STATUS_INVALID_IMAGE_HASH			0xC0000428
#define	NT_STATUS_NOT_CAPABLE				0xC0000429
#define	NT_STATUS_REQUEST_OUT_OF_SEQUENCE		0xC000042A
#define	NT_STATUS_IMPLEMENTATION_LIMIT			0xC000042B
#define	NT_STATUS_ELEVATION_REQUIRED			0xC000042C
#define	NT_STATUS_NO_SECURITY_CONTEXT			0xC000042D
#define	NT_STATUS_PKU2U_CERT_FAILURE			0xC000042E
#define	NT_STATUS_BEYOND_VDL				0xC0000432
#define	NT_STATUS_ENCOUNTERED_WRITE_IN_PROGRESS		0xC0000433
#define	NT_STATUS_PTE_CHANGED				0xC0000434
#define	NT_STATUS_PURGE_FAILED				0xC0000435
#define	NT_STATUS_CRED_REQUIRES_CONFIRMATION		0xC0000440
#define	NT_STATUS_CS_ENCRYPTION_INVALID_SERVER_RESPONSE	0xC0000441
#define	NT_STATUS_CS_ENCRYPTION_UNSUPPORTED_SERVER	0xC0000442
#define	NT_STATUS_CS_ENCRYPTION_EXISTING_ENCRYPTED_FILE	0xC0000443
#define	NT_STATUS_CS_ENCRYPTION_NEW_ENCRYPTED_FILE	0xC0000444
#define	NT_STATUS_CS_ENCRYPTION_FILE_NOT_CSE		0xC0000445
#define	NT_STATUS_INVALID_LABEL				0xC0000446
#define	NT_STATUS_DRIVER_PROCESS_TERMINATED		0xC0000450
#define	NT_STATUS_AMBIGUOUS_SYSTEM_DEVICE		0xC0000451
#define	NT_STATUS_SYSTEM_DEVICE_NOT_FOUND		0xC0000452
#define	NT_STATUS_RESTART_BOOT_APPLICATION		0xC0000453
#define	NT_STATUS_INSUFFICIENT_NVRAM_RESOURCES		0xC0000454
#define	NT_STATUS_NO_RANGES_PROCESSED			0xC0000460
#define	NT_STATUS_DEVICE_FEATURE_NOT_SUPPORTED		0xC0000463
#define	NT_STATUS_DEVICE_UNREACHABLE			0xC0000464
#define	NT_STATUS_INVALID_TOKEN				0xC0000465
#define	NT_STATUS_SERVER_UNAVAILABLE			0xC0000466
#define	NT_STATUS_FILE_NOT_AVAILABLE			0xC0000467

#define	NT_STATUS_INVALID_TASK_NAME			0xC0000500
#define	NT_STATUS_INVALID_TASK_INDEX			0xC0000501
#define	NT_STATUS_THREAD_ALREADY_IN_TASK		0xC0000502
#define	NT_STATUS_CALLBACK_BYPASS			0xC0000503
#define	NT_STATUS_FAIL_FAST_EXCEPTION			0xC0000602
#define	NT_STATUS_IMAGE_CERT_REVOKED			0xC0000603
#define	NT_STATUS_PORT_CLOSED				0xC0000700
#define	NT_STATUS_MESSAGE_LOST				0xC0000701
#define	NT_STATUS_INVALID_MESSAGE			0xC0000702
#define	NT_STATUS_REQUEST_CANCELED			0xC0000703
#define	NT_STATUS_RECURSIVE_DISPATCH			0xC0000704
#define	NT_STATUS_LPC_RECEIVE_BUFFER_EXPECTED		0xC0000705
#define	NT_STATUS_LPC_INVALID_CONNECTION_USAGE		0xC0000706
#define	NT_STATUS_LPC_REQUESTS_NOT_ALLOWED		0xC0000707
#define	NT_STATUS_RESOURCE_IN_USE			0xC0000708
#define	NT_STATUS_HARDWARE_MEMORY_ERROR			0xC0000709
#define	NT_STATUS_THREADPOOL_HANDLE_EXCEPTION		0xC000070A
#define	NT_STATUS_THREADPOOL_SET_EVENT_ON_COMPLETION_FAILED	0xC000070B
#define	NT_STATUS_THREADPOOL_RELEASE_SEMAPHORE_ON_COMPLETION_FAILED 0xC000070C
#define	NT_STATUS_THREADPOOL_RELEASE_MUTEX_ON_COMPLETION_FAILED 0xC000070D
#define	NT_STATUS_THREADPOOL_FREE_LIBRARY_ON_COMPLETION_FAILED  0xC000070E
#define	NT_STATUS_THREADPOOL_RELEASED_DURING_OPERATION	0xC000070F
#define	NT_STATUS_CALLBACK_RETURNED_WHILE_IMPERSONATING	0xC0000710
#define	NT_STATUS_APC_RETURNED_WHILE_IMPERSONATING	0xC0000711
#define	NT_STATUS_PROCESS_IS_PROTECTED			0xC0000712
#define	NT_STATUS_MCA_EXCEPTION				0xC0000713
#define	NT_STATUS_CERTIFICATE_MAPPING_NOT_UNIQUE	0xC0000714
#define	NT_STATUS_SYMLINK_CLASS_DISABLED		0xC0000715
#define	NT_STATUS_INVALID_IDN_NORMALIZATION		0xC0000716
#define	NT_STATUS_NO_UNICODE_TRANSLATION		0xC0000717
#define	NT_STATUS_ALREADY_REGISTERED			0xC0000718
#define	NT_STATUS_CONTEXT_MISMATCH			0xC0000719
#define	NT_STATUS_PORT_ALREADY_HAS_COMPLETION_LIST	0xC000071A
#define	NT_STATUS_CALLBACK_RETURNED_THREAD_PRIORITY	0xC000071B
#define	NT_STATUS_INVALID_THREAD			0xC000071C
#define	NT_STATUS_CALLBACK_RETURNED_TRANSACTION		0xC000071D
#define	NT_STATUS_CALLBACK_RETURNED_LDR_LOCK		0xC000071E
#define	NT_STATUS_CALLBACK_RETURNED_LANG		0xC000071F
#define	NT_STATUS_CALLBACK_RETURNED_PRI_BACK		0xC0000720
#define	NT_STATUS_CALLBACK_RETURNED_THREAD_AFFINITY	0xC0000721
#define	NT_STATUS_DISK_REPAIR_DISABLED			0xC0000800
#define	NT_STATUS_DS_DOMAIN_RENAME_IN_PROGRESS		0xC0000801
#define	NT_STATUS_DISK_QUOTA_EXCEEDED			0xC0000802
#define	NT_STATUS_CONTENT_BLOCKED			0xC0000804
#define	NT_STATUS_BAD_CLUSTERS				0xC0000805
#define	NT_STATUS_VOLUME_DIRTY				0xC0000806
#define	NT_STATUS_FILE_CHECKED_OUT			0xC0000901
#define	NT_STATUS_CHECKOUT_REQUIRED			0xC0000902
#define	NT_STATUS_BAD_FILE_TYPE				0xC0000903
#define	NT_STATUS_FILE_TOO_LARGE			0xC0000904
#define	NT_STATUS_FORMS_AUTH_REQUIRED			0xC0000905
#define	NT_STATUS_VIRUS_INFECTED			0xC0000906
#define	NT_STATUS_VIRUS_DELETED				0xC0000907
#define	NT_STATUS_BAD_MCFG_TABLE			0xC0000908
#define	NT_STATUS_CANNOT_BREAK_OPLOCK			0xC0000909

#define	NT_STATUS_WOW_ASSERTION				0xC0009898

#define	NT_STATUS_INVALID_SIGNATURE			0xC000A000
#define	NT_STATUS_HMAC_NOT_SUPPORTED			0xC000A001
#define	NT_STATUS_IPSEC_QUEUE_OVERFLOW			0xC000A010
#define	NT_STATUS_ND_QUEUE_OVERFLOW			0xC000A011
#define	NT_STATUS_HOPLIMIT_EXCEEDED			0xC000A012
#define	NT_STATUS_PROTOCOL_NOT_SUPPORTED		0xC000A013
#define	NT_STATUS_LOST_WRITEBEHIND_DATA_NETWORK_DISCONNECTED	0xC000A080
#define	NT_STATUS_LOST_WRITEBEHIND_DATA_NETWORK_SERVER_ERROR	0xC000A081
#define	NT_STATUS_LOST_WRITEBEHIND_DATA_LOCAL_DISK_ERROR	0xC000A082
#define	NT_STATUS_XML_PARSE_ERROR			0xC000A083
#define	NT_STATUS_XMLDSIG_ERROR				0xC000A084
#define	NT_STATUS_WRONG_COMPARTMENT			0xC000A085
#define	NT_STATUS_AUTHIP_FAILURE			0xC000A086
#define	NT_STATUS_DS_OID_MAPPED_GROUP_CANT_HAVE_MEMBERS	0xC000A087
#define	NT_STATUS_DS_OID_NOT_FOUND			0xC000A088
#define	NT_STATUS_HASH_NOT_SUPPORTED			0xC000A100
#define	NT_STATUS_HASH_NOT_PRESENT			0xC000A101
#define	NT_STATUS_OFFLOAD_READ_FLT_NOT_SUPPORTED	0xC000A2A1
#define	NT_STATUS_OFFLOAD_WRITE_FLT_NOT_SUPPORTED	0xC000A2A2
#define	NT_STATUS_OFFLOAD_READ_FILE_NOT_SUPPORTED	0xC000A2A3
#define	NT_STATUS_OFFLOAD_WRITE_FILE_NOT_SUPPORTED	0xC000A2A4

/* Facility Debugger (0x..01....) not used */

/* Facility RPC Runtime (0x..02....) */
#define	RPC_NT_INVALID_STRING_BINDING			0xC0020001
#define	RPC_NT_WRONG_KIND_OF_BINDING			0xC0020002
#define	RPC_NT_INVALID_BINDING				0xC0020003
#define	RPC_NT_PROTSEQ_NOT_SUPPORTED			0xC0020004
#define	RPC_NT_INVALID_RPC_PROTSEQ			0xC0020005
#define	RPC_NT_INVALID_STRING_UUID			0xC0020006
#define	RPC_NT_INVALID_ENDPOINT_FORMAT			0xC0020007
#define	RPC_NT_INVALID_NET_ADDR				0xC0020008
#define	RPC_NT_NO_ENDPOINT_FOUND			0xC0020009
#define	RPC_NT_INVALID_TIMEOUT				0xC002000A
#define	RPC_NT_OBJECT_NOT_FOUND				0xC002000B
#define	RPC_NT_ALREADY_REGISTERED			0xC002000C
#define	RPC_NT_TYPE_ALREADY_REGISTERED			0xC002000D
#define	RPC_NT_ALREADY_LISTENING			0xC002000E
#define	RPC_NT_NO_PROTSEQS_REGISTERED			0xC002000F
#define	RPC_NT_NOT_LISTENING				0xC0020010
#define	RPC_NT_UNKNOWN_MGR_TYPE				0xC0020011
#define	RPC_NT_UNKNOWN_IF				0xC0020012
#define	RPC_NT_NO_BINDINGS				0xC0020013
#define	RPC_NT_NO_PROTSEQS				0xC0020014
#define	RPC_NT_CANT_CREATE_ENDPOINT			0xC0020015
#define	RPC_NT_OUT_OF_RESOURCES				0xC0020016
#define	RPC_NT_SERVER_UNAVAILABLE			0xC0020017
#define	RPC_NT_SERVER_TOO_BUSY				0xC0020018
#define	RPC_NT_INVALID_NETWORK_OPTIONS			0xC0020019
#define	RPC_NT_NO_CALL_ACTIVE				0xC002001A
#define	RPC_NT_CALL_FAILED				0xC002001B
#define	RPC_NT_CALL_FAILED_DNE				0xC002001C
#define	RPC_NT_PROTOCOL_ERROR				0xC002001D
#define	RPC_NT_UNSUPPORTED_TRANS_SYN			0xC002001F
#define	RPC_NT_UNSUPPORTED_TYPE				0xC0020021
#define	RPC_NT_INVALID_TAG				0xC0020022
#define	RPC_NT_INVALID_BOUND				0xC0020023
#define	RPC_NT_NO_ENTRY_NAME				0xC0020024
#define	RPC_NT_INVALID_NAME_SYNTAX			0xC0020025
#define	RPC_NT_UNSUPPORTED_NAME_SYNTAX			0xC0020026
#define	RPC_NT_UUID_NO_ADDRESS				0xC0020028
#define	RPC_NT_DUPLICATE_ENDPOINT			0xC0020029
#define	RPC_NT_UNKNOWN_AUTHN_TYPE			0xC002002A
#define	RPC_NT_MAX_CALLS_TOO_SMALL			0xC002002B
#define	RPC_NT_STRING_TOO_LONG				0xC002002C
#define	RPC_NT_PROTSEQ_NOT_FOUND			0xC002002D
#define	RPC_NT_PROCNUM_OUT_OF_RANGE			0xC002002E
#define	RPC_NT_BINDING_HAS_NO_AUTH			0xC002002F
#define	RPC_NT_UNKNOWN_AUTHN_SERVICE			0xC0020030
#define	RPC_NT_UNKNOWN_AUTHN_LEVEL			0xC0020031
#define	RPC_NT_INVALID_AUTH_IDENTITY			0xC0020032
#define	RPC_NT_UNKNOWN_AUTHZ_SERVICE			0xC0020033
#define	EPT_NT_INVALID_ENTRY				0xC0020034
#define	EPT_NT_CANT_PERFORM_OP				0xC0020035
#define	EPT_NT_NOT_REGISTERED				0xC0020036
#define	RPC_NT_NOTHING_TO_EXPORT			0xC0020037
#define	RPC_NT_INCOMPLETE_NAME				0xC0020038
#define	RPC_NT_INVALID_VERS_OPTION			0xC0020039
#define	RPC_NT_NO_MORE_MEMBERS				0xC002003A
#define	RPC_NT_NOT_ALL_OBJS_UNEXPORTED			0xC002003B
#define	RPC_NT_INTERFACE_NOT_FOUND			0xC002003C
#define	RPC_NT_ENTRY_ALREADY_EXISTS			0xC002003D
#define	RPC_NT_ENTRY_NOT_FOUND				0xC002003E
#define	RPC_NT_NAME_SERVICE_UNAVAILABLE			0xC002003F
#define	RPC_NT_INVALID_NAF_ID				0xC0020040
#define	RPC_NT_CANNOT_SUPPORT				0xC0020041
#define	RPC_NT_NO_CONTEXT_AVAILABLE			0xC0020042
#define	RPC_NT_INTERNAL_ERROR				0xC0020043
#define	RPC_NT_ZERO_DIVIDE				0xC0020044
#define	RPC_NT_ADDRESS_ERROR				0xC0020045
#define	RPC_NT_FP_DIV_ZERO				0xC0020046
#define	RPC_NT_FP_UNDERFLOW				0xC0020047
#define	RPC_NT_FP_OVERFLOW				0xC0020048
#define	RPC_NT_CALL_IN_PROGRESS				0xC0020049
#define	RPC_NT_NO_MORE_BINDINGS				0xC002004A
#define	RPC_NT_GROUP_MEMBER_NOT_FOUND			0xC002004B
#define	EPT_NT_CANT_CREATE				0xC002004C
#define	RPC_NT_INVALID_OBJECT				0xC002004D
#define	RPC_NT_NO_INTERFACES				0xC002004F
#define	RPC_NT_CALL_CANCELLED				0xC0020050
#define	RPC_NT_BINDING_INCOMPLETE			0xC0020051
#define	RPC_NT_COMM_FAILURE				0xC0020052
#define	RPC_NT_UNSUPPORTED_AUTHN_LEVEL			0xC0020053
#define	RPC_NT_NO_PRINC_NAME				0xC0020054
#define	RPC_NT_NOT_RPC_ERROR				0xC0020055
/*	RPC_NT_UUID_LOCAL_ONLY				0x40020056 */
#define	RPC_NT_SEC_PKG_ERROR				0xC0020057
#define	RPC_NT_NOT_CANCELLED				0xC0020058
#define	RPC_NT_INVALID_ASYNC_HANDLE			0xC0020062
#define	RPC_NT_INVALID_ASYNC_CALL			0xC0020063
#define	RPC_NT_PROXY_ACCESS_DENIED			0xC0020064
/*	RPC_NT_SEND_INCOMPLETE				0x400200AF */

/* Facility RPC Stubs (0x..03....) */
#define	RPC_NT_NO_MORE_ENTRIES				0xC0030001
#define	RPC_NT_SS_CHAR_TRANS_OPEN_FAIL			0xC0030002
#define	RPC_NT_SS_CHAR_TRANS_SHORT_FILE			0xC0030003
#define	RPC_NT_SS_IN_NULL_CONTEXT			0xC0030004
#define	RPC_NT_SS_CONTEXT_MISMATCH			0xC0030005
#define	RPC_NT_SS_CONTEXT_DAMAGED			0xC0030006
#define	RPC_NT_SS_HANDLES_MISMATCH			0xC0030007
#define	RPC_NT_SS_CANNOT_GET_CALL_HANDLE		0xC0030008
#define	RPC_NT_NULL_REF_POINTER				0xC0030009
#define	RPC_NT_ENUM_VALUE_OUT_OF_RANGE			0xC003000A
#define	RPC_NT_BYTE_COUNT_TOO_SMALL			0xC003000B
#define	RPC_NT_BAD_STUB_DATA				0xC003000C
#define	RPC_NT_INVALID_ES_ACTION			0xC0030059
#define	RPC_NT_WRONG_ES_VERSION				0xC003005A
#define	RPC_NT_WRONG_STUB_VERSION			0xC003005B
#define	RPC_NT_INVALID_PIPE_OBJECT			0xC003005C
#define	RPC_NT_INVALID_PIPE_OPERATION			0xC003005D
#define	RPC_NT_WRONG_PIPE_VERSION			0xC003005E
#define	RPC_NT_PIPE_CLOSED				0xC003005F
#define	RPC_NT_PIPE_DISCIPLINE_ERROR			0xC0030060
#define	RPC_NT_PIPE_EMPTY				0xC0030061

/*
 * Status codes from higher numbered facilities are not used.
 */

#ifdef	__cplusplus
}
#endif

#endif	/* _SMB_NTSTATUS_H */
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */
/*
 * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 *
 * Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
 * Copyright 2022 RackTop Systems, Inc.
 */
#ifndef _SMB_WINIOCTL_H
#define	_SMB_WINIOCTL_H

/*
 * Standard Windows NT IOCTL/FSCTL definitions (derived from the VC++
 * include file of the same name).
 */

#ifdef __cplusplus
extern "C" {
#endif

#ifndef _DEVIOCTL_
#define	_DEVIOCTL_

/*
 * begin_ntddk begin_wdm begin_nthal begin_ntifs
 *
 * Define the various device type values.  Note that values used by Microsoft
 * Corporation are in the range 0-32767, and 32768-65535 are reserved for use
 * by customers.
 */

#define	DEVICE_TYPE DWORD

#define	FILE_DEVICE_BEEP		0x00000001
#define	FILE_DEVICE_CD_ROM		0x00000002
#define	FILE_DEVICE_CD_ROM_FILE_SYSTEM	0x00000003
#define	FILE_DEVICE_CONTROLLER		0x00000004
#define	FILE_DEVICE_DATALINK		0x00000005
#define	FILE_DEVICE_DFS			0x00000006
#define	FILE_DEVICE_DISK		0x00000007
#define	FILE_DEVICE_DISK_FILE_SYSTEM	0x00000008
#define	FILE_DEVICE_FILE_SYSTEM		0x00000009
#define	FILE_DEVICE_INPORT_PORT		0x0000000a
#define	FILE_DEVICE_KEYBOARD		0x0000000b
#define	FILE_DEVICE_MAILSLOT		0x0000000c
#define	FILE_DEVICE_MIDI_IN		0x0000000d
#define	FILE_DEVICE_MIDI_OUT		0x0000000e
#define	FILE_DEVICE_MOUSE		0x0000000f
#define	FILE_DEVICE_MULTI_UNC_PROVIDER	0x00000010
#define	FILE_DEVICE_NAMED_PIPE		0x00000011
#define	FILE_DEVICE_NETWORK		0x00000012
#define	FILE_DEVICE_NETWORK_BROWSER	0x00000013
#define	FILE_DEVICE_NETWORK_FILE_SYSTEM 0x00000014
#define	FILE_DEVICE_NULL		0x00000015
#define	FILE_DEVICE_PARALLEL_PORT	0x00000016
#define	FILE_DEVICE_PHYSICAL_NETCARD	0x00000017
#define	FILE_DEVICE_PRINTER		0x00000018
#define	FILE_DEVICE_SCANNER		0x00000019
#define	FILE_DEVICE_SERIAL_MOUSE_PORT	0x0000001a
#define	FILE_DEVICE_SERIAL_PORT		0x0000001b
#define	FILE_DEVICE_SCREEN		0x0000001c
#define	FILE_DEVICE_SOUND		0x0000001d
#define	FILE_DEVICE_STREAMS		0x0000001e
#define	FILE_DEVICE_TAPE		0x0000001f
#define	FILE_DEVICE_TAPE_FILE_SYSTEM	0x00000020
#define	FILE_DEVICE_TRANSPORT		0x00000021
#define	FILE_DEVICE_UNKNOWN		0x00000022
#define	FILE_DEVICE_VIDEO		0x00000023
#define	FILE_DEVICE_VIRTUAL_DISK	0x00000024
#define	FILE_DEVICE_WAVE_IN		0x00000025
#define	FILE_DEVICE_WAVE_OUT		0x00000026
#define	FILE_DEVICE_8042_PORT		0x00000027
#define	FILE_DEVICE_NETWORK_REDIRECTOR	0x00000028
#define	FILE_DEVICE_BATTERY		0x00000029
#define	FILE_DEVICE_BUS_EXTENDER	0x0000002a
#define	FILE_DEVICE_MODEM		0x0000002b
#define	FILE_DEVICE_VDM			0x0000002c
#define	FILE_DEVICE_MASS_STORAGE	0x0000002d
#define	FILE_DEVICE_SMB			0x0000002e
#define	FILE_DEVICE_KS			0x0000002f
#define	FILE_DEVICE_CHANGER		0x00000030
#define	FILE_DEVICE_SMARTCARD		0x00000031
#define	FILE_DEVICE_ACPI		0x00000032
#define	FILE_DEVICE_DVD			0x00000033
#define	FILE_DEVICE_FULLSCREEN_VIDEO	0x00000034
#define	FILE_DEVICE_DFS_FILE_SYSTEM	0x00000035
#define	FILE_DEVICE_DFS_VOLUME		0x00000036

/*
 * Macro definition for defining IOCTL and FSCTL function control codes.  Note
 * that function codes 0-2047 are reserved for Microsoft Corporation, and
 * 2048-4095 are reserved for customers.
 */

#define	CTL_CODE(DeviceType, Function, Method, Access) \
	(((DeviceType) << 16) | ((Access) << 14) |     \
	((Function) << 2) | (Method))

/*
 * Define the method codes for how buffers are passed for I/O and FS controls
 */

#define	METHOD_BUFFERED			0
#define	METHOD_IN_DIRECT		1
#define	METHOD_OUT_DIRECT		2
#define	METHOD_NEITHER			3

/*
 * Define the access check value for any access
 */

#define	FILE_ANY_ACCESS			0
#define	FILE_READ_ACCESS		0x0001	/* file & pipe */
#define	FILE_WRITE_ACCESS		0x0002	/* file & pipe */

/* end_ntddk end_wdm end_nthal end_ntifs */

#endif /* _DEVIOCTL_ */


#ifndef _NTDDSTOR_H_
#define	_NTDDSTOR_H_

#ifdef __cplusplus
extern "C" {
#endif

/*
 * IoControlCode values for storage devices
 */

#define	IOCTL_STORAGE_BASE FILE_DEVICE_MASS_STORAGE

/*
 * The following device control codes are common for all class drivers.  They
 * should be used in place of the older IOCTL_DISK, IOCTL_CDROM and IOCTL_TAPE
 * common codes
 */

#define	IOCTL_STORAGE_CHECK_VERIFY \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_STORAGE_MEDIA_REMOVAL \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_STORAGE_EJECT_MEDIA \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_STORAGE_LOAD_MEDIA \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_STORAGE_RESERVE \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_STORAGE_RELEASE \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_STORAGE_FIND_NEW_DEVICES \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)

#define	IOCTL_STORAGE_GET_MEDIA_TYPES \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_STORAGE_GET_MEDIA_TYPES_EX \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0301, METHOD_BUFFERED, FILE_ANY_ACCESS)

#define	IOCTL_STORAGE_RESET_BUS \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0400, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_STORAGE_RESET_DEVICE \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0401, METHOD_BUFFERED, FILE_READ_ACCESS)

#define	IOCTL_STORAGE_GET_DEVICE_NUMBER \
	CTL_CODE(IOCTL_STORAGE_BASE, 0x0420, METHOD_BUFFERED, FILE_ANY_ACCESS)


#ifdef __cplusplus
}
#endif
#endif /* _NTDDSTOR_H_ */

/*
 * IoControlCode values for disk devices.
 */

#define	IOCTL_DISK_BASE			FILE_DEVICE_DISK
#define	IOCTL_DISK_GET_DRIVE_GEOMETRY \
	CTL_CODE(IOCTL_DISK_BASE, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_DISK_GET_PARTITION_INFO \
	CTL_CODE(IOCTL_DISK_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_DISK_SET_PARTITION_INFO \
	CTL_CODE(IOCTL_DISK_BASE, 0x0002, METHOD_BUFFERED, \
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_DISK_GET_DRIVE_LAYOUT \
	CTL_CODE(IOCTL_DISK_BASE, 0x0003, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_DISK_SET_DRIVE_LAYOUT \
	CTL_CODE(IOCTL_DISK_BASE, 0x0004, METHOD_BUFFERED, \
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_DISK_VERIFY \
	CTL_CODE(IOCTL_DISK_BASE, 0x0005, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_DISK_FORMAT_TRACKS \
	CTL_CODE(IOCTL_DISK_BASE, 0x0006, METHOD_BUFFERED,	\
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_DISK_REASSIGN_BLOCKS \
	CTL_CODE(IOCTL_DISK_BASE, 0x0007, METHOD_BUFFERED, \
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_DISK_PERFORMANCE \
	CTL_CODE(IOCTL_DISK_BASE, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_DISK_IS_WRITABLE \
	CTL_CODE(IOCTL_DISK_BASE, 0x0009, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_DISK_LOGGING \
	CTL_CODE(IOCTL_DISK_BASE, 0x000a, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_DISK_FORMAT_TRACKS_EX \
	CTL_CODE(IOCTL_DISK_BASE, 0x000b, METHOD_BUFFERED, \
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_DISK_HISTOGRAM_STRUCTURE \
	CTL_CODE(IOCTL_DISK_BASE, 0x000c, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_DISK_HISTOGRAM_DATA \
	CTL_CODE(IOCTL_DISK_BASE, 0x000d, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_DISK_HISTOGRAM_RESET \
	CTL_CODE(IOCTL_DISK_BASE, 0x000e, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_DISK_REQUEST_STRUCTURE \
	CTL_CODE(IOCTL_DISK_BASE, 0x000f, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_DISK_REQUEST_DATA \
	CTL_CODE(IOCTL_DISK_BASE, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	IOCTL_DISK_CONTROLLER_NUMBER \
	CTL_CODE(IOCTL_DISK_BASE, 0x0011, METHOD_BUFFERED, FILE_ANY_ACCESS)

/*
 * IOCTL support for SMART drive fault prediction.
 */

#define	SMART_GET_VERSION \
	CTL_CODE(IOCTL_DISK_BASE, 0x0020, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	SMART_SEND_DRIVE_COMMAND \
	CTL_CODE(IOCTL_DISK_BASE, 0x0021, METHOD_BUFFERED,	\
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	SMART_RCV_DRIVE_DATA \
	CTL_CODE(IOCTL_DISK_BASE, 0x0022, METHOD_BUFFERED, \
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)


/*
 * The following device control codes are common for all class drivers.  The
 * functions codes defined here must match all of the other class drivers.
 *
 * Warning: these codes will be replaced in the future by equivalent
 * IOCTL_STORAGE codes
 */

#define	IOCTL_DISK_CHECK_VERIFY \
	CTL_CODE(IOCTL_DISK_BASE, 0x0200, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_DISK_MEDIA_REMOVAL \
	CTL_CODE(IOCTL_DISK_BASE, 0x0201, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_DISK_EJECT_MEDIA \
	CTL_CODE(IOCTL_DISK_BASE, 0x0202, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_DISK_LOAD_MEDIA \
	CTL_CODE(IOCTL_DISK_BASE, 0x0203, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_DISK_RESERVE \
	CTL_CODE(IOCTL_DISK_BASE, 0x0204, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_DISK_RELEASE \
	CTL_CODE(IOCTL_DISK_BASE, 0x0205, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_DISK_FIND_NEW_DEVICES \
	CTL_CODE(IOCTL_DISK_BASE, 0x0206, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_DISK_GET_MEDIA_TYPES \
	CTL_CODE(IOCTL_DISK_BASE, 0x0300, METHOD_BUFFERED, FILE_ANY_ACCESS)

#define	IOCTL_CHANGER_BASE		FILE_DEVICE_CHANGER

#define	IOCTL_CHANGER_GET_PARAMETERS \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x0000, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_CHANGER_GET_STATUS \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x0001, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_CHANGER_GET_PRODUCT_DATA \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x0002, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_CHANGER_SET_ACCESS \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x0004, METHOD_BUFFERED, \
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_CHANGER_GET_ELEMENT_STATUS \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x0005, METHOD_BUFFERED, \
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	IOCTL_CHANGER_INITIALIZE_ELEMENT_STATUS \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x0006, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_CHANGER_SET_POSITION \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x0007, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_CHANGER_EXCHANGE_MEDIUM \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x0008, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_CHANGER_MOVE_MEDIUM \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x0009, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_CHANGER_REINITIALIZE_TRANSPORT \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x000A, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	IOCTL_CHANGER_QUERY_VOLUME_TAGS \
	CTL_CODE(IOCTL_CHANGER_BASE, 0x000B, METHOD_BUFFERED, \
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)

#ifndef _FILESYSTEMFSCTL_
#define	_FILESYSTEMFSCTL_
/*
 * The following is a list of the native file system fsctls followed by
 * additional network file system fsctls, DFS fsctls and Named Pipe fsctls.
 * Some values have been decommissioned.
 */

/* FILE_DEVICE_FILE_SYSTEM */
#define	FSCTL_REQUEST_OPLOCK_LEVEL_1 \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  0, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_REQUEST_OPLOCK_LEVEL_2 \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  1, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_REQUEST_BATCH_OPLOCK \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  2, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_OPLOCK_BREAK_ACKNOWLEDGE \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  3, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_OPBATCH_ACK_CLOSE_PENDING \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  4, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_OPLOCK_BREAK_NOTIFY \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  5, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_LOCK_VOLUME \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  6, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_UNLOCK_VOLUME \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  7, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_DISMOUNT_VOLUME \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM,  8, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* decommissioned fsctl value 9 */
#define	FSCTL_IS_VOLUME_MOUNTED \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* PATHNAME_BUFFER, */
#define	FSCTL_IS_PATHNAME_VALID \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 11, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_MARK_VOLUME_DIRTY \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* decommissioned fsctl value 13 */
#define	FSCTL_QUERY_RETRIEVAL_POINTERS \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 14,  METHOD_NEITHER, FILE_ANY_ACCESS)
#define	FSCTL_GET_COMPRESSION \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_SET_COMPRESSION \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 16, METHOD_BUFFERED, \
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)
/* decommissioned fsctl value 17 */
/* decommissioned fsctl value 18 */
#define	FSCTL_MARK_AS_SYSTEM_HIVE \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 19,  METHOD_NEITHER, FILE_ANY_ACCESS)
#define	FSCTL_OPLOCK_BREAK_ACK_NO_2 \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 20, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_INVALIDATE_VOLUMES \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* FSCTL_QUERY_FAT_BPB_BUFFER */
#define	FSCTL_QUERY_FAT_BPB \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_REQUEST_FILTER_OPLOCK \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 23, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* FILESYSTEM_STATISTICS */
#define	FSCTL_FILESYSTEM_GET_STATISTICS \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 24, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* NTFS_VOLUME_DATA_BUFFER */
#define	FSCTL_GET_NTFS_VOLUME_DATA \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 25, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* NTFS_FILE_RECORD_INPUT_BUFFER, NTFS_FILE_RECORD_OUTPUT_BUFFER */
#define	FSCTL_GET_NTFS_FILE_RECORD \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 26, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* STARTING_LCN_INPUT_BUFFER, VOLUME_BITMAP_BUFFER */
#define	FSCTL_GET_VOLUME_BITMAP \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 27,  METHOD_NEITHER, FILE_ANY_ACCESS)
/* STARTING_VCN_INPUT_BUFFER, RETRIEVAL_POINTERS_BUFFER */
#define	FSCTL_GET_RETRIEVAL_POINTERS \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 28,  METHOD_NEITHER, FILE_ANY_ACCESS)
/* MOVE_FILE_DATA, */
#define	FSCTL_MOVE_FILE \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 29, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_IS_VOLUME_DIRTY \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 30, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_GET_HFS_INFORMATION \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 31, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_ALLOW_EXTENDED_DASD_IO \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 32, METHOD_NEITHER,  FILE_ANY_ACCESS)
#define	FSCTL_READ_PROPERTY_DATA \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 33, METHOD_NEITHER, FILE_ANY_ACCESS)
#define	FSCTL_WRITE_PROPERTY_DATA \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 34, METHOD_NEITHER, FILE_ANY_ACCESS)
#define	FSCTL_FIND_FILES_BY_SID \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 35, METHOD_NEITHER, FILE_ANY_ACCESS)
/* decommissioned fsctl value 36 */
#define	FSCTL_DUMP_PROPERTY_DATA \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 37,  METHOD_NEITHER, FILE_ANY_ACCESS)
/* FILE_OBJECTID_BUFFER */
#define	FSCTL_SET_OBJECT_ID \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 38, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* FILE_OBJECTID_BUFFER */
#define	FSCTL_GET_OBJECT_ID \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 39, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_DELETE_OBJECT_ID \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 40, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* REPARSE_DATA_BUFFER, */
#define	FSCTL_SET_REPARSE_POINT \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 41, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* REPARSE_DATA_BUFFER */
#define	FSCTL_GET_REPARSE_POINT \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 42, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* REPARSE_DATA_BUFFER, */
#define	FSCTL_DELETE_REPARSE_POINT \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 43, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* MFT_ENUM_DATA, */
#define	FSCTL_ENUM_USN_DATA \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 44,  METHOD_NEITHER, FILE_READ_ACCESS)
/* BULK_SECURITY_TEST_DATA, */
#define	FSCTL_SECURITY_ID_CHECK \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 45,  METHOD_NEITHER, FILE_READ_ACCESS)
/* READ_USN_JOURNAL_DATA, USN */
#define	FSCTL_READ_USN_JOURNAL \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 46,  METHOD_NEITHER, FILE_READ_ACCESS)
#define	FSCTL_SET_OBJECT_ID_EXTENDED \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 47, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* FILE_OBJECTID_BUFFER */
#define	FSCTL_CREATE_OR_GET_OBJECT_ID \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 48, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_SET_SPARSE \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 49, METHOD_BUFFERED, FILE_ANY_ACCESS)
/* FILE_ZERO_DATA_INFORMATION, */
#define	FSCTL_SET_ZERO_DATA \
    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 50, METHOD_BUFFERED, FILE_WRITE_ACCESS)
/* FILE_ALLOCATED_RANGE_BUFFER, FILE_ALLOCATED_RANGE_BUFFER */
#define	FSCTL_QUERY_ALLOCATED_RANGES \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 51,  METHOD_NEITHER, FILE_READ_ACCESS)
#define	FSCTL_ENABLE_UPGRADE \
    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 52, METHOD_BUFFERED, FILE_WRITE_ACCESS)
/* ENCRYPTION_BUFFER, */
#define	FSCTL_SET_ENCRYPTION \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 53, METHOD_NEITHER, FILE_ANY_ACCESS)
#define	FSCTL_ENCRYPTION_FSCTL_IO \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 54,  METHOD_NEITHER, FILE_ANY_ACCESS)
/* ENCRYPTED_DATA_INFO, */
#define	FSCTL_WRITE_RAW_ENCRYPTED \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 55,  METHOD_NEITHER, FILE_ANY_ACCESS)
/* REQUEST_RAW_ENCRYPTED_DATA, ENCRYPTED_DATA_INFO */
#define	FSCTL_READ_RAW_ENCRYPTED \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 56,  METHOD_NEITHER, FILE_ANY_ACCESS)
/* CREATE_USN_JOUNRAL_DATA, */
#define	FSCTL_CREATE_USN_JOURNAL \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 57,  METHOD_NEITHER, FILE_READ_ACCESS)
/* Read the Usn Record for a file */
#define	FSCTL_READ_FILE_USN_DATA \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 58,  METHOD_NEITHER, FILE_ANY_ACCESS)
/* Generate Close Usn Record */
#define	FSCTL_WRITE_USN_CLOSE_RECORD \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 59,  METHOD_NEITHER, FILE_ANY_ACCESS)
#define	FSCTL_EXTEND_VOLUME \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 60, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_SIS_COPYFILE \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 64, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_RECALL_FILE \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 69, METHOD_NEITHER, FILE_ANY_ACCESS)
#define	FSCTL_SET_DEFECT_MANAGEMENT \
    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 77, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define	FSCTL_QUERY_SPARING_INFO \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 78, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_QUERY_ON_DISK_VOLUME_INFO \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 79, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_SET_ZERO_ON_DEALLOCATION \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 101, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_SET_SHORT_NAME_BEHAVIOR \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 109, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_FILE_LEVEL_TRIM \
    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 130, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define	FSCTL_OFFLOAD_READ \
    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 153, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	FSCTL_OFFLOAD_WRITE \
    CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 154, METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define	FSCTL_GET_INTEGRITY_INFORMATION \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 159, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_SET_INTEGRITY_INFORMATION \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 160, METHOD_BUFFERED, \
		FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	FSCTL_QUERY_FILE_REGIONS \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 161, METHOD_BUFFERED, FILE_ANY_ACCESS)

#define	FSCTL_REFS_STREAM_SNAPSHOT_MANAGEMENT \
	CTL_CODE(FILE_DEVICE_FILE_SYSTEM, 272, METHOD_BUFFERED, FILE_ANY_ACCESS)

/* FILE_DEVICE_NETWORK_FILE_SYSTEM */
/* Read the snapshot info for Volume Shadow Copy Services */
#define	FSCTL_SRV_ENUMERATE_SNAPSHOTS \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x19, \
	METHOD_BUFFERED, FILE_READ_ACCESS)
/* Retrieve an opaque file reference for server-side data movement */
#define	FSCTL_SRV_REQUEST_RESUME_KEY \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x1e, \
	METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_LMR_GET_LINK_TRACKING_INFORMATION \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3a, \
	METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_LMR_SET_LINK_TRACKING_INFORMATION \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3b, \
	METHOD_BUFFERED, FILE_ANY_ACCESS)
/* server-side data movement */
#define	FSCTL_SRV_COPYCHUNK \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3c, \
	METHOD_OUT_DIRECT, FILE_READ_ACCESS)
/* server-side data movement */
#define	FSCTL_SRV_COPYCHUNK_WRITE \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x3c, \
	METHOD_OUT_DIRECT, FILE_WRITE_ACCESS)
#define	FSCTL_SRV_NOTIFY_TRANSACTION \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x46, \
	METHOD_BUFFERED, FILE_WRITE_ACCESS)
#define	FSCTL_SRV_READ_HASH \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x6e, \
	METHOD_NEITHER, FILE_READ_ACCESS)
#define	FSCTL_SRV_UNKNOWN_x71 \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x71, \
	METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_LMR_REQUEST_RESILIENCY \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x75, \
	METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_QUERY_NETWORK_INTERFACE_INFO \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x7f, \
	METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_VALIDATE_NEGOTIATE_INFO \
	CTL_CODE(FILE_DEVICE_NETWORK_FILE_SYSTEM, 0x81, \
	METHOD_BUFFERED, FILE_ANY_ACCESS)

/* FILE_DEVICE_DFS */
#define	FSCTL_DFS_GET_REFERRALS \
	CTL_CODE(FILE_DEVICE_DFS, 0x65, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define	FSCTL_DFS_GET_REFERRALS_EX \
	CTL_CODE(FILE_DEVICE_DFS, 0x6c, METHOD_BUFFERED, FILE_ANY_ACCESS)

/* FILE_DEVICE_NAMED_PIPE */
#define	FSCTL_PIPE_PEEK \
	CTL_CODE(FILE_DEVICE_NAMED_PIPE, 3, METHOD_BUFFERED, FILE_READ_ACCESS)
#define	FSCTL_PIPE_TRANSCEIVE \
	CTL_CODE(FILE_DEVICE_NAMED_PIPE, 5, METHOD_NEITHER, \
	FILE_READ_ACCESS | FILE_WRITE_ACCESS)
#define	FSCTL_PIPE_WAIT \
	CTL_CODE(FILE_DEVICE_NAMED_PIPE, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)

#endif /* _FILESYSTEMFSCTL_ */

#ifdef __cplusplus
}
#endif

#endif /* _SMB_WINIOCTL_H */
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License (the "License").
 * You may not use this file except in compliance with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */

/*
 * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 *
 * Copyright 2013 Nexenta Systems, Inc.  All rights reserved.
 */

#ifndef _SMB_WINTYPES_H
#define	_SMB_WINTYPES_H

#include <sys/types.h>

/*
 * Standard win32 types and definitions.
 */

#ifdef __cplusplus
extern "C" {
#endif

#ifndef UNSIGNED_TYPES_DEFINED
#define	UNSIGNED_TYPES_DEFINED

typedef	uint8_t BYTE;
typedef	uint16_t WORD;
typedef	uint32_t DWORD;
typedef	DWORD ntstatus_t;

/* pointers to those types */
typedef	BYTE *LPBYTE;
typedef	WORD *LPWORD;
typedef	DWORD *LPDWORD;

/* Note: Internally, this is always a UTF-8 string. */
typedef	uint8_t *LPTSTR;

#endif /* UNSIGNED_TYPES_DEFINED */

#ifndef ANY_SIZE_ARRAY
#define	ANY_SIZE_ARRAY  1
#endif /* ANY_SIZE_ARRAY */

/* CONTEXT_HANDLE now in ndrtypes.ndl */

#ifdef __cplusplus
}
#endif

#endif /* _SMB_WINTYPES_H */