Changeset 7003847 in rtems
- Timestamp:
- 02/01/02 18:58:21 (22 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 3774c7f
- Parents:
- 569a01f
- Files:
-
- 4 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/ada/ChangeLog
r569a01f r7003847 1 2001-02-01 Joel Sherrill <joel@OARcorp.com> 2 3 * rtems.ads, rtems.adb: Formatting cleaned up. Task based timer 4 directives added. This is Timer_Initiate_Server, 5 Timer_Server_Fire_After, and Timer_Server_Fire_When. 6 1 7 2001-02-01 Joel Sherrill <joel@OARcorp.com> 2 8 -
c/src/ada/rtems.adb
r569a01f r7003847 1 1 -- 2 2 -- RTEMS / Body 3 -- 3 4 -- DESCRIPTION: 4 5 -- … … 161 162 end Get_Index; 162 163 163 164 164 function Are_Statuses_Equal ( 165 165 Status : in RTEMS.Status_Codes; … … 211 211 end Are_Equal; 212 212 213 214 213 -- 215 214 -- … … 281 280 282 281 end Shutdown_Executive; 283 284 282 285 283 -- … … 304 302 ID : access RTEMS.ID 305 303 ) return RTEMS.Status_Codes; 306 307 304 pragma Import (C, Task_Create_Base, "rtems_task_create"); 305 ID_Base : aliased RTEMS.ID := ID; 308 306 begin 309 307 Result := Task_Create_Base ( 310 311 312 313 314 315 316 308 Name, 309 Initial_Priority, 310 Stack_Size, 311 Initial_Modes, 312 Attribute_Set, 313 ID_Base'Unchecked_Access 314 ); 317 315 ID := ID_Base; 318 316 end Task_Create; 319 320 317 321 318 procedure Task_Ident ( … … 336 333 begin 337 334 338 Result := Task_Ident_Base ( 339 Name, 340 Node, 341 ID_Base'Unchecked_Access 342 ); 343 335 Result := Task_Ident_Base ( Name, Node, ID_Base'Unchecked_Access ); 344 336 ID := ID_Base; 345 337 … … 352 344 Result : out RTEMS.Status_Codes 353 345 ) is 354 355 346 function Task_Start_Base ( 356 347 ID : RTEMS.ID; … … 359 350 ) return RTEMS.Status_Codes; 360 351 pragma Import (C, Task_Start_Base, "rtems_task_start"); 361 362 begin 363 364 Result := Task_Start_Base ( 365 ID, 366 Entry_Point, 367 Argument 368 ); 352 begin 353 354 Result := Task_Start_Base ( ID, Entry_Point, Argument ); 369 355 370 356 end Task_Start; … … 382 368 begin 383 369 384 Result := Task_Restart_Base ( 385 ID, 386 Argument 387 ); 370 Result := Task_Restart_Base ( ID, Argument ); 388 371 389 372 end Task_Restart; … … 430 413 431 414 end Task_Resume; 432 433 procedure Task_Is_Suspended (434 ID : in RTEMS.ID;435 Result : out RTEMS.Status_Codes436 ) is437 function Task_Is_Suspended (438 ID : RTEMS.ID439 ) return RTEMS.Status_Codes;440 pragma Import (C, Task_Is_Suspended_Base, "rtems_task_is_suspended");441 begin442 443 Result := Task_Is_Suspended_Base ( ID );444 445 end Task_Is_Suspended;446 447 415 448 416 procedure Task_Set_Priority ( … … 459 427 pragma Import (C, Task_Set_Priority_Base, "rtems_task_set_priority"); 460 428 Old_Priority_Base : aliased RTEMS.Task_Priority := Old_Priority; 461 462 429 begin 463 430 464 431 Result := Task_Set_Priority_Base ( 465 ID, 466 New_Priority, 467 Old_Priority_Base'Unchecked_Access 468 ); 469 432 ID, 433 New_Priority, 434 Old_Priority_Base'Unchecked_Access 435 ); 470 436 Old_Priority := Old_Priority_Base; 471 437 … … 492 458 Previous_Mode_Set_Base'Unchecked_Access 493 459 ); 494 495 460 Previous_Mode_Set := Previous_Mode_Set_Base; 496 461 … … 512 477 begin 513 478 514 Result := Task_Get_Note_Base ( 515 ID, 516 Notepad, 517 Note_Base'Unchecked_Access 518 ); 519 479 Result := Task_Get_Note_Base ( ID, Notepad, Note_Base'Unchecked_Access ); 520 480 Note := NOTE_Base; 521 481 … … 592 552 OLD_ISR_HANDLER_Base'Unchecked_Access 593 553 ); 594 595 554 Old_ISR_Handler := OLD_ISR_HANDLER_Base; 596 555 597 556 end Interrupt_Catch; 598 557 599 -- XXX 600 function Interrupt_Disable 601 return RTEMS.ISR_Level is 602 begin 603 return 0; 604 end Interrupt_Disable; 605 606 procedure Interrupt_Enable ( 607 Level : in RTEMS.ISR_Level 608 ) is 609 begin 610 Null; 611 end Interrupt_Enable; 612 613 procedure Interrupt_Flash ( 614 Level : in RTEMS.ISR_Level 615 ) is 616 begin 617 Null; 618 end Interrupt_Flash; 619 620 function Interrupt_Is_In_Progress 621 return RTEMS.Boolean is 622 begin 623 return RTEMS.From_Ada_Boolean (Standard.True); 624 end Interrupt_Is_In_Progress; 558 -- Interrupt_Disable is interfaced in the specification 559 -- Interrupt_Enable is interfaced in the specification 560 -- Interrupt_Flash is interfaced in the specification 561 -- Interrupt_Is_In_Progress is interfaced in the specification 625 562 626 563 -- … … 688 625 begin 689 626 690 Result := Extension_Create_Base ( 691 Name, 692 Table, 693 ID_Base'Unchecked_Access 694 ); 695 627 Result := Extension_Create_Base ( Name, Table, ID_Base'Unchecked_Access ); 696 628 ID := ID_Base; 697 629 … … 711 643 begin 712 644 713 Result := Extension_Ident_Base ( 714 Name, 715 ID_Base'Unchecked_Access 716 ); 717 645 Result := Extension_Ident_Base ( Name, ID_Base'Unchecked_Access ); 718 646 ID := ID_Base; 719 647 … … 751 679 begin 752 680 753 Result := Timer_Create_Base ( 754 Name, 755 ID_Base'Unchecked_Access 756 ); 757 681 Result := Timer_Create_Base ( Name, ID_Base'Unchecked_Access ); 758 682 ID := ID_Base; 759 683 … … 773 697 begin 774 698 775 Result := Timer_Ident_Base ( 776 Name, 777 ID_Base'Unchecked_Access 778 ); 779 699 Result := Timer_Ident_Base ( Name, ID_Base'Unchecked_Access ); 780 700 ID := ID_Base; 781 701 … … 812 732 begin 813 733 814 Result := Timer_Fire_After_Base ( 815 ID, 816 Ticks, 817 Routine, 818 User_Data 819 ); 734 Result := Timer_Fire_After_Base ( ID, Ticks, Routine, User_Data ); 820 735 821 736 end Timer_Fire_After; 737 738 procedure Timer_Server_Fire_After ( 739 ID : in RTEMS.ID; 740 Ticks : in RTEMS.Interval; 741 Routine : in RTEMS.Timer_Service_Routine; 742 User_Data : in RTEMS.Address; 743 Result : out RTEMS.Status_Codes 744 ) is 745 function Timer_Server_Fire_After_Base ( 746 ID : RTEMS.ID; 747 Ticks : RTEMS.Interval; 748 Routine : RTEMS.Timer_Service_Routine; 749 User_Data : RTEMS.Address 750 ) return RTEMS.Status_Codes; 751 pragma Import ( 752 C, 753 Timer_Server_Fire_After_Base, 754 "rtems_timer_server_fire_after" 755 ); 756 begin 757 758 Result := Timer_Server_Fire_After_Base ( ID, Ticks, Routine, User_Data ); 759 760 end Timer_Server_Fire_After; 822 761 823 762 procedure Timer_Fire_When ( … … 828 767 Result : out RTEMS.Status_Codes 829 768 ) is 830 function Timer_Fire_When (769 function Timer_Fire_When_Base ( 831 770 ID : RTEMS.ID; 832 Wall_Time : inRTEMS.Time_Of_Day;771 Wall_Time : RTEMS.Time_Of_Day; 833 772 Routine : RTEMS.Timer_Service_Routine; 834 773 User_Data : RTEMS.Address 835 774 ) return RTEMS.Status_Codes; 836 pragma Import (C, Timer_Fire_When, "rtems_timer_fire_when"); 837 begin 838 839 Result := Timer_Fire_When ( 840 ID, 841 Wall_Time, 842 Routine, 843 User_Data 844 ); 775 pragma Import (C, Timer_Fire_When_Base, "rtems_timer_fire_when"); 776 begin 777 778 Result := Timer_Fire_When_Base ( ID, Wall_Time, Routine, User_Data ); 845 779 846 780 end Timer_Fire_When; 781 782 procedure Timer_Server_Fire_When ( 783 ID : in RTEMS.ID; 784 Wall_Time : in RTEMS.Time_Of_Day; 785 Routine : in RTEMS.Timer_Service_Routine; 786 User_Data : in RTEMS.Address; 787 Result : out RTEMS.Status_Codes 788 ) is 789 function Timer_Server_Fire_When_Base ( 790 ID : RTEMS.ID; 791 Wall_Time : RTEMS.Time_Of_Day; 792 Routine : RTEMS.Timer_Service_Routine; 793 User_Data : RTEMS.Address 794 ) return RTEMS.Status_Codes; 795 pragma Import ( 796 C, 797 Timer_Server_Fire_When_Base, 798 "rtems_timer_server_fire_when" 799 ); 800 begin 801 802 Result := 803 Timer_Server_Fire_When_Base ( ID, Wall_Time, Routine, User_Data ); 804 end Timer_Server_Fire_When; 847 805 848 806 procedure Timer_Reset ( … … 874 832 end Timer_Cancel; 875 833 834 procedure Timer_Initiate_Server ( 835 Server_Priority : in RTEMS.Task_Priority; 836 Stack_Size : in RTEMS.Unsigned32; 837 Attribute_Set : in RTEMS.Attribute; 838 Result : out RTEMS.Status_Codes 839 ) is 840 function Timer_Initiate_Server_Base ( 841 Server_Priority : RTEMS.Task_Priority; 842 Stack_Size : RTEMS.Unsigned32; 843 Attribute_Set : RTEMS.Attribute 844 ) return RTEMS.Status_Codes; 845 pragma Import ( 846 C, 847 Timer_Initiate_Server_Base, 848 "rtems_timer_initiate_server" 849 ); 850 begin 851 Result := Timer_Initiate_Server_Base ( 852 Server_Priority, 853 Stack_Size, 854 Attribute_Set 855 ); 856 end Timer_Initiate_Server; 857 876 858 -- 877 859 -- Semaphore Manager … … 904 886 ID_Base'Unchecked_Access 905 887 ); 906 907 888 ID := ID_Base; 908 889 … … 938 919 begin 939 920 940 Result := Semaphore_Ident_Base ( 941 Name, 942 Node, 943 ID_Base'Unchecked_Access 944 ); 945 921 Result := Semaphore_Ident_Base ( Name, Node, ID_Base'Unchecked_Access ); 946 922 ID := ID_Base; 947 923 … … 977 953 978 954 Result := Semaphore_Release_Base ( ID ); 979 980 end Semaphore_Release;981 982 procedure Semaphore_Flush (983 ID : in RTEMS.ID;984 Result : out RTEMS.Status_Codes985 ) is986 function Semaphore_Flush_Base (987 ID : RTEMS.ID988 ) return RTEMS.Status_Codes;989 pragma Import (C, Semaphore_Flush_Base, "rtems_semaphore_flush");990 begin991 992 Result := Semaphore_Flush_Base ( ID );993 955 994 956 end Semaphore_Release; … … 1026 988 ID_Base'Unchecked_Access 1027 989 ); 1028 1029 990 ID := ID_Base; 1030 991 … … 1046 1007 begin 1047 1008 1048 Result := Message_Queue_Ident_Base ( 1049 Name, 1050 Node, 1051 ID_Base'Unchecked_Access 1052 ); 1053 1009 Result := 1010 Message_Queue_Ident_Base ( Name, Node, ID_Base'Unchecked_Access ); 1054 1011 ID := ID_Base; 1055 1012 … … 1063 1020 ID : RTEMS.ID 1064 1021 ) return RTEMS.Status_Codes; 1065 pragma Import ( C, Message_Queue_Delete_Base,1066 "rtems_message_queue_delete");1022 pragma Import ( 1023 C, Message_Queue_Delete_Base, "rtems_message_queue_delete"); 1067 1024 begin 1068 1025 … … 1127 1084 1128 1085 Result := Message_Queue_Broadcast_Base ( 1129 ID, 1130 Buffer, 1131 Size, 1132 Count_Base'Unchecked_Access 1133 ); 1134 1086 ID, 1087 Buffer, 1088 Size, 1089 Count_Base'Unchecked_Access 1090 ); 1135 1091 Count := Count_Base; 1136 1092 … … 1158 1114 1159 1115 Result := Message_Queue_Receive_Base ( 1160 ID, 1161 Buffer, 1162 Size_Base'Unchecked_Access, 1163 Option_Set, 1164 Timeout 1165 ); 1166 1116 ID, 1117 Buffer, 1118 Size_Base'Unchecked_Access, 1119 Option_Set, 1120 Timeout 1121 ); 1167 1122 Size := Size_Base; 1168 1123 … … 1182 1137 begin 1183 1138 1184 Result := Message_Queue_Flush_Base ( 1185 ID, 1186 COUNT_Base'Unchecked_Access 1187 ); 1188 1139 Result := Message_Queue_Flush_Base ( ID, COUNT_Base'Unchecked_Access ); 1189 1140 Count := COUNT_Base; 1190 1141 1191 1142 end Message_Queue_Flush; 1192 1143 1193 1194 1144 -- 1195 1145 -- Event Manager … … 1208 1158 begin 1209 1159 1210 Result := Event_Send_Base ( 1211 ID, 1212 Event_In 1213 ); 1160 Result := Event_Send_Base ( ID, Event_In ); 1214 1161 1215 1162 end Event_Send; … … 1233 1180 1234 1181 Result := Event_Receive_Base ( 1235 Event_In, 1236 Option_Set, 1237 Ticks, 1238 Event_Out_Base'Access 1239 ); 1240 1182 Event_In, 1183 Option_Set, 1184 Ticks, 1185 Event_Out_Base'Access 1186 ); 1241 1187 Event_Out := Event_Out_Base; 1242 1188 … … 1313 1259 ID_Base'Unchecked_Access 1314 1260 ); 1315 1316 1261 ID := ID_Base; 1317 1262 … … 1333 1278 begin 1334 1279 1335 Result := Partition_Ident_Base ( 1336 Name, 1337 Node, 1338 ID_Base'Unchecked_Access 1339 ); 1340 1280 Result := Partition_Ident_Base ( Name, Node, ID_Base'Unchecked_Access ); 1341 1281 ID := ID_Base; 1342 1282 … … 1371 1311 begin 1372 1312 1373 Result := Partition_Get_Buffer_Base ( 1374 ID, 1375 Buffer_Base'Unchecked_Access 1376 ); 1377 1313 Result := Partition_Get_Buffer_Base ( ID, Buffer_Base'Unchecked_Access ); 1378 1314 Buffer := Buffer_Base; 1379 1315 … … 1420 1356 pragma Import (C, Region_Create_Base, "rtems_region_create"); 1421 1357 ID_Base : aliased RTEMS.ID := ID; 1422 1423 1358 begin 1424 1359 1425 1360 Result := Region_Create_Base ( 1426 Name, 1427 Starting_Address, 1428 Length, 1429 Page_Size, 1430 Attribute_Set, 1431 ID_Base'Unchecked_Access 1432 ); 1433 1361 Name, 1362 Starting_Address, 1363 Length, 1364 Page_Size, 1365 Attribute_Set, 1366 ID_Base'Unchecked_Access 1367 ); 1434 1368 ID := ID_Base; 1435 1369 … … 1449 1383 begin 1450 1384 1451 Result := Region_Ident_Base ( 1452 Name, 1453 ID_Base'Unchecked_Access 1454 ); 1455 1385 Result := Region_Ident_Base ( Name, ID_Base'Unchecked_Access ); 1456 1386 ID := ID_Base; 1457 1387 … … 1516 1446 Segment_Base'Unchecked_Access 1517 1447 ); 1518 1519 1448 Segment := SEGMENT_Base; 1520 1449 … … 1542 1471 Size_Base'Unchecked_Access 1543 1472 ); 1544 1545 1473 Size := SIZE_Base; 1546 1474 … … 1564 1492 end Region_Return_Segment; 1565 1493 1566 1567 1494 -- 1568 1495 -- Dual Ported Memory Manager … … 1586 1513 pragma Import (C, Port_Create_Base, "rtems_port_create"); 1587 1514 ID_Base : aliased RTEMS.ID := ID; 1588 1589 1515 begin 1590 1516 1591 1517 Result := Port_Create_Base ( 1592 Name, 1593 Internal_Start, 1594 External_Start, 1595 Length, 1596 ID_Base'Unchecked_Access 1597 ); 1598 1518 Name, 1519 Internal_Start, 1520 External_Start, 1521 Length, 1522 ID_Base'Unchecked_Access 1523 ); 1599 1524 ID := ID_Base; 1600 1525 … … 1614 1539 begin 1615 1540 1616 Result := Port_Ident_Base ( 1617 Name, 1618 ID_Base'Unchecked_Access 1619 ); 1620 1541 Result := Port_Ident_Base ( Name, ID_Base'Unchecked_Access ); 1621 1542 ID := ID_Base; 1622 1543 … … 1658 1579 Internal_Base'Unchecked_Access 1659 1580 ); 1660 1661 1581 Internal := INTERNAL_Base; 1662 1582 … … 1684 1604 External_Base'Unchecked_Access 1685 1605 ); 1686 1687 1606 External := EXTERNAL_Base; 1688 1607 … … 1716 1635 Return_Value_Base'Unchecked_Access 1717 1636 ); 1718 1719 1637 Return_Value := Return_Value_Base; 1720 1638 … … 1735 1653 begin 1736 1654 1737 Result := IO_Register_Name_Base ( 1738 Interfaces.C.To_C (Name), 1739 Major, 1740 Minor 1741 ); 1655 Result := 1656 IO_Register_Name_Base ( Interfaces.C.To_C (Name), Major, Minor ); 1742 1657 1743 1658 end IO_Register_Name; … … 1753 1668 ) return RTEMS.Status_Codes; 1754 1669 pragma Import (C, IO_Lookup_Name_Base, "rtems_io_lookup_name"); 1755 1756 1670 Device_Info_Base : aliased RTEMS.Driver_Name_t; 1757 1671 begin … … 1761 1675 Device_Info_Base'Unchecked_Access 1762 1676 ); 1763 1764 1677 Device_Info := Device_Info_Base; 1765 1678 … … 1856 1769 end IO_Control; 1857 1770 1858 1859 1771 -- 1860 1772 -- Fatal Error Manager … … 1872 1784 Fatal_Error_Occurred_Base ( The_Error ); 1873 1785 1874 end Fatal_Error_Occurred; 1786 end Fatal_Error_Occurred; 1787 1788 1875 1789 -- 1876 1790 -- Rate Monotonic Manager … … 1890 1804 begin 1891 1805 1892 Result := Rate_Monotonic_Create_base ( 1893 Name, 1894 ID_Base'Unchecked_Access 1895 ); 1896 1806 Result := Rate_Monotonic_Create_base ( Name, ID_Base'Unchecked_Access ); 1897 1807 ID := ID_Base; 1898 1808 … … 1912 1822 begin 1913 1823 1914 Result := Rate_Monotonic_Ident_Base ( 1915 Name, 1916 ID_Base'Unchecked_Access 1917 ); 1824 Result := Rate_Monotonic_Ident_Base ( Name, ID_Base'Unchecked_Access ); 1918 1825 1919 1826 ID := ID_Base; … … 1994 1901 end Rate_Monotonic_Get_Status; 1995 1902 1996 --1997 -- Multiprocessing Manager1998 --1999 2000 procedure Multiprocessing_Announce is2001 procedure Multiprocessing_Announce_Base;2002 pragma Import (C, Multiprocessing_Announce_Base,2003 "rtems_multiprocessing_announce");2004 begin2005 2006 Multiprocessing_Announce_Base;2007 2008 end Multiprocessing_Announce;2009 2010 1903 2011 1904 -- … … 2062 1955 2063 1956 end RTEMS; 2064 -
c/src/ada/rtems.ads
r569a01f r7003847 26 26 27 27 package RTEMS is 28 pragma Elaborate_Body (RTEMS); 28 29 29 30 Structure_Alignment : constant := 8; … … 36 37 subtype Unsigned16 is Interfaces.Unsigned_16; 37 38 subtype Unsigned32 is Interfaces.Unsigned_32; 39 subtype Signed32 is Interfaces.Integer_32; 38 40 39 41 type Unsigned32_Pointer is access all RTEMS.Unsigned32; 40 42 type Unsigned16_Pointer is access all RTEMS.Unsigned16; 41 43 type Unsigned8_Pointer is access all RTEMS.Unsigned8; 44 type Signed32_Pointer is access all RTEMS.Signed32; 42 45 43 46 subtype Boolean is RTEMS.Unsigned32; … … 236 239 ) return RTEMS.Attribute; 237 240 pragma Import (C, Interrupt_Level, "rtems_interrupt_level_attribute"); 238 239 241 240 242 Minimum_Stack_Size : RTEMS.Unsigned32; … … 698 700 type Configuration_Table is 699 701 record 700 Work_Space_Start : RTEMS.Address; 701 Work_Space_Size : RTEMS.Unsigned32; 702 Maximum_Extensions : RTEMS.Unsigned32; 703 Microseconds_Per_Tick : RTEMS.Unsigned32; 704 Ticks_Per_Timeslice : RTEMS.Unsigned32; 705 Maximum_Devices : RTEMS.Unsigned32; 706 Number_Of_Device_Drivers : RTEMS.Unsigned32; 707 Device_Driver_Table : RTEMS.Driver_Address_Table_Pointer; 708 Number_Of_Initial_Extensions : RTEMS.Unsigned32; 709 User_Extension_Table : RTEMS.Extensions_Table_Pointer; 710 User_Multiprocessing_Table : RTEMS.Multiprocessing_Table_Pointer; 711 RTEMS_API_Configuration : RTEMS.API_Configuration_Table_Pointer; 712 POSIX_API_Configuration : RTEMS.POSIX_API_Configuration_Table_Pointer; 702 Work_Space_Start : RTEMS.Address; 703 Work_Space_Size : RTEMS.Unsigned32; 704 Maximum_Extensions : RTEMS.Unsigned32; 705 Microseconds_Per_Tick : RTEMS.Unsigned32; 706 Ticks_Per_Timeslice : RTEMS.Unsigned32; 707 Maximum_Devices : RTEMS.Unsigned32; 708 Number_Of_Device_Drivers : RTEMS.Unsigned32; 709 Device_Driver_Table : RTEMS.Driver_Address_Table_Pointer; 710 User_Extension_Table : RTEMS.Extensions_Table_Pointer; 711 User_Multiprocessing_Table : RTEMS.Multiprocessing_Table_Pointer; 712 RTEMS_API_Configuration : RTEMS.API_Configuration_Table_Pointer; 713 POSIX_API_Configuration : RTEMS.POSIX_API_Configuration_Table_Pointer; 713 714 end record; 714 715 … … 865 866 ); 866 867 867 procedure Task_Is_Suspended (868 ID : in RTEMS.ID;869 Result : out RTEMS.Status_Codes870 );871 872 868 procedure Task_Set_Priority ( 873 869 ID : in RTEMS.ID; … … 919 915 ); 920 916 921 function Interrupt_Disable 922 return RTEMS.ISR_Level; 917 function Interrupt_Disable return RTEMS.ISR_Level; 918 pragma Interface (C, Interrupt_Disable); 919 pragma Interface_Name (Interrupt_Disable, "rtems_interrupt_disable"); 923 920 924 921 procedure Interrupt_Enable ( 925 922 Level : in RTEMS.ISR_Level 926 923 ); 924 pragma Interface (C, Interrupt_Enable); 925 pragma Interface_Name (Interrupt_Enable, "rtems_interrupt_enable"); 927 926 928 927 procedure Interrupt_Flash ( 929 928 Level : in RTEMS.ISR_Level 930 929 ); 931 932 function Interrupt_Is_In_Progress 933 return RTEMS.Boolean; 930 pragma Interface (C, Interrupt_Flash); 931 pragma Interface_Name (Interrupt_Flash, "rtems_interrupt_flash"); 932 933 function Interrupt_Is_In_Progress return RTEMS.Boolean; 934 pragma Interface (C, Interrupt_Is_In_Progress); 935 pragma Interface_Name 936 (Interrupt_Is_In_Progress, "rtems_interrupt_is_in_progress"); 934 937 935 938 -- … … 1004 1007 ); 1005 1008 1009 procedure Timer_Server_Fire_After ( 1010 ID : in RTEMS.ID; 1011 Ticks : in RTEMS.Interval; 1012 Routine : in RTEMS.Timer_Service_Routine; 1013 User_Data : in RTEMS.Address; 1014 Result : out RTEMS.Status_Codes 1015 ); 1016 1006 1017 procedure Timer_Fire_When ( 1007 1018 ID : in RTEMS.ID; … … 1012 1023 ); 1013 1024 1025 procedure Timer_Server_Fire_When ( 1026 ID : in RTEMS.ID; 1027 Wall_Time : in RTEMS.Time_Of_Day; 1028 Routine : in RTEMS.Timer_Service_Routine; 1029 User_Data : in RTEMS.Address; 1030 Result : out RTEMS.Status_Codes 1031 ); 1032 1014 1033 procedure Timer_Reset ( 1015 1034 ID : in RTEMS.ID; … … 1020 1039 ID : in RTEMS.ID; 1021 1040 Result : out RTEMS.Status_Codes 1041 ); 1042 1043 procedure Timer_Initiate_Server ( 1044 Server_Priority : in RTEMS.Task_Priority; 1045 Stack_Size : in Unsigned32; 1046 Attribute_Set : in RTEMS.Attribute; 1047 Result : out RTEMS.Status_Codes 1022 1048 ); 1023 1049 … … 1059 1085 ); 1060 1086 1061 procedure Semaphore_Flush (1062 ID : in RTEMS.ID;1063 Result : out RTEMS.Status_Codes1064 );1065 1087 1066 1088 -- … … 1402 1424 ); 1403 1425 1404 --1405 -- Multiprocessing Manager1406 --1407 1408 procedure Multiprocessing_Announce;1409 1410 1426 1411 1427 -- … … 1435 1451 pragma Import (C, Configuration, "_Configuration_Table"); 1436 1452 1437 1438 private1439 1453 end RTEMS; -
cpukit/ada/ChangeLog
r569a01f r7003847 1 2001-02-01 Joel Sherrill <joel@OARcorp.com> 2 3 * rtems.ads, rtems.adb: Formatting cleaned up. Task based timer 4 directives added. This is Timer_Initiate_Server, 5 Timer_Server_Fire_After, and Timer_Server_Fire_When. 6 1 7 2001-02-01 Joel Sherrill <joel@OARcorp.com> 2 8 -
cpukit/ada/rtems.adb
r569a01f r7003847 1 1 -- 2 2 -- RTEMS / Body 3 -- 3 4 -- DESCRIPTION: 4 5 -- … … 161 162 end Get_Index; 162 163 163 164 164 function Are_Statuses_Equal ( 165 165 Status : in RTEMS.Status_Codes; … … 211 211 end Are_Equal; 212 212 213 214 213 -- 215 214 -- … … 281 280 282 281 end Shutdown_Executive; 283 284 282 285 283 -- … … 304 302 ID : access RTEMS.ID 305 303 ) return RTEMS.Status_Codes; 306 307 304 pragma Import (C, Task_Create_Base, "rtems_task_create"); 305 ID_Base : aliased RTEMS.ID := ID; 308 306 begin 309 307 Result := Task_Create_Base ( 310 311 312 313 314 315 316 308 Name, 309 Initial_Priority, 310 Stack_Size, 311 Initial_Modes, 312 Attribute_Set, 313 ID_Base'Unchecked_Access 314 ); 317 315 ID := ID_Base; 318 316 end Task_Create; 319 320 317 321 318 procedure Task_Ident ( … … 336 333 begin 337 334 338 Result := Task_Ident_Base ( 339 Name, 340 Node, 341 ID_Base'Unchecked_Access 342 ); 343 335 Result := Task_Ident_Base ( Name, Node, ID_Base'Unchecked_Access ); 344 336 ID := ID_Base; 345 337 … … 352 344 Result : out RTEMS.Status_Codes 353 345 ) is 354 355 346 function Task_Start_Base ( 356 347 ID : RTEMS.ID; … … 359 350 ) return RTEMS.Status_Codes; 360 351 pragma Import (C, Task_Start_Base, "rtems_task_start"); 361 362 begin 363 364 Result := Task_Start_Base ( 365 ID, 366 Entry_Point, 367 Argument 368 ); 352 begin 353 354 Result := Task_Start_Base ( ID, Entry_Point, Argument ); 369 355 370 356 end Task_Start; … … 382 368 begin 383 369 384 Result := Task_Restart_Base ( 385 ID, 386 Argument 387 ); 370 Result := Task_Restart_Base ( ID, Argument ); 388 371 389 372 end Task_Restart; … … 430 413 431 414 end Task_Resume; 432 433 procedure Task_Is_Suspended (434 ID : in RTEMS.ID;435 Result : out RTEMS.Status_Codes436 ) is437 function Task_Is_Suspended (438 ID : RTEMS.ID439 ) return RTEMS.Status_Codes;440 pragma Import (C, Task_Is_Suspended_Base, "rtems_task_is_suspended");441 begin442 443 Result := Task_Is_Suspended_Base ( ID );444 445 end Task_Is_Suspended;446 447 415 448 416 procedure Task_Set_Priority ( … … 459 427 pragma Import (C, Task_Set_Priority_Base, "rtems_task_set_priority"); 460 428 Old_Priority_Base : aliased RTEMS.Task_Priority := Old_Priority; 461 462 429 begin 463 430 464 431 Result := Task_Set_Priority_Base ( 465 ID, 466 New_Priority, 467 Old_Priority_Base'Unchecked_Access 468 ); 469 432 ID, 433 New_Priority, 434 Old_Priority_Base'Unchecked_Access 435 ); 470 436 Old_Priority := Old_Priority_Base; 471 437 … … 492 458 Previous_Mode_Set_Base'Unchecked_Access 493 459 ); 494 495 460 Previous_Mode_Set := Previous_Mode_Set_Base; 496 461 … … 512 477 begin 513 478 514 Result := Task_Get_Note_Base ( 515 ID, 516 Notepad, 517 Note_Base'Unchecked_Access 518 ); 519 479 Result := Task_Get_Note_Base ( ID, Notepad, Note_Base'Unchecked_Access ); 520 480 Note := NOTE_Base; 521 481 … … 592 552 OLD_ISR_HANDLER_Base'Unchecked_Access 593 553 ); 594 595 554 Old_ISR_Handler := OLD_ISR_HANDLER_Base; 596 555 597 556 end Interrupt_Catch; 598 557 599 -- XXX 600 function Interrupt_Disable 601 return RTEMS.ISR_Level is 602 begin 603 return 0; 604 end Interrupt_Disable; 605 606 procedure Interrupt_Enable ( 607 Level : in RTEMS.ISR_Level 608 ) is 609 begin 610 Null; 611 end Interrupt_Enable; 612 613 procedure Interrupt_Flash ( 614 Level : in RTEMS.ISR_Level 615 ) is 616 begin 617 Null; 618 end Interrupt_Flash; 619 620 function Interrupt_Is_In_Progress 621 return RTEMS.Boolean is 622 begin 623 return RTEMS.From_Ada_Boolean (Standard.True); 624 end Interrupt_Is_In_Progress; 558 -- Interrupt_Disable is interfaced in the specification 559 -- Interrupt_Enable is interfaced in the specification 560 -- Interrupt_Flash is interfaced in the specification 561 -- Interrupt_Is_In_Progress is interfaced in the specification 625 562 626 563 -- … … 688 625 begin 689 626 690 Result := Extension_Create_Base ( 691 Name, 692 Table, 693 ID_Base'Unchecked_Access 694 ); 695 627 Result := Extension_Create_Base ( Name, Table, ID_Base'Unchecked_Access ); 696 628 ID := ID_Base; 697 629 … … 711 643 begin 712 644 713 Result := Extension_Ident_Base ( 714 Name, 715 ID_Base'Unchecked_Access 716 ); 717 645 Result := Extension_Ident_Base ( Name, ID_Base'Unchecked_Access ); 718 646 ID := ID_Base; 719 647 … … 751 679 begin 752 680 753 Result := Timer_Create_Base ( 754 Name, 755 ID_Base'Unchecked_Access 756 ); 757 681 Result := Timer_Create_Base ( Name, ID_Base'Unchecked_Access ); 758 682 ID := ID_Base; 759 683 … … 773 697 begin 774 698 775 Result := Timer_Ident_Base ( 776 Name, 777 ID_Base'Unchecked_Access 778 ); 779 699 Result := Timer_Ident_Base ( Name, ID_Base'Unchecked_Access ); 780 700 ID := ID_Base; 781 701 … … 812 732 begin 813 733 814 Result := Timer_Fire_After_Base ( 815 ID, 816 Ticks, 817 Routine, 818 User_Data 819 ); 734 Result := Timer_Fire_After_Base ( ID, Ticks, Routine, User_Data ); 820 735 821 736 end Timer_Fire_After; 737 738 procedure Timer_Server_Fire_After ( 739 ID : in RTEMS.ID; 740 Ticks : in RTEMS.Interval; 741 Routine : in RTEMS.Timer_Service_Routine; 742 User_Data : in RTEMS.Address; 743 Result : out RTEMS.Status_Codes 744 ) is 745 function Timer_Server_Fire_After_Base ( 746 ID : RTEMS.ID; 747 Ticks : RTEMS.Interval; 748 Routine : RTEMS.Timer_Service_Routine; 749 User_Data : RTEMS.Address 750 ) return RTEMS.Status_Codes; 751 pragma Import ( 752 C, 753 Timer_Server_Fire_After_Base, 754 "rtems_timer_server_fire_after" 755 ); 756 begin 757 758 Result := Timer_Server_Fire_After_Base ( ID, Ticks, Routine, User_Data ); 759 760 end Timer_Server_Fire_After; 822 761 823 762 procedure Timer_Fire_When ( … … 828 767 Result : out RTEMS.Status_Codes 829 768 ) is 830 function Timer_Fire_When (769 function Timer_Fire_When_Base ( 831 770 ID : RTEMS.ID; 832 Wall_Time : inRTEMS.Time_Of_Day;771 Wall_Time : RTEMS.Time_Of_Day; 833 772 Routine : RTEMS.Timer_Service_Routine; 834 773 User_Data : RTEMS.Address 835 774 ) return RTEMS.Status_Codes; 836 pragma Import (C, Timer_Fire_When, "rtems_timer_fire_when"); 837 begin 838 839 Result := Timer_Fire_When ( 840 ID, 841 Wall_Time, 842 Routine, 843 User_Data 844 ); 775 pragma Import (C, Timer_Fire_When_Base, "rtems_timer_fire_when"); 776 begin 777 778 Result := Timer_Fire_When_Base ( ID, Wall_Time, Routine, User_Data ); 845 779 846 780 end Timer_Fire_When; 781 782 procedure Timer_Server_Fire_When ( 783 ID : in RTEMS.ID; 784 Wall_Time : in RTEMS.Time_Of_Day; 785 Routine : in RTEMS.Timer_Service_Routine; 786 User_Data : in RTEMS.Address; 787 Result : out RTEMS.Status_Codes 788 ) is 789 function Timer_Server_Fire_When_Base ( 790 ID : RTEMS.ID; 791 Wall_Time : RTEMS.Time_Of_Day; 792 Routine : RTEMS.Timer_Service_Routine; 793 User_Data : RTEMS.Address 794 ) return RTEMS.Status_Codes; 795 pragma Import ( 796 C, 797 Timer_Server_Fire_When_Base, 798 "rtems_timer_server_fire_when" 799 ); 800 begin 801 802 Result := 803 Timer_Server_Fire_When_Base ( ID, Wall_Time, Routine, User_Data ); 804 end Timer_Server_Fire_When; 847 805 848 806 procedure Timer_Reset ( … … 874 832 end Timer_Cancel; 875 833 834 procedure Timer_Initiate_Server ( 835 Server_Priority : in RTEMS.Task_Priority; 836 Stack_Size : in RTEMS.Unsigned32; 837 Attribute_Set : in RTEMS.Attribute; 838 Result : out RTEMS.Status_Codes 839 ) is 840 function Timer_Initiate_Server_Base ( 841 Server_Priority : RTEMS.Task_Priority; 842 Stack_Size : RTEMS.Unsigned32; 843 Attribute_Set : RTEMS.Attribute 844 ) return RTEMS.Status_Codes; 845 pragma Import ( 846 C, 847 Timer_Initiate_Server_Base, 848 "rtems_timer_initiate_server" 849 ); 850 begin 851 Result := Timer_Initiate_Server_Base ( 852 Server_Priority, 853 Stack_Size, 854 Attribute_Set 855 ); 856 end Timer_Initiate_Server; 857 876 858 -- 877 859 -- Semaphore Manager … … 904 886 ID_Base'Unchecked_Access 905 887 ); 906 907 888 ID := ID_Base; 908 889 … … 938 919 begin 939 920 940 Result := Semaphore_Ident_Base ( 941 Name, 942 Node, 943 ID_Base'Unchecked_Access 944 ); 945 921 Result := Semaphore_Ident_Base ( Name, Node, ID_Base'Unchecked_Access ); 946 922 ID := ID_Base; 947 923 … … 977 953 978 954 Result := Semaphore_Release_Base ( ID ); 979 980 end Semaphore_Release;981 982 procedure Semaphore_Flush (983 ID : in RTEMS.ID;984 Result : out RTEMS.Status_Codes985 ) is986 function Semaphore_Flush_Base (987 ID : RTEMS.ID988 ) return RTEMS.Status_Codes;989 pragma Import (C, Semaphore_Flush_Base, "rtems_semaphore_flush");990 begin991 992 Result := Semaphore_Flush_Base ( ID );993 955 994 956 end Semaphore_Release; … … 1026 988 ID_Base'Unchecked_Access 1027 989 ); 1028 1029 990 ID := ID_Base; 1030 991 … … 1046 1007 begin 1047 1008 1048 Result := Message_Queue_Ident_Base ( 1049 Name, 1050 Node, 1051 ID_Base'Unchecked_Access 1052 ); 1053 1009 Result := 1010 Message_Queue_Ident_Base ( Name, Node, ID_Base'Unchecked_Access ); 1054 1011 ID := ID_Base; 1055 1012 … … 1063 1020 ID : RTEMS.ID 1064 1021 ) return RTEMS.Status_Codes; 1065 pragma Import ( C, Message_Queue_Delete_Base,1066 "rtems_message_queue_delete");1022 pragma Import ( 1023 C, Message_Queue_Delete_Base, "rtems_message_queue_delete"); 1067 1024 begin 1068 1025 … … 1127 1084 1128 1085 Result := Message_Queue_Broadcast_Base ( 1129 ID, 1130 Buffer, 1131 Size, 1132 Count_Base'Unchecked_Access 1133 ); 1134 1086 ID, 1087 Buffer, 1088 Size, 1089 Count_Base'Unchecked_Access 1090 ); 1135 1091 Count := Count_Base; 1136 1092 … … 1158 1114 1159 1115 Result := Message_Queue_Receive_Base ( 1160 ID, 1161 Buffer, 1162 Size_Base'Unchecked_Access, 1163 Option_Set, 1164 Timeout 1165 ); 1166 1116 ID, 1117 Buffer, 1118 Size_Base'Unchecked_Access, 1119 Option_Set, 1120 Timeout 1121 ); 1167 1122 Size := Size_Base; 1168 1123 … … 1182 1137 begin 1183 1138 1184 Result := Message_Queue_Flush_Base ( 1185 ID, 1186 COUNT_Base'Unchecked_Access 1187 ); 1188 1139 Result := Message_Queue_Flush_Base ( ID, COUNT_Base'Unchecked_Access ); 1189 1140 Count := COUNT_Base; 1190 1141 1191 1142 end Message_Queue_Flush; 1192 1143 1193 1194 1144 -- 1195 1145 -- Event Manager … … 1208 1158 begin 1209 1159 1210 Result := Event_Send_Base ( 1211 ID, 1212 Event_In 1213 ); 1160 Result := Event_Send_Base ( ID, Event_In ); 1214 1161 1215 1162 end Event_Send; … … 1233 1180 1234 1181 Result := Event_Receive_Base ( 1235 Event_In, 1236 Option_Set, 1237 Ticks, 1238 Event_Out_Base'Access 1239 ); 1240 1182 Event_In, 1183 Option_Set, 1184 Ticks, 1185 Event_Out_Base'Access 1186 ); 1241 1187 Event_Out := Event_Out_Base; 1242 1188 … … 1313 1259 ID_Base'Unchecked_Access 1314 1260 ); 1315 1316 1261 ID := ID_Base; 1317 1262 … … 1333 1278 begin 1334 1279 1335 Result := Partition_Ident_Base ( 1336 Name, 1337 Node, 1338 ID_Base'Unchecked_Access 1339 ); 1340 1280 Result := Partition_Ident_Base ( Name, Node, ID_Base'Unchecked_Access ); 1341 1281 ID := ID_Base; 1342 1282 … … 1371 1311 begin 1372 1312 1373 Result := Partition_Get_Buffer_Base ( 1374 ID, 1375 Buffer_Base'Unchecked_Access 1376 ); 1377 1313 Result := Partition_Get_Buffer_Base ( ID, Buffer_Base'Unchecked_Access ); 1378 1314 Buffer := Buffer_Base; 1379 1315 … … 1420 1356 pragma Import (C, Region_Create_Base, "rtems_region_create"); 1421 1357 ID_Base : aliased RTEMS.ID := ID; 1422 1423 1358 begin 1424 1359 1425 1360 Result := Region_Create_Base ( 1426 Name, 1427 Starting_Address, 1428 Length, 1429 Page_Size, 1430 Attribute_Set, 1431 ID_Base'Unchecked_Access 1432 ); 1433 1361 Name, 1362 Starting_Address, 1363 Length, 1364 Page_Size, 1365 Attribute_Set, 1366 ID_Base'Unchecked_Access 1367 ); 1434 1368 ID := ID_Base; 1435 1369 … … 1449 1383 begin 1450 1384 1451 Result := Region_Ident_Base ( 1452 Name, 1453 ID_Base'Unchecked_Access 1454 ); 1455 1385 Result := Region_Ident_Base ( Name, ID_Base'Unchecked_Access ); 1456 1386 ID := ID_Base; 1457 1387 … … 1516 1446 Segment_Base'Unchecked_Access 1517 1447 ); 1518 1519 1448 Segment := SEGMENT_Base; 1520 1449 … … 1542 1471 Size_Base'Unchecked_Access 1543 1472 ); 1544 1545 1473 Size := SIZE_Base; 1546 1474 … … 1564 1492 end Region_Return_Segment; 1565 1493 1566 1567 1494 -- 1568 1495 -- Dual Ported Memory Manager … … 1586 1513 pragma Import (C, Port_Create_Base, "rtems_port_create"); 1587 1514 ID_Base : aliased RTEMS.ID := ID; 1588 1589 1515 begin 1590 1516 1591 1517 Result := Port_Create_Base ( 1592 Name, 1593 Internal_Start, 1594 External_Start, 1595 Length, 1596 ID_Base'Unchecked_Access 1597 ); 1598 1518 Name, 1519 Internal_Start, 1520 External_Start, 1521 Length, 1522 ID_Base'Unchecked_Access 1523 ); 1599 1524 ID := ID_Base; 1600 1525 … … 1614 1539 begin 1615 1540 1616 Result := Port_Ident_Base ( 1617 Name, 1618 ID_Base'Unchecked_Access 1619 ); 1620 1541 Result := Port_Ident_Base ( Name, ID_Base'Unchecked_Access ); 1621 1542 ID := ID_Base; 1622 1543 … … 1658 1579 Internal_Base'Unchecked_Access 1659 1580 ); 1660 1661 1581 Internal := INTERNAL_Base; 1662 1582 … … 1684 1604 External_Base'Unchecked_Access 1685 1605 ); 1686 1687 1606 External := EXTERNAL_Base; 1688 1607 … … 1716 1635 Return_Value_Base'Unchecked_Access 1717 1636 ); 1718 1719 1637 Return_Value := Return_Value_Base; 1720 1638 … … 1735 1653 begin 1736 1654 1737 Result := IO_Register_Name_Base ( 1738 Interfaces.C.To_C (Name), 1739 Major, 1740 Minor 1741 ); 1655 Result := 1656 IO_Register_Name_Base ( Interfaces.C.To_C (Name), Major, Minor ); 1742 1657 1743 1658 end IO_Register_Name; … … 1753 1668 ) return RTEMS.Status_Codes; 1754 1669 pragma Import (C, IO_Lookup_Name_Base, "rtems_io_lookup_name"); 1755 1756 1670 Device_Info_Base : aliased RTEMS.Driver_Name_t; 1757 1671 begin … … 1761 1675 Device_Info_Base'Unchecked_Access 1762 1676 ); 1763 1764 1677 Device_Info := Device_Info_Base; 1765 1678 … … 1856 1769 end IO_Control; 1857 1770 1858 1859 1771 -- 1860 1772 -- Fatal Error Manager … … 1872 1784 Fatal_Error_Occurred_Base ( The_Error ); 1873 1785 1874 end Fatal_Error_Occurred; 1786 end Fatal_Error_Occurred; 1787 1788 1875 1789 -- 1876 1790 -- Rate Monotonic Manager … … 1890 1804 begin 1891 1805 1892 Result := Rate_Monotonic_Create_base ( 1893 Name, 1894 ID_Base'Unchecked_Access 1895 ); 1896 1806 Result := Rate_Monotonic_Create_base ( Name, ID_Base'Unchecked_Access ); 1897 1807 ID := ID_Base; 1898 1808 … … 1912 1822 begin 1913 1823 1914 Result := Rate_Monotonic_Ident_Base ( 1915 Name, 1916 ID_Base'Unchecked_Access 1917 ); 1824 Result := Rate_Monotonic_Ident_Base ( Name, ID_Base'Unchecked_Access ); 1918 1825 1919 1826 ID := ID_Base; … … 1994 1901 end Rate_Monotonic_Get_Status; 1995 1902 1996 --1997 -- Multiprocessing Manager1998 --1999 2000 procedure Multiprocessing_Announce is2001 procedure Multiprocessing_Announce_Base;2002 pragma Import (C, Multiprocessing_Announce_Base,2003 "rtems_multiprocessing_announce");2004 begin2005 2006 Multiprocessing_Announce_Base;2007 2008 end Multiprocessing_Announce;2009 2010 1903 2011 1904 -- … … 2062 1955 2063 1956 end RTEMS; 2064 -
cpukit/ada/rtems.ads
r569a01f r7003847 26 26 27 27 package RTEMS is 28 pragma Elaborate_Body (RTEMS); 28 29 29 30 Structure_Alignment : constant := 8; … … 36 37 subtype Unsigned16 is Interfaces.Unsigned_16; 37 38 subtype Unsigned32 is Interfaces.Unsigned_32; 39 subtype Signed32 is Interfaces.Integer_32; 38 40 39 41 type Unsigned32_Pointer is access all RTEMS.Unsigned32; 40 42 type Unsigned16_Pointer is access all RTEMS.Unsigned16; 41 43 type Unsigned8_Pointer is access all RTEMS.Unsigned8; 44 type Signed32_Pointer is access all RTEMS.Signed32; 42 45 43 46 subtype Boolean is RTEMS.Unsigned32; … … 236 239 ) return RTEMS.Attribute; 237 240 pragma Import (C, Interrupt_Level, "rtems_interrupt_level_attribute"); 238 239 241 240 242 Minimum_Stack_Size : RTEMS.Unsigned32; … … 698 700 type Configuration_Table is 699 701 record 700 Work_Space_Start : RTEMS.Address; 701 Work_Space_Size : RTEMS.Unsigned32; 702 Maximum_Extensions : RTEMS.Unsigned32; 703 Microseconds_Per_Tick : RTEMS.Unsigned32; 704 Ticks_Per_Timeslice : RTEMS.Unsigned32; 705 Maximum_Devices : RTEMS.Unsigned32; 706 Number_Of_Device_Drivers : RTEMS.Unsigned32; 707 Device_Driver_Table : RTEMS.Driver_Address_Table_Pointer; 708 Number_Of_Initial_Extensions : RTEMS.Unsigned32; 709 User_Extension_Table : RTEMS.Extensions_Table_Pointer; 710 User_Multiprocessing_Table : RTEMS.Multiprocessing_Table_Pointer; 711 RTEMS_API_Configuration : RTEMS.API_Configuration_Table_Pointer; 712 POSIX_API_Configuration : RTEMS.POSIX_API_Configuration_Table_Pointer; 702 Work_Space_Start : RTEMS.Address; 703 Work_Space_Size : RTEMS.Unsigned32; 704 Maximum_Extensions : RTEMS.Unsigned32; 705 Microseconds_Per_Tick : RTEMS.Unsigned32; 706 Ticks_Per_Timeslice : RTEMS.Unsigned32; 707 Maximum_Devices : RTEMS.Unsigned32; 708 Number_Of_Device_Drivers : RTEMS.Unsigned32; 709 Device_Driver_Table : RTEMS.Driver_Address_Table_Pointer; 710 User_Extension_Table : RTEMS.Extensions_Table_Pointer; 711 User_Multiprocessing_Table : RTEMS.Multiprocessing_Table_Pointer; 712 RTEMS_API_Configuration : RTEMS.API_Configuration_Table_Pointer; 713 POSIX_API_Configuration : RTEMS.POSIX_API_Configuration_Table_Pointer; 713 714 end record; 714 715 … … 865 866 ); 866 867 867 procedure Task_Is_Suspended (868 ID : in RTEMS.ID;869 Result : out RTEMS.Status_Codes870 );871 872 868 procedure Task_Set_Priority ( 873 869 ID : in RTEMS.ID; … … 919 915 ); 920 916 921 function Interrupt_Disable 922 return RTEMS.ISR_Level; 917 function Interrupt_Disable return RTEMS.ISR_Level; 918 pragma Interface (C, Interrupt_Disable); 919 pragma Interface_Name (Interrupt_Disable, "rtems_interrupt_disable"); 923 920 924 921 procedure Interrupt_Enable ( 925 922 Level : in RTEMS.ISR_Level 926 923 ); 924 pragma Interface (C, Interrupt_Enable); 925 pragma Interface_Name (Interrupt_Enable, "rtems_interrupt_enable"); 927 926 928 927 procedure Interrupt_Flash ( 929 928 Level : in RTEMS.ISR_Level 930 929 ); 931 932 function Interrupt_Is_In_Progress 933 return RTEMS.Boolean; 930 pragma Interface (C, Interrupt_Flash); 931 pragma Interface_Name (Interrupt_Flash, "rtems_interrupt_flash"); 932 933 function Interrupt_Is_In_Progress return RTEMS.Boolean; 934 pragma Interface (C, Interrupt_Is_In_Progress); 935 pragma Interface_Name 936 (Interrupt_Is_In_Progress, "rtems_interrupt_is_in_progress"); 934 937 935 938 -- … … 1004 1007 ); 1005 1008 1009 procedure Timer_Server_Fire_After ( 1010 ID : in RTEMS.ID; 1011 Ticks : in RTEMS.Interval; 1012 Routine : in RTEMS.Timer_Service_Routine; 1013 User_Data : in RTEMS.Address; 1014 Result : out RTEMS.Status_Codes 1015 ); 1016 1006 1017 procedure Timer_Fire_When ( 1007 1018 ID : in RTEMS.ID; … … 1012 1023 ); 1013 1024 1025 procedure Timer_Server_Fire_When ( 1026 ID : in RTEMS.ID; 1027 Wall_Time : in RTEMS.Time_Of_Day; 1028 Routine : in RTEMS.Timer_Service_Routine; 1029 User_Data : in RTEMS.Address; 1030 Result : out RTEMS.Status_Codes 1031 ); 1032 1014 1033 procedure Timer_Reset ( 1015 1034 ID : in RTEMS.ID; … … 1020 1039 ID : in RTEMS.ID; 1021 1040 Result : out RTEMS.Status_Codes 1041 ); 1042 1043 procedure Timer_Initiate_Server ( 1044 Server_Priority : in RTEMS.Task_Priority; 1045 Stack_Size : in Unsigned32; 1046 Attribute_Set : in RTEMS.Attribute; 1047 Result : out RTEMS.Status_Codes 1022 1048 ); 1023 1049 … … 1059 1085 ); 1060 1086 1061 procedure Semaphore_Flush (1062 ID : in RTEMS.ID;1063 Result : out RTEMS.Status_Codes1064 );1065 1087 1066 1088 -- … … 1402 1424 ); 1403 1425 1404 --1405 -- Multiprocessing Manager1406 --1407 1408 procedure Multiprocessing_Announce;1409 1410 1426 1411 1427 -- … … 1435 1451 pragma Import (C, Configuration, "_Configuration_Table"); 1436 1452 1437 1438 private1439 1453 end RTEMS;
Note: See TracChangeset
for help on using the changeset viewer.