File: ckuusr.h

package info (click to toggle)
ckermit 211-5
  • links: PTS
  • area: non-free
  • in suites: sarge
  • size: 11,700 kB
  • ctags: 14,540
  • sloc: ansic: 239,818; makefile: 4,582; sh: 51
file content (2974 lines) | stat: -rw-r--r-- 110,310 bytes parent folder | download | duplicates (4)
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
/*  C K U U S R . H  --  Symbol definitions for C-Kermit ckuus*.c modules  */

/*
  Author: Frank da Cruz <fdc@columbia.edu>,
  Columbia University Academic Information Systems, New York City.

  Copyright (C) 1985, 2004,
    Trustees of Columbia University in the City of New York.
    All rights reserved.  See the C-Kermit COPYING.TXT file or the
    copyright text in the ckcmai.c module for disclaimer and permissions.
*/
#ifndef CKUUSR_H
#define CKUUSR_H

#include "ckucmd.h"			/* Get symbols from command package */

#ifndef NOLUCACHE			/* Use lookup() cache */
#ifndef NOSPL				/* To speed up script programs */
#ifndef USE_LUCACHE
#define USE_LUCACHE
#endif /* USE_LUCACHE */
#endif /* NOSPL */
#endif /* NOLUCACHE */

#ifndef NODOUBLEQUOTING			/* New to 8.0 */
#define DOUBLEQUOTING			/* Allow fields to be enclosed in */
#endif /* NODOUBLEQUOTING */		/* doublequotes. */

#ifndef NOLOCUS				/* SET LOCUS */
#define LOCUS
#endif /* NOLOCUS */

/* Sizes of things */

#ifdef BIGBUFOK
#define FNVALL 10238			/* Function return value length */
#define MAXARGLEN 8191			/* Max func arg length after eval */
#define MAXARGLIST 1024			/* Max number of args for a macro */
#define FSPECL CMDBL			/* Max length for MSEND/GET string */
#define MSENDMAX 1024			/* Number of filespecs for MSEND */
#define MAC_MAX 16384			/* Maximum number of macros */

#else  /* Same as above but for smaller builds... */

#define FNVALL 1022
#define MAXARGLEN 1023
#define MAXARGLIST 64
#define FSPECL 300
#define MSENDMAX 128
#define MAC_MAX 1024
#endif /* BIGBUFOK */

#define GVARS 127			/* Highest global var allowed */
#ifdef BIGBUFOK
#define VNAML 4096			/* Max length for variable name */
#define ARRAYREFLEN 1024		/* Max length for array reference */
#define FORDEPTH 32			/* Maximum depth of nested FOR loops */
#define MAXTAKE 54			/* Maximum nesting of TAKE files */
#define MACLEVEL 128			/* Maximum nesting for macros */
#define INPBUFSIZ 4096			/* Size of INPUT buffer */
#define PROMPTL 1024			/* Max length for prompt */
#else
#define VNAML 256			/* Max length for variable name */
#define ARRAYREFLEN 128			/* Max length for array reference */
#define FORDEPTH 10			/* Maximum depth of nested FOR loops */
#define MAXTAKE 32			/* Maximum nesting of TAKE files */
#define MACLEVEL 64			/* Maximum nesting for macros */
#define INPBUFSIZ 256
#define PROMPTL 256			/* Max length for prompt */
#endif /* BIGBUFOK */
#define NARGS 10			/* Max number of macro arguments */
#define LINBUFSIZ (CMDBL + 10)		/* Size of line[] buffer */
#define TMPBUFSIZ (CMDBL + 10)		/* Size of temporary buffer */
#define LBLSIZ 50			/* Maximum length for a GOTO label */
#define CMDSTKL ( MACLEVEL + MAXTAKE + 2) /* Command stack depth */

#ifndef NOPURGE				/* PURGE command */
#ifdef UNIX
#define CKPURGE
#endif /* UNIX */
#endif /* NOPURGE */

#ifndef NOMINPUT			/* MINPUT command */
#ifndef NOSPL
#define CK_MINPUT
#ifndef MINPMAX
#ifdef BIGBUFOK
#define MINPMAX 96			/* Max number of MINPUT strings */
#else
#define MINPMAX 16
#endif /* BIGBUFOK */
#endif /* MINPMAX */
#define MINPBUFL 256			/* Size of MINPUT temp buffer */
#endif /* NOSPL */
#endif /* NOMINPUT */

#define ARRAYBASE 95			/* Lowest array-name character */

#ifndef NOKERBANG
#ifndef KERBANG
#define KERBANG
#endif /* KERBANG */
#endif /* NOKERBANG */

/* Bit values (1, 2, 4, 8, ...) for the ccflgs field */

#define CF_APC  1			/* Executing an APC command */
#define CF_KMAC 2			/* Executing a \Kmacro */
#define CF_CMDL 4			/* Macro from -C "blah" command line */
#define CF_REXX 8			/* Macro from REXX interpreter */
#define CF_IMAC 16			/* Internal macro like FOR, WHILE... */

struct cmdptr {				/* Command stack structure */
    int src;				/* Command Source */
    int lvl;				/* Current TAKE or DO level */
    int ccflgs;				/* Flags */
};

struct mtab {				/* Macro table, like keyword table */
    char *kwd;				/* But with pointers for vals */
    char *mval;				/* instead of ints. */
    short flgs;
};

struct localvar {			/* Local variable structure. */
    char * lv_name;
    char * lv_value;
    struct localvar * lv_next;
};

struct stringlist {			/* General purpose string list */
    char * sl_name;
    struct stringlist * sl_next;
};

#ifndef NOICP
/*
  C-Kermit Initialization file...

  System-dependent defaults are built into the program, see below.
  These can be overridden in either of two ways:
  1. CK_DSYSINI is defined at compile time, in which case a default
     system-wide initialization file name is chosen from below, or:
  2: CK_SYSINI is defined to be a string, which lets the program
     builder choose the initialization filespec at compile time.
  These can be given on the CC command line, so the source code need not be
  changed.
*/

#ifndef CK_SYSINI			/* If no initialization file given, */
#ifdef CK_DSYSINI			/* but CK_DSYSINI is defined... */

/* Supply system-dependent "default default" initialization file */

#ifdef UNIX				/* For UNIX, system-wide */
/* This allows one copy of the standard init file on the whole system, */
/* rather than a separate copy in each user's home directory. */
#ifdef HPUX10
#define CK_SYSINI "/usr/share/lib/kermit/ckermit.ini"
#else
#ifdef CU_ACIS
#define CK_SYSINI "/usr/share/lib/kermit/ckermit.ini"
#else
#ifdef __linux__
#define CK_SYSINI "/usr/share/kermit/ckermit.ini"
#else
#define CK_SYSINI "/usr/local/bin/ckermit.ini"
#endif /* linux */
#endif /* CU_ACIS */
#endif /* HPUX10 */
/* Fill in #else..#ifdef's here for VMS, OS/2, etc. */
/* Fill in matching #endif's here. */
#endif /* UNIX */

#endif /* CK_DSYSINI */
#endif /* CK_SYSINI */

#ifdef CK_SYSINI			/* Init-file precedence */
#ifndef CK_INI_A			/* A means system-wide file first */
#ifndef CK_INI_B			/* B means user's first */
#define CK_INI_A			/* A is default */
#endif /* CK_INI_B */
#endif /* CK_INI_A */
#else
#ifdef CK_INI_A				/* Otherwise */
#undef CK_INI_A				/* make sure these aren't defined */
#endif /* CK_INI_A */
#ifdef CK_INI_B
#undef CK_INI_B
#endif /* CK_INI_B */
#endif /* CK_SYSINI */

#ifdef CK_SYSINI			/* One more check... */
#ifdef CK_INI_A				/* Make sure they're not both */
#ifdef CK_INI_B				/* defined. */
#undef CK_INI_B
#endif /* CK_INI_B */
#endif /* CK_INI_A */
#endif /* CK_SYSINI */
/*
  If neither CK_DSYSINI nor CK_SYSINI are defined, these are the
  built-in defaults for each platform.  USE_CUSTOM means to execute the
  customization file automatically if the initialization file is not found.
*/
#ifndef NOCUSTOM
#ifndef USE_CUSTOM
#define USE_CUSTOM
#endif /* USE_CUSTOM */
#endif /* NOCUSTOM */

#ifndef  KERMRCL			/* Path length for init file */
#define KERMRCL CKMAXPATH
#endif /*  KERMRCL */

#ifdef vms
#define KERMRC "CKERMIT.INI"		/* Init file name */
#define MYCUSTOM "CKERMOD.INI"		/* Customization file name */
#else
#ifdef OS2
#ifdef NT
#define KERMRC "k95.ini"
#define MYCUSTOM "k95custom.ini"
#else
#define KERMRC "k2.ini"
#define MYCUSTOM "k2custom.ini"
#endif /* NT */
#else
#ifdef UNIXOROSK
#define KERMRC ".kermrc"
#define MYCUSTOM ".mykermrc"
#else
#ifdef STRATUS
#define KERMRC "ckermit.ini"
#define MYCUSTOM "ckermod.ini"
#else
#define KERMRC "CKERMIT.INI"
#define MYCUSTOM "ckermod.ini"
#endif /* STRATUS */
#endif /* UNIXOROSK */
#endif /* OS2 */
#endif /* vms */

#ifndef KERMRCL
#define KERMRCL 256
#endif /* KERMRCL */
#endif /* NOICP */

/* User interface features */

#ifdef CK_CURSES			/* Thermometer */
#ifndef NO_PCT_BAR
#ifndef CK_PCT_BAR
#define CK_PCT_BAR
#endif /* NO_PCT_BAR */
#endif /* CK_PCT_BAR */
#endif /* CK_CURSES */

#ifdef KUI				/* KUI requires the Thermometer code */
#ifndef NO_PCT_BAR
#ifndef CK_PCT_BAR
#define CK_PCT_BAR
#endif /* NO_PCT_BAR */
#endif /* CK_PCT_BAR */
#endif /* KUI */

/* Includes */

#ifdef MINIX
/* why? */
#include <sys/types.h>
#endif /* MINIX */

/* Symbols for command source */

#define CMD_KB 0			/* KeyBoard or standard input */
#define CMD_TF 1			/* TAKE command File */
#define CMD_MD 2			/* Macro Definition */

/*
  SET TRANSFER CANCELLATION command should be available in all versions.
  But for now...
*/
#ifdef UNIX				/* UNIX has it */
#ifndef XFRCAN
#define XFRCAN
#endif /* XFRCAN */
#endif /* UNIX */
#ifdef VMS				/* VMS has it */
#ifndef XFRCAN
#define XFRCAN
#endif /* XFRCAN */
#endif /* VMS */
#ifdef datageneral			/* DG AOS/VS has it */
#ifndef XFRCAN
#define XFRCAN
#endif /* XFRCAN */
#endif /* datageneral */
#ifdef STRATUS				/* Stratus VOS has it */
#ifndef XFRCAN
#define XFRCAN
#endif /* XFRCAN */
#endif /* STRATUS */
#ifdef OSK				/* OS-9 */
#ifndef XFRCAN
#define XFRCAN
#endif /* XFRCAN */
#endif /* OSK */

#ifndef NOCMDL
/* Extended Command-Line Option Codes (keep alphabetical by keyword) */

#define XA_ANON 0			/* --anonymous */
#define XA_BAFI 1			/* --bannerfile */
#define XA_CDFI 2			/* --cdfile */
#define XA_CDMS 3			/* --cdmessage */
#define XA_HELP 4			/* --help */
#define XA_HEFI 5			/* --helpfile */
#define XA_IKFI 6			/* --xferfile */
#define XA_IKLG 7			/* --xferlog */
#define XA_ANFI 8			/* --initfile */
#define XA_PERM 9			/* --permissions */
#define XA_ROOT 10			/* --root */
#define XA_SYSL 11			/* --syslog */
#define XA_USFI 12			/* --userfile */
#define XA_WTFI 13			/* --wtmpfile */
#define XA_WTMP 14			/* --wtmplog */
#define XA_TIMO 15			/* --timeout */
#define XA_NOIN 16			/* --nointerrupts */
#define XA_DBAS 17			/* --database */
#define XA_DBFI 18			/* --dbfile */
#define XA_PRIV 19			/* --privid */
#define XA_VERS 20			/* --version */
#define XA_NPRM 21			/* --noperms */
#define XA_XPOS 22			/* Window position X coordinate */
#define XA_YPOS 23			/* Window position Y coordinate */
#define XA_FNAM 24			/* Font Facename */
#define XA_FSIZ 25			/* Font Size */
#define XA_TERM 26			/* Terminal type */
#define XA_CSET 27			/* Remote Character Set */
#define XA_ROWS 28			/* Screen rows (height) */
#define XA_COLS 29			/* Screen columns (width) */
#define XA_TEL  30			/* Make a Telnet connection */
#define XA_FTP  31			/* Make an FTP connection */
#define XA_SSH  32			/* Make an SSH connection */
#define XA_USER 33			/* Username for login */
#define XA_PASS 34			/* Password for login */
#define XA_TITL 35                      /* Window Title */
#define XA_NOMN 36			/* No GUI Menu Bar */
#define XA_NOTB 37			/* No GUI Tool Bar */
#define XA_NOSB 38                      /* No GUI Status Bar */
#define XA_NOPUSH 39                    /* Disable external commands */
#define XA_NOSCROLL 40                  /* Disable scrollback operations */
#define XA_NOESCAPE 41                  /* Disable escape from connect mode */
#define XA_LOCK 42                      /* All lockdown options */
#define XA_NOBAR 43                     /* No GUI Bars */
#define XA_WMAX  44
#define XA_WMIN  45
#define XA_SCALE 46                     /* GUI Scale Font */
#define XA_CHGD  47                     /* GUI Change Dimensions */
#define XA_MAX  47			/* Highest extended option number */
#endif /* NOCMDL */

#ifndef NOICP
/* Top Level Commands */
/* Values associated with top-level commands must be 0 or greater. */

#define XXBYE   0	/* BYE */
#define XXCLE   1	/* CLEAR */
#define XXCLO   2	/* CLOSE */
#define XXCON   3	/* CONNECT */
#define XXCPY   4	/* COPY */
#define XXCWD   5	/* CWD (Change Working Directory) */
#define XXDEF	6	/* DEFINE (a macro or variable) */
#define XXDEL   7	/* (Local) DELETE */
#define XXDIR   8	/* (Local) DIRECTORY */

/* DIRECTORY Command options... */
#define DIR_BRF 1	/* BRIEF */
#define DIR_VRB 2	/* VERBOSE */
#define DIR_PAG 3	/* PAGE */
#define DIR_NOP 4	/* NOPAGE */
#define DIR_ISO 5	/* ISODATE */
#define DIR_DAT 6	/* ENGLISHDATE */
#define DIR_HDG 7	/* HEADINGS */
#define DIR_NOH 8	/* NOHEADINGS */
#define DIR_SRT 9	/* SORT */
#define DIR_NOS 10      /* NOSORT */
#define DIR_ASC 11	/* ASCENDING */
#define DIR_DSC 12      /* DESCENDING */
#define DIR_REC 13      /* RECURSIVE */
#define DIR_NOR 14	/* NORECURIVE */
#define DIR_DOT 15	/* DOTFILES */
#define DIR_NOD 16	/* NODOTFILES */
#define DIR_DIR 17	/* DIRECTORIES */
#define DIR_FIL 18	/* FILES */
#define DIR_ALL 19	/* ALL */
#define DIR_NAM 20	/* NAMES: */
#define DIR_TYP 21	/* FILETYPES */
#define DIR_NOT 22	/* NOFILETYPES */
#define DIR_BUP 23	/* BACKUP */
#define DIR_NOB 24	/* NOBACKUP */
#define DIR_MSG 25      /* MESSAGE */
#define DIR_NOM 26      /* NOMESSAGE */
#define DIR_ARR 27      /* ARRAY: */
#define DIR_NAR 28      /* NOARRAY */
#define DIR_EXC 29	/* EXCEPT: */
#define DIR_LAR 30	/* LARGER-THAN: */
#define DIR_SMA 31	/* SMALLER-THAN: */
#define DIR_AFT 32	/* AFTER: */
#define DIR_NAF 33	/* NOT-AFTER: */
#define DIR_BEF 34	/* BEFORE: */
#define DIR_NBF 35	/* NOT-BEFORE: */
#define DIR_SUM 36	/* SUMMARY */
#define DIR_BIN 37	/* TYPE (only show binary or text) */
#define DIR_LNK 38	/* follow symlinks */
#define DIR_NLK 39	/* don't follow symlinks */
#define DIR_OUT 40	/* Output file for listing */

#define DIRS_NM 0       /* Sort directory by NAME */
#define DIRS_DT 1       /* Sort directory by DATE */
#define DIRS_SZ 2       /* Sort directory by SIZE */

#define XXDIS   9	/* DISABLE */
#define XXECH  10	/* ECHO */
#define XXEXI  11	/* EXIT */
#define XXFIN  12	/* FINISH */
#define XXGET  13	/* GET */
#define XXHLP  14	/* HELP */
#define XXINP  15	/* INPUT */
#define XXLOC  16	/* LOCAL */
#define XXLOG  17	/* LOG */
#define XXMAI  18	/* MAIL */
#define XXMOU  19	/* (Local) MOUNT */
#define XXMSG  20	/* (Local) MESSAGE */
#define XXOUT  21	/* OUTPUT */
#define XXPAU  22	/* PAUSE */
#define XXPRI  23	/* (Local) PRINT */
#define XXQUI  24	/* QUIT */
#define XXREC  25	/* RECEIVE */
#define XXREM  26	/* REMOTE */
#define XXREN  27	/* (Local) RENAME */
#define XXSEN  28	/* SEND */

/* SEND switches */

