Changeset a6ec372 in rtems for c/src/ada/rtems.ads


Ignore:
Timestamp:
Apr 2, 2007, 8:53:05 PM (13 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, master
Children:
f6e0934
Parents:
3c68f96d
Message:

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

  • rtems.adb, rtems.ads: Update.
File:
1 edited

Legend:

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

    r3c68f96d ra6ec372  
    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.