Changeset fc503e5 in rtems


Ignore:
Timestamp:
Apr 2, 2007, 8:52:57 PM (13 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Children:
ad43818
Parents:
a4afa90
Message:

2007-04-02 Jennifer Averett <jennifer.averrett@…>

  • rtems.adb, rtems.ads: Update.
Location:
c/src/ada
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • c/src/ada/ChangeLog

    ra4afa90 rfc503e5  
     12007-04-02      Jennifer Averett <jennifer.averrett@oarcorp.com>
     2
     3        * rtems.adb, rtems.ads: Update.
     4
    152005-05-23      Joel Sherrill <joel@OARcorp.com>
    26
  • c/src/ada/rtems.adb

    ra4afa90 rfc503e5  
    1111--
    1212--
    13 --  COPYRIGHT (c) 1997-2003.
     13--  COPYRIGHT (c) 1997-2007.
    1414--  On-Line Applications Research Corporation (OAR).
    1515--
     
    1818--  http://www.rtems.com/license/LICENSE.
    1919--
    20 --  $Id$
     20--  rtems.adb,v 1.13.2.2 2003/09/04 18:46:47 joel Exp
    2121--
    2222
     
    217217
    218218   --
    219    --  Initialization Manager
    220    --
    221 
    222    -- RTEMS Initialization not supported from Ada.  Please write BSPs in C.
    223 
    224    procedure Shutdown_Executive (
    225       Result : in     RTEMS.Unsigned32
    226    ) is
    227       procedure Shutdown_Executive_Base(
    228          Result : in     RTEMS.Unsigned32
    229       );
    230       pragma Import (C,Shutdown_Executive_Base,"rtems_shutdown_executive");
    231    begin
    232 
    233       Shutdown_Executive_Base( Result );
    234 
    235    end Shutdown_Executive;
    236 
    237    --
    238219   --  Task Manager
    239220   --
     
    257238      )  return RTEMS.Status_Codes;
    258239      pragma Import (C, Task_Create_Base, "rtems_task_create");
    259       ID_Base : aliased RTEMS.ID;
     240      ID_Base : aliased RTEMS.ID := ID;
    260241   begin
    261242      Result := Task_Create_Base (
     
    283264      )  return RTEMS.Status_Codes;
    284265      pragma Import (C, Task_Ident_Base, "rtems_task_ident");
    285       ID_Base     : aliased RTEMS.ID;
     266      ID_Base     : aliased RTEMS.ID := ID;
    286267
    287268   begin
     
    380361      )  return RTEMS.Status_Codes;
    381362      pragma Import (C, Task_Set_Priority_Base, "rtems_task_set_priority");
    382       Old_Priority_Base : aliased RTEMS.Task_Priority;
     363      Old_Priority_Base : aliased RTEMS.Task_Priority := Old_Priority;
    383364   begin
    384365 
     
    404385      )  return RTEMS.Status_Codes;
    405386      pragma Import (C, Task_Mode_Base, "rtems_task_mode");
    406       Previous_Mode_Set_Base : aliased RTEMS.Mode;
     387      Previous_Mode_Set_Base : aliased RTEMS.Mode := Previous_Mode_Set;
    407388   begin
    408389
     
    428409      )  return RTEMS.Status_Codes;
    429410      pragma Import (C, Task_Get_Note_Base, "rtems_task_get_note");
    430       Note_Base : aliased RTEMS.Unsigned32;
     411      Note_Base : aliased RTEMS.Unsigned32 := Note;
    431412   begin
    432413
    433414      Result := Task_Get_Note_Base ( ID, Notepad, Note_Base'Unchecked_Access );
    434       Note := Note_Base;
     415      Note := NOTE_Base;
    435416
    436417   end Task_Get_Note;
     
    454435   end Task_Set_Note;
    455436 
    456    procedure Task_Variable_Add (
    457       ID            : in     RTEMS.ID;
    458       Task_Variable : in     RTEMS.Address;
    459       Dtor          : in     RTEMS.Task_Variable_Dtor;
    460       Result        :    out RTEMS.Status_Codes
    461    ) is
    462    begin
    463      -- FIXME
    464      Result := Internal_Error;
    465    end Task_Variable_Add;
    466 
    467    procedure Task_Variable_Get (
    468       ID                  : in     RTEMS.ID;
    469       Task_Variable       :    out RTEMS.Address;
    470       Task_Variable_Value :    out RTEMS.Address;
    471       Result              :    out RTEMS.Status_Codes
    472    ) is
    473    begin
    474      -- FIXME
    475      Task_Variable := RTEMS.Null_Address;
    476      Task_Variable_Value := RTEMS.Null_Address;
    477      Result := Internal_Error;
    478    end Task_Variable_Get;
    479 
    480    procedure Task_Variable_Delete (
    481       ID                  : in     RTEMS.ID;
    482       Task_Variable       :    out RTEMS.Address;
    483       Result              :    out RTEMS.Status_Codes
    484    ) is
    485    begin
    486      -- FIXME
    487      Task_Variable := RTEMS.Null_Address;
    488      Result := Internal_Error;
    489    end Task_Variable_Delete;
    490 
    491437   procedure Task_Wake_When (
    492438      Time_Buffer : in     RTEMS.Time_Of_Day;
     
    533479      )  return RTEMS.Status_Codes;
    534480      pragma Import (C, Interrupt_Catch_Base, "rtems_interrupt_catch");
    535       Old_ISR_Handler_Base : aliased RTEMS.Address;
     481      Old_ISR_Handler_Base : aliased RTEMS.Address := Old_ISR_Handler;
    536482   begin
    537483 
     
    539485         New_ISR_Handler,
    540486         Vector,
    541          Old_ISR_Handler_Base'Unchecked_Access
     487         OLD_ISR_HANDLER_Base'Unchecked_Access
    542488      );
    543489      Old_ISR_Handler := OLD_ISR_HANDLER_Base;
     
    611557      )  return RTEMS.Status_Codes;
    612558      pragma Import (C, Extension_Create_Base, "rtems_extension_create");
    613       ID_Base : aliased RTEMS.ID;
     559      ID_Base : aliased RTEMS.ID := ID;
    614560   begin
    615561 
     
    629575      )  return RTEMS.Status_Codes;
    630576      pragma Import (C, Extension_Ident_Base, "rtems_extension_ident");
    631       ID_Base : aliased RTEMS.ID;
     577      ID_Base : aliased RTEMS.ID := ID;
    632578   begin
    633579 
     
    665611      )  return RTEMS.Status_Codes;
    666612      pragma Import (C, Timer_Create_Base, "rtems_timer_create");
    667       ID_Base : aliased RTEMS.ID;
     613      ID_Base : aliased RTEMS.ID := ID;
    668614   begin
    669615 
     
    683629      )  return RTEMS.Status_Codes;
    684630      pragma Import (C, Timer_Ident_Base, "rtems_timer_ident");
    685       ID_Base : aliased RTEMS.ID;
     631      ID_Base : aliased RTEMS.ID := ID;
    686632   begin
    687633 
     
    865811      )  return RTEMS.Status_Codes;
    866812      pragma Import (C, Semaphore_Create_Base, "rtems_semaphore_create");
    867       ID_Base : aliased RTEMS.ID;
     813      ID_Base : aliased RTEMS.ID := ID;
    868814   begin
    869815 
     
    905851      )  return RTEMS.Status_Codes;
    906852      pragma Import (C, Semaphore_Ident_Base, "rtems_semaphore_ident");
    907       ID_Base : aliased RTEMS.ID;
     853      ID_Base : aliased RTEMS.ID := ID;
    908854   begin
    909855 
     
    967913      pragma Import (C,
    968914        Message_Queue_Create_Base, "rtems_message_queue_create");
    969       ID_Base : aliased RTEMS.ID;
     915      ID_Base : aliased RTEMS.ID := ID;
    970916   begin
    971917 
     
    993939      )  return RTEMS.Status_Codes;
    994940      pragma Import (C, Message_Queue_Ident_Base, "rtems_message_queue_ident");
    995       ID_Base : aliased RTEMS.ID;
     941      ID_Base : aliased RTEMS.ID := ID;
    996942   begin
    997943 
     
    10691015      pragma Import (C, Message_Queue_Broadcast_Base,
    10701016         "rtems_message_queue_broadcast");
    1071       Count_Base : aliased RTEMS.Unsigned32;
     1017      Count_Base : aliased RTEMS.Unsigned32 := Count;
    10721018   begin
    10731019 
     
    11231069      )  return RTEMS.Status_Codes;
    11241070      pragma Import (C, Message_Queue_Flush_Base, "rtems_message_queue_flush");
    1125       COUNT_Base : aliased RTEMS.Unsigned32;
     1071      COUNT_Base : aliased RTEMS.Unsigned32 := Count;
    11261072   begin
    11271073 
     
    11651111      )  return RTEMS.Status_Codes;
    11661112      pragma Import (C, Event_Receive_Base, "rtems_event_receive");
    1167       Event_Out_Base : aliased RTEMS.Event_Set;
     1113      Event_Out_Base : aliased RTEMS.Event_Set; -- := Event_Out;
    11681114   begin
    11691115
     
    12371183      )  return RTEMS.Status_Codes;
    12381184      pragma Import (C, Partition_Create_Base, "rtems_partition_create");
    1239       ID_Base : aliased RTEMS.ID;
     1185      ID_Base : aliased RTEMS.ID := ID;
    12401186   begin
    12411187 
     
    12641210      )  return RTEMS.Status_Codes;
    12651211      pragma Import (C, Partition_Ident_Base, "rtems_partition_ident");
    1266       ID_Base : aliased RTEMS.ID;
     1212      ID_Base : aliased RTEMS.ID := ID;
    12671213   begin
    12681214 
     
    12971243      pragma Import (C, Partition_Get_Buffer_Base,
    12981244         "rtems_partition_get_buffer");
    1299       Buffer_Base : aliased RTEMS.Address;
     1245      Buffer_Base : aliased RTEMS.Address := Buffer;
    13001246   begin
    13011247 
     
    13441290      )  return RTEMS.Status_Codes;
    13451291      pragma Import (C, Region_Create_Base, "rtems_region_create");
    1346       ID_Base : aliased RTEMS.ID;
     1292      ID_Base : aliased RTEMS.ID := ID;
    13471293   begin
    13481294 
     
    13691315      )  return RTEMS.Status_Codes;
    13701316      pragma Import (C, Region_Ident_Base, "rtems_region_ident");
    1371       ID_Base : aliased RTEMS.ID;
     1317      ID_Base : aliased RTEMS.ID := ID;
    13721318   begin
    13731319 
     
    14251371      )  return RTEMS.Status_Codes;
    14261372      pragma Import (C, Region_Get_Segment_Base, "rtems_region_get_segment");
    1427       Segment_Base : aliased RTEMS.Address;
     1373      Segment_Base : aliased RTEMS.Address := Segment;
    14281374   begin
    14291375 
     
    14521398      pragma Import (C, Region_Get_Segment_Size_Base,
    14531399         "rtems_region_get_segment_size");
    1454       Size_Base : aliased RTEMS.Unsigned32;
     1400      Size_Base : aliased RTEMS.Unsigned32 := Size;
    14551401   begin
    14561402 
     
    14601406         Size_Base'Unchecked_Access
    14611407      );
    1462       Size := Size_Base;
     1408      Size := SIZE_Base;
    14631409
    14641410   end Region_Get_Segment_Size;
    14651411 
    1466    procedure Region_Resize_Segment (
    1467       ID         : in     RTEMS.ID;
    1468       Segment    : in     RTEMS.Address;
    1469       Size       : in     RTEMS.Unsigned32;
    1470       Old_Size   :    out RTEMS.Unsigned32;
    1471       Result     :    out RTEMS.Status_Codes
    1472    ) is
    1473       function Region_Resize_Segment_Base (
    1474          ID       : RTEMS.ID;
    1475          Segment  : RTEMS.Address;
    1476          Size     : RTEMS.Unsigned32;
    1477          Old_Size : access RTEMS.Unsigned32
    1478       )  return RTEMS.Status_Codes;
    1479       pragma Import (C, Region_Resize_Segment_Base,
    1480          "rtems_region_get_segment_size");
    1481       Old_Size_Base : aliased RTEMS.Unsigned32;
    1482    begin
    1483  
    1484       Result := Region_Resize_Segment_Base (
    1485          ID,
    1486          Segment,
    1487          Size,
    1488          Old_Size_Base'Unchecked_Access
    1489       );
    1490       Old_Size := Old_Size_Base;
    1491 
    1492    end Region_Resize_Segment;
    1493 
    14941412   procedure Region_Return_Segment (
    14951413      ID      : in     RTEMS.ID;
     
    15291447      )  return RTEMS.Status_Codes;
    15301448      pragma Import (C, Port_Create_Base, "rtems_port_create");
    1531       ID_Base : aliased RTEMS.ID;
     1449      ID_Base : aliased RTEMS.ID := ID;
    15321450   begin
    15331451 
     
    15531471      )  return RTEMS.Status_Codes;
    15541472      pragma Import (C, Port_Ident_Base, "rtems_port_ident");
    1555       ID_Base : aliased RTEMS.ID;
     1473      ID_Base : aliased RTEMS.ID := ID;
    15561474   begin
    15571475 
     
    15881506      pragma Import (C, Port_External_To_Internal_Base,
    15891507         "rtems_port_external_to_internal");
    1590       Internal_Base : aliased RTEMS.Address;
     1508      Internal_Base : aliased RTEMS.Address := Internal;
    15911509   begin
    15921510 
     
    16131531      pragma Import (C, Port_Internal_To_External_Base,
    16141532         "rtems_port_internal_to_external");
    1615       External_Base : aliased RTEMS.Address;
     1533      External_Base : aliased RTEMS.Address := External;
    16161534   begin
    16171535 
     
    16281546   -- Input/Output Manager
    16291547   --
    1630  
    1631    procedure IO_Initialize (
    1632       Major        : in     RTEMS.Device_Major_Number;
    1633       Minor        : in     RTEMS.Device_Minor_Number;
    1634       Argument     : in     RTEMS.Address;
    1635       Result       :    out RTEMS.Status_Codes
    1636    ) is
    1637       function IO_Initialize_Base (
    1638          Major        : RTEMS.Device_Major_Number;
    1639          Minor        : RTEMS.Device_Minor_Number;
    1640          Argument     : RTEMS.Address
    1641       )  return RTEMS.Status_Codes;
    1642       pragma Import (C, IO_Initialize_Base, "rtems_io_initialize");
    1643    begin
    1644  
    1645       Result := IO_Initialize_Base ( Major, Minor, Argument );
    1646 
    1647    end IO_Initialize;
    16481548 
    16491549   procedure IO_Register_Name (
     
    18091709      )  return RTEMS.Status_Codes;
    18101710      pragma Import (C, Rate_Monotonic_Create_base, "rtems_rate_monotonic_create");
    1811       ID_Base : aliased RTEMS.ID;
     1711      ID_Base : aliased RTEMS.ID := ID;
    18121712   begin
    18131713 
     
    18271727      )  return RTEMS.Status_Codes;
    18281728      pragma Import (C, Rate_Monotonic_Ident_Base, "rtems_rate_monotonic_ident");
    1829       ID_Base : aliased RTEMS.ID;
     1729      ID_Base : aliased RTEMS.ID := ID;
    18301730   begin
    18311731 
     
    19531853   end Debug_Is_Enabled;
    19541854
    1955     -- HACK
    1956     -- function Configuration
    1957     -- return RTEMS.Configuration_Table_Pointer is
    1958     --    Configuration_base : RTEMS.Configuration_Table_Pointer;
    1959     --    pragma Import (C, Configuration_base, "_Configuration_Table");
    1960     -- begin
    1961     --    return Configuration_Base;
    1962     -- end Configuration;
    1963 
    19641855end RTEMS;
  • c/src/ada/rtems.ads

    ra4afa90 rfc503e5  
    88--  DEPENDENCIES:
    99--
     10--  NOTES:
     11--    RTEMS initialization and configuration are called from
     12--    the BSP side, therefore should never be called from ADA.
    1013--
    11 --
    12 --  COPYRIGHT (c) 1997.
     14--  COPYRIGHT (c) 1997-2007.
    1315--  On-Line Applications Research Corporation (OAR).
    1416--
     
    1719--  http://www.rtems.com/license/LICENSE.
    1820--
    19 --  $Id$
     21--  rtems.ads,v 1.19.2.2 2003/11/25 14:07:32 joel Exp
    2022--
    2123
     
    183185   --
    184186
    185    Search_All_Nodes : constant RTEMS.Node := 0;
     187   Search_All_Nodes   : constant RTEMS.Node := 0;
     188   Search_Other_Nodes : constant RTEMS.Node := 16#7FFFFFFE#;
     189   Search_Local_Node  : constant RTEMS.Node := 16#7FFFFFFF#;
     190   Who_Am_I           : constant RTEMS.Node := 0;
    186191
    187192   --
     
    222227   --
    223228
    224    Default_Attributes  : constant RTEMS.Attribute := 16#00000000#;
    225    No_Floating_Point   : constant RTEMS.Attribute := 16#00000000#;
    226    Floating_Point      : constant RTEMS.Attribute := 16#00000001#;
    227    Local               : constant RTEMS.Attribute := 16#00000000#;
    228    Global              : constant RTEMS.Attribute := 16#00000002#;
    229    FIFO                : constant RTEMS.Attribute := 16#00000000#;
    230    Priority            : constant RTEMS.Attribute := 16#00000004#;
    231    Counting_Semaphore  : constant RTEMS.Attribute := 16#00000000#;
    232    Binary_Semaphore    : constant RTEMS.Attribute := 16#00000010#;
    233    No_Inherit_Priority : constant RTEMS.Attribute := 16#00000000#;
    234    Inherit_Priority    : constant RTEMS.Attribute := 16#00000020#;
    235    No_Priority_Ceiling : constant RTEMS.Attribute := 16#00000000#;
    236    Priority_Ceiling    : constant RTEMS.Attribute := 16#00000040#;
     229   Default_Attributes      : constant RTEMS.Attribute := 16#00000000#;
     230   No_Floating_Point       : constant RTEMS.Attribute := 16#00000000#;
     231   Floating_Point          : constant RTEMS.Attribute := 16#00000001#;
     232   Local                   : constant RTEMS.Attribute := 16#00000000#;
     233   Global                  : constant RTEMS.Attribute := 16#00000002#;
     234   FIFO                    : constant RTEMS.Attribute := 16#00000000#;
     235   Priority                : constant RTEMS.Attribute := 16#00000004#;
     236   Counting_Semaphore      : constant RTEMS.Attribute := 16#00000000#;
     237   Binary_Semaphore        : constant RTEMS.Attribute := 16#00000010#;
     238   Simple_Binary_Semaphore : constant RTEMS.Attribute := 16#00000020#;
     239   No_Inherit_Priority     : constant RTEMS.Attribute := 16#00000000#;
     240   Inherit_Priority        : constant RTEMS.Attribute := 16#00000040#;
     241   No_Priority_Ceiling     : constant RTEMS.Attribute := 16#00000000#;
     242   Priority_Ceiling        : constant RTEMS.Attribute := 16#00000080#;
    237243
    238244   function Interrupt_Level (
     
    534540
    535541   --
    536    --  RTEMS API Configuration Information
    537    --
    538 
    539    type Initialization_Tasks_Table_Entry is
    540       record
    541          Name             : RTEMS.Name;          -- task name
    542          Stack_Size       : RTEMS.Unsigned32;    -- task stack size
    543          Initial_Priority : RTEMS.Task_priority; -- task priority
    544          Attribute_Set    : RTEMS.Attribute;     -- task attributes
    545          Entry_Point      : RTEMS.Task_Entry;    -- task entry point
    546          Mode_Set         : RTEMS.Mode;          -- task initial mode
    547          Argument         : RTEMS.Unsigned32;    -- task argument
    548       end record;
    549 
    550    type Initialization_Tasks_Table is array ( RTEMS.Unsigned32 range <> ) of
    551      RTEMS.Initialization_Tasks_Table_Entry;
    552 
    553    type Initialization_Tasks_Table_Pointer is access all
    554         Initialization_Tasks_Table;
    555 
    556    type API_Configuration_Table is
    557       record
    558          Maximum_Tasks                   : RTEMS.Unsigned32;
    559          Maximum_Timers                  : RTEMS.Unsigned32;
    560          Maximum_Semaphores              : RTEMS.Unsigned32;
    561          Maximum_Message_queues          : RTEMS.Unsigned32;
    562          Maximum_Partitions              : RTEMS.Unsigned32;
    563          Maximum_Regions                 : RTEMS.Unsigned32;
    564          Maximum_Ports                   : RTEMS.Unsigned32;
    565          Maximum_Periods                 : RTEMS.Unsigned32;
    566          Number_Of_Initialization_Tasks  : RTEMS.Unsigned32;
    567          User_Initialization_Tasks_Table :
    568                                    RTEMS.Initialization_Tasks_Table_Pointer;
    569       end record;
    570 
    571    type API_Configuration_Table_Pointer is access all API_Configuration_Table;
    572 
    573    --
    574    --  RTEMS POSIX API Configuration Information
    575    --
    576 
    577    type POSIX_Thread_Entry is access procedure (
    578       Argument : in     RTEMS.Address
    579    );
    580 
    581    type POSIX_Initialization_Threads_Table_Entry is
    582    record
    583       Thread_Entry : RTEMS.POSIX_Thread_Entry;
    584    end record;
    585 
    586    type POSIX_Initialization_Threads_Table is array
    587        ( RTEMS.Unsigned32 range <> ) of
    588        RTEMS.POSIX_Initialization_Threads_Table_Entry;
    589 
    590    type POSIX_Initialization_Threads_Table_Pointer is access all
    591        POSIX_Initialization_Threads_Table;
    592 
    593    type POSIX_API_Configuration_Table_Entry is
    594       record
    595          Maximum_Threads                 : Interfaces.C.Int;
    596          Maximum_Mutexes                 : Interfaces.C.Int;
    597          Maximum_Condition_Variables     : Interfaces.C.Int;
    598          Maximum_Keys                    : Interfaces.C.Int;
    599          Maximum_Queued_Signals          : Interfaces.C.Int;
    600          Number_Of_Initialization_Tasks  : Interfaces.C.Int;
    601          User_Initialization_Tasks_Table :
    602             RTEMS.POSIX_Initialization_Threads_Table_Pointer;
    603       end record;
    604 
    605    type POSIX_API_Configuration_Table is array ( RTEMS.Unsigned32 range <> ) of
    606       RTEMS.POSIX_API_Configuration_Table_Entry;
    607 
    608    type POSIX_API_Configuration_Table_Pointer is access all
    609           RTEMS.POSIX_API_Configuration_Table;
    610 
    611    --
    612    --  MPCI Information include MPCI Configuration
    613    --
    614 
    615    type Configuration_Table_Pointer;
    616 
    617    type MP_Packet_Classes is (
    618       MP_PACKET_MPCI_INTERNAL,
    619       MP_PACKET_TASKS,
    620       MP_PACKET_MESSAGE_QUEUE,
    621       MP_PACKET_SEMAPHORE,
    622       MP_PACKET_PARTITION,
    623       MP_PACKET_REGION,
    624       MP_PACKET_EVENT,
    625       MP_PACKET_SIGNAL
    626    );
    627 
    628    for MP_Packet_Classes use (
    629       MP_PACKET_MPCI_INTERNAL    => 0,
    630       MP_PACKET_TASKS            => 1,
    631       MP_PACKET_MESSAGE_QUEUE    => 2,
    632       MP_PACKET_SEMAPHORE        => 3,
    633       MP_PACKET_PARTITION        => 4,
    634       MP_PACKET_REGION           => 5,
    635       MP_PACKET_EVENT            => 6,
    636       MP_PACKET_SIGNAL           => 7
    637    );
    638 
    639    type Packet_Prefix is
    640       record
    641          The_Class       : RTEMS.MP_Packet_Classes;
    642          ID              : RTEMS.ID;
    643          Source_TID      : RTEMS.ID;
    644          Source_Priority : RTEMS.Task_Priority;
    645          Return_Code     : RTEMS.Unsigned32;
    646          Length          : RTEMS.Unsigned32;
    647          To_Convert      : RTEMS.Unsigned32;
    648          Timeout         : RTEMS.Interval;
    649       end record;
    650 
    651    type Packet_Prefix_Pointer is access all Packet_Prefix;
    652 
    653    type MPCI_Initialization_Entry is access procedure (
    654       Configuration : in     RTEMS.Configuration_Table_Pointer
    655    );
    656 
    657    type MPCI_Get_Packet_Entry is access procedure (
    658       Packet : access RTEMS.Packet_Prefix_Pointer
    659    );
    660 
    661    type MPCI_Return_Packet_Entry is access procedure (
    662       Packet : in     RTEMS.Packet_Prefix_Pointer
    663    );
    664 
    665    type MPCI_Send_Entry is access procedure (
    666       Packet : in     RTEMS.Packet_Prefix_Pointer
    667    );
    668 
    669    type MPCI_Receive_Entry is access procedure (
    670       Packet : access RTEMS.Packet_Prefix_Pointer
    671    );
    672 
    673    type MPCI_Table is
    674       record
    675          Default_Timeout     : RTEMS.Unsigned32; -- in ticks
    676          Maximum_Packet_Size : RTEMS.Unsigned32;
    677          Initialization      : RTEMS.MPCI_Initialization_Entry;
    678          Get_Packet          : RTEMS.MPCI_Get_Packet_Entry;
    679          Return_Packet       : RTEMS.MPCI_Return_Packet_Entry;
    680          Send                : RTEMS.MPCI_Send_Entry;
    681          Receive             : RTEMS.MPCI_Receive_Entry;
    682       end record;
    683 
    684    type MPCI_Table_Pointer is access all MPCI_Table;
    685 
    686    --
    687    --  Configuration Information
    688    --
    689 
    690    type Multiprocessing_Table is
    691       record
    692          Node                   : RTEMS.Unsigned32;
    693          Maximum_Nodes          : RTEMS.Unsigned32;
    694          Maximum_Global_Objects : RTEMS.Unsigned32;
    695          Maximum_Proxies        : RTEMS.Unsigned32;
    696          User_MPCI_Table        : RTEMS.MPCI_Table_Pointer;
    697       end record;
    698 
    699    type Multiprocessing_Table_Pointer is access all Multiprocessing_Table;
    700 
    701    type Configuration_Table is
    702       record
    703           Work_Space_Start             : RTEMS.Address;
    704           Work_Space_Size              : RTEMS.Unsigned32;
    705           Maximum_Extensions           : RTEMS.Unsigned32;
    706           Microseconds_Per_Tick        : RTEMS.Unsigned32;
    707           Ticks_Per_Timeslice          : RTEMS.Unsigned32;
    708           Maximum_Devices              : RTEMS.Unsigned32;
    709           Maximum_Drivers              : RTEMS.Unsigned32;
    710           Number_Of_Device_Drivers     : RTEMS.Unsigned32;
    711           Device_Driver_Table          : RTEMS.Driver_Address_Table_Pointer;
    712           Number_Of_Initial_Extensions : RTEMS.Unsigned32;
    713           User_Extension_Table         : RTEMS.Extensions_Table_Pointer;
    714           User_Multiprocessing_Table   : RTEMS.Multiprocessing_Table_Pointer;
    715 
    716           RTEMS_API_Configuration : RTEMS.API_Configuration_Table_Pointer;
    717           POSIX_API_Configuration : RTEMS.POSIX_API_Configuration_Table_Pointer;
    718           ITRON_API_Configuration : RTEMS.Address; -- XXX FIX ME
    719       end record;
    720 
    721    type Configuration_Table_Pointer is access all Configuration_Table;
    722 
    723    --
    724542   --  For now, do not provide access to the CPU Table from Ada.
    725543   --  When this type is provided, a CPU dependent file must
     
    798616   --  RTEMS API
    799617   --
    800 
    801    --
    802    --  Initialization Manager
    803    --
    804 
    805    -- RTEMS Initialization not supported from Ada.  Please write BSPs in C.
    806 
    807    procedure Shutdown_Executive (
    808       Result : in     RTEMS.Unsigned32
    809    );
    810618
    811619   --
     
    890698   );
    891699
    892    procedure Task_Variable_Add (
    893       ID            : in     RTEMS.ID;
    894       Task_Variable : in     RTEMS.Address;
    895       Dtor          : in     RTEMS.Task_Variable_Dtor;
    896       Result        :    out RTEMS.Status_Codes
    897    );
    898 
    899    procedure Task_Variable_Get (
    900       ID                  : in     RTEMS.ID;
    901       Task_Variable       :    out RTEMS.Address;
    902       Task_Variable_Value :    out RTEMS.Address;
    903       Result              :    out RTEMS.Status_Codes
    904    );
    905 
    906    procedure Task_Variable_Delete (
    907       ID                  : in     RTEMS.ID;
    908       Task_Variable       :    out RTEMS.Address;
    909       Result              :    out RTEMS.Status_Codes
    910    );
     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_Codes
     705--   );
     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_Codes
     712--   );
     713
     714--   procedure Task_Variable_Delete (
     715--      ID                  : in     RTEMS.ID;
     716--      Task_Variable       :    out RTEMS.Address;
     717--      Result              :    out RTEMS.Status_Codes
     718--   );
    911719
    912720   procedure Task_Wake_When (
     
    12871095   );
    12881096
    1289    procedure Region_Resize_Segment (
    1290       ID         : in     RTEMS.ID;
    1291       Segment    : in     RTEMS.Address;
    1292       Size       : in     RTEMS.Unsigned32;
    1293       Old_Size   :    out RTEMS.Unsigned32;
    1294       Result     :    out RTEMS.Status_Codes
    1295    );
    1296 
    12971097   procedure Region_Return_Segment (
    12981098      ID      : in     RTEMS.ID;
     
    13441144   --
    13451145
    1346    procedure IO_Initialize (
    1347       Major        : in     RTEMS.Device_Major_Number;
    1348       Minor        : in     RTEMS.Device_Minor_Number;
    1349       Argument     : in     RTEMS.Address;
    1350       Result       :    out RTEMS.Status_Codes
    1351    );
    1352 
    13531146   procedure IO_Register_Name (
    13541147      Name   : in     String;
     
    14671260   ) return RTEMS.Boolean;
    14681261
    1469   --
    1470   --  Some Useful Data Items
    1471   --
    1472 
    1473   Configuration : RTEMS.Configuration_Table_Pointer;
    1474   pragma Import (C, Configuration, "_Configuration_Table");
    1475 
    14761262end RTEMS;
Note: See TracChangeset for help on using the changeset viewer.