#define SND_BIN  0	/* Binary mode */
#define SND_DEL  1	/* Delete after */
#define SND_EXC  2	/* Except */
#define SND_LAR  3	/* Larger than */
#define SND_MAI  4	/* Mail */
#define SND_BEF  5	/* Before */
#define SND_AFT  6	/* After */
#define SND_PRI  7	/* Print */
#define SND_SHH  8	/* Quiet */
#define SND_REC  9	/* Recursive */
#define SND_SMA 10	/* Smaller than */
#define SND_STA 11	/* Starting-from */
#define SND_TXT 12	/* Text mode */
#define SND_CMD 13	/* From command (pipe)  */
#define SND_RES 14	/* Resend/Recover */
#define SND_PRO 15	/* Protocol */
#define SND_ASN 16	/* As-name */
#define SND_IMG 17	/* Image */
#define SND_LBL 18	/* Labeled */
#define SND_NAF 19	/* Not-After */
#define SND_NBE 20	/* Not-Before */
#define SND_FLT 21	/* Filter */
#define SND_PTH 22	/* Pathnames */
#define SND_NAM 23	/* Filenames */
#define SND_MOV 24      /* MOVE to another directory */
#define SND_REN 25      /* RENAME after sending */
#define SND_CAL 26	/* Calibrate */
#define SND_FIL 27	/* File containing list of files to send */
#define SND_NOB 28	/* Skip backup files  */
#define SND_DOT 29	/* Include dot-files */
#define SND_NOD 30	/* Exclude dot-files */
#define SND_ARR 31	/* Send from array */
#define SND_TYP 32	/* TYPE (only send text (or binary)) */
#define SND_XPA 33	/* TRANSPARENT */
#define SND_PIP 34	/* PIPES */
#define SND_ERR 35	/* ERROR */
#define SND_CSL 36	/* Local character set */
#define SND_CSR 37	/* Remote character set */
#define SND_UPD 38	/* Update */
#define SND_COL 39	/* Collision */
#define SND_NML 40	/* Namelist */
#define SND_SRN 41	/* Server-Rename */
#define SND_LNK 42	/* Follow links */
#define SND_NLK 43	/* Don't follow links */
#define SND_SIM 44	/* Simulate */
#define SND_DIF 45	/* If dates Differ */
#define SND_PAT 46	/* Pattern to use locally when GET'ing */
#define SND_NLS 47	/* (FTP only) MGET forces NLST */
#define SND_MLS 48	/* (FTP only) MGET forces MLSD */

#define SND_MAX 48	/* Highest SEND switch */

#define XXSER  29   	/* SERVER */
#define XXSET  30	/* SET */
#define XXSHE  31	/* Command for SHELL */
#define XXSHO  32	/* SHOW */
#define XXSPA  33	/* (Local) SPACE */
#define XXSTA  34	/* STATISTICS */
#define XXSUB  35	/* (Local) SUBMIT */
#define XXTAK  36	/* TAKE */
#define XXTRA  37	/* TRANSMIT */
#define XXTYP  38	/* (Local) TYPE */
#define XXWHO  39	/* (Local) WHO */
#define XXDIAL 40	/* (Local) DIAL */
#define XXLOGI 41	/* (Local) SCRIPT */
#define XXCOM  42	/* Comment */
#define XXHAN  43       /* HANGUP */
#define XXXLA  44	/* TRANSLATE */
#define XXIF   45	/* IF */
#define XXLBL  46       /* label */
#define XXGOTO 47	/* GOTO */
#define XXEND  48       /* END */
#define XXSTO  49       /* STOP */
#define XXDO   50       /* DO */
#define XXPWD  51       /* PWD */
#define XXTES  52       /* TEST */
#define XXASK  53       /* ASK */
#define XXASKQ 54       /* ASKQ */
#define XXASS  55       /* ASSIGN */
#define XXREI  56       /* REINPUT */
#define XXINC  57       /* INCREMENT */
#define XXDEC  59       /* DECREMENT */
#define XXELS  60       /* ELSE */
#define XXEXE  61	/* EXECUTE */
#define XXWAI  62	/* WAIT */
#define XXVER  63       /* VERSION */
#define XXENA  64       /* ENABLE */
#define XXWRI  65       /* WRITE */
#define XXCLS  66       /* CLS (clear screen) */
#define XXRET  67	/* RETURN */
#define XXOPE  68       /* OPEN */
#define XXREA  69	/* READ */
#define XXON   70       /* ON */
#define XXDCL  71       /* DECLARE */
#define XXBEG  72       /* BEGIN (not used) */
#define XXFOR  72       /* FOR */
#define XXWHI  73       /* WHILE */
#define XXIFX  74       /* Extended IF */
#define XXCMS  75       /* SEND from command output (not yet) */
#define XXCMR  76       /* RECEIVE to a command's input (not yet) */
#define XXCMG  77       /* GET to a command's input (not yet) */
#define XXSUS  78       /* SUSPEND */
#define XXERR  79       /* ERROR */
#define XXMSE  80       /* MSEND */
#define XXBUG  81       /* BUG */
#define XXPAD  82       /* PAD (as in X.25 PAD) ANYX25 */
#define XXRED  83       /* REDIAL */
#define XXGTA  84	/* _getargs (invisible internal) */
#define XXPTA  85	/* _putargs (invisible internal) */
#define XXGOK  86       /* GETOK - Ask for YES/NO */
#define XXTEL  87	/* TELNET */
#define XXASX  88	/* _ASSIGN (evaluates var name) */
#define XXDFX  89	/* _DEFINE (evaluates var name) */
#define XXPNG  90	/* PING (for TCP/IP) */
#define XXINT  91       /* INTRODUCTION */
#define XXCHK  92	/* CHECK (a feature) */
#define XXMSL  93       /* MSLEEP, MPAUSE (millisecond sleep) */
#define XXNEW  94       /* NEWS */
#define XXAPC  95       /* APC */
#define XXFUN  96       /* REDIRECT */
#define XXWRL  97	/* WRITE-LINE */
#define XXREXX 98	/* Rexx */
#define XXMINP 100	/* MINPUT */
#define XXRSEN 101	/* RESEND */
#define XXPSEN 102	/* PSEND */
#define XXGETC 103	/* GETC */
#define XXEVAL 104	/* EVALUATE */
#define XXFWD  105	/* FORWARD */
#define XXUPD  106      /* UPDATES */
#define XXBEEP 107      /* BEEP */
#define XXMOVE 108      /* MOVE */
#define XXMMOVE 109     /* MMOVE */
#define XXREGET 110     /* REGET */
#define XXLOOK  111	/* LOOKUP */
#define XXVIEW  112     /* VIEW (terminal buffer) */
#define XXANSW  113	/* ANSWER (the phone) */
#define XXPDIA  114	/* PDIAL (partial dial) */
#define XXASC   115	/* ASCII / TEXT */
#define XXBIN   116	/* BINARY */
#define XXFTP   117	/* FTP */
#define XXMKDIR 118	/* MKDIR */
#define XXRMDIR 119	/* RMDIR */
#define XXTELOP 120	/* TELOPT */
#define XXRLOG  121	/* RLOGIN */
#define XXUNDEF 122	/* UNDEFINE */
#define XXNPSH  123	/* NOPUSH */
#define XXADD   124	/* ADD */
#define ADD_SND   0     /* ADD SEND-LIST */
#define ADD_BIN   1     /* ADD BINARY-PATTERNS */
#define ADD_TXT   2     /* ADD TEXT-PATTERNS */
#define XXLOCAL 125	/* LOCAL */
#define XXKERMI 126	/* KERMIT */
#define XXDATE  127	/* DATE */
#define XXSWIT  128     /* SWITCH */
#define XXXFWD  129	/* _FORWARD */
#define XXSAVE  130     /* SAVE */
#define XXXECH  131     /* XECHO */
#define XXRDBL  132     /* READBLOCK */
#define XXWRBL  133     /* WRITEBLOCK */
#define XXRETR  134     /* RETRIEVE */
#define XXEIGHT 135     /* EIGHTBIT */
#define XXEDIT  136	/* EDIT */
#define XXCSEN  137	/* CSEND */
#define XXCREC  138	/* CRECEIVE */
#define XXCQ    139	/* CQ */
#define XXTAPI  140     /* TAPI actions such as dialogs */
#define XXRES   141     /* RESET */
#define XXCGET  142     /* CGET */
#define XXFUNC  143     /* Function (help-only) */
#define XXKVRB  144     /* Kverb (help-only) */
#define XXBROWS 145	/* BROWSE */
#define XXMGET  146	/* MGET */
#define XXBACK  147	/* BACK */
#define XXWHERE 148	/* WHERE */
#define XXREDO  149     /* REDO */
#define XXEXCH  150     /* EXCHANGE */
#define XXREMV  151     /* REMOVE */
#define XXCHRT  152	/* CHROOT */
#define XXOPTS  153	/* Options (help-only) */
#define XXAUTH  154	/* AUTHORIZE */
#define XXPIPE  155	/* PIPE */
#define XXSSH   156	/* SSH */
#define XXTERM  157     /* TERMINAL */
#define XXSTATUS 158    /* STATUS */
#define XXCPR   159	/* COPYRIGHT */
#define XXASSER 160	/* ASSERT */
#define XXSUCC  161     /* SUCCEED */
#define XXFAIL  162     /* FAIL */
#define XXLOGIN 163     /* LOGIN */
#define XXLOGOUT 164    /* LOGOUT */
#define XXNLCL  165     /* NOLOCAL */
#define XXWILD  166     /* WILDCARDS (help-only) */

/* One-word synonyms for REMOTE commands */

#define XXRCPY  167	/* REMOTE COPY */
#define XXRCWD  168	/* Change Working Directory */
#define XXRDEL  169	/* Delete */
#define XXRDIR  170	/* Directory */
#define XXRHLP  171	/* Help */
#define XXRHOS  172	/* Host */
#define XXRKER  173	/* Kermit */
#define XXRMSG  174	/* Message */
#define XXRPRI  175	/* Print */
#define XXRREN  176	/* Rename */
#define XXRSET  177	/* Set */
#define XXRSPA  178	/* Space */
#define XXRSUB  179	/* Submit */
#define XXRTYP  180	/* Type */
#define XXRWHO  181	/* Who */
#define XXRPWD  182	/* Print Working Directory */
#define XXRQUE  183	/* Query */
#define XXRASG  184	/* Assign */
#define XXRMKD  185	/* mkdir */
#define XXRRMD  186	/* rmdir */
#define XXRXIT  187	/* Exit */

/* Top-Level commands, cont'd... */

#define XXGETK  188	/* GETKEYCODE */
#define XXMORE  189	/* MORE */
#define XXXOPTS 190	/* Extended-Options (help-only) */
#define XXIKSD  191	/* IKSD */
#define XXRESET 192	/* RESET */
#define XXASSOC 193     /* ASSOCIATE */

#define ASSOC_FC  0     /* ASSOCIATE FILE-CHARACTER-SET */
#define ASSOC_TC  1     /* ASSOCIATE TRANSFER-CHARACTER-SET */

#define XXSHIFT 194	/* SHIFT */
#define XXMAN   195     /* MANUAL */
#define XXLS    196     /* LS */
#define XXSORT  197	/* SORT */
#define XXPURGE 198	/* PURGE */
#define XXFAST  199	/* FAST */
#define XXCAU   200	/* CAUTIOUS */
#define XXROB   201	/* ROBUST */
#define XXMACRO 202     /* Immediate macro */
#define XXSCRN  203	/* SCREEN */
#define XXLNOUT 204     /* LINEOUT */
#define XX_INCR 205	/* _INCREMENT */
#define XX_DECR 206	/* _DECREMENT */
#define XX_EVAL 207	/* _EVALUATE */
#define XXARRAY 208	/* ARRAY */
#define XXPARSE 209	/* PARSE */
#define XXHTTP  210     /* HTTP */

#ifdef CKCHANNELIO
#define XXFILE  211	/* FILE */
#define XXF_CL  212	/* FCLOSE */
#define XXF_FL  213	/* FFLUSH */
#define XXF_LI  214	/* FLIST */
#define XXF_OP  215	/* FOPEN */
#define XXF_RE  216	/* FREAD */
#define XXF_SE  217	/* FSEEK */
#define XXF_ST  218	/* FSTATUS */
#define XXF_WR  219	/* FWRITE */
#define XXF_RW  220	/* FREWIND */
#define XXF_CO  221	/* FCOUNT */
#endif /* CKCHANNELIO */

#define XXEXEC  222	/* exec() */
#define XXTRACE 223	/* TRACE */
#define XXNOTAV 224	/* The "not available" command */
#define XXPTY   225     /* PTY (like PIPE) */
#define XXCHMOD 226     /* CHMOD */
#define XXPROMP 227	/* PROMPT */
#define XXFEACH 228	/* FOREACH */
#define XXGREP  229     /* GREP */
#define XXSEXP  230	/* S-Expression */
#define XXUNDCL 231	/* UNDECLARE */
#define XXVOID  232     /* VOID */
#define XXPUT   233	/* PUT */
#define XXUNDFX 234	/* _UNDEFINE */
#define XXHEAD  235     /* HEAD */
#define XXTAIL  236     /* TAIL */
#define XXDEBUG 237     /* DEBUG */
#define XXLEARN 238     /* LEARN */
#define XXPAT   239     /* PATTERNS (help only) */

#define XXCDUP  240     /* CDUP (Change working directory upwards) */
#define XXRCDUP 241     /* REMOTE CDUP */
#define XXCAT   242	/* CAT (= TYPE /NOPAGE) */
#define XXFIREW 243     /* FIREWALL (help only) */

#define XXLCWD  244	/* Local C(W)D */
#define XXLCDU  245	/* Local CDUP */
#define XXLPWD  246	/* Local PWD */
#define XXLDEL  247	/* Local DELETE */
#define XXLDIR  248	/* Local DIRECTORY */
#define XXLREN  249	/* Local RENAME */
#define XXLMKD  250	/* Local MKDIR */
#define XXLRMD  251	/* Local RMDIR */
#define XXUSER  252	/* (FTP) USER */
#define XXACCT  253	/* (FTP) ACCOUNT */
#define XXLINK  254     /* LINK source destination */
#define XXORIE  255	/* ORIENT(ATION) */
#define XXDIALER 256    /* DIALER */
#define XXKCD   257     /* KCD */
#define XXSITE  258     /* (FTP) SITE */
#define XXPASV  259     /* (FTP) PASSIVE */
#define XXCONT  260	/* CONTINUE */
#define XXNSCR  261	/* NOSCROLL */
#define XXSFTP  262	/* SFTP */
#define XXSKRM  263	/* SKERMIT */

/* End of Top-Level Commands */

#define SCN_CLR   0			/* SCREEN CLEAR */
#define SCN_CLE   1			/* SCREEN CLEOL */
#define SCN_MOV   2			/* SCREEN MOVE */

/* ARRAY operations */

#define ARR_DCL   0			/* Declare */
#define ARR_CPY   1			/* Copy */
#define ARR_RSZ   2			/* Resize */
#define ARR_SRT   3			/* Sort */
#define ARR_CLR   4			/* Clear */
#define ARR_SEA   5			/* Search */
#define ARR_DST   6			/* Destroy */
#define ARR_SHO   7			/* Show */
#define ARR_SET   8			/* Set */
#define ARR_EQU   9			/* Equate */

/* SORT options */

#define SRT_CAS   0			/* /CASE */
#define SRT_KEY   1			/* /KEY:n */
#define SRT_REV   2			/* /REVERSE */
#define SRT_RNG   3			/* /RANGE:n:m */
#define SRT_NUM   4			/* /NUMERIC */

/* PURGE command options */

#define PU_KEEP 0			/* /KEEP: */
#define PU_LIST 1			/* /LIST */
#define PU_PAGE 2			/* /PAGE */
#define PU_NOPA 3			/* /NOPAGE */
#define PU_NODE 4			/* /SIMULATE */
#define PU_DELE 5			/* /DELETE */
#define PU_NOLI 6			/* /NOLIST */
#define PU_QUIE 7			/* /QUIET (= NOLIST) */
#define PU_VERB 8			/* /VERBOSE (= LIST) */
#define PU_ASK  9			/* /ASK */
#define PU_NASK 10			/* /NOASK */
#define PU_LAR  11			/* /LARGER-THAN: */
#define PU_SMA  12			/* /SMALLER-THAN: */
#define PU_AFT  13			/* /AFTER: */
#define PU_NAF  14			/* /NOT-AFTER: */
#define PU_BEF  15			/* /BEFORE: */
#define PU_NBF  16			/* /NOT-BEFORE: */
#define PU_EXC  17			/* /EXCEPT: */
#define PU_RECU 18			/* /RECURSIVE */
#define PU_DOT  19			/* /DOTFILES */
#define PU_NODOT 20			/* /NODOTFILES */
#define PU_HDG  21			/* /HEADING */
#define PU_NOH  22			/* /NOHEADING */

/* DELETE command options */

#define DEL_NOL 0			/* /NOLIST */
#define DEL_LIS 1			/* /LIST */
#define DEL_HDG 2			/* /HEADINGS */
#define DEL_NOH 2			/* /NOHEADINGS */
#define DEL_BEF 3			/* /BEFORE: */
#define DEL_NBF 4			/* /NOT-BEFORE: */
#define DEL_AFT 5			/* /AFTER: */
#define DEL_NAF 6			/* /NOT-AFTER: */
#define DEL_DOT 7			/* /DOTFILES */
#define DEL_NOD 8			/* /NODOTFILES */
#define DEL_EXC 9			/* /EXCEPT:*/
#define DEL_PAG 10			/* /PAGE */
#define DEL_NOP 11			/* /NOPAGE */
#define DEL_REC 12			/* /RECURSIVE */
#define DEL_NOR 13			/* /NORECURSIVE */
#define DEL_VRB 14			/* /VERBOSE */
#define DEL_QUI 15			/* /QUIET */
#define DEL_SMA 16			/* /SMALLER-THAN: */
#define DEL_LAR 17			/* /LARGER-THAN: */
#define DEL_SIM 18			/* /SIMULATE */
#define DEL_ASK 19			/* /ASK */
#define DEL_NAS 20			/* /NOASK */
#define DEL_SUM 21			/* /SUMMARY */
#define DEL_DIR 22			/* /DIRECTORY */
#define DEL_ALL 23			/* /ALL */
#define DEL_TYP 24			/* /TYPE: */
#define DEL_LNK 25			/* /FOLLOWLINKS */
#define DEL_NLK 26			/* /NOFOLLOWLINKS */

