Changeset 7003847 in rtems


Ignore:
Timestamp:
02/01/02 18:58:21 (22 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
3774c7f
Parents:
569a01f
Message:

2001-02-01 Joel Sherrill <joel@…>

  • rtems.ads, rtems.adb: Formatting cleaned up. Task based timer directives added. This is Timer_Initiate_Server, Timer_Server_Fire_After, and Timer_Server_Fire_When.
Files:
4 added
6 edited

Legend:

Unmodified
Added
Removed
  • c/src/ada/ChangeLog

    r569a01f r7003847  
     12001-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
    172001-02-01      Joel Sherrill <joel@OARcorp.com>
    28
  • c/src/ada/rtems.adb

    r569a01f r7003847  
    11--
    22--  RTEMS / Body
     3--
    34--  DESCRIPTION:
    45--
     
    161162   end Get_Index;
    162163
    163 
    164164   function Are_Statuses_Equal (
    165165      Status  : in     RTEMS.Status_Codes;
     
    211211   end Are_Equal;
    212212
    213 
    214213   --
    215214   --
     
    281280
    282281   end Shutdown_Executive;
    283 
    284282
    285283   --
     
    304302         ID               : access RTEMS.ID
    305303      )  return RTEMS.Status_Codes;
    306          pragma Import (C, Task_Create_Base, "rtems_task_create");
    307          ID_Base : aliased RTEMS.ID := ID;
     304      pragma Import (C, Task_Create_Base, "rtems_task_create");
     305      ID_Base : aliased RTEMS.ID := ID;
    308306   begin
    309307      Result := Task_Create_Base (
    310                    Name,
    311                    Initial_Priority,
    312                    Stack_Size,
    313                    Initial_Modes,
    314                    Attribute_Set,
    315                    ID_Base'Unchecked_Access
    316                 );
     308        Name,
     309        Initial_Priority,
     310        Stack_Size,
     311        Initial_Modes,
     312        Attribute_Set,
     313        ID_Base'Unchecked_Access
     314      );
    317315      ID := ID_Base;
    318316   end Task_Create;
    319 
    320317
    321318   procedure Task_Ident (
     
    336333   begin
    337334
    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 );
    344336      ID := ID_Base;
    345337
     
    352344      Result      :    out RTEMS.Status_Codes
    353345   ) is
    354 
    355346      function Task_Start_Base (
    356347         ID          : RTEMS.ID;
     
    359350      )  return RTEMS.Status_Codes;
    360351      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 );
    369355
    370356   end Task_Start;
     
    382368   begin
    383369
    384       Result := Task_Restart_Base (
    385                         ID,
    386                         Argument
    387                      );
     370      Result := Task_Restart_Base ( ID, Argument );
    388371 
    389372   end Task_Restart;
     
    430413
    431414   end Task_Resume;
    432 
    433    procedure Task_Is_Suspended (
    434       ID     : in     RTEMS.ID;
    435       Result :    out RTEMS.Status_Codes
    436    ) is
    437       function Task_Is_Suspended (
    438          ID : RTEMS.ID
    439       )  return RTEMS.Status_Codes;
    440       pragma Import (C, Task_Is_Suspended_Base, "rtems_task_is_suspended");
    441    begin
    442 
    443       Result := Task_Is_Suspended_Base ( ID );
    444 
    445    end Task_Is_Suspended;
    446 
    447415 
    448416   procedure Task_Set_Priority (
     
    459427      pragma Import (C, Task_Set_Priority_Base, "rtems_task_set_priority");
    460428      Old_Priority_Base : aliased RTEMS.Task_Priority := Old_Priority;
    461  
    462429   begin
    463430 
    464431      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      );
    470436      Old_Priority := Old_Priority_Base;
    471437
     
    492458         Previous_Mode_Set_Base'Unchecked_Access
    493459      );
    494 
    495460      Previous_Mode_Set := Previous_Mode_Set_Base;
    496461
     
    512477   begin
    513478
    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 );
    520480      Note := NOTE_Base;
    521481
     
    592552         OLD_ISR_HANDLER_Base'Unchecked_Access
    593553      );
    594  
    595554      Old_ISR_Handler := OLD_ISR_HANDLER_Base;
    596555 
    597556   end Interrupt_Catch;
    598557
    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
    625562
    626563   --
     
    688625   begin
    689626 
    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 );
    696628      ID := ID_Base;
    697629
     
    711643   begin
    712644 
    713       Result := Extension_Ident_Base (
    714          Name,
    715          ID_Base'Unchecked_Access
    716       );
    717  
     645      Result := Extension_Ident_Base ( Name, ID_Base'Unchecked_Access );
    718646      ID := ID_Base;
    719647
     
    751679   begin
    752680 
    753       Result := Timer_Create_Base (
    754          Name,
    755          ID_Base'Unchecked_Access
    756       );
    757  
     681      Result := Timer_Create_Base ( Name, ID_Base'Unchecked_Access );
    758682      ID := ID_Base;
    759683
     
    773697   begin
    774698 
    775       Result := Timer_Ident_Base (
    776          Name,
    777          ID_Base'Unchecked_Access
    778       );
    779  
     699      Result := Timer_Ident_Base ( Name, ID_Base'Unchecked_Access );
    780700      ID := ID_Base;
    781701
     
    812732   begin
    813733 
    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 );
    820735
    821736   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;
    822761 
    823762   procedure Timer_Fire_When (
     
    828767      Result    :    out RTEMS.Status_Codes
    829768   ) is
    830       function Timer_Fire_When (
     769      function Timer_Fire_When_Base (
    831770         ID        : RTEMS.ID;
    832          Wall_Time : in     RTEMS.Time_Of_Day;
     771         Wall_Time : RTEMS.Time_Of_Day;
    833772         Routine   : RTEMS.Timer_Service_Routine;
    834773         User_Data : RTEMS.Address
    835774      )  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 );
    845779
    846780   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;
    847805 
    848806   procedure Timer_Reset (
     
    874832   end Timer_Cancel;
    875833 
     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
    876858   --
    877859   -- Semaphore Manager
     
    904886         ID_Base'Unchecked_Access
    905887      );
    906  
    907888      ID := ID_Base;
    908889
     
    938919   begin
    939920 
    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 );
    946922      ID := ID_Base;
    947923
     
    977953 
    978954      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_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 );
    993955
    994956   end Semaphore_Release;
     
    1026988         ID_Base'Unchecked_Access
    1027989      );
    1028  
    1029990      ID := ID_Base;
    1030991
     
    10461007   begin
    10471008 
    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 );
    10541011      ID := ID_Base;
    10551012
     
    10631020         ID : RTEMS.ID
    10641021      )  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");
    10671024   begin
    10681025 
     
    11271084 
    11281085      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      );
    11351091      Count := Count_Base;
    11361092
     
    11581114 
    11591115      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      );
    11671122      Size := Size_Base;
    11681123
     
    11821137   begin
    11831138 
    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 );
    11891140      Count := COUNT_Base;
    11901141
    11911142   end Message_Queue_Flush;
    11921143 
    1193 
    11941144   --
    11951145   -- Event Manager
     
    12081158   begin
    12091159
    1210       Result := Event_Send_Base (
    1211                    ID,
    1212                    Event_In
    1213                 );
     1160      Result := Event_Send_Base ( ID, Event_In );
    12141161
    12151162   end Event_Send;
     
    12331180
    12341181      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      );
    12411187      Event_Out := Event_Out_Base;
    12421188
     
    13131259         ID_Base'Unchecked_Access
    13141260      );
    1315  
    13161261      ID := ID_Base;
    13171262 
     
    13331278   begin
    13341279 
    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 );
    13411281      ID := ID_Base;
    13421282
     
    13711311   begin
    13721312 
    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 );
    13781314      Buffer := Buffer_Base;
    13791315
     
    14201356      pragma Import (C, Region_Create_Base, "rtems_region_create");
    14211357      ID_Base : aliased RTEMS.ID := ID;
    1422  
    14231358   begin
    14241359 
    14251360      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      );
    14341368      ID := ID_Base;
    14351369
     
    14491383   begin
    14501384 
    1451       Result := Region_Ident_Base (
    1452          Name,
    1453          ID_Base'Unchecked_Access
    1454       );
    1455  
     1385      Result := Region_Ident_Base ( Name, ID_Base'Unchecked_Access );
    14561386      ID := ID_Base;
    14571387
     
    15161446         Segment_Base'Unchecked_Access
    15171447      );
    1518  
    15191448      Segment := SEGMENT_Base;
    15201449
     
    15421471         Size_Base'Unchecked_Access
    15431472      );
    1544  
    15451473      Size := SIZE_Base;
    15461474
     
    15641492   end Region_Return_Segment;
    15651493 
    1566 
    15671494   --
    15681495   -- Dual Ported Memory Manager
     
    15861513      pragma Import (C, Port_Create_Base, "rtems_port_create");
    15871514      ID_Base : aliased RTEMS.ID := ID;
    1588  
    15891515   begin
    15901516 
    15911517      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      );
    15991524      ID := ID_Base;
    16001525
     
    16141539   begin
    16151540 
    1616       Result := Port_Ident_Base (
    1617          Name,
    1618          ID_Base'Unchecked_Access
    1619       );
    1620  
     1541      Result := Port_Ident_Base ( Name, ID_Base'Unchecked_Access );
    16211542      ID := ID_Base;
    16221543
     
    16581579         Internal_Base'Unchecked_Access
    16591580      );
    1660  
    16611581      Internal := INTERNAL_Base;
    16621582
     
    16841604         External_Base'Unchecked_Access
    16851605      );
    1686  
    16871606      External := EXTERNAL_Base;
    16881607
     
    17161635         Return_Value_Base'Unchecked_Access
    17171636      );
    1718  
    17191637      Return_Value := Return_Value_Base;
    17201638
     
    17351653   begin
    17361654
    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 );
    17421657
    17431658   end IO_Register_Name;
     
    17531668      )  return RTEMS.Status_Codes;
    17541669      pragma Import (C, IO_Lookup_Name_Base, "rtems_io_lookup_name");
    1755 
    17561670      Device_Info_Base : aliased RTEMS.Driver_Name_t;
    17571671   begin
     
    17611675         Device_Info_Base'Unchecked_Access
    17621676      );
    1763 
    17641677      Device_Info := Device_Info_Base;
    17651678
     
    18561769   end IO_Control;
    18571770 
    1858  
    18591771   --
    18601772   -- Fatal Error Manager
     
    18721784      Fatal_Error_Occurred_Base ( The_Error );
    18731785
    1874    end Fatal_Error_Occurred;
     1786   end Fatal_Error_Occurred;
     1787
     1788
    18751789   --
    18761790   -- Rate Monotonic Manager
     
    18901804   begin
    18911805 
    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 );
    18971807      ID := ID_Base;
    18981808
     
    19121822   begin
    19131823 
    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 );
    19181825 
    19191826      ID := ID_Base;
     
    19941901   end Rate_Monotonic_Get_Status;
    19951902
    1996    --
    1997    -- Multiprocessing Manager
    1998    --
    1999  
    2000    procedure Multiprocessing_Announce is
    2001       procedure Multiprocessing_Announce_Base;
    2002       pragma Import (C, Multiprocessing_Announce_Base,
    2003          "rtems_multiprocessing_announce");
    2004    begin
    2005  
    2006       Multiprocessing_Announce_Base;
    2007 
    2008    end Multiprocessing_Announce;
    2009  
    20101903 
    20111904   --
     
    20621955
    20631956end RTEMS;
    2064 
  • c/src/ada/rtems.ads

    r569a01f r7003847  
    2626
    2727package RTEMS is
     28pragma Elaborate_Body (RTEMS);
    2829
    2930   Structure_Alignment : constant := 8;
     
    3637   subtype Unsigned16 is Interfaces.Unsigned_16;
    3738   subtype Unsigned32 is Interfaces.Unsigned_32;
     39   subtype Signed32   is Interfaces.Integer_32;
    3840
    3941   type Unsigned32_Pointer     is access all RTEMS.Unsigned32;
    4042   type Unsigned16_Pointer     is access all RTEMS.Unsigned16;
    4143   type Unsigned8_Pointer      is access all RTEMS.Unsigned8;
     44   type Signed32_Pointer       is access all RTEMS.Signed32;
    4245
    4346   subtype Boolean             is RTEMS.Unsigned32;
     
    236239   ) return RTEMS.Attribute;
    237240   pragma Import (C, Interrupt_Level, "rtems_interrupt_level_attribute");
    238    
    239241
    240242   Minimum_Stack_Size : RTEMS.Unsigned32;
     
    698700   type Configuration_Table is
    699701      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;
    713714      end record;
    714715
     
    865866   );
    866867
    867    procedure Task_Is_Suspended (
    868       ID     : in     RTEMS.ID;
    869       Result :    out RTEMS.Status_Codes
    870    );
    871 
    872868   procedure Task_Set_Priority (
    873869      ID           : in     RTEMS.ID;
     
    919915   );
    920916
    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");
    923920
    924921   procedure Interrupt_Enable (
    925922      Level : in     RTEMS.ISR_Level
    926923   );
     924   pragma Interface (C, Interrupt_Enable);
     925   pragma Interface_Name (Interrupt_Enable, "rtems_interrupt_enable");
    927926
    928927   procedure Interrupt_Flash (
    929928      Level : in     RTEMS.ISR_Level
    930929   );
    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");
    934937
    935938   --
     
    10041007   );
    10051008
     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
    10061017   procedure Timer_Fire_When (
    10071018      ID        : in     RTEMS.ID;
     
    10121023   );
    10131024
     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
    10141033   procedure Timer_Reset (
    10151034      ID     : in     RTEMS.ID;
     
    10201039      ID     : in     RTEMS.ID;
    10211040      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
    10221048   );
    10231049
     
    10591085   );
    10601086
    1061    procedure Semaphore_Flush (
    1062       ID     : in     RTEMS.ID;
    1063       Result :    out RTEMS.Status_Codes
    1064    );
    10651087
    10661088   --
     
    14021424   );
    14031425
    1404    --
    1405    --  Multiprocessing Manager
    1406    --
    1407 
    1408    procedure Multiprocessing_Announce;
    1409 
    14101426
    14111427   --
     
    14351451  pragma Import (C, Configuration, "_Configuration_Table");
    14361452
    1437 
    1438 private
    14391453end RTEMS;
  • cpukit/ada/ChangeLog

    r569a01f r7003847  
     12001-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
    172001-02-01      Joel Sherrill <joel@OARcorp.com>
    28
  • cpukit/ada/rtems.adb

    r569a01f r7003847  
    11--
    22--  RTEMS / Body
     3--
    34--  DESCRIPTION:
    45--
     
    161162   end Get_Index;
    162163
    163 
    164164   function Are_Statuses_Equal (
    165165      Status  : in     RTEMS.Status_Codes;
     
    211211   end Are_Equal;
    212212
    213 
    214213   --
    215214   --
     
    281280
    282281   end Shutdown_Executive;
    283 
    284282
    285283   --
     
    304302         ID               : access RTEMS.ID
    305303      )  return RTEMS.Status_Codes;
    306          pragma Import (C, Task_Create_Base, "rtems_task_create");
    307          ID_Base : aliased RTEMS.ID := ID;
     304      pragma Import (C, Task_Create_Base, "rtems_task_create");
     305      ID_Base : aliased RTEMS.ID := ID;
    308306   begin
    309307      Result := Task_Create_Base (
    310                    Name,
    311                    Initial_Priority,
    312                    Stack_Size,
    313                    Initial_Modes,
    314                    Attribute_Set,
    315                    ID_Base'Unchecked_Access
    316                 );
     308        Name,
     309        Initial_Priority,
     310        Stack_Size,
     311        Initial_Modes,
     312        Attribute_Set,
     313        ID_Base'Unchecked_Access
     314      );
    317315      ID := ID_Base;
    318316   end Task_Create;
    319 
    320317
    321318   procedure Task_Ident (
     
    336333   begin
    337334
    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 );
    344336      ID := ID_Base;
    345337
     
    352344      Result      :    out RTEMS.Status_Codes
    353345   ) is
    354 
    355346      function Task_Start_Base (
    356347         ID          : RTEMS.ID;
     
    359350      )  return RTEMS.Status_Codes;
    360351      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 );
    369355
    370356   end Task_Start;
     
    382368   begin
    383369
    384       Result := Task_Restart_Base (
    385                         ID,
    386                         Argument
    387                      );
     370      Result := Task_Restart_Base ( ID, Argument );
    388371 
    389372   end Task_Restart;
     
    430413
    431414   end Task_Resume;
    432 
    433    procedure Task_Is_Suspended (
    434       ID     : in     RTEMS.ID;
    435       Result :    out RTEMS.Status_Codes
    436    ) is
    437       function Task_Is_Suspended (
    438          ID : RTEMS.ID
    439       )  return RTEMS.Status_Codes;
    440       pragma Import (C, Task_Is_Suspended_Base, "rtems_task_is_suspended");
    441    begin
    442 
    443       Result := Task_Is_Suspended_Base ( ID );
    444 
    445    end Task_Is_Suspended;
    446 
    447415 
    448416   procedure Task_Set_Priority (
     
    459427      pragma Import (C, Task_Set_Priority_Base, "rtems_task_set_priority");
    460428      Old_Priority_Base : aliased RTEMS.Task_Priority := Old_Priority;
    461  
    462429   begin
    463430 
    464431      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      );
    470436      Old_Priority := Old_Priority_Base;
    471437
     
    492458         Previous_Mode_Set_Base'Unchecked_Access
    493459      );
    494 
    495460      Previous_Mode_Set := Previous_Mode_Set_Base;
    496461
     
    512477   begin
    513478
    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 );
    520480      Note := NOTE_Base;
    521481
     
    592552         OLD_ISR_HANDLER_Base'Unchecked_Access
    593553      );
    594  
    595554      Old_ISR_Handler := OLD_ISR_HANDLER_Base;
    596555 
    597556   end Interrupt_Catch;
    598557
    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
    625562
    626563   --
     
    688625   begin
    689626 
    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 );
    696628      ID := ID_Base;
    697629
     
    711643   begin
    712644 
    713       Result := Extension_Ident_Base (
    714          Name,
    715          ID_Base'Unchecked_Access
    716       );
    717  
     645      Result := Extension_Ident_Base ( Name, ID_Base'Unchecked_Access );
    718646      ID := ID_Base;
    719647
     
    751679   begin
    752680 
    753       Result := Timer_Create_Base (
    754          Name,
    755          ID_Base'Unchecked_Access
    756       );
    757  
     681      Result := Timer_Create_Base ( Name, ID_Base'Unchecked_Access );
    758682      ID := ID_Base;
    759683
     
    773697   begin
    774698 
    775       Result := Timer_Ident_Base (
    776          Name,
    777          ID_Base'Unchecked_Access
    778       );
    779  
     699      Result := Timer_Ident_Base ( Name, ID_Base'Unchecked_Access );
    780700      ID := ID_Base;
    781701
     
    812732   begin
    813733 
    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 );
    820735
    821736   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;
    822761 
    823762   procedure Timer_Fire_When (
     
    828767      Result    :    out RTEMS.Status_Codes
    829768   ) is
    830       function Timer_Fire_When (
     769      function Timer_Fire_When_Base (
    831770         ID        : RTEMS.ID;
    832          Wall_Time : in     RTEMS.Time_Of_Day;
     771         Wall_Time : RTEMS.Time_Of_Day;
    833772         Routine   : RTEMS.Timer_Service_Routine;
    834773         User_Data : RTEMS.Address
    835774      )  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 );
    845779
    846780   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;
    847805 
    848806   procedure Timer_Reset (
     
    874832   end Timer_Cancel;
    875833 
     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
    876858   --
    877859   -- Semaphore Manager
     
    904886         ID_Base'Unchecked_Access
    905887      );
    906  
    907888      ID := ID_Base;
    908889
     
    938919   begin
    939920 
    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 );
    946922      ID := ID_Base;
    947923
     
    977953 
    978954      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_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 );
    993955
    994956   end Semaphore_Release;
     
    1026988         ID_Base'Unchecked_Access
    1027989      );
    1028  
    1029990      ID := ID_Base;
    1030991
     
    10461007   begin
    10471008 
    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 );
    10541011      ID := ID_Base;
    10551012
     
    10631020         ID : RTEMS.ID
    10641021      )  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");
    10671024   begin
    10681025 
     
    11271084 
    11281085      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      );
    11351091      Count := Count_Base;
    11361092
     
    11581114 
    11591115      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      );
    11671122      Size := Size_Base;
    11681123
     
    11821137   begin
    11831138 
    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 );
    11891140      Count := COUNT_Base;
    11901141
    11911142   end Message_Queue_Flush;
    11921143 
    1193 
    11941144   --
    11951145   -- Event Manager
     
    12081158   begin
    12091159
    1210       Result := Event_Send_Base (
    1211                    ID,
    1212                    Event_In
    1213                 );
     1160      Result := Event_Send_Base ( ID, Event_In );
    12141161
    12151162   end Event_Send;
     
    12331180
    12341181      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      );
    12411187      Event_Out := Event_Out_Base;
    12421188
     
    13131259         ID_Base'Unchecked_Access
    13141260      );
    1315  
    13161261      ID := ID_Base;
    13171262 
     
    13331278   begin
    13341279 
    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 );
    13411281      ID := ID_Base;
    13421282
     
    13711311   begin
    13721312 
    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 );
    13781314      Buffer := Buffer_Base;
    13791315
     
    14201356      pragma Import (C, Region_Create_Base, "rtems_region_create");
    14211357      ID_Base : aliased RTEMS.ID := ID;
    1422  
    14231358   begin
    14241359 
    14251360      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      );
    14341368      ID := ID_Base;
    14351369
     
    14491383   begin
    14501384 
    1451       Result := Region_Ident_Base (
    1452          Name,
    1453          ID_Base'Unchecked_Access
    1454       );
    1455  
     1385      Result := Region_Ident_Base ( Name, ID_Base'Unchecked_Access );
    14561386      ID := ID_Base;
    14571387
     
    15161446         Segment_Base'Unchecked_Access
    15171447      );
    1518  
    15191448      Segment := SEGMENT_Base;
    15201449
     
    15421471         Size_Base'Unchecked_Access
    15431472      );
    1544  
    15451473      Size := SIZE_Base;
    15461474
     
    15641492   end Region_Return_Segment;
    15651493 
    1566 
    15671494   --
    15681495   -- Dual Ported Memory Manager
     
    15861513      pragma Import (C, Port_Create_Base, "rtems_port_create");
    15871514      ID_Base : aliased RTEMS.ID := ID;
    1588  
    15891515   begin
    15901516 
    15911517      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      );
    15991524      ID := ID_Base;
    16001525
     
    16141539   begin
    16151540 
    1616       Result := Port_Ident_Base (
    1617          Name,
    1618          ID_Base'Unchecked_Access
    1619       );
    1620  
     1541      Result := Port_Ident_Base ( Name, ID_Base'Unchecked_Access );
    16211542      ID := ID_Base;
    16221543
     
    16581579         Internal_Base'Unchecked_Access
    16591580      );
    1660  
    16611581      Internal := INTERNAL_Base;
    16621582
     
    16841604         External_Base'Unchecked_Access
    16851605      );
    1686  
    16871606      External := EXTERNAL_Base;
    16881607
     
    17161635         Return_Value_Base'Unchecked_Access
    17171636      );
    1718  
    17191637      Return_Value := Return_Value_Base;
    17201638
     
    17351653   begin
    17361654
    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 );
    17421657
    17431658   end IO_Register_Name;
     
    17531668      )  return RTEMS.Status_Codes;
    17541669      pragma Import (C, IO_Lookup_Name_Base, "rtems_io_lookup_name");
    1755 
    17561670      Device_Info_Base : aliased RTEMS.Driver_Name_t;
    17571671   begin
     
    17611675         Device_Info_Base'Unchecked_Access
    17621676      );
    1763 
    17641677      Device_Info := Device_Info_Base;
    17651678
     
    18561769   end IO_Control;
    18571770 
    1858  
    18591771   --
    18601772   -- Fatal Error Manager
     
    18721784      Fatal_Error_Occurred_Base ( The_Error );
    18731785
    1874    end Fatal_Error_Occurred;
     1786   end Fatal_Error_Occurred;
     1787
     1788
    18751789   --
    18761790   -- Rate Monotonic Manager
     
    18901804   begin
    18911805 
    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 );
    18971807      ID := ID_Base;
    18981808
     
    19121822   begin
    19131823 
    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 );
    19181825 
    19191826      ID := ID_Base;
     
    19941901   end Rate_Monotonic_Get_Status;
    19951902
    1996    --
    1997    -- Multiprocessing Manager
    1998    --
    1999  
    2000    procedure Multiprocessing_Announce is
    2001       procedure Multiprocessing_Announce_Base;
    2002       pragma Import (C, Multiprocessing_Announce_Base,
    2003          "rtems_multiprocessing_announce");
    2004    begin
    2005  
    2006       Multiprocessing_Announce_Base;
    2007 
    2008    end Multiprocessing_Announce;
    2009  
    20101903 
    20111904   --
     
    20621955
    20631956end RTEMS;
    2064 
  • cpukit/ada/rtems.ads

    r569a01f r7003847  
    2626
    2727package RTEMS is
     28pragma Elaborate_Body (RTEMS);
    2829
    2930   Structure_Alignment : constant := 8;
     
    3637   subtype Unsigned16 is Interfaces.Unsigned_16;
    3738   subtype Unsigned32 is Interfaces.Unsigned_32;
     39   subtype Signed32   is Interfaces.Integer_32;
    3840
    3941   type Unsigned32_Pointer     is access all RTEMS.Unsigned32;
    4042   type Unsigned16_Pointer     is access all RTEMS.Unsigned16;
    4143   type Unsigned8_Pointer      is access all RTEMS.Unsigned8;
     44   type Signed32_Pointer       is access all RTEMS.Signed32;
    4245
    4346   subtype Boolean             is RTEMS.Unsigned32;
     
    236239   ) return RTEMS.Attribute;
    237240   pragma Import (C, Interrupt_Level, "rtems_interrupt_level_attribute");
    238    
    239241
    240242   Minimum_Stack_Size : RTEMS.Unsigned32;
     
    698700   type Configuration_Table is
    699701      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;
    713714      end record;
    714715
     
    865866   );
    866867
    867    procedure Task_Is_Suspended (
    868       ID     : in     RTEMS.ID;
    869       Result :    out RTEMS.Status_Codes
    870    );
    871 
    872868   procedure Task_Set_Priority (
    873869      ID           : in     RTEMS.ID;
     
    919915   );
    920916
    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");
    923920
    924921   procedure Interrupt_Enable (
    925922      Level : in     RTEMS.ISR_Level
    926923   );
     924   pragma Interface (C, Interrupt_Enable);
     925   pragma Interface_Name (Interrupt_Enable, "rtems_interrupt_enable");
    927926
    928927   procedure Interrupt_Flash (
    929928      Level : in     RTEMS.ISR_Level
    930929   );
    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");
    934937
    935938   --
     
    10041007   );
    10051008
     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
    10061017   procedure Timer_Fire_When (
    10071018      ID        : in     RTEMS.ID;
     
    10121023   );
    10131024
     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
    10141033   procedure Timer_Reset (
    10151034      ID     : in     RTEMS.ID;
     
    10201039      ID     : in     RTEMS.ID;
    10211040      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
    10221048   );
    10231049
     
    10591085   );
    10601086
    1061    procedure Semaphore_Flush (
    1062       ID     : in     RTEMS.ID;
    1063       Result :    out RTEMS.Status_Codes
    1064    );
    10651087
    10661088   --
     
    14021424   );
    14031425
    1404    --
    1405    --  Multiprocessing Manager
    1406    --
    1407 
    1408    procedure Multiprocessing_Announce;
    1409 
    14101426
    14111427   --
     
    14351451  pragma Import (C, Configuration, "_Configuration_Table");
    14361452
    1437 
    1438 private
    14391453end RTEMS;
Note: See TracChangeset for help on using the changeset viewer.