Back to home page

LXR

 
 

    


Warning, /cpukit/include/adainclude/rtems-tasks.ads is written in an unsupported language. File is not indexed.

0001 -- SPDX-License-Identifier: BSD-2-Clause
0002 
0003 --
0004 --  RTEMS / Specification
0005 --
0006 --  DESCRIPTION:
0007 --
0008 --  This package provides the interface to the RTEMS API.
0009 --
0010 --  DEPENDENCIES:
0011 --
0012 --  NOTES:
0013 --    RTEMS initialization and configuration are called from
0014 --    the BSP side, therefore should never be called from ADA.
0015 --
0016 --  COPYRIGHT (c) 1997-2008.
0017 --  On-Line Applications Research Corporation (OAR).
0018 --
0019 --  Redistribution and use in source and binary forms, with or without
0020 --  modification, are permitted provided that the following conditions
0021 --  are met:
0022 --  1. Redistributions of source code must retain the above copyright
0023 --     notice, this list of conditions and the following disclaimer.
0024 --  2. Redistributions in binary form must reproduce the above copyright
0025 --     notice, this list of conditions and the following disclaimer in the
0026 --     documentation and/or other materials provided with the distribution.
0027 --
0028 --  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0029 --  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0030 --  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0031 --  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0032 --  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0033 --  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0034 --  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0035 --  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0036 --  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0037 --  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0038 --  POSSIBILITY OF SUCH DAMAGE.
0039 --
0040 
0041 package RTEMS.Tasks is
0042 
0043    subtype Priority       is RTEMS.Unsigned32;
0044 
0045    Current_Priority : constant Priority := 0;
0046    No_Priority      : constant Priority := 0;
0047 
0048    subtype Argument       is RTEMS.Unsigned32;
0049    type Argument_PTR      is access all Argument;
0050 
0051    type Entry_Point is access procedure (
0052       Argument : RTEMS.Unsigned32
0053    );
0054    pragma Convention (C, Entry_Point);
0055 
0056 
0057    --
0058    --  Task Manager
0059    --
0060 
0061    procedure Create (
0062       Name             : in     RTEMS.Name;
0063       Initial_Priority : in     Priority;
0064       Stack_Size       : in     RTEMS.Size;
0065       Initial_Modes    : in     RTEMS.Mode;
0066       Attribute_Set    : in     RTEMS.Attribute;
0067       ID               :    out RTEMS.ID;
0068       Result           :    out RTEMS.Status_Codes
0069    );
0070 
0071    procedure Ident (
0072       Name   : in     RTEMS.Name;
0073       Node   : in     RTEMS.Node;
0074       ID     :    out RTEMS.ID;
0075       Result :    out RTEMS.Status_Codes
0076    );
0077 
0078    procedure Start (
0079       ID          : in     RTEMS.ID;
0080       Entry_Point : in     RTEMS.Tasks.Entry_Point;
0081       Argument    : in     RTEMS.Tasks.Argument;
0082       Result      :    out RTEMS.Status_Codes
0083    );
0084 
0085    procedure Restart (
0086       ID       : in     RTEMS.ID;
0087       Argument : in     RTEMS.Tasks.Argument;
0088       Result   :    out RTEMS.Status_Codes
0089    );
0090 
0091    procedure Delete (
0092       ID     : in     RTEMS.ID;
0093       Result :    out RTEMS.Status_Codes
0094    );
0095 
0096    procedure Suspend (
0097       ID     : in     RTEMS.ID;
0098       Result :    out RTEMS.Status_Codes
0099    );
0100 
0101    procedure Resume (
0102       ID     : in     RTEMS.ID;
0103       Result :    out RTEMS.Status_Codes
0104    );
0105 
0106    procedure Is_Suspended (
0107       ID     : in     RTEMS.ID;
0108       Result :    out RTEMS.Status_Codes
0109    );
0110 
0111    procedure Set_Priority (
0112       ID           : in     RTEMS.ID;
0113       New_Priority : in     Priority;
0114       Old_Priority :    out Priority;
0115       Result       :    out RTEMS.Status_Codes
0116    );
0117 
0118    procedure Mode (
0119       Mode_Set          : in     RTEMS.Mode;
0120       Mask              : in     RTEMS.Mode;
0121       Previous_Mode_Set :    out RTEMS.Mode;
0122       Result            :    out RTEMS.Status_Codes
0123    );
0124 
0125    procedure Wake_When (
0126       Time_Buffer : in     RTEMS.Time_Of_Day;
0127       Result      :    out RTEMS.Status_Codes
0128    );
0129 
0130    procedure Wake_After (
0131       Ticks  : in     RTEMS.Interval;
0132       Result :    out RTEMS.Status_Codes
0133    );
0134 
0135 end RTEMS.Tasks;
0136