/* FILE operations */

#define FIL_OPN  0			/* OPEN */
#define FIL_CLS  1			/* CLOSE */
#define FIL_REA  2			/* READ */
#define FIL_GET  3			/* GET */
#define FIL_WRI  4			/* WRITE */
#define FIL_REW  5			/* REWIND */
#define FIL_LIS  6			/* LIST */
#define FIL_FLU  7			/* FLUSH */
#define FIL_SEE  8			/* SEEK */
#define FIL_STA  9			/* STATUS */
#define FIL_COU 10			/* COUNT */

/* OPEN / CLOSE items */

#define OPN_FI_R 1			/* FILE READ */
#define OPN_FI_W 2			/* FILE WRITE */
#define OPN_FI_A 3			/* FILE APPEND */
#define OPN_PI_R 4			/* PIPE READ */
#define OPN_PI_W 5			/* PIPE WRITE */
#define OPN_PT_R 6			/* PTY READ */
#define OPN_PT_W 7			/* PTY WRITE */
#define OPN_SER	 8			/* PORT or LINE */
#define OPN_NET	 9			/* HOST */

/* KERBEROS command switches */

#define KRB_S_VE  0	/* /VERSION */
#define KRB_S_CA  1	/* /CACHE: */
#define KRB_S_MAX 1	/* Highest KERBEROS switch number */

#ifdef CK_KERBEROS

/* KERBEROS actions */

#define KRB_A_IN  0	/* INITIALIZE */
#define KRB_A_DE  1	/* DESTROY */
#define KRB_A_LC  2	/* LIST-CREDENTIALS */

/* KERBEROS INIT switches */

#define KRB_I_FW  0	/* /FORWARDABLE */
#define KRB_I_LF  1	/* /LIFETIME: */
#define KRB_I_PD  2	/* /POSTDATE: */
#define KRB_I_PR  3	/* /PROXIABLE */
#define KRB_I_RB  4	/* /RENEWABLE: */
#define KRB_I_RN  5	/* /RENEW */
#define KRB_I_SR  6	/* /SERVICE: */
#define KRB_I_VA  7	/* /VALIDATE */
#define KRB_I_RL  8     /* /REALM: */
#define KRB_I_IN  9     /* /INSTANCE: */
#define KRB_I_PW  10    /* /PASSWORD: */
#define KRB_I_PA  11    /* /PREAUTH */
#define KRB_I_VB  12    /* /VERBOSE */
#define KRB_I_BR  13    /* /BRIEF */
#define KRB_I_NFW 14	/* /NOT-FORWARDABLE */
#define KRB_I_NPR 15	/* /NOT-PROXIABLE */
#define KRB_I_NPA 16    /* /NOT-PREAUTH */
#define KRB_I_K4  17    /* /KERBEROS4    (should k5 get k4 as well) */
#define KRB_I_NK4 18    /* /NO-KERBEROS4 */
#define KRB_I_POP 19    /* /POPUP */
#define KRB_I_ADR 20    /* /ADDRESSES: */
#define KRB_I_NAD 21    /* /NO-ADDRESSES */
#define KRB_I_MAX 21    /* Highest KERBEROS INIT switch number */

#endif /* CK_KERBEROS */

/* SET parameters */

#define XYBREA  0	/* BREAK simulation */
#define XYCHKT  1	/* Block check type */
#define XYDEBU  2	/* Debugging */
#define XYDELA  3	/* Delay */
#define XYDUPL  4	/* Duplex */
#define XYEOL   5	/* End-Of-Line (packet terminator) */
#define XYESC   6	/* Escape character */
#define XYFILE  7	/* File Parameters (see ckcker.h for values) */
			/* (this space available) */
#define XYFLOW  9	/* Flow Control */
#define XYHAND 10	/* Handshake */
#define XYIFD  11	/* Incomplete File Disposition */
#define XYIMAG 12	/* "Image Mode" */
#define XYINPU 13	/* INPUT command parameters */
#define XYLEN  14	/* Maximum packet length to send */
#define XYLINE 15	/* Communication line to use */

/* SET LINE / SET HOST command switches */

#define SL_CNX   0	/* /CONNECT */
#define SL_SRV   1	/* /SERVER */
#define SL_SHR   2	/* /SHARE */
#define SL_NSH   3	/* /NOSHARE */
#define SL_BEE   4	/* /BEEP */
#define SL_ANS   5	/* /ANSWER */
#define SL_DIA   6	/* /DIAL:xxx */
#define SL_SPD   7	/* /SPEED:xxx */
#define SL_FLO   8	/* /FLOW:xxx */
#define SL_TMO   9	/* /TIMEOUT:xxx */
#define SL_CMD  10	/* /COMMAND */
#define SL_PSW  11	/* /PASSWORD:xxx */
#define SL_IKS  12      /* /KERMIT-SERVICE */
#define SL_NET  13      /* /NETWORK-TYPE:xxx */
#define SL_ENC  14      /* /ENCRYPT:type (telnet) /ENCRYPT (rlogin) */
#define SL_KRB4 15      /* /KERBEROS 4 (rlogin/telnet) */
#define SL_KRB5 16      /* /KERBEROS 5 (rlogin/telnet) */
#define SL_SRP  17      /* /SRP (telnet) */
#define SL_NTLM 18      /* /NTLM (telnet) */
#define SL_SSL  19      /* /SSL (telnet) */
#define SL_UID  20      /* /USERID:xxxx */
#define SL_AUTH 21      /* /AUTH:type */
#define SL_WAIT 22	/* /WAIT */
#define SL_NOWAIT 23	/* /NOWAIT */
#define SL_PTY  24      /* /PTY */

#define XYLOG  16	/* Log file */
#define XYMARK 17	/* Start of Packet mark */
#define XYNPAD 18	/* Amount of padding */
#define XYPADC 19	/* Pad character */
#define XYPARI 20	/* Parity */
#define XYPAUS 21	/* Interpacket pause */
#define XYPROM 22	/* Program prompt string */
#define XYQBIN 23	/* 8th-bit prefix */
#define XYQCTL 24	/* Control character prefix */
#define XYREPT 25	/* Repeat count prefix */
#define XYRETR 26	/* Retry limit */
#define XYSPEE 27	/* Line speed (baud rate) */
#define XYTACH 28	/* Character to be doubled */
#define XYTIMO 29	/* Timeout interval */
#define XYMODM 30	/* Modem - also see XYDIAL */

#define XYSEND 31	/* SET SEND parameters */
#define XYRECV 32   	/* SET RECEIVE parameters */
#define XYTERM 33	/* SET TERMINAL parameters */
#define   XYTBYT 0      /*  Terminal Bytesize (7 or 8) */
#define   XYTTYP 1      /*  Terminal emulation Type */
#define     TT_NONE  0	/*    NONE, no emulation */
#ifdef OS2
/*
  Note, the symbols for VT and VT-like terminals should be in ascending
  numerical order, so that higher ones can be treated as supersets of
  lower ones with respect to capabilities.

  This is no longer the case with the influx of new terminal types.
  Just make sure that the ISXXXXX() macros include the proper family
  groups.
*/
#define     TT_DG200    1 	/*    Data General 200 */
#define     TT_DG210    2  	/*    Data General 210 */
#define     TT_DG217    3   	/*    Data General 217 */
#define     TT_HP2621   4 	/*    Hewlett-Packard 2621A */
#define     TT_HPTERM   5	/*    Hewlett-Packard Console */
#define     TT_HZL1500  6 	/*    Hazeltine 1500 */
#define     TT_VC4404   7 	/*    Volker Craig VC4404/404 */
#define     TT_WY30     8	/*    WYSE-30/30+ */
#define     TT_WY50     9 	/*    WYSE-50/50+ */
#define     TT_WY60    10       /*    WYSE-60	 */
#define     TT_WY160   11       /*    WYSE-160   */
#define     TT_QNX     12       /*    QNX */
#define     TT_QANSI   13       /*    QNX Ansi emulation */
#define     TT_VT52    14	/*    DEC VT-52  */
#define     TT_H19     15	/*    Heath-19 */
#define     TT_IBM31   16       /*    IBM 31xx */
#define     TT_SCOANSI 17	/*    SCOANSI (Unix mode) */
#define     TT_AT386   18 	/*    Unixware AT386 (Unix mode) */
#define     TT_ANSI    19	/*    IBM ANSI.SYS (BBS) */
#define     TT_VIP7809 20	/*    Honeywell VIP7809 */
#define     TT_LINUX   21       /*    Linux Console */
#define     TT_HFT     22       /*    IBM High Function Terminal */
#define     TT_AIXTERM 23       /*    IBM AIXterm */
#define     TT_SUN     24       /*    SUN Console */
#define     TT_BA80    25       /*    Nixdorf BA80 */
#define     TT_BEOS    26       /*    BeOS Ansi */
#define     TT_VT100   27	/*    DEC VT-100 */
#define     TT_VT102   28	/*    DEC VT-102 */
#define     TT_VT220   29	/*    DEC VT-220 */
#define     TT_VT220PC 30       /*    DEC VT-220 with PC keyboard */
#define     TT_VT320   31	/*    DEC VT-320 */
#define     TT_VT320PC 32	/*    DEC VT-320 with PC keyboard */
#define     TT_WY370   33	/*    WYSE 370 ANSI Terminal */
#define     TT_97801   34       /*    Sinix 97801-5xx terminal */
#define     TT_AAA     35       /*    Ann Arbor Ambassador */
#define     TT_TVI910  36	/*    TVI 910+ */
#define     TT_TVI925  37       /*    TVI 925  */
#define     TT_TVI950  38       /*    TVI950   */
#define     TT_ADM3A   39       /*    LSI ADM 3A */
#define     TT_ADM5    40		/*    LSI ADM 5 */
#define     TT_VTNT    41       /*    Microsoft NT Virtual Terminal */
#define     TT_MAX   TT_VTNT
#define     TT_VT420   96	/*    DEC VT-420 */
#define     TT_VT520   97	/*    DEC VT-520/525 */
#define     TT_TEK40 99	/*    Tektronix 401x */
#define     TT_KBM_EMACS   TT_MAX+1
#define     TT_KBM_HEBREW  TT_MAX+2
#define     TT_KBM_RUSSIAN TT_MAX+3
#define     TT_KBM_WP      TT_MAX+4

#define ISAAA(x)   (x == TT_AAA)
#define ISANSI(x)  (x >= TT_SCOANSI && x <= TT_ANSI)
#define ISBA80(x)  (x == TT_BA80)
#define ISBEOS(x)  (x == TT_BEOS)
#define ISQNX(x)   (x == TT_QNX)
#define ISQANSI(x)   (x == TT_QANSI)
#define ISLINUX(x) (x == TT_LINUX)
#define ISSCO(x)   (x == TT_SCOANSI)
#define ISAT386(x) (x == TT_AT386)
#define ISAVATAR(x) (x == TT_ANSI)
#define ISSUN(x)    (x == TT_SUN)
#define ISUNIXCON(x) (x == TT_SCOANSI || x == TT_AT386 || \
                      x == TT_LINUX   || x == TT_SUN)
#define ISDG200(x) (x >= TT_DG200 && x <= TT_DG217)
#define ISHZL(x)   (x == TT_HZL1500)
#define ISH19(x)   (x == TT_H19)
#define ISIBM31(x) (x == TT_IBM31)
#define ISTVI(x)   (x >= TT_TVI910 && x <= TT_TVI950)
#define ISTVI910(x) (x == TT_TVI910)
#define ISTVI925(x) (x == TT_TVI925)
#define ISTVI950(x) (x == TT_TVI950)
#define ISVT52(x)  (x == TT_VT52 || x == TT_H19)
#ifdef COMMENT
#define ISVT520(x) (x == TT_VT520)
#define ISVT420(x) (x >= TT_VT420 && x <= TT_VT520)
#else /* COMMENT */
/* Since we do not yet support 420/520 extend 320 */
#define ISVT520(x) (ISVT320(x))
#define ISVT420(x) (ISVT320(x))
#endif /* COMMENT */
#define ISVT320(x) (x >= TT_VT320 && x <= TT_AAA)
#define ISVT220(x) (x >= TT_VT220 && x <= TT_AAA || \
                    ISBEOS(x) || ISQANSI(x) || \
                    ISLINUX(x) || ISSUN(x))
#define ISVT102(x) (x >= TT_VIP7809 && x <= TT_BA80 || \
		    x == TT_VT102 || ISVT220(x))
#define ISVT100(x) (x == TT_VT100 || ISVT102(x))
#define ISWY30(x)  (x == TT_WY30)
#define ISWYSE(x)  (x >= TT_WY30 && x <= TT_WY160)
#define ISWY50(x)  (x == TT_WY50)
#define ISWY60(x)  (x == TT_WY60 || x == TT_WY160)
#define ISWY160(x) (x == TT_WY160)
#define ISWY370(x) (x == TT_WY370)
#define ISVC(x)    (x == TT_VC4404)
#define ISHP(x)    (x == TT_HPTERM || x == TT_HP2621)
#define ISHPTERM(x) (x == TT_HPTERM)
#define ISVIP(x)   (x == TT_VIP7809)
#define IS97801(x) (x == TT_97801)
#define ISHFT(x)   (x == TT_HFT || x == TT_AIXTERM)
#define ISAIXTERM(x) (x == TT_AIXTERM)
#define ISTEK(x)   (x == TT_TEK40)
#define ISVTNT(x)  (x == TT_VTNT)
#define ISADM3A(x) (x == TT_ADM3A)
#define ISADM5(x)  (x == TT_ADM5)
#endif /* OS2 */

