| 12
 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
 
 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<TITLE>terminal_interface-curses.adb</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
*.comment {
	color: green;
}
*.symbol {
	color: red;
}
</style>
</HEAD>
<BODY>
<HR><DIV style="text-align:center"><H1> File : terminal_interface-curses.adb </H1></DIV><HR>
<PRE>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>--                                                                          --</EM></span>
<span class="comment"><EM>--                           <A HREF="http://www.gnat.com">GNAT</A> ncurses Binding                           --</EM></span>
<span class="comment"><EM>--                                                                          --</EM></span>
<span class="comment"><EM>--                        Terminal_Interface.Curses                         --</EM></span>
<span class="comment"><EM>--                                                                          --</EM></span>
<span class="comment"><EM>--                                 B O D Y                                  --</EM></span>
<span class="comment"><EM>--                                                                          --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>-- Copyright (c) 1998-2011,2014 Free Software Foundation, Inc.              --</EM></span>
<span class="comment"><EM>--                                                                          --</EM></span>
<span class="comment"><EM>-- Permission is hereby granted, free of charge, to any person obtaining a  --</EM></span>
<span class="comment"><EM>-- copy of this software and associated documentation files (the            --</EM></span>
<span class="comment"><EM>-- "Software"), to deal in the Software without restriction, including      --</EM></span>
<span class="comment"><EM>-- without limitation the rights to use, copy, modify, merge, publish,      --</EM></span>
<span class="comment"><EM>-- distribute, distribute with modifications, sublicense, and/or sell       --</EM></span>
<span class="comment"><EM>-- copies of the Software, and to permit persons to whom the Software is    --</EM></span>
<span class="comment"><EM>-- furnished to do so, subject to the following conditions:                 --</EM></span>
<span class="comment"><EM>--                                                                          --</EM></span>
<span class="comment"><EM>-- The above copyright notice and this permission notice shall be included  --</EM></span>
<span class="comment"><EM>-- in all copies or substantial portions of the Software.                   --</EM></span>
<span class="comment"><EM>--                                                                          --</EM></span>
<span class="comment"><EM>-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  --</EM></span>
<span class="comment"><EM>-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               --</EM></span>
<span class="comment"><EM>-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   --</EM></span>
<span class="comment"><EM>-- IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   --</EM></span>
<span class="comment"><EM>-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    --</EM></span>
<span class="comment"><EM>-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    --</EM></span>
<span class="comment"><EM>-- THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               --</EM></span>
<span class="comment"><EM>--                                                                          --</EM></span>
<span class="comment"><EM>-- Except as contained in this notice, the name(s) of the above copyright   --</EM></span>
<span class="comment"><EM>-- holders shall not be used in advertising or otherwise to promote the     --</EM></span>
<span class="comment"><EM>-- sale, use or other dealings in this Software without prior written       --</EM></span>
<span class="comment"><EM>-- authorization.                                                           --</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<span class="comment"><EM>--  Author: Juergen Pfeifer, 1996</EM></span>
<span class="comment"><EM>--  Version Control:</EM></span>
<span class="comment"><EM>--  @Revision: 1.14 @</EM></span>
<span class="comment"><EM>--  @Date: 2014/05/24 21:31:05 @</EM></span>
<span class="comment"><EM>--  Binding Version 01.00</EM></span>
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>with</b> System;
<b>with</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>.<A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;                  <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C;
<b>with</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;          <b>use</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.Strings;
<b>with</b> Ada.Characters.Handling;       <b>use</b> Ada.Characters.Handling;
<b>with</b> Ada.Strings.Fixed;
<b>package</b> <b>body</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<span class="symbol"><A NAME="ref_50_33" HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A></span> <b>is</b>
   <b>use</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_45_35">Aux</A>;
   <b>use</b> <b>type</b> System.Bit_Order;
   <b>package</b> <span class="symbol"><A NAME="ref_55_12">ASF</A></span> <b>renames</b> Ada.Strings.Fixed;
   <b>type</b> chtype_array <b>is</b> <b>array</b> (size_t <b>range</b> <>)
      <b>of</b> <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
   <b>pragma</b> Convention (C, chtype_array);
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>function</b> <span class="symbol"><A NAME="ref_62_13" HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A></span> (<span class="symbol"><A NAME="ref_62_23" HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>) <b>return</b> String
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_64_16">Keyname</A></span> (<span class="symbol"><A NAME="ref_64_25" HREF="terminal_interface-curses__adb.htm#ref_64_16">K</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Keyname, "keyname");
      <span class="symbol"><A NAME="ref_67_7">Ch</A></span> : Character;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A> <= Character'Pos (Character'Last) <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A> := Character'Val (<A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A>);
         <b>if</b> Is_Control (<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>) <b>then</b>
            <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A> (<A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    => <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>,
                                                     <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
                                                     <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  => <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
         <b>elsif</b> Is_Graphic (<A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>) <b>then</b>
            <b>declare</b>
               <span class="symbol"><A NAME="ref_77_16">S</A></span> : String (1 .. 1);
            <b>begin</b>
               <A HREF="terminal_interface-curses__adb.htm#ref_77_16">S</A> (1) := <A HREF="terminal_interface-curses__adb.htm#ref_67_7">Ch</A>;
               <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_77_16">S</A>;
            <b>end</b>;
         <b>else</b>
            <b>return</b> "";
         <b>end</b> <b>if</b>;
      <b>else</b>
         <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_64_16">Keyname</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1786_23">Key</A>)));
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_90_14" HREF="terminal_interface-curses__ads.htm#ref_1780_14">Key_Name</A></span> (<span class="symbol"><A NAME="ref_90_24" HREF="terminal_interface-curses__ads.htm#ref_1780_24">Key</A></span>  :  <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>;
                       <span class="symbol"><A NAME="ref_91_24" HREF="terminal_interface-curses__ads.htm#ref_1781_24">Name</A></span> : <b>out</b> String)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_55_12">ASF</A>.Move (<A HREF="terminal_interface-curses__ads.htm#ref_1786_13">Key_Name</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1780_24">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1781_24">Name</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1780_14">Key_Name</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_98_14" HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_100_16">Initscr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <b>pragma</b> Import (C, Initscr, "initscr");
      <span class="symbol"><A NAME="ref_103_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_103_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_100_16">Initscr</A>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_103_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_656_14">Init_Screen</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_111_14" HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_113_16">Endwin</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Endwin, "endwin");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_113_16">Endwin</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_665_14">End_Windows</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_121_13" HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A></span> <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_123_16">Isendwin</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
      <b>pragma</b> Import (C, Isendwin, "isendwin");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_123_16">Isendwin</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_672_13">Is_End_Window</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_133_14" HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A></span> (<span class="symbol"><A NAME="ref_133_27" HREF="terminal_interface-curses__ads.htm#ref_681_27">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                          <span class="symbol"><A NAME="ref_134_27" HREF="terminal_interface-curses__ads.htm#ref_682_27">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
                          <span class="symbol"><A NAME="ref_135_27" HREF="terminal_interface-curses__ads.htm#ref_683_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_137_16">Wmove</A></span> (<span class="symbol"><A NAME="ref_137_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                      <span class="symbol"><A NAME="ref_138_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                      <span class="symbol"><A NAME="ref_139_23" HREF="terminal_interface-curses__adb.htm#ref_137_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>
                     ) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wmove, "wmove");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_137_16">Wmove</A> (<A HREF="terminal_interface-curses__ads.htm#ref_681_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_682_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_683_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_148_14" HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A></span> (<span class="symbol"><A NAME="ref_148_19" HREF="terminal_interface-curses__ads.htm#ref_693_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                  <span class="symbol"><A NAME="ref_149_19" HREF="terminal_interface-curses__ads.htm#ref_694_19">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_151_16">Waddch</A></span> (<span class="symbol"><A NAME="ref_151_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">W</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                       <span class="symbol"><A NAME="ref_152_24" HREF="terminal_interface-curses__adb.htm#ref_151_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Waddch, "waddch");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_151_16">Waddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_693_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_694_19">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_160_14" HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A></span> (<span class="symbol"><A NAME="ref_160_19" HREF="terminal_interface-curses__ads.htm#ref_698_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                  <span class="symbol"><A NAME="ref_161_19" HREF="terminal_interface-curses__ads.htm#ref_699_19">Ch</A></span>  : Character)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_693_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_698_19">Win</A>,
           <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    => <A HREF="terminal_interface-curses__ads.htm#ref_699_19">Ch</A>,
                                 <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
                                 <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  => <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_698_14">Add</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_170_14" HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A></span>
     (<span class="symbol"><A NAME="ref_171_7" HREF="terminal_interface-curses__ads.htm#ref_705_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_172_7" HREF="terminal_interface-curses__ads.htm#ref_706_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_173_7" HREF="terminal_interface-curses__ads.htm#ref_707_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_174_7" HREF="terminal_interface-curses__ads.htm#ref_708_7">Ch</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_176_16">mvwaddch</A></span> (<span class="symbol"><A NAME="ref_176_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">W</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_177_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Y</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                         <span class="symbol"><A NAME="ref_178_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">X</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                         <span class="symbol"><A NAME="ref_179_26" HREF="terminal_interface-curses__adb.htm#ref_176_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, mvwaddch, "mvwaddch");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_176_16">mvwaddch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_705_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_706_7">Line</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_707_7">Column</A>),
                   <A HREF="terminal_interface-curses__ads.htm#ref_708_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_190_14" HREF="terminal_interface-curses__ads.htm#ref_712_14">Add</A></span>
     (<span class="symbol"><A NAME="ref_191_7" HREF="terminal_interface-curses__ads.htm#ref_713_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_192_7" HREF="terminal_interface-curses__ads.htm#ref_714_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_193_7" HREF="terminal_interface-curses__ads.htm#ref_715_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_194_7" HREF="terminal_interface-curses__ads.htm#ref_716_7">Ch</A></span>     : Character)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_704_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_713_7">Win</A>,
           <A HREF="terminal_interface-curses__ads.htm#ref_714_7">Line</A>,
           <A HREF="terminal_interface-curses__ads.htm#ref_715_7">Column</A>,
           <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    => <A HREF="terminal_interface-curses__ads.htm#ref_716_7">Ch</A>,
                                 <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
                                 <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  => <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_712_14">Add</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_205_14" HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A></span>
     (<span class="symbol"><A NAME="ref_206_7" HREF="terminal_interface-curses__ads.htm#ref_722_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_207_7" HREF="terminal_interface-curses__ads.htm#ref_723_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_209_16">Wechochar</A></span> (<span class="symbol"><A NAME="ref_209_27" HREF="terminal_interface-curses__adb.htm#ref_209_16">W</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                          <span class="symbol"><A NAME="ref_210_27" HREF="terminal_interface-curses__adb.htm#ref_209_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wechochar, "wechochar");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_209_16">Wechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_722_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_723_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_218_14" HREF="terminal_interface-curses__ads.htm#ref_727_14">Add_With_Immediate_Echo</A></span>
     (<span class="symbol"><A NAME="ref_219_7" HREF="terminal_interface-curses__ads.htm#ref_728_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_220_7" HREF="terminal_interface-curses__ads.htm#ref_729_7">Ch</A></span>  : Character)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_721_14">Add_With_Immediate_Echo</A>
        (<A HREF="terminal_interface-curses__ads.htm#ref_728_7">Win</A>,
         <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    => <A HREF="terminal_interface-curses__ads.htm#ref_729_7">Ch</A>,
                               <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
                               <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  => <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_727_14">Add_With_Immediate_Echo</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>function</b> <span class="symbol"><A NAME="ref_230_13" HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A></span> (<span class="symbol"><A NAME="ref_230_21" HREF="terminal_interface-curses__ads.htm#ref_740_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
                    <span class="symbol"><A NAME="ref_231_21" HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
                    <span class="symbol"><A NAME="ref_232_21" HREF="terminal_interface-curses__ads.htm#ref_742_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
                    <span class="symbol"><A NAME="ref_233_21" HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_235_16">Newwin</A></span> (<span class="symbol"><A NAME="ref_235_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                       <span class="symbol"><A NAME="ref_236_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                       <span class="symbol"><A NAME="ref_237_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                       <span class="symbol"><A NAME="ref_238_24" HREF="terminal_interface-curses__adb.htm#ref_235_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <b>pragma</b> Import (C, Newwin, "newwin");
      <span class="symbol"><A NAME="ref_241_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_235_16">Newwin</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_740_7">Number_Of_Lines</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_741_7">Number_Of_Columns</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_742_7">First_Line_Position</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_743_7">First_Column_Position</A>));
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_241_7">W</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_739_13">Create</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_253_14" HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A></span> (<span class="symbol"><A NAME="ref_253_22" HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_255_16">Wdelwin</A></span> (<span class="symbol"><A NAME="ref_255_25" HREF="terminal_interface-curses__adb.htm#ref_255_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wdelwin, "delwin");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_255_16">Wdelwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      <A HREF="terminal_interface-curses__ads.htm#ref_758_22">Win</A> := <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_758_14">Delete</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_264_13" HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A></span>
     (<span class="symbol"><A NAME="ref_265_7" HREF="terminal_interface-curses__ads.htm#ref_765_7">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_266_7" HREF="terminal_interface-curses__ads.htm#ref_766_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
      <span class="symbol"><A NAME="ref_267_7" HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
      <span class="symbol"><A NAME="ref_268_7" HREF="terminal_interface-curses__ads.htm#ref_768_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_269_7" HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_271_16">Subwin</A></span>
        (<span class="symbol"><A NAME="ref_272_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
         <span class="symbol"><A NAME="ref_273_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_274_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_275_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_276_10" HREF="terminal_interface-curses__adb.htm#ref_271_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <b>pragma</b> Import (C, Subwin, "subwin");
      <span class="symbol"><A NAME="ref_279_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_271_16">Subwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_765_7">Win</A>,
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_766_7">Number_Of_Lines</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_767_7">Number_Of_Columns</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_768_7">First_Line_Position</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_769_7">First_Column_Position</A>));
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_279_7">W</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_764_13">Sub_Window</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_292_13" HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A></span>
     (<span class="symbol"><A NAME="ref_293_7" HREF="terminal_interface-curses__ads.htm#ref_775_7">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_294_7" HREF="terminal_interface-curses__ads.htm#ref_776_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
      <span class="symbol"><A NAME="ref_295_7" HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
      <span class="symbol"><A NAME="ref_296_7" HREF="terminal_interface-curses__ads.htm#ref_778_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_297_7" HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_299_16">Derwin</A></span>
        (<span class="symbol"><A NAME="ref_300_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Win</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
         <span class="symbol"><A NAME="ref_301_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_302_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_303_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_304_10" HREF="terminal_interface-curses__adb.htm#ref_299_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <b>pragma</b> Import (C, Derwin, "derwin");
      <span class="symbol"><A NAME="ref_307_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_299_16">Derwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_775_7">Win</A>,
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_776_7">Number_Of_Lines</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_777_7">Number_Of_Columns</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_778_7">First_Line_Position</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_779_7">First_Column_Position</A>));
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_307_7">W</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_774_13">Derived_Window</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_320_13" HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A></span> (<span class="symbol"><A NAME="ref_320_24" HREF="terminal_interface-curses__ads.htm#ref_784_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_322_16">Dupwin</A></span> (<span class="symbol"><A NAME="ref_322_24" HREF="terminal_interface-curses__adb.htm#ref_322_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <b>pragma</b> Import (C, Dupwin, "dupwin");
      <span class="symbol"><A NAME="ref_325_7">W</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__adb.htm#ref_322_16">Dupwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_784_24">Win</A>);
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_325_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_325_7">W</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_784_13">Duplicate</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_333_14" HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A></span> (<span class="symbol"><A NAME="ref_333_27" HREF="terminal_interface-curses__ads.htm#ref_789_27">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                          <span class="symbol"><A NAME="ref_334_27" HREF="terminal_interface-curses__ads.htm#ref_790_27">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
                          <span class="symbol"><A NAME="ref_335_27" HREF="terminal_interface-curses__ads.htm#ref_791_27">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_337_16">Mvwin</A></span> (<span class="symbol"><A NAME="ref_337_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                      <span class="symbol"><A NAME="ref_338_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                      <span class="symbol"><A NAME="ref_339_23" HREF="terminal_interface-curses__adb.htm#ref_337_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Mvwin, "mvwin");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_337_16">Mvwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_789_27">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_790_27">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_791_27">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_789_14">Move_Window</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_347_14" HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A></span> (<span class="symbol"><A NAME="ref_347_35" HREF="terminal_interface-curses__ads.htm#ref_796_35">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                                  <span class="symbol"><A NAME="ref_348_35" HREF="terminal_interface-curses__ads.htm#ref_797_35">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
                                  <span class="symbol"><A NAME="ref_349_35" HREF="terminal_interface-curses__ads.htm#ref_798_35">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_351_16">Mvderwin</A></span> (<span class="symbol"><A NAME="ref_351_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_352_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                         <span class="symbol"><A NAME="ref_353_26" HREF="terminal_interface-curses__adb.htm#ref_351_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Mvderwin, "mvderwin");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_351_16">Mvderwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_796_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_797_35">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_798_35">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_796_14">Move_Derived_Window</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_361_14" HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A></span> (<span class="symbol"><A NAME="ref_361_30" HREF="terminal_interface-curses__ads.htm#ref_813_30">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                             <span class="symbol"><A NAME="ref_362_30" HREF="terminal_interface-curses__ads.htm#ref_814_30">Mode</A></span> : Boolean := False)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_364_16">Syncok</A></span> (<span class="symbol"><A NAME="ref_364_24" HREF="terminal_interface-curses__adb.htm#ref_364_16">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                       <span class="symbol"><A NAME="ref_365_24" HREF="terminal_interface-curses__adb.htm#ref_364_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Syncok, "syncok");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_364_16">Syncok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_813_30">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_814_30">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_813_14">Set_Synch_Mode</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_373_14" HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A></span> (<span class="symbol"><A NAME="ref_373_19" HREF="terminal_interface-curses__ads.htm#ref_823_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                  <span class="symbol"><A NAME="ref_374_19" HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A></span> : String;
                  <span class="symbol"><A NAME="ref_375_19" HREF="terminal_interface-curses__ads.htm#ref_825_19">Len</A></span> : Integer := -1)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_377_16">Waddnstr</A></span> (<span class="symbol"><A NAME="ref_377_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_378_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Str</A></span> : char_array;
                         <span class="symbol"><A NAME="ref_379_26" HREF="terminal_interface-curses__adb.htm#ref_377_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Waddnstr, "waddnstr");
      <span class="symbol"><A NAME="ref_382_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A>'Length);
      <span class="symbol"><A NAME="ref_383_7">Length</A></span> : size_t;
   <b>begin</b>
      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_824_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_383_7">Length</A>);
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_377_16">Waddnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_823_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_382_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_825_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_391_14" HREF="terminal_interface-curses__ads.htm#ref_832_14">Add</A></span>
     (<span class="symbol"><A NAME="ref_392_7" HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_393_7" HREF="terminal_interface-curses__ads.htm#ref_833_19">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_394_7" HREF="terminal_interface-curses__ads.htm#ref_834_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_395_7" HREF="terminal_interface-curses__ads.htm#ref_835_19">Str</A></span>    : String;
      <span class="symbol"><A NAME="ref_396_7" HREF="terminal_interface-curses__ads.htm#ref_836_19">Len</A></span>    : Integer := -1)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_833_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_834_19">Column</A>);
      <A HREF="terminal_interface-curses__ads.htm#ref_823_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_832_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_835_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_836_19">Len</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_832_14">Add</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_403_14" HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A></span>
     (<span class="symbol"><A NAME="ref_404_7" HREF="terminal_interface-curses__ads.htm#ref_847_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_405_7" HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
      <span class="symbol"><A NAME="ref_406_7" HREF="terminal_interface-curses__ads.htm#ref_849_19">Len</A></span> : Integer := -1)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_408_16">Waddchnstr</A></span> (<span class="symbol"><A NAME="ref_408_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                           <span class="symbol"><A NAME="ref_409_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Str</A></span> : chtype_array;
                           <span class="symbol"><A NAME="ref_410_28" HREF="terminal_interface-curses__adb.htm#ref_408_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Waddchnstr, "waddchnstr");
      <span class="symbol"><A NAME="ref_413_7">Txt</A></span> : chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length);
   <b>begin</b>
      <b>for</b> <span class="symbol"><A NAME="ref_415_11">Length</A></span> <b>in</b> 1 .. size_t (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length) <b>loop</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A> (<A HREF="terminal_interface-curses__adb.htm#ref_415_11">Length</A> - 1) := <A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A> (Natural (<A HREF="terminal_interface-curses__adb.htm#ref_415_11">Length</A>));
      <b>end</b> <b>loop</b>;
      <A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A> (<A HREF="terminal_interface-curses__ads.htm#ref_848_19">Str</A>'Length) := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_408_16">Waddchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_847_19">Win</A>,
                     <A HREF="terminal_interface-curses__adb.htm#ref_413_7">Txt</A>,
                     <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_849_19">Len</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_427_14" HREF="terminal_interface-curses__ads.htm#ref_856_14">Add</A></span>
     (<span class="symbol"><A NAME="ref_428_7" HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_429_7" HREF="terminal_interface-curses__ads.htm#ref_857_19">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_430_7" HREF="terminal_interface-curses__ads.htm#ref_858_19">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_431_7" HREF="terminal_interface-curses__ads.htm#ref_859_19">Str</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
      <span class="symbol"><A NAME="ref_432_7" HREF="terminal_interface-curses__ads.htm#ref_860_19">Len</A></span>    : Integer := -1)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_857_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_858_19">Column</A>);
      <A HREF="terminal_interface-curses__ads.htm#ref_847_14">Add</A> (<A HREF="terminal_interface-curses__ads.htm#ref_856_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_859_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_860_19">Len</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_856_14">Add</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_439_14" HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A></span>
     (<span class="symbol"><A NAME="ref_440_7" HREF="terminal_interface-curses__ads.htm#ref_875_7">Win</A></span>                       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_441_7" HREF="terminal_interface-curses__ads.htm#ref_876_7">Left_Side_Symbol</A></span>          : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
      <span class="symbol"><A NAME="ref_442_7" HREF="terminal_interface-curses__ads.htm#ref_877_7">Right_Side_Symbol</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
      <span class="symbol"><A NAME="ref_443_7" HREF="terminal_interface-curses__ads.htm#ref_878_7">Top_Side_Symbol</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
      <span class="symbol"><A NAME="ref_444_7" HREF="terminal_interface-curses__ads.htm#ref_879_7">Bottom_Side_Symbol</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
      <span class="symbol"><A NAME="ref_445_7" HREF="terminal_interface-curses__ads.htm#ref_880_7">Upper_Left_Corner_Symbol</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
      <span class="symbol"><A NAME="ref_446_7" HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
      <span class="symbol"><A NAME="ref_447_7" HREF="terminal_interface-curses__ads.htm#ref_882_7">Lower_Left_Corner_Symbol</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
      <span class="symbol"><A NAME="ref_448_7" HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Right_Corner_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_450_16">Wborder</A></span> (<span class="symbol"><A NAME="ref_450_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">W</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                        <span class="symbol"><A NAME="ref_451_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                        <span class="symbol"><A NAME="ref_452_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">RS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                        <span class="symbol"><A NAME="ref_453_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">TS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                        <span class="symbol"><A NAME="ref_454_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">BS</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                        <span class="symbol"><A NAME="ref_455_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">ULC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                        <span class="symbol"><A NAME="ref_456_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">URC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                        <span class="symbol"><A NAME="ref_457_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LLC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                        <span class="symbol"><A NAME="ref_458_25" HREF="terminal_interface-curses__adb.htm#ref_450_16">LRC</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wborder, "wborder");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_450_16">Wborder</A> (<A HREF="terminal_interface-curses__ads.htm#ref_875_7">Win</A>,
                  <A HREF="terminal_interface-curses__ads.htm#ref_876_7">Left_Side_Symbol</A>,
                  <A HREF="terminal_interface-curses__ads.htm#ref_877_7">Right_Side_Symbol</A>,
                  <A HREF="terminal_interface-curses__ads.htm#ref_878_7">Top_Side_Symbol</A>,
                  <A HREF="terminal_interface-curses__ads.htm#ref_879_7">Bottom_Side_Symbol</A>,
                  <A HREF="terminal_interface-curses__ads.htm#ref_880_7">Upper_Left_Corner_Symbol</A>,
                  <A HREF="terminal_interface-curses__ads.htm#ref_881_7">Upper_Right_Corner_Symbol</A>,
                  <A HREF="terminal_interface-curses__ads.htm#ref_882_7">Lower_Left_Corner_Symbol</A>,
                  <A HREF="terminal_interface-curses__ads.htm#ref_883_7">Lower_Right_Corner_Symbol</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_475_14" HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A></span>
     (<span class="symbol"><A NAME="ref_476_7" HREF="terminal_interface-curses__ads.htm#ref_891_7">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_477_7" HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
      <span class="symbol"><A NAME="ref_478_7" HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_874_14">Border</A> (<A HREF="terminal_interface-curses__ads.htm#ref_891_7">Win</A>,
              <A HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_892_7">Vertical_Symbol</A>,
              <A HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A>, <A HREF="terminal_interface-curses__ads.htm#ref_893_7">Horizontal_Symbol</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_890_14">Box</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_486_14" HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A></span>
     (<span class="symbol"><A NAME="ref_487_7" HREF="terminal_interface-curses__ads.htm#ref_899_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_488_7" HREF="terminal_interface-curses__ads.htm#ref_900_7">Line_Size</A></span>   : Natural;
      <span class="symbol"><A NAME="ref_489_7" HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_491_16">Whline</A></span> (<span class="symbol"><A NAME="ref_491_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">W</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                       <span class="symbol"><A NAME="ref_492_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                       <span class="symbol"><A NAME="ref_493_24" HREF="terminal_interface-curses__adb.htm#ref_491_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Whline, "whline");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_491_16">Whline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_899_7">Win</A>,
                 <A HREF="terminal_interface-curses__ads.htm#ref_901_7">Line_Symbol</A>,
                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_900_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_898_14">Horizontal_Line</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_504_14" HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A></span>
     (<span class="symbol"><A NAME="ref_505_7" HREF="terminal_interface-curses__ads.htm#ref_908_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_506_7" HREF="terminal_interface-curses__ads.htm#ref_909_7">Line_Size</A></span>   : Natural;
      <span class="symbol"><A NAME="ref_507_7" HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Symbol</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_509_16">Wvline</A></span> (<span class="symbol"><A NAME="ref_509_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">W</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                       <span class="symbol"><A NAME="ref_510_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                       <span class="symbol"><A NAME="ref_511_24" HREF="terminal_interface-curses__adb.htm#ref_509_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wvline, "wvline");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_509_16">Wvline</A> (<A HREF="terminal_interface-curses__ads.htm#ref_908_7">Win</A>,
                 <A HREF="terminal_interface-curses__ads.htm#ref_910_7">Line_Symbol</A>,
                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_909_7">Line_Size</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_907_14">Vertical_Line</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>function</b> <span class="symbol"><A NAME="ref_523_13" HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A></span> (<span class="symbol"><A NAME="ref_523_28" HREF="terminal_interface-curses__ads.htm#ref_921_28">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_526_16">Wgetch</A></span> (<span class="symbol"><A NAME="ref_526_24" HREF="terminal_interface-curses__adb.htm#ref_526_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wgetch, "wgetch");
      <span class="symbol"><A NAME="ref_529_7">C</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_526_16">Wgetch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_921_28">Win</A>);
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_529_7">C</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_88_4">Key_None</A>;
      <b>else</b>
         <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A> (<A HREF="terminal_interface-curses__adb.htm#ref_529_7">C</A>);
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_921_13">Get_Keystroke</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_538_14" HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A></span> (<span class="symbol"><A NAME="ref_538_30" HREF="terminal_interface-curses__ads.htm#ref_932_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_540_16">Ungetch</A></span> (<span class="symbol"><A NAME="ref_540_25" HREF="terminal_interface-curses__adb.htm#ref_540_16">Ch</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Ungetch, "ungetch");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_540_16">Ungetch</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_932_30">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_932_14">Undo_Keystroke</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_548_13" HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A></span> (<span class="symbol"><A NAME="ref_548_22" HREF="terminal_interface-curses__ads.htm#ref_937_22">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_550_16">Haskey</A></span> (<span class="symbol"><A NAME="ref_550_24" HREF="terminal_interface-curses__adb.htm#ref_550_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Haskey, "has_key");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_550_16">Haskey</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_937_22">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_937_13">Has_Key</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_560_13" HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A></span> (<span class="symbol"><A NAME="ref_560_30" HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>) <b>return</b> Boolean
   <b>is</b>
      <span class="symbol"><A NAME="ref_562_7">L</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) +
        Natural (<A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>'Last));
   <b>begin</b>
      <b>if</b> (<A HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A> >= <A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) <b>and</b> <b>then</b> (<A HREF="terminal_interface-curses__ads.htm#ref_944_30">Key</A> <= <A HREF="terminal_interface-curses__adb.htm#ref_562_7">L</A>) <b>then</b>
         <b>return</b> True;
      <b>else</b>
         <b>return</b> False;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_572_13" HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A></span> (<span class="symbol"><A NAME="ref_572_27" HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>)
                          <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>
   <b>is</b>
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_944_13">Is_Function_Key</A> (<A HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A>) <b>then</b>
         <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A> (<A HREF="terminal_interface-curses__ads.htm#ref_951_27">Key</A> - <A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>);
      <b>else</b>
         <b>raise</b> Constraint_Error;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_951_13">Function_Key</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_583_13" HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A></span> (<span class="symbol"><A NAME="ref_583_32" HREF="terminal_interface-curses__ads.htm#ref_956_32">Key</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_948_12">Function_Key_Number</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A>
   <b>is</b>
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_71_12">Real_Key_Code</A> (Natural (<A HREF="terminal_interface-curses__ads.htm#ref_110_4">Key_F0</A>) + Natural (<A HREF="terminal_interface-curses__ads.htm#ref_956_32">Key</A>));
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_956_13">Function_Key_Code</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_589_14" HREF="terminal_interface-curses__ads.htm#ref_970_14">Standout</A></span> (<span class="symbol"><A NAME="ref_589_24" HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                       <span class="symbol"><A NAME="ref_590_24" HREF="terminal_interface-curses__ads.htm#ref_971_24">On</A></span>  : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_592_16">wstandout</A></span> (<span class="symbol"><A NAME="ref_592_27" HREF="terminal_interface-curses__adb.htm#ref_592_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, wstandout, "wstandout");
      <b>function</b> <span class="symbol"><A NAME="ref_594_16">wstandend</A></span> (<span class="symbol"><A NAME="ref_594_27" HREF="terminal_interface-curses__adb.htm#ref_594_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, wstandend, "wstandend");
      <span class="symbol"><A NAME="ref_597_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_971_24">On</A> <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_592_16">wstandout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A>);
      <b>else</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_594_16">wstandend</A> (<A HREF="terminal_interface-curses__ads.htm#ref_970_24">Win</A>);
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_597_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_970_14">Standout</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_609_14" HREF="terminal_interface-curses__ads.htm#ref_976_14">Switch_Character_Attribute</A></span>
     (<span class="symbol"><A NAME="ref_610_7" HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_611_7" HREF="terminal_interface-curses__ads.htm#ref_978_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
      <span class="symbol"><A NAME="ref_612_7" HREF="terminal_interface-curses__ads.htm#ref_979_7">On</A></span>   : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_614_16">Wattron</A></span> (<span class="symbol"><A NAME="ref_614_25" HREF="terminal_interface-curses__adb.htm#ref_614_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                        <span class="symbol"><A NAME="ref_615_25" HREF="terminal_interface-curses__adb.htm#ref_614_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wattron, "wattr_on");
      <b>function</b> <span class="symbol"><A NAME="ref_617_16">Wattroff</A></span> (<span class="symbol"><A NAME="ref_617_26" HREF="terminal_interface-curses__adb.htm#ref_617_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_618_26" HREF="terminal_interface-curses__adb.htm#ref_617_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wattroff, "wattr_off");
      <span class="comment"><EM>--  In Ada we use the On Boolean to control whether or not we want to</EM></span>
      <span class="comment"><EM>--  switch on or off the attributes in the set.</EM></span>
      <span class="symbol"><A NAME="ref_622_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <span class="symbol"><A NAME="ref_623_7">AC</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    => Character'First,
                                              <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
                                              <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  => <A HREF="terminal_interface-curses__ads.htm#ref_978_7">Attr</A>);
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_979_7">On</A> <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_614_16">Wattron</A>  (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_623_7">AC</A>);
      <b>else</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_617_16">Wattroff</A> (<A HREF="terminal_interface-curses__ads.htm#ref_977_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_623_7">AC</A>);
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_622_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_976_14">Switch_Character_Attribute</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_637_14" HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A></span>
     (<span class="symbol"><A NAME="ref_638_7" HREF="terminal_interface-curses__ads.htm#ref_988_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_639_7" HREF="terminal_interface-curses__ads.htm#ref_989_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
      <span class="symbol"><A NAME="ref_640_7" HREF="terminal_interface-curses__ads.htm#ref_990_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_642_16">Wattrset</A></span> (<span class="symbol"><A NAME="ref_642_26" HREF="terminal_interface-curses__adb.htm#ref_642_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_643_26" HREF="terminal_interface-curses__adb.htm#ref_642_16">C_Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wattrset, "wattrset"); <span class="comment"><EM>-- ??? wattr_set</EM></span>
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_642_16">Wattrset</A> (<A HREF="terminal_interface-curses__ads.htm#ref_988_7">Win</A>, (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> => Character'First,
                         <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_990_7">Color</A>,
                         <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_989_7">Attr</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_987_14">Set_Character_Attributes</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_654_13" HREF="terminal_interface-curses__ads.htm#ref_996_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_654_38" HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
                                     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_657_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_657_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_658_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                         <span class="symbol"><A NAME="ref_659_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
                         <span class="symbol"><A NAME="ref_660_26" HREF="terminal_interface-curses__adb.htm#ref_657_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wattrget, "wattr_get");
      <span class="symbol"><A NAME="ref_663_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
      <span class="symbol"><A NAME="ref_664_7">Col</A></span>  : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
      <span class="symbol"><A NAME="ref_665_7">Res</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_657_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_997_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_664_7">Col</A>'<b>Access</b>,
                                         System.Null_Address);
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_665_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Ok</A> <b>then</b>
         <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_663_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
      <b>else</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_996_13">Get_Character_Attribute</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_675_13" HREF="terminal_interface-curses__ads.htm#ref_1002_13">Get_Character_Attribute</A></span> (<span class="symbol"><A NAME="ref_675_38" HREF="terminal_interface-curses__ads.htm#ref_1003_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
                                     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_678_16">Wattrget</A></span> (<span class="symbol"><A NAME="ref_678_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_679_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Atr</A></span> : <b>access</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                         <span class="symbol"><A NAME="ref_680_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Col</A></span> : <b>access</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
                         <span class="symbol"><A NAME="ref_681_26" HREF="terminal_interface-curses__adb.htm#ref_678_16">Opt</A></span> : System.Address) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wattrget, "wattr_get");
      <span class="symbol"><A NAME="ref_684_7">Attr</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
      <span class="symbol"><A NAME="ref_685_7">Col</A></span>  : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
      <span class="symbol"><A NAME="ref_686_7">Res</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_678_16">Wattrget</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1003_7">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Attr</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_685_7">Col</A>'<b>Access</b>,
                                         System.Null_Address);
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_686_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_64_4">Curses_Ok</A> <b>then</b>
         <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_684_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
      <b>else</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1002_13">Get_Character_Attribute</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_696_14" HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A></span> (<span class="symbol"><A NAME="ref_696_25" HREF="terminal_interface-curses__ads.htm#ref_1008_25">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                        <span class="symbol"><A NAME="ref_697_25" HREF="terminal_interface-curses__ads.htm#ref_1009_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_699_16">Wset_Color</A></span> (<span class="symbol"><A NAME="ref_699_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                           <span class="symbol"><A NAME="ref_700_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
                           <span class="symbol"><A NAME="ref_701_28" HREF="terminal_interface-curses__adb.htm#ref_699_16">Opts</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Void_Ptr</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wset_Color, "wcolor_set");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_699_16">Wset_Color</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1008_25">Win</A>,
                     <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1009_25">Pair</A>),
                     <A HREF="terminal_interface-curses-aux__ads.htm#ref_57_12">C_Void_Ptr</A> (System.Null_Address)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1008_14">Set_Color</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_712_14" HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A></span>
     (<span class="symbol"><A NAME="ref_713_7" HREF="terminal_interface-curses__ads.htm#ref_1016_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_714_7" HREF="terminal_interface-curses__ads.htm#ref_1017_7">Count</A></span> : Integer := -1;
      <span class="symbol"><A NAME="ref_715_7" HREF="terminal_interface-curses__ads.htm#ref_1018_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
      <span class="symbol"><A NAME="ref_716_7" HREF="terminal_interface-curses__ads.htm#ref_1019_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_718_16">Wchgat</A></span> (<span class="symbol"><A NAME="ref_718_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                       <span class="symbol"><A NAME="ref_719_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Cnt</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                       <span class="symbol"><A NAME="ref_720_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                       <span class="symbol"><A NAME="ref_721_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
                       <span class="symbol"><A NAME="ref_722_24" HREF="terminal_interface-curses__adb.htm#ref_718_16">Opts</A></span>  : System.Address := System.Null_Address)
                       <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wchgat, "wchgat");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_718_16">Wchgat</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1016_7">Win</A>,
                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1017_7">Count</A>),
                 (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> => Character'First,
                  <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
                  <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_1018_7">Attr</A>),
                 <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1019_7">Color</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_737_14" HREF="terminal_interface-curses__ads.htm#ref_1024_14">Change_Attributes</A></span>
     (<span class="symbol"><A NAME="ref_738_7" HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_739_7" HREF="terminal_interface-curses__ads.htm#ref_1026_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'First;
      <span class="symbol"><A NAME="ref_740_7" HREF="terminal_interface-curses__ads.htm#ref_1027_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'First;
      <span class="symbol"><A NAME="ref_741_7" HREF="terminal_interface-curses__ads.htm#ref_1028_7">Count</A></span>  : Integer := -1;
      <span class="symbol"><A NAME="ref_742_7" HREF="terminal_interface-curses__ads.htm#ref_1029_7">Attr</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
      <span class="symbol"><A NAME="ref_743_7" HREF="terminal_interface-curses__ads.htm#ref_1030_7">Color</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1026_7">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1027_7">Column</A>);
      <A HREF="terminal_interface-curses__ads.htm#ref_1015_14">Change_Attributes</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1025_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1028_7">Count</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1029_7">Attr</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1030_7">Color</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1024_14">Change_Attributes</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_750_14" HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_752_16">Beeper</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Beeper, "beep");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_752_16">Beeper</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1040_14">Beep</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_760_14" HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_762_16">Flash</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Flash, "flash");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_762_16">Flash</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1045_14">Flash_Screen</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_770_14" HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A></span> (<span class="symbol"><A NAME="ref_770_31" HREF="terminal_interface-curses__ads.htm#ref_1056_31">SwitchOn</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_772_16">Cbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Cbreak, "cbreak");
      <b>function</b> <span class="symbol"><A NAME="ref_774_16">NoCbreak</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, NoCbreak, "nocbreak");
      <span class="symbol"><A NAME="ref_777_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1056_31">SwitchOn</A> <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_772_16">Cbreak</A>;
      <b>else</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_774_16">NoCbreak</A>;
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_777_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1056_14">Set_Cbreak_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_789_14" HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A></span> (<span class="symbol"><A NAME="ref_789_28" HREF="terminal_interface-curses__ads.htm#ref_1062_28">SwitchOn</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_791_16">Raw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Raw, "raw");
      <b>function</b> <span class="symbol"><A NAME="ref_793_16">NoRaw</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, NoRaw, "noraw");
      <span class="symbol"><A NAME="ref_796_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1062_28">SwitchOn</A> <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_791_16">Raw</A>;
      <b>else</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_793_16">NoRaw</A>;
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_796_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1062_14">Set_Raw_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_808_14" HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A></span> (<span class="symbol"><A NAME="ref_808_29" HREF="terminal_interface-curses__ads.htm#ref_1068_29">SwitchOn</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_810_16">Echo</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Echo, "echo");
      <b>function</b> <span class="symbol"><A NAME="ref_812_16">NoEcho</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, NoEcho, "noecho");
      <span class="symbol"><A NAME="ref_815_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_29">SwitchOn</A> <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_810_16">Echo</A>;
      <b>else</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_812_16">NoEcho</A>;
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_815_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1068_14">Set_Echo_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_827_14" HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A></span> (<span class="symbol"><A NAME="ref_827_29" HREF="terminal_interface-curses__ads.htm#ref_1074_29">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                            <span class="symbol"><A NAME="ref_828_29" HREF="terminal_interface-curses__ads.htm#ref_1075_29">SwitchOn</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_830_16">Meta</A></span> (<span class="symbol"><A NAME="ref_830_22" HREF="terminal_interface-curses__adb.htm#ref_830_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_830_34" HREF="terminal_interface-curses__adb.htm#ref_830_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Meta, "meta");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_830_16">Meta</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1074_29">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1075_29">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1074_14">Set_Meta_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_838_14" HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_838_31" HREF="terminal_interface-curses__ads.htm#ref_1080_31">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                              <span class="symbol"><A NAME="ref_839_31" HREF="terminal_interface-curses__ads.htm#ref_1081_31">SwitchOn</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_841_16">Keypad</A></span> (<span class="symbol"><A NAME="ref_841_24" HREF="terminal_interface-curses__adb.htm#ref_841_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_841_36" HREF="terminal_interface-curses__adb.htm#ref_841_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Keypad, "keypad");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_841_16">Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1080_31">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1081_31">SwitchOn</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1080_14">Set_KeyPad_Mode</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_849_13" HREF="terminal_interface-curses__ads.htm#ref_1085_13">Get_KeyPad_Mode</A></span> (<span class="symbol"><A NAME="ref_849_30" HREF="terminal_interface-curses__ads.htm#ref_1085_30">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
                             <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_852_16">Is_Keypad</A></span> (<span class="symbol"><A NAME="ref_852_27" HREF="terminal_interface-curses__adb.htm#ref_852_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
      <b>pragma</b> Import (C, Is_Keypad, "is_keypad");
   <b>begin</b>
      <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_852_16">Is_Keypad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1085_30">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1085_13">Get_KeyPad_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_858_14" HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A></span> (<span class="symbol"><A NAME="ref_858_26" HREF="terminal_interface-curses__ads.htm#ref_1093_26">Amount</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1090_9">Half_Delay_Amount</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_860_16">Halfdelay</A></span> (<span class="symbol"><A NAME="ref_860_27" HREF="terminal_interface-curses__adb.htm#ref_860_16">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Halfdelay, "halfdelay");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_860_16">Halfdelay</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1093_26">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1093_14">Half_Delay</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_868_14" HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A></span>
     (<span class="symbol"><A NAME="ref_869_7" HREF="terminal_interface-curses__ads.htm#ref_1099_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_870_7" HREF="terminal_interface-curses__ads.htm#ref_1100_7">Mode</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_872_16">Intrflush</A></span> (<span class="symbol"><A NAME="ref_872_27" HREF="terminal_interface-curses__adb.htm#ref_872_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_872_41" HREF="terminal_interface-curses__adb.htm#ref_872_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Intrflush, "intrflush");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_872_16">Intrflush</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1099_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1100_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1098_14">Set_Flush_On_Interrupt_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_880_14" HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A></span>
     (<span class="symbol"><A NAME="ref_881_7" HREF="terminal_interface-curses__ads.htm#ref_1106_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_882_7" HREF="terminal_interface-curses__ads.htm#ref_1107_7">Flush</A></span> : Boolean := True)
   <b>is</b>
      <b>procedure</b> <span class="symbol"><A NAME="ref_884_17">Qiflush</A></span>;
      <b>pragma</b> Import (C, Qiflush, "qiflush");
      <b>procedure</b> <span class="symbol"><A NAME="ref_886_17">No_Qiflush</A></span>;
      <b>pragma</b> Import (C, No_Qiflush, "noqiflush");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1106_7">Win</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1107_7">Flush</A> <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_884_17">Qiflush</A>;
      <b>else</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_886_17">No_Qiflush</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1105_14">Set_Queue_Interrupt_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_899_14" HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A></span>
     (<span class="symbol"><A NAME="ref_900_7" HREF="terminal_interface-curses__ads.htm#ref_1114_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_901_7" HREF="terminal_interface-curses__ads.htm#ref_1115_7">Mode</A></span> : Boolean := False)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_903_16">Nodelay</A></span> (<span class="symbol"><A NAME="ref_903_25" HREF="terminal_interface-curses__adb.htm#ref_903_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_903_39" HREF="terminal_interface-curses__adb.htm#ref_903_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Nodelay, "nodelay");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_903_16">Nodelay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1114_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1115_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1113_14">Set_NoDelay_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_911_14" HREF="terminal_interface-curses__ads.htm#ref_1122_14">Set_Timeout_Mode</A></span> (<span class="symbol"><A NAME="ref_911_32" HREF="terminal_interface-curses__ads.htm#ref_1122_32">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                               <span class="symbol"><A NAME="ref_912_32" HREF="terminal_interface-curses__ads.htm#ref_1123_32">Mode</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_1119_9">Timeout_Mode</A>;
                               <span class="symbol"><A NAME="ref_913_32" HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A></span> : Natural)
   <b>is</b>
      <b>procedure</b> <span class="symbol"><A NAME="ref_915_17">Wtimeout</A></span> (<span class="symbol"><A NAME="ref_915_27" HREF="terminal_interface-curses__adb.htm#ref_915_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_915_41" HREF="terminal_interface-curses__adb.htm#ref_915_17">Amount</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>);
      <b>pragma</b> Import (C, Wtimeout, "wtimeout");
      <span class="symbol"><A NAME="ref_918_7">Time</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
   <b>begin</b>
      <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1123_32">Mode</A> <b>is</b>
         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_26">Blocking</A>     => <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := -1;
         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_36">Non_Blocking</A> => <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := 0;
         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1119_50">Delayed</A>      =>
            <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A> = 0 <b>then</b>
               <b>raise</b> Constraint_Error;
            <b>end</b> <b>if</b>;
            <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1124_32">Amount</A>);
      <b>end</b> <b>case</b>;
      <A HREF="terminal_interface-curses__adb.htm#ref_915_17">Wtimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1122_32">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_918_7">Time</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1122_14">Set_Timeout_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_932_14" HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A></span>
     (<span class="symbol"><A NAME="ref_933_7" HREF="terminal_interface-curses__ads.htm#ref_1135_7">Win</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_934_7" HREF="terminal_interface-curses__ads.htm#ref_1136_7">Timer_Off</A></span> : Boolean := False)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_936_16">Notimeout</A></span> (<span class="symbol"><A NAME="ref_936_27" HREF="terminal_interface-curses__adb.htm#ref_936_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_936_41" HREF="terminal_interface-curses__adb.htm#ref_936_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Notimeout, "notimeout");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_936_16">Notimeout</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1135_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1136_7">Timer_Off</A>)))
        = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1134_14">Set_Escape_Timer_Mode</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_947_14" HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A></span> (<span class="symbol"><A NAME="ref_947_27" HREF="terminal_interface-curses__ads.htm#ref_1145_27">SwitchOn</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_949_16">NL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, NL, "nl");
      <b>function</b> <span class="symbol"><A NAME="ref_951_16">NoNL</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, NoNL, "nonl");
      <span class="symbol"><A NAME="ref_954_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_27">SwitchOn</A> <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_949_16">NL</A>;
      <b>else</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_951_16">NoNL</A>;
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_954_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1145_14">Set_NL_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_966_14" HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A></span>
     (<span class="symbol"><A NAME="ref_967_7" HREF="terminal_interface-curses__ads.htm#ref_1152_7">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_968_7" HREF="terminal_interface-curses__ads.htm#ref_1153_7">Do_Clear</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_970_16">Clear_Ok</A></span> (<span class="symbol"><A NAME="ref_970_26" HREF="terminal_interface-curses__adb.htm#ref_970_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_970_38" HREF="terminal_interface-curses__adb.htm#ref_970_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Clear_Ok, "clearok");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_970_16">Clear_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1152_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1153_7">Do_Clear</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1151_14">Clear_On_Next_Update</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_978_14" HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A></span>
     (<span class="symbol"><A NAME="ref_979_7" HREF="terminal_interface-curses__ads.htm#ref_1159_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_980_7" HREF="terminal_interface-curses__ads.htm#ref_1160_7">Do_Idl</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_982_16">IDL_Ok</A></span> (<span class="symbol"><A NAME="ref_982_24" HREF="terminal_interface-curses__adb.htm#ref_982_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_982_36" HREF="terminal_interface-curses__adb.htm#ref_982_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, IDL_Ok, "idlok");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_982_16">IDL_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1159_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1160_7">Do_Idl</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1158_14">Use_Insert_Delete_Line</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_990_14" HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A></span>
     (<span class="symbol"><A NAME="ref_991_7" HREF="terminal_interface-curses__ads.htm#ref_1166_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_992_7" HREF="terminal_interface-curses__ads.htm#ref_1167_7">Do_Idc</A></span> : Boolean := True)
   <b>is</b>
      <b>procedure</b> <span class="symbol"><A NAME="ref_994_17">IDC_Ok</A></span> (<span class="symbol"><A NAME="ref_994_25" HREF="terminal_interface-curses__adb.htm#ref_994_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_994_37" HREF="terminal_interface-curses__adb.htm#ref_994_17">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>);
      <b>pragma</b> Import (C, IDC_Ok, "idcok");
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_994_17">IDC_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1166_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1167_7">Do_Idc</A>)));
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1165_14">Use_Insert_Delete_Character</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1000_14" HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A></span>
     (<span class="symbol"><A NAME="ref_1001_7" HREF="terminal_interface-curses__ads.htm#ref_1173_7">Win</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1002_7" HREF="terminal_interface-curses__ads.htm#ref_1174_7">Do_Leave</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1004_16">Leave_Ok</A></span> (<span class="symbol"><A NAME="ref_1004_26" HREF="terminal_interface-curses__adb.htm#ref_1004_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1004_38" HREF="terminal_interface-curses__adb.htm#ref_1004_16">Flag</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Leave_Ok, "leaveok");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1004_16">Leave_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1173_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1174_7">Do_Leave</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1172_14">Leave_Cursor_After_Update</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1012_14" HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A></span>
     (<span class="symbol"><A NAME="ref_1013_7" HREF="terminal_interface-curses__ads.htm#ref_1180_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1014_7" HREF="terminal_interface-curses__ads.htm#ref_1181_7">Mode</A></span> : Boolean := False)
   <b>is</b>
      <b>procedure</b> <span class="symbol"><A NAME="ref_1016_17">Immedok</A></span> (<span class="symbol"><A NAME="ref_1016_26" HREF="terminal_interface-curses__adb.htm#ref_1016_17">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1016_40" HREF="terminal_interface-curses__adb.htm#ref_1016_17">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>);
      <b>pragma</b> Import (C, Immedok, "immedok");
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_1016_17">Immedok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1180_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1181_7">Mode</A>)));
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1179_14">Immediate_Update_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1022_14" HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A></span>
     (<span class="symbol"><A NAME="ref_1023_7" HREF="terminal_interface-curses__ads.htm#ref_1187_7">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1024_7" HREF="terminal_interface-curses__ads.htm#ref_1188_7">Mode</A></span> : Boolean := False)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1026_16">Scrollok</A></span> (<span class="symbol"><A NAME="ref_1026_26" HREF="terminal_interface-curses__adb.htm#ref_1026_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1026_40" HREF="terminal_interface-curses__adb.htm#ref_1026_16">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Scrollok, "scrollok");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1026_16">Scrollok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1187_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1188_7">Mode</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1186_14">Allow_Scrolling</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_1034_13" HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A></span> (<span class="symbol"><A NAME="ref_1034_32" HREF="terminal_interface-curses__ads.htm#ref_1192_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
                               <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1037_16">Is_Scroll_Ok</A></span> (<span class="symbol"><A NAME="ref_1037_30" HREF="terminal_interface-curses__adb.htm#ref_1037_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
      <b>pragma</b> Import (C, Is_Scroll_Ok, "is_scrollok");
   <b>begin</b>
      <b>return</b> (<A HREF="terminal_interface-curses__adb.htm#ref_1037_16">Is_Scroll_Ok</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1192_32">Win</A>) /= <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1192_13">Scrolling_Allowed</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1043_14" HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A></span>
     (<span class="symbol"><A NAME="ref_1044_7" HREF="terminal_interface-curses__ads.htm#ref_1198_7">Win</A></span>         : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1045_7" HREF="terminal_interface-curses__ads.htm#ref_1199_7">Top_Line</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1046_7" HREF="terminal_interface-curses__ads.htm#ref_1200_7">Bottom_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1048_16">Wsetscrreg</A></span> (<span class="symbol"><A NAME="ref_1048_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                           <span class="symbol"><A NAME="ref_1049_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                           <span class="symbol"><A NAME="ref_1050_28" HREF="terminal_interface-curses__adb.htm#ref_1048_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wsetscrreg, "wsetscrreg");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1048_16">Wsetscrreg</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1198_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1199_7">Top_Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1200_7">Bottom_Line</A>))
        = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1197_14">Set_Scroll_Region</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1060_14" HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1062_16">Do_Update</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Do_Update, "doupdate");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1062_16">Do_Update</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1210_14">Update_Screen</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1070_14" HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A></span> (<span class="symbol"><A NAME="ref_1070_23" HREF="terminal_interface-curses__ads.htm#ref_1215_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1072_16">Wrefresh</A></span> (<span class="symbol"><A NAME="ref_1072_26" HREF="terminal_interface-curses__adb.htm#ref_1072_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wrefresh, "wrefresh");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1072_16">Wrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1215_23">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1215_14">Refresh</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1080_14" HREF="terminal_interface-curses__ads.htm#ref_1222_14">Refresh_Without_Update</A></span>
     (<span class="symbol"><A NAME="ref_1081_7" HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1083_16">Wnoutrefresh</A></span> (<span class="symbol"><A NAME="ref_1083_30" HREF="terminal_interface-curses__adb.htm#ref_1083_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wnoutrefresh, "wnoutrefresh");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1083_16">Wnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1223_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1222_14">Refresh_Without_Update</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1091_14" HREF="terminal_interface-curses__ads.htm#ref_1229_14">Redraw</A></span> (<span class="symbol"><A NAME="ref_1091_22" HREF="terminal_interface-curses__ads.htm#ref_1229_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1093_16">Redrawwin</A></span> (<span class="symbol"><A NAME="ref_1093_27" HREF="terminal_interface-curses__adb.htm#ref_1093_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Redrawwin, "redrawwin");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1093_16">Redrawwin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1229_22">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1229_14">Redraw</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1101_14" HREF="terminal_interface-curses__ads.htm#ref_1233_14">Redraw</A></span>
     (<span class="symbol"><A NAME="ref_1102_7" HREF="terminal_interface-curses__ads.htm#ref_1233_22">Win</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1103_7" HREF="terminal_interface-curses__ads.htm#ref_1234_22">Begin_Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1104_7" HREF="terminal_interface-curses__ads.htm#ref_1235_22">Line_Count</A></span> : Positive)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1106_16">Wredrawln</A></span> (<span class="symbol"><A NAME="ref_1106_27" HREF="terminal_interface-curses__adb.htm#ref_1106_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1106_41" HREF="terminal_interface-curses__adb.htm#ref_1106_16">First</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>; <span class="symbol"><A NAME="ref_1106_56" HREF="terminal_interface-curses__adb.htm#ref_1106_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>)
                          <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wredrawln, "wredrawln");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1106_16">Wredrawln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1233_22">Win</A>,
                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1234_22">Begin_Line</A>),
                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1235_22">Line_Count</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1233_14">Redraw</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1119_14" HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A></span> (<span class="symbol"><A NAME="ref_1119_21" HREF="terminal_interface-curses__ads.htm#ref_1244_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1121_16">Werase</A></span> (<span class="symbol"><A NAME="ref_1121_24" HREF="terminal_interface-curses__adb.htm#ref_1121_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Werase, "werase");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1121_16">Werase</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1244_21">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1244_14">Erase</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1129_14" HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A></span> (<span class="symbol"><A NAME="ref_1129_21" HREF="terminal_interface-curses__ads.htm#ref_1251_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1131_16">Wclear</A></span> (<span class="symbol"><A NAME="ref_1131_24" HREF="terminal_interface-curses__adb.htm#ref_1131_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wclear, "wclear");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1131_16">Wclear</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1251_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1250_14">Clear</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1139_14" HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A></span> (<span class="symbol"><A NAME="ref_1139_38" HREF="terminal_interface-curses__ads.htm#ref_1258_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1141_16">Wclearbot</A></span> (<span class="symbol"><A NAME="ref_1141_27" HREF="terminal_interface-curses__adb.htm#ref_1141_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wclearbot, "wclrtobot");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1141_16">Wclearbot</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1258_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1257_14">Clear_To_End_Of_Screen</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1149_14" HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A></span> (<span class="symbol"><A NAME="ref_1149_36" HREF="terminal_interface-curses__ads.htm#ref_1265_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1151_16">Wcleareol</A></span> (<span class="symbol"><A NAME="ref_1151_27" HREF="terminal_interface-curses__adb.htm#ref_1151_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wcleareol, "wclrtoeol");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1151_16">Wcleareol</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1265_7">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1264_14">Clear_To_End_Of_Line</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1159_14" HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A></span>
     (<span class="symbol"><A NAME="ref_1160_7" HREF="terminal_interface-curses__ads.htm#ref_1279_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1161_7" HREF="terminal_interface-curses__ads.htm#ref_1280_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
   <b>is</b>
      <b>procedure</b> <span class="symbol"><A NAME="ref_1163_17">WBackground</A></span> (<span class="symbol"><A NAME="ref_1163_30" HREF="terminal_interface-curses__adb.htm#ref_1163_17">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1163_42" HREF="terminal_interface-curses__adb.htm#ref_1163_17">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>);
      <b>pragma</b> Import (C, WBackground, "wbkgdset");
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_1163_17">WBackground</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1279_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1280_7">Ch</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1278_14">Set_Background</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1169_14" HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A></span>
     (<span class="symbol"><A NAME="ref_1170_7" HREF="terminal_interface-curses__ads.htm#ref_1287_7">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1171_7" HREF="terminal_interface-curses__ads.htm#ref_1288_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1173_16">WChangeBkgd</A></span> (<span class="symbol"><A NAME="ref_1173_29" HREF="terminal_interface-curses__adb.htm#ref_1173_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1173_41" HREF="terminal_interface-curses__adb.htm#ref_1173_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
         <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, WChangeBkgd, "wbkgd");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1173_16">WChangeBkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1287_7">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1288_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1286_14">Change_Background</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_1182_13" HREF="terminal_interface-curses__ads.htm#ref_1295_13">Get_Background</A></span> (<span class="symbol"><A NAME="ref_1182_29" HREF="terminal_interface-curses__ads.htm#ref_1295_29">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1185_16">Wgetbkgd</A></span> (<span class="symbol"><A NAME="ref_1185_26" HREF="terminal_interface-curses__adb.htm#ref_1185_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
      <b>pragma</b> Import (C, Wgetbkgd, "getbkgd");
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1185_16">Wgetbkgd</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1295_29">Win</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1295_13">Get_Background</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1191_14" HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A></span> (<span class="symbol"><A NAME="ref_1191_35" HREF="terminal_interface-curses__ads.htm#ref_1322_35">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                                  <span class="symbol"><A NAME="ref_1192_35" HREF="terminal_interface-curses__ads.htm#ref_1323_35">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
                                  <span class="symbol"><A NAME="ref_1193_35" HREF="terminal_interface-curses__ads.htm#ref_1324_35">Count</A></span> : Positive;
                                  <span class="symbol"><A NAME="ref_1194_35" HREF="terminal_interface-curses__ads.htm#ref_1325_35">State</A></span> : Boolean)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1196_16">Wtouchln</A></span> (<span class="symbol"><A NAME="ref_1196_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_1197_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Sta</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                         <span class="symbol"><A NAME="ref_1198_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Cnt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                         <span class="symbol"><A NAME="ref_1199_26" HREF="terminal_interface-curses__adb.htm#ref_1196_16">Chg</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wtouchln, "wtouchln");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1196_16">Wtouchln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1322_35">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1323_35">Start</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1324_35">Count</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1325_35">State</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1209_14" HREF="terminal_interface-curses__ads.htm#ref_1311_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1209_21" HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
      <span class="symbol"><A NAME="ref_1211_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1212_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1211_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1212_7">X</A>);
      <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses__adb.htm#ref_1212_7">X</A>);         <span class="comment"><EM>--  unreferenced</EM></span>
      <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1311_21">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1211_7">Y</A>), True);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1311_14">Touch</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1219_14" HREF="terminal_interface-curses__ads.htm#ref_1306_14">Untouch</A></span> (<span class="symbol"><A NAME="ref_1219_23" HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
      <span class="symbol"><A NAME="ref_1221_7">Y</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1222_7">X</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1221_7">Y</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1222_7">X</A>);
      <b>pragma</b> Warnings (Off, <A HREF="terminal_interface-curses__adb.htm#ref_1222_7">X</A>);         <span class="comment"><EM>--  unreferenced</EM></span>
      <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1306_23">Win</A>, 0, Positive (<A HREF="terminal_interface-curses__adb.htm#ref_1221_7">Y</A>), False);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1306_14">Untouch</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1229_14" HREF="terminal_interface-curses__ads.htm#ref_1315_14">Touch</A></span> (<span class="symbol"><A NAME="ref_1229_21" HREF="terminal_interface-curses__ads.htm#ref_1315_21">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                    <span class="symbol"><A NAME="ref_1230_21" HREF="terminal_interface-curses__ads.htm#ref_1316_21">Start</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
                    <span class="symbol"><A NAME="ref_1231_21" HREF="terminal_interface-curses__ads.htm#ref_1317_21">Count</A></span> : Positive)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_1322_14">Change_Lines_Status</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1315_21">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1316_21">Start</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1317_21">Count</A>, True);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1315_14">Touch</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_1237_13" HREF="terminal_interface-curses__ads.htm#ref_1330_13">Is_Touched</A></span>
     (<span class="symbol"><A NAME="ref_1238_7" HREF="terminal_interface-curses__ads.htm#ref_1330_25">Win</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1239_7" HREF="terminal_interface-curses__ads.htm#ref_1331_25">Line</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>) <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1241_16">WLineTouched</A></span> (<span class="symbol"><A NAME="ref_1241_30" HREF="terminal_interface-curses__adb.htm#ref_1241_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1241_42" HREF="terminal_interface-curses__adb.htm#ref_1241_16">L</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
      <b>pragma</b> Import (C, WLineTouched, "is_linetouched");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1241_16">WLineTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1330_25">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1331_25">Line</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1330_13">Is_Touched</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_1251_13" HREF="terminal_interface-curses__ads.htm#ref_1335_13">Is_Touched</A></span>
     (<span class="symbol"><A NAME="ref_1252_7" HREF="terminal_interface-curses__ads.htm#ref_1335_25">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>) <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1254_16">WWinTouched</A></span> (<span class="symbol"><A NAME="ref_1254_29" HREF="terminal_interface-curses__adb.htm#ref_1254_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
      <b>pragma</b> Import (C, WWinTouched, "is_wintouched");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1254_16">WWinTouched</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1335_25">Win</A>) = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1335_13">Is_Touched</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1264_14" HREF="terminal_interface-curses__ads.htm#ref_1344_14">Copy</A></span>
     (<span class="symbol"><A NAME="ref_1265_7" HREF="terminal_interface-curses__ads.htm#ref_1345_7">Source_Window</A></span>            : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <span class="symbol"><A NAME="ref_1266_7" HREF="terminal_interface-curses__ads.htm#ref_1346_7">Destination_Window</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <span class="symbol"><A NAME="ref_1267_7" HREF="terminal_interface-curses__ads.htm#ref_1347_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1268_7" HREF="terminal_interface-curses__ads.htm#ref_1348_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1269_7" HREF="terminal_interface-curses__ads.htm#ref_1349_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1270_7" HREF="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1271_7" HREF="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1272_7" HREF="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1273_7" HREF="terminal_interface-curses__ads.htm#ref_1353_7">Non_Destructive_Mode</A></span>     : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1275_16">Copywin</A></span> (<span class="symbol"><A NAME="ref_1275_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                        <span class="symbol"><A NAME="ref_1276_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                        <span class="symbol"><A NAME="ref_1277_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Str</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                        <span class="symbol"><A NAME="ref_1278_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Slc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                        <span class="symbol"><A NAME="ref_1279_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dtr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                        <span class="symbol"><A NAME="ref_1280_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dlc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                        <span class="symbol"><A NAME="ref_1281_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Dbr</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                        <span class="symbol"><A NAME="ref_1282_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Drc</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                        <span class="symbol"><A NAME="ref_1283_25" HREF="terminal_interface-curses__adb.htm#ref_1275_16">Ndm</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Copywin, "copywin");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1275_16">Copywin</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1345_7">Source_Window</A>,
                  <A HREF="terminal_interface-curses__ads.htm#ref_1346_7">Destination_Window</A>,
                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1347_7">Source_Top_Row</A>),
                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1348_7">Source_Left_Column</A>),
                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1349_7">Destination_Top_Row</A>),
                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1350_7">Destination_Left_Column</A>),
                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1351_7">Destination_Bottom_Row</A>),
                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1352_7">Destination_Right_Column</A>),
                  Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1353_7">Non_Destructive_Mode</A>)
                 ) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1344_14">Copy</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1301_14" HREF="terminal_interface-curses__ads.htm#ref_1358_14">Overwrite</A></span>
     (<span class="symbol"><A NAME="ref_1302_7" HREF="terminal_interface-curses__ads.htm#ref_1358_25">Source_Window</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <span class="symbol"><A NAME="ref_1303_7" HREF="terminal_interface-curses__ads.htm#ref_1359_25">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1305_16">Overwrite</A></span> (<span class="symbol"><A NAME="ref_1305_27" HREF="terminal_interface-curses__adb.htm#ref_1305_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1305_41" HREF="terminal_interface-curses__adb.htm#ref_1305_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Overwrite, "overwrite");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1305_16">Overwrite</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1358_25">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1359_25">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1358_14">Overwrite</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1313_14" HREF="terminal_interface-curses__ads.htm#ref_1364_14">Overlay</A></span>
     (<span class="symbol"><A NAME="ref_1314_7" HREF="terminal_interface-curses__ads.htm#ref_1364_23">Source_Window</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <span class="symbol"><A NAME="ref_1315_7" HREF="terminal_interface-curses__ads.htm#ref_1365_23">Destination_Window</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1317_16">Overlay</A></span> (<span class="symbol"><A NAME="ref_1317_25" HREF="terminal_interface-curses__adb.htm#ref_1317_16">Src</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1317_39" HREF="terminal_interface-curses__adb.htm#ref_1317_16">Dst</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Overlay, "overlay");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1317_16">Overlay</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1364_23">Source_Window</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1365_23">Destination_Window</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1364_14">Overlay</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1326_14" HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A></span>
     (<span class="symbol"><A NAME="ref_1327_7" HREF="terminal_interface-curses__ads.htm#ref_1375_7">Win</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1328_7" HREF="terminal_interface-curses__ads.htm#ref_1376_7">Lines</A></span> : Integer       := 1) <span class="comment"><EM>-- default is to insert one line above</EM></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1330_16">Winsdelln</A></span> (<span class="symbol"><A NAME="ref_1330_27" HREF="terminal_interface-curses__adb.htm#ref_1330_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1330_39" HREF="terminal_interface-curses__adb.htm#ref_1330_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Winsdelln, "winsdelln");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1330_16">Winsdelln</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1375_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1376_7">Lines</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1338_14" HREF="terminal_interface-curses__ads.htm#ref_1382_14">Delete_Line</A></span> (<span class="symbol"><A NAME="ref_1338_27" HREF="terminal_interface-curses__ads.htm#ref_1382_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1382_27">Win</A>, -1);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1382_14">Delete_Line</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1344_14" HREF="terminal_interface-curses__ads.htm#ref_1388_14">Insert_Line</A></span> (<span class="symbol"><A NAME="ref_1344_27" HREF="terminal_interface-curses__ads.htm#ref_1388_27">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_1374_14">Insert_Delete_Lines</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1388_27">Win</A>, 1);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1388_14">Insert_Line</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1351_14" HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A></span>
     (<span class="symbol"><A NAME="ref_1352_7" HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1353_7" HREF="terminal_interface-curses__ads.htm#ref_1400_7">Number_Of_Lines</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
      <span class="symbol"><A NAME="ref_1354_7" HREF="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Columns</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1356_16">GetMaxY</A></span> (<span class="symbol"><A NAME="ref_1356_25" HREF="terminal_interface-curses__adb.htm#ref_1356_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, GetMaxY, "getmaxy");
      <b>function</b> <span class="symbol"><A NAME="ref_1359_16">GetMaxX</A></span> (<span class="symbol"><A NAME="ref_1359_25" HREF="terminal_interface-curses__adb.htm#ref_1359_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, GetMaxX, "getmaxx");
      <span class="symbol"><A NAME="ref_1362_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1356_16">GetMaxY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A>);
      <span class="symbol"><A NAME="ref_1363_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1359_16">GetMaxX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1399_7">Win</A>);
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_1400_7">Number_Of_Lines</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1362_7">Y</A>);
      <A HREF="terminal_interface-curses__ads.htm#ref_1401_7">Number_Of_Columns</A> := <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1363_7">X</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1398_14">Get_Size</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1369_14" HREF="terminal_interface-curses__ads.htm#ref_1406_14">Get_Window_Position</A></span>
     (<span class="symbol"><A NAME="ref_1370_7" HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A></span>             : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1371_7" HREF="terminal_interface-curses__ads.htm#ref_1408_7">Top_Left_Line</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1372_7" HREF="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1374_16">GetBegY</A></span> (<span class="symbol"><A NAME="ref_1374_25" HREF="terminal_interface-curses__adb.htm#ref_1374_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, GetBegY, "getbegy");
      <b>function</b> <span class="symbol"><A NAME="ref_1377_16">GetBegX</A></span> (<span class="symbol"><A NAME="ref_1377_25" HREF="terminal_interface-curses__adb.htm#ref_1377_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, GetBegX, "getbegx");
      <span class="symbol"><A NAME="ref_1380_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1374_16">GetBegY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A>));
      <span class="symbol"><A NAME="ref_1381_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1377_16">GetBegX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1407_7">Win</A>));
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_1408_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1380_7">Y</A>);
      <A HREF="terminal_interface-curses__ads.htm#ref_1409_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1381_7">X</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1406_14">Get_Window_Position</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1387_14" HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A></span>
     (<span class="symbol"><A NAME="ref_1388_7" HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1389_7" HREF="terminal_interface-curses__ads.htm#ref_1416_7">Line</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1390_7" HREF="terminal_interface-curses__ads.htm#ref_1417_7">Column</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1392_16">GetCurY</A></span> (<span class="symbol"><A NAME="ref_1392_25" HREF="terminal_interface-curses__adb.htm#ref_1392_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, GetCurY, "getcury");
      <b>function</b> <span class="symbol"><A NAME="ref_1395_16">GetCurX</A></span> (<span class="symbol"><A NAME="ref_1395_25" HREF="terminal_interface-curses__adb.htm#ref_1395_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, GetCurX, "getcurx");
      <span class="symbol"><A NAME="ref_1398_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1392_16">GetCurY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A>));
      <span class="symbol"><A NAME="ref_1399_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1395_16">GetCurX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1415_7">Win</A>));
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_1416_7">Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1398_7">Y</A>);
      <A HREF="terminal_interface-curses__ads.htm#ref_1417_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1399_7">X</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1414_14">Get_Cursor_Position</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1405_14" HREF="terminal_interface-curses__ads.htm#ref_1422_14">Get_Origin_Relative_To_Parent</A></span>
     (<span class="symbol"><A NAME="ref_1406_7" HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A></span>                :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <span class="symbol"><A NAME="ref_1407_7" HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A></span>      : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1408_7" HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A></span>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1409_7" HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A></span> : <b>out</b> Boolean)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1411_16">GetParY</A></span> (<span class="symbol"><A NAME="ref_1411_25" HREF="terminal_interface-curses__adb.htm#ref_1411_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, GetParY, "getpary");
      <b>function</b> <span class="symbol"><A NAME="ref_1414_16">GetParX</A></span> (<span class="symbol"><A NAME="ref_1414_25" HREF="terminal_interface-curses__adb.htm#ref_1414_16">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, GetParX, "getparx");
      <span class="symbol"><A NAME="ref_1417_7">Y</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1411_16">GetParY</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A>);
      <span class="symbol"><A NAME="ref_1418_7">X</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1414_16">GetParX</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1423_7">Win</A>);
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1417_7">Y</A> = -1 <b>then</b>
         <A HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>'Last;
         <A HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>'Last;
         <A HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A> := True;
      <b>else</b>
         <A HREF="terminal_interface-curses__ads.htm#ref_1424_7">Top_Left_Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1417_7">Y</A>);
         <A HREF="terminal_interface-curses__ads.htm#ref_1425_7">Top_Left_Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1418_7">X</A>);
         <A HREF="terminal_interface-curses__ads.htm#ref_1426_7">Is_Not_A_Subwindow</A> := False;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1422_14">Get_Origin_Relative_To_Parent</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>function</b> <span class="symbol"><A NAME="ref_1431_13" HREF="terminal_interface-curses__ads.htm#ref_1437_13">New_Pad</A></span> (<span class="symbol"><A NAME="ref_1431_22" HREF="terminal_interface-curses__ads.htm#ref_1437_22">Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
                     <span class="symbol"><A NAME="ref_1432_22" HREF="terminal_interface-curses__ads.htm#ref_1438_22">Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1434_16">Newpad</A></span> (<span class="symbol"><A NAME="ref_1434_24" HREF="terminal_interface-curses__adb.htm#ref_1434_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>; <span class="symbol"><A NAME="ref_1434_39" HREF="terminal_interface-curses__adb.htm#ref_1434_16">Columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <b>pragma</b> Import (C, Newpad, "newpad");
      <span class="symbol"><A NAME="ref_1437_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_1437_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1434_16">Newpad</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1437_22">Lines</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1438_22">Columns</A>));
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1437_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1437_7">W</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1437_13">New_Pad</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_1446_13" HREF="terminal_interface-curses__ads.htm#ref_1443_13">Sub_Pad</A></span>
     (<span class="symbol"><A NAME="ref_1447_7" HREF="terminal_interface-curses__ads.htm#ref_1444_7">Pad</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <span class="symbol"><A NAME="ref_1448_7" HREF="terminal_interface-curses__ads.htm#ref_1445_7">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
      <span class="symbol"><A NAME="ref_1449_7" HREF="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>;
      <span class="symbol"><A NAME="ref_1450_7" HREF="terminal_interface-curses__ads.htm#ref_1447_7">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1451_7" HREF="terminal_interface-curses__ads.htm#ref_1448_7">First_Column_Position</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1453_16">Subpad</A></span>
        (<span class="symbol"><A NAME="ref_1454_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">Pad</A></span>                   : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
         <span class="symbol"><A NAME="ref_1455_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">Number_Of_Lines</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1456_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">Number_Of_Columns</A></span>     : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1457_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">First_Line_Position</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1458_10" HREF="terminal_interface-curses__adb.htm#ref_1453_16">First_Column_Position</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <b>pragma</b> Import (C, Subpad, "subpad");
      <span class="symbol"><A NAME="ref_1461_7">W</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_1461_7">W</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1453_16">Subpad</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1444_7">Pad</A>,
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1445_7">Number_Of_Lines</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1446_7">Number_Of_Columns</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1447_7">First_Line_Position</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1448_7">First_Column_Position</A>));
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1461_7">W</A> = <A HREF="terminal_interface-curses__ads.htm#ref_56_4">Null_Window</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1461_7">W</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1443_13">Sub_Pad</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1474_14" HREF="terminal_interface-curses__ads.htm#ref_1453_14">Refresh</A></span>
     (<span class="symbol"><A NAME="ref_1475_7" HREF="terminal_interface-curses__ads.htm#ref_1454_7">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <span class="symbol"><A NAME="ref_1476_7" HREF="terminal_interface-curses__ads.htm#ref_1455_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1477_7" HREF="terminal_interface-curses__ads.htm#ref_1456_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1478_7" HREF="terminal_interface-curses__ads.htm#ref_1457_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1479_7" HREF="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1480_7" HREF="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1481_7" HREF="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1483_16">Prefresh</A></span>
        (<span class="symbol"><A NAME="ref_1484_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
         <span class="symbol"><A NAME="ref_1485_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1486_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1487_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1488_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1489_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1490_10" HREF="terminal_interface-curses__adb.htm#ref_1483_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Prefresh, "prefresh");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1483_16">Prefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1454_7">Pad</A>,
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1455_7">Source_Top_Row</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1456_7">Source_Left_Column</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1457_7">Destination_Top_Row</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1458_7">Destination_Left_Column</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1459_7">Destination_Bottom_Row</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1460_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1453_14">Refresh</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1505_14" HREF="terminal_interface-curses__ads.htm#ref_1465_14">Refresh_Without_Update</A></span>
     (<span class="symbol"><A NAME="ref_1506_7" HREF="terminal_interface-curses__ads.htm#ref_1466_7">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <span class="symbol"><A NAME="ref_1507_7" HREF="terminal_interface-curses__ads.htm#ref_1467_7">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1508_7" HREF="terminal_interface-curses__ads.htm#ref_1468_7">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1509_7" HREF="terminal_interface-curses__ads.htm#ref_1469_7">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1510_7" HREF="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1511_7" HREF="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1512_7" HREF="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1514_16">Pnoutrefresh</A></span>
        (<span class="symbol"><A NAME="ref_1515_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Pad</A></span>                      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
         <span class="symbol"><A NAME="ref_1516_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Source_Top_Row</A></span>           : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1517_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Source_Left_Column</A></span>       : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1518_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Top_Row</A></span>      : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1519_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Left_Column</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1520_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Bottom_Row</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
         <span class="symbol"><A NAME="ref_1521_10" HREF="terminal_interface-curses__adb.htm#ref_1514_16">Destination_Right_Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Pnoutrefresh, "pnoutrefresh");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1514_16">Pnoutrefresh</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1466_7">Pad</A>,
                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1467_7">Source_Top_Row</A>),
                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1468_7">Source_Left_Column</A>),
                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1469_7">Destination_Top_Row</A>),
                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1470_7">Destination_Left_Column</A>),
                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1471_7">Destination_Bottom_Row</A>),
                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1472_7">Destination_Right_Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1465_14">Refresh_Without_Update</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1536_14" HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A></span>
     (<span class="symbol"><A NAME="ref_1537_7" HREF="terminal_interface-curses__ads.htm#ref_1478_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <span class="symbol"><A NAME="ref_1538_7" HREF="terminal_interface-curses__ads.htm#ref_1479_7">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1540_16">Pechochar</A></span> (<span class="symbol"><A NAME="ref_1540_27" HREF="terminal_interface-curses__adb.htm#ref_1540_16">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1540_41" HREF="terminal_interface-curses__adb.htm#ref_1540_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
                          <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Pechochar, "pechochar");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1540_16">Pechochar</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1478_7">Pad</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1479_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1549_14" HREF="terminal_interface-curses__ads.htm#ref_1482_14">Add_Character_To_Pad_And_Echo_It</A></span>
     (<span class="symbol"><A NAME="ref_1550_7" HREF="terminal_interface-curses__ads.htm#ref_1483_7">Pad</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
      <span class="symbol"><A NAME="ref_1551_7" HREF="terminal_interface-curses__ads.htm#ref_1484_7">Ch</A></span>  : Character)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_1477_14">Add_Character_To_Pad_And_Echo_It</A>
        (<A HREF="terminal_interface-curses__ads.htm#ref_1483_7">Pad</A>,
         <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>'(<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    => <A HREF="terminal_interface-curses__ads.htm#ref_1484_7">Ch</A>,
                               <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
                               <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  => <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1482_14">Add_Character_To_Pad_And_Echo_It</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1561_14" HREF="terminal_interface-curses__ads.htm#ref_1492_14">Scroll</A></span> (<span class="symbol"><A NAME="ref_1561_22" HREF="terminal_interface-curses__ads.htm#ref_1492_22">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                     <span class="symbol"><A NAME="ref_1562_22" HREF="terminal_interface-curses__ads.htm#ref_1493_22">Amount</A></span> : Integer := 1)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1564_16">Wscrl</A></span> (<span class="symbol"><A NAME="ref_1564_23" HREF="terminal_interface-curses__adb.htm#ref_1564_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1564_37" HREF="terminal_interface-curses__adb.htm#ref_1564_16">N</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wscrl, "wscrl");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1564_16">Wscrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1492_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1493_22">Amount</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1492_14">Scroll</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1574_14" HREF="terminal_interface-curses__ads.htm#ref_1504_14">Delete_Character</A></span> (<span class="symbol"><A NAME="ref_1574_32" HREF="terminal_interface-curses__ads.htm#ref_1504_32">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1576_16">Wdelch</A></span> (<span class="symbol"><A NAME="ref_1576_24" HREF="terminal_interface-curses__adb.htm#ref_1576_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wdelch, "wdelch");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1576_16">Wdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1504_32">Win</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1504_14">Delete_Character</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1584_14" HREF="terminal_interface-curses__ads.htm#ref_1509_14">Delete_Character</A></span>
     (<span class="symbol"><A NAME="ref_1585_7" HREF="terminal_interface-curses__ads.htm#ref_1510_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1586_7" HREF="terminal_interface-curses__ads.htm#ref_1511_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1587_7" HREF="terminal_interface-curses__ads.htm#ref_1512_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1589_16">Mvwdelch</A></span> (<span class="symbol"><A NAME="ref_1589_26" HREF="terminal_interface-curses__adb.htm#ref_1589_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_1590_26" HREF="terminal_interface-curses__adb.htm#ref_1589_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                         <span class="symbol"><A NAME="ref_1591_26" HREF="terminal_interface-curses__adb.htm#ref_1589_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Mvwdelch, "mvwdelch");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1589_16">Mvwdelch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1510_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1511_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1512_7">Column</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1509_14">Delete_Character</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>function</b> <span class="symbol"><A NAME="ref_1599_13" HREF="terminal_interface-curses__ads.htm#ref_1522_13">Peek</A></span> (<span class="symbol"><A NAME="ref_1599_19" HREF="terminal_interface-curses__ads.htm#ref_1522_19">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>)
     <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1602_16">Winch</A></span> (<span class="symbol"><A NAME="ref_1602_23" HREF="terminal_interface-curses__adb.htm#ref_1602_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
      <b>pragma</b> Import (C, Winch, "winch");
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1602_16">Winch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1522_19">Win</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1522_13">Peek</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_1608_13" HREF="terminal_interface-curses__ads.htm#ref_1528_13">Peek</A></span>
     (<span class="symbol"><A NAME="ref_1609_7" HREF="terminal_interface-curses__ads.htm#ref_1529_7">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1610_7" HREF="terminal_interface-curses__ads.htm#ref_1530_7">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1611_7" HREF="terminal_interface-curses__ads.htm#ref_1531_7">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1613_16">Mvwinch</A></span> (<span class="symbol"><A NAME="ref_1613_25" HREF="terminal_interface-curses__adb.htm#ref_1613_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                        <span class="symbol"><A NAME="ref_1614_25" HREF="terminal_interface-curses__adb.htm#ref_1613_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                        <span class="symbol"><A NAME="ref_1615_25" HREF="terminal_interface-curses__adb.htm#ref_1613_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
      <b>pragma</b> Import (C, Mvwinch, "mvwinch");
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1613_16">Mvwinch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1529_7">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1530_7">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1531_7">Column</A>));
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1528_13">Peek</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1621_14" HREF="terminal_interface-curses__ads.htm#ref_1541_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1621_22" HREF="terminal_interface-curses__ads.htm#ref_1541_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                     <span class="symbol"><A NAME="ref_1622_22" HREF="terminal_interface-curses__ads.htm#ref_1542_22">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1624_16">Winsch</A></span> (<span class="symbol"><A NAME="ref_1624_24" HREF="terminal_interface-curses__adb.htm#ref_1624_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>; <span class="symbol"><A NAME="ref_1624_38" HREF="terminal_interface-curses__adb.htm#ref_1624_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Winsch, "winsch");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1624_16">Winsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1541_22">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1542_22">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1541_14">Insert</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1632_14" HREF="terminal_interface-curses__ads.htm#ref_1547_14">Insert</A></span>
     (<span class="symbol"><A NAME="ref_1633_7" HREF="terminal_interface-curses__ads.htm#ref_1547_22">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1634_7" HREF="terminal_interface-curses__ads.htm#ref_1548_22">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1635_7" HREF="terminal_interface-curses__ads.htm#ref_1549_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1636_7" HREF="terminal_interface-curses__ads.htm#ref_1550_22">Ch</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1638_16">Mvwinsch</A></span> (<span class="symbol"><A NAME="ref_1638_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_1639_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Lin</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                         <span class="symbol"><A NAME="ref_1640_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Col</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                         <span class="symbol"><A NAME="ref_1641_26" HREF="terminal_interface-curses__adb.htm#ref_1638_16">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Mvwinsch, "mvwinsch");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1638_16">Mvwinsch</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1547_22">Win</A>,
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1548_22">Line</A>),
                   <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1549_22">Column</A>),
                   <A HREF="terminal_interface-curses__ads.htm#ref_1550_22">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1547_14">Insert</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1653_14" HREF="terminal_interface-curses__ads.htm#ref_1559_14">Insert</A></span> (<span class="symbol"><A NAME="ref_1653_22" HREF="terminal_interface-curses__ads.htm#ref_1559_22">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                     <span class="symbol"><A NAME="ref_1654_22" HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A></span> : String;
                     <span class="symbol"><A NAME="ref_1655_22" HREF="terminal_interface-curses__ads.htm#ref_1561_22">Len</A></span> : Integer := -1)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1657_16">Winsnstr</A></span> (<span class="symbol"><A NAME="ref_1657_26" HREF="terminal_interface-curses__adb.htm#ref_1657_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_1658_26" HREF="terminal_interface-curses__adb.htm#ref_1657_16">Str</A></span> : char_array;
                         <span class="symbol"><A NAME="ref_1659_26" HREF="terminal_interface-curses__adb.htm#ref_1657_16">Len</A></span> : Integer := -1) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Winsnstr, "winsnstr");
      <span class="symbol"><A NAME="ref_1662_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A>'Length);
      <span class="symbol"><A NAME="ref_1663_7">Length</A></span> : size_t;
   <b>begin</b>
      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1560_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1662_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1663_7">Length</A>);
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1657_16">Winsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1559_22">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1662_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1561_22">Len</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1559_14">Insert</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1671_14" HREF="terminal_interface-curses__ads.htm#ref_1568_14">Insert</A></span>
     (<span class="symbol"><A NAME="ref_1672_7" HREF="terminal_interface-curses__ads.htm#ref_1568_22">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1673_7" HREF="terminal_interface-curses__ads.htm#ref_1569_22">Line</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1674_7" HREF="terminal_interface-curses__ads.htm#ref_1570_22">Column</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1675_7" HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A></span>    : String;
      <span class="symbol"><A NAME="ref_1676_7" HREF="terminal_interface-curses__ads.htm#ref_1572_22">Len</A></span>    : Integer := -1)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1678_16">Mvwinsnstr</A></span> (<span class="symbol"><A NAME="ref_1678_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Win</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                           <span class="symbol"><A NAME="ref_1679_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Line</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                           <span class="symbol"><A NAME="ref_1680_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Column</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                           <span class="symbol"><A NAME="ref_1681_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Str</A></span>    : char_array;
                           <span class="symbol"><A NAME="ref_1682_28" HREF="terminal_interface-curses__adb.htm#ref_1678_16">Len</A></span>    : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Mvwinsnstr, "mvwinsnstr");
      <span class="symbol"><A NAME="ref_1685_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A>'Length);
      <span class="symbol"><A NAME="ref_1686_7">Length</A></span> : size_t;
   <b>begin</b>
      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1571_22">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1685_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1686_7">Length</A>);
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1678_16">Mvwinsnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1568_22">Win</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1569_22">Line</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1570_22">Column</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1685_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1572_22">Len</A>))
        = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1568_14">Insert</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1696_14" HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A></span> (<span class="symbol"><A NAME="ref_1696_20" HREF="terminal_interface-curses__ads.htm#ref_1584_20">Win</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                   <span class="symbol"><A NAME="ref_1697_20" HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A></span> : <b>out</b> String;
                   <span class="symbol"><A NAME="ref_1698_20" HREF="terminal_interface-curses__ads.htm#ref_1586_20">Len</A></span> :  Integer := -1)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1700_16">Winnstr</A></span> (<span class="symbol"><A NAME="ref_1700_25" HREF="terminal_interface-curses__adb.htm#ref_1700_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                        <span class="symbol"><A NAME="ref_1701_25" HREF="terminal_interface-curses__adb.htm#ref_1700_16">Str</A></span> : char_array;
                        <span class="symbol"><A NAME="ref_1702_25" HREF="terminal_interface-curses__adb.htm#ref_1700_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Winnstr, "winnstr");
      <span class="symbol"><A NAME="ref_1705_7">N</A></span>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1586_20">Len</A>;
      <span class="symbol"><A NAME="ref_1706_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length);
      <span class="symbol"><A NAME="ref_1707_7">Cnt</A></span> : Natural;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A> < 0 <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length;
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length <b>then</b>
         <b>raise</b> Constraint_Error;
      <b>end</b> <b>if</b>;
      <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char'First;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1700_16">Winnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1584_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1705_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1706_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</A>, True);
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Length <b>then</b>
         <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1707_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1585_20">Str</A>'Last) := (<b>others</b> => ' ');
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1725_14" HREF="terminal_interface-curses__ads.htm#ref_1593_14">Peek</A></span>
     (<span class="symbol"><A NAME="ref_1726_7" HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1727_7" HREF="terminal_interface-curses__ads.htm#ref_1594_20">Line</A></span>   :  <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1728_7" HREF="terminal_interface-curses__ads.htm#ref_1595_20">Column</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1729_7" HREF="terminal_interface-curses__ads.htm#ref_1596_20">Str</A></span>    : <b>out</b> String;
      <span class="symbol"><A NAME="ref_1730_7" HREF="terminal_interface-curses__ads.htm#ref_1597_20">Len</A></span>    :  Integer := -1)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1594_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1595_20">Column</A>);
      <A HREF="terminal_interface-curses__ads.htm#ref_1584_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1593_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1596_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1597_20">Len</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1593_14">Peek</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1737_14" HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A></span>
     (<span class="symbol"><A NAME="ref_1738_7" HREF="terminal_interface-curses__ads.htm#ref_1608_20">Win</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1739_7" HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
      <span class="symbol"><A NAME="ref_1740_7" HREF="terminal_interface-curses__ads.htm#ref_1610_20">Len</A></span> :  Integer := -1)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1742_16">Winchnstr</A></span> (<span class="symbol"><A NAME="ref_1742_27" HREF="terminal_interface-curses__adb.htm#ref_1742_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                          <span class="symbol"><A NAME="ref_1743_27" HREF="terminal_interface-curses__adb.htm#ref_1742_16">Str</A></span> : chtype_array;             <span class="comment"><EM>-- out</EM></span>
                          <span class="symbol"><A NAME="ref_1744_27" HREF="terminal_interface-curses__adb.htm#ref_1742_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Winchnstr, "winchnstr");
      <span class="symbol"><A NAME="ref_1747_7">N</A></span>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1610_20">Len</A>;
      <span class="symbol"><A NAME="ref_1748_7">Txt</A></span> : <b>constant</b> chtype_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length)
          := (0 => <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>);
      <span class="symbol"><A NAME="ref_1750_7">Cnt</A></span> : Natural := 0;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A> < 0 <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length;
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length <b>then</b>
         <b>raise</b> Constraint_Error;
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1742_16">Winchnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1608_20">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1748_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1747_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      <b>for</b> <span class="symbol"><A NAME="ref_1761_11">To</A></span> <b>in</b> <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'<b>Range</b> <b>loop</b>
         <b>exit</b> <b>when</b> <A HREF="terminal_interface-curses__adb.htm#ref_1748_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A>)) = <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Default_Character</A>;
         <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1761_11">To</A>) := <A HREF="terminal_interface-curses__adb.htm#ref_1748_7">Txt</A> (size_t (<A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A>));
         <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A> + 1;
      <b>end</b> <b>loop</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Length <b>then</b>
         <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1750_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1609_20">Str</A>'Last) :=
           (<b>others</b> => (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A> => ' ',
                       <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First,
                       <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A> => <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>));
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1774_14" HREF="terminal_interface-curses__ads.htm#ref_1617_14">Peek</A></span>
     (<span class="symbol"><A NAME="ref_1775_7" HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1776_7" HREF="terminal_interface-curses__ads.htm#ref_1618_20">Line</A></span>   :  <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1777_7" HREF="terminal_interface-curses__ads.htm#ref_1619_20">Column</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1778_7" HREF="terminal_interface-curses__ads.htm#ref_1620_20">Str</A></span>    : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_509_4">Attributed_String</A>;
      <span class="symbol"><A NAME="ref_1779_7" HREF="terminal_interface-curses__ads.htm#ref_1621_20">Len</A></span>    : Integer := -1)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1618_20">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1619_20">Column</A>);
      <A HREF="terminal_interface-curses__ads.htm#ref_1608_14">Peek</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1617_20">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1620_20">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1621_20">Len</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1617_14">Peek</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1786_14" HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A></span> (<span class="symbol"><A NAME="ref_1786_19" HREF="terminal_interface-curses__ads.htm#ref_1633_19">Win</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                  <span class="symbol"><A NAME="ref_1787_19" HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A></span> : <b>out</b> String;
                  <span class="symbol"><A NAME="ref_1788_19" HREF="terminal_interface-curses__ads.htm#ref_1635_19">Len</A></span> :  Integer := -1)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1790_16">Wgetnstr</A></span> (<span class="symbol"><A NAME="ref_1790_26" HREF="terminal_interface-curses__adb.htm#ref_1790_16">Win</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                         <span class="symbol"><A NAME="ref_1791_26" HREF="terminal_interface-curses__adb.htm#ref_1790_16">Str</A></span> : char_array;
                         <span class="symbol"><A NAME="ref_1792_26" HREF="terminal_interface-curses__adb.htm#ref_1790_16">Len</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Wgetnstr, "wgetnstr");
      <span class="symbol"><A NAME="ref_1795_7">N</A></span>   : Integer := <A HREF="terminal_interface-curses__ads.htm#ref_1635_19">Len</A>;
      <span class="symbol"><A NAME="ref_1796_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length);
      <span class="symbol"><A NAME="ref_1797_7">Cnt</A></span> : Natural;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A> < 0 <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length;
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A> > <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length <b>then</b>
         <b>raise</b> Constraint_Error;
      <b>end</b> <b>if</b>;
      <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Txt</A> (0) := <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.char'First;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1790_16">Wgetnstr</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1633_19">Win</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1795_7">N</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
      To_Ada (<A HREF="terminal_interface-curses__adb.htm#ref_1796_7">Txt</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</A>, True);
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</A> < <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Length <b>then</b>
         <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A> ((<A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'First + <A HREF="terminal_interface-curses__adb.htm#ref_1797_7">Cnt</A>) .. <A HREF="terminal_interface-curses__ads.htm#ref_1634_19">Str</A>'Last) := (<b>others</b> => ' ');
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1815_14" HREF="terminal_interface-curses__ads.htm#ref_1644_14">Get</A></span>
     (<span class="symbol"><A NAME="ref_1816_7" HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A></span>    :  <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_1817_7" HREF="terminal_interface-curses__ads.htm#ref_1645_19">Line</A></span>   :  <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_1818_7" HREF="terminal_interface-curses__ads.htm#ref_1646_19">Column</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_1819_7" HREF="terminal_interface-curses__ads.htm#ref_1647_19">Str</A></span>    : <b>out</b> String;
      <span class="symbol"><A NAME="ref_1820_7" HREF="terminal_interface-curses__ads.htm#ref_1648_19">Len</A></span>    :  Integer := -1)
   <b>is</b>
   <b>begin</b>
      <A HREF="terminal_interface-curses__ads.htm#ref_681_14">Move_Cursor</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1645_19">Line</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1646_19">Column</A>);
      <A HREF="terminal_interface-curses__ads.htm#ref_1633_14">Get</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1644_19">Win</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1647_19">Str</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1648_19">Len</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1644_14">Get</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1827_14" HREF="terminal_interface-curses__ads.htm#ref_1669_14">Init_Soft_Label_Keys</A></span>
     (<span class="symbol"><A NAME="ref_1828_7" HREF="terminal_interface-curses__ads.htm#ref_1670_7">Format</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1661_9">Soft_Label_Key_Format</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1661_35">Three_Two_Three</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1830_16">Slk_Init</A></span> (<span class="symbol"><A NAME="ref_1830_26" HREF="terminal_interface-curses__adb.htm#ref_1830_16">Fmt</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Init, "slk_init");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1830_16">Slk_Init</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1661_9">Soft_Label_Key_Format</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1670_7">Format</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1669_14">Init_Soft_Label_Keys</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1838_14" HREF="terminal_interface-curses__ads.htm#ref_1675_14">Set_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1838_34" HREF="terminal_interface-curses__ads.htm#ref_1675_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
                                 <span class="symbol"><A NAME="ref_1839_34" HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A></span>  : String;
                                 <span class="symbol"><A NAME="ref_1840_34" HREF="terminal_interface-curses__ads.htm#ref_1677_34">Fmt</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Justification</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1666_33">Left</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1842_16">Slk_Set</A></span> (<span class="symbol"><A NAME="ref_1842_25" HREF="terminal_interface-curses__adb.htm#ref_1842_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                        <span class="symbol"><A NAME="ref_1843_25" HREF="terminal_interface-curses__adb.htm#ref_1842_16">Txt</A></span>   : char_array;
                        <span class="symbol"><A NAME="ref_1844_25" HREF="terminal_interface-curses__adb.htm#ref_1842_16">Fmt</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Set, "slk_set");
      <span class="symbol"><A NAME="ref_1847_7">Txt</A></span> : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A>'Length);
      <span class="symbol"><A NAME="ref_1848_7">Len</A></span> : size_t;
   <b>begin</b>
      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1676_34">Text</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1847_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_1848_7">Len</A>);
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1842_16">Slk_Set</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1675_34">Label</A>), <A HREF="terminal_interface-curses__adb.htm#ref_1847_7">Txt</A>,
                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1666_9">Label_Justification</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1677_34">Fmt</A>))) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1675_14">Set_Soft_Label_Key</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1858_14" HREF="terminal_interface-curses__ads.htm#ref_1682_14">Refresh_Soft_Label_Keys</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1860_16">Slk_Refresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Refresh, "slk_refresh");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1860_16">Slk_Refresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1682_14">Refresh_Soft_Label_Keys</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1868_14" HREF="terminal_interface-curses__ads.htm#ref_1687_14">Refresh_Soft_Label_Keys_Without_Update</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1870_16">Slk_Noutrefresh</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Noutrefresh, "slk_noutrefresh");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1870_16">Slk_Noutrefresh</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1687_14">Refresh_Soft_Label_Keys_Without_Update</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1878_14" HREF="terminal_interface-curses__ads.htm#ref_1692_14">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1878_34" HREF="terminal_interface-curses__ads.htm#ref_1692_34">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>;
                                 <span class="symbol"><A NAME="ref_1879_34" HREF="terminal_interface-curses__ads.htm#ref_1693_34">Text</A></span>  : <b>out</b> String)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1881_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1881_27" HREF="terminal_interface-curses__adb.htm#ref_1881_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Slk_Label, "slk_label");
   <b>begin</b>
      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1881_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1692_34">Label</A>)), <A HREF="terminal_interface-curses__ads.htm#ref_1693_34">Text</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1692_14">Get_Soft_Label_Key</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_1887_13" HREF="terminal_interface-curses__ads.htm#ref_1697_13">Get_Soft_Label_Key</A></span> (<span class="symbol"><A NAME="ref_1887_33" HREF="terminal_interface-curses__ads.htm#ref_1697_33">Label</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1665_9">Label_Number</A>) <b>return</b> String
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1889_16">Slk_Label</A></span> (<span class="symbol"><A NAME="ref_1889_27" HREF="terminal_interface-curses__adb.htm#ref_1889_16">Label</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Slk_Label, "slk_label");
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1889_16">Slk_Label</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1697_33">Label</A>)));
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1697_13">Get_Soft_Label_Key</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1895_14" HREF="terminal_interface-curses__ads.htm#ref_1703_14">Clear_Soft_Label_Keys</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1897_16">Slk_Clear</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Clear, "slk_clear");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1897_16">Slk_Clear</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1703_14">Clear_Soft_Label_Keys</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1905_14" HREF="terminal_interface-curses__ads.htm#ref_1708_14">Restore_Soft_Label_Keys</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1907_16">Slk_Restore</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Restore, "slk_restore");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1907_16">Slk_Restore</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1708_14">Restore_Soft_Label_Keys</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1915_14" HREF="terminal_interface-curses__ads.htm#ref_1713_14">Touch_Soft_Label_Keys</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1917_16">Slk_Touch</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Touch, "slk_touch");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1917_16">Slk_Touch</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1713_14">Touch_Soft_Label_Keys</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1925_14" HREF="terminal_interface-curses__ads.htm#ref_1718_14">Switch_Soft_Label_Key_Attributes</A></span>
     (<span class="symbol"><A NAME="ref_1926_7" HREF="terminal_interface-curses__ads.htm#ref_1719_7">Attr</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>;
      <span class="symbol"><A NAME="ref_1927_7" HREF="terminal_interface-curses__ads.htm#ref_1720_7">On</A></span>   : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1929_16">Slk_Attron</A></span> (<span class="symbol"><A NAME="ref_1929_28" HREF="terminal_interface-curses__adb.htm#ref_1929_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Attron, "slk_attron");
      <b>function</b> <span class="symbol"><A NAME="ref_1931_16">Slk_Attroff</A></span> (<span class="symbol"><A NAME="ref_1931_29" HREF="terminal_interface-curses__adb.htm#ref_1931_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Attroff, "slk_attroff");
      <span class="symbol"><A NAME="ref_1934_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <span class="symbol"><A NAME="ref_1935_7">Ch</A></span>  : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    => Character'First,
                                              <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  => <A HREF="terminal_interface-curses__ads.htm#ref_1719_7">Attr</A>,
                                              <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First);
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1720_7">On</A> <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1929_16">Slk_Attron</A>  (<A HREF="terminal_interface-curses__adb.htm#ref_1935_7">Ch</A>);
      <b>else</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1931_16">Slk_Attroff</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1935_7">Ch</A>);
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1934_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1718_14">Switch_Soft_Label_Key_Attributes</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1949_14" HREF="terminal_interface-curses__ads.htm#ref_1726_14">Set_Soft_Label_Key_Attributes</A></span>
     (<span class="symbol"><A NAME="ref_1950_7" HREF="terminal_interface-curses__ads.htm#ref_1727_7">Attr</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A> := <A HREF="terminal_interface-curses__ads.htm#ref_485_4">Normal_Video</A>;
      <span class="symbol"><A NAME="ref_1951_7" HREF="terminal_interface-curses__ads.htm#ref_1728_7">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A> := <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>'First)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1953_16">Slk_Attrset</A></span> (<span class="symbol"><A NAME="ref_1953_29" HREF="terminal_interface-curses__adb.htm#ref_1953_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Attrset, "slk_attrset");
      <span class="symbol"><A NAME="ref_1956_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := (<A HREF="terminal_interface-curses__ads.htm#ref_491_10">Ch</A>    => Character'First,
                                             <A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>  => <A HREF="terminal_interface-curses__ads.htm#ref_1727_7">Attr</A>,
                                             <A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A> => <A HREF="terminal_interface-curses__ads.htm#ref_1728_7">Color</A>);
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1953_16">Slk_Attrset</A> (<A HREF="terminal_interface-curses__adb.htm#ref_1956_7">Ch</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1726_14">Set_Soft_Label_Key_Attributes</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_1965_13" HREF="terminal_interface-curses__ads.htm#ref_1733_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1967_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
      <b>pragma</b> Import (C, Slk_Attr, "slk_attr");
      <span class="symbol"><A NAME="ref_1970_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1967_16">Slk_Attr</A>;
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1970_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1733_13">Get_Soft_Label_Key_Attributes</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_1975_13" HREF="terminal_interface-curses__ads.htm#ref_1737_13">Get_Soft_Label_Key_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1977_16">Slk_Attr</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
      <b>pragma</b> Import (C, Slk_Attr, "slk_attr");
      <span class="symbol"><A NAME="ref_1980_7">Attr</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_1977_16">Slk_Attr</A>;
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_1980_7">Attr</A>.<A HREF="terminal_interface-curses__ads.htm#ref_490_10">Color</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1737_13">Get_Soft_Label_Key_Attributes</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_1985_14" HREF="terminal_interface-curses__ads.htm#ref_1742_14">Set_Soft_Label_Key_Color</A></span> (<span class="symbol"><A NAME="ref_1985_40" HREF="terminal_interface-curses__ads.htm#ref_1742_40">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1987_16">Slk_Color</A></span> (<span class="symbol"><A NAME="ref_1987_27" HREF="terminal_interface-curses__adb.htm#ref_1987_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Slk_Color, "slk_color");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1987_16">Slk_Color</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1742_40">Pair</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1742_14">Set_Soft_Label_Key_Color</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_1996_14" HREF="terminal_interface-curses__ads.htm#ref_1756_14">Enable_Key</A></span> (<span class="symbol"><A NAME="ref_1996_26" HREF="terminal_interface-curses__ads.htm#ref_1756_26">Key</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>;
                         <span class="symbol"><A NAME="ref_1997_26" HREF="terminal_interface-curses__ads.htm#ref_1757_26">Enable</A></span> : Boolean := True)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_1999_16">Keyok</A></span> (<span class="symbol"><A NAME="ref_1999_23" HREF="terminal_interface-curses__adb.htm#ref_1999_16">Keycode</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                      <span class="symbol"><A NAME="ref_2000_23" HREF="terminal_interface-curses__adb.htm#ref_1999_16">On_Off</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Keyok, "keyok");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_1999_16">Keyok</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1756_26">Key</A>), <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1757_26">Enable</A>)))
        = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1756_14">Enable_Key</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_2010_14" HREF="terminal_interface-curses__ads.htm#ref_1766_14">Define_Key</A></span> (<span class="symbol"><A NAME="ref_2010_26" HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A></span> : String;
                         <span class="symbol"><A NAME="ref_2011_26" HREF="terminal_interface-curses__ads.htm#ref_1767_26">Key</A></span>        : <A HREF="terminal_interface-curses__ads.htm#ref_76_12">Special_Key_Code</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2013_16">Defkey</A></span> (<span class="symbol"><A NAME="ref_2013_24" HREF="terminal_interface-curses__adb.htm#ref_2013_16">Def</A></span> : char_array;
                       <span class="symbol"><A NAME="ref_2014_24" HREF="terminal_interface-curses__adb.htm#ref_2013_16">Key</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Defkey, "define_key");
      <span class="symbol"><A NAME="ref_2017_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A>'Length);
      <span class="symbol"><A NAME="ref_2018_7">Length</A></span> : size_t;
   <b>begin</b>
      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_1766_26">Definition</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2017_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2018_7">Length</A>);
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2013_16">Defkey</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2017_7">Txt</A>, <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1767_26">Key</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1766_14">Define_Key</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_2026_14" HREF="terminal_interface-curses__ads.htm#ref_1792_14">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2026_26" HREF="terminal_interface-curses__ads.htm#ref_1792_26">Ch</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
                         <span class="symbol"><A NAME="ref_2027_26" HREF="terminal_interface-curses__ads.htm#ref_1793_26">Str</A></span> : <b>out</b> String)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2029_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2029_24" HREF="terminal_interface-curses__adb.htm#ref_2029_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Unctrl, "unctrl");
   <b>begin</b>
      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2029_16">Unctrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1792_26">Ch</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1793_26">Str</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1792_14">Un_Control</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2035_13" HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A></span> (<span class="symbol"><A NAME="ref_2035_25" HREF="terminal_interface-curses__ads.htm#ref_1797_25">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> String
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2037_16">Unctrl</A></span> (<span class="symbol"><A NAME="ref_2037_24" HREF="terminal_interface-curses__adb.htm#ref_2037_16">Ch</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>) <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Unctrl, "unctrl");
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2037_16">Unctrl</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1797_25">Ch</A>));
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1797_13">Un_Control</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2043_14" HREF="terminal_interface-curses__ads.htm#ref_1803_14">Delay_Output</A></span> (<span class="symbol"><A NAME="ref_2043_28" HREF="terminal_interface-curses__ads.htm#ref_1803_28">Msecs</A></span> : Natural)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2045_16">Delayoutput</A></span> (<span class="symbol"><A NAME="ref_2045_29" HREF="terminal_interface-curses__adb.htm#ref_2045_16">Msecs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Delayoutput, "delay_output");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2045_16">Delayoutput</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1803_28">Msecs</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1803_14">Delay_Output</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2053_14" HREF="terminal_interface-curses__ads.htm#ref_1808_14">Flush_Input</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2055_16">Flushinp</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Flushinp, "flushinp");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2055_16">Flushinp</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>  <span class="comment"><EM>-- docu says that never happens, but...</EM></span>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1808_14">Flush_Input</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>function</b> <span class="symbol"><A NAME="ref_2063_13" HREF="terminal_interface-curses__ads.htm#ref_1817_13">Baudrate</A></span> <b>return</b> Natural
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2065_16">Baud</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Baud, "baudrate");
   <b>begin</b>
      <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2065_16">Baud</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1817_13">Baudrate</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2071_13" HREF="terminal_interface-curses__ads.htm#ref_1822_13">Erase_Character</A></span> <b>return</b> Character
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2073_16">Erasechar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Erasechar, "erasechar");
   <b>begin</b>
      <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2073_16">Erasechar</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1822_13">Erase_Character</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2079_13" HREF="terminal_interface-curses__ads.htm#ref_1827_13">Kill_Character</A></span> <b>return</b> Character
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2081_16">Killchar</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Killchar, "killchar");
   <b>begin</b>
      <b>return</b> Character'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2081_16">Killchar</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1827_13">Kill_Character</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2087_13" HREF="terminal_interface-curses__ads.htm#ref_1832_13">Has_Insert_Character</A></span> <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2089_16">Has_Ic</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
      <b>pragma</b> Import (C, Has_Ic, "has_ic");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2089_16">Has_Ic</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1832_13">Has_Insert_Character</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2099_13" HREF="terminal_interface-curses__ads.htm#ref_1837_13">Has_Insert_Line</A></span> <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2101_16">Has_Il</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
      <b>pragma</b> Import (C, Has_Il, "has_il");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2101_16">Has_Il</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1837_13">Has_Insert_Line</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2111_13" HREF="terminal_interface-curses__ads.htm#ref_1842_13">Supported_Attributes</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_417_9">Character_Attribute_Set</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2113_16">Termattrs</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A>;
      <b>pragma</b> Import (C, Termattrs, "termattrs");
      <span class="symbol"><A NAME="ref_2116_7">Ch</A></span> : <b>constant</b> <A HREF="terminal_interface-curses__ads.htm#ref_487_9">Attributed_Character</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2113_16">Termattrs</A>;
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses__adb.htm#ref_2116_7">Ch</A>.<A HREF="terminal_interface-curses__ads.htm#ref_489_10">Attr</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1842_13">Supported_Attributes</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2121_14" HREF="terminal_interface-curses__ads.htm#ref_1847_14">Long_Name</A></span> (<span class="symbol"><A NAME="ref_2121_25" HREF="terminal_interface-curses__ads.htm#ref_1847_25">Name</A></span> : <b>out</b> String)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2123_16">Longname</A></span> <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Longname, "longname");
   <b>begin</b>
      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2123_16">Longname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1847_25">Name</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1847_14">Long_Name</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2129_13" HREF="terminal_interface-curses__ads.htm#ref_1851_13">Long_Name</A></span> <b>return</b> String
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2131_16">Longname</A></span> <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Longname, "longname");
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2131_16">Longname</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1851_13">Long_Name</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2137_14" HREF="terminal_interface-curses__ads.htm#ref_1857_14">Terminal_Name</A></span> (<span class="symbol"><A NAME="ref_2137_29" HREF="terminal_interface-curses__ads.htm#ref_1857_29">Name</A></span> : <b>out</b> String)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2139_16">Termname</A></span> <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Termname, "termname");
   <b>begin</b>
      <A HREF="terminal_interface-curses-aux__ads.htm#ref_92_14">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2139_16">Termname</A>, <A HREF="terminal_interface-curses__ads.htm#ref_1857_29">Name</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1857_14">Terminal_Name</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2145_13" HREF="terminal_interface-curses__ads.htm#ref_1861_13">Terminal_Name</A></span> <b>return</b> String
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2147_16">Termname</A></span> <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, Termname, "termname");
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2147_16">Termname</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1861_13">Terminal_Name</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_2153_14" HREF="terminal_interface-curses__ads.htm#ref_1882_14">Init_Pair</A></span> (<span class="symbol"><A NAME="ref_2153_25" HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_411_12">Redefinable_Color_Pair</A>;
                        <span class="symbol"><A NAME="ref_2154_25" HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
                        <span class="symbol"><A NAME="ref_2155_25" HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2157_16">Initpair</A></span> (<span class="symbol"><A NAME="ref_2157_26" HREF="terminal_interface-curses__adb.htm#ref_2157_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
                         <span class="symbol"><A NAME="ref_2158_26" HREF="terminal_interface-curses__adb.htm#ref_2157_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
                         <span class="symbol"><A NAME="ref_2159_26" HREF="terminal_interface-curses__adb.htm#ref_2157_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Initpair, "init_pair");
   <b>begin</b>
      <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A>) >= <A HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A> <b>then</b>
         <b>raise</b> Constraint_Error;
      <b>end</b> <b>if</b>;
      <b>if</b> Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A>) >= <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A> <b>or</b> <b>else</b>
         Integer (<A HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A>) >= <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A>
      <b>then</b>
         <b>raise</b> Constraint_Error;
      <b>end</b> <b>if</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2157_16">Initpair</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1882_25">Pair</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1883_25">Fore</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1884_25">Back</A>))
        = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1882_14">Init_Pair</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2177_14" HREF="terminal_interface-curses__ads.htm#ref_1889_14">Pair_Content</A></span> (<span class="symbol"><A NAME="ref_2177_28" HREF="terminal_interface-curses__ads.htm#ref_1889_28">Pair</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_409_9">Color_Pair</A>;
                           <span class="symbol"><A NAME="ref_2178_28" HREF="terminal_interface-curses__ads.htm#ref_1890_28">Fore</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
                           <span class="symbol"><A NAME="ref_2179_28" HREF="terminal_interface-curses__ads.htm#ref_1891_28">Back</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>)
   <b>is</b>
      <b>type</b> <span class="symbol"><A NAME="ref_2181_12">C_Short_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
      <b>function</b> <span class="symbol"><A NAME="ref_2182_16">Paircontent</A></span> (<span class="symbol"><A NAME="ref_2182_29" HREF="terminal_interface-curses__adb.htm#ref_2182_16">Pair</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
                            <span class="symbol"><A NAME="ref_2183_29" HREF="terminal_interface-curses__adb.htm#ref_2182_16">Fp</A></span>   : <A HREF="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</A>;
                            <span class="symbol"><A NAME="ref_2184_29" HREF="terminal_interface-curses__adb.htm#ref_2182_16">Bp</A></span>   : <A HREF="terminal_interface-curses__adb.htm#ref_2181_12">C_Short_Access</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Paircontent, "pair_content");
      <span class="symbol"><A NAME="ref_2187_7">F</A></span>, <span class="symbol"><A NAME="ref_2187_10">B</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2182_16">Paircontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1889_28">Pair</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2187_7">F</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2187_10">B</A>'<b>Access</b>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>else</b>
         <A HREF="terminal_interface-curses__ads.htm#ref_1890_28">Fore</A> := <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2187_7">F</A>);
         <A HREF="terminal_interface-curses__ads.htm#ref_1891_28">Back</A> := <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2187_10">B</A>);
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1889_14">Pair_Content</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2197_13" HREF="terminal_interface-curses__ads.htm#ref_1896_13">Has_Colors</A></span> <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2199_16">Hascolors</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
      <b>pragma</b> Import (C, Hascolors, "has_colors");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2199_16">Hascolors</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1896_13">Has_Colors</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2209_14" HREF="terminal_interface-curses__ads.htm#ref_1901_14">Init_Color</A></span> (<span class="symbol"><A NAME="ref_2209_26" HREF="terminal_interface-curses__ads.htm#ref_1901_26">Color</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
                         <span class="symbol"><A NAME="ref_2210_26" HREF="terminal_interface-curses__ads.htm#ref_1902_26">Red</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
                         <span class="symbol"><A NAME="ref_2211_26" HREF="terminal_interface-curses__ads.htm#ref_1903_26">Green</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
                         <span class="symbol"><A NAME="ref_2212_26" HREF="terminal_interface-curses__ads.htm#ref_1904_26">Blue</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2214_16">Initcolor</A></span> (<span class="symbol"><A NAME="ref_2214_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Col</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
                          <span class="symbol"><A NAME="ref_2215_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Red</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
                          <span class="symbol"><A NAME="ref_2216_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Green</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
                          <span class="symbol"><A NAME="ref_2217_27" HREF="terminal_interface-curses__adb.htm#ref_2214_16">Blue</A></span>  : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Initcolor, "init_color");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2214_16">Initcolor</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1901_26">Color</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1902_26">Red</A>), <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1903_26">Green</A>),
                    <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1904_26">Blue</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
            <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1901_14">Init_Color</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2227_13" HREF="terminal_interface-curses__ads.htm#ref_1909_13">Can_Change_Color</A></span> <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2229_16">Canchangecolor</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>;
      <b>pragma</b> Import (C, Canchangecolor, "can_change_color");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2229_16">Canchangecolor</A> = <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A> <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1909_13">Can_Change_Color</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2239_14" HREF="terminal_interface-curses__ads.htm#ref_1914_14">Color_Content</A></span> (<span class="symbol"><A NAME="ref_2239_29" HREF="terminal_interface-curses__ads.htm#ref_1914_29">Color</A></span> :  <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A>;
                            <span class="symbol"><A NAME="ref_2240_29" HREF="terminal_interface-curses__ads.htm#ref_1915_29">Red</A></span>   : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
                            <span class="symbol"><A NAME="ref_2241_29" HREF="terminal_interface-curses__ads.htm#ref_1916_29">Green</A></span> : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>;
                            <span class="symbol"><A NAME="ref_2242_29" HREF="terminal_interface-curses__ads.htm#ref_1917_29">Blue</A></span>  : <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A>)
   <b>is</b>
      <b>type</b> <span class="symbol"><A NAME="ref_2244_12">C_Short_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
      <b>function</b> <span class="symbol"><A NAME="ref_2246_16">Colorcontent</A></span> (<span class="symbol"><A NAME="ref_2246_30" HREF="terminal_interface-curses__adb.htm#ref_2246_16">Color</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>; <span class="symbol"><A NAME="ref_2246_47" HREF="terminal_interface-curses__adb.htm#ref_2246_16">R</A></span>, <span class="symbol"><A NAME="ref_2246_50" HREF="terminal_interface-curses__adb.htm#ref_2246_16">G</A></span>, <span class="symbol"><A NAME="ref_2246_53" HREF="terminal_interface-curses__adb.htm#ref_2246_16">B</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2244_12">C_Short_Access</A>)
                             <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Colorcontent, "color_content");
      <span class="symbol"><A NAME="ref_2250_7">R</A></span>, <span class="symbol"><A NAME="ref_2250_10">G</A></span>, <span class="symbol"><A NAME="ref_2250_13">B</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A>;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2246_16">Colorcontent</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_51_12">C_Short</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1914_29">Color</A>), <A HREF="terminal_interface-curses__adb.htm#ref_2250_7">R</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2250_10">G</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2250_13">B</A>'<b>Access</b>) =
        <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>else</b>
         <A HREF="terminal_interface-curses__ads.htm#ref_1915_29">Red</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2250_7">R</A>);
         <A HREF="terminal_interface-curses__ads.htm#ref_1916_29">Green</A> := <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2250_10">G</A>);
         <A HREF="terminal_interface-curses__ads.htm#ref_1917_29">Blue</A>  := <A HREF="terminal_interface-curses__ads.htm#ref_405_9">RGB_Value</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2250_13">B</A>);
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1914_14">Color_Content</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_2264_14" HREF="terminal_interface-curses__ads.htm#ref_1929_14">Save_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_2264_32" HREF="terminal_interface-curses__ads.htm#ref_1929_32">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Mode</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2266_16">Def_Prog_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Def_Prog_Mode, "def_prog_mode");
      <b>function</b> <span class="symbol"><A NAME="ref_2268_16">Def_Shell_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Def_Shell_Mode, "def_shell_mode");
      <span class="symbol"><A NAME="ref_2271_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
   <b>begin</b>
      <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1929_32">Mode</A> <b>is</b>
         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_25">Curses</A> => <A HREF="terminal_interface-curses__adb.htm#ref_2271_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2266_16">Def_Prog_Mode</A>;
         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_33">Shell</A>  => <A HREF="terminal_interface-curses__adb.htm#ref_2271_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2268_16">Def_Shell_Mode</A>;
      <b>end</b> <b>case</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2271_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1929_14">Save_Curses_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2282_14" HREF="terminal_interface-curses__ads.htm#ref_1935_14">Reset_Curses_Mode</A></span> (<span class="symbol"><A NAME="ref_2282_33" HREF="terminal_interface-curses__ads.htm#ref_1935_33">Mode</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_1926_9">Curses_Mode</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2284_16">Reset_Prog_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Reset_Prog_Mode, "reset_prog_mode");
      <b>function</b> <span class="symbol"><A NAME="ref_2286_16">Reset_Shell_Mode</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Reset_Shell_Mode, "reset_shell_mode");
      <span class="symbol"><A NAME="ref_2289_7">Err</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
   <b>begin</b>
      <b>case</b> <A HREF="terminal_interface-curses__ads.htm#ref_1935_33">Mode</A> <b>is</b>
         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_25">Curses</A> => <A HREF="terminal_interface-curses__adb.htm#ref_2289_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2284_16">Reset_Prog_Mode</A>;
         <b>when</b> <A HREF="terminal_interface-curses__ads.htm#ref_1926_33">Shell</A>  => <A HREF="terminal_interface-curses__adb.htm#ref_2289_7">Err</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2286_16">Reset_Shell_Mode</A>;
      <b>end</b> <b>case</b>;
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2289_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1935_14">Reset_Curses_Mode</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2300_14" HREF="terminal_interface-curses__ads.htm#ref_1941_14">Save_Terminal_State</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2302_16">Savetty</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Savetty, "savetty");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2302_16">Savetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1941_14">Save_Terminal_State</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2310_14" HREF="terminal_interface-curses__ads.htm#ref_1946_14">Reset_Terminal_State</A></span>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2312_16">Resetty</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Resetty, "resetty");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2312_16">Resetty</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1946_14">Reset_Terminal_State</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2320_14" HREF="terminal_interface-curses__ads.htm#ref_1959_14">Rip_Off_Lines</A></span> (<span class="symbol"><A NAME="ref_2320_29" HREF="terminal_interface-curses__ads.htm#ref_1959_29">Lines</A></span> : Integer;
                            <span class="symbol"><A NAME="ref_2321_29" HREF="terminal_interface-curses__ads.htm#ref_1960_29">Proc</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_1950_9">Stdscr_Init_Proc</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2323_16">Ripoffline</A></span> (<span class="symbol"><A NAME="ref_2323_28" HREF="terminal_interface-curses__adb.htm#ref_2323_16">Lines</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                           <span class="symbol"><A NAME="ref_2324_28" HREF="terminal_interface-curses__adb.htm#ref_2323_16">Proc</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_1950_9">Stdscr_Init_Proc</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Ripoffline, "_nc_ripoffline");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2323_16">Ripoffline</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1959_29">Lines</A>), <A HREF="terminal_interface-curses__ads.htm#ref_1960_29">Proc</A>) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1959_14">Rip_Off_Lines</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2332_14" HREF="terminal_interface-curses__ads.htm#ref_1971_14">Set_Cursor_Visibility</A></span> (<span class="symbol"><A NAME="ref_2332_37" HREF="terminal_interface-curses__ads.htm#ref_1971_37">Visibility</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2334_16">Curs_Set</A></span> (<span class="symbol"><A NAME="ref_2334_26" HREF="terminal_interface-curses__adb.htm#ref_2334_16">Curs</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Curs_Set, "curs_set");
      <span class="symbol"><A NAME="ref_2337_7">Res</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
   <b>begin</b>
      <A HREF="terminal_interface-curses__adb.htm#ref_2337_7">Res</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2334_16">Curs_Set</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_1971_37">Visibility</A>));
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2337_7">Res</A> /= <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <A HREF="terminal_interface-curses__ads.htm#ref_1971_37">Visibility</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1968_9">Cursor_Visibility</A>'Val (<A HREF="terminal_interface-curses__adb.htm#ref_2337_7">Res</A>);
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1971_14">Set_Cursor_Visibility</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2345_14" HREF="terminal_interface-curses__ads.htm#ref_1976_14">Nap_Milli_Seconds</A></span> (<span class="symbol"><A NAME="ref_2345_33" HREF="terminal_interface-curses__ads.htm#ref_1976_33">Ms</A></span> : Natural)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2347_16">Napms</A></span> (<span class="symbol"><A NAME="ref_2347_23" HREF="terminal_interface-curses__adb.htm#ref_2347_16">Ms</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Napms, "napms");
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2347_16">Napms</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1976_33">Ms</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1976_14">Nap_Milli_Seconds</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>function</b> <span class="symbol"><A NAME="ref_2355_13" HREF="terminal_interface-curses__ads.htm#ref_550_13">Lines</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2357_16">LINES_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
      <b>pragma</b> Import (C, LINES_As_Function, "LINES_as_function");
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2357_16">LINES_As_Function</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_550_13">Lines</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2363_13" HREF="terminal_interface-curses__ads.htm#ref_553_13">Columns</A></span> <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2365_16">COLS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
      <b>pragma</b> Import (C, COLS_As_Function, "COLS_as_function");
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2365_16">COLS_As_Function</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_553_13">Columns</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2371_13" HREF="terminal_interface-curses__ads.htm#ref_556_13">Tab_Size</A></span> <b>return</b> Natural
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2373_16">TABSIZE_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
      <b>pragma</b> Import (C, TABSIZE_As_Function, "TABSIZE_as_function");
   <b>begin</b>
      <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2373_16">TABSIZE_As_Function</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_556_13">Tab_Size</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2380_13" HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A></span> <b>return</b> Natural
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2382_16">COLORS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
      <b>pragma</b> Import (C, COLORS_As_Function, "COLORS_as_function");
   <b>begin</b>
      <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2382_16">COLORS_As_Function</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_559_13">Number_Of_Colors</A>;
   <b>function</b> <span class="symbol"><A NAME="ref_2388_13" HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A></span> <b>return</b> Natural
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2390_16">COLOR_PAIRS_As_Function</A></span> <b>return</b> <A HREF="interfac__ads.htm#ref_36_9">Interfaces</A>.C.int;
      <b>pragma</b> Import (C, COLOR_PAIRS_As_Function, "COLOR_PAIRS_as_function");
   <b>begin</b>
      <b>return</b> Natural (<A HREF="terminal_interface-curses__adb.htm#ref_2390_16">COLOR_PAIRS_As_Function</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_562_13">Number_Of_Color_Pairs</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_2396_14" HREF="terminal_interface-curses__ads.htm#ref_1984_14">Transform_Coordinates</A></span>
     (<span class="symbol"><A NAME="ref_2397_7" HREF="terminal_interface-curses__ads.htm#ref_1985_7">W</A></span>      : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
      <span class="symbol"><A NAME="ref_2398_7" HREF="terminal_interface-curses__ads.htm#ref_1986_7">Line</A></span>   : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A>;
      <span class="symbol"><A NAME="ref_2399_7" HREF="terminal_interface-curses__ads.htm#ref_1987_7">Column</A></span> : <b>in</b> <b>out</b> <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A>;
      <span class="symbol"><A NAME="ref_2400_7" HREF="terminal_interface-curses__ads.htm#ref_1988_7">Dir</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_1983_9">Transform_Direction</A> := <A HREF="terminal_interface-curses__ads.htm#ref_1983_33">From_Screen</A>)
   <b>is</b>
      <b>type</b> <span class="symbol"><A NAME="ref_2402_12">Int_Access</A></span> <b>is</b> <b>access</b> <b>all</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>function</b> <span class="symbol"><A NAME="ref_2403_16">Transform</A></span> (<span class="symbol"><A NAME="ref_2403_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">W</A></span>    : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                          <span class="symbol"><A NAME="ref_2404_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">Y</A></span>, <span class="symbol"><A NAME="ref_2404_30" HREF="terminal_interface-curses__adb.htm#ref_2403_16">X</A></span> : <A HREF="terminal_interface-curses__adb.htm#ref_2402_12">Int_Access</A>;
                          <span class="symbol"><A NAME="ref_2405_27" HREF="terminal_interface-curses__adb.htm#ref_2403_16">Dir</A></span>  : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, Transform, "wmouse_trafo");
      <span class="symbol"><A NAME="ref_2408_7">X</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1987_7">Column</A>);
      <span class="symbol"><A NAME="ref_2409_7">Y</A></span> : <b>aliased</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1986_7">Line</A>);
      <span class="symbol"><A NAME="ref_2410_7">D</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>;
      <span class="symbol"><A NAME="ref_2411_7">R</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__ads.htm#ref_1988_7">Dir</A> = <A HREF="terminal_interface-curses__ads.htm#ref_1983_46">To_Screen</A> <b>then</b>
         <A HREF="terminal_interface-curses__adb.htm#ref_2410_7">D</A> := 1;
      <b>end</b> <b>if</b>;
      <A HREF="terminal_interface-curses__adb.htm#ref_2411_7">R</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2403_16">Transform</A> (<A HREF="terminal_interface-curses__ads.htm#ref_1985_7">W</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2409_7">Y</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2408_7">X</A>'<b>Access</b>, <A HREF="terminal_interface-curses__adb.htm#ref_2410_7">D</A>);
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2411_7">R</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_68_4">Curses_False</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>else</b>
         <A HREF="terminal_interface-curses__ads.htm#ref_1986_7">Line</A>   := <A HREF="terminal_interface-curses__ads.htm#ref_58_9">Line_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2409_7">Y</A>);
         <A HREF="terminal_interface-curses__ads.htm#ref_1987_7">Column</A> := <A HREF="terminal_interface-curses__ads.htm#ref_59_9">Column_Position</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2408_7">X</A>);
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_1984_14">Transform_Coordinates</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_2425_14" HREF="terminal_interface-curses__ads.htm#ref_2003_14">Use_Default_Colors</A></span> <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2426_16">C_Use_Default_Colors</A></span> <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, C_Use_Default_Colors, "use_default_colors");
      <span class="symbol"><A NAME="ref_2428_7">Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2426_16">C_Use_Default_Colors</A>;
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2428_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2003_14">Use_Default_Colors</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2435_14" HREF="terminal_interface-curses__ads.htm#ref_2008_14">Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2435_37" HREF="terminal_interface-curses__ads.htm#ref_2008_37">Fore</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2000_4">Default_Color</A>;
                                    <span class="symbol"><A NAME="ref_2436_37" HREF="terminal_interface-curses__ads.htm#ref_2009_37">Back</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_389_9">Color_Number</A> := <A HREF="terminal_interface-curses__ads.htm#ref_2000_4">Default_Color</A>)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2438_16">C_Assume_Default_Colors</A></span> (<span class="symbol"><A NAME="ref_2438_41" HREF="terminal_interface-curses__adb.htm#ref_2438_16">Fore</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                                        <span class="symbol"><A NAME="ref_2439_41" HREF="terminal_interface-curses__adb.htm#ref_2438_16">Back</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, C_Assume_Default_Colors, "assume_default_colors");
      <span class="symbol"><A NAME="ref_2442_7">Err</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> := <A HREF="terminal_interface-curses__adb.htm#ref_2438_16">C_Assume_Default_Colors</A> (<A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2008_37">Fore</A>),
                                                       <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2009_37">Back</A>));
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2442_7">Err</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2008_14">Assume_Default_Colors</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>function</b> <span class="symbol"><A NAME="ref_2450_13" HREF="terminal_interface-curses__ads.htm#ref_2018_13">Curses_Version</A></span> <b>return</b> String
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2452_16">curses_versionC</A></span> <b>return</b> chars_ptr;
      <b>pragma</b> Import (C, curses_versionC, "curses_version");
      <span class="symbol"><A NAME="ref_2454_7">Result</A></span> : <b>constant</b> chars_ptr := <A HREF="terminal_interface-curses__adb.htm#ref_2452_16">curses_versionC</A>;
   <b>begin</b>
      <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_97_13">Fill_String</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2454_7">Result</A>);
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2018_13">Curses_Version</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_2459_14" HREF="terminal_interface-curses__ads.htm#ref_2031_14">Curses_Free_All</A></span> <b>is</b>
      <b>procedure</b> <span class="symbol"><A NAME="ref_2460_17">curses_freeall</A></span>;
      <b>pragma</b> Import (C, curses_freeall, "_nc_freeall");
   <b>begin</b>
      <span class="comment"><EM>--  Use this only for testing: you cannot use curses after calling it,</EM></span>
      <span class="comment"><EM>--  so it has to be the "last" thing done before exiting the program.</EM></span>
      <span class="comment"><EM>--  This will not really free ALL of memory used by curses.  That is</EM></span>
      <span class="comment"><EM>--  because it cannot free the memory used for stdout's setbuf.  The</EM></span>
      <span class="comment"><EM>--  _nc_free_and_exit() procedure can do that, but it can be invoked</EM></span>
      <span class="comment"><EM>--  safely only from C - and again, that only as the "last" thing done</EM></span>
      <span class="comment"><EM>--  before exiting the program.</EM></span>
      <A HREF="terminal_interface-curses__adb.htm#ref_2460_17">curses_freeall</A>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2031_14">Curses_Free_All</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>function</b> <span class="symbol"><A NAME="ref_2473_13" HREF="terminal_interface-curses__ads.htm#ref_2023_13">Use_Extended_Names</A></span> (<span class="symbol"><A NAME="ref_2473_33" HREF="terminal_interface-curses__ads.htm#ref_2023_33">Enable</A></span> : Boolean) <b>return</b> Boolean
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2475_16">use_extended_namesC</A></span> (<span class="symbol"><A NAME="ref_2475_37" HREF="terminal_interface-curses__adb.htm#ref_2475_16">e</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, use_extended_namesC, "use_extended_names");
      <span class="symbol"><A NAME="ref_2478_7">Res</A></span> : <b>constant</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> :=
         <A HREF="terminal_interface-curses__adb.htm#ref_2475_16">use_extended_namesC</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2098_9">Curses_Bool</A> (Boolean'Pos (<A HREF="terminal_interface-curses__ads.htm#ref_2023_33">Enable</A>)));
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2478_7">Res</A> = <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2100_4">Curses_Bool_False</A>) <b>then</b>
         <b>return</b> False;
      <b>else</b>
         <b>return</b> True;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2023_13">Use_Extended_Names</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_2488_14" HREF="terminal_interface-curses__ads.htm#ref_2039_14">Screen_Dump_To_File</A></span> (<span class="symbol"><A NAME="ref_2488_35" HREF="terminal_interface-curses__ads.htm#ref_2039_35">Filename</A></span> : String)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2490_16">scr_dump</A></span> (<span class="symbol"><A NAME="ref_2490_26" HREF="terminal_interface-curses__adb.htm#ref_2490_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, scr_dump, "scr_dump");
      <span class="symbol"><A NAME="ref_2492_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2039_35">Filename</A>'Length);
      <span class="symbol"><A NAME="ref_2493_7">Length</A></span> : size_t;
   <b>begin</b>
      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2039_35">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2492_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2493_7">Length</A>);
      <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2490_16">scr_dump</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2492_7">Txt</A>) <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2039_14">Screen_Dump_To_File</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2501_14" HREF="terminal_interface-curses__ads.htm#ref_2043_14">Screen_Restore_From_File</A></span> (<span class="symbol"><A NAME="ref_2501_40" HREF="terminal_interface-curses__ads.htm#ref_2043_40">Filename</A></span> : String)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2503_16">scr_restore</A></span> (<span class="symbol"><A NAME="ref_2503_29" HREF="terminal_interface-curses__adb.htm#ref_2503_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, scr_restore, "scr_restore");
      <span class="symbol"><A NAME="ref_2505_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2043_40">Filename</A>'Length);
      <span class="symbol"><A NAME="ref_2506_7">Length</A></span> : size_t;
   <b>begin</b>
      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2043_40">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2505_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2506_7">Length</A>);
      <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2503_16">scr_restore</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2505_7">Txt</A>)  <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2043_14">Screen_Restore_From_File</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2514_14" HREF="terminal_interface-curses__ads.htm#ref_2047_14">Screen_Init_From_File</A></span> (<span class="symbol"><A NAME="ref_2514_37" HREF="terminal_interface-curses__ads.htm#ref_2047_37">Filename</A></span> : String)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2516_16">scr_init</A></span> (<span class="symbol"><A NAME="ref_2516_26" HREF="terminal_interface-curses__adb.htm#ref_2516_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, scr_init, "scr_init");
      <span class="symbol"><A NAME="ref_2518_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2047_37">Filename</A>'Length);
      <span class="symbol"><A NAME="ref_2519_7">Length</A></span> : size_t;
   <b>begin</b>
      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2047_37">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2518_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2519_7">Length</A>);
      <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2516_16">scr_init</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2518_7">Txt</A>) <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2047_14">Screen_Init_From_File</A>;
   <b>procedure</b> <span class="symbol"><A NAME="ref_2527_14" HREF="terminal_interface-curses__ads.htm#ref_2051_14">Screen_Set_File</A></span> (<span class="symbol"><A NAME="ref_2527_31" HREF="terminal_interface-curses__ads.htm#ref_2051_31">Filename</A></span> : String)
   <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2529_16">scr_set</A></span> (<span class="symbol"><A NAME="ref_2529_25" HREF="terminal_interface-curses__adb.htm#ref_2529_16">f</A></span> : char_array) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, scr_set, "scr_set");
      <span class="symbol"><A NAME="ref_2531_7">Txt</A></span>    : char_array (0 .. <A HREF="terminal_interface-curses__ads.htm#ref_2051_31">Filename</A>'Length);
      <span class="symbol"><A NAME="ref_2532_7">Length</A></span> : size_t;
   <b>begin</b>
      To_C (<A HREF="terminal_interface-curses__ads.htm#ref_2051_31">Filename</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2531_7">Txt</A>, <A HREF="terminal_interface-curses__adb.htm#ref_2532_7">Length</A>);
      <b>if</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A> = <A HREF="terminal_interface-curses__adb.htm#ref_2529_16">scr_set</A> (<A HREF="terminal_interface-curses__adb.htm#ref_2531_7">Txt</A>) <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2051_14">Screen_Set_File</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
   <b>procedure</b> <span class="symbol"><A NAME="ref_2540_14" HREF="terminal_interface-curses__ads.htm#ref_2083_14">Resize</A></span> (<span class="symbol"><A NAME="ref_2540_22" HREF="terminal_interface-curses__ads.htm#ref_2083_22">Win</A></span>               : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A> := <A HREF="terminal_interface-curses__ads.htm#ref_644_13">Standard_Window</A>;
                     <span class="symbol"><A NAME="ref_2541_22" HREF="terminal_interface-curses__ads.htm#ref_2084_22">Number_Of_Lines</A></span>   : <A HREF="terminal_interface-curses__ads.htm#ref_61_12">Line_Count</A>;
                     <span class="symbol"><A NAME="ref_2542_22" HREF="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Columns</A></span> : <A HREF="terminal_interface-curses__ads.htm#ref_63_12">Column_Count</A>) <b>is</b>
      <b>function</b> <span class="symbol"><A NAME="ref_2543_16">wresize</A></span> (<span class="symbol"><A NAME="ref_2543_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">win</A></span>     : <A HREF="terminal_interface-curses__ads.htm#ref_55_9">Window</A>;
                        <span class="symbol"><A NAME="ref_2544_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">lines</A></span>   : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
                        <span class="symbol"><A NAME="ref_2545_25" HREF="terminal_interface-curses__adb.htm#ref_2543_16">columns</A></span> : <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>) <b>return</b> <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A>;
      <b>pragma</b> Import (C, wresize);
   <b>begin</b>
      <b>if</b> <A HREF="terminal_interface-curses__adb.htm#ref_2543_16">wresize</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2083_22">Win</A>,
                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2084_22">Number_Of_Lines</A>),
                  <A HREF="terminal_interface-curses-aux__ads.htm#ref_50_12">C_Int</A> (<A HREF="terminal_interface-curses__ads.htm#ref_2085_22">Number_Of_Columns</A>)) = <A HREF="terminal_interface-curses-aux__ads.htm#ref_65_4">Curses_Err</A>
      <b>then</b>
         <b>raise</b> <A HREF="terminal_interface-curses__ads.htm#ref_521_4">Curses_Exception</A>;
      <b>end</b> <b>if</b>;
   <b>end</b> <A HREF="terminal_interface-curses__ads.htm#ref_2083_14">Resize</A>;
<span class="comment"><EM>------------------------------------------------------------------------------</EM></span>
<b>end</b> <A HREF="terminal_interface__ads.htm#ref_42_9">Terminal_Interface</A>.<A HREF="terminal_interface-curses__ads.htm#ref_47_28">Curses</A>;
</PRE></BODY></HTML>
 |