Changeset d14963b in rtems


Ignore:
Timestamp:
Oct 10, 2007, 8:46:33 PM (14 years ago)
Author:
Glenn Humphrey <glenn.humphrey@…>
Branches:
4.10, 4.11, 4.9, 5, master
Children:
ba3e1a4f
Parents:
5a9f372
Message:

2007-10-10 Glenn Humphrey <glenn.humphrey@…>

  • rtems.adb, rtems.ads: Cleaned up binding and removed bindings for things that are not reasonable to do in Ada.
Location:
c/src/ada
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • c/src/ada/ChangeLog

    r5a9f372 rd14963b  
     12007-10-10      Glenn Humphrey <glenn.humphrey@OARcorp.com>
     2
     3        * rtems.adb, rtems.ads: Cleaned up binding and removed bindings for
     4        things that are not reasonable to do in Ada.
     5
    162007-10-01      Joel Sherrill <joel.sherrill@OARcorp.com>
    27
  • c/src/ada/rtems.adb

    r5a9f372 rd14963b  
    450450   end Task_Set_Note;
    451451 
     452   procedure Task_Variable_Add (
     453      ID            : in     RTEMS.ID;
     454      Task_Variable : in     RTEMS.Address;
     455      Dtor          : in     RTEMS.Task_Variable_Dtor;
     456      Result        :    out RTEMS.Status_Codes
     457   ) is
     458      function Task_Variable_Add_Base (
     459         ID            : RTEMS.ID;
     460         Task_Variable : RTEMS.Address;
     461         Dtor          : RTEMS.Task_Variable_Dtor
     462      )  return RTEMS.Status_Codes;
     463      pragma Import (C, Task_Variable_Add_Base, "rtems_task_variable_add");
     464   begin
     465
     466      Result := Task_Variable_Add_Base ( ID, Task_Variable, Dtor );
     467
     468   end Task_Variable_Add;
     469
     470   procedure Task_Variable_Get (
     471      ID                  : in     RTEMS.ID;
     472      Task_Variable       :    out RTEMS.Address;
     473      Task_Variable_Value :    out RTEMS.Address;
     474      Result              :    out RTEMS.Status_Codes
     475   ) is
     476      function Task_Variable_Get_Base (
     477         ID                  : RTEMS.ID;
     478         Task_Variable       : access RTEMS.Address;
     479         Task_Variable_Value : access RTEMS.Address
     480      )  return RTEMS.Status_Codes;
     481      pragma Import (C, Task_Variable_Get_Base, "rtems_task_variable_get");
     482      Task_Variable_Base       : aliased RTEMS.Address;
     483      Task_Variable_Value_Base : aliased RTEMS.Address;
     484   begin
     485
     486      Result := Task_Variable_Get_Base (
     487         ID,
     488         Task_Variable_Base'Unchecked_Access,
     489         Task_Variable_Value_Base'Unchecked_Access
     490      );
     491      Task_Variable := Task_Variable_Base;
     492      Task_Variable_Value := Task_Variable_Value_Base;
     493
     494   end Task_Variable_Get;
     495
     496   procedure Task_Variable_Delete (
     497      ID                  : in     RTEMS.ID;
     498      Task_Variable       :    out RTEMS.Address;
     499      Result              :    out RTEMS.Status_Codes
     500   ) is
     501      function Task_Variable_Delete_Base (
     502         ID                  : RTEMS.ID;
     503         Task_Variable       : access RTEMS.Address
     504      )  return RTEMS.Status_Codes;
     505      pragma Import (
     506         C, Task_Variable_Delete_Base, "rtems_task_variable_delete"
     507      );
     508      Task_Variable_Base : aliased RTEMS.Address;
     509   begin
     510
     511      Result := Task_Variable_Delete_Base (
     512         ID, Task_Variable_Base'Unchecked_Access
     513      );
     514      Task_Variable := Task_Variable_Base;
     515
     516   end Task_Variable_Delete;
     517
    452518   procedure Task_Wake_When (
    453519      Time_Buffer : in     RTEMS.Time_Of_Day;
     
    481547   -- Interrupt Manager
    482548   --
    483 
    484    procedure Interrupt_Catch (
    485       New_ISR_Handler : in     RTEMS.Address;
    486       Vector          : in     RTEMS.Vector_Number;
    487       Old_ISR_Handler :    out RTEMS.Address;
    488       Result          :    out RTEMS.Status_Codes
    489    ) is
    490       function Interrupt_Catch_Base (
    491          New_ISR_Handler : RTEMS.Address;
    492          Vector          : RTEMS.Vector_Number;
    493          Old_ISR_Handler : access RTEMS.Address
    494       )  return RTEMS.Status_Codes;
    495       pragma Import (C, Interrupt_Catch_Base, "rtems_interrupt_catch");
    496       Old_ISR_Handler_Base : aliased RTEMS.Address;
    497    begin
    498  
    499       Result := Interrupt_Catch_Base (
    500          New_ISR_Handler,
    501          Vector,
    502          OLD_ISR_HANDLER_Base'Unchecked_Access
    503       );
    504       Old_ISR_Handler := OLD_ISR_HANDLER_Base;
    505  
    506    end Interrupt_Catch;
    507549
    508550   -- Interrupt_Disable is interfaced in the specification
     
    15581600   end Port_Internal_To_External;
    15591601 
    1560    --
    1561    -- Input/Output Manager
    1562    --
    1563  
    1564    procedure IO_Register_Name (
    1565       Name   : in     String;
    1566       Major  : in     RTEMS.Device_Major_Number;
    1567       Minor  : in     RTEMS.Device_Minor_Number;
    1568       Result :    out RTEMS.Status_Codes
    1569    ) is
    1570       function IO_Register_Name_Base (
    1571          Name   : Interfaces.C.Char_Array;
    1572          Major  : RTEMS.Device_Major_Number;
    1573          Minor  : RTEMS.Device_Minor_Number
    1574       )  return RTEMS.Status_Codes;
    1575       pragma Import (C, IO_Register_Name_Base, "rtems_io_register_name");
    1576    begin
    1577 
    1578       Result :=
    1579          IO_Register_Name_Base ( Interfaces.C.To_C (Name), Major, Minor );
    1580 
    1581    end IO_Register_Name;
    1582 
    1583    procedure IO_Lookup_Name (
    1584       Name         : in     String;
    1585       Device_Info  : in     RTEMS.Driver_Name_t_Pointer;
    1586       Result       :    out RTEMS.Status_Codes
    1587    ) is
    1588       function IO_Lookup_Name_Base (
    1589          Name        : Interfaces.C.Char_Array;
    1590          Device_Info : access RTEMS.Driver_Name_t
    1591       )  return RTEMS.Status_Codes;
    1592       pragma Import (C, IO_Lookup_Name_Base, "rtems_io_lookup_name");
    1593       Device_Info_Base : aliased RTEMS.Driver_Name_t;
    1594    begin
    1595 
    1596       Result := IO_Lookup_Name_Base (
    1597          Interfaces.C.To_C (Name),
    1598          Device_Info_Base'Unchecked_Access
    1599       );
    1600       Device_Info.All := Device_Info_Base;
    1601 
    1602    end IO_Lookup_Name;
    1603 
    1604    procedure IO_Open (
    1605       Major        : in     RTEMS.Device_Major_Number;
    1606       Minor        : in     RTEMS.Device_Minor_Number;
    1607       Argument     : in     RTEMS.Address;
    1608       Result       :    out RTEMS.Status_Codes
    1609    ) is
    1610       function IO_Open_Base (
    1611          Major        : RTEMS.Device_Major_Number;
    1612          Minor        : RTEMS.Device_Minor_Number;
    1613          Argument     : RTEMS.Address
    1614       )  return RTEMS.Status_Codes;
    1615       pragma Import (C, IO_Open_Base, "rtems_io_open");
    1616    begin
    1617  
    1618       Result := IO_Open_Base (Major, Minor, Argument);
    1619  
    1620    end IO_Open;
    1621  
    1622    procedure IO_Close (
    1623       Major        : in     RTEMS.Device_Major_Number;
    1624       Minor        : in     RTEMS.Device_Minor_Number;
    1625       Argument     : in     RTEMS.Address;
    1626       Result       :    out RTEMS.Status_Codes
    1627    ) is
    1628       function IO_Close_Base (
    1629          Major        : RTEMS.Device_Major_Number;
    1630          Minor        : RTEMS.Device_Minor_Number;
    1631          Argument     : RTEMS.Address
    1632       )  return RTEMS.Status_Codes;
    1633       pragma Import (C, IO_Close_Base, "rtems_io_close");
    1634    begin
    1635  
    1636       Result := IO_Close_Base (Major, Minor, Argument);
    1637  
    1638    end IO_Close;
    1639  
    1640    procedure IO_Read (
    1641       Major        : in     RTEMS.Device_Major_Number;
    1642       Minor        : in     RTEMS.Device_Minor_Number;
    1643       Argument     : in     RTEMS.Address;
    1644       Result       :    out RTEMS.Status_Codes
    1645    ) is
    1646       function IO_Read_Base (
    1647          Major        : RTEMS.Device_Major_Number;
    1648          Minor        : RTEMS.Device_Minor_Number;
    1649          Argument     : RTEMS.Address
    1650       )  return RTEMS.Status_Codes;
    1651       pragma Import (C, IO_Read_Base, "rtems_io_read");
    1652    begin
    1653  
    1654       Result := IO_Read_Base (Major, Minor, Argument);
    1655  
    1656    end IO_Read;
    1657  
    1658    procedure IO_Write (
    1659       Major        : in     RTEMS.Device_Major_Number;
    1660       Minor        : in     RTEMS.Device_Minor_Number;
    1661       Argument     : in     RTEMS.Address;
    1662       Result       :    out RTEMS.Status_Codes
    1663    ) is
    1664       function IO_Write_Base (
    1665          Major        : RTEMS.Device_Major_Number;
    1666          Minor        : RTEMS.Device_Minor_Number;
    1667          Argument     : RTEMS.Address
    1668       )  return RTEMS.Status_Codes;
    1669       pragma Import (C, IO_Write_Base, "rtems_io_write");
    1670    begin
    1671  
    1672       Result := IO_Write_Base (Major, Minor, Argument);
    1673  
    1674    end IO_Write;
    1675  
    1676    procedure IO_Control (
    1677       Major        : in     RTEMS.Device_Major_Number;
    1678       Minor        : in     RTEMS.Device_Minor_Number;
    1679       Argument     : in     RTEMS.Address;
    1680       Result       :    out RTEMS.Status_Codes
    1681    ) is
    1682       function IO_Control_Base (
    1683          Major        : RTEMS.Device_Major_Number;
    1684          Minor        : RTEMS.Device_Minor_Number;
    1685          Argument     : RTEMS.Address
    1686       )  return RTEMS.Status_Codes;
    1687       pragma Import (C, IO_Control_Base, "rtems_io_control");
    1688    begin
    1689  
    1690       Result := IO_Control_Base (Major, Minor, Argument);
    1691  
    1692    end IO_Control;
    16931602 
    16941603   --
  • c/src/ada/rtems.ads

    r5a9f372 rd14963b  
    7878   False : constant RTEMS.Boolean := 0;
    7979
     80   --
    8081   --  More Types
    8182   --
     
    9596   subtype Device_Major_Number is RTEMS.Unsigned32;
    9697   subtype Device_Minor_Number is RTEMS.Unsigned32;
    97    subtype Vector_Number       is RTEMS.Unsigned32;
    9898   subtype ISR_Level           is RTEMS.Unsigned32;
    9999
     
    102102   --
    103103   --  Task Related Types
    104    --  XXXX fix this
     104   --
     105
    105106   subtype Task_Argument       is RTEMS.Unsigned32;
    106107   type Task_Argument_PTR      is access all Task_Argument;
    107108
    108    -- XXXX fix this
     109   type Task_Entry is access procedure (
     110      Argument : RTEMS.Unsigned32
     111   );
     112
    109113   subtype TCB                 is RTEMS.Unsigned32;
    110114   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.Unsigned32
    116    );
    117115
    118116   --
     
    144142      Clock_Get_Time_Value
    145143   );
    146 
    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;
    182144
    183145   --
     
    249211   Minimum_Stack_Size : RTEMS.Unsigned32;
    250212   pragma Import (C, Minimum_Stack_Size, "rtems_minimum_stack_size");
    251 
    252213
    253214   --
     
    283244   No_Priority      : constant RTEMS.Task_Priority := 0;
    284245
    285 
    286246   --
    287247   --  Extension Callouts and Table
    288248   --
    289249
    290    type Thread_Create_Extension is access procedure (
     250   type Thread_Create_Extension is access function (
    291251      Current_Task : in     RTEMS.TCB_Pointer;
    292252      New_Task     : in     RTEMS.TCB_Pointer
    293    );
     253   ) return RTEMS.Boolean;
    294254
    295255   type Thread_Start_Extension is access procedure (
     
    540500
    541501   --
    542    --  For now, do not provide access to the CPU Table from Ada.
    543    --  When this type is provided, a CPU dependent file must
    544    --  define it.
    545    --
    546 
    547    subtype CPU_Table is RTEMS.Address;
    548    type CPU_Table_Pointer is access all CPU_Table;
    549 
    550    --
    551502   --  Utility Functions
    552503   --
     
    613564      Right  : in     RTEMS.Address
    614565   ) return Standard.Boolean;
     566
     567
    615568   --
    616569   --  RTEMS API
     
    705658   );
    706659
    707 --   procedure Task_Variable_Add (
    708 --      ID            : in     RTEMS.ID;
    709 --      Task_Variable : in     RTEMS.Address;
    710 --      Dtor          : in     RTEMS.Task_Variable_Dtor;
    711 --      Result        :    out RTEMS.Status_Codes
    712 --   );
    713 
    714 --   procedure Task_Variable_Get (
    715 --      ID                  : in     RTEMS.ID;
    716 --      Task_Variable       :    out RTEMS.Address;
    717 --      Task_Variable_Value :    out RTEMS.Address;
    718 --      Result              :    out RTEMS.Status_Codes
    719 --   );
    720 
    721 --   procedure Task_Variable_Delete (
    722 --      ID                  : in     RTEMS.ID;
    723 --      Task_Variable       :    out RTEMS.Address;
    724 --      Result              :    out RTEMS.Status_Codes
    725 --   );
     660   procedure Task_Variable_Add (
     661      ID            : in     RTEMS.ID;
     662      Task_Variable : in     RTEMS.Address;
     663      Dtor          : in     RTEMS.Task_Variable_Dtor;
     664      Result        :    out RTEMS.Status_Codes
     665   );
     666
     667   procedure Task_Variable_Get (
     668      ID                  : in     RTEMS.ID;
     669      Task_Variable       :    out RTEMS.Address;
     670      Task_Variable_Value :    out RTEMS.Address;
     671      Result              :    out RTEMS.Status_Codes
     672   );
     673
     674   procedure Task_Variable_Delete (
     675      ID                  : in     RTEMS.ID;
     676      Task_Variable       :    out RTEMS.Address;
     677      Result              :    out RTEMS.Status_Codes
     678   );
    726679
    727680   procedure Task_Wake_When (
     
    738691   --  Interrupt Manager
    739692   --
    740 
    741    procedure Interrupt_Catch (
    742       New_ISR_Handler : in     RTEMS.Address;
    743       Vector          : in     RTEMS.Vector_Number;
    744       Old_ISR_Handler :    out RTEMS.Address;
    745       Result          :    out RTEMS.Status_Codes
    746    );
    747693
    748694   function Interrupt_Disable return RTEMS.ISR_Level;
     
    807753      Result :    out RTEMS.Status_Codes
    808754   );
    809 
    810755
    811756   --
     
    916861   );
    917862
    918 
    919863   --
    920864   --  Message Queue Manager
     
    979923   );
    980924
    981 
    982925   --
    983926   --  Event Manager
     
    1013956      Result     :    out RTEMS.Status_Codes
    1014957   );
    1015 
    1016958
    1017959   --
     
    1053995   );
    1054996
    1055 
    1056997   --
    1057998   --  Region Manager
     
    11081049   );
    11091050
    1110 
    11111051   --
    11121052   --  Dual Ported Memory Manager
     
    11481088
    11491089   --
    1150    --  Input/Output Manager
    1151    --
    1152 
    1153    procedure IO_Register_Name (
    1154       Name   : in     String;
    1155       Major  : in     RTEMS.Device_Major_Number;
    1156       Minor  : in     RTEMS.Device_Minor_Number;
    1157       Result :    out RTEMS.Status_Codes
    1158    );
    1159 
    1160    procedure IO_Lookup_Name (
    1161       Name         : in     String;
    1162       Device_Info  : In     RTEMS.Driver_Name_t_Pointer;
    1163       Result       :    out RTEMS.Status_Codes
    1164    );
    1165 
    1166    procedure IO_Open (
    1167       Major        : in     RTEMS.Device_Major_Number;
    1168       Minor        : in     RTEMS.Device_Minor_Number;
    1169       Argument     : in     RTEMS.Address;
    1170       Result       :    out RTEMS.Status_Codes
    1171    );
    1172 
    1173    procedure IO_Close (
    1174       Major        : in     RTEMS.Device_Major_Number;
    1175       Minor        : in     RTEMS.Device_Minor_Number;
    1176       Argument     : in     RTEMS.Address;
    1177       Result       :    out RTEMS.Status_Codes
    1178    );
    1179 
    1180    procedure IO_Read (
    1181       Major        : in     RTEMS.Device_Major_Number;
    1182       Minor        : in     RTEMS.Device_Minor_Number;
    1183       Argument     : in     RTEMS.Address;
    1184       Result       :    out RTEMS.Status_Codes
    1185    );
    1186 
    1187    procedure IO_Write (
    1188       Major        : in     RTEMS.Device_Major_Number;
    1189       Minor        : in     RTEMS.Device_Minor_Number;
    1190       Argument     : in     RTEMS.Address;
    1191       Result       :    out RTEMS.Status_Codes
    1192    );
    1193 
    1194    procedure IO_Control (
    1195       Major        : in     RTEMS.Device_Major_Number;
    1196       Minor        : in     RTEMS.Device_Minor_Number;
    1197       Argument     : in     RTEMS.Address;
    1198       Result       :    out RTEMS.Status_Codes
    1199    );
    1200 
    1201 
    1202    --
    12031090   --  Fatal Error Manager
    12041091   --
     
    12071094      The_Error : in     RTEMS.Unsigned32
    12081095   );
    1209 
    12101096
    12111097   --
     
    12471133   );
    12481134
    1249 
    12501135   --
    12511136   --  Debug Manager
Note: See TracChangeset for help on using the changeset viewer.