#define   XYTCS  2      /*  Terminal Character Set */
#define   XYTSO  3	/*  Terminal Shift-In/Shift-Out */
#define   XYTNL  4      /*  Terminal newline mode */
#ifdef OS2
#define   XYTCOL 5      /*  Terminal colors */
#endif /* OS2 */
#define   XYTEC  6	/*  Terminal echo = duplex = local-echo */
#ifdef OS2
#define   XYTCUR 7	/*  Terminal cursor */
#define     TTC_ULINE 0
#define     TTC_HALF  1
#define     TTC_BLOCK 2
#define   XYTARR 8	/*  Terminal arrow-key mode */
#define   XYTKPD 9      /*  Terminal keypad mode */
#define    TTK_NORM 0   /*    Normal mode for arrow / keyad keys */
#define    TTK_APPL 1   /*    Application mode for arrow / keyad keys */
#define   XYTWRP 10     /*  Terminal wrap */
#endif /* OS2 */
#define   XYTCRD 11	/*  Terminal CR-display */
#define   XYTANS 12	/*  Terminal answerback */
#ifdef OS2
#define   XYSCRS 13     /*  Terminal scrollback buffer size */
#endif /* OS2 */
#define   XYTAPC 14	/*  Terminal APC */
#ifdef OS2
#define   XYTBEL 15     /*  Terminal Bell */
#endif /* OS2 */
#define   XYTDEB 16	/*  Terminal Debug */
#ifdef OS2
#define   XYTROL 17     /*  Terminal Rollback */
#define     TTR_OVER   0  /*  Rollback Overwrite */
#define     TTR_INSERT 1  /*  Rollback Insert */
#define     TTR_KEYS   2  /*  Keystrokes */
#define       TTRK_IGN 0  /*    Ignore */
#define       TTRK_RST 2  /*    Restore and Send */
#define       TTRK_SND 1  /*    Send */
#define   XYTCTS 18     /*  Terminal Transmit-Timeout */
#define   XYTCPG 19     /*  Terminal Code Page */
#ifdef COMMENT
#define   XYTHCU 20     /*  Terminal Hide-Cursor */
#endif /* COMMENT */
#define   XYTPAC 21	    /*  Terminal Output-Pacing */
#define   XYTMOU 22	    /*  Terminal Mouse */
#endif /* OS2 */
#define   XYTHIG 23     /*  Terminal Width */
#define   XYTWID 24     /*  Terminal Height */
#ifdef OS2
#define   XYTUPD 25     /*  Terminal Screen-update */
#define    TTU_FAST 0   /*     FAST but jerky */
#define    TTU_SMOOTH 1 /*     SMOOTH but slow */
#define   XYTFON 26     /*  Terminal Full screen Font */
#define    TTF_ROM    0 /*     ROM font */
#define    TTF_CY1    1 /*     CYRILL1 font */
#define    TTF_CY2    2 /*     CYRILL2 font */
#define    TTF_CY3    3 /*     CYRILL3 font */
#define    TTF_111  111 /*     CP111 font */
#define    TTF_112  112 /*     CP112 font */
#define    TTF_113  113 /*     CP113 font */
#define    TTF_437  437 /*     CP437 font */
#define    TTF_850  850 /*     CP850 font */
#define    TTF_851  851 /*     CP851 font */
#define    TTF_852  852 /*     CP852 font */
#define    TTF_853  853 /*     CP853 font */
#define    TTF_860  860 /*     CP860 font */
#define    TTF_861  861 /*     CP861 font */
#define    TTF_862  862 /*     CP862 font */
#define    TTF_863  863 /*     CP863 font */
#define    TTF_864  864 /*     CP864 font */
#define    TTF_865  865 /*     CP865 font */
#define    TTF_866  866 /*     CP866 font */
#define    TTF_880  880 /*     CP880 font */
#define    TTF_881  881 /*     CP881 font */
#define    TTF_882  882 /*     CP882 font */
#define    TTF_883  883 /*     CP883 font */
#define    TTF_884  884 /*     CP884 font */
#define    TTF_885  885 /*     CP885 font */
#define   XYTVCH 27     /* SET TERMINAL VIDEO-CHANGE */
#define    TVC_DIS   0  /*     DISABLED */
#define    TVC_ENA   1  /*     ENABLED  */
#define    TVC_W95   2  /*     WIN95-SAFE */
#endif /* OS2 */
#define   XYTAUTODL 28  /* SET TERMINAL AUTODOWNLOAD */
#define    TAD_OFF     0 /*    OFF */
#define    TAD_ON      1 /*    ON  */
#define    TAD_K       2 /*    KERMIT */
#define    TAD_Z       3 /*    ZMODEM */
#define    TAD_X_STR     0 /*    STRING */
#define    TAD_X_DETECT  1 /*    DETECTION ( PACKET, STRING ) */
#define    TAD_X_C0      2 /*    C0 CONFLICTS */
#define    TAD_ERR     4 /*    ERROR { STOP, CONTINUE } */
#define    TAD_ASK     5 /*    ASK (dialog) */
#define   XYTAUTOUL 29  /* SET TERMINAL AUTOUPLOAD   */
#ifdef OS2
#define   XYTATTBUG 30  /* SET TERM ATTR-BUG */
#define   XYTSTAT   31  /* SET TERM STATUSLINE */
#endif /* OS2 */
#define   XYTESC    32  /* SET TERM ESCAPE-CHARACTER */
#define   XYTCTRL   33  /* SET TERM CONTROLS */
#ifdef OS2
#define   XYTATTR   34  /* SET TERM ATTRIBUTE representation */
#define   XYTSGRC   35  /* SET TERM SGRCOLORS */
#endif /* OS2 */
#define   XYTLCS    36  /* SET TERM LOCAL-CHARACTER-SET */
#define   XYTRCS    37  /* SET TERM REMOTE-CHARACTER-SET */
#define   XYTUNI    38  /* SET TERM UNICODE */
#define   XYTKEY    39  /* SET TERM KEY */
#ifdef OS2
#define   XYTSEND   40  /* SET TERM SEND-DATA */
#define   XYTSEOB   41  /* SET TERM SEND-END-OF-BLOCK */
#define   XYTMBEL   42  /* SET TERM MARGIN-BELL */
#endif /* OS2 */
#define   XYTIDLE   43  /* SET TERM IDLE-SEND */
#ifdef OS2
#define   XYTKBMOD  44  /* SET TERM KEYBOARD-MODE */
#define   XYTUNX    45  /* SET TERM UNIX-MODE (DG) */
#define   XYTASCRL  46  /* SET TERM AUTOSCROLL */
#define   XYTAPAGE  47  /* SET TERM AUTOPAGE */
#endif /* OS2 */
#define   XYTRIGGER 48  /* SET TERM TRIGGER */
#ifdef OS2
#define   XYTPCTERM 49  /* SET TERM PCTERM */
#define   XYTOPTI   50  /* SET TERM SCREEN-OPTIMIZE */
#define   XYTSCNM   51  /* SET TERM SCREEN-MODE (DECSCNM) */
#endif /* OS2 */
#define   XYTPRN    52  /* SET TERM PRINT {AUTO, COPY, OFF} */
#ifdef OS2
#define   XYTSAC    53  /* SET TERM SPACING-ATTRIBUTE-CHARACTER (inv) */
#define   XYTSNIPM  54  /* SET TERM SNI-AUTOROLL */
#define   XYTSNISM  55  /* SET TERM SNI-SCROLLMODE */
#define   XYTKBDGL  56  /* SET TERM KBD-FOLLOWS-GL/GR */
#define   XYTVTLNG  57  /* SET TERM VT-LANGUAGE */
#define     VTL_NORTH_AM  1
#define     VTL_BRITISH   2
#define     VTL_BELGIAN   3
#define     VTL_FR_CAN    4
#define     VTL_DANISH    5
#define     VTL_FINNISH   6
#define     VTL_GERMAN    7
#define     VTL_DUTCH     8
#define     VTL_ITALIAN   9
#define     VTL_SW_FR    10
#define     VTL_SW_GR    11
#define     VTL_SWEDISH  12
#define     VTL_NORWEGIA 13
#define     VTL_FRENCH   14
#define     VTL_SPANISH  15
#define     VTL_PORTUGES 16
#define     VTL_HEBREW   19
#define     VTL_GREEK    22
#define     VTL_CANADIAN 28
#define     VTL_TURK_Q   29
#define     VTL_TURK_F   30
#define     VTL_HUNGARIA 31
#define     VTL_SLOVAK   33
#define     VTL_CZECH    34
#define     VTL_POLISH   35
#define     VTL_ROMANIAN 36
#define     VTL_SCS      38
#define     VTL_RUSSIAN  39
#define     VTL_LATIN_AM 40
#define   XYTVTNRC  58  /* SET TERM VT-NRC-MODE */
#define   XYTSNICC  59  /* SET TERM SNI-CH.CODE */
#define   XYTSNIFV  60  /* SET TERM SNI-FIRMWARE-VERSIONS */
#define   XYTURLHI  61  /* SET TERM URL-HIGHLIGHT */
#endif /* OS2 */
#define   XYTITMO   62  /* SET TERM IDLE-TIMEOUT */
#define   XYTIACT   63  /* SET TERM IDLE-ACTION  */
#define   XYTLSP    64  /* SET TERM LINE-SPACING */

#define XYATTR 34       /* Attribute packets  */
#define XYSERV 35	/* Server parameters  */
#define   XYSERT 0      /*  Server timeout    */
#define   XYSERD 1	/*  Server display    */
#define   XYSERI 2      /*  Server idle       */
#define   XYSERP 3	/*  Server get-path   */
#define   XYSERL 4	/*  Server login      */
#define   XYSERC 5	/*  Server CD-Message */
#define   XYSERK 6	/*  Server keepalive  */
#define XYWIND 36       /* Window size */
#define XYXFER 37       /* Transfer */
#define   XYX_CAN 0	/*   Cancellation  */
#define   XYX_CSE 1	/*   Character-Set */
#define   XYX_LSH 2	/*   Locking-Shift */
#define   XYX_PRO 3	/*   Protocol      */
#define   XYX_MOD 4	/*   Mode          */
#define   XYX_DIS 5	/*   Display       */
#define   XYX_SLO 6	/*   Slow-start    */
#define   XYX_CRC 7	/*   CRC calculation */
#define   XYX_BEL 8	/*   Bell */
#define   XYX_PIP 9	/*   Pipes */
#define   XYX_INT 10    /*   Interruption */
#define   XYX_XLA 11    /*   (character-set) Translation On/Off */
#define   XYX_MSG 12	/*   Message */
#define   XYX_RPT 13	/*   Report */
#define XYLANG 38       /* Language */
#define XYCOUN 39       /* Count */
#define XYTAKE 40       /* Take */
#define XYUNCS 41       /* Unknown-character-set */
#define XYKEY  42       /* Key */
#define XYMACR 43       /* Macro */
#define XYHOST 44       /* Hostname on network */
#define XYNET  45       /* SET NETWORK things */

#define XYNET_D 99	/* NETWORK DIRECTORY */
#define XYNET_T 100	/* NETWORK TYPE */

#define XYCARR 46	/* Carrier */
#define XYXMIT 47       /* Transmit */

#define XYDIAL 48       /* Dial options */

/* And now we interrupt the flow to bring you lots of stuff about dialing */

#ifndef MAXTOLLFREE	/* Maximum number of toll-free area codes */
#define MAXTOLLFREE 8
#endif /* MAXTOLLFREE */

#ifndef MAXTPCC		/* Maximum Tone or Pulse dialing countries */
#define MAXTPCC 160
#endif /* MAXTPCC */

#ifndef MAXPBXEXCH	/* Maximum number of PBX exchanges */
#define MAXPBXEXCH 8
#endif /* MAXPBXEXCH */

#ifndef MAXLOCALAC
#define MAXLOCALAC 32
#endif /* MAXLOCALAC */

#ifndef MAXDNUMS
#ifdef BIGBUFOK
#define MAXDDIR 32	/* Maximum number of dialing directories */
#define MAXDNUMS 4095	/* Max numbers to fetch from dialing directories */
#else
#define MAXDDIR 12
#define MAXDNUMS 1024
#endif /* BIGBUFOK */
#endif /* MAXDNUMS */
/*
  IMPORTANT: In 5A(192), the old SET DIAL command was split into two commands:
  SET MODEM (for modem-related parameters) and SET DIAL (for dialing items).
  To preserve the old formats, etc, invisibly we keep one symbol space for
  both commands.
*/
#define  XYDHUP  0	/*   Dial Hangup */
#define  XYDINI  1      /*   MODEM (dial) Initialization string */
#define  XYDKSP  2      /*   MODEM (dial) Kermit-Spoof */
#define  XYDTMO  3      /*   Dial Timeout */
#define  XYDDPY  4      /*   Dial Display */
#define  XYDSPD  5      /*   Dial Speed matching */
#define  XYDMNP  6	/*   MODEM (dial) MNP negotiation enabled (obsolete) */
#define  XYDEC   7	/*   MODEM (dial) error correction enabled */
#define  XYDDC   8      /*   MODEM (dial) compression enabled */
#define  XYDHCM  9      /*   MODEM (dial) hangup-string (moved elsewhere) */
#define  XYDDIR 10	/*   Dial directory */
#define  XYDDIA 11	/*   MODEM (dial) dial-command */
#define  XYDMHU 12	/*   MODEM HANGUP (dial modem-hangup) */

#ifndef DEFMDHUP	/* Default MODEM HANGUP-METHOD */
#define DEFMDMHUP 1	/* 0 = RS232, 1 = modem command */
#endif /* DEFMDMHUP */

#define  XYDNPR 13      /*   Dial PREFIX */
#define  XYDSTR 14	/*   MODEM COMMAND (dial string) ... */

#define   XYDS_DC 0	/*    Data compression */
#define   XYDS_EC 1	/*    Error correction */
#define   XYDS_HU 2     /*    Hangup command */
#define   XYDS_HW 3     /*    Hardware flow control */
#define   XYDS_IN 4     /*    Init-string */
#define   XYDS_NF 5     /*    No flow control */
#define   XYDS_PX 6     /*    Prefix (no, this goes in SET DIAL) */
#define   XYDS_SW 7     /*    Software flow control */
#define   XYDS_DT 8     /*    Tone dialing command */
#define   XYDS_DP 9     /*    Pulse dialing command */
#define   XYDS_AN 10    /*    Autoanswer */
#define   XYDS_RS 11    /*    Reset */
#define   XYDS_MS 12    /*    Dial mode string */
#define   XYDS_MP 13    /*    Dial mode prompt */
#define   XYDS_SP 14	/*    Modem speaker */
#define   XYDS_VO 15	/*    Modem speaker volume */
#define   XYDS_ID 16	/*    Ignore dialtone */
#define   XYDS_I2 17	/*    Init string #2 */

#define   XYDM_A  9     /*    Method: Auto */
#define   XYDM_D  0     /*      Default */
#define   XYDM_T  2     /*      Tone */
#define   XYDM_P  3     /*      Pulse */

#define  XYDFC   15	/*   MODEM (dial) flow-control */
#define  XYDMTH  16	/*   Dial method */
#define  XYDESC  17     /*   MODEM (dial) escape-character */
#define  XYDMAX  18	/*   MODEM (dial) maximum interface speed */
#define  XYDCAP  19     /*   MODEM (dial) capabilities */
#define  XYDTYP  20	/*   MODEM TYPE */
#define  XYDINT  21	/*   DIAL retries */
#define  XYDRTM  22	/*   DIAL time between retries */
#define  XYDNAM  23	/*   MODEM NAME */
#define  XYDLAC  24	/*   DIAL (LOCAL-)AREA-CODE */
#define  XYDMCD  25	/*   MODEM CARRIER */

#define  XYDCNF  26	/*   DIAL CONFIRMATION */
#define  XYDCVT  27	/*   DIAL CONVERT-DIRECTORY */
#define  XYDIXP  28	/*   DIAL INTERNATIONAL-PREFIX */
#define  XYDIXS  29	/*   DIAL INTERNATIONAL-SUFFIX */
#define  XYDLCC  30	/*   DIAL LOCAL-COUNTRY-CODE */
#define  XYDLDP  31	/*   DIAL LONG-DISTANCE-PREFIX */
#define  XYDLDS  32	/*   DIAL LONG-DISTANCE-SUFFIX */
#define  XYDPXX  33	/*   DIAL PBX-EXCHANGE */
#define  XYDPXI  34	/*   DIAL PBX-INTERNAL-PREFIX */
#define  XYDPXO  35	/*   DIAL PBX-OUTSIDE-PREFIX */
#define  XYDSFX  36	/*   DIAL SUFFIX */
#define  XYDSRT  37	/*   DIAL SORT */
#define  XYDTFC  38	/*   DIAL TOLL-FREE-AREA-CODE */
#define  XYDTFP  39	/*   DIAL TOLL-FREE-PREFIX */
#define  XYDTFS  40	/*   DIAL TOLL-FREE-SUFFIX */
#define  XYDCON  41     /*   DIAL CONNECT */
#define  XYDRSTR 42     /*   DIAL RESTRICT */
#define  XYDRSET 43     /*   MODEM RESET */
#define  XYDLCP  44	/*   DIAL LOCAL-PREFIX */
#define  XYDLCS  45	/*   DIAL LOCAL-SUFFIX */
#define  XYDLLAC 46     /*   DIAL LC-AREA-CODES */
#define  XYDFLD  47	/*   DIAL FORCE LONG-DISTANCE */
#define  XYDSPK  48	/*   MODEM SPEAKER */
#define  XYDVOL  49	/*   MODEM VOLUME */
#define  XYDIDT  50	/*   IGNORE DIALTONE */
#define  XYDPAC  51	/*   PACING */
#define  XYDMAC  52     /*   MACRO */
#define  XYDPUCC 53	/*   PULSE-COUNTRIES */
#define  XYDTOCC 54	/*   TONE-COUNTRIES */
#define  XYDTEST 55	/*   TEST */

#define XYA_CID   1	/* SET ANSWER CALLER-ID */
#define XYA_RNG   2	/* SET ANSWER RINGS */

#define XYSESS 49       /* SET SESSION options */
#define XYBUF  50       /* Buffer length */
#define XYBACK 51	/* Background */
#define XYDFLT 52       /* Default */
#define XYDBL  53	/* Double */
#define XYCMD  54       /* COMMAND */
#define XYCASE 55       /* Case */
#define XYCOMP 56       /* Compression */
#define XYX25  57       /* X.25 parameter (ANYX25) */
#define XYPAD  58       /* X.3 PAD parameter (ANYX25) */
#define XYWILD 59       /* Wildcard expansion method */
#define XYSUSP 60       /* Suspend */
#define XYMAIL 61	/* Mail-Command */
#define XYPRIN 62	/* Print-Command */
#define XYQUIE 63	/* Quiet */
#define XYLCLE 64	/* Local-echo */
#define XYSCRI 65	/* SCRIPT command paramaters */
#define XYMSGS 66       /* MESSAGEs ON/OFF */
#ifdef TNCODE
#define XYTEL  67	/* SET TELNET parameters */
#define  CK_TN_EC 0	/*  TELNET ECHO */
#define  CK_TN_TT 1	/*  TELNET TERMINAL-TYPE */
#define  CK_TN_NL 2     /*  TELNET NEWLINE-MODE */
#define  CK_TN_BM 3     /*  TELNET BINARY-MODE */
#define  CK_TN_BUG 4    /*  TELNET BUG */
#define  CK_TN_ENV 5    /*  TELNET ENVIRONMENT */
#define    TN_ENV_USR  0 /*    VAR USER */
#define    TN_ENV_JOB  1 /*    VAR JOB */
#define    TN_ENV_ACCT 2 /*    VAR ACCT */
#define    TN_ENV_PRNT 3 /*    VAR PRINTER */
#define    TN_ENV_SYS  4 /*    VAR SYSTEMTYPE */
#define    TN_ENV_DISP 5 /*    VAR DISPLAY */
#define    TN_ENV_UVAR 6 /*    USERVAR */
#define    TN_ENV_LOC  7 /*    USERVAR LOCATION */
#define    TN_ENV_ON  98 /*    ON (enabled) */
#define    TN_ENV_OFF 99 /*    OFF (disabled) */
#define  CK_TN_LOC 6    /*  TELNET LOCATION */
#define  CK_TN_AU  7    /*  TELNET AUTHENTICATION */
#define    TN_AU_FWD   4 /*    AUTH FORWARD */
#define    TN_AU_TYP   5 /*    AUTH TYPE */
#define      AUTH_NONE 0 /*      AUTH NONE */
#define      AUTH_KRB4 1 /*      AUTH Kerberos IV */
#define      AUTH_KRB5 2 /*      AUTH Kerberos V */
#define      AUTH_SSL  7 /*      AUTH Secure Sockets Layer */
#define      AUTH_TLS 98 /*      AUTH Transport Layer Security */
#define      AUTH_SRP  5 /*      AUTH Secure Remote Password */
#define      AUTH_NTLM 15 /*      AUTH NT Lan Manager */
#define      AUTH_AUTO 99 /*     AUTH AUTOMATIC */
#define    TN_AU_HOW  8  /*    AUTH HOW FLAG */
#define    TN_AU_ENC  9  /*    AUTH ENCRYPT FLAG */
#define  CK_TN_ENC 8    /*  TELNET ENCRYPTION */
#define    TN_EN_TYP   4 /*      ENCRYPT TYPE */
#define    TN_EN_START 5 /*      ENCRYPT START */
#define    TN_EN_STOP  6 /*      ENCRYPT STOP  */
#define  CK_TN_IKS 9    /*  TELNET KERMIT-SERVER */
#define  CK_TN_RE  10   /*  TELNET REMOTE-ECHO */
#define  CK_TN_TLS 11   /*  TELNET START_TLS */
#define  CK_TN_XD  12   /*  TELNET XDISPLOC */
#define  CK_TN_NAWS 13  /*  TELNET NAWS */
#define  CK_TN_WAIT 14  /*  TELNET WAIT-FOR-NEGOTIATIONS */
#define  CK_TN_SGA  15  /*  TELNET SGA */
#define  CK_TN_CLIENT 16  /* TELNET CLIENT */
#define  CK_TN_SERVER 17  /* TELNET SERVER */
#define  CK_TN_PHR    18  /* TELNET PRAGMA-HEARTBEAT */
#define  CK_TN_PLG    19  /* TELNET PRAGMA-LOGON */
#define  CK_TN_PSP    20  /* TELNET PRAGMA-SSPI */
#define  CK_TN_SAK    21  /* TELNET IBM SAK */
#define  CK_TN_FLW    22  /* TELNET LFLOW */
#define  CK_TN_XF     23  /* TELNET TRANSFER-MODE */
#define  CK_TN_PUID   24  /* TELNET PROMPT-FOR-USERID */
#define  CK_TN_NE     25  /* TELNET NO-ENCRYPT-DURING-XFER */
#define  CK_TN_CPC    26  /* TELNET COM-PORT-CONTROL */
#define  CK_TN_DB     27  /* TELNET DEBUG */
#define  CK_TN_FX     28  /* TELNET FORWARD_X */
#define  CK_TN_DL     29  /* TELNET DELAY-SB */
#define  CK_TN_SFU    30  /* TELNET SFU-COMPATIBILITY */
#define  CK_TN_LOG    31  /* TELNET LOGOUT */
#endif /* TNCODE */
#define XYOUTP 68	/* OUTPUT command parameters */
#define   OUT_PAC 0	/*   OUTPUT PACING */
#define   OUT_ESC 1	/*   OUTPUT SPECIAL-ESCAPES */
#define XYEXIT  69	/* SET EXIT */
#define XYPRTR  70	/* SET PRINTER */
#define XYFPATH 71	/* PATHNAME */

