Changeset 8294a5d9 in rtems
- Timestamp:
- 10/26/07 21:37:07 (15 years ago)
- Branches:
- 4.8
- Children:
- 21b3f3b1
- Parents:
- 1b03eed
- Location:
- c/src/ada
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/ada/ChangeLog
r1b03eed r8294a5d9 1 2007-10-26 Glenn Humphrey <glenn.humphrey@OARcorp.com> 2 3 * rtems.adb, rtems.ads: Merge binding updates from CVS head. Bindings 4 should now be reasonably in sync with C Classic API. 5 1 6 2007-09-05 Joel Sherrill <joel.sherrill@oarcorp.com> 2 7 -
c/src/ada/rtems.adb
r1b03eed r8294a5d9 18 18 -- http://www.rtems.com/license/LICENSE. 19 19 -- 20 -- rtems.adb,v 1.13.2.2 2003/09/04 18:46:47 joel Exp20 -- $Id$ 21 21 -- 22 22 … … 217 217 218 218 -- 219 -- Initialization Manager -- Shutdown Only 220 -- 221 procedure Shutdown_Executive ( 222 Status : in RTEMS.Unsigned32 223 ) is 224 procedure Shutdown_Executive_Base ( 225 Status : RTEMS.Unsigned32 226 ); 227 pragma Import (C, Shutdown_Executive_Base, "rtems_shutdown_executive"); 228 begin 229 Shutdown_Executive_Base (Status); 230 end Shutdown_Executive; 231 232 233 -- 219 234 -- Task Manager 220 235 -- … … 349 364 end Task_Resume; 350 365 366 procedure Task_Is_Suspended ( 367 ID : in RTEMS.ID; 368 Result : out RTEMS.Status_Codes 369 ) is 370 function Task_Is_Suspended_Base ( 371 ID : RTEMS.ID 372 ) return RTEMS.Status_Codes; 373 pragma Import (C, Task_Is_Suspended_Base, "rtems_task_is_suspended"); 374 begin 375 376 Result := Task_Is_Suspended_Base ( ID ); 377 378 end Task_Is_Suspended; 379 351 380 procedure Task_Set_Priority ( 352 381 ID : in RTEMS.ID; … … 435 464 end Task_Set_Note; 436 465 466 procedure Task_Variable_Add ( 467 ID : in RTEMS.ID; 468 Task_Variable : in RTEMS.Address; 469 Dtor : in RTEMS.Task_Variable_Dtor; 470 Result : out RTEMS.Status_Codes 471 ) is 472 function Task_Variable_Add_Base ( 473 ID : RTEMS.ID; 474 Task_Variable : RTEMS.Address; 475 Dtor : RTEMS.Task_Variable_Dtor 476 ) return RTEMS.Status_Codes; 477 pragma Import (C, Task_Variable_Add_Base, "rtems_task_variable_add"); 478 begin 479 480 Result := Task_Variable_Add_Base ( ID, Task_Variable, Dtor ); 481 482 end Task_Variable_Add; 483 484 procedure Task_Variable_Get ( 485 ID : in RTEMS.ID; 486 Task_Variable : out RTEMS.Address; 487 Task_Variable_Value : out RTEMS.Address; 488 Result : out RTEMS.Status_Codes 489 ) is 490 function Task_Variable_Get_Base ( 491 ID : RTEMS.ID; 492 Task_Variable : access RTEMS.Address; 493 Task_Variable_Value : access RTEMS.Address 494 ) return RTEMS.Status_Codes; 495 pragma Import (C, Task_Variable_Get_Base, "rtems_task_variable_get"); 496 Task_Variable_Base : aliased RTEMS.Address; 497 Task_Variable_Value_Base : aliased RTEMS.Address; 498 begin 499 500 Result := Task_Variable_Get_Base ( 501 ID, 502 Task_Variable_Base'Unchecked_Access, 503 Task_Variable_Value_Base'Unchecked_Access 504 ); 505 Task_Variable := Task_Variable_Base; 506 Task_Variable_Value := Task_Variable_Value_Base; 507 508 end Task_Variable_Get; 509 510 procedure Task_Variable_Delete ( 511 ID : in RTEMS.ID; 512 Task_Variable : out RTEMS.Address; 513 Result : out RTEMS.Status_Codes 514 ) is 515 function Task_Variable_Delete_Base ( 516 ID : RTEMS.ID; 517 Task_Variable : access RTEMS.Address 518 ) return RTEMS.Status_Codes; 519 pragma Import ( 520 C, Task_Variable_Delete_Base, "rtems_task_variable_delete" 521 ); 522 Task_Variable_Base : aliased RTEMS.Address; 523 begin 524 525 Result := Task_Variable_Delete_Base ( 526 ID, Task_Variable_Base'Unchecked_Access 527 ); 528 Task_Variable := Task_Variable_Base; 529 530 end Task_Variable_Delete; 531 437 532 procedure Task_Wake_When ( 438 533 Time_Buffer : in RTEMS.Time_Of_Day; … … 466 561 -- Interrupt Manager 467 562 -- 468 469 procedure Interrupt_Catch (470 New_ISR_Handler : in RTEMS.Address;471 Vector : in RTEMS.Vector_Number;472 Old_ISR_Handler : out RTEMS.Address;473 Result : out RTEMS.Status_Codes474 ) is475 function Interrupt_Catch_Base (476 New_ISR_Handler : RTEMS.Address;477 Vector : RTEMS.Vector_Number;478 Old_ISR_Handler : access RTEMS.Address479 ) return RTEMS.Status_Codes;480 pragma Import (C, Interrupt_Catch_Base, "rtems_interrupt_catch");481 Old_ISR_Handler_Base : aliased RTEMS.Address;482 begin483 484 Result := Interrupt_Catch_Base (485 New_ISR_Handler,486 Vector,487 OLD_ISR_HANDLER_Base'Unchecked_Access488 );489 Old_ISR_Handler := OLD_ISR_HANDLER_Base;490 491 end Interrupt_Catch;492 563 493 564 -- Interrupt_Disable is interfaced in the specification … … 500 571 -- 501 572 573 procedure Clock_Set ( 574 Time_Buffer : in RTEMS.Time_Of_Day; 575 Result : out RTEMS.Status_Codes 576 ) is 577 function Clock_Set_Base ( 578 Time_Buffer : RTEMS.Time_Of_Day 579 ) return RTEMS.Status_Codes; 580 pragma Import (C, Clock_Set_Base, "rtems_clock_set"); 581 begin 582 583 Result := Clock_Set_Base ( Time_Buffer ); 584 585 end Clock_Set; 586 502 587 procedure Clock_Get ( 503 588 Option : in RTEMS.Clock_Get_Options; … … 505 590 Result : out RTEMS.Status_Codes 506 591 ) is 507 function Clock_Get_ base (592 function Clock_Get_Base ( 508 593 Option : RTEMS.Clock_Get_Options; 509 594 Time_Buffer : RTEMS.Address 510 595 ) return RTEMS.Status_Codes; 511 pragma Import (C, Clock_Get_ base, "rtems_clock_get");512 begin 513 514 Result := Clock_Get_ base ( Option, Time_Buffer );596 pragma Import (C, Clock_Get_Base, "rtems_clock_get"); 597 begin 598 599 Result := Clock_Get_Base ( Option, Time_Buffer ); 515 600 516 601 end Clock_Get; 517 602 518 procedure Clock_Set ( 519 Time_Buffer : in RTEMS.Time_Of_Day; 520 Result : out RTEMS.Status_Codes 521 ) is 522 function Clock_Set_base ( 523 Time_Buffer : RTEMS.Time_Of_Day 524 ) return RTEMS.Status_Codes; 525 pragma Import (C, Clock_Set_base, "rtems_clock_set"); 526 begin 527 528 Result := Clock_Set_base ( Time_Buffer ); 529 530 end Clock_Set; 603 procedure Clock_Get_Uptime ( 604 Uptime : out RTEMS.Timespec; 605 Result : out RTEMS.Status_Codes 606 ) is 607 function Clock_Get_Uptime_Base ( 608 Uptime : access RTEMS.Timespec 609 ) return RTEMS.Status_Codes; 610 pragma Import (C, Clock_Get_Uptime_Base, "rtems_clock_get_uptime"); 611 Uptime_Base : aliased RTEMS.Timespec; 612 begin 613 614 Result := Clock_Get_Uptime_Base ( 615 Uptime_Base'Unchecked_Access 616 ); 617 Uptime := Uptime_Base; 618 619 end Clock_Get_Uptime; 531 620 532 621 procedure Clock_Tick ( … … 540 629 541 630 end Clock_Tick; 542 631 543 632 -- 544 633 -- Extension Manager … … 891 980 end Semaphore_Release; 892 981 982 procedure Semaphore_Flush ( 983 ID : in RTEMS.ID; 984 Result : out RTEMS.Status_Codes 985 ) is 986 function Semaphore_Flush_Base ( 987 ID : RTEMS.ID 988 ) return RTEMS.Status_Codes; 989 pragma Import (C, Semaphore_Flush_Base, "rtems_semaphore_flush"); 990 begin 991 992 Result := Semaphore_Flush_Base ( ID ); 993 994 end Semaphore_Flush; 995 893 996 -- 894 997 -- Message Queue Manager … … 1058 1161 1059 1162 end Message_Queue_Receive; 1163 1164 procedure Message_Queue_Get_Number_Pending ( 1165 ID : in RTEMS.ID; 1166 Count : out RTEMS.Unsigned32; 1167 Result : out RTEMS.Status_Codes 1168 ) is 1169 function Message_Queue_Get_Number_Pending_Base ( 1170 ID : RTEMS.ID; 1171 Count : access RTEMS.Unsigned32 1172 ) return RTEMS.Status_Codes; 1173 pragma Import ( 1174 C, 1175 Message_Queue_Get_Number_Pending_Base, 1176 "rtems_message_queue_get_number_pending" 1177 ); 1178 COUNT_Base : aliased RTEMS.Unsigned32; 1179 begin 1180 1181 Result := Message_Queue_Get_Number_Pending_Base ( 1182 ID, COUNT_Base'Unchecked_Access 1183 ); 1184 Count := COUNT_Base; 1185 1186 end Message_Queue_Get_Number_Pending; 1060 1187 1061 1188 procedure Message_Queue_Flush ( … … 1427 1554 end Region_Return_Segment; 1428 1555 1556 procedure Region_Resize_Segment ( 1557 ID : in RTEMS.ID; 1558 Segment : in RTEMS.Address; 1559 Size : in RTEMS.Unsigned32; 1560 Old_Size : out RTEMS.Unsigned32; 1561 Result : out RTEMS.Status_Codes 1562 ) is 1563 function Region_Resize_Segment_Base ( 1564 ID : RTEMS.ID; 1565 Segment : RTEMS.Address; 1566 Size : RTEMS.Unsigned32; 1567 Old_Size : access RTEMS.Unsigned32 1568 ) return RTEMS.Status_Codes; 1569 pragma Import (C, Region_Resize_Segment_Base, 1570 "rtems_region_resize_segment"); 1571 Old_Size_Base : aliased RTEMS.Unsigned32; 1572 begin 1573 1574 Result := Region_Resize_Segment_Base ( 1575 ID, 1576 Segment, 1577 Size, 1578 Old_Size_Base'Unchecked_Access 1579 ); 1580 Old_Size := Old_Size_Base; 1581 1582 end Region_Resize_Segment; 1583 1429 1584 -- 1430 1585 -- Dual Ported Memory Manager … … 1543 1698 end Port_Internal_To_External; 1544 1699 1545 --1546 -- Input/Output Manager1547 --1548 1549 procedure IO_Register_Name (1550 Name : in String;1551 Major : in RTEMS.Device_Major_Number;1552 Minor : in RTEMS.Device_Minor_Number;1553 Result : out RTEMS.Status_Codes1554 ) is1555 function IO_Register_Name_Base (1556 Name : Interfaces.C.Char_Array;1557 Major : RTEMS.Device_Major_Number;1558 Minor : RTEMS.Device_Minor_Number1559 ) return RTEMS.Status_Codes;1560 pragma Import (C, IO_Register_Name_Base, "rtems_io_register_name");1561 begin1562 1563 Result :=1564 IO_Register_Name_Base ( Interfaces.C.To_C (Name), Major, Minor );1565 1566 end IO_Register_Name;1567 1568 procedure IO_Lookup_Name (1569 Name : in String;1570 Device_Info : in RTEMS.Driver_Name_t_Pointer;1571 Result : out RTEMS.Status_Codes1572 ) is1573 function IO_Lookup_Name_Base (1574 Name : Interfaces.C.Char_Array;1575 Device_Info : access RTEMS.Driver_Name_t1576 ) return RTEMS.Status_Codes;1577 pragma Import (C, IO_Lookup_Name_Base, "rtems_io_lookup_name");1578 Device_Info_Base : aliased RTEMS.Driver_Name_t;1579 begin1580 1581 Result := IO_Lookup_Name_Base (1582 Interfaces.C.To_C (Name),1583 Device_Info_Base'Unchecked_Access1584 );1585 Device_Info.All := Device_Info_Base;1586 1587 end IO_Lookup_Name;1588 1589 procedure IO_Open (1590 Major : in RTEMS.Device_Major_Number;1591 Minor : in RTEMS.Device_Minor_Number;1592 Argument : in RTEMS.Address;1593 Result : out RTEMS.Status_Codes1594 ) is1595 function IO_Open_Base (1596 Major : RTEMS.Device_Major_Number;1597 Minor : RTEMS.Device_Minor_Number;1598 Argument : RTEMS.Address1599 ) return RTEMS.Status_Codes;1600 pragma Import (C, IO_Open_Base, "rtems_io_open");1601 begin1602 1603 Result := IO_Open_Base (Major, Minor, Argument);1604 1605 end IO_Open;1606 1607 procedure IO_Close (1608 Major : in RTEMS.Device_Major_Number;1609 Minor : in RTEMS.Device_Minor_Number;1610 Argument : in RTEMS.Address;1611 Result : out RTEMS.Status_Codes1612 ) is1613 function IO_Close_Base (1614 Major : RTEMS.Device_Major_Number;1615 Minor : RTEMS.Device_Minor_Number;1616 Argument : RTEMS.Address1617 ) return RTEMS.Status_Codes;1618 pragma Import (C, IO_Close_Base, "rtems_io_close");1619 begin1620 1621 Result := IO_Close_Base (Major, Minor, Argument);1622 1623 end IO_Close;1624 1625 procedure IO_Read (1626 Major : in RTEMS.Device_Major_Number;1627 Minor : in RTEMS.Device_Minor_Number;1628 Argument : in RTEMS.Address;1629 Result : out RTEMS.Status_Codes1630 ) is1631 function IO_Read_Base (1632 Major : RTEMS.Device_Major_Number;1633 Minor : RTEMS.Device_Minor_Number;1634 Argument : RTEMS.Address1635 ) return RTEMS.Status_Codes;1636 pragma Import (C, IO_Read_Base, "rtems_io_read");1637 begin1638 1639 Result := IO_Read_Base (Major, Minor, Argument);1640 1641 end IO_Read;1642 1643 procedure IO_Write (1644 Major : in RTEMS.Device_Major_Number;1645 Minor : in RTEMS.Device_Minor_Number;1646 Argument : in RTEMS.Address;1647 Result : out RTEMS.Status_Codes1648 ) is1649 function IO_Write_Base (1650 Major : RTEMS.Device_Major_Number;1651 Minor : RTEMS.Device_Minor_Number;1652 Argument : RTEMS.Address1653 ) return RTEMS.Status_Codes;1654 pragma Import (C, IO_Write_Base, "rtems_io_write");1655 begin1656 1657 Result := IO_Write_Base (Major, Minor, Argument);1658 1659 end IO_Write;1660 1661 procedure IO_Control (1662 Major : in RTEMS.Device_Major_Number;1663 Minor : in RTEMS.Device_Minor_Number;1664 Argument : in RTEMS.Address;1665 Result : out RTEMS.Status_Codes1666 ) is1667 function IO_Control_Base (1668 Major : RTEMS.Device_Major_Number;1669 Minor : RTEMS.Device_Minor_Number;1670 Argument : RTEMS.Address1671 ) return RTEMS.Status_Codes;1672 pragma Import (C, IO_Control_Base, "rtems_io_control");1673 begin1674 1675 Result := IO_Control_Base (Major, Minor, Argument);1676 1677 end IO_Control;1678 1700 1679 1701 -- … … 1684 1706 The_Error : in RTEMS.Unsigned32 1685 1707 ) is 1686 procedure Fatal_Error_Occurred_ base (1708 procedure Fatal_Error_Occurred_Base ( 1687 1709 The_Error : RTEMS.Unsigned32 1688 1710 ); … … 1704 1726 Result : out RTEMS.Status_Codes 1705 1727 ) is 1706 function Rate_Monotonic_Create_ base (1728 function Rate_Monotonic_Create_Base ( 1707 1729 Name : RTEMS.Name; 1708 1730 ID : access RTEMS.ID 1709 1731 ) return RTEMS.Status_Codes; 1710 pragma Import (C, Rate_Monotonic_Create_ base, "rtems_rate_monotonic_create");1732 pragma Import (C, Rate_Monotonic_Create_Base, "rtems_rate_monotonic_create"); 1711 1733 ID_Base : aliased RTEMS.ID; 1712 1734 begin 1713 1735 1714 Result := Rate_Monotonic_Create_ base ( Name, ID_Base'Unchecked_Access );1736 Result := Rate_Monotonic_Create_Base ( Name, ID_Base'Unchecked_Access ); 1715 1737 ID := ID_Base; 1716 1738 … … 1747 1769 begin 1748 1770 1749 Result := Rate_Monotonic_Delete_ base ( ID );1771 Result := Rate_Monotonic_Delete_Base ( ID ); 1750 1772 1751 1773 end Rate_Monotonic_Delete; … … 1779 1801 begin 1780 1802 1781 Result := Rate_Monotonic_Period_ base ( ID, Length );1803 Result := Rate_Monotonic_Period_Base ( ID, Length ); 1782 1804 1783 1805 end Rate_Monotonic_Period; 1784 1785 1806 1786 1807 procedure Rate_Monotonic_Get_Status ( … … 1808 1829 1809 1830 end Rate_Monotonic_Get_Status; 1831 1832 procedure Rate_Monotonic_Reset_Statistics ( 1833 ID : in RTEMS.ID; 1834 Result : out RTEMS.Status_Codes 1835 ) is 1836 function Rate_Monotonic_Reset_Statistics_Base ( 1837 ID : RTEMS.ID 1838 ) return RTEMS.Status_Codes; 1839 pragma Import (C, Rate_Monotonic_Reset_Statistics_Base, 1840 "rtems_rate_monotonic_reset_statistics"); 1841 begin 1842 1843 Result := Rate_Monotonic_Reset_Statistics_Base ( ID ); 1844 1845 end Rate_Monotonic_Reset_Statistics; 1846 1847 1848 -- 1849 -- Barrier Manager 1850 -- 1851 1852 procedure Barrier_Create ( 1853 Name : in RTEMS.Name; 1854 Attribute_Set : in RTEMS.Attribute; 1855 Maximum_Waiters : in RTEMS.Unsigned32; 1856 ID : out RTEMS.ID; 1857 Result : out RTEMS.Status_Codes 1858 ) is 1859 function Barrier_Create_Base ( 1860 Name : RTEMS.Name; 1861 Attribute_Set : RTEMS.Attribute; 1862 Maximum_Waiters : RTEMS.Unsigned32; 1863 ID : access RTEMS.ID 1864 ) return RTEMS.Status_Codes; 1865 pragma Import (C, Barrier_Create_Base, "rtems_barrier_create"); 1866 ID_Base : aliased RTEMS.ID; 1867 begin 1868 1869 Result := Barrier_Create_Base ( 1870 Name, 1871 Attribute_Set, 1872 Maximum_Waiters, 1873 ID_Base'Unchecked_Access 1874 ); 1875 ID := ID_Base; 1876 1877 end Barrier_Create; 1878 1879 procedure Barrier_Ident ( 1880 Name : in RTEMS.Name; 1881 ID : out RTEMS.ID; 1882 Result : out RTEMS.Status_Codes 1883 ) is 1884 function Barrier_Ident_Base ( 1885 Name : RTEMS.Name; 1886 ID : access RTEMS.ID 1887 ) return RTEMS.Status_Codes; 1888 pragma Import (C, Barrier_Ident_Base, "rtems_barrier_ident"); 1889 ID_Base : aliased RTEMS.ID; 1890 begin 1891 1892 Result := Barrier_Ident_Base ( Name, ID_Base'Unchecked_Access ); 1893 ID := ID_Base; 1894 1895 end Barrier_Ident; 1896 1897 procedure Barrier_Delete ( 1898 ID : in RTEMS.ID; 1899 Result : out RTEMS.Status_Codes 1900 ) is 1901 function Barrier_Delete_Base ( 1902 ID : RTEMS.ID 1903 ) return RTEMS.Status_Codes; 1904 pragma Import (C, Barrier_Delete_Base, "rtems_barrier_delete"); 1905 begin 1906 1907 Result := Barrier_Delete_Base ( ID ); 1908 1909 end Barrier_Delete; 1910 1911 procedure Barrier_Wait ( 1912 ID : in RTEMS.ID; 1913 Option_Set : in RTEMS.Option; 1914 Timeout : in RTEMS.Interval; 1915 Result : out RTEMS.Status_Codes 1916 ) is 1917 function Barrier_Wait_Base ( 1918 ID : RTEMS.ID; 1919 Option_Set : RTEMS.Option; 1920 Timeout : RTEMS.Interval 1921 ) return RTEMS.Status_Codes; 1922 pragma Import (C, Barrier_Wait_Base, "rtems_barrier_wait"); 1923 begin 1924 1925 Result := Barrier_Wait_Base ( ID, Option_Set, Timeout ); 1926 1927 end Barrier_Wait; 1928 1929 procedure Barrier_Release ( 1930 ID : in RTEMS.ID; 1931 Result : out RTEMS.Status_Codes 1932 ) is 1933 function Barrier_Release_Base ( 1934 ID : RTEMS.ID 1935 ) return RTEMS.Status_Codes; 1936 pragma Import (C, Barrier_Release_Base, "rtems_barrier_release"); 1937 begin 1938 1939 Result := Barrier_Release_Base ( ID ); 1940 1941 end Barrier_Release; 1810 1942 1811 1943 -
c/src/ada/rtems.ads
r1b03eed r8294a5d9 19 19 -- http://www.rtems.com/license/LICENSE. 20 20 -- 21 -- rtems.ads,v 1.19.2.2 2003/11/25 14:07:32 joel Exp21 -- $Id$ 22 22 -- 23 23 … … 78 78 False : constant RTEMS.Boolean := 0; 79 79 80 -- 80 81 -- More Types 81 82 -- … … 95 96 subtype Device_Major_Number is RTEMS.Unsigned32; 96 97 subtype Device_Minor_Number is RTEMS.Unsigned32; 97 subtype Vector_Number is RTEMS.Unsigned32;98 98 subtype ISR_Level is RTEMS.Unsigned32; 99 99 … … 102 102 -- 103 103 -- Task Related Types 104 -- XXXX fix this 104 -- 105 105 106 subtype Task_Argument is RTEMS.Unsigned32; 106 107 type Task_Argument_PTR is access all Task_Argument; 107 108 108 -- XXXX fix this 109 type Task_Entry is access procedure ( 110 Argument : RTEMS.Unsigned32 111 ); 112 109 113 subtype TCB is RTEMS.Unsigned32; 110 114 type TCB_Pointer is access all RTEMS.TCB; 111 112 subtype Task_States is RTEMS.Unsigned32;113 114 type Task_Entry is access procedure (115 Argument : RTEMS.Unsigned32116 );117 115 118 116 -- … … 141 139 Clock_Get_Seconds_Since_Epoch, 142 140 Clock_Get_Ticks_Since_Boot, 143 Clock_Get_Ticks_Per_Second s,141 Clock_Get_Ticks_Per_Second, 144 142 Clock_Get_Time_Value 145 143 ); 146 144 147 -- 148 -- Device Driver Entry Prototype 149 -- 150 151 type Device_Driver_Entry is access function ( 152 Major : in RTEMS.Device_Major_Number; 153 Minor : in RTEMS.Device_Major_Number; 154 Argument : in RTEMS.Unsigned32; 155 ID : in RTEMS.Unsigned32 156 ) return RTEMS.Unsigned32; 157 158 type Driver_Address_Table_Entry is 159 record 160 Initialization : RTEMS.Device_Driver_Entry; 161 Open : RTEMS.Device_Driver_Entry; 162 Close : RTEMS.Device_Driver_Entry; 163 Read : RTEMS.Device_Driver_Entry; 164 Write : RTEMS.Device_Driver_Entry; 165 Control : RTEMS.Device_Driver_Entry; 166 end record; 167 168 type Driver_Address_Table is array ( RTEMS.Unsigned32 169 range 1 .. RTEMS.Unsigned32'Last ) of RTEMS.Driver_Address_Table_Entry; 170 171 type Driver_Address_Table_Pointer is access all Driver_Address_Table; 172 173 type Driver_Name_t is 174 record 175 Device_Name : RTEMS.Address; 176 Device_Name_Length : RTEMS.Unsigned32; 177 Major : RTEMS.Device_Major_Number; 178 Minor : RTEMS.Device_Minor_Number; 179 end record; 180 181 type Driver_Name_t_Pointer is access all Driver_Name_t; 145 type Time_T is new Interfaces.C.Long; 146 147 type Timespec is record 148 TV_Sec : Time_T; 149 TV_Nsec : Interfaces.C.Long; 150 end record; 151 pragma Convention (C, Timespec); 182 152 183 153 -- … … 249 219 Minimum_Stack_Size : RTEMS.Unsigned32; 250 220 pragma Import (C, Minimum_Stack_Size, "rtems_minimum_stack_size"); 251 252 221 253 222 -- … … 283 252 No_Priority : constant RTEMS.Task_Priority := 0; 284 253 285 286 254 -- 287 255 -- Extension Callouts and Table 288 256 -- 289 257 290 type Thread_Create_Extension is access procedure(258 type Thread_Create_Extension is access function ( 291 259 Current_Task : in RTEMS.TCB_Pointer; 292 260 New_Task : in RTEMS.TCB_Pointer 293 ) ;261 ) return RTEMS.Boolean; 294 262 295 263 type Thread_Start_Extension is access procedure ( … … 540 508 541 509 -- 542 -- For now, do not provide access to the CPU Table from Ada.543 -- When this type is provided, a CPU dependent file must544 -- define it.545 --546 547 subtype CPU_Table is RTEMS.Address;548 type CPU_Table_Pointer is access all CPU_Table;549 550 --551 510 -- Utility Functions 552 511 -- … … 613 572 Right : in RTEMS.Address 614 573 ) return Standard.Boolean; 574 575 615 576 -- 616 577 -- RTEMS API 617 578 -- 579 580 -- 581 -- Initialization Manager -- Shutdown Only 582 -- 583 procedure Shutdown_Executive ( 584 Status : in RTEMS.Unsigned32 585 ); 618 586 619 587 -- … … 666 634 ); 667 635 636 procedure Task_Is_Suspended ( 637 ID : in RTEMS.ID; 638 Result : out RTEMS.Status_Codes 639 ); 640 668 641 procedure Task_Set_Priority ( 669 642 ID : in RTEMS.ID; … … 698 671 ); 699 672 700 --procedure Task_Variable_Add (701 --ID : in RTEMS.ID;702 --Task_Variable : in RTEMS.Address;703 --Dtor : in RTEMS.Task_Variable_Dtor;704 --Result : out RTEMS.Status_Codes705 --);706 707 --procedure Task_Variable_Get (708 --ID : in RTEMS.ID;709 --Task_Variable : out RTEMS.Address;710 --Task_Variable_Value : out RTEMS.Address;711 --Result : out RTEMS.Status_Codes712 --);713 714 --procedure Task_Variable_Delete (715 --ID : in RTEMS.ID;716 --Task_Variable : out RTEMS.Address;717 --Result : out RTEMS.Status_Codes718 --);673 procedure Task_Variable_Add ( 674 ID : in RTEMS.ID; 675 Task_Variable : in RTEMS.Address; 676 Dtor : in RTEMS.Task_Variable_Dtor; 677 Result : out RTEMS.Status_Codes 678 ); 679 680 procedure Task_Variable_Get ( 681 ID : in RTEMS.ID; 682 Task_Variable : out RTEMS.Address; 683 Task_Variable_Value : out RTEMS.Address; 684 Result : out RTEMS.Status_Codes 685 ); 686 687 procedure Task_Variable_Delete ( 688 ID : in RTEMS.ID; 689 Task_Variable : out RTEMS.Address; 690 Result : out RTEMS.Status_Codes 691 ); 719 692 720 693 procedure Task_Wake_When ( … … 731 704 -- Interrupt Manager 732 705 -- 733 734 procedure Interrupt_Catch (735 New_ISR_Handler : in RTEMS.Address;736 Vector : in RTEMS.Vector_Number;737 Old_ISR_Handler : out RTEMS.Address;738 Result : out RTEMS.Status_Codes739 );740 706 741 707 function Interrupt_Disable return RTEMS.ISR_Level; … … 764 730 -- 765 731 732 procedure Clock_Set ( 733 Time_Buffer : in RTEMS.Time_Of_Day; 734 Result : out RTEMS.Status_Codes 735 ); 736 766 737 procedure Clock_Get ( 767 738 Option : in RTEMS.Clock_Get_Options; … … 770 741 ); 771 742 772 procedure Clock_ Set(773 Time_Buffer : in RTEMS.Time_Of_Day;774 Result 743 procedure Clock_Get_Uptime ( 744 Uptime : out RTEMS.Timespec; 745 Result : out RTEMS.Status_Codes 775 746 ); 776 747 … … 800 771 Result : out RTEMS.Status_Codes 801 772 ); 802 803 773 804 774 -- … … 909 879 ); 910 880 881 procedure Semaphore_Flush ( 882 ID : in RTEMS.ID; 883 Result : out RTEMS.Status_Codes 884 ); 911 885 912 886 -- … … 966 940 ); 967 941 942 procedure Message_Queue_Get_Number_Pending ( 943 ID : in RTEMS.ID; 944 Count : out RTEMS.Unsigned32; 945 Result : out RTEMS.Status_Codes 946 ); 947 968 948 procedure Message_Queue_Flush ( 969 949 ID : in RTEMS.ID; … … 971 951 Result : out RTEMS.Status_Codes 972 952 ); 973 974 953 975 954 -- … … 1006 985 Result : out RTEMS.Status_Codes 1007 986 ); 1008 1009 987 1010 988 -- … … 1046 1024 ); 1047 1025 1048 1049 1026 -- 1050 1027 -- Region Manager … … 1101 1078 ); 1102 1079 1080 procedure Region_Resize_Segment ( 1081 ID : in RTEMS.ID; 1082 Segment : in RTEMS.Address; 1083 Size : in RTEMS.Unsigned32; 1084 Old_Size : out RTEMS.Unsigned32; 1085 Result : out RTEMS.Status_Codes 1086 ); 1103 1087 1104 1088 -- … … 1141 1125 1142 1126 -- 1143 -- Input/Output Manager1144 --1145 1146 procedure IO_Register_Name (1147 Name : in String;1148 Major : in RTEMS.Device_Major_Number;1149 Minor : in RTEMS.Device_Minor_Number;1150 Result : out RTEMS.Status_Codes1151 );1152 1153 procedure IO_Lookup_Name (1154 Name : in String;1155 Device_Info : In RTEMS.Driver_Name_t_Pointer;1156 Result : out RTEMS.Status_Codes1157 );1158 1159 procedure IO_Open (1160 Major : in RTEMS.Device_Major_Number;1161 Minor : in RTEMS.Device_Minor_Number;1162 Argument : in RTEMS.Address;1163 Result : out RTEMS.Status_Codes1164 );1165 1166 procedure IO_Close (1167 Major : in RTEMS.Device_Major_Number;1168 Minor : in RTEMS.Device_Minor_Number;1169 Argument : in RTEMS.Address;1170 Result : out RTEMS.Status_Codes1171 );1172 1173 procedure IO_Read (1174 Major : in RTEMS.Device_Major_Number;1175 Minor : in RTEMS.Device_Minor_Number;1176 Argument : in RTEMS.Address;1177 Result : out RTEMS.Status_Codes1178 );1179 1180 procedure IO_Write (1181 Major : in RTEMS.Device_Major_Number;1182 Minor : in RTEMS.Device_Minor_Number;1183 Argument : in RTEMS.Address;1184 Result : out RTEMS.Status_Codes1185 );1186 1187 procedure IO_Control (1188 Major : in RTEMS.Device_Major_Number;1189 Minor : in RTEMS.Device_Minor_Number;1190 Argument : in RTEMS.Address;1191 Result : out RTEMS.Status_Codes1192 );1193 1194 1195 --1196 1127 -- Fatal Error Manager 1197 1128 -- … … 1200 1131 The_Error : in RTEMS.Unsigned32 1201 1132 ); 1202 1203 1133 1204 1134 -- … … 1240 1170 ); 1241 1171 1172 procedure Rate_Monotonic_Reset_Statistics ( 1173 ID : in RTEMS.ID; 1174 Result : out RTEMS.Status_Codes 1175 ); 1176 1177 procedure Rate_Monotonic_Reset_All_Statistics; 1178 pragma Import ( 1179 C, 1180 Rate_Monotonic_Reset_All_Statistics, 1181 "rtems_rate_monotonic_reset_all_statistics" 1182 ); 1183 1184 procedure Rate_Monotonic_Report_Statistics; 1185 pragma Import ( 1186 C, 1187 Rate_Monotonic_Report_Statistics, 1188 "rtems_rate_monotonic_report_statistics" 1189 ); 1190 1191 -- 1192 -- Barrier Manager 1193 -- 1194 1195 procedure Barrier_Create ( 1196 Name : in RTEMS.Name; 1197 Attribute_Set : in RTEMS.Attribute; 1198 Maximum_Waiters : in RTEMS.Unsigned32; 1199 ID : out RTEMS.ID; 1200 Result : out RTEMS.Status_Codes 1201 ); 1202 1203 procedure Barrier_Ident ( 1204 Name : in RTEMS.Name; 1205 ID : out RTEMS.ID; 1206 Result : out RTEMS.Status_Codes 1207 ); 1208 1209 procedure Barrier_Delete ( 1210 ID : in RTEMS.ID; 1211 Result : out RTEMS.Status_Codes 1212 ); 1213 1214 procedure Barrier_Wait ( 1215 ID : in RTEMS.ID; 1216 Option_Set : in RTEMS.Option; 1217 Timeout : in RTEMS.Interval; 1218 Result : out RTEMS.Status_Codes 1219 ); 1220 1221 procedure Barrier_Release ( 1222 ID : in RTEMS.ID; 1223 Result : out RTEMS.Status_Codes 1224 ); 1225 1226 -- 1227 -- Stack Bounds Checker 1228 -- 1229 1230 function Stack_Checker_Is_Blown return RTEMS.Boolean; 1231 pragma Interface (C, Stack_Checker_Is_Blown); 1232 pragma Interface_Name 1233 (Interrupt_Is_In_Progress, "rtems_stack_checker_is_blown"); 1234 1235 procedure Stack_Checker_Report_Usage; 1236 pragma Import ( 1237 C, Stack_Checker_Report_Usage, "rtems_stack_checker_report_usage" 1238 ); 1239 1240 -- 1241 -- CPU Usage Statistics 1242 -- 1243 1244 procedure CPU_Usage_Report; 1245 pragma Import (C, CPU_Usage_Report, "rtems_cpu_usage_report"); 1246 1247 procedure CPU_Usage_Reset; 1248 pragma Import (C, CPU_Usage_Reset, "rtems_cpu_usage_reset"); 1242 1249 1243 1250 --
Note: See TracChangeset
for help on using the changeset viewer.