Changeset 7741d7c8 in rtems for c/src/ada/rtems.adb


Ignore:
Timestamp:
11/20/08 15:13:56 (14 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 5, master
Children:
1b5e552
Parents:
20b921b4
Message:

2008-11-20 Joel Sherrill <joel.sherrill@…>

PR 1339/Ada

  • rtems.adb, rtems.ads: Re-add IO Manager to Ada binding.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • c/src/ada/rtems.adb

    r20b921b4 r7741d7c8  
    2323with Ada;
    2424with Ada.Unchecked_Conversion;
    25 with System;
    2625with Interfaces; use Interfaces;
    2726with Interfaces.C; use Interfaces.C;
     
    3938   begin
    4039
    41       if Ada_Boolean = Standard.True then
     40      if Ada_Boolean then
    4241         return RTEMS.True;
    4342      end if;
     
    17351734   end Port_Internal_To_External;
    17361735
     1736   --
     1737   -- Input/Output Manager
     1738   --
     1739
     1740   procedure IO_Register_Name (
     1741      Name   : in     String;
     1742      Major  : in     RTEMS.Device_Major_Number;
     1743      Minor  : in     RTEMS.Device_Minor_Number;
     1744      Result :    out RTEMS.Status_Codes
     1745   ) is
     1746      function IO_Register_Name_Base (
     1747         Name   : Interfaces.C.Char_Array;
     1748         Major  : RTEMS.Device_Major_Number;
     1749         Minor  : RTEMS.Device_Minor_Number
     1750      )  return RTEMS.Status_Codes;
     1751      pragma Import (C, IO_Register_Name_Base, "rtems_io_register_name");
     1752   begin
     1753
     1754      Result :=
     1755         IO_Register_Name_Base ( Interfaces.C.To_C (Name), Major, Minor );
     1756
     1757   end IO_Register_Name;
     1758
     1759   procedure IO_Lookup_Name (
     1760      Name         : in     String;
     1761      Device_Info  :    out RTEMS.Driver_Name_t;
     1762      Result       :    out RTEMS.Status_Codes
     1763   ) is
     1764      function IO_Lookup_Name_Base (
     1765         Name        : Interfaces.C.Char_Array;
     1766         Device_Info : access RTEMS.Driver_Name_t
     1767      )  return RTEMS.Status_Codes;
     1768      pragma Import (C, IO_Lookup_Name_Base, "rtems_io_lookup_name");
     1769      Device_Info_Base : aliased RTEMS.Driver_Name_t;
     1770   begin
     1771
     1772      Result := IO_Lookup_Name_Base (
     1773         Interfaces.C.To_C (Name),
     1774         Device_Info_Base'Unchecked_Access
     1775      );
     1776      Device_Info := Device_Info_Base;
     1777
     1778   end IO_Lookup_Name;
     1779
     1780   procedure IO_Open (
     1781      Major        : in     RTEMS.Device_Major_Number;
     1782      Minor        : in     RTEMS.Device_Minor_Number;
     1783      Argument     : in     RTEMS.Address;
     1784      Result       :    out RTEMS.Status_Codes
     1785   ) is
     1786      function IO_Open_Base (
     1787         Major        : RTEMS.Device_Major_Number;
     1788         Minor        : RTEMS.Device_Minor_Number;
     1789         Argument     : RTEMS.Address
     1790      )  return RTEMS.Status_Codes;
     1791      pragma Import (C, IO_Open_Base, "rtems_io_open");
     1792   begin
     1793 
     1794      Result := IO_Open_Base (Major, Minor, Argument);
     1795 
     1796   end IO_Open;
     1797   pragma Inline (IO_Open);
     1798 
     1799   procedure IO_Close (
     1800      Major        : in     RTEMS.Device_Major_Number;
     1801      Minor        : in     RTEMS.Device_Minor_Number;
     1802      Argument     : in     RTEMS.Address;
     1803      Result       :    out RTEMS.Status_Codes
     1804   ) is
     1805      function IO_Close_Base (
     1806         Major        : RTEMS.Device_Major_Number;
     1807         Minor        : RTEMS.Device_Minor_Number;
     1808         Argument     : RTEMS.Address
     1809      )  return RTEMS.Status_Codes;
     1810      pragma Import (C, IO_Close_Base, "rtems_io_close");
     1811   begin
     1812 
     1813      Result := IO_Close_Base (Major, Minor, Argument);
     1814 
     1815   end IO_Close;
     1816   pragma Inline (IO_Close);
     1817 
     1818   procedure IO_Read (
     1819      Major        : in     RTEMS.Device_Major_Number;
     1820      Minor        : in     RTEMS.Device_Minor_Number;
     1821      Argument     : in     RTEMS.Address;
     1822      Result       :    out RTEMS.Status_Codes
     1823   ) is
     1824      function IO_Read_Base (
     1825         Major        : RTEMS.Device_Major_Number;
     1826         Minor        : RTEMS.Device_Minor_Number;
     1827         Argument     : RTEMS.Address
     1828      )  return RTEMS.Status_Codes;
     1829      pragma Import (C, IO_Read_Base, "rtems_io_read");
     1830   begin
     1831 
     1832      Result := IO_Read_Base (Major, Minor, Argument);
     1833 
     1834   end IO_Read;
     1835   pragma Inline (IO_Read);
     1836 
     1837   procedure IO_Write (
     1838      Major        : in     RTEMS.Device_Major_Number;
     1839      Minor        : in     RTEMS.Device_Minor_Number;
     1840      Argument     : in     RTEMS.Address;
     1841      Result       :    out RTEMS.Status_Codes
     1842   ) is
     1843      function IO_Write_Base (
     1844         Major        : RTEMS.Device_Major_Number;
     1845         Minor        : RTEMS.Device_Minor_Number;
     1846         Argument     : RTEMS.Address
     1847      )  return RTEMS.Status_Codes;
     1848      pragma Import (C, IO_Write_Base, "rtems_io_write");
     1849   begin
     1850 
     1851      Result := IO_Write_Base (Major, Minor, Argument);
     1852 
     1853   end IO_Write;
     1854   pragma Inline (IO_Write);
     1855 
     1856   procedure IO_Control (
     1857      Major        : in     RTEMS.Device_Major_Number;
     1858      Minor        : in     RTEMS.Device_Minor_Number;
     1859      Argument     : in     RTEMS.Address;
     1860      Result       :    out RTEMS.Status_Codes
     1861   ) is
     1862      function IO_Control_Base (
     1863         Major        : RTEMS.Device_Major_Number;
     1864         Minor        : RTEMS.Device_Minor_Number;
     1865         Argument     : RTEMS.Address
     1866      )  return RTEMS.Status_Codes;
     1867      pragma Import (C, IO_Control_Base, "rtems_io_control");
     1868   begin
     1869 
     1870      Result := IO_Control_Base (Major, Minor, Argument);
     1871 
     1872   end IO_Control;
     1873   pragma Inline (IO_Control);
     1874 
    17371875
    17381876   --
     
    21002238      )  return RTEMS.Status_Codes;
    21012239      pragma Import (C, Object_Set_Name_Base, "rtems_object_set_name");
    2102       NameAsCString : chars_ptr := New_String(Name);
     2240      NameAsCString : constant chars_ptr := New_String(Name);
    21032241   begin
    21042242      Result := Object_Set_Name_Base (ID, NameAsCString);
     
    22332371      )  return chars_ptr;
    22342372      pragma Import (C, Object_Get_API_Name_Base, "rtems_object_get_api_name");
    2235       Result : chars_ptr := Object_Get_API_Name_Base (API);
    2236       APIName : String :=  Value_Without_Exception (Result);
     2373      Result : constant chars_ptr := Object_Get_API_Name_Base (API);
     2374      APIName : constant String :=  Value_Without_Exception (Result);
    22372375   begin
    22382376      Name := APIName;
     
    22502388      pragma Import
    22512389         (C, Object_Get_API_Class_Name_Base, "rtems_object_get_api_class_name");
    2252       Result : chars_ptr := Object_Get_API_Class_Name_Base (The_API, The_Class);
    2253       ClassName : String :=  Value_Without_Exception (Result);
     2390      Result : constant
     2391        chars_ptr := Object_Get_API_Class_Name_Base (The_API, The_Class);
     2392      ClassName : constant String :=  Value_Without_Exception (Result);
    22542393   begin
    22552394      Name := ClassName;
Note: See TracChangeset for help on using the changeset viewer.