#ifdef OS2
#define XYMOUSE 72	/* MOUSE SUPPORT */
#define  XYM_ON     0   /* Mouse ON/OFF        */
#define  XYM_BUTTON 1   /* Define Mouse Events */
#define  XYM_CLEAR  2   /* Clear Mouse Events  */
#define  XYM_DEBUG  3   /* Debug Mode ON/OFF */
/* These must match similar definitions in ckokey.h */
#define   XYM_B1 0      /* Mouse Button One */
#define   XYM_B2 1      /* Mouse Button Two */
#define   XYM_B3 2      /* Mouse Button Three */
#define   XYM_ALT   1     /* Alt */
#define   XYM_CTRL  2     /* Ctrl */
#define   XYM_SHIFT 4     /* Shift */
#define   XYM_C1    0     /* Single Click */
#define   XYM_C2    8     /* Double Click */
#define   XYM_DRAG  16    /* Drag Event */
#endif /* OS2 */

#define XYBELL 73   /* BELL */

#ifdef OS2
#define XYPRTY     74   /* Thread Priority Level */
#define   XYP_IDLE  1
#define   XYP_REG   2
#define   XYP_SRV   4
#define   XYP_RTP   3
#endif /* OS2 */

#define XYALRM     75	/* SET ALARM */
#define XYPROTO    76	/* SET PROTOCOL */
#define XYPREFIX   77   /* SET PREFIXING */
#define XYLOGIN    78   /* Login info for script programs... */

#define  LOGI_UID   0	/* User ID  */
#define  LOGI_PSW   1	/* Password */
#define  LOGI_PRM   2	/* Prompt   */

#define XYSTARTUP  79    /* Startup file */
#define XYTMPDIR   80    /* Temporary directory */

#ifdef OS2
#define XYTAPI     81    /* Microsoft Telephone API options */
#define   XYTAPI_CFG     1  /* TAPI Configure-Line Dialog */
#define   XYTAPI_DIAL    2  /* TAPI Dialing-Properties Dialog */
#define   XYTAPI_LIN     3  /* TAPI Line */
#define   XYTAPI_LOC     4  /* TAPI Location */
#define   XYTAPI_PASS    5  /* TAPI Passthrough */
#define   XYTAPI_CON     6  /* TAPI Conversions */
#define   XYTAPI_LGHT    7  /* TAPI Modem Lights */
#define   XYTAPI_PRE     8  /* TAPI Pre-dialing Terminal */
#define   XYTAPI_PST     9  /* TAPI Post-dialing Terminal */
#define   XYTAPI_INA    10  /* TAPI Inactivity Timeout */
#define   XYTAPI_BNG    11  /* TAPI Wait for Credit Card Tone */
#define   XYTAPI_MAN    12  /* TAPI Manual Dialing */
#define   XYTAPI_USE    13  /* TAPI Use Line Config settings */
#endif /* OS2 */

#ifdef TCPSOCKET
#define XYTCP  82       /* TCP options */
#define  XYTCP_NODELAY   1  /* No Delay */
#define  XYTCP_SENDBUF   2  /* Send Buffer Size */
#define  XYTCP_LINGER    3  /* Linger */
#define  XYTCP_RECVBUF   4  /* Receive Buffer Size */
#define  XYTCP_KEEPALIVE 5  /* Keep Alive packets */
#define  XYTCP_UCX       6  /* UCX 2.0 port swabbing bug */
#define  XYTCP_NAGLE     7  /* Delay - inverse of 1 */
#define  XYTCP_RDNS      8  /* Reverse DNS lookup */
#define  XYTCP_ADDRESS   9  /* Set preferred IP Address */
#define  XYTCP_DNS_SRV  10  /* Use DNS Service Records */
#define  XYTCP_DONTROUTE 11 /* Dont Route */
#define  XYTCP_SOCKS_SVR 12 /* Name of Socks Server */
#define  XYTCP_HTTP_PROXY 13 /* Name/Port of HTTP Proxy Server */
#define  XYTCP_SOCKS_NS  14 /* Name of Socks Name Server */
#endif /* TCPSOCKET */

#ifdef OS2
#define XYMSK  83       /* MS-DOS Kermit compatibility options */
#define  MSK_COLOR 0    /*  Terminal color handling   */
#define  MSK_KEYS  1    /*  SET KEY uses MSK keycodes */
#endif /* OS2 */

#define XYDEST  84	/* SET DESTINATION as in MS-DOS Kermit */

#ifdef OS2
#define XYWIN95 85	/* SET WIN95 work arounds  */
#define   XYWKEY 0	/*    Keyboard translation */
#define   XYWAGR 1      /*    Alt-Gr               */
#define   XYWOIO 2      /*    Overlapped I/O       */
#define   XYWLUC 3	/*    Lucida Console substitutions */
#define   XYWSELECT 4   /*    Select on Write Bug */
#define   XYW8_3 5      /*    Use 8.3 filenames? */
#define   XYWPOPUP 6    /*    Use Popups?  */
#define   XYWHSL 7      /*    Horz Scan Line substitutions */
#define XYDLR   86 	/* SET K95 DIALER work arounds */
#define XYTITLE 87	/* SET TITLE of window */
#endif /* OS2 */

#define XYIGN   88	/* SET IGNORE-CHARACTER */
#define XYEDIT  89      /* SET EDITOR */
#define XYFLTR  90      /* SET { SEND, RECEIVE } FILTER */
#define XYBROWSE 91     /* SET BROWSER */
#define XYEOF    92     /* EOF (= FILE EOF) */
#ifdef OS2
#define XYBDCP   93     /* BPRINTER */
#endif /* OS2 */
#define XYFLAG   94	/* FLAG */
#define XYLIMIT  95     /* SESSION-LIMIT */
#define XYINIL   96     /* Protocol negotiation string max length */
#define XYRELY   97     /* RELIABLE */
#define XYSTREAM 98     /* STREAMING */
#define XYTLOG   99     /* TRANSACTION-LOG */
#define XYCLEAR 100     /* CLEARCHANNEL */
#define XYAUTH  101	/* AUTHENTICATION */

#ifdef TNCODE
#define XYKRBPR   0	/* Kerberos Principal */
#define XYKRBRL   1	/* Kerberos Realm */
#define XYKRBCC   2	/* Kerberos 5 Credentials-Cache */
#define XYKRBSRV  3     /* Kerberos Service Name */
#define XYKRBDBG  4     /* Kerberos Debugging */
#define XYKRBLIF  5     /* Kerberos Lifetime */
#define XYKRBPRE  6     /* Kerberos 4 Preauth */
#define XYKRBINS  7     /* Kerberos 4 Instance */
#define XYKRBFWD  8     /* Kerberos 5 Forwardable */
#define XYKRBPRX  9     /* Kerberos 5 Proxiable */
#define XYKRBRNW  10    /* Kerberos 5 Renewable lifetime */
#define XYKRBGET  11    /* Kerberos Auto-Get-TGTs */
#define XYKRBDEL  12    /* Kerberos Auto-Destroy-TGTs */
#define   KRB_DEL_NO  0 /*   Kerberos No Auto Destroy */
#define   KRB_DEL_CL  1 /*   Kerberos Auto Destory on Close */
#define   KRB_DEL_EX  2 /*   Kerberos Auto Destroy on Exit  */
#define XYKRBK5K4 13    /* Kerberos 5 Get K4 Tickets */
#define XYKRBPRM  14    /* Kerberos 4/5 Prompt */
#define XYKRBADR  15    /* Kerberos 4/5 CheckAddrs */
#define XYKRBNAD  16    /* Kerberos 5 No Addresses */
#define XYKRBADD  17    /* Kerberos 5 Address List */
#define XYKRBKTB  18    /* Kerberos 4/5 Key Table */
#define XYSRPPRM   0    /* SRP Prompt */
#define XYSSLRCFL  0    /* SSL/TLS RSA Certs file */
#define XYSSLCOK   1    /* SSL/TLS Certs-Ok flag */
#define XYSSLCRQ   2    /* SSL/TLS Certs-Required flag */
#define XYSSLCL    3    /* SSL/TLS Cipher List */
#define XYSSLDBG   4    /* SSL/TLS Debug flag */
#define XYSSLRKFL  5    /* SSL/TLS RSA Key File */
#define XYSSLLFL   6    /* SSL/TLS Log File */
#define XYSSLON    7    /* SSL/TLS Only flag */
#define XYSSLSEC   8    /* SSL/TLS Secure flag */
#define XYSSLVRB   9    /* SSL/TLS Verbose flag */
#define XYSSLVRF  10    /* SSL/TLS Verify flag */
#define XYSSLDUM  11    /* SSL/TLS Dummy flag */
#define XYSSLDCFL 12    /* SSL/TLS DSA Certs file */
#define XYSSLDKFL 13    /* SSL/TLS DH Certs file */
#define XYSSLDPFL 14    /* SSL/TLS DH Param file */
#define XYSSLCRL  15    /* SSL/TLS CRL file */
#define XYSSLCRLD 16    /* SSL/TLS CRL dir */
#define XYSSLVRFF 17    /* SSL/TLS Verify file */
#define XYSSLVRFD 18    /* SSL/TLS Verify dir */
#define XYSSLRND  19    /* SSL/TLS Random file */
#define XYSSLDCCF 20    /* SSL/TLS DSA Certs Chain File */
#define XYSSLRCCF 21    /* SSL/TLS RSA Certs Chain File */

/* The following must be powers of 2 for a bit mask */

#define  XYKLCEN  1	/* Kerberos List Credentials: Encryption */
#define  XYKLCFL  2	/* Kerberos List Credentials: Flags */
#define  XYKLCAD  4     /* Kerberos List Credentials: Addresses */
#endif /* TNCODE */

#define XYFUNC   102	/* SET FUNCTION */

#define  FUNC_DI   0	/* FUNCTION DIAGNOSTICS */
#define  FUNC_ER   1    /* FUNCTION ERROR */

#define XYFTP    103	/* FTP application */
#define XYSLEEP  104	/* SLEEP / PAUSE options */
#define XYSSH    105	/* SSH options */
#define XYTELOP  106    /* TELNET OPTIONS (TELOPT) */
#define XYCD     107    /* SET CD */
#define XYCSET   108	/* CHARACTER-SET */
#define XYSTOP   109    /* STOP-BITS */
#define XYSERIAL 110	/* SERIAL */
#define XYDISC   111    /* CLOSE-ON-DISCONNECT */
#define XYOPTS   112    /* OPTIONS */
#define XYQ8FLG  113    /* Q8FLAG (invisible) */
#define XYTIMER  114    /* TIMER */
#define XYFACKB  115    /* F-ACK-BUG */
#define XYBUP    116    /* SET SEND/RECEIVE BACKUP */
#define XYMOVE   117	/* SET SEND/RECEIVE MOVE-TO */
#define XYRENAME 118	/* SET SEND/RECEIVE RENAME-TO */
#define XYHINTS  119    /* SET HINTS */
#define XYEVAL   120    /* SET EVALUATE */
#define XYFACKP  121    /* F-ACK-PATH */
#define XYSYSL   122    /* SysLog */
#define XYQNXPL  123	/* QNX Port Lock */
#define XYIKS    124    /* SET IKS ... */
#define XYROOT   125    /* SET ROOT */
#define XYFTPX   126    /* SET FTP */
#define XYSEXP   127	/* SET SEXP */
#define XYGPR    128    /* SET GET-PUT-REMOTE */
#define XYLOCUS  129	/* SET LOCUS */
#define XYGUI    130	/* SET GUI */
#define XYANSWER 131    /* SET ANSWER */
#define XYMATCH  132    /* SET MATCHDOT */
#define XYSFTP   133    /* SET SFTP */

/* End of SET commands */

/* S-Expressions -- floating-point support required */

#ifndef CKFLOAT
#ifndef NOSEXP
#define NOSEXP
#endif /* NOSEXP */
#endif /* CKFLOAT */

/* Maximum number of elements in an S-Expression */

#ifndef NOSEXP
#ifndef SEXPMAX
#ifdef BIGBUFOK
#define SEXPMAX 1024
#else
#define SEXPMAX 32
#endif /* BIGBUFOK */
#endif /* SEXPMAX */
#endif /* NOSEXP */

#ifdef ANYX25
/* PAD command parameters */

#define XYPADL 0        /* clear virtual call */
#define XYPADS 1        /* status of virtual call */
#define XYPADR 2        /* reset of virtual call */
#define XYPADI 3        /* send an interrupt packet */

/* Used with XYX25... */
#define XYUDAT 0       /* X.25 call user data */
#define XYCLOS 1       /* X.25 closed user group call */
#define XYREVC 2       /* X.25 reverse charge call */
#endif /* ANYX25 */

#ifdef OS2
/* SET PRINTER switches */

#define PRN_OUT 0			/* Output only */
#define PRN_BID 1			/* Bidirectional */
#define PRN_DOS 2			/* DOS device */
#define PRN_WIN 3			/* Windows queue */
#define PRN_TMO 4			/* Timeout */
#define PRN_TRM 5			/* Terminator */
#define PRN_SEP 6			/* Separator */
#define PRN_SPD 7			/* COM-port speed */
#define PRN_FLO 8			/* COM-port flow control */
#define PRN_PAR 9			/* COM-port parity */
#define PRN_NON 10			/* No printer */
#define PRN_FIL 11			/* Filename */
#define PRN_PIP 12			/* Pipename */
#define PRN_PS  13                      /* Text to PS */
#define PRN_WID 14                      /* PS Width */
#define PRN_LEN 15                      /* PS Length */
#define PRN_RAW 16                      /* Non-PS */
#define PRN_CS  17                      /* Character Set */
#define PRN_MAX 17			/* Number of switches defined */

/* Printer types */

#define PRT_DOS 0			/* DOS */
#define PRT_WIN 1			/* Windows Queue */
#define PRT_FIL 2			/* File */
#define PRT_PIP 3			/* Pipe */
#define PRT_NON 4			/* None */

#define PRINTSWI
#endif /* OS2 */
#endif /* NOICP */

#ifndef NODIAL
/*
  Symbols for modem types, moved here from ckudia.c, May 1997, because now
  they are also used in some other modules.  The numbers MUST correspond to
  the ordering of entries within the modemp[] array.
*/
#ifdef MINIDIAL				/* Minimum dialer support */

#define         n_DIRECT         0	/* Direct connection -- no modem */
#define		n_CCITT		 1	/* CCITT/ITU-T V.25bis */
#define		n_HAYES		 2	/* Hayes 2400 */
#define		n_UNKNOWN	 3	/* Unknown */
#define         n_UDEF           4	/* User-Defined */
#define         n_GENERIC        5	/* Generic High Speed */
#define         n_ITUTV250       6	/* ITU-T V.250 */
#define		MAX_MDM		 6	/* Number of modem types */

#else					/* Full-blown dialer support */

#define         n_DIRECT         0	/* Direct connection -- no modem */
#define		n_ATTDTDM	 1
#define         n_ATTISN         2
#define		n_ATTMODEM	 3
#define		n_CCITT		 4
#define		n_CERMETEK	 5
#define		n_DF03		 6
#define		n_DF100		 7
#define		n_DF200		 8
#define		n_GDC		 9
#define		n_HAYES		10
#define		n_PENRIL	11
#define		n_RACAL		12
#define		n_UNKNOWN       13
#define		n_VENTEL	14
#define		n_CONCORD	15
#define		n_ATTUPC	16	/* aka UNIX PC and ATT7300 */
#define		n_ROLM          17      /* Rolm CBX DCM */
#define		n_MICROCOM	18	/* Microcoms in SX command mode */
#define         n_USR           19	/* Modern USRs */
#define         n_TELEBIT       20      /* Telebits of all kinds */
#define         n_DIGITEL       21	/* Digitel DT-22 (CCITT variant) */
#define         n_H_1200        22	/* Hayes 1200 */
#define		n_H_ULTRA       23	/* Hayes Ultra and maybe Optima */
#define		n_H_ACCURA      24	/* Hayes Accura and maybe Optima */
#define         n_PPI           25	/* Practical Peripherals */
#define         n_DATAPORT      26	/* AT&T Dataport */
#define         n_BOCA          27	/* Boca */
#define		n_MOTOROLA      28	/* Motorola Fastalk or Lifestyle */
#define		n_DIGICOMM	29	/* Digicomm Connection */
#define		n_DYNALINK      30	/* Dynalink 1414VE */
#define		n_INTEL		31	/* Intel 14400 Faxmodem */
#define		n_UCOM_AT	32	/* Microcoms in AT mode */
#define		n_MULTI		33	/* Multitech MT1432 */
#define		n_SUPRA		34	/* SupraFAXmodem */
#define	        n_ZOLTRIX	35	/* Zoltrix */
#define		n_ZOOM		36	/* Zoom */
#define		n_ZYXEL		37	/* ZyXEL */
#define         n_TAPI          38	/* TAPI Line modem - whatever it is */
#define         n_TBNEW         39	/* Newer Telebit models */
#define		n_MAXTECH       40	/* MaxTech XM288EA */
#define         n_UDEF          41	/* User-Defined */
#define         n_RWV32         42	/* Generic Rockwell V.32 */
#define         n_RWV32B        43	/* Generic Rockwell V.32bis */
#define         n_RWV34         44	/* Generic Rockwell V.34 */
#define		n_MWAVE		45	/* IBM Mwave Adapter */
#define         n_TELEPATH      46	/* Gateway Telepath */
#define         n_MICROLINK     47	/* MicroLink modems */
#define         n_CARDINAL      48	/* Cardinal modems */
#define         n_GENERIC       49      /* Generic high-speed */
#define         n_XJACK         50	/* Megahertz X-Jack */
#define         n_SPIRITII      51	/* Quickcomm Spirit II */
#define         n_MONTANA       52	/* Motorola Montana */
#define         n_COMPAQ        53	/* Compaq Data+Fax Modem */
#define         n_FUJITSU       54	/* Fujitsu Fax/Modem Adpater */
#define         n_MHZATT        55	/* Megahertz AT&T V.34 */
#define         n_SUPRASON      56	/* SupraSonic */
#define         n_BESTDATA      57	/* Best Data */
#define         n_ATT1900       58      /* AT&T STU III Model 1900 */
#define         n_ATT1910       59      /* AT&T STU III Model 1910 */
#define         n_KEEPINTOUCH   60	/* AT&T KeepinTouch */
#define         n_USRX2         61	/* USR XJ-1560 X2 56K */
#define         n_ROLMAT        62	/* Rolm with AT command set */
#define		n_ATLAS         63      /* Atlas / Newcom ixfC 33.6 */
#define         n_CODEX         64	/* Motorola Codex 326X Series */
#define         n_MT5634ZPX     65	/* Multitech MT5634ZPX */
#define         n_ULINKV250     66	/* Microlink ITU-T V.250 56K */
#define         n_ITUTV250      67	/* Generic ITU-T V.250 */
#define         n_RWV90         68	/* Generic Rockwell V.90 */
#define         n_SUPRAX        69      /* Diamond Supra Express V.90 */
#define         n_LUCENT        70      /* Lucent Venus chipset */
#define         n_PCTEL         71      /* PCTel chipset */
#define         n_CONEXANT      72      /* Conexant modem family */
#define		n_ZOOMV34	73	/* Zoom */
#define		n_ZOOMV90	74	/* Zoom */
#define         n_ZOOMV92       75      /* ZOOM V.92 */
#define         n_MOTSM56       76	/* Motorola SM56 chipset */
#define		MAX_MDM		76	/* Number of modem types */

#endif /* MINIDIAL */
#endif /* NODIAL */

#ifndef NOICP
/* SHOW command symbols */

#define SHPAR 0				/* Parameters */
#define SHVER 1				/* Versions */
#define SHCOM 2				/* Communications */
#define SHPRO 3				/* Protocol */
#define SHFIL 4				/* File */
#define SHLNG 5				/* Language */
#define SHCOU 6				/* Count */
#define SHMAC 7				/* Macros */
#define SHKEY 8				/* Key */
#define SHSCR 9				/* Scripts */
#define SHSPD 10			/* Speed */
#define SHSTA 11			/* Status */
#define SHSER 12			/* Server */
#define SHXMI 13			/* Transmit */
#define SHATT 14			/* Attributes */
#define SHMOD 15			/* Modem */
#define SHDFLT 16			/* Default (as in VMS) */
#define SHVAR 17			/* Show global variables */
#define SHARG 18			/* Show macro arguments */
#define SHARR 19			/* Show arrays */
#define SHBUI 20			/* Show builtin variables */
#define SHFUN 21			/* Show functions */
#define SHPAD 22			/* Show (X.25) PAD */
#define SHTER 23			/* Show terminal settings */
#define SHESC 24			/* Show escape character */
#define SHDIA 25			/* Show DIAL parameters */
#define SHNET 26			/* Show network parameters */
#define SHLBL 27			/* Show VMS labeled file parameters */
#define SHSTK 28			/* Show stack, MAC debugging */
#define SHCSE 29			/* Show character sets */
#define SHFEA 30			/* Show features */
#define SHCTL 31			/* Show control-prefix table */
#define SHEXI 32			/* Show EXIT items */
#define SHPRT 33			/* Show printer */
#define SHCMD 34			/* Show command parameters */
#define SHKVB 35			/* Show \Kverbs */
#define SHMOU 36			/* Show Mouse (like Show Key) */
#define SHTAB 37			/* Show Tabs (OS/2) */
#define SHVSCRN 38			/* Show Virtual Screen (OS/2) */
#define SHALRM  39			/* ALARM */
#define SHSFL   40			/* SEND-LIST */
#define SHUDK   41                      /* DEC VT UDKs (OS/2) */
#define SHDBL   42			/* DOUBLE/IGNORE characters */
#define SHEDIT    43			/* EDITOR */
#define SHBROWSE  44			/* BROWSER */
#define SHTAPI    45			/* TAPI */
#define SHTAPI_L  46			/* TAPI Location */
#define SHTAPI_M  47			/* TAPI Modem Properties */
#define SHTAPI_C  48			/* TAPI Comm Properties  */
#define SHTEL     49			/* SHOW TELNET */
#define SHINP     50			/* SHOW INPUT */
#define SHTRIG    51			/* SHOW TRIGGER */
#define SHLOG     52			/* SHOW LOGS */
#define SHOUTP    53			/* SHOW OUTPUT */
#define SHOPAT    54			/* SHOW PATTERNS */
#define SHOSTR    55			/* SHOW STREAMING */
#define SHOAUTH   56			/* SHOW AUTHENTICATION */
#define SHOFTP    57			/* SHOW FTP */
#define SHTOPT    58                    /* SHOW TELOPT */
#define SHXOPT    59			/* SHOW EXTENDED-OPTIONS */
#define SHCD      60			/* SHOW CD */
#define SHASSOC   61			/* SHOW ASSOCIATIONS */
#define SHCONNX   62			/* SHOW CONNECTION */
#define SHOPTS    63			/* SHOW OPTIONS */
#define SHOFLO    64			/* SHOW FLOW-CONTROL */
#define SHOXFER   65			/* SHOW TRANSFER */
#define SHTCP     66                    /* SHOW TCP */
#define SHHISTORY 67			/* SHOW (command) HISTORY */
#define SHSEXP    68			/* SHOW SEXPRESSIONS */
#define SHOSSH    69			/* SHOW SSH */
#define SHOIKS    70                    /* SHOW IKS */
#define SHOGUI    71			/* SHOW RGB */

/* REMOTE command symbols */

#define XZCPY  0	/* Copy */
#define XZCWD  1	/* Change Working Directory */
#define XZDEL  2	/* Delete */
#define XZDIR  3	/* Directory */
#define XZHLP  4	/* Help */
#define XZHOS  5	/* Host */
#define XZKER  6	/* Kermit */
#define XZLGI  7	/* Login */
#define XZLGO  8	/* Logout */
#define XZMAI  9	/* Mail <-- wrong, this should be top-level */
#define XZMOU 10	/* Mount */
#define XZMSG 11	/* Message */
#define XZPRI 12	/* Print */
#define XZREN 13	/* Rename */
#define XZSET 14	/* Set */
#define XZSPA 15	/* Space */
#define XZSUB 16	/* Submit */
#define XZTYP 17	/* Type */
#define XZWHO 18	/* Who */
#define XZPWD 19	/* Print Working Directory */
#define XZQUE 20	/* Query */
#define XZASG 21	/* Assign */
#define XZMKD 22	/* mkdir */
#define XZRMD 23	/* rmdir */
#define XZXIT 24	/* Exit */
#define XZCDU 25        /* CDUP */

/* SET INPUT command parameters */

#define IN_DEF  0			/* Default timeout */
#define IN_TIM  1			/* Timeout action */
#define IN_CAS  2			/* Case (matching) */
#define IN_ECH  3			/* Echo */
#define IN_SIL  4			/* Silence */
#define IN_BUF  5			/* Buffer size */
#define IN_PAC  6                       /* Input Pacing (debug) */
#define IN_TRM  7			/* Input Terminal Display */
#define IN_ADL  8			/* Input autodownload */
#define IN_PAT  9			/* Pattern to match */
#define IN_ASG 10 			/* Assign matching text to variable */
#define IN_CAN 11			/* Keyboard cancellation of INPUT */
#define IN_SCA 12			/* Timeout scaling */

/* ENABLE/DISABLE command parameters */

#define EN_ALL  0			/* ALL */
#define EN_CWD  1			/* CD/CWD */
#define EN_DIR  2			/* DIRECTORY */
#define EN_FIN  3			/* FINISH */
#define EN_GET  4			/* GET */
#define EN_HOS  5			/* HOST command */
#define EN_KER  6			/* KERMIT command */
#define EN_LOG  7			/* LOGIN */
#define EN_SEN  8			/* SEND */
#define EN_SET  9			/* SET */
#define EN_SPA 10			/* SPACE */
#define EN_TYP 11			/* TYPE */
#define EN_WHO 12			/* WHO, finger */
#define EN_DEL 13			/* Delete */
#define EN_BYE 14			/* BYE (as opposed to FINISH) */
#define EN_QUE 15			/* QUERY */
#define EN_ASG 16			/* ASSIGN */
#define EN_CPY 17			/* COPY */
#define EN_REN 18			/* RENAME */
#define EN_RET 19			/* RETRIEVE */
#define EN_MAI 20			/* MAIL */
#define EN_PRI 21			/* PRINT */
#define EN_MKD 22			/* MKDIR */
#define EN_RMD 23			/* RMDIR */
#define EN_XIT 24			/* EXIT */
#define EN_ENA 25			/* ENABLE */
#endif /* NOICP */

#ifndef NOICP
/* CLEAR command symbols */
#define CLR_DEV    1			/* Clear Device Buffers */
#define CLR_INP    2			/* Clear Input Buffers */
#define CLR_BTH    CLR_DEV|CLR_INP	/* Clear Device and Input */
#define CLR_SCL    4			/* Clear Scrollback buffer */
#define CLR_CMD    8			/* Clear Command Screen */
#define CLR_TRM   16			/* Clear Terminal Screen */
#define CLR_DIA   32			/* Clear Dial Status */
#define CLR_SFL   64			/* Clear Send-File-List */
#define CLR_APC  128			/* Clear APC */
#define CLR_ALR  256			/* Clear Alarm */
#define CLR_TXT  512			/* Clear text-patterns */
#define CLR_BIN 1024			/* Clear binary-patterns */
#define CLR_SCR 2048			/* Clear screen */
#define CLR_KBD 4096			/* Clear keyboard buffer */
#endif /* NOICP */

/* Symbols for logs */

#define LOGD 0				/* Debugging */
#define LOGP 1				/* Packets */
#define LOGS 2				/* Session */
#define LOGT 3				/* Transaction */
#define LOGX 4				/* Screen */
#define LOGR 5				/* The "open read" file */
#define LOGW 6				/* The "open write/append" file */
#define LOGE 7				/* Error (e.g. stderr) */
#define LOGM 8				/* The dialing log */

#ifndef NOSPL
/* Symbols for builtin variables */

#define VN_ARGC 0			/* ARGC */
#define VN_COUN 1			/* COUNT */
#define VN_DATE 2			/* DATE */
#define VN_DIRE 3			/* DIRECTORY */
#define VN_ERRO 4			/* ERRORLEVEL */
#define VN_TIME 5			/* TIME */
#define VN_VERS 6			/* VERSION */
#define VN_IBUF 7			/* INPUT buffer */
#define VN_SUCC 8			/* SUCCESS flag */
#define VN_LINE 9			/* LINE */
#define VN_ARGS 10			/* Program command-line arg count */
#define VN_SYST 11			/* System type */
#define VN_SYSV 12			/* System version */
#define VN_RET  13			/* RETURN value */
#define VN_FILE 14			/* Most recent filespec */
#define VN_NDAT 15			/* Numeric date yyyy/mm/dd */
#define VN_HOME 16			/* Home directory */
#define VN_SPEE 17			/* Transmission speed */
#define VN_HOST 18			/* Host name */
#define VN_TTYF 19			/* TTY file descriptor (UNIX only) */
#define VN_PROG 20			/* Program name */
#define VN_NTIM 21			/* NTIME */
#define VN_FFC  22			/* Characters in last file xferred */
#define VN_TFC  23			/* Chars in last file group xferred */
#define VN_CPU  24			/* CPU type */
#define VN_CMDL 25			/* Command level */
#define VN_DAY  26                      /* Day of week, string */
#define VN_NDAY 27                      /* Day of week, numeric */
#define VN_LCL  28			/* Local (vs) remote mode */
#define VN_CMDS 29			/* Command source */
#define VN_CMDF 30			/* Command file name */
#define VN_MAC  31			/* Macro name */
#define VN_EXIT 32			/* Exit status */
#define VN_ICHR 33			/* INPUT character */
#define VN_ICNT 34			/* INPUT count */
#define VN_PRTY 35			/* Current parity */
#define VN_DIAL 36			/* DIAL status */
#define VN_KEYB 37			/* Keyboard type */
#define VN_CPS  38			/* Chars per second, last transfer */
#define VN_RPL  39			/* Receive packet length */
#define VN_SPL  40			/* Send packet length */
#define VN_MODE 41			/* Transfer mode (text, binary) */
#define VN_REXX 42			/* Rexx return value */
#define VN_NEWL 43			/* Newline character or sequence */
#define VN_COLS 44			/* Columns on console screen */
#define VN_ROWS 45			/* Rows on console screen */
#define VN_TTYP 46			/* Terminal type */
#define VN_MINP 47			/* MINPUT result */
#define VN_CONN 48			/* Connection type */
#define VN_SYSI 49			/* System ID */
#define VN_TZ   50			/* Timezone */
#define VN_SPA  51			/* Space */
#define VN_QUE  52			/* Query */
#define VN_STAR 53			/* Startup directory */
#define VN_CSET 54			/* Local character set */
#define VN_MDM  55			/* Modem type */
#define VN_EVAL 56			/* Most recent EVALUATE result */

#define VN_D_CC 57			/* DIAL COUNTRY-CODE */
#define VN_D_AC 58			/* DIAL AREA-CODE */
#define VN_D_IP 59			/* DIAL INTERNATIONAL-PREFIX */
#define VN_D_LP 60			/* DIAL LD-PREFIX */

#define VN_UID  61
#define VN_PWD  62
#define VN_PRM  63

#define VN_PROTO 64			/* Protocol */
#define VN_DLDIR 65			/* Download directory */

#define VN_M_AAA 66			/* First MODEM one */
#define VN_M_INI 66			/* Modem init string */
#define VN_M_DCM 67			/* Modem dial command */
#define VN_M_DCO 68			/* Modem data compression on */
#define VN_M_DCX 69			/* Modem data compression off */
#define VN_M_ECO 70			/* Modem error correction on */
#define VN_M_ECX 71			/* Modem error correction off */
#define VN_M_AAO 72			/* Modem autoanswer on */
#define VN_M_AAX 73			/* Modem autoanswer off */
#define VN_M_HUP 74			/* Modem hangup command */
#define VN_M_HWF 75			/* Modem hardware flow command */
#define VN_M_SWF 76			/* Modem software flow command */
#define VN_M_NFC 77			/* Modem no flow-control command */
#define VN_M_PDM 78			/* Modem pulse dialing mode */
#define VN_M_TDM 79			/* Modem tone dialing mode */
#define VN_M_ZZZ 79			/* Last MODEM one */

#define VN_SELCT 80			/* Selected Text from Mark Mode */
#define VN_TEMP  81			/* Temporary directory */
#define VN_ISTAT 82			/* INPUT command status */
#define VN_INI   83			/* INI (kermrc) directory */
#define VN_EXEDIR 84			/* EXE directory */
#define VN_ERRNO  85			/* Value of errno */
#define VN_ERSTR  86			/* Corresponding error message */
#define VN_TFLN   87			/* TAKE file line number */
#define VN_XVNUM  88			/* Product-specific version number */
#define VN_RPSIZ  89			/* Receive packet length */
#define VN_WINDO  90			/* Window size */
#define VN_MDMSG  91			/* Modem message */
#define VN_DNUM   92			/* Dial number */
#define VN_APC    93			/* APC active */
#define VN_IPADDR 94			/* My IP address */
#define VN_CRC16  95			/* CRC-16 of most recent file group */
#define VN_TRMK   96                    /* Macro executed from Terminal Mode */
#define VN_PID    97			/* Process ID */
#define VN_FNAM   98			/* Name of file being transferred */
#define VN_FNUM   99			/* Number of file being transferred */
#define VN_PEXIT  100			/* Process exit status */
#define VN_P_CTL  101 			/* Control Prefix */
#define VN_P_8BIT 102			/* 8-bit prefix */
#define VN_P_RPT  103			/* Repeat count prefix */
#define VN_D_LCP  104			/* DIAL LOCAL-PREFIX */
#define VN_URL    105			/* Last URL selected */
#define VN_REGN   106			/* Registration Name */
#define VN_REGO   107			/* Registration Organization */
#define VN_REGS   108			/* Registration Serial number */
#define VN_XPROG  109			/* xprogram (like xversion) */
#define VN_EDITOR 110			/* Editor */
#define VN_EDOPT  111			/* Editor options */
#define VN_EDFILE 112			/* Editor file */
#define VN_BROWSR 113			/* Browser */
#define VN_BROPT  114			/* Browser options */
#define VN_HERALD 115			/* Program herald */
#define VN_TEST   116			/* Program test level or "0" */
#define VN_XFSTAT 117			/* File-Transfer status */
#define VN_XFMSG  119			/* File-Transfer message */
#define VN_SNDL   120			/* Send-list status */
#define VN_TRIG   121			/* Trigger value */
#define VN_MOU_X  122                   /* OS/2 Mouse Cursor X */
#define VN_MOU_Y  123                   /* OS/2 Mouse Cursor Y */
#define VN_PRINT  124			/* Printer */
#define VN_ESC    125			/* Escape character */
#define VN_INTIME 126			/* INPUT elapsed time */
#define VN_K4RLM  127			/* Kerberos 4 Realm */
#define VN_K5RLM  128			/* Kerberos 5 Realm */
#define VN_K4PRN  129			/* Kerberos 4 Principal */
#define VN_K5PRN  130			/* Kerberos 5 Principal */
#define VN_K4CC   131			/* Kerberos 4 Credentials Cache */
#define VN_K5CC   132			/* Kerberos 5 Credentials Cache */
#define VN_OSNAM  133			/* OS name */
#define VN_OSVER  134			/* OS version */
#define VN_OSREL  135			/* OS release */
#define VN_NAME   136			/* Name I was called by */
#define VN_MODL   137			/* CPU model */
#define VN_X25LA  138			/* X.25 local address */
#define VN_X25RA  139			/* X.25 remote address */
#define VN_K4SRV  140                   /* Kerberos 4 Service Name */
#define VN_K5SRV  141                   /* Kerberos 5 Service Name */
#define VN_PDSFX  142			/* PDIAL suffix */
#define VN_DTYPE  143			/* DIAL type */
#define VN_LCKPID 144			/* Lockfile PID (UNIX) */
#define VN_BLK    145			/* Block check */
#define VN_TFTIM  146			/* File transfer elapsed time */
#define VN_D_PXX  147 			/* DIAL PBX-EXCHANGE */
#define VN_HWPAR  148 			/* Hardware Parity */
#define VN_SERIAL 149 			/* SET SERIAL value */
#define VN_LCKDIR 150			/* Lockfile directory (UNIX) */

#define VN_K4ENO  151                   /* Kerberos 4 Last Errno */
#define VN_K4EMSG 152                   /* Kerberos 4 Last Err Msg */
#define VN_K5ENO  153                   /* Kerberos 5 Last Errno */
#define VN_K5EMSG 154                   /* Kerberos 5 Last Err Msg */

#define VN_INTMO  155			/* Input timeout */
#define VN_AUTHS  156                   /* Authentication State */

#define VN_DM_LP  157			/* Dial Modifier: Long Pause */
#define VN_DM_SP  158			/* Dial Modifier: Short Pause */
#define VN_DM_PD  159			/* Dial Modifier: Pulse Dial */
#define VN_DM_TD  160			/* Dial Modifier: Tone Dial */
#define VN_DM_WA  161			/* Dial Modifier: Wait for Answer */
#define VN_DM_WD  162			/* Dial Modifier: Wait for Dialtone */
#define VN_DM_RC  163			/* Dial Modifier: Return to Command */

/* (more below...) */

#define VN_TY_LN  164			/* TYPE command line number */
#define VN_TY_LC  165			/* TYPE command line count */
#define VN_TY_LM  166			/* TYPE command match count */

#define VN_MACLVL 167			/* \v(maclevel) */

#define VN_XF_BC  168			/* Transfer blockcheck errors */
#define VN_XF_TM  169			/* Transfer timeouts */
#define VN_XF_RX  170			/* Transfer retransmissions */

#define VN_M_NAM  171			/* Modem full name  */
#define VN_MS_CD  172			/* Modem signal CD  */
#define VN_MS_CTS 173			/* Modem signal CTS */
#define VN_MS_DSR 174			/* Modem signal DSR */
#define VN_MS_DTR 175			/* Modem signal DTR */
#define VN_MS_RI  176			/* Modem signal RI  */
#define VN_MS_RTS 177			/* Modem signal RTS */

#define VN_MATCH  178			/* Most recent pattern match */
#define VN_SLMSG  179			/* SET LINE (error) message */
#define VN_TXTDIR 180			/* Kermit text-file directory */
#define VN_MA_PI  181			/* Math constant Pi */
#define VN_MA_E   182			/* Math constant e */
#define VN_MA_PR  183			/* Math precision (digits) */
#define VN_CMDBL  184			/* Command buffer length */

#define VN_AUTHT  185                   /* Authentication Type */

#ifdef CKCHANNELIO
#define VN_FERR   186			/* FILE error */
#define VN_FMAX   187			/* FILE max */
#define VN_FCOU   188			/* Result of last FILE COUNT */
#endif /* CKCHANNELIO */

#define VN_DRTR   189			/* DIAL retry counter */
#define VN_CXTIME 190			/* Elapsed time in session */
#define VN_BYTE   191			/* Byte order */
#define VN_AUTHN  192                   /* Authentication Name */
#define VN_KBCHAR 193			/* kbchar */
#define VN_TTYNAM 194			/* Name of controlling terminal */

#define VN_X509_S 195                   /* X.509 Certificate Subject */
#define VN_X509_I 196                   /* X.509 Certificate Issuer  */

#define VN_PROMPT 197			/* C-Kermit's prompt */
#define VN_BUILD  198			/* Build ID string */

#define VN_SEXP   199			/* Last S-Expression */
#define VN_VSEXP  200			/* Value of last S-Expression */
#define VN_LSEXP  201			/* SEXP depth */

#define VN_FTIME  202			/* Time as floating-poing number */

#define VN_FTP_C  203                   /* FTP Reply Code */
#define VN_FTP_M  204                   /* FTP Reply Message */
#define VN_FTP_S  205			/* FTP Server type */
#define VN_FTP_H  206			/* FTP Host */
#define VN_FTP_X  207			/* FTP Connected */
#define VN_FTP_L  208			/* FTP Logged in */
#define VN_FTP_G  209			/* FTP GET-PUT-REMOTE setting */

#define VN_SECURE 210                   /* Encrypted connection 0 or 1 */

#define VN_DM_HF  211			/* Dial Modifier: Hook Flash */
#define VN_DM_WB  212			/* Dial Modifier: Wait for Bong */
#define VN_CX_STA 213			/* CX_STATUS */

#define VN_FTP_B  214                   /* FTP CPL */
#define VN_FTP_D  215                   /* FTP DPL */
#define VN_FTP_Z  216                   /* FTP SECURITY */
#define VN_HTTP_C 217                   /* HTTP Code */
#define VN_HTTP_N 218                   /* HTTP Connected */
#define VN_HTTP_H 219                   /* HTTP Host */
#define VN_HTTP_M 220                   /* HTTP Message */
#define VN_HTTP_S 221                   /* HTTP Security */

#define VN_NOW    222			/* Timestamp yyyymmdd hh:mm:ss */
#define VN_HOUR   223			/* Current hour of the day 0-23 */

#define VN_CI_DA  224			/* Caller ID date */
#define VN_CI_TI  225			/* Caller ID time */
#define VN_CI_NA  226			/* Caller ID name */
#define VN_CI_NU  227			/* Caller ID number */
#define VN_CI_ME  228			/* Caller ID message */
#define VN_PERSONAL 229                 /* Personal Directory on Windows */
#define VN_APPDATA  230                 /* User AppData directory */
#define VN_COMMON   231                 /* Common AppData directory */
#define VN_DESKTOP  232                 /* User Desktop directory */
#define VN_TNC_SIG  233                 /* RFC 2717 Signature */

#ifdef KUI
#define VN_GUI_XP   234                 /* GUI Window X position */
#define VN_GUI_YP   235                 /* GUI Window Y position */
#define VN_GUI_XR   236                 /* GUI Window X resolution */
#define VN_GUI_YR   237                 /* GUI Window Y resolution */
#define VN_GUI_RUN  238                 /* GUI Window Run mode */
#define VN_GUI_FNM  239                 /* GUI Window Font Name */
#define VN_GUI_FSZ  240                 /* GUI Window Font Size */
#endif /* KUI */

#define VN_LOG_PKT  241                 /* Packet Log Filename */
#define VN_LOG_TRA  242                 /* Transaction Log Filename */
#define VN_LOG_SES  243                 /* Session Log Filename */
#define VN_LOG_DEB  244                 /* Debug Log Filename */
#define VN_LOG_CON  245                 /* Connection Log Filename */

#define VN_ISCALE   246			/* INPUT scale factor */
#endif /* NOSPL */

/* INPUT status values */

#define INP_OK  0			/* Succeeded */
#define INP_TO  1			/* Timed out */
#define INP_UI  2			/* User interrupted */
#define INP_IE  3			/* Internal error */
#define INP_IO  4			/* I/O error or connection lost */
#define INP_IKS 5                       /* Kermit Server Active */

#ifndef NOSPL
/* Symbols for builtin functions */

#define FNARGS 6			/* Maximum number of function args */

#define FN_IND      0			/* Index (of string 1 in string 2) */
#define FN_LEN      1			/* Length (of string) */
#define FN_LIT      2			/* Literal (don't expand the string) */
#define FN_LOW      3			/* Lower (convert to lowercase) */
#define FN_MAX      4			/* Max (maximum) */
#define FN_MIN      5			/* Min (minimum) */
#define FN_MOD      6			/* Mod (modulus) */
#define FN_EVA      7			/* Eval (evaluate arith expression) */
#define FN_SUB      8			/* Substr (substring) */
#define FN_UPP      9			/* Upper (convert to uppercase) */
#define FN_REV      10			/* Reverse (a string) */
#define FN_REP      11			/* Repeat (a string) */
#define FN_EXE      12			/* Execute (a macro) */
#define FN_VAL      13			/* Return value (of a macro) */
#define FN_LPA      14			/* LPAD (left pad) */
#define FN_RPA      15			/* RPAD (right pad) */
#define FN_DEF      16			/* Definition of a macro, unexpanded */
#define FN_CON      17			/* Contents of a variable, ditto */
#define FN_FIL      18			/* File list */
#define FN_FC       19			/* File count */
#define FN_CHR      20			/* Character (like BASIC CHR$()) */
#define FN_RIG      21			/* Right (like BASIC RIGHT$()) */
#define FN_COD      22			/* Code value of character */
#define FN_RPL      23			/* Replace */
#define FN_FD       24			/* File date */
#define FN_FS       25			/* File size */
#define FN_RIX      26			/* Rindex (index from right) */
#define FN_VER      27			/* Verify */
#define FN_IPA      28			/* Find and return IP address */
#define FN_CRY      39			/* ... */
#define FN_OOX      40			/* ... */
#define FN_HEX      41			/* Hexify */
#define FN_UNH      42			/* Unhexify */
#define FN_BRK      43			/* Break */
#define FN_SPN      44			/* Span */
#define FN_TRM      45			/* Trim */
#define FN_LTR      46			/* Left-Trim */
#define FN_CAP      47			/* Capitalize */
#define FN_TOD      48			/* Time-of-day-to-secs-since-midnite */
#define FN_SEC      49			/* Secs-since-midnite-to-time-of-day */
#define FN_FFN      50			/* Full file name */
#define FN_CHK      51			/* Checksum of text */
#define FN_CRC      52			/* CRC-16 of text */
#define FN_BSN      53			/* Basename of file */
#define FN_CMD      54			/* Output of a command (cooked) */
#define FN_RAW      55			/* Output of a command (raw) */
#define FN_STX      56			/* Strip from right */
#define FN_STL      57			/* Strip from left */
#define FN_STN      58			/* Strip n chars */
#define FN_SCRN_CX  59			/* Screen Cursor X Pos */
#define FN_SCRN_CY  60			/* Screen Cursor Y Pos */
#define FN_SCRN_STR 61			/* Screen String */
#define FN_2HEX     62			/* Number (not string) to hex */
#define FN_2OCT     63			/* Number (not string) to octal */
#define FN_RFIL     64			/* Recursive file list */
#define FN_DIR      65			/* Directory list */
#define FN_RDIR     66			/* Recursive directory list */
#define FN_DNAM     67			/* Directory part of filename */
#define FN_RAND     68			/* Random number */
#define FN_WORD     69			/* Word extraction */
#define FN_SPLIT    70			/* Split string into words */
#define FN_KRB_TK   71			/* Kerberos tickets */
#define FN_KRB_NX   72			/* Kerberos next ticket */
#define FN_KRB_IV   73			/* Kerberos ticket is valid */
#define FN_KRB_TT   74			/* Kerberos ticket time */
#define FN_ERRMSG   75			/* Error code to message */

#ifndef UNIX
#ifndef VMS
#undef FN_ERRMSG
#endif /* VMS */
#endif /* UNIX */

#define FN_DIM      76			/* Dimension of array */
#define FN_DTIM     77			/* Convert to standard date/time */
#define FN_JDATE    78			/* Regular date to day of year */
#define FN_PNCVT    79			/* Convert phone number for dialing */
#define FN_DATEJ    80			/* Day of year to date */
#define FN_MJD      81			/* Date to modified Julian date */
#define FN_MJD2     82			/* Modified Julian date to date */
#define FN_DAY      83			/* Day of week of given date */
#define FN_NDAY     84			/* Numeric day of week of given date */
#define FN_TIME     85			/* Convert to hh:mm:ss */
#define FN_NTIM     86			/* Convert to seconds since midnite */
#define FN_N2TIM    87			/* Sec since midnite to hh:mm:ss */
#define FN_PERM     88			/* Permissions of file */
#define FN_KRB_FG   89			/* Kerberos Ticket Flags */
#define FN_SEARCH   90			/* Search for pattern in string */
#define FN_RSEARCH  91			/* Ditto, but right to left */
#define FN_XLATE    92			/* Translate string charset */
#define FN_ALOOK    93			/* Array lookup */
#define FN_TLOOK    94			/* Table lookup */
#define FN_TOB64    95			/* Encode into Base64 */
#define FN_FMB64    96			/* Decode from Base64 */

#define FN_ABS      97			/* Absolute value */

#ifdef CKFLOAT
#define FN_FPADD    98			/* Floating-point add */
#define FN_FPSUB    99			/* Floating-point substract */
#define FN_FPMUL   100			/* Floating-point multiply */
#define FN_FPDIV   101			/* Floating-point divide */
#define FN_FPEXP   102			/* Floating-point e to the x */
#define FN_FPLN    103			/* Floating-point natural log */
#define FN_FPLOG   104			/* Floating-point base-10 log */
#define FN_FPPOW   105			/* Floating-point raise to power */
#define FN_FPSQR   106			/* Floating-point square root */
#define FN_FPABS   107			/* Floating-point absolute value */
#define FN_FPMOD   108			/* Floating-point modulus */
#define FN_FPMAX   109			/* Floating-point maximum */
#define FN_FPMIN   110			/* Floating-point minimum*/
#define FN_FPINT   111			/* Floating-point to integer */
#define FN_FPROU   112			/* Floating-point round */
#define FN_FPSIN   113			/* FP sine */
#define FN_FPCOS   114			/* FP cosine */
#define FN_FPTAN   115			/* FP tangent */
#endif /* CKFLOAT */

#ifdef CKCHANNELIO
#define FN_FSTAT   116			/* File status */
#define FN_FPOS    117			/* File position */
#define FN_FEOF    118			/* File eof */
#define FN_FILNO   119			/* File number / handle */
#define FN_FGCHAR  120			/* File getchar */
#define FN_FGLINE  121			/* File getline */
#define FN_FGBLK   122			/* File getblock */
#define FN_FPCHAR  123			/* File putchar */
#define FN_FPLINE  124			/* File putline */
#define FN_FPBLK   125			/* File putblock */
#define FN_NLINE   126			/* File get current line number */
#define FN_FERMSG  127			/* File error message */
#endif /* CKCHANNELIO */

#define FN_LEF     128			/* Left (= substr starting on left) */
#define FN_AADUMP  129			/* Associative Array Dump */
#define FN_STB     130			/* \fstripb()  */
#define FN_PATTERN 131			/* \fpattern() */
#define FN_HEX2N   132			/* \fhexton()  */
#define FN_OCT2N   133			/* \foctton()  */
#define FN_HEX2IP  134			/* \fhextoip() */
#define FN_IP2HEX  135			/* \fiptohex() */
#define FN_RADIX   136			/* \fradix()   */
#define FN_JOIN    137			/* \fjoin()    */
#define FN_SUBST   138			/* \fsubstitute() */
#define FN_SEXP    139			/* \fsexpression() */
#define FN_CMDSTK  140			/* \fcmdstack() */
#define FN_TOGMT   141			/* \ftogmt() */
#define FN_CMPDATE 142			/* \fcmpdates() */
#define FN_DIFDATE 143			/* \fdiffdates() */
#ifdef TCPSOCKET
#define FN_HSTADD  144			/* \faddr2name() */
#define FN_HSTNAM  145			/* \fname2addr() */
#endif /* TCPSOCKET */
#define FN_DELSEC  146			/* \fdelta2sec() */
#define FN_PC_DU   147			/* Path conversion DOS to Unix */
#define FN_PC_VU   148			/* Path conversion VMS to Unix */
#define FN_PC_UD   149			/* Path conversion Unix to DOS */
#define FN_PC_UV   150			/* Path conversion Unix to VMS */
#define FN_KWVAL   151			/* \fkeywordvalue() */
#define FN_SLEEP   152			/* \fsleep() */
#define FN_MSLEEP  153			/* \fmsleep() */
#define FN_LNAME   154			/* \fLongPathName() (Windows) */
#define FN_SNAME   155			/* \fShortPathName() (Windows) */
#define FN_UNTAB   156			/* \funtabify() */

#endif /* NOSPL */

/* Time Units */

#define TU_DAYS   0
#define TU_WEEKS  1
#define TU_MONTHS 2
#define TU_YEARS  3

#ifdef CK_CURSES
/* Screen line numbers for fullscreen file-transfer display */

#define CW_BAN  0			/* Curses Window Banner */
#define CW_DIR  2			/* Current directory */
#define CW_LIN  3			/* Communication device */
#define CW_SPD  4			/* Communication speed */
#define CW_PAR  5			/* Parity */
#define CW_TMO  6
#define CW_NAM  7			/* Filename */
#define CW_TYP  8			/* File type */
#define CW_SIZ  9			/* File size */
#define CW_PCD 10			/* Percent done */

#ifndef CK_PCT_BAR
#define CW_TR  11			/* Time remaining */
#define CW_CP  12			/* Characters per second */
#define CW_WS  13			/* Window slots */
#define CW_PT  14			/* Packet type */
#define CW_PC  15			/* Packet count */
#define CW_PL  16			/* Packet length */
#define CW_PR  17			/* Packet retry */
#ifdef COMMENT
#define CW_PB  17			/* Packet block check */
#endif /* COMMENT */
#else /* CK_PCT_BAR */
#define CW_BAR 11			/* Percent Bar Scale */
#define CW_TR  12			/* Time remaining */
#define CW_CP  13			/* Chars per sec */
#define CW_WS  14			/* Window slots */
#define CW_PT  15			/* Packet type */
#define CW_PC  16			/* Packet count */
#define CW_PL  17			/* Packet length */
#define CW_PR  18			/* Packet retry */
#ifdef COMMENT
#define CW_PB  18			/* Packet block check */
#endif /* COMMENT */
#endif /* CK_PCT_BAR */

#define CW_ERR 19			/* Error message */
#define CW_MSG 20			/* Info message */
#define CW_INT 22			/* Instructions */
#define CW_FFC 99                       /* File Characters Sent/Received */
#endif /* CK_CURSES */

#ifndef NOICP
/* Save Commands */
#define XSKEY   0			/* Key map file */
#define XSCMD   1                       /* Command mode */
#define XSTERM  2                       /* Terminal mode */
#endif /* NOICP */

#ifndef NODIAL
/* Dial routine sort priorities */
#define DN_INTERN 0
#define DN_FREE   1
#define DN_LOCAL  2
#define DN_UNK    3
#define DN_LONG   4
#define DN_INTL   5
#endif /* NODIAL */

#ifdef SSHBUILTIN
#define XSSH_OPN 1
#define XSSH_V2  2
#define XSSH_FLP 3
#define XSSH_FRP 4
#define XSSH_ADD 5
#define XSSH_KEY 6
#define XSSH_CLR 7
#define XSSH_AGT 8

#define SSHKT_1R   0			/* SSH KEY TYPE symbols */
#define SSHKT_2R   1                    /* must match ssh/key.h values */
#define SSHKT_2D   2
#define SSHKT_SRP  3

#define SSHKD_IN   1			/* SSH KEY DISPLAY /IN-FORMAT */
#define SSHKD_OUT  2			/* SSH KEY DISPLAY /OUT-FORMAT */

#define SKDF_OSSH  1			/* Key display format OpenSSH */
#define SKDF_SSHC  2			/* Key display format SSH.COM */
#define SKDF_IETF  3			/* Key display format IETF */
#define SKDF_FING  4			/* Key display format FINGERPRINT */

#define SSHSW_USR 1
#define SSHSW_VER 2
#define SSHSW_CMD 3
#define SSHSW_X11 4
#define SSHSW_PWD 5
#define SSHSW_SUB 6

#define SSHC_LPF 1
#define SSHC_RPF 2

#define XSSH2_RKE 1

#define SSHF_LCL   1
#define SSHF_RMT   2

#define SSHA_ADD   1
#define SSHA_DEL   2
#define SSHA_LST   3

#define SSHASW_FP 1

#define SSHK_PASS  1
#define SSHK_CREA  2
#define SSHK_DISP  3
#define SSHK_V1    4

#define SSHKC_BI  1
#define SSHKC_PP  2
#define SSHKC_TY  3
#define SSHKC_1R  4

#define SKRM_OPN  1
#endif /* SSHBUILTIN */

#ifdef SFTP_BUILTIN
#define SFTP_OPN    1
#define SFTP_CD     2
#define SFTP_CHGRP  3
#define SFTP_CHMOD  4
#define SFTP_CHOWN  5
#define SFTP_DIR    6
#define SFTP_GET    7
#define SFTP_MKDIR  8
#define SFTP_PWD    9
#define SFTP_PUT    10
#define SFTP_REN    11
#define SFTP_RM     12
#define SFTP_RMDIR  13
#define SFTP_LINK   14
#define SFTP_VER    15

#define XY_SFTP_RCS 1
#define XY_SFTP_EOL 2
#endif /* SFTP_BUILTIN */

/* ANSI-C prototypes for user interface functions */

#ifndef NOICP
_PROTOTYP( int matchname, ( char *, int, int ) );
_PROTOTYP( int ck_cls, ( void ) );
_PROTOTYP( int ck_cleol, ( void ) );
_PROTOTYP( int ck_curpos, ( int, int ) );
_PROTOTYP( int cmdsrc, ( void ) );
_PROTOTYP( int parser, ( int ) );
_PROTOTYP( int chkvar, (char *) );
_PROTOTYP( int zzstring, (char *, char **, int *) );
#ifndef NOFRILLS
_PROTOTYP( int yystring, (char *, char **) );
#endif /* NOFRILLS */
_PROTOTYP( int getncm, (char *, int) );
_PROTOTYP( int getnct, (char *, int, FILE *, int) );
#endif /* NOICP */
_PROTOTYP( VOID bgchk, (void) );
_PROTOTYP( char * nvlook, (char *) );
_PROTOTYP( int xarray, (char *) );
_PROTOTYP( int arraynam, (char *, int *, int *) );
_PROTOTYP( int arraybounds, (char *, int *, int *) );
_PROTOTYP( int arrayitoa, (int) );
_PROTOTYP( int arrayatoi, (int) );
_PROTOTYP( char * bldlen, (char *, char *) );
_PROTOTYP( int chkarray, (int, int) );
_PROTOTYP( int dclarray, (char, int) );
_PROTOTYP( int pusharray, (int, int) );
_PROTOTYP( int parsevar, (char *, int *, int *) );
_PROTOTYP( int macini, (void) );
_PROTOTYP( VOID initmac, (void) );
_PROTOTYP( int delmac, (char *, int) );
_PROTOTYP( int addmac, (char *, char *) );
_PROTOTYP( int domac, (char *, char *, int) );
_PROTOTYP( int addmmac, (char *, char *[]) );
_PROTOTYP( int dobug, (void) );
_PROTOTYP( int docd, (int) );
_PROTOTYP( int doclslog, (int) );
_PROTOTYP( int docmd, (int) );
_PROTOTYP( int dodir, (int) );
_PROTOTYP( int dodo, (int, char *, int) );
_PROTOTYP( int doenable, (int, int) );
_PROTOTYP( int dogoto, (char *, int) );
_PROTOTYP( int dogta, (int) );
_PROTOTYP( int dohlp, (int) );
_PROTOTYP( int dohrmt, (int) );
_PROTOTYP( int doif, (int) );
_PROTOTYP( int doinput, (int, char *[], int[], int) );
_PROTOTYP( int doreinp, (int, char *, int) );
_PROTOTYP( int dolog, (int) );
_PROTOTYP( int dologin, (char *) );
_PROTOTYP( int doopen, (void) );
_PROTOTYP( int doprm, (int, int) );
_PROTOTYP( int doreturn, (char *) );
_PROTOTYP( int dormt, (int) );
_PROTOTYP( int dosort, (void) );
_PROTOTYP( int dostat, (int) );
_PROTOTYP( int dostop, (void) );
_PROTOTYP( int dotype, (char *, int, int, int, char *, int, char *, int, int,
			char *, int));
_PROTOTYP( int transmit, (char *, char, int, int, int) );
_PROTOTYP( int xlate, (char *, char *, int, int) );
_PROTOTYP( int litcmd, (char **, char **, int) );
_PROTOTYP( int incvar, (char *, int, int) );
_PROTOTYP( int ckdial, (char *, int, int, int, int) );
_PROTOTYP( int hmsg, (char *) );
_PROTOTYP( int hmsga, (char * []) );
_PROTOTYP( int mlook, (struct mtab [], char *, int) );
_PROTOTYP( int mxlook, (struct mtab [], char *, int) );
_PROTOTYP( int mxxlook, (struct mtab [], char *, int) );
_PROTOTYP( int prtopt, (int *, char *) );
_PROTOTYP( CHAR rfilop, (char *, char) );
_PROTOTYP( int setcc, (char *, int *) );
_PROTOTYP( int setnum, (int *, int, int, int) );
_PROTOTYP( int seton, (int *) );
_PROTOTYP( int setonaut, (int *) );
_PROTOTYP( VOID shmdmlin, (void) );
_PROTOTYP( VOID initmdm, (int) );
_PROTOTYP( char * showoff, (int) );
_PROTOTYP( char * showooa, (int) );
_PROTOTYP( char * showstring, (char *) );
_PROTOTYP( int pktopn, (char *,int) );
_PROTOTYP( int traopn, (char *,int) );
_PROTOTYP( int sesopn, (char *,int) );
_PROTOTYP( int debopn, (char *,int) );
_PROTOTYP( int diaopn, (char *,int,int) );
_PROTOTYP( int prepop, (void) );
_PROTOTYP( int popclvl, (void) );
_PROTOTYP( int varval, (char *, int *) );
_PROTOTYP( char * evala, (char *) );
_PROTOTYP( char * evalx, (char *) );
_PROTOTYP( int setalarm, (long) );
_PROTOTYP( int setat, (int) );
_PROTOTYP( int setinp, (void) );
_PROTOTYP( VOID dolognet, (void) );
_PROTOTYP( VOID dologline, (void) );
_PROTOTYP( int setlin, (int, int, int) );
_PROTOTYP( int setmodem, (void) );
_PROTOTYP( int setfil, (int) );
_PROTOTYP( char * homepath, (void) );
#ifdef OS2
_PROTOTYP( int settapi, (void) ) ;
#ifdef OS2MOUSE
_PROTOTYP( int setmou, (void) );
#endif /* OS2MOUSE */
#endif /* OS2 */
#ifdef LOCUS
_PROTOTYP( VOID setlocus, (int,int) );
_PROTOTYP( VOID setautolocus, (int) );
#endif /* LOCUS */
_PROTOTYP( int setbell, (void) );
_PROTOTYP( VOID setcmask, (int));
_PROTOTYP( VOID setautodl, (int,int));
_PROTOTYP( VOID setdebses, (int));
_PROTOTYP( VOID setseslog, (int));
_PROTOTYP( VOID setaprint, (int));
_PROTOTYP( int settrm, (void) );
_PROTOTYP( int settrmtyp, (void) );
_PROTOTYP( int setsr, (int, int) );
_PROTOTYP( int setxmit, (void) );
_PROTOTYP( int dosetkey, (void) );
_PROTOTYP( int dochk, (void) );
_PROTOTYP( int ludial, (char *, int) );
_PROTOTYP( char * getdnum, (int) );
_PROTOTYP( VOID getnetenv, (void) );
_PROTOTYP( int getyesno, (char *, int) );
_PROTOTYP( VOID xwords, (char *, int, char *[], int) );
#ifdef OS2
_PROTOTYP( VOID keynaminit, (void) );
#endif /* OS2 */
_PROTOTYP( int xlookup, (struct keytab[], char *, int, int *) );
_PROTOTYP( char * rlookup, (struct keytab[], int, int) );
_PROTOTYP( int hupok, (int) );
_PROTOTYP( char * zzndate, (void) );
_PROTOTYP( char * zjdate, (char *) );
_PROTOTYP( char * jzdate, (char *) );
_PROTOTYP( char * ckdate, (void) );
_PROTOTYP( char * chk_ac, (int, char[]) );
_PROTOTYP( char * gmdmtyp, (void) );
_PROTOTYP( char * gfmode, (int, int) );
_PROTOTYP( int setdest, (void) );
_PROTOTYP( VOID ndinit, (void) );
_PROTOTYP( int doswitch, (void) );
_PROTOTYP( int dolocal, (void) );
_PROTOTYP( long tod2sec, (char *) );
_PROTOTYP( int lunet, (char *) );
_PROTOTYP( int doxdis, (int) );
_PROTOTYP( int dosave, (int) );
_PROTOTYP( int doxsend, (int) );
_PROTOTYP( int doxget, (int) );
_PROTOTYP( int doxconn, (int) );
_PROTOTYP( int clsconnx, (int) );
_PROTOTYP( VOID ftreset, (void) );
#ifdef CK_KERBEROS
_PROTOTYP (int cp_auth, ( void ) );
#endif /* CK_KERBEROS */
_PROTOTYP( long mjd, (char *) );
_PROTOTYP( char * mjd2date, (long) );
_PROTOTYP( char * ckgetpid, (void) );

_PROTOTYP( int dogrep, (void) );

#ifndef NOFTP
#ifndef SYSFTP
_PROTOTYP( int doxftp, (void) );
_PROTOTYP( int doftphlp, (void) );
_PROTOTYP( int dosetftp, (void) );
_PROTOTYP( int dosetftphlp, (void) );
_PROTOTYP( int shoftp, (int) );
#endif /* SYSFTP */
#endif /* NOFTP */

_PROTOTYP( VOID cmhistory, (void) );
_PROTOTYP( char * getdcset, (void) );
_PROTOTYP( char * ttgtpn, (void) );

#ifndef NOSHOW
_PROTOTYP( int doshow, (int) );
_PROTOTYP( int shotcp, (int) );
_PROTOTYP( VOID shopar, (void) );
_PROTOTYP( VOID shofil, (void) );
_PROTOTYP( VOID shoparp, (void) );
_PROTOTYP( int shoatt, (void) );
_PROTOTYP( VOID shover, (void) );
_PROTOTYP( VOID shoctl, (void) );
_PROTOTYP( VOID shodbl, (void) );
#ifndef NOSPL
_PROTOTYP( int shomac, (char *, char *) );
_PROTOTYP( int doshift, (int) );
#endif /* NOSPL */
#ifndef NOCSETS
_PROTOTYP( VOID shocharset, (void) );
_PROTOTYP( VOID shoparl, (void) );
_PROTOTYP( VOID shotcs, (int, int) );
#endif /* NOCSETS */
#ifndef NOLOCAL
_PROTOTYP( VOID shoparc, (void) );
_PROTOTYP( int shomodem, (void) );
#ifndef NODIAL
_PROTOTYP( VOID shods, (char *) );
_PROTOTYP( VOID shodial, (void) );
_PROTOTYP( int doshodial, (void) );
#endif /* NODIAL */
#ifndef NONET
_PROTOTYP( int shonet, (void) );
_PROTOTYP( int shotopt, (int) );
_PROTOTYP( int shotel, (int) );
#ifdef CK_AUTHENTICATION
_PROTOTYP (int sho_auth,( int  ) );
#endif /* CK_AUTHENTICATION */
#endif /* NONET */
_PROTOTYP( VOID shomdm, (void) );
#endif /* NOLOCAL */
#ifdef OS2
_PROTOTYP( VOID shokeycode, (int,int) );
#else
_PROTOTYP( VOID shokeycode, (int) );
#endif /* OS2 */
_PROTOTYP( VOID showassoc, (void) );
_PROTOTYP( VOID showdiropts, (void) );
_PROTOTYP( VOID showdelopts, (void) );
_PROTOTYP( VOID showtypopts, (void) );
_PROTOTYP( VOID showpurgopts, (void) );
_PROTOTYP( VOID shoflow, (void) );
_PROTOTYP( VOID shoxfer, (void) );
#ifdef ANYSSH
_PROTOTYP( VOID shossh, (void) );
#endif	/* ANYSSH */
#endif /* NOSHOW */

_PROTOTYP( VOID shostrdef, (CHAR *) );

#ifndef NOSPL
_PROTOTYP( int addlocal, (char *) );
#endif /* NOSPL */

_PROTOTYP( int setdelopts, (void) );

#ifdef VMS
_PROTOTYP( int cvtdir, (char *, char *, int) );
#endif /* VMS */

#ifdef FNFLOAT
_PROTOTYP( VOID initfloat, (void) );
#endif /* FNFLOAT */

#ifdef CKCHANNELIO
_PROTOTYP( int dofile, (int) );
#endif /* CKCHANNELIO */

#ifdef CKROOT
_PROTOTYP( int dochroot, (void) );
#endif /* CKROOT */

#ifdef NEWFTP
_PROTOTYP( int doftpusr,    (void) );
_PROTOTYP( int doftpput,    (int,int) );
_PROTOTYP( int doftpget,    (int,int) );
_PROTOTYP( int doftprmt,    (int,int) );
_PROTOTYP( int ftpopen,     (char *, char *, int) );
_PROTOTYP( int cmdlinget,   (int) );
_PROTOTYP( int cmdlinput,   (int) );
_PROTOTYP( int doftparg,    (char) );
_PROTOTYP( int doftpacct,   (void) );
_PROTOTYP( int doftpsite,   (void) );
_PROTOTYP( int dosetftppsv, (void) );
_PROTOTYP( int ftpbye,      (void) );
#endif /* NEWFTP */

#ifdef COMMENT
/* These prototypes are no longer used */
_PROTOTYP( char * getdws, (int) );
_PROTOTYP( char * getdcs, (int) );
_PROTOTYP( int doget, (int) );
_PROTOTYP( char * arrayval, (int, int) );
#endif /* COMMENT */

#ifdef KUI
_PROTOTYP(int BuildFontTable,
          (struct keytab ** pTable, struct keytab ** pTable2, int * pN));
#endif /* KUI */

_PROTOTYP(int cx_net, (int net, int protocol, char * xhost, char * svc, 
        char * username, char * password, char * command,
        int param1, int param2, int param3, 
        int cx, int sx, int flag, int gui));
_PROTOTYP(int cx_serial, (char *device, 
        int cx, int sx, int shr, int flag, int gui, int special));

#endif /* CKUUSR_H */

/* End of ckuusr.h */